CN110855531B - Forwarding path detection method and device - Google Patents

Forwarding path detection method and device Download PDF

Info

Publication number
CN110855531B
CN110855531B CN201911213332.7A CN201911213332A CN110855531B CN 110855531 B CN110855531 B CN 110855531B CN 201911213332 A CN201911213332 A CN 201911213332A CN 110855531 B CN110855531 B CN 110855531B
Authority
CN
China
Prior art keywords
node
path
segment
forwarding
forwarding path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911213332.7A
Other languages
Chinese (zh)
Other versions
CN110855531A (en
Inventor
戴志滨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN201911213332.7A priority Critical patent/CN110855531B/en
Publication of CN110855531A publication Critical patent/CN110855531A/en
Application granted granted Critical
Publication of CN110855531B publication Critical patent/CN110855531B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation

Abstract

The application provides a forwarding path detection method and a forwarding path detection device, which are applied to a source node of a forwarding path, and the method comprises the following steps: acquiring a forwarding path to be detected; determining a first section label list and a second section label list corresponding to the forwarding path, wherein the first section label list comprises section labels of all nodes on the forwarding path, the second section label list comprises a section label of at least one node on a return path opposite to the direction of the forwarding path, and the number of the section labels in the second section label list is less than that of the section labels in the first section label list; sending a bidirectional forwarding detection Echo BFD Echo message carrying the first section label list and the second section label list through the forwarding path; and determining whether the forwarding path is normal according to whether the BFD Echo message is received through the return path. The method can correctly detect the connectivity of the forwarding path and has higher safety.

Description

Forwarding path detection method and device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a forwarding path detection method and apparatus.
Background
Bidirectional Forwarding Detection (BFD) is a network protocol that quickly detects the connectivity of Forwarding paths between two network nodes. The bidirectional forwarding detection function is realized only by the source node sending a BFD Echo (Echo) message and the destination node forwarding the BFD Echo message back to the source node.
Segment Routing (Segment Routing Internet Protocol Version 6, SRv6) of the sixth Version of Internet Protocol is a combination of the sixth Version of Internet Protocol (Internet Protocol Version 6, IPv6) and Segment Routing (SR) technology, a forwarding path is selected for a BFD Echo message to be forwarded at a source node, address identification information of SR devices passing through the forwarding path is formed into a Segment tag list in a reverse order manner and inserted into an IPv6 Header of a data message to form an IPv6 Segment extension Header (SRH), and other network nodes execute corresponding forwarding instructions according to the Segment tag list carried by the data message to forward. When the return path is inconsistent with the forwarding path, if a node on the return path fails and the node is not a node on the forwarding path, the forwarding path may be misjudged to have the failure.
In order to ensure that forwarding path faults are not misjudged, the industry proposes that, in the SRv6 technology, when a BFD Echo message is generated, an IPv6 segment tag used for indicating the direction of a forwarding path is carried in a message extension header, and an IPv6 segment tag used for indicating the return direction of the forwarding path is also carried, so as to solve the problem that the return path of the BFD Echo message is inconsistent with the forwarding path to be detected, but the number of IPv6 segment tags included in the extension header is too large, that is, twice the total number of nodes on the forwarding path is included, which may result in large signaling overhead.
In addition, in the prior art, when the number of IPv6 segment tags included in the extension header is too large, the capability of the network device to identify the segment tags is limited, for example, at most 20 segment tags can be identified each time, and if the number of segment tags is too large, the excess segment tags cannot be identified, which results in that the packet cannot be normally transmitted.
Disclosure of Invention
The embodiment of the application provides a forwarding path detection method, which is used for solving the problem that the forwarding path fault is easy to be misjudged in the prior art.
The technical scheme of the application is as follows:
in a first aspect, an embodiment of the present application provides a forwarding path detection method, which is applied to a source node of a forwarding path, where the forwarding path further includes at least one intermediate node and a terminating node, and includes:
acquiring a forwarding path to be detected;
determining a first section label list and a second section label list corresponding to the forwarding path, wherein the first section label list comprises section labels of all nodes on the forwarding path, the second section label list comprises a section label of at least one node on a return path opposite to the direction of the forwarding path, and the number of the section labels in the second section label list is less than that of the section labels in the first section label list;
sending a bidirectional forwarding detection Echo BFD Echo message carrying the first section label list and the second section label list through the forwarding path;
and determining whether the forwarding path is normal according to whether the BFD Echo message is received through the return path.
Optionally, the determining whether the forwarding path is normal according to whether the BFD packet is received through the return path includes:
monitoring whether the BFD Echo message is received through the return path or not;
if the BFD Echo message is received through the return path, determining that the forwarding path is normal;
and if the BFD Echo message is not received through the return path, determining that the forwarding path has a fault.
Optionally, the determining the second segment label list corresponding to the forwarding path includes:
determining at least one shortest path between the ith node and each node thereafter on the return path; wherein i is more than or equal to 1 and less than n, and n is the end point of the return path;
determining whether there is a shortest path among the at least one shortest path that satisfies a condition;
if it is determined that a shortest path satisfying a condition exists between the ith node and each node from the (i + 1) th node to the jth node, and a shortest path satisfying the condition does not exist between the ith node and the (j + 1) th node, adding a segment tag of the jth node to the second segment tag list, wherein the segment tag of the node from the ith node to the (j-1) th node is not included in the second segment tag list; wherein i < j < n;
the shortest path satisfying the condition is a path existing on the return path.
Optionally, the method further includes:
determining at least one shortest path between the jth node and each node thereafter;
if it is determined that a shortest path satisfying the condition exists between the jth node and each of the following nodes from the j +1 th node to the mth node, but the shortest path satisfying the condition does not exist between the jth node and the m +1 th node, adding the segment label of the mth node to the second segment label list, wherein the segment label of the node from the jth node to the mth node is not included in the second segment label list, and in the second segment label list, the segment label of the mth node is located after the segment label of the jth node, and j < m < n.
Optionally, the method further includes:
if it is determined that a shortest path satisfying the condition exists between the jth node and each node from the (j + 1) th node to the mth node, where the mth node is the end point of the return path, adding a segment tag of the end point of the return path to the second segment tag list, where the second segment tag list does not include segment tags of other nodes between the jth node and the end point of the return path, and the segment tag of the end point of the return path is located at the end of the second segment tag list.
In a second aspect, an embodiment of the present application provides a forwarding path detection apparatus, which is applied to a source node of a forwarding path, where the forwarding path further includes at least one intermediate node and a terminating node, and includes:
the acquisition module is used for acquiring a forwarding path to be detected;
a processing module, configured to determine a first segment label list and a second segment label list corresponding to the forwarding path, where the first segment label list includes segment labels of all nodes on the forwarding path, the second segment label list includes segment labels of at least one node on a return path in a direction opposite to that of the forwarding path, and the number of the segment labels in the second segment label list is smaller than the number of the segment labels in the first segment label list;
a communication module, configured to send a bidirectional forwarding detection Echo BFD Echo message carrying the first segment tag list and the second segment tag list through the forwarding path;
the processing module is further configured to determine whether the forwarding path is normal according to whether the BFD Echo packet is received through the return path.
Optionally, the processing module is configured to determine whether the forwarding path is normal according to whether the BFD Echo packet is received through the return path, and specifically configured to:
monitoring whether the BFD Echo message is received through the return path or not;
if the BFD Echo message is received through the return path, determining that the forwarding path is normal;
and if the BFD Echo message is not received through the return path, determining that the forwarding path has a fault.
Optionally, the processing module is configured to determine a second segment label list corresponding to the forwarding path, and specifically configured to:
determining at least one shortest path between the ith node and each node thereafter on the return path; wherein i is more than or equal to 1 and less than n, and n is the end point of the return path;
determining whether there is a shortest path among the at least one shortest path that satisfies a condition;
if it is determined that a shortest path satisfying a condition exists between the ith node and each node from the (i + 1) th node to the jth node, and a shortest path satisfying the condition does not exist between the ith node and the (j + 1) th node, adding a segment tag of the jth node to the second segment tag list, wherein the segment tag of the node from the ith node to the (j-1) th node is not included in the second segment tag list; wherein i < j < n;
the shortest path satisfying the condition is a path existing on the return path.
Optionally, the processing module is further configured to:
determining at least one shortest path between the jth node and each node thereafter;
if it is determined that a shortest path satisfying the condition exists between the jth node and each of the following nodes from the j +1 th node to the mth node, but the shortest path satisfying the condition does not exist between the jth node and the m +1 th node, adding the segment label of the mth node to the second segment label list, wherein the segment label of the node from the jth node to the mth node is not included in the second segment label list, and in the second segment label list, the segment label of the mth node is located after the segment label of the jth node, and j < m < n.
Optionally, the processing module is further configured to:
if it is determined that a shortest path satisfying the condition exists between the jth node and each node from the (j + 1) th node to the mth node, where the mth node is the end point of the return path, adding a segment tag of the end point of the return path to the second segment tag list, where the second segment tag list does not include segment tags of other nodes between the jth node and the end point of the return path, and the segment tag of the end point of the return path is located at the end of the second segment tag list.
In a third aspect, an embodiment of the present application provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the steps of the method when executing the program.
In a fourth aspect, embodiments of the present application provide a computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, implements the steps of the above-mentioned method.
The application provides a forwarding path detection method, which is applied to a source node of a forwarding path, wherein the forwarding path further comprises at least one intermediate node and a termination node, and the method comprises the following steps: acquiring a forwarding path to be detected; determining a first section label list and a second section label list corresponding to the forwarding path, wherein the first section label list comprises section labels of all nodes on the forwarding path, the second section label list comprises a section label of at least one node on a return path opposite to the direction of the forwarding path, and the number of the section labels in the second section label list is less than that of the section labels in the first section label list; sending a bidirectional forwarding detection Echo BFD Echo message carrying the first section label list and the second section label list through the forwarding path; and determining whether the forwarding path is normal according to whether the BFD Echo message is received through the return path. The method can correctly detect the connectivity of the forwarding path and has higher safety.
Drawings
Fig. 1 is a schematic view of a forwarding path detection method in the prior art;
fig. 2 is a schematic flow chart of a forwarding path detection method according to an embodiment of the present application;
fig. 3 is a scene diagram of embodiment 1 provided in the present application;
fig. 4 is a scene diagram of embodiment 2 provided in the present application;
fig. 5 is a schematic structural diagram of a forwarding path detection apparatus in an embodiment of the present application;
fig. 6 is a schematic structural diagram of an electronic device in an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
In order to ensure that a forwarding path fault is not misjudged when detecting an SRv6 path, the industry proposes that, in the SRv6 technology, when a BFD Echo message is generated, an IPv6 segment tag used for indicating the direction of the forwarding path is carried in a message extension header, and an IPv6 segment tag used for indicating the return direction of the forwarding path is also carried in the message extension header, so as to solve the problem that the return path of the BFD Echo message is inconsistent with the forwarding path to be detected.
Referring to fig. 1, fig. 1 is a schematic view of a forwarding path detection method in the prior art; as shown in fig. 1, a forwarding path to be detected is a- - > B- - > C- - > D, a return path is D- - > C- - > B- - > a, and although all nodes on the return path are on the forwarding path to be detected, the node a can normally receive the BFD Echo message, but a Segment Routing Header (SRH) of the BFD Echo message carries both IPv6 Segment tags of four nodes in the forwarding path and IPv6 Segment tags of four nodes in the return path, which results in a large signaling overhead. And when the number of nodes in the forwarding path to be detected is too large, the BFD Echo message needs to carry more labels, which easily exceeds the identification range of the routing device, so that the routing device cannot normally identify the node.
Therefore, the present application provides a forwarding path detection method, applied in a source node of a forwarding path, where the forwarding path further includes at least one intermediate node and a terminating node, and the method includes: acquiring a forwarding path to be detected; determining a first section label list and a second section label list corresponding to the forwarding path, wherein the first section label list comprises section labels of all nodes on the forwarding path, the second section label list comprises a section label of at least one node on a return path opposite to the direction of the forwarding path, and the number of the section labels in the second section label list is less than that of the section labels in the first section label list; sending a bidirectional forwarding detection Echo BFD Echo message carrying the first section label list and the second section label list through the forwarding path; and determining whether the forwarding path is normal according to whether the BFDEcho message is received through the return path. The method can correctly detect the connectivity of the forwarding path and has higher safety.
By taking fig. 1 as an example, through the technical solution provided by the embodiment of the present application, the number of IPv6 segment tags in the segment tag list carried by the SRH of the BFD Echo message is less than 8.
The following describes a specific implementation process of the technical solution provided in the embodiment of the present application.
Referring to fig. 2, fig. 2 is a schematic flow chart of a forwarding path detection method provided in an embodiment of the present application, where the method is applied to a source node of a forwarding path, where the forwarding path further includes at least one intermediate node and a terminating node, and the flow of the method includes:
201: and acquiring the forwarding path to be detected.
It should be understood that the forwarding path is the SRv6 path, and the manner of determining the forwarding path to be detected may be pre-configured by a configuration administrator or implemented in other manners, which is not specifically limited in this embodiment of the application. The SRv6 path is provided with a plurality of nodes, and each node is provided with a routing device.
For example, the source node detection module determines SRv6 paths to be detected, and assuming that the number of routing devices on the forwarding paths to be detected is m, the numbers of the devices are T (1), T (2), and T (3).. T (m), where T (1) is a source node and T (m) is a termination node.
202: and determining a first section label list and a second section label list corresponding to the forwarding path.
It should be understood that after the forwarding path to be detected is acquired, the first segment of tag list is determined according to the identifier of the node on the forwarding path to be detected. The second segment of the tag list is determined based on the return path, and a detailed determination process will be explained below.
203: and sending a bidirectional forwarding detection Echo BFD Echo message carrying the first section label list and the second section label list through the forwarding path.
It should be understood that the BFD Echo message carries a first segment tag list and a second segment tag list, where the first segment tag list includes segment tags of all nodes on the forwarding path to be detected, the second segment tag list includes segment tags of one or more nodes on a return path, the return path is a reverse direction path of the forwarding path to be detected, the number of segment tags in the second segment tag list is less than the number of segment tags in the first segment tag list, and the segment tags include identifiers for identifying nodes.
It should be understood that, in the present application, the SRv6 path is detected, and the bidirectional forwarding detection function of the BFD Echo packet is used to perform fault detection on the forwarding path to be detected and the return path thereof, where the return path coincides with the reverse direction of the forwarding path to be detected, that is, the nodes included in the return path are the same as the forwarding path to be detected, the relative order of each node in the return path is exactly opposite to the relative order of each node in the forwarding path to be detected, and the above segment label is an IPv6 segment label in the following embodiment.
For example, assuming that the SRv6 path to be detected is a- > B- > C- > E- > F- > G, the return path is G- > F- > E- > B- > a, and both include node a, node B, node C, node E, node F, and node G, but the number of IPv6 pieces of labels required for the return path is less than the number of labels required for the forwarding path to be detected, and the following example will provide a detailed explanation.
The detailed procedure for determining the number of tags required for the return path, i.e., determining the second-stage tag list, is described below.
In a possible implementation manner, the determining, by the source node, a second segment label list corresponding to the forwarding path includes: determining at least one shortest path between the ith node and each node thereafter on the return path; wherein i is more than or equal to 1 and less than n, and n is the end point of the return path; determining whether there is a shortest path among the at least one shortest path that satisfies a condition; if it is determined that a shortest path satisfying a condition exists between the ith node and each node from the (i + 1) th node to the jth node, and a shortest path satisfying the condition does not exist between the ith node and the (j + 1) th node, adding a segment tag of the jth node to the second segment tag list, wherein the segment tag of the node from the ith node to the (j-1) th node is not included in the second segment tag list; wherein i < j < n; the shortest path satisfying the condition is a path existing on the return path.
In one possible embodiment, the source node determines at least one shortest path between said jth node and each node thereafter; if the source node determines that a shortest path meeting the condition exists between the jth node and each node between the (j + 1) th node and the mth node, but the shortest path meeting the condition does not exist between the jth node and the (m + 1) th node, adding the segment label of the mth node into the second segment label list, wherein the segment label of the jth node does not include the segment label of the node between the jth node and the mth node, and in the second segment label list, the segment label of the mth node is located after the segment label of the jth node, wherein j < m < n.
In a possible implementation manner, if the source node determines that there is a shortest path satisfying the condition between the jth node and each of the following nodes from the j +1 th node to the mth node, where the mth node is the end point of the return path, the segment tag of the end point of the return path is added to the second segment tag list, the segment tags of the other nodes between the jth node and the end point of the return path are not included in the second segment tag list, and the segment tag of the end point of the return path is located at the end of the second segment tag list.
It should be understood that the source node successively calculates the shortest paths from the end point of the forwarding path to be detected to each intermediate node on the return path according to the shortest routing algorithm, and sequentially judges whether the shortest paths are coincident with the reverse direction of the forwarding path to be detected; the source node can also calculate the shortest paths from the end point of the forwarding path to be detected to other nodes on the return path according to the shortest path algorithm, and sequentially judge whether the shortest paths are overlapped with the reverse direction of the forwarding path to be detected.
And after determining a second section of label list of the return path, the source node constructs a BFD Echo message, and encapsulates the BFD Echo message according to the second section of label list, so that a route extension head of the BFD Echo message carries the first section of label list and the second section of label list, and a destination address of an outer layer head of the BFD Echo message is a section of label address of a first node on the forwarding path to be detected.
For example, when i is 1, j is 3, and n is 6, as shown in fig. 3, it is assumed that the forwarding path to be detected is a- > B- > C- > E- > F- > G, the return path is G- > F- > E- > C- > B- > a, the source node is node a, namely, the node A determines the shortest paths from the node G to the node F, the node E, the node C, the node B and the node A on the path according to the shortest routing algorithm, the shortest paths G < - > F, G < - > F < - > E are all superposed with the reverse direction of the forwarding path to be detected, but the shortest path G- - > D- - > C is not coincident with the reverse direction of the forwarding path to be detected, and the section label of the node E is taken as the first section label of the return path; the node A determines the shortest paths from the node E to the node C, the node B and the node A on the path according to the shortest routing algorithm, wherein the shortest paths E- - > C are overlapped with the reverse direction of the forwarding path to be detected, but the shortest paths E- - > B are not overlapped with the reverse direction of the forwarding path to be detected, and the section label of the node C is used as the second section label of the return path; and the node A determines the shortest paths from the node C to the node B and the node A on the path according to the shortest routing algorithm, wherein the shortest paths C- - > B are overlapped with the reverse direction of the forwarding path to be detected, but the shortest paths C- - > B- - > A are all overlapped with the reverse direction of the forwarding path to be detected, but the node A is the source node on the forwarding path, and the segment label of the node A is taken as the last segment label of the return path.
204: and determining whether the forwarding path is normal according to whether the BFD Echo message is received on the return path.
Illustratively, after constructing the BFD Echo message, the source node forwards the BFD Echo message to detect the SRv6 path to be detected back and forth according to the first segment of the label list and the second segment of the label list carried by the extension header SRH in the BFD Echo message; if the source node receives the BFD Echo message on the return path, the connectivity of the SRv6 path to be detected is normal; and if the source node does not receive the BFD Echo message on the return path, determining that the forwarding path to be detected has a fault.
Specific examples are described below.
Referring to fig. 3, fig. 3 is a schematic view of an application scenario provided by the embodiment of the present application, and as shown in fig. 3, it is assumed that nodes a to G all support SRv6, labels of the segments are 1000::1 to 1006::1, respectively, and link metric values between the nodes are 10, respectively. The connectivity of a BFD session detection SRv6 path, namely the connectivity of A- - > B- - > C- - > E- - > F- - > G, needs to be established by a node A.
Example 1
Referring to fig. 3, fig. 3 is a scene diagram of embodiment 1 provided in the present application. Firstly, the node a determines a forwarding path to be detected according to configuration information preset by a configuration administrator: a- - > B- - > C- - > E- - > F- - > G, and the label list of IPv6 segment on the forwarding path is [1001: 1, 1002: 1,1004: 1, 1005: 1, 1006: 1 ].
According to SRv6 path A- > B- > C- > E- > F- > G to be detected, the return path is determined to be G- > F- > E- > B- > A, and then the return path comprises a node A, a node B, a node C, a node E, a node F and a node G.
The detailed process for the source node a to build the segment label list of the return path is as follows:
(1) the node A calculates the shortest paths from the node G to the node F, the node E, the node C, the node B and the node A on the return path according to the shortest path algorithm; the resulting shortest paths are shown in table 1;
TABLE 1
Figure BDA0002298771770000111
(2) And (4) the node A determines that the shortest path from the node G to the node F is G- - > F, and the path from G- - > F is superposed with the forwarding path in the opposite direction, and the step (3) is continued.
(3) And (4) the node A determines that the shortest path from the node G to the node E is G- - > F- - > E, and the G- - > F- - > E path is superposed with the reverse direction of the forwarding path, and the step is continued.
(4) And the node A determines that the shortest path from the node G to the node C is G- - > D- - > C, the path G- - > D- - > C is not overlapped with the reverse direction of the forwarding path, the node E in the previous step is taken as the node R (1) to which the first section label on the return path belongs, and the section label 1004 of the node E is taken as the 1 st section label of the return path.
(5) The node A calculates the shortest paths (excluding the node G, the node F and the node E) from the node E to the node C, the node B and the node A on the return path according to the shortest path algorithm, as shown in Table 2;
TABLE 2
Node point Shortest path
S[E,C] E-->C
S[E,B] E-->B
S[E,A] E-->B-->A
(6) And (4) the node A determines that the shortest path from the node E to the node C is E- - > C, the path from E- - > C is superposed with the reverse direction of the forwarding path, and the step (7) is continued.
(7) The node A determines that the shortest path from the node E to the node B is E- - > B, the path from the node E to the node B is not overlapped with the reverse direction of the forwarding path, the node C in the previous step is taken as the node R (2) which the 2 nd segment label on the return path belongs to, and the segment label 1002::1 is taken as the 2 nd segment label of the return path.
(8) The node a calculates the shortest path from the node C to the node B and the node a on the return path (excluding the node G, the node F, the node E, and the node C) according to the shortest path algorithm, as shown in table 3;
TABLE 3
Node point Shortest path
S[C,B] C-->B
S[C,A] C-->B-->A
(9) The node A determines that the shortest path from the node C to the node B is C- - > B, the path C- - > B is coincident with the reverse direction of the forwarding path, the path C- - > B- - > A is coincident with the reverse direction of the forwarding path, but the node A is the source node of the forwarding path, the node A is taken as a node R (3) which the last section label on the return path belongs to, and the section label 1000 of the node A is that 1 is taken as the last section label of the return path.
After the steps, the return path G- - > F- - > E- - > C- - > B- - > A of the node A has the required segment label list of [1004::1, 1002::1, 1000::1 ].
The node A generates a BFD Echo message for detecting an SRv6 path, wherein a source address and a destination address of the BFD Echo message are set as 1000: 1 of an IPv6 label address of the node A; the node A packages the BFD Echo message of SRv6 with an extension header SRH and an outer IPv6 header, wherein the segment label list carried in the SRH is [1001: 1, 1002: 1,1004: 1, 1005: 1, 1006: 1,1004: 1, 1002: 1, 1000: 1], the destination address of the outer IPv6 header is 1001: 1, and the header is forwarded out through IPv 6.
Node A forwards the SRv6 BFD Echo message first to node G along [1001::1, 1002::1, 1004::1, 1005::1, 1006::1], and then forwards the BFD Echo message back to node A through the return path's segment tag list [1004::1, 1002::1, 1000::1 ].
Example 2
Referring to fig. 4, fig. 4 is a scene diagram of embodiment 2 provided in the present application. Firstly, the node a determines a forwarding path to be detected according to configuration information preset by a configuration administrator: a- - > B- - > C- - > D- - > G, and the IPv6 label list on the forwarding path is [1001: 1, 1002: 1, 1003: 1, 1006: 1 ].
According to the fact that the SRv6 path to be detected is A- - > B- - > C- - > D- - > G, the return path is G- - > D- - > C- - > B- - > A, and the return path comprises A, B, C, D, G nodes.
The detailed process of constructing the segment label list of the return path G- - > D- - > C- - > B- - > A by the node A is as follows:
the node A calculates the shortest path from the node G to the node D according to a shortest path algorithm; obtaining the shortest path from the node G to the node D as G- - > D, wherein the G- - > D path is superposed with the reverse direction of the forwarding path; and the node A determines that the shortest path from the node G to the node C is G- - > C, the path from G- - > C is not overlapped with the reverse direction of the forwarding path, and the segment label 1003 of the node D takes 1 as the first segment label on the return path as the 1 st segment label of the return path.
The node A determines that the shortest path from the node D to the node C is D- - > C, and the paths G- - > C are superposed with the forwarding path in the opposite directions;
and the node A determines that the shortest path from the node D to the node B is D- - > C- - > B, and the D- - > C- - > B path is superposed with the reverse direction of the forwarding path.
The node A determines that the shortest path from the node D to the node A is the superposition of the paths D, C, B, A, D, C, B, A and the reverse direction of the forwarding path; however, the node A is the source node of the forwarding path to be detected, and the segment label 1000::1 of the node A is used as the last segment label of the return path.
After the steps, the label list of the required sections of the return path G- - > D- - > C- - > B- - > A of the node A is [1003::1, 1000::1 ].
The node A generates a BFD Echo message for detecting an SRv6 path, wherein a source address and a destination address of the BFD Echo message are set as 1000: 1 of an IPv6 label address of the node A; the node A packages the BFD Echo message of SRv6 with an extension header SRH and an outer layer IPv6 header, wherein the segment label list carried in the SRH is [1001::1, 1002::1, 1003::1, 1006::1, 1003::1, 1000::1], the destination address of the outer layer IPv6 header is set to be 1001::1, and the header is forwarded out through IPv 6.
Node A forwards the SRv6 BFD Echo message first to node G along [1001::1, 1002::1, 1003::1, 1006::1], and then back to node A through the return path's segment tag list [1003::1, 1000::1 ].
Based on the same inventive concept, an embodiment of the present application further provides a forwarding path detection apparatus, where the forwarding path further includes at least one intermediate node and a terminating node, and the apparatus may be, for example, a source node in the foregoing embodiment, or a hardware structure, a software module, or a hardware structure plus a software module. Referring to fig. 5, fig. 5 is a schematic diagram of a forwarding path detection apparatus provided in an embodiment of the present application, where the apparatus includes:
an obtaining module 501, configured to obtain a forwarding path to be detected;
a processing module 502, configured to determine a first segment label list and a second segment label list corresponding to the forwarding path, where the first segment label list includes segment labels of all nodes on the forwarding path, the second segment label list includes segment labels of at least one node on a return path in a direction opposite to the forwarding path, and the number of the segment labels in the second segment label list is smaller than the number of the segment labels in the first segment label list;
a communication module 503, configured to send a bidirectional forwarding detection Echo BFD Echo message carrying the first segment label list and the second segment label list through the forwarding path;
the processing module 502 is further configured to determine whether the forwarding path is normal according to whether the BFDEcho packet is received through the return path.
Optionally, the processing module 502 is configured to determine whether the forwarding path is normal according to whether the BFD Echo packet is received through the return path, and specifically configured to:
monitoring whether the BFD Echo message is received through the return path or not;
if the BFD Echo message is received through the return path, determining that the forwarding path is normal;
and if the BFD Echo message is not received through the return path, determining that the forwarding path has a fault.
Optionally, the processing module 502 is configured to determine a second segment label list corresponding to the forwarding path, and specifically configured to:
determining at least one shortest path between the ith node and each node thereafter on the return path; wherein i is more than or equal to 1 and less than n, and n is the end point of the return path;
determining whether there is a shortest path among the at least one shortest path that satisfies a condition;
if it is determined that a shortest path satisfying a condition exists between the ith node and each node from the (i + 1) th node to the jth node, and a shortest path satisfying the condition does not exist between the ith node and the (j + 1) th node, adding a segment tag of the jth node to the second segment tag list, wherein the segment tag of the node from the ith node to the (j-1) th node is not included in the second segment tag list; wherein i < j < n;
the shortest path satisfying the condition is a path existing on the return path.
Optionally, the processing module 502 is further configured to:
determining at least one shortest path between the jth node and each node thereafter;
if it is determined that a shortest path satisfying the condition exists between the jth node and each of the following nodes from the j +1 th node to the mth node, but the shortest path satisfying the condition does not exist between the jth node and the m +1 th node, adding the segment label of the mth node to the second segment label list, wherein the segment label of the node from the jth node to the mth node is not included in the second segment label list, and in the second segment label list, the segment label of the mth node is located after the segment label of the jth node, and j < m < n.
Optionally, the processing module 502 is further configured to:
if it is determined that a shortest path satisfying the condition exists between the jth node and each node from the (j + 1) th node to the mth node, where the mth node is the end point of the return path, adding a segment tag of the end point of the return path to the second segment tag list, where the second segment tag list does not include segment tags of other nodes between the jth node and the end point of the return path, and the segment tag of the end point of the return path is located at the end of the second segment tag list.
Based on the above embodiments, refer to fig. 6, which is a schematic structural diagram of an electronic device in an embodiment of the present application.
Based on the same inventive concept, an electronic device provided with a function of detecting a forwarding path is provided in an embodiment of the present application, please refer to fig. 6 for description, and fig. 6 is a schematic structural diagram of the electronic device provided in the embodiment of the present application. The electronic device with the function of detecting forwarding paths includes at least one processor 602 and a memory 601 connected to the at least one processor, in this embodiment of the present application, a specific connection medium between the processor 602 and the memory 601 is not limited, fig. 6 illustrates that the processor 602 and the memory 601 are connected by a bus 600, the bus 600 is represented by a thick line in fig. 6, and connection manners between other components are only schematically illustrated and not limited thereto. The bus 600 may be divided into an address bus, a data bus, a control bus, etc., and is shown with only one thick line in fig. 6 for ease of illustration, but does not represent only one bus or type of bus.
In the embodiment of the present application, the memory 601 stores instructions executable by the at least one processor 602, and the at least one processor 602 may perform the steps included in the aforementioned method for using an album by calling the instructions stored in the memory 601.
The processor 602 is a control center of the electronic device provided with the function of detecting the forwarding path, and can connect various parts of the whole electronic device provided with the function of detecting the forwarding path by using various interfaces and lines, and implement various functions of the electronic device provided with the function of detecting the forwarding path by executing the instructions stored in the memory 601. Optionally, the processor 602 may include one or more processing units, and the processor 602 may integrate an application processor and a modem processor, wherein the application processor mainly handles operating systems, user interfaces, application programs, and the like, and the modem processor mainly handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into the processor 602. In some embodiments, processor 602 and memory 601 may be implemented on the same chip, or in some embodiments, they may be implemented separately on separate chips.
Memory 601, which is a non-volatile computer-readable storage medium, may be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. The Memory 601 may include at least one type of storage medium, and may include, for example, a flash Memory, a hard disk, a multimedia card, a card-type Memory, a Random Access Memory (RAM), a Static Random Access Memory (SRAM), a Programmable Read Only Memory (PROM), a Read Only Memory (ROM), a charge Erasable Programmable Read Only Memory (EEPROM), a magnetic Memory, a magnetic disk, an optical disk, and so on. The memory 601 is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to such. The memory 601 in the embodiments of the present application may also be a circuit or any other device capable of implementing a storage function for storing program instructions and/or data.
The processor 602 may be a general-purpose processor, such as a Central Processing Unit (CPU), digital signal processor, application specific integrated circuit, field programmable gate array or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or the like, that implements or performs the methods, steps, and logic blocks disclosed in embodiments of the present application. A general purpose processor may be a microprocessor or any conventional processor or the like. The steps of the method for detecting a forwarding path disclosed in the embodiments of the present application may be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in the processor.
By programming the processor 602, the code corresponding to the method for detecting a forwarding path described in the foregoing embodiment may be fixed in the chip, so that the chip can execute the steps of the method for detecting a forwarding path when running.
Based on the foregoing embodiments, in the embodiments of the present application, a computer-readable storage medium is provided, on which a computer program is stored, and the computer program, when executed by a processor, implements the forwarding path detection method in any of the above-described method embodiments.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (10)

1. A method for detecting a forwarding path is applied to a source node of the forwarding path, the forwarding path further includes at least one intermediate node and a termination node, and the method includes:
acquiring a forwarding path to be detected;
determining a first section label list and a second section label list corresponding to the forwarding path, wherein the first section label list comprises section labels of all nodes on the forwarding path, the second section label list comprises a section label of at least one node on a return path opposite to the direction of the forwarding path, and the number of the section labels in the second section label list is less than that of the section labels in the first section label list;
sending a bidirectional forwarding detection Echo BFD Echo message carrying the first section label list and the second section label list through the forwarding path;
determining whether the forwarding path is normal according to whether the BFD Echo message is received through the return path;
determining a second segment label list corresponding to the forwarding path includes:
determining at least one shortest path between the ith node and each node thereafter on the return path; wherein i is more than or equal to 1 and less than n, and n is the end point of the return path;
determining whether there is a shortest path among the at least one shortest path that satisfies a condition;
if it is determined that a shortest path satisfying a condition exists between the ith node and each node from the (i + 1) th node to the jth node, and a shortest path satisfying the condition does not exist between the ith node and the (j + 1) th node, adding the segment label of the jth node to the second segment label list, wherein the segment label of the node from the ith node to the (j-1) th node is not included in the second segment label list; wherein i < j < n;
the shortest path satisfying the condition is a path existing on the return path.
2. The method of claim 1, wherein the determining whether the forwarding path is normal according to whether the BFD Echo message is received via the return path comprises:
monitoring whether the BFD Echo message is received through the return path or not;
if the BFD Echo message is received through the return path, determining that the forwarding path is normal;
and if the BFD Echo message is not received through the return path, determining that the forwarding path has a fault.
3. The method of claim 1, wherein the method further comprises:
determining at least one shortest path between the jth node and each node thereafter;
if it is determined that a shortest path satisfying the condition exists between the jth node and each of the following nodes from the j +1 th node to the mth node, but the shortest path satisfying the condition does not exist between the jth node and the m +1 th node, adding the segment label of the mth node to the second segment label list, wherein the segment label of the node from the jth node to the mth node is not included in the second segment label list, and in the second segment label list, the segment label of the mth node is located after the segment label of the jth node, and j < m < n.
4. The method of claim 3, further comprising:
if it is determined that a shortest path satisfying the condition exists between the jth node and each node from the (j + 1) th node to the mth node, where the mth node is the end point of the return path, adding a segment tag of the end point of the return path to the second segment tag list, where the second segment tag list does not include segment tags of other nodes between the jth node and the end point of the return path, and the segment tag of the end point of the return path is located at the end of the second segment tag list.
5. A forwarding path detection apparatus applied in a source node of a forwarding path, where the forwarding path further includes at least one intermediate node and a terminating node, the apparatus comprising:
the acquisition module is used for acquiring a forwarding path to be detected;
a processing module, configured to determine a first segment label list and a second segment label list corresponding to the forwarding path, where the first segment label list includes segment labels of all nodes on the forwarding path, the second segment label list includes segment labels of at least one node on a return path in a direction opposite to that of the forwarding path, and the number of the segment labels in the second segment label list is smaller than the number of the segment labels in the first segment label list;
a communication module, configured to send a bidirectional forwarding detection Echo BFD Echo message carrying the first segment tag list and the second segment tag list through the forwarding path;
the processing module is further configured to determine whether the forwarding path is normal according to whether the BFD Echo packet is received through the return path;
the processing module is configured to determine a second segment label list corresponding to the forwarding path, and specifically configured to:
determining at least one shortest path between the ith node and each node thereafter on the return path; wherein i is more than or equal to 1 and less than n, and n is the end point of the return path;
determining whether there is a shortest path among the at least one shortest path that satisfies a condition;
if it is determined that a shortest path satisfying a condition exists between the ith node and each node from the (i + 1) th node to the jth node, and a shortest path satisfying the condition does not exist between the ith node and the (j + 1) th node, adding the segment label of the jth node to the second segment label list, wherein the segment label of the node from the ith node to the (j-1) th node is not included in the second segment label list; wherein i < j < n;
the shortest path satisfying the condition is a path existing on the return path.
6. The apparatus according to claim 5, wherein the processing module is configured to determine whether the forwarding path is normal according to whether the BFD Echo packet is received via the return path, and specifically configured to:
monitoring whether the BFD Echo message is received through the return path or not;
if the BFD Echo message is received through the return path, determining that the forwarding path is normal;
and if the BFD Echo message is not received through the return path, determining that the forwarding path has a fault.
7. The apparatus of claim 5, wherein the processing module is further to:
determining at least one shortest path between the jth node and each node thereafter;
if it is determined that a shortest path satisfying the condition exists between the jth node and each of the following nodes from the j +1 th node to the mth node, but the shortest path satisfying the condition does not exist between the jth node and the m +1 th node, adding the segment label of the mth node to the second segment label list, wherein the segment label of the node from the jth node to the mth node is not included in the second segment label list, and in the second segment label list, the segment label of the mth node is located after the segment label of the jth node, and j < m < n.
8. The apparatus of claim 7, wherein the processing module is further to:
if it is determined that a shortest path satisfying the condition exists between the jth node and each node from the (j + 1) th node to the mth node, where the mth node is the end point of the return path, adding a segment tag of the end point of the return path to the second segment tag list, where the second segment tag list does not include segment tags of other nodes between the jth node and the end point of the return path, and the segment tag of the end point of the return path is located at the end of the second segment tag list.
9. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the steps of the method of any of claims 1-4 are implemented when the program is executed by the processor.
10. A computer-readable storage medium having stored thereon a computer program, characterized in that: the computer program when being executed by a processor realizes the steps of the method of any one of claims 1 to 4.
CN201911213332.7A 2019-12-02 2019-12-02 Forwarding path detection method and device Active CN110855531B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911213332.7A CN110855531B (en) 2019-12-02 2019-12-02 Forwarding path detection method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911213332.7A CN110855531B (en) 2019-12-02 2019-12-02 Forwarding path detection method and device

Publications (2)

Publication Number Publication Date
CN110855531A CN110855531A (en) 2020-02-28
CN110855531B true CN110855531B (en) 2021-09-14

Family

ID=69607061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911213332.7A Active CN110855531B (en) 2019-12-02 2019-12-02 Forwarding path detection method and device

Country Status (1)

Country Link
CN (1) CN110855531B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382452B (en) * 2020-03-09 2023-04-07 中国移动通信有限公司研究院 Path establishing method, data transmission method, device, network node and storage medium
CN113472601B (en) * 2020-03-31 2023-03-28 华为技术有限公司 Connection state detection method and related equipment
CN113542118B (en) * 2020-04-13 2024-01-23 中兴通讯股份有限公司 Segmented route header compression method, service processing method and device
CN111541575B (en) * 2020-04-30 2023-06-09 重庆富民银行股份有限公司 Automatic inspection method and system for closed source network equipment
CN113973066A (en) * 2020-07-24 2022-01-25 华为技术有限公司 Method, device and system for detecting connectivity of P2MP tree
CN113381933B (en) * 2021-06-04 2022-08-12 烽火通信科技股份有限公司 SRv6 bidirectional forwarding detection method and system in network
CN115460107A (en) * 2021-06-08 2022-12-09 华为技术有限公司 Route detection method, device, system and storage medium
CN115695246A (en) * 2021-07-29 2023-02-03 华为技术有限公司 Tunnel quality detection method based on SRv and related device
CN113904972B (en) * 2021-11-22 2023-12-19 迈普通信技术股份有限公司 Path detection method and device, controller and PE (polyethylene) equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102656843A (en) * 2009-12-18 2012-09-05 阿尔卡特朗讯 Method of localizing a failure occuring along a transmission path
CN106161246A (en) * 2016-06-15 2016-11-23 杭州华三通信技术有限公司 The implementation method of alternate routing and device
CN106982153A (en) * 2017-05-18 2017-07-25 烽火通信科技股份有限公司 A kind of multi-segment pseudo-wires network connectivty detection method
CN106998273A (en) * 2016-01-26 2017-08-01 中兴通讯股份有限公司 Link failure detection method and device
CN108768788A (en) * 2018-06-26 2018-11-06 新华三技术有限公司合肥分公司 Path failure detection method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624609A (en) * 2012-02-28 2012-08-01 华为技术有限公司 Method for transmitting reverse bidirectional forwarding detection (BFD) messages, method for notifying paths and device for notifying paths
US10541904B2 (en) * 2016-12-14 2020-01-21 Hewlett Packard Enterprise Development Lp Establishing a network fault detection session

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102656843A (en) * 2009-12-18 2012-09-05 阿尔卡特朗讯 Method of localizing a failure occuring along a transmission path
CN106998273A (en) * 2016-01-26 2017-08-01 中兴通讯股份有限公司 Link failure detection method and device
CN106161246A (en) * 2016-06-15 2016-11-23 杭州华三通信技术有限公司 The implementation method of alternate routing and device
CN106982153A (en) * 2017-05-18 2017-07-25 烽火通信科技股份有限公司 A kind of multi-segment pseudo-wires network connectivty detection method
CN108768788A (en) * 2018-06-26 2018-11-06 新华三技术有限公司合肥分公司 Path failure detection method and device

Also Published As

Publication number Publication date
CN110855531A (en) 2020-02-28

Similar Documents

Publication Publication Date Title
CN110855531B (en) Forwarding path detection method and device
US10868734B2 (en) Service function chain detection path method and device
US6347079B1 (en) Apparatus and methods for path identification in a communication network
CN101536411B (en) Ethernet OAM at intrmediate nodes in a PBT network
CN106878164A (en) A kind of message transmitting method and device
US9407500B2 (en) System and method for determining the configuration of switches in virtual link trunking environments
CN110380960B (en) Backup path determining method, device, network equipment and storage medium
WO2017000790A1 (en) Gateway device network connectivity response method and device
CN105187230B (en) The switching method and device of server
CN110011941B (en) Message forwarding method and device
CN112994839A (en) Flexible Ethernet overhead multiframe receiving method, device, equipment and medium
CN113904985B (en) Segment list acquisition method, message forwarding method, device and electronic equipment
CN109873766B (en) Message transmission method and device
US20150089047A1 (en) Cut-through packet management
CN104506369B (en) A kind of detection method and equipment of packet loss position
CN102833122B (en) Loopback detection method and system
CN107547412B (en) STP calculation method and device
CN109150707B (en) Routing path analysis method and device
CN114301813A (en) Time delay measuring method and device for PING detection
CN112751724A (en) Method and device for detecting link state
CN107592260B (en) VPWS BYPASS protection switching method and system based on fast rerouting
CN109889418A (en) CAN bus based data transmission method and device
CN112669471B (en) Gate and ticket checking transaction method, device and storage medium thereof
KR101649828B1 (en) Apparatus and method for detectioning of ethenet frame
CN113381932B (en) Method and network equipment for generating segment identifier SID

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant