WO2024067084A1 - 一种路径故障检测的方法以及相关装置 - Google Patents
一种路径故障检测的方法以及相关装置 Download PDFInfo
- Publication number
- WO2024067084A1 WO2024067084A1 PCT/CN2023/118427 CN2023118427W WO2024067084A1 WO 2024067084 A1 WO2024067084 A1 WO 2024067084A1 CN 2023118427 W CN2023118427 W CN 2023118427W WO 2024067084 A1 WO2024067084 A1 WO 2024067084A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- message
- network device
- node
- path
- identifier
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Definitions
- the present application relates to the field of communication technology, and in particular to a method for detecting a path failure and a related device.
- the segment routing (SR) node provides a flexible way to select forwarding paths based on the segment routing traffic engineering policy (SR TE Policy) of Internet Protocol Version 6-Segment Routing (IPv6 SR or SRv6), which can meet different forwarding requirements of users.
- SR TE Policy segment routing traffic engineering policy
- IPv6 SR or SRv6 Internet Protocol Version 6-Segment Routing
- IPv6 SR or SRv6 Internet Protocol Version 6-Segment Routing
- the commonly used path fault detection methods are bidirectional forwarding detection (BFD) protocol or seamless bidirectional forwarding detection (SBFD) protocol.
- the detection principle of the SBFD protocol is shown in Figure 1.
- the initiator and the reflector establish a connection through a negotiation mechanism.
- the initiator and the reflector send SBFD control packets to each other and notify the SBFD descriptor (Discriminator) and other information.
- the initiator performs path detection, it sends an SBFD control packet to the reflector.
- the reflector loops back the SBFD control packet to the initiator.
- the initiator can successfully receive the SBFD control packet from the reflector. Therefore, the initiator can detect the path status between the initiator and the reflector according to whether the SBFD control packet is received.
- the head node In SR TE Policy, the head node is usually used as the initiator of the detection path in Figure 1. Specifically, the head node adds a segment routing header (SRH) in the SBFD control message to indicate that the SBFD control message is transmitted in a specific SR path.
- SSH segment routing header
- the head node detects a failure in a certain path through the SBFD control message, it notifies the network controller of the detection result.
- the network controller completes the path convergence based on the detection result.
- the network controller sends the new path to the head node, and the new path bypasses the faulty path.
- the SBFD control message sent by the head node may bypass the faulty path to reach the destination node.
- the destination node After receiving the SBFD control message, the destination node loops the SBFD control message back to the head node. Therefore, the head node determines that the shortest path between the head node and the destination node is normal and cannot detect the faulty path.
- an embodiment of the present application provides a method for detecting a path failure, including:
- a network device obtains a first message, wherein the first message includes a segment list, wherein the segment list includes a plurality of segment identifiers SIDs arranged in sequence, wherein the segment list identifies a forwarding path of the first message, wherein the segment list includes a segment identifier of a first node and a segment identifier of a second node; the network device forwards the first message according to the segment list; the network device detects a state of a target path according to the first message, wherein the target path is the shortest path between the first node and the second node, and wherein the segment identifier identifying the target path in the segment list indicates a loose path.
- the segment list of the first message indicates the forwarding path of the first message, and the first message needs to pass through the first node and the second node.
- the segment list identifies the forwarding path of the first message.
- the segment identifier identifying the target path in the segment list indicates a loose path.
- the segment identifier identifying the target path in the segment list indicates that there may be multiple paths between the first node and the second node for forwarding the message.
- a loose path means that the segment identifier of the segment list does not strictly indicate all the nodes that the message needs to pass through.
- the segment identifiers included in the segment list are SID1 (P1 node), SID2 (P2 node) and SID3 (PE2 node).
- the message carrying the segment list can pass through PE1, P3, P1, P2, P8 nodes to reach the PE2 node, and can also pass through PE1, P3, P1, P2, P1, P3, PE1, P4, P5, P6, P7 nodes to reach the PE2 node.
- the segment identifiers (SID1, SID2 and SID3) included in the segment list indicate a loose path.
- the shortest path between the first node and the second node is called the target path.
- the network device detects the state of the target path by forwarding the first message.
- the network device in the embodiment of the present application can be the head node in the SR policy (or SRv6 policy) (hereinafter referred to as the head node); it can also be the intermediate node in the SR policy (or SRv6 policy) (hereinafter referred to as the intermediate node), and the embodiment of the present application is not limited to this.
- the first node may be a head node in the SR policy (or SRv6 policy); the first node may also be an intermediate node in the SR policy (or SRv6 policy).
- the second node may be an intermediate node in the SR policy (or SRv6 policy); the second node may also be a tail node in the SR policy (or SRv6 policy).
- the network device in the embodiment of the present application is a head node, and the first node is the head node.
- the network device in the embodiment of the present application and the first node belong to the same node (ie, the head node).
- the path in the embodiment of the present application may also be referred to as a link, which is not limited in the embodiment of the present application.
- the method for path fault detection proposed in the embodiment of the present application can be applied in BFD echo (BFD Echo) mode or in BFD asynchronous mode.
- BFD Echo BFD echo
- the initiator applies the method proposed in the embodiment of the present application.
- BFD asynchronous mode for example, BFD detection is performed between node A and node B, and node A and node B send BFD control messages to each other, node A and node B apply the method proposed in the embodiment of the present application.
- the network device can detect the shortest path indicated by the segment list according to the first message, so the network device can promptly find out whether there is a faulty path in the shortest path between the first node and the second node, thereby avoiding traffic forwarding through a detour path, avoiding bandwidth waste and increasing latency, increasing the available bandwidth of the network device, and improving the data throughput of the network.
- the first message further includes a first identifier
- the first identifier indicates that the first message is discarded after N hops of transmission
- N is a positive integer
- the value of the first identifier decreases by one after each hop of transmission of the first message, and when the value of the first identifier is 0, the network device discards the first message.
- the first message is prevented from being forwarded to the second node (i.e., the destination node) through a detour path, so that the network device detects the state of the target path according to the first message.
- the network device obtains the total number of hops of the target path; the network device determines the value N of the first identifier according to the total number of hops of the target path, where N is greater than or equal to the total number of hops of the target path. Specifically, the network device obtains the total number of hops of the target path, in other words, obtains the number of nodes passed in the target path. Then, the network device designs the first message to be discarded after N hops of transmission according to the total number of hops of the target path, where N is a positive integer and N is greater than or equal to the total number of hops of the target path.
- the intermediate node When the first message is transmitted in the detour path, it is discarded by the intermediate node (the intermediate node corresponding to the Nth hop) during the transmission due to the restriction of discarding after N hops of transmission.
- the first message cannot reach the destination of the first message (i.e., the second node) through the detour path, and the second node cannot loop back the first message to the sending end (i.e., the head node) through the detour path.
- the network device After the network device sends the first message, if the looped first message is not received, the network device determines that the state of the target path is a fault.
- the first message can be forwarded on a path with a smaller degree of detour to reach the destination node indicated by the segment list.
- the network device can tolerate a detour path with a smaller degree of detour to avoid frequent end-to-end path switching.
- N is greater than or equal to the total number of hops of the target path. For example, if the total number of hops of the target path is 5, then N is greater than or equal to 5.
- N is greater than or equal to the sum of the total number of hops of the target path and the number of hops from the head node to the first node.
- the shortest path between the head node (network device) and the first node is 3 hops, and the total number of hops of the target path is 5 hops.
- N is greater than or equal to 8.
- the network device obtains the first message, including: the network device obtains the second message, the second message includes the segment list; the network device fills the first identifier in the second message to generate the first message.
- the network device obtains the second message, which can be regarded as the first message without filling the value of the first identifier. Then, the network device determines the value of N according to the total number of hops of the target path. The network device fills the first identifier in the second message (that is, fills the value of N in the first identifier) to generate the first message.
- the method further includes: the network device receives the first message; Committed access rate (CAR) control, the CAR control of the first message indicates that the threshold value of the transmission rate of the first message per unit time is M, where M is a positive integer.
- CAR Committed access rate
- the message is classified and the data flow is controlled to be transmitted at a specific rate.
- the first message can be controlled by CAR to limit the transmission rate of the first message.
- the first identifier is carried in a TTL field of an Internet Protocol version 4 IPv4 header of the first message, or the first identifier is carried in a Hop limit field of an Internet Protocol version 6 IPv6 header of the first message.
- the first message also includes a second identifier, and the second identifier indicates that the network device detects whether the input interface for receiving the first message and the output interface for sending the first message are consistent. Specifically, after receiving the first message carrying the second identifier, the network device detects whether the input interface of the first message and the output interface of the first message are consistent. According to whether the input interface of the first message and the output interface of the first message are consistent, determine to discard the first message. Avoid forwarding the first message from the same port, in other words, avoid forwarding the first message through a detour path to reach the second node (i.e., the destination node).
- the second identifier indicates that the network device detects whether the input interface for receiving the first message and the output interface for sending the first message are consistent. Specifically, after receiving the first message carrying the second identifier, the network device detects whether the input interface of the first message and the output interface of the first message are consistent. According to whether the input interface of the first message and the output interface of the first message are consistent, determine
- the first message also includes a second identifier, and the second identifier includes an output interface of the first message.
- the network device After receiving the first message, the network device obtains the input interface of the first message. Then, the network device detects whether the input interface of the first message is consistent with the second identifier (the output interface of the first message). According to whether the input interface of the first message and the output interface of the first message are consistent, determine to discard the first message. Avoid forwarding the first message from the same port, in other words, avoid forwarding the first message through a detour path to reach the second node (i.e., the destination node).
- the network device forwards the first message according to the segment list, including: the network device detects whether the input interface for receiving the first message and the output interface for receiving the first message are consistent according to the second identifier; when the network device detects that the input interface for receiving the first message is consistent with the output interface for sending the first message, the network device discards the first message; when the network device detects that the input interface for receiving the first message is inconsistent with the output interface for sending the first message, the network device forwards the first message according to the segment list.
- the second identifier is carried in the identifier Flags field of the segment routing extension header SRH of the first message.
- a specific bit for example, the first bit
- the network device needs to detect whether the outgoing interface and the incoming interface of the first message are consistent, and determine whether to discard the first message based on the detection result; when the specific bit in the identifier Flags field is 0, the network device forwards the first message according to the normal process, that is, there is no need to detect whether the outgoing interface and the incoming interface of the first message are consistent.
- the network device detects the state of the target path based on the first message, including: when the network device receives the first message from the second node, the network device determines that the state of the target path is normal; when the network device does not receive the first message from the second node, the network device determines that the state of the target path is faulty.
- the first message is a Bidirectional Forwarding Detection (BFD) protocol message, or the first message is a Seamless Bidirectional Forwarding Detection (SBFD) protocol message.
- BFD Bidirectional Forwarding Detection
- SBFD Seamless Bidirectional Forwarding Detection
- an embodiment of the present application provides a method for detecting a path failure, including:
- the network device acquires a segment list, the segment list including a segment identifier of a first node and a segment identifier of a second node, the segment list indicating a target path, the target path being the shortest path between the first node and the second node;
- the network device calculates a second path according to the segment list and the path status information, where the second path is the shortest path between the first node and the second node that does not include a faulty path, and the path status information indicates the faulty path;
- the network device detects the state of the target path according to the second path.
- the network device determines the first node and the second node (or other more nodes) according to the segment list. Then the network device calculates the shortest path between the first node and the second node, that is, the target path, according to the shortest path tree (SPT). The network device obtains the path status information. The path status information indicates the status of each path in the current network, that is, the path status information indicates the faulty path. Then the network device calculates the actually reachable path between the first node and the second node according to the segment list and the path status information, and the path is also called the second path. The second path is the shortest path between the first node and the second node that does not include the faulty path.
- SPT shortest path tree
- the network device obtains the path status information, and the network device detects the status of the shortest path indicated by the segment list according to the path status information. Therefore, the network device can timely find out whether there is a faulty path in the shortest path between the first node and the second node. Avoid traffic forwarding through detour paths, increase the available bandwidth of network devices, and improve the data throughput of the network.
- the network device detects the state of the target path based on the second path, including: when the second path passes through repeated nodes, the network device determines that the state of the target path is faulty; when the target path does not pass through repeated nodes, the network device determines that the state of the target path is normal.
- the network device obtains the path status information from a link state database (LSDB) and/or a segment routing database (SRDB).
- LSDB link state database
- SRDB segment routing database
- an embodiment of the present application provides a network device, including:
- a transceiver module configured for a network device to obtain a first message, wherein the first message includes a segment list, the segment list includes a plurality of segment identifiers SIDs arranged in sequence, the segment list identifies a forwarding path of the first message, and the segment list includes a segment identifier of a first node and a segment identifier of a second node;
- the transceiver module is further used to forward the first message according to the segment list;
- a processing module is used to detect a state of a target path according to the first message, where the target path is the shortest path between the first node and the second node, and a segment identifier in the segment list that identifies the target path indicates a loose path.
- the first message also includes a first identifier, which indicates that the first message is discarded after being transmitted N hops, where N is a positive integer, and the value of the first identifier is reduced by one after each hop of transmission of the first message.
- the network device discards the first message.
- the transceiver module is further used to obtain the total number of hops of the target path
- the processing module is further used to determine the value N of the first identifier according to the total number of hops of the target path, where N is greater than or equal to the total number of hops of the target path.
- the transceiver module is further used to obtain a second message, where the second message includes the segment list;
- the processing module is further used to fill the first identifier in the second message to generate the first message.
- the processing module is further configured to perform committed access rate CAR control on the first message, where the CAR indicates that a threshold value of a transmission rate of the first message per unit time is M, where M is a positive integer.
- the first identifier is carried in a TTL field of an Internet Protocol version 4 IPv4 message header of the first message.
- the first identifier is carried in the hop limit field of the Internet Protocol version 6 IPv6 message header of the first message.
- the first message further includes a second identifier, and the second identifier instructs the network device to detect whether an input interface for receiving the first message and an output interface for sending the first message are consistent.
- the processing module is further used to detect, according to the second identifier, whether an input interface for receiving the first message and an output interface for receiving the first message are consistent;
- the transceiver module is further configured to, when the network device detects that the input interface for receiving the first message is consistent with the output interface for sending the first message, cause the network device to discard the first message;
- the transceiver module is also used for the network device to forward the first message according to the segment list when it detects that the input interface for receiving the first message is inconsistent with the output interface for sending the first message.
- the second identifier is carried in an identifier Flags field of a segment routing extension header SRH of the first message.
- the processing module is further configured to, when the network device receives the first message from the second node, determine that the state of the target path is normal;
- the processing module is further configured to, when the network device does not receive the first message from the second node, determine that the state of the target path is faulty.
- the first message is a Bidirectional Forwarding Detection (BFD) protocol message, or the first message is a Seamless Bidirectional Forwarding Detection (SBFD) protocol message.
- BFD Bidirectional Forwarding Detection
- SBFD Seamless Bidirectional Forwarding Detection
- an embodiment of the present application provides a communication device, including: a communication interface;
- a communication interface used for a network device to obtain a first message
- the first message includes a segment list, the segment list includes a plurality of segment identifiers SIDs arranged in sequence, the segment list identifies a forwarding path of the first message, and the segment list includes a segment identifier of a first node and a segment identifier of a second node;
- the communication interface is further used to forward the first message according to the segment list
- a processor is configured to detect a state of a target path according to the first message, where the target path is a shortest path between the first node and the second node, and a segment identifier in the segment list that identifies the target path indicates a loose path.
- the first message also includes a first identifier, which indicates that the first message is discarded after being transmitted N hops, where N is a positive integer, and the value of the first identifier is reduced by one after each hop of transmission of the first message.
- the network device discards the first message.
- the communication interface is further used to obtain the total number of hops of the target path
- the processor is further configured to determine a value N of the first identifier according to a total number of hops of the target path, where N is greater than or equal to the total number of hops of the target path.
- the communication interface is further used to obtain a second message, where the second message includes the segment list;
- the processor is further configured to fill the first identifier in the second message to generate the first message.
- the processor is further configured to perform committed access rate CAR control on the first message, where the CAR indicates that a threshold value of a transmission rate of the first message per unit time is M, where M is a positive integer.
- the first identifier is carried in a TTL field of an Internet Protocol version 4 IPv4 header of the first message, or the first identifier is carried in a Hop limit field of an Internet Protocol version 6 IPv6 header of the first message.
- the first message further includes a second identifier, and the second identifier instructs the network device to detect whether an input interface for receiving the first message and an output interface for sending the first message are consistent.
- the processor is further configured to detect, according to the second identifier, whether an input interface for receiving the first message and an output interface for receiving the first message are consistent;
- the communication interface is further used for, when the network device detects that the input interface for receiving the first message is consistent with the output interface for sending the first message, the network device discards the first message;
- the communication interface is also used for the network device to forward the first message according to the segment list when the network device detects that the input interface for receiving the first message is inconsistent with the output interface for sending the first message.
- the second identifier is carried in an identifier Flags field of a segment routing extension header SRH of the first message.
- the processor is further configured to, when the network device receives the first message from the second node, determine that the state of the target path is normal;
- the processor is further configured to, when the network device does not receive the first message from the second node, determine that the state of the target path is faulty.
- the first message is a Bidirectional Forwarding Detection (BFD) protocol message, or the first message is a Seamless Bidirectional Forwarding Detection (SBFD) protocol message.
- BFD Bidirectional Forwarding Detection
- SBFD Seamless Bidirectional Forwarding Detection
- an embodiment of the present application provides a network device, including:
- a transceiver module configured to obtain a segment list, wherein the segment list includes a segment identifier of a first node and a segment identifier of a second node, wherein the segment list indicates a target path, and the target path is a shortest path between the first node and the second node;
- a processing module configured to calculate a second path according to the segment list and the path status information, wherein the second path is a shortest path between the first node and the second node that does not include a faulty path, and the path status information indicates the faulty path;
- the processing module is further configured to detect a state of the target path according to the second path.
- the processing module is further configured to determine that the state of the target path is a failure when the second path passes through a repeated node;
- the processing module is further configured to determine that the state of the target path is normal when the target path does not pass through repeated nodes.
- the transceiver module is also used to obtain the path status information from a link state database (LSDB) and/or a segment routing database (SRDB).
- LSDB link state database
- SRDB segment routing database
- an embodiment of the present application provides a communication device, including: a communication interface;
- a communication interface configured to obtain a segment list, the segment list including a segment identifier of a first node and a segment identifier of a second node, the segment list indicating a target path, the target path being a shortest path between the first node and the second node;
- a processor configured to calculate a second path according to the segment list and the path status information, wherein the second path is a shortest path between the first node and the second node that does not include a faulty path, and the path status information indicates the faulty path;
- the processor is further configured to detect a state of the target path according to the second path.
- the processor is further configured to determine that the state of the target path is faulty when the second path passes through a repeated node;
- the processor is further configured to determine that the state of the target path is normal when the target path does not pass through repeated nodes.
- the communication interface is also used to obtain the path status information from a link state database (LSDB) and/or a segment routing database (SRDB).
- LSDB link state database
- SRDB segment routing database
- an embodiment of the present application provides a method for detecting a path failure, including:
- the network device obtains a first message, where the first message includes a segment list, and the segment list includes a plurality of segment identifiers SIDs arranged in sequence;
- the segment list includes forwarding information of each node along a target path, the target path being the shortest path between the first node and the second node;
- the network device forwards the first message according to the segment list
- the network device detects the state of the target path according to the first message.
- the segment list of the first message indicates the forwarding path of the first message, and the first message needs to pass through the first node and the second node.
- the segment list includes forwarding information of each node along the target path, and the target path is the shortest path between the first node and the second node. In other words, what the segment list indicates is a strict path.
- the network device detects the state of the target path by forwarding the first message.
- the network device in the embodiment of the present application can be the head node in the SR policy (or SRv6 policy) (hereinafter referred to as the head node); it can also be the intermediate node in the SR policy (or SRv6 policy) (hereinafter referred to as the intermediate node), and the embodiment of the present application is not limited to this.
- the first node may be a head node in the SR policy (or SRv6 policy); the first node may also be an intermediate node in the SR policy (or SRv6 policy).
- the second node may be an intermediate node in the SR policy (or SRv6 policy); the second node may also be a tail node in the SR policy (or SRv6 policy).
- the network device in the embodiment of the present application is a head node, and the first node is the head node.
- the network device in the embodiment of the present application and the first node belong to the same node (ie, the head node).
- the path in the embodiment of the present application may also be referred to as a link, which is not limited in the embodiment of the present application.
- the network device forwards the first message according to the strict path according to the segment list of the first message.
- the first message cannot reach the second node through the loose path between the first node and the second node. Therefore, the network device can promptly find out whether there is a faulty path in the shortest path between the first node and the second node. Avoiding traffic forwarding through a detour path, avoiding bandwidth waste and delay increase, increasing the available bandwidth of the network device, and improving the data throughput of the network.
- the network device obtains a third message, the segment list of the third message includes a plurality of segment identifiers arranged in sequence, and the segment list of the third message is used to indicate a plurality of forwarding paths of the third message;
- the network device forwards the third message according to the segment list of the third message.
- the third message carries service data, in other words, the third message is a service message.
- the segment list of the service message indicates multiple forwarding paths of the third message, in other words, the path indicated by the segment list of the service message is a loose path. Therefore, when the network device forwards the service message, it forwards it according to the loose path. This ensures that the service message arrives at the destination smoothly and ensures the normal operation of the service.
- the forwarding information includes: a segment identifier of the node, and/or an adjacent segment identifier of the node.
- the forwarding information may be an adjacent segment identifier End.X SID (abbreviated as SIDX) of the node.
- End.X SID indicates the outbound interface of the node, and the network device determines the outbound interface for forwarding the message based on End.X SID.
- the network device forwards the first message according to the segment list, including: when the network device determines that the next hop of the network device in the segment list is unreachable, the network device discards the first message; when the network device determines that the next hop of the network device in the segment list is reachable, the network device forwards the first message according to the segment list. Forward the first message.
- the first message further includes: a third identifier, wherein the third identifier indicates that the first message does not perform fast reroute FRR.
- a third identifier is added to the first message, and the third identifier indicates that the first message does not perform fast reroute (fast reroute, FRR).
- the third identifier is carried in the identifier Flags field of the SRH of the first message.
- an embodiment of the present application provides a network device, including:
- a transceiver module configured to obtain a first message, wherein the first message includes a segment list, and the segment list includes a plurality of segment identifiers SIDs arranged in sequence;
- the segment list includes forwarding information of each node along a target path, the target path being the shortest path between the first node and the second node;
- the transceiver module is further used to forward the first message according to the segment list;
- the processing module is used to detect the state of the target path according to the first message.
- the transceiver module is further used to obtain a third message, the segment list of the third message includes a plurality of segment identifiers arranged in sequence, and the segment list of the third message is used to indicate a plurality of forwarding paths of the third message;
- the transceiver module is also used to forward the third message according to the segment list of the third message.
- the forwarding information includes: a segment identifier of the node, and/or an adjacent segment identifier of the node.
- the processing module is further configured to discard the first message when the network device determines that the next hop of the network device in the segment list is unreachable;
- the processing module is also used to forward the first message according to the segment list when the network device determines that the next hop of the network device in the segment list is reachable.
- the first message further includes: a third identifier, wherein the third identifier indicates that fast rerouting FRR is not performed during forwarding of the first message.
- the third identifier is carried in an identifier Flags field of a segment routing extension header SRH of the first message.
- an embodiment of the present application provides a communication device, including: a communication interface;
- a communication interface used to obtain a first message, wherein the first message includes a segment list, and the segment list includes a plurality of segment identifiers SIDs arranged in sequence;
- the segment list includes forwarding information of each node along a target path, the target path being the shortest path between the first node and the second node;
- a communication interface further configured to forward the first message according to the segment list
- the processor is configured to detect a state of the target path according to the first message.
- the communication interface is further used to obtain a third message, wherein the segment list of the third message includes a plurality of segment identifiers arranged in sequence, and the segment list of the third message is used to indicate a plurality of forwarding paths of the third message;
- the communication interface is further used to forward the third message according to the segment list of the third message.
- the forwarding information includes: a segment identifier of the node, and/or an adjacent segment identifier of the node.
- the processor is further configured to discard the first message when the network device determines that the next hop of the network device in the segment list is unreachable;
- the processor is further configured to forward the first message according to the segment list when the network device determines that the next hop of the network device in the segment list is reachable.
- the first message further includes: a third identifier, wherein the third identifier indicates that fast rerouting FRR is not performed during forwarding of the first message.
- the third identifier is carried in an identifier Flags field of a segment routing extension header SRH of the first message.
- a communication system comprising the network device of the third aspect or the communication apparatus of the fourth aspect.
- a communication system comprising the network device of the fifth aspect or the communication apparatus of the sixth aspect.
- a communication system comprising the network device of the eighth aspect or the communication apparatus of the ninth aspect.
- a computer storage medium which may be non-volatile; the computer storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, the method in any one of the implementation modes in the first aspect, the second aspect or the seventh aspect is implemented.
- the fourteenth aspect of the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute a method in any one of the implementations of the first aspect, the second aspect, or the seventh aspect.
- a chip system which includes a processor and an interface circuit, and is used to support the network device to implement the functions involved in the above aspects, for example, to send or process the data and/or information involved in the above methods.
- the chip system also includes a memory, which is used to store program instructions and data necessary for the network device.
- the chip system can be composed of a chip, or it can include a chip and other discrete devices.
- Figure 1 is a schematic diagram of SBFD
- FIG2 is an example diagram of a message format in an embodiment of the present application.
- FIG3 is a schematic diagram of a communication scenario
- FIG4 is a schematic diagram of an embodiment of a method for path fault detection in an embodiment of the present application.
- FIG5 is a schematic diagram of an embodiment of a method for path fault detection in an embodiment of the present application.
- FIG6 is a schematic diagram of another communication scenario in an embodiment of the present application.
- FIG7 is a schematic diagram of the structure of an IPv4 message header
- FIG8 is a schematic diagram of the structure of an IPv6 message header
- FIG9 is a schematic diagram of an application scenario in an embodiment of the present application.
- FIG10 is a schematic diagram of an application scenario in an embodiment of the present application.
- FIG11 is a schematic diagram of the structure of the first message in an embodiment of the present application.
- FIG12 is a schematic diagram of the structure of the first message in an embodiment of the present application.
- FIG13 is a schematic diagram of an application scenario in an embodiment of the present application.
- FIG14 is a schematic diagram of the structure of a communication device 1400 provided in an embodiment of the present application.
- FIG15 is a schematic diagram of the structure of a communication device 1500 provided in an embodiment of the present application.
- FIG16 is a schematic diagram of the structure of a communication device 1600 provided in an embodiment of the present application.
- FIG. 17 is a schematic diagram of a network system 1700 proposed in an embodiment of the present application.
- the naming or numbering of the steps in the present application does not mean that the steps in the method flow must be executed in the time/logical sequence indicated by the naming or numbering.
- the process steps that have been named or numbered can change the execution order according to the technical purpose to be achieved, as long as the same or similar technical effects can be achieved.
- the division of units in this application is a logical division. There may be other divisions in actual applications. For example, multiple units may be combined or integrated into another system, or some features may be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection between units may be electrical or other similar forms, which are not limited in this application.
- the units or subunits described as separate components may or may not be physically separated. It may or may not be a physical unit, or may be distributed in multiple circuit units, and some or all of the units may be selected according to actual needs to achieve the purpose of the present application.
- SR segment identifiers
- SID List also called label stack in SR-MPLS
- the SID List can indicate a forwarding path.
- a label can be attached to the luggage in the origin area A, "first to area B, then to area C, and finally to area D". In this way, each area only needs to identify the label on the luggage and forward the luggage from one area to another according to the label of the luggage.
- the head node will add a label to the data packet, and the intermediate node can forward it to the next node according to the label until the data packet reaches the destination node.
- IPv6 addresses (128 bits) as the representation of SID.
- network devices that support SRv6 will query the local segment identification table (local sid table) according to the destination address (DA) in the data packet.
- DA destination address
- the policy related to the SID in the local segment identification table is followed and the operation corresponding to the policy is performed.
- the data packet can be forwarded from the outbound interface corresponding to the SID; if the destination address of the data packet does not match each SID in the local segment identification table for the longest match, the IPv6 forwarding table is checked again and the longest match is forwarded according to the IPv6 forwarding table.
- the value of the DA field in an IPv6 packet is constantly changing. Its value is determined by the SL and Segment List.
- the pointer SL points to a segment to be processed, for example, Segment List[2]
- the IPv6 address of Segment List[2] needs to be copied to the DA field.
- the node can reduce the SL by 1, shift the pointer to the new segment, and copy the segment identifier (i.e., IPv6 address format) corresponding to the SL reduction to the DA field, and then forward the message to the next node.
- the node can pop up the SRH message header and then process the message. If the node does not support SR, it does not need to process the SRH information in the IPv6 message. It only needs to search the IPv6 routing table based on the IPv6 destination address field and perform normal IPv6 forwarding.
- SR policy is a traffic engineering mechanism for SR.
- an SR policy includes a headend, a color identifier, a destination identifier, and a segment identifier list indicating a forwarding path.
- Headend is used to identify the headend that executes the SR policy
- color is used to associate SR with service attributes, such as low latency, high bandwidth, etc., to summarize the service capabilities of the SR policy
- endpoint is used to identify the destination address of the SR policy.
- an SR policy is determined by (headend, color, endpoint). For the same headend, it can also determine a policy by (color, endpoint).
- SR policy can include one or more segment identifier lists to achieve load balancing, multi-path backup and other functions.
- the head node can determine the segment identifier list corresponding to the message according to the SR policy, thereby determining the forwarding path for forwarding the message, and encapsulate the segment identifier list into the message to display or disperse the indicated path.
- Routing prefix It is composed of an IP address and a subnet mask.
- the length of the subnet mask can be 128 bits or less.
- the routing prefix can be written as: A1::1/32 or A1::1/128, where A1::1 is an IP address and 32 or 128 indicates the length of the subnet mask.
- Subnet prefix It is composed of an IP address and a subnet mask, and represents a subnet. In an IPv6 network, the length of the subnet mask is less than 128 bits. In an example, the subnet prefix can be written as: A1::1/32 or A1::1/64, where A1::1 is an IP address and 32 or 64 indicates the length of the subnet mask.
- the format of the message in the embodiment of the present application includes but is not limited to: IP message header, segment routing header (segment routing header, SRH), optional type length value objects (Optional Tag Length Value objects), and message payload (payload), where the type length value (Tag Length Value, TLV) is an optional variable in the SRH header, and the message payload is used to carry the data of the message.
- FIG. 2 is a schematic diagram of a message format in an embodiment of the present application.
- the message in the embodiment of the present application consists of an IP message header, an SRH, an optional TLV object, and a message payload.
- the IP message header can be an IPv6 message header. It is understandable that the IP message header can also be an IPv4 message header.
- SRH segment routing extension header
- the SRH specifies an IPv6 explicit path and stores the IPv6 Segment List information. Its function is the same as the Segment List in SR MPLS.
- the head node adds an SRH extension header to the IPv6 message, and the intermediate nodes can forward according to the path information contained in the SRH extension header.
- segment List segment list
- MPLS multi-protocol label switching
- the Segment List composed of multiple segment identifiers (Segment ID, SID) arranged in order is used to indicate the explicit path in SR; the other is the remaining segment (segment left, SL), which is a pointer used to indicate the current segment identifier.
- the segment list field is used to carry the information of the intermediate nodes or the destination node that the message needs to pass through. It is understandable that Segment List[0] is generally the information of the destination node. It is understandable that the node can first read the value of SL, and then read the corresponding Segment List according to the value of SL. For example, if the node reads the value of SL as 1, the node will read Segment List[1]. The SL and Segment List in the message can be used together to update the next intermediate node that the current message needs to reach through the change of SL during the forwarding process.
- the message actually includes some existing fields, which are omitted in the present embodiment for brief description and will not be described in detail.
- the message may also include other fields to achieve other functions, which are not limited in the present embodiment.
- FIG. 3 is a schematic diagram of a communication scenario.
- the segment list of the control message indicates the path "(SID1, SID2, SID3)", where SID1 corresponds to the P1 node (hereinafter referred to as P1), SID2 corresponds to the P2 node (hereinafter referred to as P2), and SID3 corresponds to the PE2 node (hereinafter referred to as PE2).
- part of the shortest path (PE1-P3-P1-P2-P8-PE2) fails.
- the path between P1 and P2 fails.
- the control message sent by PE1 arrives at P1 under the instruction of the segment list.
- P1 sends the control message to PE2 through other paths according to the instructions of the segment list of the control message.
- the control message goes through PE1 ⁇ P3 ⁇ P1 ⁇ P3 ⁇ PE1 ⁇ P4 ⁇ P5 ⁇ P6 ⁇ P7 ⁇ PE2 ⁇ P8 ⁇ P2 ⁇ P8 ⁇ PE2, and finally reaches PE2.
- This path is also called a detour path.
- the above detour path also meets the instructions of the segment list of the control message.
- PE2 acts as a reflector and loops back the control message to PE1.
- the looped control message takes the same detour path to reach PE1 (PE1 ⁇ P3 ⁇ P1 ⁇ P3 ⁇ PE1 ⁇ P4 ⁇ P5 ⁇ P6 ⁇ P7 ⁇ PE2 ⁇ P8 ⁇ P2 ⁇ P8 ⁇ PE2). Since PE1 receives the looped control message from PE2, PE1 determines that the path indicated by the segment list "(SID1, SID2, SID3)" is normal. In fact, there is a faulty path (P1 ⁇ P2) in the shortest path (PE1, P3, P1, P2, P8, PE2) indicated by the segment list "(SID1, SID2, SID3)". Therefore, PE1 cannot detect the faulty path. Traffic is still forwarded through the detour path, occupying additional bandwidth and reducing the data throughput of the network.
- an embodiment of the present application proposes a method for path fault detection, including: a network device obtains a first message, the first message includes a segment list, the segment list includes a plurality of segment identifiers SIDs arranged in sequence, the segment list identifies the forwarding path of the first message, and the segment list includes the segment identifier of the first node and the segment identifier of the second node; the network device forwards the first message according to the segment list; the network device detects the state of the target path according to the first message, the target path is the shortest path between the first node and the second node, and the segment identifier identifying the target path in the segment list indicates a loose path.
- the network device can detect the shortest path indicated by the segment list according to the first message, so the network device can promptly discover whether there is a faulty path in the shortest path between the first node and the second node. Avoiding traffic forwarding through a detour path improves the available bandwidth of the network device and improves the data throughput of the network.
- two methods are specifically proposed to detect the state of the shortest path indicated by the segment list (referred to as the target path in the embodiment of the present application). Specifically, they include:
- the network device forwards the first message, and determines whether a path corresponding to the segment list of the first message (i.e., the target path) is faulty according to whether a looped-back message of the first message is received;
- the network device determines whether the target path is faulty based on the path status information.
- the network device in the embodiment of the present application can be the head node (hereinafter referred to as the head node) in the SR policy (or SRv6 policy), such as the PE1 node in Figure 3; it can also be the intermediate node (hereinafter referred to as the intermediate node) in the SR policy (or SRv6 policy), such as the P1 node, P2 node, P3 node or P8 node in Figure 3, etc., which is not limited in the embodiment of the present application.
- the path in the embodiment of the present application can also be called a link, which is not limited in the embodiment of the present application.
- FIG. 4 is a schematic diagram of an embodiment of a method for path fault detection in an embodiment of the present application.
- a method for path fault detection proposed in an embodiment of the present application includes:
- a network device obtains a first message, where the first message includes a segment list, and the segment list includes a segment identifier of a first node and a segment identifier of a second node.
- the network device when the network device is a head node, the network device obtains the first message including: the network device generates the first message; when the network device is an intermediate node, the network device obtains the first message including: the network device receives the second message sent from the previous hop node, and then processes the second message to obtain the first message.
- the first message is a message for detecting the path status.
- the first message is a bidirectional forwarding detection BFD protocol message, or the first message is a seamless bidirectional forwarding detection SBFD protocol message.
- a detection message (or control message) in BFD and another example: a detection message (or control message) in SBFD.
- the first message includes a segment list, which includes a plurality of segment identifiers SID arranged in sequence, and the segment list is used to indicate the forwarding path of the first message, and the segment list includes a segment identifier of a first node and a segment identifier of a second node.
- the segment list indicates the path between the first node and the second node.
- a possible message structure of the first message is shown in Figure 2.
- the segment identifier identifying the target path indicates a loose path.
- the segment identifier identifying the target path in the segment list indicates that there may be multiple paths between the first node and the second node for forwarding the message.
- a loose path means that the segment identifier of the segment list does not strictly indicate all the nodes that the message needs to pass through.
- the segment identifiers included in the segment list are SID1 (P1 node), SID2 (P2 node) and SID3 (PE2 node).
- the message carrying the segment list can pass through PE1, P3, P1, P2, P8 nodes to reach the PE2 node, and can also pass through PE1, P3, P1, P2, P1, P3, PE1, P4, P5, P6, P7 nodes to reach the PE2 node.
- the segment identifiers (SID1, SID2 and SID3) included in the segment list indicate a loose path.
- the segment list included in the first message may also include segment identifiers of other nodes.
- the segment list included in the first message specifically includes: SID1 (P1 node), SID2 (P2 node) and SID3 (PE2 node).
- the network device forwards the first message according to the segment list (SID1, SID2 and SID3).
- the first message needs to pass through the P1 node, the P2 node and the PE2 node.
- A1 Design a maximum forwarding hop count of the first message. When the number of nodes passed by the first message reaches the maximum forwarding hop count of the first message, the network device discards the first message.
- the network device obtains the total number of hops of the target path, in other words, obtains the number of nodes passed in the target path. Then, based on the total number of hops of the target path, the network device designs the first message to be discarded after N hops of transmission, where N is a positive integer and N is greater than or equal to the total number of hops of the target path.
- N is a positive integer and N is greater than or equal to the total number of hops of the target path.
- the first message cannot reach the destination of the first message (i.e., the second node) through the detour path, and the second node cannot loop back the first message to the sending end (i.e., the head node) through the detour path.
- the network device After the network device sends the first message, if the looped back first message is not received, the network device determines that the state of the target path is faulty.
- the first message also includes a first identifier, which indicates that the first message is discarded after being transmitted N hops, where N is a positive integer, and the value of the first identifier decreases by one after each hop of the first message.
- the network device discards the first message.
- the first identifier is carried in a TTL field of an Internet Protocol version 4 IPv4 header of the first message.
- Figure 7 is a schematic diagram of the structure of an IPv4 header.
- the first identifier can be carried in the TTL field.
- the first identifier is carried in a hop limit field of an Internet Protocol version 6 IPv6 message header of the first message.
- FIG8 is a schematic diagram of the structure of an IPv6 message header.
- the first identifier can be carried in the Hop limit field.
- first identifier may also be located in other fields of the first message, and this embodiment of the present application does not limit this.
- the network device obtains the total number of hops of the target path, and then determines the value N of the first identifier according to the total number of hops of the target path, where N is greater than or equal to the total number of hops of the target path.
- the first message can be forwarded on a path with a smaller degree of detour to reach the destination node indicated by the segment list.
- the network device can tolerate a detour path with a smaller degree of detour to avoid frequent end-to-end path switching.
- the network device obtains the second message, which can be regarded as the first message without filling the value of the first identifier. Then, the network device determines the value of N according to the total number of hops of the target path. The network device fills the first identifier in the second message (that is, fills the value of N in the first identifier) to generate the first message.
- the network device may also perform committed access rate (CAR) control on the first message carrying the first identifier, and the CAR control of the first message indicates that the threshold value of the transmission rate of the first message per unit time is M, where M is a positive integer.
- CAR committed access rate
- the messages are classified and the data stream is controlled to be transmitted at a specific rate.
- the first message may be controlled by CAR to limit the transmission rate of the first message.
- the network device determines whether to discard the first message according to the outgoing interface of the first message and the incoming interface of the first message.
- the network device forwards the first message, it detects the outgoing interface and the incoming interface of the first message. Then, the network device determines whether to discard the first message according to whether the outgoing interface of the first message is consistent with the incoming interface of the first message.
- the network device discards the first message.
- Figure 9 is a schematic diagram of an application scenario in an embodiment of the present application. Take the network device as a P1 node as an example, and the path between the P1 node and the P2 node fails. After the P1 node receives a message from the P3 node, the P1 node detects whether the incoming interface and the outgoing interface of the message are consistent. Due to the path failure between the P1 node and the P2 node, the P1 node needs to forward the message from the P3 node. The incoming interface and the outgoing interface of the message at the P1 node are both interface A, so the P1 node discards the message.
- the network device forwards the first message according to the segment list included in the first message.
- Figure 10 is a schematic diagram of an application scenario in an embodiment of the present application.
- the P1 node receives a message from the P3 node
- the P1 node detects whether the incoming interface and the outgoing interface of the message are consistent. Since the path between the P1 node and the P2 node is normal, the P1 node forwards the message from the P2 node according to the instructions of the message segment list.
- the incoming interface of the message at the P1 node is interface A
- the outgoing interface of the message at the P1 node is interface B. Therefore, the P1 node forwards the message normally.
- the first message further includes a second identifier, and the second identifier instructs the network device to detect whether an input interface for receiving the first message and an output interface for sending the first message are consistent.
- the second identifier is carried in the Flags field of the segment routing extension header SRH of the first message.
- Figure 11 is a schematic diagram of the structure of the first message in an embodiment of the present application.
- a specific bit for example, the first bit
- the network device needs to detect whether the outgoing interface and the incoming interface of the first message are consistent, and determine whether to discard the first message based on the detection result; when the specific bit in the Flags field is 0, the network device forwards the first message according to the normal process, that is, there is no need to detect whether the outgoing interface and the incoming interface of the first message are consistent.
- the second identifier can also be located in other fields of the first message, and the embodiment of the present application does not limit this.
- A3. Design the segment list of the first message so that the first message is forwarded strictly along the path indicated by the segment list.
- the network device calculates the shortest path through multiple nodes of the path according to the shortest path tree (SPT). Then, the network device determines the segment identifier SID of each node passed by the shortest path. The network device generates a segment list of the first message, which includes the segment identifier of each node passed by the target path (i.e., the shortest path). In other words, the network device calculates the shortest path status of each node according to the loose path (loose path).
- SPT shortest path tree
- the strict path refers to the path of each node that the message passes through without strict restrictions
- the strict path is determined (the strict path refers to the path of each node that the message passes through strictly). Then the strict path (i.e., the forwarding information of each node passed by the target path) is filled into the segment list of the first message, and the segment list guides the forwarding of the first message.
- the network device generates a target path based on a link state database (LSDB) and/or a segment routing database (SRDB).
- LSDB link state database
- SRDB segment routing database
- the segment list of the first message includes forwarding information of each node along the target path, wherein the forwarding information includes a segment identifier (SID) of the node and an outbound interface of the node, or the forwarding information includes an outbound interface of the node, or the forwarding information includes a segment identifier of the node.
- SID segment identifier
- FIG. 13 is a schematic diagram of an application scenario in an embodiment of the present application.
- the PE1 node (as a network device) detects the state of the path P1 (SID1)-P2 (SID2)-PE2 (SID3), and the PE1 node generates the shortest path through P1, P2 and PE2, that is, the target path, based on the path P1 (SID1)-P2 (SID2)-PE2 (SID3).
- the PE1 node determines the forwarding information of each node in the target path, and the forwarding information can be End.
- SIDX abbreviated as SIDX
- End.X SID indicates the outgoing interface of the node, and the network device determines the outgoing interface for forwarding the message based on End.X SID.
- the PE1 node generates a segment list of the first message, and the segment list specifically includes: SIDX1 (indicating the outgoing interface of the PE1 node), SIDX2 (indicating the outgoing interface of the P3 node), SIDX3 (indicating the outgoing interface of the P1 node), SIDX4 (indicating the outgoing interface of the P2 node) and SIDX5 (indicating the outgoing interface of the P8 node).
- the segment list indicates that the message is forwarded along the path PE1-P3-P1-P2-P8-PE2 to reach the PE2 node.
- a third identifier is added to the first message, and the third identifier indicates that the first message does not perform fast reroute (FRR).
- the third identifier is carried in the identifier Flags field of the SRH of the first message.
- Figure 12 is a schematic diagram of the structure of the first message in an embodiment of the present application. It should be noted that the third identifier can also be located in other fields of the first message, and the embodiment of the present application does not limit this.
- the network device forwards the first message according to the segment list.
- A1. Design the maximum forwarding hop count of the first message.
- the network device discards the first message. Specifically, the network device determines whether to continue forwarding the first message according to the first identifier included in the first message. When the value N of the first identifier is equal to 0, that is, the first identifier indicates that the first message is discarded after 0 hops of transmission, the network device discards the first message. When the value of the first identifier is greater than 0, the network device forwards the first message normally according to the segment list.
- FIG. 6 is a schematic diagram of another communication scenario in an embodiment of the present application.
- Take the PE1 node sending the first message as an example.
- the segment list of the first message includes: SID1, SID2 and SID3, where SID1 corresponds to the P1 node, SID2 corresponds to the P2 node, and SID3 corresponds to the PE2 node.
- the PE1 node forwards the first message according to the segment list.
- the value of the first identifier in the first message ie, TTL
- the first identifier indicates that the first message is discarded after transmitting 5 hops.
- the first message arrives at the P1 node.
- the PE2 node cannot receive the first message from the PE1 node, therefore, the PE1 node cannot receive the looped-back first message (i.e., the looped-back first message from the PE2 node).
- the PE1 node determines through the first message that the target path (i.e., the shortest path corresponding to the segment lists SID1, SID2, and SID3) is a faulty path.
- the network device Before actually forwarding the first message, the network device detects whether the outgoing interface of the first message is consistent with the incoming interface of the first message. When the outgoing interface of the first message is consistent with the incoming interface of the first message, the network device discards the first message; when the outgoing interface of the first message is inconsistent with the incoming interface of the first message, the network device forwards the first message according to the segment list of the first message.
- the network device forwards the first message according to the segment list of the first message.
- the network device determines that the next hop of the network device in the segment list is unreachable, the network device discards the first message; when the network device determines that the next hop of the network device in the segment list is reachable, the network device forwards the first message according to the segment list.
- the network device detects a state of a target path according to the first message, where the target path is the shortest path between the first node and the second node.
- the network device detects the state of the target path according to the first message, and the target path is the state between the first node and the second node.
- Shortest path For example, the shortest path indicated by the segment list "(SID1, SID2, SID3)" in Figure 3 is "PE1-P3-P1-P2-P8-PE2".
- the target path is "PE1-P3-P1-P2-P8-PE2".
- the network device is a head node. After the network device forwards the first message according to the segment list of the first message, if the network device does not receive the looped-back first message, the network device determines that the state of the target path is a faulty path. When the network device receives the looped-back first message after forwarding the first message according to the segment list of the first message, the network device determines that the state of the target path is a normal path.
- the network device is an intermediate node. Before forwarding a message, the network device determines whether the forwarded message is the first message, that is, the network device determines whether the forwarded message is used to detect the state of the target path. If the forwarded message is the first message and the network device discards the first message, the network device notifies the head node that the state of the target path is abnormal.
- the network device can detect the shortest path indicated by the segment list according to the first message, so the network device can promptly find out whether there is a faulty path in the shortest path between the first node and the second node, thereby avoiding traffic forwarding through a detour path, increasing the available bandwidth of the network device, and improving the data throughput of the network.
- FIG5 is a schematic diagram of an embodiment of a method for detecting a path fault in an embodiment of the present application.
- a method for detecting a path fault proposed in an embodiment of the present application includes:
- a network device obtains a segment list, where the segment list includes a segment identifier of a first node and a segment identifier of a second node, and the segment list indicates a target path.
- the network device determines the target path according to the segment list. Specifically, the network device determines the first node and the second node (or other more nodes) according to the segment list. Then the network device calculates the shortest path between the first node and the second node according to the shortest path tree (SPT), that is, the target path.
- SPT shortest path tree
- the network device calculates a second path according to the segment list and the path status information, where the second path is the shortest path between the first node and the second node that does not include a faulty path, and the path status information indicates the faulty path.
- the network device obtains the path status information from the Link State Database (LSDB) and/or the Segment Routing Database (SRDB).
- the path status information indicates the status of each path in the current network, that is, the path status information indicates the faulty path.
- the network device calculates the actually reachable path between the first node and the second node based on the segment list and the path status information, and the path is also called the second path.
- the second path is the shortest path between the first node and the second node that does not include the faulty path.
- the network device detects a state of the target path according to the second path.
- the network device determines that the state of the target path is faulty; when the target path does not pass through repeated nodes, the network device determines that the state of the target path is normal.
- the head node performs the above steps 501-503.
- any one or more intermediate nodes on the target path may also perform path calculation as roots, that is, the intermediate nodes perform the above steps 501-503.
- the network device obtains path status information from the link state database LSDB and/or the segment routing database SRDB, and the network device detects the state of the shortest path indicated by the segment list according to the path status information. Therefore, the network device can promptly find out whether there is a faulty path in the shortest path between the first node and the second node. This avoids forwarding traffic through a detour path, improves the available bandwidth of the network device, and improves the data throughput of the network.
- the network device includes a hardware structure and/or software module corresponding to each function.
- the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.
- the embodiment of the present application can divide the functional modules of the network device according to the above method example.
- each functional module can be divided according to each function, or two or more functions can be integrated into one processing module.
- the above integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
- the following introduces a communication device in an embodiment of the present application.
- the communication device introduced below has any function of the network device in the above method embodiment.
- FIG14 is a schematic diagram of the structure of a communication device 1400 provided in an embodiment of the present application.
- the communication device 1400 includes: a transceiver module 1401, which is used to execute steps 401 and 402; a processing module 1402, which is used to execute step 403.
- the transceiver module 1401 is used to execute steps 502 and 503; and the processing module 1402 is used to execute step 501.
- the transceiver module 1401 is used for the network device to obtain a first message
- the first message includes a segment list, the segment list includes a plurality of segment identifiers SIDs arranged in sequence, the segment list identifies a forwarding path of the first message, and the segment list includes a segment identifier of a first node and a segment identifier of a second node;
- the transceiver module 1401 is further configured to forward the first message according to the segment list;
- the processing module 1402 is used to detect the state of the target path according to the first message, where the target path is the shortest path between the first node and the second node, and the segment identifier identifying the target path in the segment list indicates a loose path.
- the first message further includes a first identifier, and the first identifier indicates that the first message is discarded after being transmitted N hops, where N is a positive integer.
- the value of the first identifier decreases by one after each hop of transmission of the first message.
- the network device discards the first message.
- the transceiver module 1401 is further used to obtain the total number of hops of the target path;
- the processing module 1402 is further configured to determine a value N of the first identifier according to a total number of hops of the target path, where N is greater than or equal to the total number of hops of the target path.
- the transceiver module 1401 is further configured to obtain a second message, where the second message includes the segment list;
- the processing module 1402 is further configured to fill the first identifier in the second message to generate the first message.
- the processing module 1402 is further configured to perform committed access rate CAR control on the first message, where the CAR indicates that a threshold value of a transmission rate of the first message per unit time is M, where M is a positive integer.
- the first identifier is carried in a TTL field of an Internet Protocol version 4 IPv4 header of the first message, or the first identifier is carried in a Hop limit field of an Internet Protocol version 6 IPv6 header of the first message.
- the first message further includes a second identifier, and the second identifier instructs the network device to detect whether an input interface for receiving the first message and an output interface for sending the first message are consistent.
- the processing module 1402 is further configured to detect, according to the second identifier, whether an input interface for receiving the first message and an output interface for receiving the first message are consistent;
- the transceiver module 1401 is further configured to, when the network device detects that the input interface for receiving the first message is consistent with the output interface for sending the first message, discard the first message by the network device;
- the transceiver module 1401 is also used for the network device to forward the first message according to the segment list when the network device detects that the input interface for receiving the first message is inconsistent with the output interface for sending the first message.
- the second identifier is carried in an identifier Flags field of a segment routing extension header SRH of the first message.
- the processing module 1402 is further configured to, when the network device receives the first message from the second node, determine that the state of the target path is normal;
- the processing module 1402 is further configured to determine, by the network device, that the state of the target path is faulty when the network device does not receive the first message from the second node.
- the first message is a Bidirectional Forwarding Detection (BFD) protocol message, or the first message is a Seamless Bidirectional Forwarding Detection (SBFD) protocol message.
- BFD Bidirectional Forwarding Detection
- SBFD Seamless Bidirectional Forwarding Detection
- the transceiver module 1401 is used to obtain a segment list, the segment list includes a segment identifier of a first node and a segment identifier of a second node, the segment list indicates a target path, and the target path is a shortest path between the first node and the second node;
- a processing module 1402 is configured to calculate a second path according to the segment list and the path status information, where the second path is a shortest path between the first node and the second node that does not include a faulty path, and the path status information indicates the faulty path;
- the processing module 1402 is further configured to detect a state of the target path according to the second path.
- the processing module 1402 is further configured to determine that the state of the target path is a failure when the second path passes through a repeated node;
- the processing module 1402 is further configured to determine that the state of the target path is normal when the target path does not pass through repeated nodes.
- the transceiver module 1401 is also used to obtain the path status information from a link state database (LSDB) and/or a segment routing database (SRDB).
- LSDB link state database
- SRDB segment routing database
- the transceiver module 1401 is used to obtain a first message, where the first message includes a segment list, and the segment list includes a plurality of segment identifiers SIDs arranged in sequence;
- the segment list includes forwarding information of each node along a target path, the target path being the shortest path between the first node and the second node;
- the transceiver module 1401 is further configured to forward the first message according to the segment list;
- the processing module 1402 is configured to detect a state of the target path according to the first message.
- the transceiver module 1401 is further used to obtain a third message, the segment list of the third message includes a plurality of segment identifiers arranged in sequence, and the segment list of the third message is used to indicate a plurality of forwarding paths of the third message;
- the transceiver module 1401 is further configured to forward the third message according to the segment list of the third message.
- the forwarding information includes: a segment identifier of the node, and/or an adjacent segment identifier of the node.
- the processing module 1402 is further configured to discard the first message when the network device determines that the next hop of the network device in the segment list is unreachable;
- the processing module 1402 is further configured to forward the first message according to the segment list when the network device determines that the next hop of the network device in the segment list is reachable.
- the first message further includes: a third identifier, wherein the third identifier indicates that fast rerouting FRR is not performed during forwarding of the first message.
- the third identifier is carried in an identifier Flags field of a segment routing extension header SRH of the first message.
- the communication device 1400 can correspond to the network device in the above-mentioned method embodiment.
- the various units in the communication device 1400 and the above-mentioned other operations and/or functions are respectively for implementing the various steps and methods implemented by the network device in the method embodiment.
- the specific details can be found in the above-mentioned method embodiment. For the sake of brevity, they will not be repeated here.
- the communication device 1400 executes the above method embodiment, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the communication device 1400 is divided into different functional modules to complete all or part of the functions described above.
- the communication device 1400 provided in the above embodiment and the embodiment method corresponding to Figure 4 or 5 above belong to the same concept, and the specific implementation process is detailed in the above method embodiment, which will not be repeated here.
- the present application further provides a communication device.
- Figure 15 is a schematic diagram of the structure of a communication device 1500 provided in an embodiment of the present application.
- the communication device 1500 shown in Figure 15 shows certain specific features, those skilled in the art will realize from the embodiments of the present application that, for the sake of brevity, various other features are not shown in Figure 15 to avoid confusing more relevant aspects of the embodiments disclosed in the embodiments of the present application.
- the communication device 1500 includes one or more processing units (such as CPU) 1501, a network interface 1502, a programming interface 1503, a memory 1504 and one or more communication buses 1505 for interconnecting various components.
- the communication device 1500 can also omit or increase some functional components or units based on the above examples.
- the network interface 1502 is used to connect to one or more other communication devices/servers in the network system.
- the communication bus 1505 includes circuits for interconnecting and controlling communication between system components.
- the memory 1504 may include non-volatile memory, such as read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), or flash memory.
- the memory 1504 may also include volatile memory, which may be random access memory (RAM), which is used as an external cache.
- the memory 1504 or the non-transitory computer-readable storage medium of the memory 1504 stores the following programs, modules, and data structures, or a subset thereof, including, for example, a transceiver unit 15041 and a processing unit 15042 .
- the communication device 1500 may have any function of the network device in the method embodiment corresponding to FIG. 4 or 5 above.
- the network interface 1502 is used for the network device to obtain the first message.
- the first message includes a segment list, the segment list includes a plurality of segment identifiers SIDs arranged in sequence, the segment list identifies a forwarding path of the first message, and the segment list includes a segment identifier of a first node and a segment identifier of a second node;
- the network interface 1502 is further configured to forward the first message according to the segment list
- CPU 1501 is configured to detect a state of a target path according to the first message, where the target path is the shortest path between the first node and the second node, and a segment identifier in the segment list that identifies the target path indicates a loose path.
- the first message also includes a first identifier, which indicates that the first message is discarded after being transmitted N hops, where N is a positive integer, and the value of the first identifier is reduced by one after each hop of transmission of the first message.
- the network device discards the first message.
- the network interface 1502 is further used to obtain the total number of hops of the target path;
- the CPU 1501 is further configured to determine a value N of the first identifier according to a total number of hops of the target path, where N is greater than or equal to the total number of hops of the target path.
- the network interface 1502 is further used to obtain a second message, where the second message includes the segment list;
- the CPU 1501 is further configured to fill the first identifier in the second message to generate the first message.
- the CPU 1501 is further configured to perform committed access rate CAR control on the first message, where the CAR indicates that a threshold value of a transmission rate of the first message per unit time is M, where M is a positive integer.
- the first identifier is carried in a TTL field of an Internet Protocol version 4 IPv4 message header of the first message.
- the first identifier is carried in the hop limit field of the Internet Protocol version 6 IPv6 message header of the first message.
- the first message further includes a second identifier, and the second identifier instructs the network device to detect whether an input interface for receiving the first message and an output interface for sending the first message are consistent.
- the CPU 1501 is further configured to detect, according to the second identifier, whether an input interface for receiving the first message and an output interface for receiving the first message are consistent;
- the network interface 1502 is further configured to, when the network device detects that the input interface for receiving the first message is consistent with the output interface for sending the first message, cause the network device to discard the first message;
- the network interface 1502 is also used for the network device to forward the first message according to the segment list when the network device detects that the input interface for receiving the first message is inconsistent with the output interface for sending the first message.
- the second identifier is carried in an identifier Flags field of a segment routing extension header SRH of the first message.
- the CPU 1501 is further configured to, when the network device receives the first message from the second node, determine that the state of the target path is normal;
- the CPU 1501 is further configured to, when the network device does not receive the first message from the second node, determine that the state of the target path is faulty.
- the first message is a Bidirectional Forwarding Detection (BFD) protocol message, or the first message is a Seamless Bidirectional Forwarding Detection (SBFD) protocol message.
- BFD Bidirectional Forwarding Detection
- SBFD Seamless Bidirectional Forwarding Detection
- the network interface 1502 is used to obtain a segment list, the segment list including a segment identifier of a first node and a segment identifier of a second node, the segment list indicating a target path, the target path being a shortest path between the first node and the second node;
- CPU 1501 is configured to calculate a second path according to the segment list and the path status information, where the second path is a shortest path between the first node and the second node that does not include a faulty path, and the path status information indicates the faulty path;
- the CPU 1501 is further configured to detect a state of the target path according to the second path.
- the CPU 1501 is further configured to determine that the state of the target path is a fault when the second path passes through a repeated node;
- the CPU 1501 is further configured to determine that the state of the target path is normal when the target path does not pass through repeated nodes.
- the network interface 1502 is also used to obtain the path status information from a link state database (LSDB) and/or a segment routing database (SRDB).
- LSDB link state database
- SRDB segment routing database
- the network interface 1502 is used to obtain a first message, wherein the first message includes a segment list, and the segment list includes A plurality of segment identifiers SID arranged in order;
- the segment list includes forwarding information of each node along a target path, the target path being the shortest path between the first node and the second node;
- the network interface 1502 is further configured to forward the first message according to the segment list
- the CPU 1501 is configured to detect the state of the target path according to the first message.
- the network interface 1502 is further used to obtain a third message, wherein the segment list of the third message includes a plurality of segment identifiers arranged in sequence, and the segment list of the third message is used to indicate a plurality of forwarding paths of the third message;
- the network interface 1502 is further configured to forward the third message according to the segment list of the third message.
- the forwarding information includes: a segment identifier of the node, and/or an adjacent segment identifier of the node.
- CPU1501 is further configured to discard the first message when the network device determines that the next hop of the network device in the segment list is unreachable;
- CPU1501 is further configured to forward the first message according to the segment list when the network device determines that the next hop of the network device in the segment list is reachable.
- the first message further includes: a third identifier, wherein the third identifier indicates that fast rerouting FRR is not performed during forwarding of the first message.
- the third identifier is carried in an identifier Flags field of a segment routing extension header SRH of the first message.
- the communication device 1500 corresponds to the network device in the above-mentioned method embodiment, and the various modules in the communication device 1500 and the above-mentioned other operations and/or functions are respectively for implementing the various steps and methods implemented by the network device in the above-mentioned method embodiment.
- the various modules in the communication device 1500 and the above-mentioned other operations and/or functions are respectively for implementing the various steps and methods implemented by the network device in the above-mentioned method embodiment.
- they will not be repeated here.
- the data sending and receiving operations can be completed by the network interface 1502 on the communication device 1500, or the processor can call the program code in the memory and cooperate with the network interface 1502 to implement the functions of the sending and receiving unit when necessary.
- the communication device 1500 is used to execute the path failure detection method provided in the embodiments of the present application, for example, to execute the path failure detection method corresponding to the embodiment shown in FIG. 4 or 5 above.
- FIG. 16 The specific structure of the communication device described in FIG. 15 of the present application may be as shown in FIG. 16 .
- FIG. 16 is a schematic diagram of the structure of a communication device 1600 provided in an embodiment of the present application.
- the communication device 1600 includes: a main control board 1650 and an interface board 1630 .
- the main control board 1650 is also called a main processing unit (MPU) or a route processor.
- the main control board 1650 is used to control and manage various components in the communication device 1600, including routing calculation, device management, device maintenance, and protocol processing functions.
- the main control board 1650 includes: a central processing unit 1651 and a memory 1652.
- the interface board 1630 is also called a line processing unit (LPU), a line card or a service board.
- the interface board 1630 is used to provide various service interfaces and implement data packet forwarding.
- the service interfaces include but are not limited to Ethernet interfaces, POS (Packet over SONET/SDH) interfaces, etc.
- the interface board 1630 includes: a central processor 1631, a network processor 1632, a forwarding table entry memory 1634 and a physical interface card (PIC) 1633.
- PIC physical interface card
- the central processor 1631 on the interface board 1630 is used to control and manage the interface board 1630 and communicate with the central processor 1651 on the main control board 1650 .
- the network processor 1632 is used to implement message forwarding processing.
- the network processor 1632 may be in the form of a forwarding chip.
- the physical interface card 1633 is used to implement the physical layer docking function, whereby the original traffic enters the interface board 1630, and the processed message is sent from the physical interface card 1633.
- the physical interface card 1633 includes at least one physical interface, which is also called a physical port.
- the physical interface can be a Flexible Ethernet (FlexE) physical interface.
- the physical interface card 1633 is also called a daughter card, which can be installed on the interface board 1630 and is responsible for converting the photoelectric signal into a message and forwarding the message to the network processor 1632 for processing after checking the legitimacy of the message.
- the central processor 1631 of the interface board 1630 can also perform the functions of the network processor 1632, such as implementing software forwarding based on a general-purpose CPU, so that the network processor 1632 is not required in the interface board 1630.
- the communication device 1600 includes a plurality of interface boards.
- the communication device 1600 further includes an interface board 1640.
- the interface board 1640 includes It includes: a central processor 1641, a network processor 1642, a forwarding table memory 1644 and a physical interface card 1643.
- the communication device 1600 further includes a switching fabric board 1660.
- the switching fabric board 1660 may also be referred to as a switch fabric unit (SFU).
- SFU switch fabric unit
- the switching fabric board 1660 is used to complete data exchange between the interface boards.
- the interface board 1630 and the interface board 1640 may communicate via the switching fabric board 1660.
- the main control board 1650 is coupled to the interface board.
- the main control board 1650, the interface board 1630, the interface board 1640, and the switching network board 1660 are connected to each other through a system bus and/or a system backplane to achieve intercommunication.
- an inter-process communication (IPC) channel is established between the main control board 1650 and the interface board 1630, and the main control board 1650 and the interface board 1630 communicate through the IPC channel.
- IPC inter-process communication
- the communication device 1600 includes a control plane and a forwarding plane.
- the control plane includes a main control board 1650 and a central processing unit 1631.
- the forwarding plane includes various components for performing forwarding, such as a forwarding table entry memory 1634, a physical interface card 1633, and a network processor 1632.
- the control plane performs functions such as publishing routes, generating forwarding tables, processing signaling and protocol messages, and configuring and maintaining the status of the device.
- the control plane sends the generated forwarding table to the forwarding plane.
- the network processor 1632 forwards the message received by the physical interface card 1633 based on the forwarding table sent by the control plane.
- the forwarding table sent by the control plane can be stored in the forwarding table entry memory 1634. In some embodiments, the control plane and the forwarding plane can be completely separated and not on the same device.
- the transceiver unit in the communication device 1500 can be equivalent to the physical interface card 1633 or the physical interface card 1643 in the communication device 1600; the acquisition unit 15041 and the processing unit 15042 in the communication device 1500 can be equivalent to the central processing unit 1651 or the central processing unit 1631 in the communication device 1600, and can also be equivalent to the program code or instructions stored in the memory 1652.
- the operation on the interface board 1640 in the embodiment of the present application is consistent with the operation of the interface board 1630, and for the sake of brevity, it will not be repeated.
- the communication device 1600 of this embodiment can correspond to the network device in the above-mentioned various method embodiments, and the main control board 1650, the interface board 1630 and/or the interface board 1640 in the communication device 1600 can implement the functions and/or various steps implemented by the network device in the above-mentioned various method embodiments, and for the sake of brevity, it will not be repeated here.
- main control boards there may be one or more main control boards, and when there are multiple boards, they may include a main main control board and a standby main control board. There may be one or more interface boards. The stronger the data processing capability of the communication device, the more interface boards are provided. There may also be one or more physical interface cards on the interface board. There may be no switching network board, or there may be one or more switching network boards. When there are multiple switching network boards, load sharing and redundant backup can be achieved together. Under the centralized forwarding architecture, the communication device may not need a switching network board, and the interface board bears the processing function of the service data of the entire system.
- the communication device may have at least one switching network board, and the data exchange between multiple interface boards is realized through the switching network board, providing large-capacity data exchange and processing capabilities.
- the form of the communication device may also be only one board, that is, there is no switching network board, and the functions of the interface board and the main control board are integrated on the board.
- the central processor on the interface board and the central processor on the main control board can be merged into one central processor on the board to perform the functions of the two superimposed. Which architecture is adopted depends on the specific networking deployment scenario, and it is not limited here.
- the above network device can be implemented as a virtualized device.
- the virtualized device can be a virtual machine (VM), a virtual router or a virtual switch running a program for sending a message.
- the virtualized device is deployed on a hardware device (e.g., a physical server).
- a hardware device e.g., a physical server.
- the network device can be implemented based on a general physical server combined with network functions virtualization (NFV) technology.
- NFV network functions virtualization
- the embodiment of the present application also provides a computer-readable storage medium, including instructions, which, when executed on a computer, enables the computer to control a network device to execute any one of the implementation methods shown in the aforementioned method embodiments.
- the embodiments of the present application also provide a computer program product, which includes a computer program code.
- the computer program code runs on a computer, the computer executes any one of the implementation methods shown in the aforementioned method embodiments.
- an embodiment of the present application also provides a computer program product, which, when executed on a communication device, enables the communication device to execute the method executed by the network device in the method embodiment corresponding to FIG. 4 or 5 above.
- the embodiment of the present application further provides a chip system, including a processor and an interface circuit, wherein the interface circuit is used to receive instructions and transmit them to the processor.
- the processor is used to implement the method in any of the above method embodiments.
- the chip system further includes a memory
- the processor in the chip system may be one or more.
- the processor may be implemented by hardware or by software.
- the processor may be a logic circuit, an integrated circuit, etc.
- the processor may be a general-purpose processor that implements the method in any of the above method embodiments by reading software codes stored in a memory.
- the memory in the chip system may be one or more.
- the memory may be integrated with the processor or may be separately provided with the processor, which is not limited in the present application.
- the memory may be a non-transient processor, such as a read-only memory ROM, which may be integrated with the processor on the same chip or may be provided on different chips.
- the present application does not specifically limit the type of memory and the arrangement of the memory and the processor.
- FIG. 17 is a schematic diagram of a network system 1700 proposed in an embodiment of the present application.
- the network system 1700 includes: a network device 1701, a network device 1702, and a network device 1703.
- the network device 1701, the network device 1702, and the network device 1703 may be, for example, a physical device such as a router, a switch, or a gateway, or may be a virtual device that supports route publishing and message forwarding.
- This embodiment does not limit the specific types of the network device 1701, the network device 1702, and the network device 1703.
- the network device 1701 obtains a first message, and the segment list of the first message indicates that the forwarding path of the first message includes the network device 1701 and the network device 1703, that is, the segment list of the first message includes the segment identifier of the network device 1701 and the segment identifier of the network device 1703;
- the network device 1701 forwards the first message according to the segment list of the first message
- the network device 1701 detects the state of the target path according to the first message, and the target path is the shortest path between the network device 1701 and the network device 1703. Specifically, when the network device 1701 receives the first message looped back from the network device 1703, the network device 1701 determines that the state of the target path is normal; when the network device 1701 does not receive the first message looped back from the network device 1703, the network device 1701 determines that the state of the target path is faulty.
- the network device 1702 determines that the value of the first identifier in the first message is 0, and then the network device 1702 discards the first message.
- the network device 1702 After receiving the first message, the network device 1702 detects whether the input interface receiving the first message and the output interface sending the first message in the network device 1702 are consistent according to the indication of the second identifier in the first message. If they are inconsistent, the first message is forwarded; if they are consistent, the first message is discarded.
- the segment list of the first message includes the segment identifier of the network device 1701, the segment identifier of the network device 1702, and the segment identifier of the network device 1703.
- the network device 1702 determines that the next hop (i.e., the network device 1703) is unreachable, for example, the path between the network device 1702 and the network device 1703 is faulty, the network device 1702 discards the first message.
- the network device 1701 After the network device 1701 obtains the segment list, it detects the state of the target path.
- the network device 1702 can also perform path calculation as a root to detect the state of the target path.
- the network system 1700 further includes a control management device 1704, which may be a server for managing the network devices 1701, 1702, and 1703.
- the network device 1701 may be a communication device 1400, 1500, or 1600.
- the network device 1702 may be a communication device 1400, 1500, or 1600.
- the network device 1703 may be a communication device 1400, 1500, or 1600.
- the communication devices in the above-mentioned various product forms respectively have any functions of the network devices in the above-mentioned method embodiments, which will not be described in detail here.
- B corresponding to A means that B is associated with A, and B can be determined based on A.
- Determining B based on A does not mean determining B based only on A.
- B can also be determined based on A and/or other information.
- the disclosed systems, devices and methods can be implemented in other ways.
- the device embodiments described above are only schematic.
- the division of units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
- Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (26)
- 一种路径故障检测的方法,其特征在于,包括:网络设备获取第一报文,所述第一报文包括段列表,所述段列表包括依次排列的多个段标识SID,所述段列表标识所述第一报文的转发路径,所述段列表包括第一节点的段标识和第二节点的段标识;所述网络设备根据所述段列表转发所述第一报文;所述网络设备根据所述第一报文检测目标路径的状态,所述目标路径为所述第一节点与所述第二节点之间的最短路径,所述段列表中标识所述目标路径的段标识指示松散路径。
- 根据权利要求1所述的方法,其特征在于,所述第一报文还包括第一标识,所述第一标识指示所述第一报文传输N跳后丢弃,N为正整数,其中,所述第一标识的数值在所述第一报文每传输一跳后减一,当所述第一标识的数值为0时,所述网络设备丢弃所述第一报文。
- 根据权利要求2所述的方法,其特征在于,所述方法还包括:所述网络设备获取所述目标路径的总跳数;所述网络设备根据所述目标路径的总跳数,确定所述第一标识的数值N,N大于或等于所述目标路径的总跳数。
- 根据权利要求2或3所述的方法,其特征在于,所述网络设备获取所述第一报文,包括:所述网络设备获取第二报文,所述第二报文包括所述段列表;所述网络设备在所述第二报文中填充所述第一标识,生成所述第一报文。
- 根据权利要求2-4中任一项所述的方法,其特征在于,所述方法还包括:所述网络设备对所述第一报文进行承诺访问速率CAR控制,所述CAR指示所述第一报文单位时间内传输速率的阈值为M,M为正整数。
- 根据权利要求2-5中任一项所述的方法,其特征在于,所述第一标识承载于所述第一报文的互联网协议第4版IPv4报文头的生存时间TTL字段,或者,所述第一标识承载于所述第一报文的互联网协议第6版IPv6报文头的跳跃限制Hop limit字段。
- 根据权利要求1所述的方法,其特征在于,所述第一报文还包括第二标识,所述第二标识指示所述网络设备检测接收所述第一报文的入接口和发送所述第一报文的出接口是否一致。
- 根据权利要求7所述的方法,其特征在于,所述网络设备根据所述段列表转发所述第一报文,包括:所述网络设备根据所述第二标识检测接收所述第一报文的入接口和接收所述第一报文的出接口是否一致;当所述网络设备检测接收所述第一报文的入接口与发送所述第一报文的出接口一致时,所述网络设备丢弃所述第一报文。
- 根据权利要求7或8中任一项所述的方法,其特征在于,所述第二标识承载于所述第一报文的段路由扩展头SRH的标识Flags字段。
- 根据权利要求1-9中任一项所述的方法,其特征在于,所述网络设备根据所述第一报文,检测所述目标路径的状态,包括:当所述网络设备接收来自所述第二节点的所述第一报文时,所述网络设备确定所述目标路径的状态为正常;当所述网络设备未收到来自所述第二节点的所述第一报文时,所述网络设备确定所述目标路径的状态为故障。
- 根据权利要求1-10中任一项所述的方法,其特征在于,所述第一报文为双向转发检测BFD协议报文,或者,所述第一报文为无缝双向转发检测SBFD协议报文。
- 一种网络设备,其特征在于,包括:收发模块,用于网络设备获取第一报文,所述第一报文包括段列表,所述段列表包括依次排列的多个段标识SID,所述段列表标识所述第一报文的转发路径,所述段列表包括第一节点的段标识和第二节点的段标识;所述收发模块,还用于根据所述段列表转发所述第一报文;处理模块,用于根据所述第一报文,检测目标路径的状态,所述目标路径为所述第一节点与所述第二节点之间的最短路径,所述段列表中标识所述目标路径的段标识指示松散路径。
- 根据权利要求12所述的网络设备,其特征在于,所述第一报文还包括第一标识,所述第一标识指示所述第一报文传输N跳后丢弃,N为正整数,其中,所述第一标识的数值在所述第一报文每传输一跳后减一,当所述第一标识的数值为0时,所述网络设备丢弃所述第一报文。
- 根据权利要求13所述的网络设备,其特征在于,所述收发模块,还用于获取所述目标路径的总跳数;所述处理模块,还用于根据所述目标路径的总跳数,确定所述第一标识的数值N,N大于或等于所述目标路径的总跳数。
- 根据权利要求13或14所述的网络设备,其特征在于,所述收发模块,还用于获取第二报文,所述第二报文包括所述段列表;所述处理模块,还用于在所述第二报文中填充所述第一标识,生成所述第一报文。
- 根据权利要求13-15中任一项所述的网络设备,其特征在于,所述处理模块,还用于对所述第一报文进行承诺访问速率CAR控制,所述CAR指示所述第一报文单位时间内传输速率的阈值为M,M为正整数。
- 根据权利要求13-16中任一项所述的网络设备,其特征在于,所述第一标识承载于所述第一报文的互联网协议第4版IPv4报文头的生存时间TTL字段,或者,所述第一标识承载于所述第一报文的互联网协议第6版IPv6报文头的跳跃限制Hop limit字段。
- 根据权利要求13所述的网络设备,其特征在于,所述第一报文还包括第二标识,所述第二标识指示所述网络设备检测接收所述第一报文的入接口和发送所述第一报文的出接口是否一致。
- 根据权利要求18所述的网络设备,其特征在于,所述处理模块,还用于根据所述第二标识检测接收所述第一报文的入接口和接收所述第一报文的出接口是否一致;所述收发模块,还用于当所述网络设备检测接收所述第一报文的入接口与发送所述第一报文的出接口一致时,所述网络设备丢弃所述第一报文;所述收发模块,还用于所述网络设备检测接收第一报文的入接口与发送所述第一报文的出接口不一致时,所述网络设备根据所述段列表转发所述第一报文。
- 根据权利要求18或19中任一项所述的网络设备,其特征在于,所述第二标识承载于所述第一报文的段路由扩展头SRH的标识Flags字段。
- 根据权利要求12-20中任一项所述的网络设备,其特征在于,所述处理模块,还用于当所述网络设备接收来自所述第二节点的所述第一报文时,所述网络设备确定所述目标路径的状态为正常;所述处理模块,还用于当所述网络设备未收到来自所述第二节点的所述第一报文时,所述网络设备确定所述目标路径的状态为故障。
- 根据权利要求12-21中任一项所述的网络设备,其特征在于,所述第一报文为双向转发检测BFD协议报文,或者,所述第一报文为无缝双向转发检测SBFD协议报文。
- 一种通信装置,其特征在于,包括;通信接口;与所述通信接口连接的处理器,基于所述通信接口和所述处理器,使得所述通信装置执行如权利要求1-11任一项所述的方法。
- 一种通信系统,其特征在于,所述通信系统包括通信装置,所述通信装置用于执行权利要求1-11任一项所述的方法。
- 一种计算机可读存储介质,包括指令,其特征在于,当所述指令被处理器执行时,实现权利要求1-11任一项所述的方法。
- 一种计算机程序产品,包括程序,其特征在于,当所述程序被处理器执行时,实现权利要求1-11任一项所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP23870321.9A EP4580151A4 (en) | 2022-09-28 | 2023-09-13 | METHOD FOR DETECTING PATH FAULTS AND ASSOCIATED APPARATUS |
| US19/092,026 US20250254120A1 (en) | 2022-09-28 | 2025-03-27 | Path fault detection method and related apparatus |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211192245.X | 2022-09-28 | ||
| CN202211192245.XA CN117792978A (zh) | 2022-09-28 | 2022-09-28 | 一种路径故障检测的方法以及相关装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/092,026 Continuation US20250254120A1 (en) | 2022-09-28 | 2025-03-27 | Path fault detection method and related apparatus |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024067084A1 true WO2024067084A1 (zh) | 2024-04-04 |
Family
ID=90382193
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/118427 Ceased WO2024067084A1 (zh) | 2022-09-28 | 2023-09-13 | 一种路径故障检测的方法以及相关装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20250254120A1 (zh) |
| EP (1) | EP4580151A4 (zh) |
| CN (1) | CN117792978A (zh) |
| WO (1) | WO2024067084A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118827748A (zh) * | 2024-08-08 | 2024-10-22 | 中国移动通信集团设计院有限公司 | 一种sbfd会话创建方法、装置、设备、介质及产品 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10462045B1 (en) * | 2017-02-13 | 2019-10-29 | Cisco Technology, Inc. | Topology independent fast reroute for node and SRLG local protection |
| CN113904972A (zh) * | 2021-11-22 | 2022-01-07 | 迈普通信技术股份有限公司 | 路径检测方法、装置、控制器及pe设备 |
| US20220103462A1 (en) * | 2020-09-30 | 2022-03-31 | Juniper Networks, Inc. | Computing segment identifier lists for multipaths in a segment routing-enabled network |
| CN114338514A (zh) * | 2021-12-27 | 2022-04-12 | 中国电信股份有限公司 | 网络探测方法、装置、介质及电子设备 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10187353B2 (en) * | 2010-06-02 | 2019-01-22 | Symantec Corporation | Behavioral classification of network data flows |
-
2022
- 2022-09-28 CN CN202211192245.XA patent/CN117792978A/zh active Pending
-
2023
- 2023-09-13 EP EP23870321.9A patent/EP4580151A4/en active Pending
- 2023-09-13 WO PCT/CN2023/118427 patent/WO2024067084A1/zh not_active Ceased
-
2025
- 2025-03-27 US US19/092,026 patent/US20250254120A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10462045B1 (en) * | 2017-02-13 | 2019-10-29 | Cisco Technology, Inc. | Topology independent fast reroute for node and SRLG local protection |
| US20220103462A1 (en) * | 2020-09-30 | 2022-03-31 | Juniper Networks, Inc. | Computing segment identifier lists for multipaths in a segment routing-enabled network |
| CN113904972A (zh) * | 2021-11-22 | 2022-01-07 | 迈普通信技术股份有限公司 | 路径检测方法、装置、控制器及pe设备 |
| CN114338514A (zh) * | 2021-12-27 | 2022-04-12 | 中国电信股份有限公司 | 网络探测方法、装置、介质及电子设备 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4580151A4 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4580151A1 (en) | 2025-07-02 |
| CN117792978A (zh) | 2024-03-29 |
| US20250254120A1 (en) | 2025-08-07 |
| EP4580151A4 (en) | 2025-12-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12267230B2 (en) | Packet processing method and apparatus, network device, and storage medium | |
| CN113300949B (zh) | 转发报文的方法、发布路由信息的方法、装置及系统 | |
| JP7443537B2 (ja) | パケット処理方法、パケット処理装置、およびパケット処理システム | |
| CN113079089B (zh) | 业务链的故障保护方法、装置、设备、系统及存储介质 | |
| US8917729B1 (en) | Fast reroute for multiple label switched paths sharing a single interface | |
| US8576721B1 (en) | Local forwarding bias in a multi-chassis router | |
| EP3820089B1 (en) | Controller provided protection paths | |
| US11956148B2 (en) | Packet transmission method and device | |
| WO2022048418A1 (zh) | 一种转发报文的方法、设备和系统 | |
| US20230412508A1 (en) | Packet processing method and related apparatus | |
| US9832121B1 (en) | Next hop instruction associations for forwarding unit programming within a network device | |
| JP7674401B2 (ja) | パケット処理方法およびネットワークデバイス | |
| WO2023284774A1 (zh) | 一种报文处理方法以及相关装置 | |
| US12388745B2 (en) | Method and apparatus for performing protection switching in segment routing SR network | |
| WO2024093778A1 (zh) | 一种报文处理方法以及相关装置 | |
| US20250106148A1 (en) | Packet Control Method and Related Apparatus | |
| CN118869587A (zh) | 在较早的进一步快速重路由(frr)之后通过防止frr来避免循环 | |
| CN116938800A (zh) | 一种传输路径确定方法及装置 | |
| US20250254120A1 (en) | Path fault detection method and related apparatus | |
| WO2023213216A1 (zh) | 一种报文处理的方法及相关设备 | |
| WO2022222884A1 (zh) | 转发路径的故障感知方法、装置及系统 | |
| US20250097139A1 (en) | Packet sending method, network device, and system | |
| EP4625937A1 (en) | Message forwarding method and apparatus, and electronic device and storage medium | |
| WO2024104171A1 (zh) | 一种资源配置方法和装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23870321 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023870321 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2023870321 Country of ref document: EP Effective date: 20250328 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 2023870321 Country of ref document: EP |