WO2020001307A1 - Transmission path fault processing method, device and system - Google Patents

Transmission path fault processing method, device and system Download PDF

Info

Publication number
WO2020001307A1
WO2020001307A1 PCT/CN2019/091497 CN2019091497W WO2020001307A1 WO 2020001307 A1 WO2020001307 A1 WO 2020001307A1 CN 2019091497 W CN2019091497 W CN 2019091497W WO 2020001307 A1 WO2020001307 A1 WO 2020001307A1
Authority
WO
WIPO (PCT)
Prior art keywords
network device
label
node
path
network
Prior art date
Application number
PCT/CN2019/091497
Other languages
French (fr)
Chinese (zh)
Inventor
胡志波
姚俊达
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP23177800.2A priority Critical patent/EP4274182A3/en
Priority to JP2020573293A priority patent/JP7152533B2/en
Priority to EP19826317.0A priority patent/EP3800840B1/en
Priority to KR1020237002861A priority patent/KR102589958B1/en
Priority to KR1020217001786A priority patent/KR102493384B1/en
Publication of WO2020001307A1 publication Critical patent/WO2020001307A1/en
Priority to US17/137,015 priority patent/US11722401B2/en
Priority to JP2022156315A priority patent/JP2022186731A/en
Priority to US18/338,450 priority patent/US20230353490A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/507Label distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a method, a device, and a system for processing a transmission path fault.
  • Segment routing-traffic engineering is a new type of multi-protocol that uses interior gateway protocol (IGP) or border gateway protocol (BGP) protocol as control signaling.
  • Multiprotocol label switching (MPLS) TE tunneling technology The controller is responsible for calculating the forwarding path of the tunnel and delivering the label stack strictly corresponding to the path to the forwarder.
  • the repeater At the head node of the SR-TE tunnel, the repeater can control the transmission path of the message in the network according to the label stack.
  • the backup path is currently used to forward packets based on fast reroute (FRR) technology.
  • FRR fast reroute
  • the previous hop node B of node A in the main path senses the failure of node A
  • the previous hop node B according to the label information table (also known as the context table) generated for node A in advance.
  • the label information table also known as the context table
  • the master and backup forwarding tables switch the data packets to the backup path for sending.
  • the Context table contains the node (prefix) label information corresponding to all nodes in the entire network and the adjacent labels issued by node A.
  • the SR-TE FRR scheme is that Node B generates a Context table for each neighbor of the node A. Therefore, the specification of the Context table is the number of nodes in the entire network + the number of neighbors of the neighbor nodes. Each node needs to generate a context table of the size of the number of neighbors * (the number of nodes in the entire network + the number of neighbors of the neighbor nodes).
  • the content of the context table generated by these nodes may be incomplete or Generation failure, and the occurrence of a faulty node in the network may result in failure to switch to the correct backup path to forward data packets based on the context table.
  • the present application provides a method, a device, and a system for processing a transmission path fault, so as to solve the problem of failure in forwarding data packets caused by insufficient capacity of a Context table supported by a node in the prior art.
  • an embodiment of the present application provides a method for processing a transmission path failure, including: a first network device receives a first packet sent by a second network device, where the second network device is the first packet on a primary path; A previous-hop network device of a network device; when the first network device determines that the third network device is faulty, determining an initial value of a segment routing global block SRGB of the first network device and an SRGB of the third network device A difference between initial values, the third network device is a next-hop network device of the first network device on the main path; the first network device obtains a first label from the first packet, The first label is determined based on an initial SRGB value of a third network device and a node segment identifier of a fourth network device, and the fourth network device is a next hop of the third network device on the main path.
  • the first network device uses the sum of the first label and the difference value as an incoming label of a backup path from the first network device to the fourth network device, from the backup forwarding table Indeed Determine the outgoing label of the backup path from the first network device to the fourth network device; based on the outgoing label, the first network device sends to the next-hop network device of the first network device on the backup path The first message.
  • the SRGB difference value and the backup forwarding table are used to determine the backup path, so that the problem of failed data forwarding due to insufficient capacity of the Context table supported by the node can be overcome.
  • the first message includes a label stack list for guiding the first message to be forwarded on the main path; and determining an initial SRGB value of the first network device
  • the difference from the initial SRGB value of the third network device includes: the first network device obtains a second label from the top of the label stack list, and the second label is based on the third network device
  • the node segment identifier of the first network device is determined by the SRGB initial value of the first network device;
  • the first network device Determining, by the first network device in the backup forwarding table, a first forwarding behavior corresponding to the second label; the first forwarding behavior is used to instruct searching for a label information table; and the label information table includes the second The difference corresponding to the tag; the first network device obtains the difference from the tag information table.
  • the SRGB initial values of two adjacent nodes are stored in the tag information table in advance, so that when the difference between the SRGB initial value of the first network device and the SRGB initial value of the third network device is determined It can be obtained directly from the stored label information table, which saves processing resources.
  • the label information table only includes the difference and related information of the node segment identifier of the network device adjacent to the third network device. The table stores the node segment identifiers of all nodes in the entire network, saving storage resources, and can also overcome the problem of failure to forward data packets caused by the insufficient capacity of the Context table supported by the node.
  • the acquiring, by the first network device, a first label from the first packet includes: after the first network device pops a second label on top of the label stack list, Acquiring the first label from the top of the stack of the label stack list popping up the second label; the first network device sends the first label to the next hop network device of the first network device on the backup path based on the out label
  • the first message includes: the first network device exchanges the first label in the label stack list with the outgoing label, and sends the first label to the next-hop network of the first network device on the backup path. The device sends the updated first message.
  • the first network device after receiving the node segment identifier of the third network device flooded by the third network device in the network, the first network device sends the information to other network devices in the network.
  • the node segment identifier of the third network device flooded; wherein the first label is the node segment identifier of the third network device flooded by the second network device according to the first network device and the The initial SRGB value of the first network device is determined.
  • the node's fault information is flooded to the entire network, and all nodes in the entire network will delete the corresponding node of the faulty node.
  • Active-standby forwarding table In the case of a loose path, the main path and the backup path, from the first node to the tail node, need to pass through the loose path segment and need to bypass the failed node from the previous hop node of the failed node to reach the tail node. After the source node deletes the active and standby forwarding tables of the faulty node, it cannot forward data packets to the previous hop node of the faulty node, which will cause the forwarding of the packet to fail.
  • the node segment of the destination node is flooded throughout the network, thereby loosening the path segment.
  • the source node can determine the forwarding path and forward the data message according to the node segment identifier of the destination node.
  • the first network device may identify a node segment of the third network device to flood the entire network.
  • the method further includes: receiving, by the first network device, indication information sent by the third network device after the fault recovers, the indication information is used to indicate that the third network device is unable to Forward the message correctly;
  • the first network device When the first network device receives a second message sent by the second network device, the first network device sends the second message based on the determined outgoing label.
  • the previous hop node switches to the backup path to forward packets.
  • the failed node will re-flood its own node (prefix) label, adjacency label, and other information to other nodes in the network.
  • the previous hop node After the previous hop node receives the flooding information from the failover node, it switches the data packet back to the main path, that is, it retransmits the packet through the failover node.
  • the local database may be incomplete. For example, no other nodes have been learned, such as the node label and adjacency label of the next hop node of the failover node on the main path.
  • RT3 receives After the packet arrives, the packet cannot be forwarded to the next hop node, resulting in data packet loss. Based on this, through the above design, after the faulty node recovers, it sends priority to indicate its previous hop network device. The recovered faulty node cannot forward the message positively, so the previous hop network device still forwards it through the backup path. Data message.
  • an embodiment of the present application provides a method for processing a transmission path failure, including: the second network device determines that the third network device fails during the process of sending a message through the main path; the second The network device receives a node segment identifier of a third network device flooded within the network by the first network device; the third network device is an adjacent network device of the first network device; and the first network device is The next hop network device of the second network device on the main path, and the third network device is a next hop network device of the first network device on the main path; the second network device is based on The node segment identifier of the third network device flooded by the first network device, and sending the message to the first network device through a backup path; the first network device is the address on the backup path The next-hop network device of the second network device is described.
  • the node's fault information is flooded to the entire network, and all nodes in the entire network will delete the corresponding node of the faulty node.
  • Active-standby forwarding table In the case of a loose path, the main path and the backup path, from the first node to the tail node, need to pass through the loose path segment and need to bypass the failed node from the previous hop node of the failed node to reach the tail node. After the source node deletes the active and standby forwarding tables of the faulty node, it cannot forward data packets to the previous hop node of the faulty node, which will cause the forwarding of the packet to fail.
  • the node segment of the destination node is flooded throughout the network, thereby loosening the path segment.
  • the source node can determine the forwarding path and forward the data message according to the node segment identifier of the destination node.
  • an embodiment of the present application provides a device for processing a transmission path failure, and the device is applied to the first network device described in the first aspect, that is,
  • the device may be a first network device or a chip that can be applied to the first network device.
  • the device has the functions of implementing the embodiments of the first aspect described above. This function can be realized by hardware, and can also be implemented by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • an embodiment of the present application provides a device for processing a transmission path failure, where the device is applied to the network device described in the second aspect, that is, the device
  • the device may be a network device or a chip that can be applied to a network device.
  • the device has the functions of implementing the embodiments of the second aspect described above. This function can be realized by hardware, and can also be implemented by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • an embodiment of the present application provides a processing apparatus for processing a transmission path failure, including: a processor and a memory; the memory is used to store instructions; when the apparatus is running, the processor executes the instructions stored in the memory to The apparatus is caused to execute the method for processing a transmission path failure in the first aspect or any implementation method of the first aspect.
  • the memory may be integrated in the processor, or may be independent of the processor.
  • the device may also include a bus.
  • the processor is coupled to the memory through a bus.
  • the memory may include a readable memory and a random access memory.
  • the device When the device needs to be run, it is started by the bootloader booting system in the basic input-output system or embedded system that is solidified in the read-only memory, and the booting device enters the normal operating state. After the device enters a normal operating state, an application program and an operating system are run in the random access memory, so that the processor executes the first aspect or any possible implementation design method in the first aspect.
  • an embodiment of the present application provides a processing apparatus for processing a transmission path failure, including: a processor and a memory; the memory is configured to store instructions, and when the apparatus is running, the processor executes the instructions stored in the memory to The apparatus is caused to execute the method for processing a transmission path failure in the second aspect or any implementation method of the second aspect.
  • the memory may be integrated in the processor, or may be independent of the processor.
  • the device may also include a bus.
  • the processor is coupled to the memory through a bus.
  • the memory may include a readable memory and a random access memory.
  • the device When the device needs to be run, it is started by the bootloader booting system in the basic input-output system or embedded system that is solidified in the read-only memory, and the booting device enters the normal operating state. After the device enters a normal operating state, an application program and an operating system are run in the random access memory, so that the processor executes the second aspect or any possible implementation design method in the second aspect.
  • an embodiment of the present application further provides a system, including the device described in the third or fifth aspect, and the device described in the fourth or sixth aspect.
  • the system may further include other network devices that interact with the two types of network devices in the solution provided in the embodiments of the present application, such as other network devices on a transmission path.
  • an embodiment of the present application further provides a readable storage medium, where the readable storage medium stores a program or an instruction, and when the program or the instruction is run on a computer, processing of any transmission path failure in the foregoing aspects is handled. The method is executed.
  • an embodiment of the present application further provides a computer program product containing instructions that, when run on a computer, causes the computer to execute a method for processing any transmission path failure in each of the above aspects.
  • FIG. 1A is a schematic diagram of a network system architecture according to an embodiment of the present application.
  • FIG. 1B is a schematic diagram of another network system architecture according to an embodiment of the present application.
  • FIG. 2 is a flowchart of a method for processing a transmission path fault according to an embodiment of the present application
  • FIG. 3 is a schematic diagram of another network system architecture according to an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a transmission path fault processing method according to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a TLV format provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a Flags format provided by an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a device 700 according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a network device 800 according to an embodiment of the present application.
  • a node may also be referred to as a network device.
  • a network device is a device that provides a routing and forwarding function in a network.
  • the node may be a router, a switch, a repeater, or a label switching router (LSR). No restrictions. In the subsequent description process, a node is used as an example for description.
  • control plane uses the link-state-based IGP protocol or border gateway protocol (BGP) to distribute MPLS labels for nodes.
  • BGP border gateway protocol
  • the data plane performs MPLS packets based on the labels distributed by the control plane Forward.
  • SR-TE Segment Routing-Traffic Engineering
  • IGP interior gateway protocol
  • BGP border gateway protocol
  • the controller is responsible for calculating the forwarding path of the tunnel and delivering the label stack list strictly corresponding to the path to the forwarder.
  • the repeater can control the transmission path of the packet in the network according to the label stack list.
  • SRGB Segment global block
  • Segment which is identified by a segment label (Segment ID, SID).
  • SID Segment ID
  • the segment label in the embodiments of the present application may be referred to as a segment identifier. SIDs can be mapped to MPLS labels at the forwarding level.
  • prefix segments There are three types of segments, namely, prefix segments, adjacency segments, and node segments.
  • a prefix segment is used to identify a destination address prefix in the SR network.
  • Prefix segments can be diffused to other network elements through the IGP protocol. They are globally visible and globally effective.
  • Prefix Segments are marked by a prefix segment ID (Prefix Segment ID, Prefix SID).
  • the prefix segment label is simply referred to as a prefix label.
  • Prefix SID is the offset value in the SRGB range issued by the destination node. The receiving end will calculate the actual label based on its SRGB.
  • the adjacency segment is used to identify the routing link of two adjacent nodes in the network.
  • Adjacency Segments spread to other network elements through the IGP protocol. They are globally visible and locally valid.
  • Adjacency Segment uses Adjacency Segment ID (Adjacency, SID).
  • Adjacency, SID Adjacency, SID
  • the adjacent segment label is simply referred to as an adjacent label.
  • the adjacency label has certain directionality and is used to guide packet forwarding.
  • the adjacency label 9003 corresponds to the link PE1-> P3.
  • Adjacency SID is a local SID outside the SRGB range.
  • Node segment is a special Prefix segment, which is used to identify a specific node. Configure the IP address as the prefix on the local loopback interface of the node.
  • the PrefixSID of this node is actually the NodeSID.
  • the node segment label is simply referred to as a node label.
  • Prefix Segment represents the destination address
  • Adjacency Segment represents the outgoing link of the data packet, which can be similar to the destination IP address and outbound interface in traditional IP forwarding, respectively.
  • nodes use the extended IGP protocol to flood their NodeSID and AdjacencySID, so that any node can obtain information about other nodes.
  • any path in the network can be constructed.
  • a path in a network can consist of multiple routing segments.
  • the constructed path is represented by a list of tag stacks.
  • the label stack list includes the segment label (Segment ID) corresponding to each routing segment on the forwarding path.
  • the destination node uses its own node (prefix) SID of the IGP protocol, the forwarding node parses the node SID, and calculates the label value according to its own SRGB. After that, each node uses the topology information collected by the IGP protocol to calculate the label forwarding path according to the shortest path algorithm, and sends the calculated next hop and OuterLabel information to the forwarding table to guide the data packet forwarding.
  • prefix SID of the IGP protocol
  • the forwarding node parses the node SID, and calculates the label value according to its own SRGB.
  • each node uses the topology information collected by the IGP protocol to calculate the label forwarding path according to the shortest path algorithm, and sends the calculated next hop and OuterLabel information to the forwarding table to guide the data packet forwarding.
  • a plurality in the embodiments of the present application refers to two or more than two.
  • "And / or” describes the association relationship between related objects and indicates that there can be three types of relationships. For example, A and / or B can indicate that there are three cases in which A exists alone, A and B exist, and B exists alone.
  • the terms “first” and “second” are used only for the purpose of distinguishing descriptions, and cannot be understood as indicating or implying relative importance, nor as indicating Or imply order.
  • Node 1 or node 2 is also only used to distinguish the described nodes, and cannot be understood as indicating or implying the relative importance, nor can it be understood as indicating or implying the order.
  • the forwarding tables involved in the embodiments of the present application may generally include only the main forwarding table, or may include the main forwarding table and the backup forwarding table.
  • the master-backup forwarding table involved in the embodiments of the present application generally includes a master-forwarding table and a backup-forwarding table.
  • FIG. 1A the creation of a segment path of a prefix segment and the forwarding of data packets are described.
  • the path of the prefix segment to be established is RT1, RT2, RT3, RT4, and RT5.
  • RT1 is the first node of the prefix segment
  • RT5 is the destination node of the prefix segment.
  • Configure SRGB [5000-5999] on RT5
  • RT5 generate and forward the forwarding table based on SRGB and Prefix (node) SID.
  • RT5 then encapsulates SRGB and Prefix SID into control messages, and diffuses the control messages to the entire network through IGP.
  • other network devices in the network parse the Prefix SID issued by RT5, calculate the label value based on their SRGB, and calculate the label value (OuterLabel) based on the SRGB issued by the next hop node, and use IGP topology to calculate the label. Forward the path and then generate a forwarding table.
  • the RT1 node receives the data packet, adds the tag value 2005, and forwards it.
  • the RT2 node receives the data packet carrying the label, performs label exchange, pops the label 2005, and replaces it with the label 3005.
  • the RT3 node receives the label message, performs label exchange, ejects the label 3005, and replaces it with the label 4004.
  • the RT4 node ejects the label 4005 and replaces it with the label 5005.
  • the RT5 node pops up the label 5005 and continues to check the routing and forwarding.
  • the forwarder allocates adjacency labels based on the IGP protocol and reports the assigned adjacency labels to the controller, so that the controller generates a label stack list based on the adjacency labels.
  • Adjacent labels are flooded to the entire network through the IGP protocol.
  • Figure 1B taking the RT1 node as an example, the specific process of the IGP protocol to assign adjacent labels is as follows:
  • RT1 applies local dynamic labels for all its links through the IGP protocol (for example: RT1 assigns adjacency labels 1031 for links RT1-> RT2).
  • RT1 advertises adjacency labels through the IGP protocol and floods the entire network.
  • Other devices on the network learn the adjacency labels issued by RT1 through the IGP protocol. Specifically, other nodes allocate and publish adjacency labels in the manner of RT1, and flood them to other devices in the network.
  • the controller performs path calculation based on the SR-TE's tunnel constraint attributes.
  • the calculated path integrates adjacent labels of the entire path together based on the topology and adjacent labels to generate a label stack list.
  • the controller calculates the SR-TE tunnel path as RT1-> RT2-> RT3-> RT4-> RT5, and the corresponding tag stack list is ⁇ 1031,1032,1034,1035 ⁇ , and the controller passes The calculated label stack list is delivered to the repeater ingress node RT1.
  • the repeater obtains the SR-TE tunnel according to the label stack list issued by the controller.
  • a node stack may also be used to form a label stack list, that is, the label stack list is ⁇ 1002, 2003, 3004, 4005 ⁇ .
  • the forwarder performs label operations on the packets according to the label stack list corresponding to the SR-TE tunnel, and searches for the forwarding outbound interface hop by hop according to the label on the top of the stack to guide the data packets to the tunnel destination address.
  • the ingress node When a message enters the SR-TE tunnel, the ingress node inserts a list of label stacks in the message; when the message is forwarded in the SR-TE tunnel, it looks for the forwarding outbound interface according to the label at the top of the stack, and then the label at the top of the stack Peel off. For example, as shown in FIG. 1B, the ingress node PE1 adds a label stack list ⁇ 1031, 1032, 1034, 1035 ⁇ to the data packet, and then matches the link according to the label 1031 on the top of the stack, and finds the corresponding forwarding outbound interface as RT1-> RT2 link, then eject the label 1031.
  • the packet carries the label stack ⁇ 1032, 1034, 1035 ⁇ and is forwarded to the next hop node RT2 through the RT1-> RT2 link.
  • the intermediate node RT2 matches the link according to the label 1032 on the top of the stack, finds the corresponding forwarding outbound interface as RT2-> RT3 link, and then pops up the label 1032, and so on.
  • the node RT3 receives the message, , Continue to forward in the same way as the intermediate node RT3.
  • node RT4 pops up the last label 1035
  • the data packet is forwarded to node RT5.
  • the packet received by the egress node RT5 has no label and is forwarded by searching the routing table.
  • a node label across the nodes can be specified, and the controller sends the label stack to the head node of the repeater.
  • the repeater A hop pop-up label is found on the outbound interface to direct data packets to be forwarded to the tunnel destination address.
  • the paths of RT1-RT5 specify the nodes to be spanned: RT3 and RT4.
  • a loose path is formed between RT1-RT3, which can be forwarded through RT2 or RT6.
  • the list of label stacks used to forward messages on RT1 is ⁇ 2003,3004,4005 ⁇ .
  • node R2 is a faulty node.
  • the forwarding path identified by the label stack of SR-TE is: RT1-> RT2-> RT3-> RT4-> RT5.
  • the neighbor node RT1 of the node RT2 performs a pop-up (POP) action instead of the node RT2, and uses the next layer label as the destination address, and the path bypassing the failed node RT2 is used as a backup path for data packets. Forward.
  • the backup path is: RT1-> RT6-> RT3-> RT4-> RT5.
  • the list of label stacks for data packets sent by RT1 is ⁇ 1002,2003,3004,4005 ⁇ .
  • RT1 can check the label stack's top label 1002 to determine that the RT2 node is a faulty node, and then check the label stack's top label.
  • 1002 and the second label 2003 determine that the node that needs to be reached by the path behind the failed node is RT3.
  • RT1 calculates the path that bypasses the failed node RT2 to reach the node identified by the second label 2003 (ie, RT3) as the node protection path for the SR-TE FRR of the next hop node RT2.
  • the capacity of the label information table is limited.
  • the capacity can refer to the storage capacity.
  • each node calculates the backup forwarding table and label information table (Context table) in advance through IGP.
  • Context table Each node generates a context table for its neighbors, where the number of neighbor nodes of each node is equal to the number of context tables generated on each node.
  • the Context table includes the node (prefix) labels of all nodes in the entire network and all adjacency labels issued by neighboring nodes.
  • the node RT1 generates a context table for its neighbor node RT2.
  • the context table contains the node (prefix) label information corresponding to all nodes in the entire network and the adjacency labels issued by RT2.
  • the node (prefix) label information corresponding to each node in all nodes in the entire network is the sum of the node label of the node and the initial value of SRGB of the RT2 node.
  • the SR-TE FRR scheme is that the node generates a Context table for each neighbor of the node. Therefore, the specification of the Context table is the number of nodes in the entire network + the number of neighbors of the neighbor nodes, so each node It is necessary to generate a Context table with the number of neighbors * (the number of nodes in the entire network + the number of neighbors of the neighbor nodes).
  • the content of the Context table generated by these nodes will be incomplete.
  • a faulty node may result in failure to switch to the correct backup path to forward packets.
  • the previous hop node of the node in the main path detects the failure, and the previous hop node will The node's fault information is flooded to other nodes in the network.
  • an embodiment of the present application provides a method for processing a transmission path fault, as shown in FIG. 2.
  • the first node receives a first message sent by a second node.
  • the second node is a previous hop node of the first node on the main path.
  • the first node determines a difference between an initial value of a segment routing global block SRGB of the first node and an initial value of SRGB of the third node.
  • the third node is a next hop node of the first node on the main path.
  • the first node obtains a first label from the first packet, and the first label is determined based on an initial SRGB value of the third node and a node segment identifier of the fourth node.
  • the fourth node is a next hop node of the third node on the main path.
  • the first node uses the sum of the first label and the difference value as an incoming label of a backup path from the first node to the fourth node, and determines from the backup forwarding table that the The outgoing label of the backup path from the first node to the fourth node.
  • the first node sends the first packet to a next hop node of the first node on a backup path based on the out-label.
  • the SRGB difference value and the backup forwarding table are used to determine the backup path, so that the problem of failed data forwarding due to insufficient capacity of the Context table supported by the node can be overcome.
  • the first packet includes a label stack list for guiding the first packet to be forwarded on the main path; and determining an initial SRGB value of the first node
  • the difference from the initial SRGB value of the third node includes: the first node obtains a second label from the top of the label stack list, and the second label is based on the node segment of the third node
  • the identifier is determined by the initial SRGB value of the first node; the first node determines a first forwarding behavior corresponding to the second label in the backup forwarding table; and the first forwarding behavior is used to indicate search for label information
  • the tag information table includes the difference value corresponding to the second tag; the first node obtains the difference value from the tag information table.
  • the previous hop node of the failed node generates the context table for the failed node and the primary-backup forwarding table is switched from the primary path to the backup path.
  • the top-of-stack label searches the standby forwarding table, and determines that the forwarding behavior in the forwarding entry corresponding to the top-of-stack label in the standby forwarding table is to look up the Context table, and then determines the next hop node on the backup path that needs to forward the packet according to the Context table. That is, the existing backup forwarding table is only queried once to determine that the backup path is implemented by the Context table.
  • the Context table needs to be used when the SRGB difference value is sent to the forwarding plane node.
  • the backup forwarding table is queried again according to the node label of the next hop node of the failed node, so the Context table It is not necessary to include the node labels corresponding to all nodes, it is only necessary to include the label information corresponding to the neighboring nodes and their adjacent nodes, thereby avoiding the table Failed to forward packets due to insufficient item capacity and can save storage resources.
  • the first node after receiving the node segment identifier of the third node flooded by the third node in the network, the first node floods the network to other nodes in the network.
  • the node segment identifier of the third node; wherein the first label is the node segment identifier of the third node flooded by the second node according to the first node and the initial SRGB value of the first node definite.
  • the second node receives the node segment identifier of the third node flooded by the first node in the network; the third node is an adjacent node of the first node, and the first node floods the first node.
  • the priority of the node segment identifier of the three nodes is lower than the node segment identifier of the third node flooded by the third node; in the process of sending a message through the main path, the second node determines that the third node has occurred Failure; wherein the first node is a next hop node of the second node on the main path, and the third node is a next hop node of the first node on the main path;
  • the second node sends the message to the first node through a backup path based on a node segment identifier of the third node flooded by the first node; the first node is on the backup path A next hop node of the second node.
  • the first network device receives instruction information sent by the third network device after the fault recovers, where the instruction information is used to indicate that the third network device cannot forward a packet correctly;
  • the first network device receives a second message sent by the second network device, the first network device sends the second message based on the determined outgoing label.
  • a method for configuring a context table is proposed in the embodiment of the present application.
  • the node obtains the adjacency label issued by the neighbor node and the node label of the adjacent node through the IGP, and learns the SRGB of the neighbor node, it generates a Context table.
  • the Context table includes the adjacency labels issued by the neighbor nodes, the node label information of the neighbor nodes and its adjacent nodes, and the difference between the initial SRGB value of the node and the initial SRGB value of the neighbor node.
  • the node label information is the neighbor node's. The sum of the initial SRGB value and the node labels of the neighboring nodes and their adjacent nodes.
  • Table 1 shows part of the content of the entries generated for the neighbor node RT3 in the Context table.
  • the initial SRGB value of RT2 is 2000
  • the initial SRGB value of RT2's neighbor RT3 is 3000. Therefore, the difference between the initial SRGB value of RT2 and the initial SRGB value of RT3 is -1000.
  • the input tag is used as the key value field of the Context table lookup table.
  • SRGB difference the initial SRGB value of this node-the initial SRGB value of the neighbor node.
  • Adj, Sid indicates the adjacency label issued by the neighbor node.
  • the adjacency label issued by RT3 is the adjacency label 1034 of the link between RT3 and RT4, the adjacency label of the link between RT3 and RT7, and the link between RT3 and RT6 Adjacency label 1036.
  • the paths RT1-RT5 specify the nodes that need to be crossed: RT3 and RT4.
  • a loose path is formed between RT1-RT3, which can be forwarded through RT2 or RT6.
  • the determined main path is RT1-> RT2-> RT3-> RT4-> RT5.
  • the list of label stacks used to forward messages on RT1 is ⁇ 2003,3004,4005 ⁇ .
  • RT3 fails, the backup path is RT1-> RT2-> RT7-> RT4-> RT5.
  • RT2 will generate a master-slave forwarding table for the Sid of the entire network. Partial contents of the master-slave forwarding table are shown in Table 2.
  • Figure 2 shows only part of the contents of the two entries with 2003 and 2004 entry tags.
  • RT1 sends a data packet to RT2.
  • the label stack in the data packet is ⁇ 2003,3004,4005 ⁇ , and the main forwarding table is found according to the top label in the label stack.
  • lookup table 2 the top label of the stack is 2003, and 2003 is used as the inlabel to find the forwarding entry corresponding to the incoming label 2003.
  • the forwarding behavior indicated in the forwarding entry is forwarded to RT3, so that RT2 will top the stack.
  • the label exchange is 3003, that is, the label at the top of the stack is exchanged to the label value determined based on the SRGB initial value of the next hop node (the initial value of SRGB of RT3) and the node label of the destination node (the node label of RT3), and then forward the updated data.
  • the label stack in the data packet is ⁇ 3003,3004,4005 ⁇ , and it is determined that the top-of-stack label is at least the receiving node itself. Therefore, after the top-of-stack label is popped up, 3004 determines that the next hop node is RT4, exchanges the top label 3004 to 4004, and forwards the updated data packet to RT4.
  • the label stack of the data packet is ⁇ 3004,4005 ⁇ , determine that the top-of-stack label indicates that the receiving node is itself, so the top-of-stack label is popped up, and the next hop node is determined to be RT5 according to the top-of-stack label 4005. Therefore, the top-of-stack label is exchanged to 5005, and the updated data The packet is forwarded to RT5.
  • the label stack of the data packet is ⁇ 5005 ⁇ . It is determined that the top label of the stack indicates that the receiving node is itself. Therefore, the top label of the stack is popped up, and the forwarding table is searched to continue forwarding.
  • RT2 After receiving the data packet of RT1, RT2 determines that the next-hop node RT3 indicated by the top label of the data stack is faulty according to the top label 2003 of the label stack of the data packet. RT2 is to find the next node that bypasses RT3 to RT3. Forwarding path of one hop node RT4. Therefore, the backup forwarding table (Table 2) is searched, and the found forwarding behavior is popping the top label 2003, and searching the context table generated by RT2 for the neighbor RT3. According to the Context table in Table 1, the SRGB difference is -1000, and the top label 2003 is popped up. At this time, the label stack is ⁇ 3004,4005 ⁇ .
  • the outgoing label is 7004, so the RT2 node exchanges the top-of-stack label with the found outgoing label, that is, pops the top-of-stack label 3004 and exchanges it to 7004.
  • the label stack here is ⁇ 7004,4005 ⁇ .
  • the data packet is forwarded to RT7.
  • RT7 After RT7 receives the data packet, it determines that the next hop node is RT4 according to the top label 7004, so that the top label 7004 is exchanged to 4004, and the updated data packet is forwarded to RT4. Similarly, RT4 receives the data packet. After that, it is determined that the destination node indicated by the top label is itself, and the top label is popped up. The next hop node indicated by the top label 4005 of the updated label stack is RT5, and the top label 4005 is exchanged to 5005. And send the updated data message to RT5.
  • the previous hop node of the failed node generates the context table for the failed node and the primary-backup forwarding table is switched from the primary path to the backup path.
  • the top label of the stack searches the standby forwarding table, and determines that the forwarding behavior in the forwarding entry corresponding to the top label in the standby forwarding table is to look up the context table, and then determines the next hop of the packet to be forwarded on the backup path according to the context table.
  • the node that is, the existing backup forwarding table is only queried once, and the backup path is determined to be implemented by the Context table.
  • the Context table determines the node label of the next-hop node of the failed node, and when determining the next-hop node of the forwarding path of the backup path, the standby forwarding table is queried again based on the node label of the next-hop node of the failed node.
  • the table does not need to include the node labels corresponding to all the nodes. It only needs to include the label information of the neighboring nodes and their adjacent nodes, so as to avoid Forwarding packets fails due to insufficient table-free entry capacity and can save storage resources.
  • the node's fault information is flooded to the entire network, and all nodes on the entire network will delete the corresponding active and standby nodes of the faulty node.
  • Forwarding table In the case of a loose path, the main path and the backup path, from the first node to the tail node, need to pass through the loose path segment and need to bypass the failed node from the previous hop node of the failed node to reach the tail node. After the source node deletes the active and standby forwarding tables of the faulty node, it cannot forward data packets to the previous hop node of the faulty node, which will cause the forwarding of the packet to fail.
  • RT3 The nodes that the SR-TE path designated by RT1 passes through are RT3, RT4, and RT5.
  • RT2 senses the failure of RT3, and floods the fault of RT3 through IGP.
  • Information and trigger the SR-TE FRR switch, switch to the backup paths RT7, RT4, RT5, bypass the failure point RT3, when the RT3 failure information floods the nodes of the entire network, RT1 starts to converge, and will be deleted to the RT3 master and backup Forwarding table, so RT1 cannot forward data packets to RT2.
  • the embodiment of the present application provides a method for processing a transmission path failure.
  • the previous hop node of the failed node uses the IGP protocol to flood all nodes in the entire network with the prefix (node) label of the failed node.
  • the IGP protocol is used to flood the prefix (node) label of the faulty node to the entire network.
  • the priority of the prefix label of the faulty node flooded by the previous hop node may be set lower than the priority of its own prefix label flooded when the faulty node obtains its own prefix label before the failure occurs. .
  • Another method is: before the faulty node fails, flood its own prefix label when it obtains its own prefix label, and when the previous hop node of the faulty node receives the flooded prefix label before the faulty node fails, it
  • the prefix label of the faulty node is flooded throughout the network.
  • the priority of the prefix label of the faulty node flooded by the previous hop node may be set lower than the priority of its own prefix label flooded when the faulty node obtains its own prefix label before the failure occurs. .
  • the prefix label of the faulty node could be carried in Mapping TLV (Type-Length-Value).
  • TLV In the definition of TLV, there are three fields: Tag field, Length field, and Content field. The contents of Value contain tags. Mapping TLVs can also be called label binding TLVs (SID / Label Binding TLVs). Exemplarily, a Mapping TLV format shown in FIG. 5 is taken as an example. Among them, Type indicates the type of the TLV, Length indicates the length of the control message, Flags indicates the flag bit, and RESERVED indicates the reserved bit, which is not currently used.
  • the Range field provides the ability to specify a Prefix and SID segment associated with an address segment. Prefix length indicates the length of the prefix, prefix indicates the forwarding equivalence class at the tail node of the advertisement path, and SubTLV indicates the sub-TLV that issues the Prefix-SID.
  • the previous hop node may add an R field in Flags to indicate a re-issue flag, that is, the prefix label for the failed node is re-published by the previous hop node to the rest of the network. node.
  • Flags can be seen in Figure 6.
  • F represents the address family flag. If not set, it represents IPv4 prefix; if set, it represents IPv6 prefix.
  • M represents a mirrored environment flag. This flag is set if the advertised SID is associated with a mirroring environment, and S indicates whether the SID / LabelBinding TLV can be flooded within the entire routing domain. If set, it means flooding in the entire routing domain; if not set, the SID / Label Binding TLV must not penetrate between levels. D indicates that this flag must be set when the SID / Label Binding TLV penetrates from level-2 to level-1. Otherwise the flag must be cleared.
  • A represents an auxiliary mark.
  • Level is the concept of network layering in the Intermediate System-to-Intermediate System (IS-IS) routing protocol. The common area is called Level-1, and the backbone area is called Level-2.
  • RT2 determines that RT3 is faulty, it floods the node labels of RT3 to the entire network.
  • the priority of the node labels of RT3 flooded by RT3 can be lower than the node labels of RT3 flooded by RT3 Priority.
  • RT2 switches the backup path to forward packets
  • the way in which RT2 switches the backup path to forward packets can be in the form of an existing context table.
  • the manner of configuring the context table described above can also be used, which is not limited here.
  • For the specific sending process refer to the forwarding method described in the embodiment of the first question, which will not be repeated here.
  • the previous hop node switches to the backup path to forward packets.
  • the failed node will re-flood its own node (prefix) label, adjacency label, and other information to other nodes in the network.
  • the previous hop node After the previous hop node receives the flooding information from the failover node, it switches the data packet back to the main path, that is, it retransmits the packet through the failover node.
  • the local database may be incomplete. For example, no other nodes have been learned, such as the node label and adjacency label of the next hop node of the failover node on the main path. In this case, RT3 receives After the packet arrives, the packet cannot be forwarded to the next hop node, resulting in data packet loss.
  • the SR-TE paths designated by RT1 are RT3, RT4, and RT5.
  • RT3 fails, RT2 triggers the SR-TE FRR switch after detecting the failure of RT3, and switches to the backup paths RT7, RT4, RT5 Therefore, bypass the failed node RT3.
  • RT3 republishes the Node Sid to the entire network, and RT2 switches the data packet back to RT3.
  • RT3 has just restarted, its local database may not be complete. For example, the node Sids of RT4 and RT5 have not been learned, so that data packets cannot be forwarded to the next-hop node RT4 at RT3, and the packets are discarded.
  • an embodiment of the present application provides a method for processing a transmission path fault.
  • the recovered faulty node learns the prefix SIDs of other nodes, and then data packets are lost.
  • the faulty node After the faulty node recovers, it first publishes instructions on the entire network. The indication information is used to indicate that the recovered faulty node cannot forward the message correctly; therefore, when the previous hop node received the data message to be sent to the recovered faulty node, it still Forwards data packets from the backup path.
  • the indication information may be carried in the Overload bit.
  • Overload is specified in the IS-IS routing protocol. If a node cannot complete all the link state data (LSDB), that is, the local storage is used to store the topology information of all nodes in the entire network, it will use a bit in the header of the link state data packet issued by itself to identify its incompleteness. The LSDB cannot forward packets correctly. This one-bit identification bit is called the Overload (OL) bit.
  • OL Overload
  • RT3 After the faulty node RT3 recovers and restarts, in order to prevent RT2 from first detecting RT3 fault recovery, and at this time RT3 has not learned the prefixes Sid of RT4 and RT5, resulting in data The message was lost. RT3 adds the overload bit to the header of the link-state packet after the faulty restart is complete.
  • the node RT2 receives the overload bit in the link state data packet issued by RT3, and senses that its next hop node RT3 is in the overload state. Therefore, the node RT2 continues to follow the SR-TE / FRR forwarding path before the fault recovery.
  • the way in which RT2 uses the backup path to forward data packets can be in the form of the existing context table.
  • the above method of configuring the context table can also be used. This is not limited. For a specific sending process, refer to the forwarding manner in the embodiment corresponding to FIG. 4, and details are not described herein again.
  • RT2 can use the Context table to forward data packets along the SR-TE FRR path (backup path).
  • an overload duration may be configured, and the RT2 uses a backup path to forward data packets within the duration.
  • RT3 completes the LSDB, it can publish a link state packet again on the entire network, and the header no longer includes the overload bit. After receiving the link state packet that does not include the overload bit, RT2 then switches back to the RT3 to forward the data packet.
  • an embodiment of the present application further provides an apparatus.
  • the apparatus 700 is applied to a network device.
  • the apparatus 700 may include a receiving module 701, a processing module 702, and a sending module 703.
  • the apparatus 700 may specifically be a processor in a network device, or a chip or a chip system, or a functional module.
  • the processing module 702 is used to control and manage the actions of the device 700, the receiving module 701 is used to receive information or messages, the sending module 703 is used to send information or messages, and the processing module 702 is used to control the information received by the receiving module 701 Or the message is processed.
  • the processing module 702 may also be used to indicate a processing process involving a network device (such as the first node or RT2) and / or other processes of the technical solution described in this application in any of the foregoing embodiments.
  • the apparatus may further include a storage module (not shown in FIG. 7), and the storage module is configured to store the Context table and the master-slave forwarding table.
  • the apparatus 700 may be applied to a previous hop node of a faulty node, such as the first node in the embodiment corresponding to FIG. 2 or RT2 in the embodiments corresponding to FIG. 3 and FIG. 4.
  • the receiving module 701 is configured to receive a first message sent by a second node, where the second node is a previous hop node of the first node on a main path; processing Module 702, configured to determine, when the third node is faulty, determining a difference between an initial value of a segment routing global block SRGB of the first node and an initial value of SRGB of the third node, where the third node is the A next hop node of the first node on the main path; obtaining a first label from the first packet, the first label being determined based on an initial SRGB value of the third node and a node segment identifier of the fourth node
  • the fourth node is a next-hop node of the third node on the main path; and the sum of the first label and the difference value is taken by the first node to the The in-label of the backup path of the fourth node determines the out-label of the backup path from the first node
  • the first packet includes a label stack list for instructing the first packet to be forwarded on the main path;
  • the processing module 702 determines a difference between an initial SRGB value of the first node and an initial SRGB value of the third node, and is specifically configured to obtain a second label from a stack top of the label stack list.
  • the second label is determined based on the node segment identifier of the third node and the initial SRGB value of the first node; determining the first forwarding behavior corresponding to the second label in the backup forwarding table; the first The forwarding behavior is used to instruct to find a tag information table; the tag information table includes the difference value corresponding to the second tag; and the difference value is obtained from the tag information table.
  • the processing module 702 when the processing module 702 obtains a first label from the first packet, the processing module 702 is specifically configured to pop out the second label at the top of the label stack list, and then pop out from the popup. Acquiring the first label at the top of the label stack list of the second label; the processing module 702 is further configured to exchange the first label in the label stack list with the outgoing label; the sending module 703 is specifically configured to send the updated first packet to a next hop node of the first node on the backup path.
  • the sending module 703 is further configured to: before the receiving module 701 receives the first message sent by the second node, and before receiving the third node in the network After the node segment identifier of the third node flooded, the node segment identifier of the third node is flooded to other nodes in the network, and the node segment of the third node flooded by the first node The priority of the identifier is lower than the node segment identifier of the third node flooded by the third node;
  • the first label is determined by the second node according to a node segment identifier of the third node flooded by the first node and an initial SRGB value of the first node.
  • the receiving module is further configured to receive instruction information sent by the third network device after the fault recovers, where the instruction information is used to indicate that the third network device cannot forward the report correctly.
  • the sending module is further configured to send the second message based on the determined outgoing label when the receiving module receives the second message sent by the second network device.
  • the apparatus 700 may be applied to a source node of a loose path segment, such as a second node shown in FIG. 2 or RT1 in the embodiments corresponding to FIG. 3 and FIG. 4.
  • a source node of a loose path segment such as a second node shown in FIG. 2 or RT1 in the embodiments corresponding to FIG. 3 and FIG. 4.
  • the receiving module 701 is configured to receive a node segment identifier of a third network device flooded by the first network device in the network; the third network device is an adjacency of the first network device.
  • a network device, the node segment identifier of the third network device flooded by the first network device has a lower priority than the node segment identifier of the third network device flooded by the third network device; and the processing module 702 uses the In the process of sending a message through the main path, it is determined that the third network device fails; wherein the first network device is a next-hop network device of the second network device on the main path, so The third network device is a next hop network device of the first network device on the main path; and a sending module 703 is configured to be based on the node segment of the third network device flooded by the first network device. And sending the message to the first network device through a backup path; the first network device is a next-hop network device of the second network device on the backup
  • the embodiment of the present application further provides a structure of a network device.
  • the network device 800 may include a communication interface 810 and a processor 820.
  • the network device 800 may further include a memory 830.
  • the memory 830 may be provided inside the network device, and may also be provided outside the network device.
  • the processing module 702 shown in the foregoing FIG. 7 may be implemented by the processor 820.
  • the receiving module 701 and the sending module 703 may be implemented by the communication interface 810.
  • the processor 820 receives and sends packets or messages through the communication interface 810, and is configured to implement any method performed by the node (first node or RT2) described in FIG. 2 to FIG. 4.
  • each step of the processing flow may complete the method executed by the first node or RT2 described in FIG. 2 to FIG. 4 through an integrated logic circuit of hardware in the processor 820 or an instruction in the form of software.
  • the program code executed by the processor 820 to implement the foregoing method may be stored in the memory 830.
  • the memory 830 and the processor 820 are coupled.
  • the processor 820 may send and receive packets or messages through the communication interface 810, and is configured to implement any method performed by the node (second node or RT1) described in FIG. 2 to FIG. 4.
  • each step of the processing flow may complete the method executed by the second node or RT1 described in FIG. 2 to FIG. 4 through hardware integrated logic circuits or instructions in the form of software in the processor 820.
  • the program code executed by the processor 820 to implement the foregoing method may be stored in the memory 830.
  • the memory 830 and the processor 820 are coupled.
  • Any communication interface involved in the embodiments of the present application may be a circuit, a bus, a transceiver, or any other device that can be used for information interaction.
  • the communication interface 810 in the network device 800 may be a device connected to the network device 800.
  • the other device may be a previous hop node or a next hop node of the network device 800. .
  • the processors involved in the embodiments of the present application may be general-purpose processors, digital signal processors, application specific integrated circuits, field programmable gate arrays or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and may implement or The disclosed methods, steps and logic block diagrams in the embodiments of the present application are executed.
  • a general-purpose processor may be a microprocessor or any conventional processor.
  • the steps of the method disclosed in combination with the embodiments of the present application may be directly implemented by a hardware processor, or may be performed by a combination of hardware and software modules in the processor.
  • the coupling in the embodiments of the present application is an indirect coupling or communication connection between devices, modules, or modules, and may be electrical, mechanical, or other forms for information exchange between devices, modules, or modules.
  • the processor 820 may operate in cooperation with the memory 830.
  • the memory 830 may be a non-volatile memory, such as a hard disk (HDD) or a solid-state drive (SSD), etc., or a volatile memory, such as a random access memory (random -access memory, RAM).
  • the memory 830 is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.
  • the embodiments of the present application are not limited to the specific connection medium between the communication interface 810, the processor 820, and the memory 830.
  • the memory 830, the processor 820, and the communication interface 810 are connected by a bus in FIG. 8.
  • the bus is indicated by a thick line in FIG. 8.
  • the connection modes of other components are only schematically illustrated. It is not limited.
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used in FIG. 8, but it does not mean that there is only one bus or one type of bus.
  • an embodiment of the present application further provides a computer storage medium.
  • a software program is stored in the storage medium, and when read and executed by one or more processors, the software program can implement any one or more of the foregoing.
  • the computer storage medium may include various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory, a random access memory, a magnetic disk, or an optical disk.
  • an embodiment of the present application further provides a chip, and the chip includes a processor, which is configured to implement functions involved in any one or more of the foregoing embodiments, for example, to implement the first in FIG. 2 to FIG. 4.
  • the chip further includes a memory, and the memory is configured to execute necessary program instructions and data executed by the processor.
  • the chip may be composed of a chip, and may also include a chip and other discrete devices.
  • this application may be provided as a method, a system, or a computer program product. Therefore, this application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, this application may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to work in a specific manner such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction device, the instructions
  • the device implements the functions specified in one or more flowcharts and / or one or more blocks of the block diagram.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of steps can be performed on the computer or other programmable device to produce a computer-implemented process, which can be executed on the computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagrams.

Abstract

Disclosed by the present application is a transmission path fault processing method, device and system, which aims to solve the problem of data message forwarding failure caused by insufficient capacity of a Context table supported by a node in the prior art. According to the application, after a first network device receives a message, when the first network device determines that a third network device fails, a difference value between the segment routing global block (SRGB) initial value of the first network device and the SRGB initial value of the third network device is determined; a backup path is determined according to the difference value and a backup forwarding table; and the first network device sends, according to the backup, a first message.

Description

一种传输路径故障的处理方法、装置及***Method, device and system for processing transmission path failure
本申请要求了2018年6月30日提交的,申请号为CN 201810703248.2,发明名称为“一种传输路径故障的处理方法、装置及***”的中国申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese application filed on June 30, 2018, with application number CN201810703248.2, and the invention name is "A Method, Device and System for Handling Transmission Path Failures", the entire contents of which are incorporated herein by reference. In this application.
技术领域Technical field
本申请涉及通信技术领域,尤其涉及一种传输路径故障的处理方法、装置及***。The present application relates to the field of communication technologies, and in particular, to a method, a device, and a system for processing a transmission path fault.
背景技术Background technique
段路由流量工程(segment routing-traffic engineering,SR-TE)是使用内部网关协议(interior gateway protocol,IGP)或者边界网关协议(border gateway protocol,BGP)协议作为控制信令的一种新型的多协议标签交换(multiprotocol label switching,MPLS)TE隧道技术。控制器负责计算隧道的转发路径,并将与路径严格对应的标签栈下发给转发器。在SR-TE隧道的首端节点上,转发器根据标签栈,即可控制报文在网络中的传输路径。Segment routing-traffic engineering (SR-TE) is a new type of multi-protocol that uses interior gateway protocol (IGP) or border gateway protocol (BGP) protocol as control signaling. Multiprotocol label switching (MPLS) TE tunneling technology. The controller is responsible for calculating the forwarding path of the tunnel and delivering the label stack strictly corresponding to the path to the forwarder. At the head node of the SR-TE tunnel, the repeater can control the transmission path of the message in the network according to the label stack.
当主路径某一个节点发生故障时,目前基于快速重路由(fast reroute,FRR)技术使用备份路径来转发报文。When a node of the main path fails, the backup path is currently used to forward packets based on fast reroute (FRR) technology.
比如,主路径中节点A故障时,在主路径中节点A的上一跳节点B感知到节点A故障后,上一跳节点B根据预先为节点A生成的标签信息表(又称为Context表)以及主备转发表将数据报文切换到备份路径上发送。Context表中包含了全网所有节点对应的节点(前缀)标签信息以及节点A发布的邻接标签。For example, when node A in the main path fails, after the previous hop node B of node A in the main path senses the failure of node A, the previous hop node B according to the label information table (also known as the context table) generated for node A in advance. ) And the master and backup forwarding tables switch the data packets to the backup path for sending. The Context table contains the node (prefix) label information corresponding to all nodes in the entire network and the adjacent labels issued by node A.
由于Context表是预先生成的,SR-TE FRR的方案是节点B为该节点A的每个邻居都生成Context表,因此Context表的规格为全网的节点数+邻居节点的邻居数,所以每个节点需要生成邻居数*(全网节点数+邻居节点的邻居数)这样规模的Context表。Since the Context table is generated in advance, the SR-TE FRR scheme is that Node B generates a Context table for each neighbor of the node A. Therefore, the specification of the Context table is the number of nodes in the entire network + the number of neighbors of the neighbor nodes. Each node needs to generate a context table of the size of the number of neighbors * (the number of nodes in the entire network + the number of neighbors of the neighbor nodes).
当网络包括节点数较多,且有些节点所支持的Context表的容量达不到邻居数*(全网节点数+邻居节点的邻居数)时,会导致这些节点生成的Context表中内容不全或者生成失败,在网络中出现故障节点的情况,可能会导致无法根据Context表切换到正确的备份路径来转发数据报文。When the network includes a large number of nodes, and the capacity of the context table supported by some nodes cannot reach the number of neighbors * (the number of nodes in the entire network + the number of neighbors of the neighbor nodes), the content of the context table generated by these nodes may be incomplete or Generation failure, and the occurrence of a faulty node in the network may result in failure to switch to the correct backup path to forward data packets based on the context table.
发明内容Summary of the invention
本申请提供一种传输路径故障的处理方法、装置及***,用以解决现有技术中存在的节点所支持Context表的容量不足导致的转发数据报文失败的问题。The present application provides a method, a device, and a system for processing a transmission path fault, so as to solve the problem of failure in forwarding data packets caused by insufficient capacity of a Context table supported by a node in the prior art.
第一方面,本申请实施例提供了一种传输路径故障的处理方法,包括:第一网络设备接收第二网络设备发送的第一报文,所述第二网络设备为主路径上所述第一网络设备的上一跳网络设备;所述第一网络设备确定所述第三网络设备故障时,确定所述第一网络设备的段路由全局块SRGB初始值与所述第三网络设备的SRGB初始值的差值,所述第三网络设备为所述主路径上所述第一网络设备的下一跳网络设备;所述第一网络设备从所述第一报文中获取第一标签,所述第一标签是基于第三网络设备的SRGB初始值以及第四网络设备的节 点段标识确定的,所述第四网络设备为在所述主路径上所述第三网络设备的下一跳网络设备;所述第一网络设备将所述第一标签以及所述差值的和值作为由所述第一网络设备到所述第四网络设备的备份路径的入标签,从备份转发表中确定由所述第一网络设备到所述第四网络设备的备份路径的出标签;所述第一网络设备基于所述出标签向备份路径上所述第一网络设备的下一跳网络设备发送所述第一报文。In a first aspect, an embodiment of the present application provides a method for processing a transmission path failure, including: a first network device receives a first packet sent by a second network device, where the second network device is the first packet on a primary path; A previous-hop network device of a network device; when the first network device determines that the third network device is faulty, determining an initial value of a segment routing global block SRGB of the first network device and an SRGB of the third network device A difference between initial values, the third network device is a next-hop network device of the first network device on the main path; the first network device obtains a first label from the first packet, The first label is determined based on an initial SRGB value of a third network device and a node segment identifier of a fourth network device, and the fourth network device is a next hop of the third network device on the main path. Network device; the first network device uses the sum of the first label and the difference value as an incoming label of a backup path from the first network device to the fourth network device, from the backup forwarding table Indeed Determine the outgoing label of the backup path from the first network device to the fourth network device; based on the outgoing label, the first network device sends to the next-hop network device of the first network device on the backup path The first message.
通过上述方案,采用SRGB差值以及备份转发表来确定备份路径,从而能够克服节点所支持Context表的容量不足而导致的转发数据报文失败的问题。Through the above scheme, the SRGB difference value and the backup forwarding table are used to determine the backup path, so that the problem of failed data forwarding due to insufficient capacity of the Context table supported by the node can be overcome.
在一种可能的设计中,所述第一报文中包括用于指导所述第一报文在所述主路径上转发的标签栈列表;所述确定所述第一网络设备的SRGB初始值与所述第三网络设备的SRGB初始值的差值,包括:所述第一网络设备从所述标签栈列表的栈顶获取第二标签,所述第二标签是基于所述第三网络设备的节点段标识与所述第一网络设备的SRGB初始值确定的;In a possible design, the first message includes a label stack list for guiding the first message to be forwarded on the main path; and determining an initial SRGB value of the first network device The difference from the initial SRGB value of the third network device includes: the first network device obtains a second label from the top of the label stack list, and the second label is based on the third network device The node segment identifier of the first network device is determined by the SRGB initial value of the first network device;
所述第一网络设备在所述备份转发表确定所述第二标签对应的第一转发行为;所述第一转发行为用于指示查找标签信息表;所述标签信息表中包括所述第二标签对应的所述差值;所述第一网络设备从所述标签信息表中获取所述差值。Determining, by the first network device in the backup forwarding table, a first forwarding behavior corresponding to the second label; the first forwarding behavior is used to instruct searching for a label information table; and the label information table includes the second The difference corresponding to the tag; the first network device obtains the difference from the tag information table.
通过上述设计,提前将相邻两个节点的SRGB初始值存储在标签信息表中,从而在确定所述第一网络设备的SRGB初始值与所述第三网络设备的SRGB初始值的差值时,直接从存储的标签信息表中获取即可,节省处理资源,另外标签信息表中仅包括差值,以及第三网络设备邻接的网络设备的节点段标识相关信息即可,不再需要在Context表存储全网中所有节点的节点段标识,节省存储资源,也能够克服节点所支持Context表的容量不足而导致的转发数据报文失败的问题。With the above design, the SRGB initial values of two adjacent nodes are stored in the tag information table in advance, so that when the difference between the SRGB initial value of the first network device and the SRGB initial value of the third network device is determined It can be obtained directly from the stored label information table, which saves processing resources. In addition, the label information table only includes the difference and related information of the node segment identifier of the network device adjacent to the third network device. The table stores the node segment identifiers of all nodes in the entire network, saving storage resources, and can also overcome the problem of failure to forward data packets caused by the insufficient capacity of the Context table supported by the node.
在一种可能的设计中,所述第一网络设备从所述第一报文中获取第一标签,包括:所述第一网络设备将所述标签栈列表栈顶的第二标签弹出后,从弹出所述第二标签的标签栈列表的栈顶获取所述第一标签;所述第一网络设备基于所述出标签向备份路径上所述第一网络设备的下一跳网络设备发送所述第一报文,包括:所述第一网络设备将所述标签栈列表中的第一标签交换为所述出标签,并向所述备份路径上所述第一网络设备的下一跳网络设备发送更新后的所述第一报文。In a possible design, the acquiring, by the first network device, a first label from the first packet includes: after the first network device pops a second label on top of the label stack list, Acquiring the first label from the top of the stack of the label stack list popping up the second label; the first network device sends the first label to the next hop network device of the first network device on the backup path based on the out label The first message includes: the first network device exchanges the first label in the label stack list with the outgoing label, and sends the first label to the next-hop network of the first network device on the backup path. The device sends the updated first message.
在一种可能的设计中,所述第一网络设备在接收到所述第三网络设备在网络内泛洪的所述第三网络设备的节点段标识之后,向所述网络内的其它网络设备泛洪所述第三网络设备的节点段标识;其中,所述第一标签是所述第二网络设备根据所述第一网络设备泛洪的所述第三网络设备的节点段标识和所述第一网络设备的SRGB初始值确定的。In a possible design, after receiving the node segment identifier of the third network device flooded by the third network device in the network, the first network device sends the information to other network devices in the network. The node segment identifier of the third network device flooded; wherein the first label is the node segment identifier of the third network device flooded by the second network device according to the first network device and the The initial SRGB value of the first network device is determined.
由于,在转发路径中存在松散路径的情况下,当松散路径段的目的节点发生故障时,该节点的故障信息泛洪到整个网络后,全网所有的节点都会删除到该故障节点的对应的主备转发表。在松散路径的情况下,主路径和备份路径中,从首节点到尾节点,都需要通过松散路径段且需要从故障节点的上一跳节点绕过故障节点到达尾节点,由于该路径段的源节点在删除到故障节点的主备转发表后,无法将数据报文转发到故障节点的上一跳节点,会导致转发报文失败。因此,通过上述设计,在松散路径段的目的节点的上一跳节点收到松散路径段的目的节点的节点段标识后,将该目的节点的节点段标识在全网泛洪,从而松散路径段的源节点能够根据目的节点的节点段标识来确定转发路径,转发数据报文。Because in the case of a loose path in the forwarding path, when the destination node of the loose path segment fails, the node's fault information is flooded to the entire network, and all nodes in the entire network will delete the corresponding node of the faulty node. Active-standby forwarding table. In the case of a loose path, the main path and the backup path, from the first node to the tail node, need to pass through the loose path segment and need to bypass the failed node from the previous hop node of the failed node to reach the tail node. After the source node deletes the active and standby forwarding tables of the faulty node, it cannot forward data packets to the previous hop node of the faulty node, which will cause the forwarding of the packet to fail. Therefore, through the above design, after the previous hop node of the destination node of the loose path segment receives the node segment identification of the destination node of the loose path segment, the node segment of the destination node is flooded throughout the network, thereby loosening the path segment. The source node can determine the forwarding path and forward the data message according to the node segment identifier of the destination node.
在一种可能的设计中,第一网络设备可以在确定第三网络设备发生故障时,将第三网络 设备的节点段标识在全网泛洪。In a possible design, when determining that the third network device is faulty, the first network device may identify a node segment of the third network device to flood the entire network.
在一种可能的设计中,所述方法还包括:所述第一网络设备接收所述第三网络设备在故障恢复后发送的指示信息,所述指示信息用于指示所述第三网络设备无法正确转发报文;In a possible design, the method further includes: receiving, by the first network device, indication information sent by the third network device after the fault recovers, the indication information is used to indicate that the third network device is unable to Forward the message correctly;
所述第一网络设备在接收到所述第二网络设备发送的第二报文时,基于所述确定的出标签发送所述第二报文。When the first network device receives a second message sent by the second network device, the first network device sends the second message based on the determined outgoing label.
在主路径上的转发节点发生故障时,上一跳节点切换到备份路径上转发报文。当故障节点恢复后重启完成时,故障恢复节点会重现将自身的节点(前缀)标签、邻接标签等信息重新泛洪给网络中的其它节点。上一跳节点接收到故障恢复节点泛洪的信息后,将数据报文重新切回到主路径,即重新通过故障恢复节点传输报文。但是由于故障恢复节点刚刚重启,本地数据库可能不完整,比如还没有学习到其它节点,比如主路径该故障恢复节点的下一跳节点的节点标签、邻接标签等信息,在该情况下,RT3接收到报文后,无法转发报文到下一跳节点,导致数据报文丢失。基于此,通过上述设计,故障节点恢复后优先发送指示信息来指示其上一跳网络设备,该恢复后的故障节点还无法正确定转发报文,从而上一跳网络设备依然通过备份路径来转发数据报文。When the forwarding node on the primary path fails, the previous hop node switches to the backup path to forward packets. When the restart of the failed node is completed, the failed node will re-flood its own node (prefix) label, adjacency label, and other information to other nodes in the network. After the previous hop node receives the flooding information from the failover node, it switches the data packet back to the main path, that is, it retransmits the packet through the failover node. However, because the failover node has just restarted, the local database may be incomplete. For example, no other nodes have been learned, such as the node label and adjacency label of the next hop node of the failover node on the main path. In this case, RT3 receives After the packet arrives, the packet cannot be forwarded to the next hop node, resulting in data packet loss. Based on this, through the above design, after the faulty node recovers, it sends priority to indicate its previous hop network device. The recovered faulty node cannot forward the message positively, so the previous hop network device still forwards it through the backup path. Data message.
第二方面,本申请实施例提供了一种传输路径故障的处理方法,包括:所述第二网络设备在通过主路径发送报文的过程中,确定所述第三网络设备发生故障;第二网络设备接收第一网络设备在网络内泛洪的第三网络设备的节点段标识;所述第三网络设备为所述第一网络设备的邻接网络设备;其中,所述第一网络设备为所述主路径上所述第二网络设备的下一跳网络设备,所述第三网络设备为在所述主路径上所述第一网络设备的下一跳网络设备;所述第二网络设备基于所述第一网络设备泛洪的所述第三网络设备的节点段标识,将所述报文通过备份路径发送给所述第一网络设备;所述第一网络设备为所述备份路径上所述第二网络设备的下一跳网络设备。In a second aspect, an embodiment of the present application provides a method for processing a transmission path failure, including: the second network device determines that the third network device fails during the process of sending a message through the main path; the second The network device receives a node segment identifier of a third network device flooded within the network by the first network device; the third network device is an adjacent network device of the first network device; and the first network device is The next hop network device of the second network device on the main path, and the third network device is a next hop network device of the first network device on the main path; the second network device is based on The node segment identifier of the third network device flooded by the first network device, and sending the message to the first network device through a backup path; the first network device is the address on the backup path The next-hop network device of the second network device is described.
由于,在转发路径中存在松散路径的情况下,当松散路径段的目的节点发生故障时,该节点的故障信息泛洪到整个网络后,全网所有的节点都会删除到该故障节点的对应的主备转发表。在松散路径的情况下,主路径和备份路径中,从首节点到尾节点,都需要通过松散路径段且需要从故障节点的上一跳节点绕过故障节点到达尾节点,由于该路径段的源节点在删除到故障节点的主备转发表后,无法将数据报文转发到故障节点的上一跳节点,会导致转发报文失败。因此,通过上述设计,在松散路径段的目的节点的上一跳节点收到松散路径段的目的节点的节点段标识后,将该目的节点的节点段标识在全网泛洪,从而松散路径段的源节点能够根据目的节点的节点段标识来确定转发路径,转发数据报文。Because in the case of a loose path in the forwarding path, when the destination node of the loose path segment fails, the node's fault information is flooded to the entire network, and all nodes in the entire network will delete the corresponding node of the faulty node. Active-standby forwarding table. In the case of a loose path, the main path and the backup path, from the first node to the tail node, need to pass through the loose path segment and need to bypass the failed node from the previous hop node of the failed node to reach the tail node. After the source node deletes the active and standby forwarding tables of the faulty node, it cannot forward data packets to the previous hop node of the faulty node, which will cause the forwarding of the packet to fail. Therefore, through the above design, after the previous hop node of the destination node of the loose path segment receives the node segment identification of the destination node of the loose path segment, the node segment of the destination node is flooded throughout the network, thereby loosening the path segment. The source node can determine the forwarding path and forward the data message according to the node segment identifier of the destination node.
第三方面,基于与第一方面的方法实施例同样的发明构思,本申请实施例提供了一种传输路径故障的处理装置,所述装置应用于第一方面所述的第一网络设备,即该装置可以是第一网络设备,也可以是能够应用于第一网络设备的芯片。该装置具有实现上述第一方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。In a third aspect, based on the same inventive concept as the method embodiment of the first aspect, an embodiment of the present application provides a device for processing a transmission path failure, and the device is applied to the first network device described in the first aspect, that is, The device may be a first network device or a chip that can be applied to the first network device. The device has the functions of implementing the embodiments of the first aspect described above. This function can be realized by hardware, and can also be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions.
第四方面,基于与第二方面提供的方法实施例同样的发明构思,本申请实施例提供了一种传输路径故障的处理装置,所述装置应用于第二方面所述的网络设备,即该装置可以是网络设备,也可以是能够应用于网络设备的芯片。该装置具有实现上述第二方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软 件包括一个或多个与上述功能相对应的模块。In a fourth aspect, based on the same inventive concept as the method embodiment provided in the second aspect, an embodiment of the present application provides a device for processing a transmission path failure, where the device is applied to the network device described in the second aspect, that is, the device The device may be a network device or a chip that can be applied to a network device. The device has the functions of implementing the embodiments of the second aspect described above. This function can be realized by hardware, and can also be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions.
第五方面,本申请实施例提供一种传输路径故障的处理装置,包括:处理器和存储器;该存储器用于存储指令,当该装置运行时,该处理器执行该存储器存储的该指令,以使该装置执行上述第一方面或第一方面的任一实现方法中的传输路径故障的处理方法。需要说明的是,该存储器可以集成于处理器中,也可以是独立于处理器之外。装置还可以包括总线。其中,处理器通过总线耦接存储器。其中,存储器可以包括可读存储器以及随机存取存储器。当需要运行该装置时,通过固化在只读存储器中的基本输入输出***或者嵌入式***中的bootloader引导***进行启动,引导装置进入正常运行状态。在装置进入正常运行状态后,在随机存取存储器中运行应用程序和操作***,使得该处理器执行第一方面或第一方面的任意可能的实现设计中的方法。In a fifth aspect, an embodiment of the present application provides a processing apparatus for processing a transmission path failure, including: a processor and a memory; the memory is used to store instructions; when the apparatus is running, the processor executes the instructions stored in the memory to The apparatus is caused to execute the method for processing a transmission path failure in the first aspect or any implementation method of the first aspect. It should be noted that the memory may be integrated in the processor, or may be independent of the processor. The device may also include a bus. The processor is coupled to the memory through a bus. The memory may include a readable memory and a random access memory. When the device needs to be run, it is started by the bootloader booting system in the basic input-output system or embedded system that is solidified in the read-only memory, and the booting device enters the normal operating state. After the device enters a normal operating state, an application program and an operating system are run in the random access memory, so that the processor executes the first aspect or any possible implementation design method in the first aspect.
第六方面,本申请实施例提供一种传输路径故障的处理装置,包括:处理器和存储器;该存储器用于存储指令,当该装置运行时,该处理器执行该存储器存储的该指令,以使该装置执行上述第二方面或第二方面的任一实现方法中的传输路径故障的处理方法。需要说明的是,该存储器可以集成于处理器中,也可以是独立于处理器之外。装置还可以包括总线。其中,处理器通过总线耦接存储器。其中,存储器可以包括可读存储器以及随机存取存储器。当需要运行该装置时,通过固化在只读存储器中的基本输入输出***或者嵌入式***中的bootloader引导***进行启动,引导装置进入正常运行状态。在装置进入正常运行状态后,在随机存取存储器中运行应用程序和操作***,使得该处理器执行第二方面或第二方面的任意可能的实现设计中的方法。According to a sixth aspect, an embodiment of the present application provides a processing apparatus for processing a transmission path failure, including: a processor and a memory; the memory is configured to store instructions, and when the apparatus is running, the processor executes the instructions stored in the memory to The apparatus is caused to execute the method for processing a transmission path failure in the second aspect or any implementation method of the second aspect. It should be noted that the memory may be integrated in the processor, or may be independent of the processor. The device may also include a bus. The processor is coupled to the memory through a bus. The memory may include a readable memory and a random access memory. When the device needs to be run, it is started by the bootloader booting system in the basic input-output system or embedded system that is solidified in the read-only memory, and the booting device enters the normal operating state. After the device enters a normal operating state, an application program and an operating system are run in the random access memory, so that the processor executes the second aspect or any possible implementation design method in the second aspect.
第七方面,本申请实施例还提供了一种***,包括第三方面或第五方面所述的装置,以及第四方面或第六方面所述的装置。在一个可能的设计中,该***还可以包括本申请实施例提供的方案中与该两种网络设备进行交互的其他网络设备,例如传输路径上的其它网络设备。In a seventh aspect, an embodiment of the present application further provides a system, including the device described in the third or fifth aspect, and the device described in the fourth or sixth aspect. In a possible design, the system may further include other network devices that interact with the two types of network devices in the solution provided in the embodiments of the present application, such as other network devices on a transmission path.
第八方面,本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有程序或指令,当其在计算机上运行时,使得上述各方面的任意的传输路径故障的处理方法被执行。According to an eighth aspect, an embodiment of the present application further provides a readable storage medium, where the readable storage medium stores a program or an instruction, and when the program or the instruction is run on a computer, processing of any transmission path failure in the foregoing aspects is handled. The method is executed.
第九方面,本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面中的任意的传输路径故障的处理方法。In a ninth aspect, an embodiment of the present application further provides a computer program product containing instructions that, when run on a computer, causes the computer to execute a method for processing any transmission path failure in each of the above aspects.
另外,第三方面至第九方面中任一种设计方式所带来的技术效果可参见第一方面至第二方面中不同实现方式所带来的技术效果,此处不再赘述。In addition, for the technical effects brought by any one of the design methods in the third aspect to the ninth aspect, reference may be made to the technical effects brought by different implementation manners in the first aspect to the second aspect, and details are not described herein again.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1A为本申请实施例提供的一种网络***架构示意图;FIG. 1A is a schematic diagram of a network system architecture according to an embodiment of the present application; FIG.
图1B为本申请实施例提供的另一种网络***架构示意图;FIG. 1B is a schematic diagram of another network system architecture according to an embodiment of the present application; FIG.
图2为本申请实施例提供的传输路径故障的处理方法流程图;2 is a flowchart of a method for processing a transmission path fault according to an embodiment of the present application;
图3为本申请实施例提供的又一种网络***架构示意图;3 is a schematic diagram of another network system architecture according to an embodiment of the present application;
图4为本申请实施例提供的传输路径故障处理方法示意图;4 is a schematic diagram of a transmission path fault processing method according to an embodiment of the present application;
图5为本申请实施例提供的一种TLV格式示意图;5 is a schematic diagram of a TLV format provided by an embodiment of the present application;
图6为本申请实施例提供的Flags格式示意图;6 is a schematic diagram of a Flags format provided by an embodiment of the present application;
图7为本申请实施例提供的装置700的结构示意图;FIG. 7 is a schematic structural diagram of a device 700 according to an embodiment of the present application;
图8为本申请实施例提供的网络设备800的结构示意图。FIG. 8 is a schematic structural diagram of a network device 800 according to an embodiment of the present application.
具体实施方式detailed description
本申请应用于支持SR-TE的节点。在本申请实施例中,节点也可以称为网络设备,网络设备是在网络中提供路由转发功能的设备,例如,可以是路由器、交换机、转发器或者标签交换路由器(label switching router,LSR)等,不作限定。在后续描述过程中,以节点为例进行说明。This application applies to nodes that support SR-TE. In the embodiment of the present application, a node may also be referred to as a network device. A network device is a device that provides a routing and forwarding function in a network. For example, the node may be a router, a switch, a repeater, or a label switching router (LSR). No restrictions. In the subsequent description process, a node is used as an example for description.
在SR-TE技术中,控制平面采用基于链路状态的IGP协议,或者边界网关协议(border gateway protocol,BGP),来分发节点的MPLS标签,数据平面基于该控制平面分发的标签进行MPLS报文转发。In SR-TE technology, the control plane uses the link-state-based IGP protocol or border gateway protocol (BGP) to distribute MPLS labels for nodes. The data plane performs MPLS packets based on the labels distributed by the control plane Forward.
SR-TE(Segment Routing-Traffic Engineering)是使用内部网关协议(interior gateway protocol,IGP)或者边界网关协议(border gateway protocol,BGP)协议作为控制信令的一种新型的TE隧道技术。控制器负责计算隧道的转发路径,并将与路径严格对应的标签栈列表下发给转发器。在SR-TE隧道的入节点上,转发器根据标签栈列表,即可控制报文在网络中的传输路径。SR-TE (Segment Routing-Traffic Engineering) is a new type of TE tunneling technology using interior gateway protocol (IGP) or border gateway protocol (BGP) protocol as control signaling. The controller is responsible for calculating the forwarding path of the tunnel and delivering the label stack list strictly corresponding to the path to the forwarder. On the ingress node of the SR-TE tunnel, the repeater can control the transmission path of the packet in the network according to the label stack list.
下面先对申请实施例中涉及到的术语进行解释说明。The terms involved in the embodiments of the application are explained below first.
1)、段路由全局块(Segment Routing Global Block,SRGB):用户指定的为段(segment)预留的标签集合。1) Segment global block (SRGB): A label set reserved by the user for segments.
2)、段(segment),通过段标签(Segment ID,SID)来标识。本申请实施例中的段标签可以称为段标识。SID,在转发层面,可以映射为MPLS标签。2) Segment, which is identified by a segment label (Segment ID, SID). The segment label in the embodiments of the present application may be referred to as a segment identifier. SIDs can be mapped to MPLS labels at the forwarding level.
段包括三类,分别为前缀段(Prefix Segment)、邻接段(Adjacency Segment)和节点段(Node Segment)。There are three types of segments, namely, prefix segments, adjacency segments, and node segments.
前缀段,用于标识SR网络中的某个目的地址前缀(Prefix)。Prefix Segment可以通过IGP协议扩散到其他网元,全局可见,全局有效。Prefix Segment通过前缀段标识(Prefix Segment ID,Prefix SID)来标记。本申请实施例中将前缀段标签简称为前缀标签。Prefix SID是目的节点发布的SRGB范围内的偏移值,接收端会根据自己的SRGB计算实际标签。A prefix segment is used to identify a destination address prefix in the SR network. Prefix segments can be diffused to other network elements through the IGP protocol. They are globally visible and globally effective. Prefix Segments are marked by a prefix segment ID (Prefix Segment ID, Prefix SID). In the embodiments of the present application, the prefix segment label is simply referred to as a prefix label. Prefix SID is the offset value in the SRGB range issued by the destination node. The receiving end will calculate the actual label based on its SRGB.
邻接段(Adjacency Segment)用于标识网络中的某两个邻接节点的路由链路。Adjacency Segment通过IGP协议扩散到其他网元,全局可见,本地有效。Adjacency Segment通过邻接段标签(Adjacency Segment ID,Adjacency SID)。本申请实施例中将邻接段标签简称为邻接标签。The adjacency segment is used to identify the routing link of two adjacent nodes in the network. Adjacency Segments spread to other network elements through the IGP protocol. They are globally visible and locally valid. Adjacency Segment uses Adjacency Segment ID (Adjacency, SID). In the embodiment of the present application, the adjacent segment label is simply referred to as an adjacent label.
邻接标签具有一定的方向性,用于指导报文转发,比如,邻接标签9003对应链路PE1->P3。Adjacency SID为SRGB范围外的本地SID。The adjacency label has certain directionality and is used to guide packet forwarding. For example, the adjacency label 9003 corresponds to the link PE1-> P3. Adjacency SID is a local SID outside the SRGB range.
节点段(Node Segment)是特殊的Prefix Segment,用于标识特定的节点(Node)。在节点的本地环回(Loopback)接口下配置IP地址作为前缀,这个节点的Prefix SID实际就是节点段标签(Node SID)。本申请实施例中将节点段标签简称为节点标签。Node segment is a special Prefix segment, which is used to identify a specific node. Configure the IP address as the prefix on the local loopback interface of the node. The PrefixSID of this node is actually the NodeSID. In the embodiment of the present application, the node segment label is simply referred to as a node label.
简单来说,Prefix Segment代表目的地址,Adjacency Segment代表数据包的外发链路,可以分别类似于传统IP转发中的目的IP地址和出接口。在IGP区域内,节点使用扩展IGP协议将自身的Node SID以及Adjacency SID进行泛洪,这样任意一个节点都可以获得其他 节点的信息。In simple terms, Prefix Segment represents the destination address, and Adjacency Segment represents the outgoing link of the data packet, which can be similar to the destination IP address and outbound interface in traditional IP forwarding, respectively. In the IGP area, nodes use the extended IGP protocol to flood their NodeSID and AdjacencySID, so that any node can obtain information about other nodes.
通过前缀(节点)SID和邻接SID的排序组合,可以构建出网络内的任何路径。网络中的一条路径可以通过多个路由段构成。构建出来的路径通过标签栈列表来表示。标签栈列表包括了转发路径上每个路由段对应的段标签(Segment ID)。By the combination of the prefix (node) SID and the adjacent SID, any path in the network can be constructed. A path in a network can consist of multiple routing segments. The constructed path is represented by a list of tag stacks. The label stack list includes the segment label (Segment ID) corresponding to each routing segment on the forwarding path.
目的节点通过IGP协议自己的节点(前缀)SID,转发节点解析节点SID,并根据自己的SRGB计算标签值。此后各节点使用IGP协议收集的拓扑信息,根据最短路径算法计算标签转发路径,并将计算的下一跳及出标签(OuterLabel)信息下发转发表,指导数据报文转发。The destination node uses its own node (prefix) SID of the IGP protocol, the forwarding node parses the node SID, and calculates the label value according to its own SRGB. After that, each node uses the topology information collected by the IGP protocol to calculate the label forwarding path according to the shortest path algorithm, and sends the calculated next hop and OuterLabel information to the forwarding table to guide the data packet forwarding.
另外,需要说明的是,本申请实施例中的多个指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。节点1或者节点2等也仅用于区分描述的节点,而不能理解为指示或者暗示相对重要性,也不能理解为指示或者暗示顺序。In addition, it should be noted that a plurality in the embodiments of the present application refers to two or more than two. "And / or" describes the association relationship between related objects and indicates that there can be three types of relationships. For example, A and / or B can indicate that there are three cases in which A exists alone, A and B exist, and B exists alone. In addition, it should be understood that in the description of this application, the terms "first" and "second" are used only for the purpose of distinguishing descriptions, and cannot be understood as indicating or implying relative importance, nor as indicating Or imply order. Node 1 or node 2 is also only used to distinguish the described nodes, and cannot be understood as indicating or implying the relative importance, nor can it be understood as indicating or implying the order.
另外,本申请实施例中涉及到的转发表,一般可以是只包括主转发表,或者可以包括主转发表和备份转发表。本申请实施例中涉及到的主备转发表一般包括主转发表和备转发表。In addition, the forwarding tables involved in the embodiments of the present application may generally include only the main forwarding table, or may include the main forwarding table and the backup forwarding table. The master-backup forwarding table involved in the embodiments of the present application generally includes a master-forwarding table and a backup-forwarding table.
以图1A为例对前缀段的段路径的创建以及数据报文的转发进行说明。Taking FIG. 1A as an example, the creation of a segment path of a prefix segment and the forwarding of data packets are described.
比如待建立的前缀段路径为RT1、RT2、RT3、RT4、RT5。RT1为该前缀段的首节点,RT5为该前缀段的目的节点。For example, the path of the prefix segment to be established is RT1, RT2, RT3, RT4, and RT5. RT1 is the first node of the prefix segment, and RT5 is the destination node of the prefix segment.
在RT5上配置SRGB=[5000-5999],在RT5的Loopback接口配置Prefix(node)SID为5,RT5基于SRGB和Prefix(node)SID生成转发表并下发。之后RT5将SRGB和Prefix SID封装到控制报文,并将该控制报文通过IGP向全网扩散。网络中其他网络设备接收到控制报文后,解析RT5发布的Prefix SID,根据自己的SRGB计算入标签值,同时根据下一跳节点发布的SRGB计算出标签值(OuterLabel),使用IGP拓扑计算标签转发路径,然后生成转发表。Configure SRGB = [5000-5999] on RT5, configure Prefix (node) SID as 5 on the Loopback interface of RT5, and RT5 generate and forward the forwarding table based on SRGB and Prefix (node) SID. RT5 then encapsulates SRGB and Prefix SID into control messages, and diffuses the control messages to the entire network through IGP. After receiving the control message, other network devices in the network parse the Prefix SID issued by RT5, calculate the label value based on their SRGB, and calculate the label value (OuterLabel) based on the SRGB issued by the next hop node, and use IGP topology to calculate the label. Forward the path and then generate a forwarding table.
RT4解析RT5发布的Prefix SID,根据自己的SRGB=[4000-4999]计算标签值,计算公式是:入标签inLabel=SRGB起始值+Prefix SID值,所以inLabel=4000+5=4005。使用IS-IS拓扑计算出标签(OuterLabel),计算公式是:OuterLabel=下一跳设备发布的SRGB的起始值+Prefix SID值(即该前缀段或者节点段上目的节点的节点标签),如图1A所示,RT4的下一跳设备为RT5,RT5发布的SRGB范围是[5000-5999],所以OuterLabel=5000+5=5005。RT4 analyzes the Prefix SID issued by RT5, and calculates the label value according to its SRGB = [4000-4999]. The calculation formula is: inLabel = SRGB starting value + Prefix SID value, so inLabel = 4000 + 5 = 4005. Use IS-IS topology to calculate the label (OuterLabel). The calculation formula is: OuterLabel = the starting value of the SRGB issued by the next hop device + the Prefix SID value (that is, the node label of the destination node on the prefix segment or node segment), such as As shown in FIG. 1A, the next hop device of RT4 is RT5, and the SRGB range released by RT5 is [5000-5999], so OuterLabel = 5000 + 5 = 5005.
RT3计算过程与RT4类似,inLabel=3000+5=3005,OuterLabel=4000+5=4005。RT2计算过程与RT4类似,inLabel=2000+5=2005,OuterLabel=3000+5=3005。RT1计算过程与RT4类似,inLabel=1000+5=1005,OuterLabel=2000+5=2005。RT3 calculation process is similar to RT4, inLabel = 3000 + 5 = 3005, OuterLabel = 4000 + 5 = 4005. RT2 calculation process is similar to RT4, inLabel = 2000 + 5 = 2005, OuterLabel = 3000 + 5 = 3005. The calculation process of RT1 is similar to RT4, inLabel = 1000 + 5 = 1005, OuterLabel = 2000 + 5 = 2005.
在建立RT1-RT5的段路径后,RT1节点在收到数据报文,添加标签值2005并转发。RT 2节点收到携带该标签的数据报文,进行标签交换,将标签2005弹出,换成出标签3005,。RT3节点收到该标签报文,进行标签交换,将标签3005弹出,换成标签4004。RT4节点在收到该数据报文后,将标签4005弹出,换成标签5005。RT5节点在收到该数据报文后,将标签5005弹出,继续查路由转发。After the segment path of RT1-RT5 is established, the RT1 node receives the data packet, adds the tag value 2005, and forwards it. The RT2 node receives the data packet carrying the label, performs label exchange, pops the label 2005, and replaces it with the label 3005. The RT3 node receives the label message, performs label exchange, ejects the label 3005, and replaces it with the label 4004. After receiving the data packet, the RT4 node ejects the label 4005 and replaces it with the label 5005. After receiving the data packet, the RT5 node pops up the label 5005 and continues to check the routing and forwarding.
下面以图1B为例对严格的段路径(不允许跨节点)的创建以及数据报文的转发进行说 明。The following uses Figure 1B as an example to explain the creation of a strict segment path (cross-node is not allowed) and the forwarding of data packets.
转发器基于IGP协议分配邻接标签,并将分配的邻接标签上报给控制器,从而控制器基于邻接标签生成标签栈列表。The forwarder allocates adjacency labels based on the IGP protocol and reports the assigned adjacency labels to the controller, so that the controller generates a label stack list based on the adjacency labels.
邻接标签通过IGP协议泛洪到整个网络中。如图1B所示,以RT1节点为例,IGP协议分配邻接标签的具体过程如下:Adjacent labels are flooded to the entire network through the IGP protocol. As shown in Figure 1B, taking the RT1 node as an example, the specific process of the IGP protocol to assign adjacent labels is as follows:
RT1通过IGP协议为其所有链路申请本地动态标签(例如:RT1为链路RT1->RT2分配邻接标签1031)。RT1通过IGP协议发布邻接标签,泛洪到整个网络。网络中的其它设备通过IGP协议学习到RT1发布的邻接标签。具体的,其它节点按照RT1的方式分配和发布邻接标签,并泛洪给网络中的其它设备。RT1 applies local dynamic labels for all its links through the IGP protocol (for example: RT1 assigns adjacency labels 1031 for links RT1-> RT2). RT1 advertises adjacency labels through the IGP protocol and floods the entire network. Other devices on the network learn the adjacency labels issued by RT1 through the IGP protocol. Specifically, other nodes allocate and publish adjacency labels in the manner of RT1, and flood them to other devices in the network.
控制器基于SR-TE的隧道约束属性进行路径计算,计算出来的路径根据拓扑和邻接标签,将整条路径的邻接标签整合在一起,生成一个标签栈列表。比如参见图1B所示,控制器计算出SR-TE隧道路径为RT1->RT2->RT3->RT4->RT5,对应的标签栈列表为{1031,1032,1034,1035},控制器通过计算出的标签栈列表下发给转发器入节点RT1。从而转发器根据控制器下发的标签栈列表获得SR-TE隧道。本申请此处也可以使用节点标签来构成标签栈列表,即标签栈列表为{1002,2003,3004,4005}。The controller performs path calculation based on the SR-TE's tunnel constraint attributes. The calculated path integrates adjacent labels of the entire path together based on the topology and adjacent labels to generate a label stack list. For example, as shown in FIG. 1B, the controller calculates the SR-TE tunnel path as RT1-> RT2-> RT3-> RT4-> RT5, and the corresponding tag stack list is {1031,1032,1034,1035}, and the controller passes The calculated label stack list is delivered to the repeater ingress node RT1. Thus, the repeater obtains the SR-TE tunnel according to the label stack list issued by the controller. In this application, a node stack may also be used to form a label stack list, that is, the label stack list is {1002, 2003, 3004, 4005}.
转发器上根据SR-TE隧道对应的标签栈列表,对报文进行标签操作,并根据栈顶标签逐跳查找转发出接口,指导数据报文转发到隧道目的地址。The forwarder performs label operations on the packets according to the label stack list corresponding to the SR-TE tunnel, and searches for the forwarding outbound interface hop by hop according to the label on the top of the stack to guide the data packets to the tunnel destination address.
当报文进入SR-TE隧道时,入节点在报文中***一个标签栈列表;当报文在SR-TE隧道中转发时,根据栈顶的标签查找转发出接口之后,将栈顶的标签剥掉。比如,参见图1B所示,入节点PE1为数据报文添加标签栈列表{1031,1032,1034,1035},然后根据栈顶的标签1031匹配链路,找到对应的转发出接口为RT1->RT2链路,之后将标签1031弹出。报文携带标签栈{1032,1034,1035},通过RT1->RT2链路向下一跳节点RT2转发。中间节点RT2收到报文后,根据栈顶的标签1032匹配链路,找到对应的转发出接口为RT2->RT3链路,之后将标签1032弹出,以此类推,节点RT3收到报文后,以与中间节点RT3相同的方式继续转发。直到节点RT4弹出最后一个标签1035,数据报文转发至节点RT5。出节点RT5收到的报文不带标签,通过查找路由表继续转发。When a message enters the SR-TE tunnel, the ingress node inserts a list of label stacks in the message; when the message is forwarded in the SR-TE tunnel, it looks for the forwarding outbound interface according to the label at the top of the stack, and then the label at the top of the stack Peel off. For example, as shown in FIG. 1B, the ingress node PE1 adds a label stack list {1031, 1032, 1034, 1035} to the data packet, and then matches the link according to the label 1031 on the top of the stack, and finds the corresponding forwarding outbound interface as RT1-> RT2 link, then eject the label 1031. The packet carries the label stack {1032, 1034, 1035} and is forwarded to the next hop node RT2 through the RT1-> RT2 link. After receiving the message, the intermediate node RT2 matches the link according to the label 1032 on the top of the stack, finds the corresponding forwarding outbound interface as RT2-> RT3 link, and then pops up the label 1032, and so on. After the node RT3 receives the message, , Continue to forward in the same way as the intermediate node RT3. Until node RT4 pops up the last label 1035, the data packet is forwarded to node RT5. The packet received by the egress node RT5 has no label and is forwarded by searching the routing table.
严格的段路径方式,在存在等价路径的情况下,也无法进行负载分担。再该情况下可以根据节点标签,或者节点标签和邻接标签构成的混合标签栈,可指定跨节点的节点标签,控制器将标签栈发给转发器的首节点,转发器基于该标签栈,逐跳查找出接口弹出标签,指导数据报文进行转发到隧道目的地址。比如,如图1B所示,RT1-RT5的路径,指定需要跨的节点为:RT3、RT4,此时RT1-RT3之间构成了松散路径,可以通过RT2转发,也可以通过RT6转发。在此情况下,RT1上用于转发报文的标签栈列表为{2003,3004,4005}。In the strict segment path mode, load sharing cannot be performed even when an equivalent path exists. In this case, according to the node label or a mixed label stack composed of the node label and the adjacent label, a node label across the nodes can be specified, and the controller sends the label stack to the head node of the repeater. Based on the label stack, the repeater A hop pop-up label is found on the outbound interface to direct data packets to be forwarded to the tunnel destination address. For example, as shown in FIG. 1B, the paths of RT1-RT5 specify the nodes to be spanned: RT3 and RT4. At this time, a loose path is formed between RT1-RT3, which can be forwarded through RT2 or RT6. In this case, the list of label stacks used to forward messages on RT1 is {2003,3004,4005}.
在SR-TE转发报文的过程中,可能发生链路故障或者节点故障。目前,可以通过FRR机制来对路径进行恢复。比如节点R2节点为故障节点。During SR-TE packet forwarding, link failure or node failure may occur. Currently, the path can be restored through the FRR mechanism. For example, node R2 is a faulty node.
节点R2未发生故障时,SR-TE的标签栈标识的转发路径为:RT1->RT2->RT3->RT4->RT5。当节点RT2故障时,节点RT2的邻居节点RT1替代节点RT2做标签弹出(POP)动作,并使用到下一层标签作为目的地址,且绕过故障节点RT2的路径作为备份路径进行数据报文的转发。备份路径为:RT1->RT6->RT3->RT4->RT5。When node R2 does not fail, the forwarding path identified by the label stack of SR-TE is: RT1-> RT2-> RT3-> RT4-> RT5. When the node RT2 fails, the neighbor node RT1 of the node RT2 performs a pop-up (POP) action instead of the node RT2, and uses the next layer label as the destination address, and the path bypassing the failed node RT2 is used as a backup path for data packets. Forward. The backup path is: RT1-> RT6-> RT3-> RT4-> RT5.
比如RT1进行数据报文发送的标签栈列表为{1002,2003,3004,4005},RT1可以通过检 查标签栈的栈顶标签1002,确定RT2节点是故障节点,然后通过检查标签栈的栈顶标签1002和第二个标签2003,确定故障节点后面路径所需要到达的节点为RT3。RT1计算出绕过故障节点RT2到达第二个标签2003所标识的节点(即RT3)的路径,作为对下一跳节点RT2的SR-TE FRR的节点保护路径。For example, the list of label stacks for data packets sent by RT1 is {1002,2003,3004,4005}. RT1 can check the label stack's top label 1002 to determine that the RT2 node is a faulty node, and then check the label stack's top label. 1002 and the second label 2003 determine that the node that needs to be reached by the path behind the failed node is RT3. RT1 calculates the path that bypasses the failed node RT2 to reach the node identified by the second label 2003 (ie, RT3) as the node protection path for the SR-TE FRR of the next hop node RT2.
在存在故障节点切换到SR-TE FRR路径的场景中存在如下三个问题:In the scenario where a failed node switches to the SR-TE FRR path, there are three problems:
问题一:标签信息表容量有限的问题,例如,容量可以指存储容量。Problem 1: The capacity of the label information table is limited. For example, the capacity can refer to the storage capacity.
问题二:松散路径导致的报文转发失败的问题。Problem 2: The problem of packet forwarding failure caused by loose paths.
问题三:回切表项不全导致的报文转发失败的问题。Problem three: The problem of packet forwarding failure caused by incomplete switchback entries.
下面针对上述三个问题,以及问题对应的解决方案进行详细说明。The above three problems and the corresponding solutions are described in detail below.
针对问题一:For problem one:
在RT2节点故障前,每一个节点通过IGP提前计算好备份转发表和标签信息表(Context表)。每一个节点都为其邻居节点生成Context表,其中,每一个节点的邻居节点数量等于每一个节点上生成的Context表的数量。Context表包括了全网络所有节点的节点(前缀)标签和邻居节点发布的所有的邻接标签。Before the RT2 node fails, each node calculates the backup forwarding table and label information table (Context table) in advance through IGP. Each node generates a context table for its neighbors, where the number of neighbor nodes of each node is equal to the number of context tables generated on each node. The Context table includes the node (prefix) labels of all nodes in the entire network and all adjacency labels issued by neighboring nodes.
比如,节点RT1为其邻居节点RT2生成Context表,Context表中包含了全网所有节点对应的节点(前缀)标签信息以及RT2发布的邻接标签。全网所有节点中每个节点对应的节点(前缀)标签信息是该节点的节点标签与RT2节点的SRGB的初始值的和。For example, the node RT1 generates a context table for its neighbor node RT2. The context table contains the node (prefix) label information corresponding to all nodes in the entire network and the adjacency labels issued by RT2. The node (prefix) label information corresponding to each node in all nodes in the entire network is the sum of the node label of the node and the initial value of SRGB of the RT2 node.
由于Context表是预先生成的,SR-TE FRR的方案是节点为该节点的每个邻居都生成Context表,因此Context表的规格为全网的节点数+邻居节点的邻居数,所以每个节点需要生成邻居数*(全网节点数+邻居节点的邻居数)这样规模的Context表。Since the Context table is generated in advance, the SR-TE FRR scheme is that the node generates a Context table for each neighbor of the node. Therefore, the specification of the Context table is the number of nodes in the entire network + the number of neighbors of the neighbor nodes, so each node It is necessary to generate a Context table with the number of neighbors * (the number of nodes in the entire network + the number of neighbors of the neighbor nodes).
当网络包括节点数较多,且有些节点所支持的Context表的规格不足以支持全网节点数+邻居节点的邻居数这样的规格时,会导致这些节点生成的Context表中内容不全,在网络中出现故障节点,可能会导致无法切换到正确的备份路径来转发报文。When the network includes a large number of nodes, and the specifications of the Context table supported by some nodes are not sufficient to support the specifications of the number of nodes in the entire network + the number of neighbors of neighbor nodes, the content of the Context table generated by these nodes will be incomplete. A faulty node may result in failure to switch to the correct backup path to forward packets.
需要说明的是,主路径中某个节点,或者某个节点到下一跳的路径发生故障时,在主路径中该节点的上一跳节点感知到故障后,上一跳节点的会将该节点的故障信息泛洪到网络中其它节点。It should be noted that when a node in the main path or the path from a node to the next hop fails, the previous hop node of the node in the main path detects the failure, and the previous hop node will The node's fault information is flooded to other nodes in the network.
基于此,本申请实施例提供了一种传输路径故障的处理方法,参见图2所示。Based on this, an embodiment of the present application provides a method for processing a transmission path fault, as shown in FIG. 2.
S201,第一节点接收第二节点发送的第一报文。S201. The first node receives a first message sent by a second node.
其中,所述第二节点为主路径上所述第一节点的上一跳节点。The second node is a previous hop node of the first node on the main path.
S202,所述第一节点在确定所述第三节点故障时,确定所述第一节点的段路由全局块SRGB初始值与所述第三节点的SRGB初始值的差值。S202. When determining that the third node is faulty, the first node determines a difference between an initial value of a segment routing global block SRGB of the first node and an initial value of SRGB of the third node.
其中,所述第三节点为所述主路径上所述第一节点的下一跳节点。The third node is a next hop node of the first node on the main path.
S203,所述第一节点从所述第一报文中获取第一标签,所述第一标签是基于第三节点的SRGB初始值以及第四节点的节点段标识确定的。S203. The first node obtains a first label from the first packet, and the first label is determined based on an initial SRGB value of the third node and a node segment identifier of the fourth node.
其中,所述第四节点为在所述主路径上所述第三节点的下一跳节点。The fourth node is a next hop node of the third node on the main path.
S204,所述第一节点将所述第一标签以及所述差值的和值作为由所述第一节点到所述第四节点的备份路径的入标签,从备份转发表中确定由所述第一节点到所述第四节点的备份路径的出标签。S204. The first node uses the sum of the first label and the difference value as an incoming label of a backup path from the first node to the fourth node, and determines from the backup forwarding table that the The outgoing label of the backup path from the first node to the fourth node.
S205,所述第一节点基于所述出标签向备份路径上所述第一节点的下一跳节点发送所述第一报文。S205. The first node sends the first packet to a next hop node of the first node on a backup path based on the out-label.
通过上述方案,采用SRGB差值以及备份转发表来确定备份路径,从而能够克服节点所支持Context表的容量不足而导致的转发数据报文失败的问题。Through the above scheme, the SRGB difference value and the backup forwarding table are used to determine the backup path, so that the problem of failed data forwarding due to insufficient capacity of the Context table supported by the node can be overcome.
在一种可能的实现方式中,所述第一报文中包括用于指导所述第一报文在所述主路径上转发的标签栈列表;所述确定所述第一节点的SRGB初始值与所述第三节点的SRGB初始值的差值,包括:所述第一节点从所述标签栈列表的栈顶获取第二标签,所述第二标签是基于所述第三节点的节点段标识与所述第一节点的SRGB初始值确定的;所述第一节点在所述备份转发表确定所述第二标签对应的第一转发行为;所述第一转发行为用于指示查找标签信息表;所述标签信息表中包括所述第二标签对应的所述差值;所述第一节点从所述标签信息表中获取所述差值。In a possible implementation manner, the first packet includes a label stack list for guiding the first packet to be forwarded on the main path; and determining an initial SRGB value of the first node The difference from the initial SRGB value of the third node includes: the first node obtains a second label from the top of the label stack list, and the second label is based on the node segment of the third node The identifier is determined by the initial SRGB value of the first node; the first node determines a first forwarding behavior corresponding to the second label in the backup forwarding table; and the first forwarding behavior is used to indicate search for label information The tag information table includes the difference value corresponding to the second tag; the first node obtains the difference value from the tag information table.
现有在主路径中某个节点出现故障的情况下,该故障节点的上一跳节点通过为该故障节点生成Context表以及主备转发表由主路径切换到备份路径上时,通过根据标签栈中的栈顶标签查找备转发表,确定备转发表中栈顶标签对应转发表项中的转发行为是查找Context表后,根据Context表来确定备份路径上需要转发报文的下一跳节点,也就是现有仅查询一次备转发表,确定备份路径是Context表来实现的,而本申请实施例提供的方案中,通过给转发面节点下发SRGB的差值的情况,仅需要使用Context表确定故障节点的下一跳节点的节点标签,而确定备份路径的转发报文的下一跳节点时,是根据故障节点的下一跳节点的节点标签再查询一次备转发表,因此Context表中不需要包括所有节点对应的节点标签,仅需要包括邻居节点其邻接的节点对应的标签信息即可,从而避免表项容量不足导致的转发报文失败,并且可以节省存储资源。In the case where a node in the primary path fails, the previous hop node of the failed node generates the context table for the failed node and the primary-backup forwarding table is switched from the primary path to the backup path. The top-of-stack label searches the standby forwarding table, and determines that the forwarding behavior in the forwarding entry corresponding to the top-of-stack label in the standby forwarding table is to look up the Context table, and then determines the next hop node on the backup path that needs to forward the packet according to the Context table. That is, the existing backup forwarding table is only queried once to determine that the backup path is implemented by the Context table. However, in the solution provided by the embodiment of the present application, only the Context table needs to be used when the SRGB difference value is sent to the forwarding plane node. When determining the node label of the next hop node of the failed node, and determining the next hop node of the forwarding packet of the backup path, the backup forwarding table is queried again according to the node label of the next hop node of the failed node, so the Context table It is not necessary to include the node labels corresponding to all nodes, it is only necessary to include the label information corresponding to the neighboring nodes and their adjacent nodes, thereby avoiding the table Failed to forward packets due to insufficient item capacity and can save storage resources.
在一种可能的实施方式中,所述第一节点在接收到所述第三节点在网络内泛洪的所述第三节点的节点段标识之后,向所述网络内的其它节点泛洪所述第三节点的节点段标识;其中,所述第一标签是所述第二节点根据所述第一节点泛洪的所述第三节点的节点段标识和所述第一节点的SRGB初始值确定的。In a possible implementation manner, after receiving the node segment identifier of the third node flooded by the third node in the network, the first node floods the network to other nodes in the network. The node segment identifier of the third node; wherein the first label is the node segment identifier of the third node flooded by the second node according to the first node and the initial SRGB value of the first node definite.
基于此,第二节点接收第一节点在网络内泛洪的第三节点的节点段标识;所述第三节点为所述第一节点的邻接节点,所述第一节点泛洪的所述第三节点的节点段标识的优先级低于所述第三节点泛洪的第三节点的节点段标识;所述第二节点在通过主路径发送报文的过程中,确定所述第三节点发生故障;其中,所述第一节点为所述主路径上所述第二节点的下一跳节点,所述第三节点为在所述主路径上所述第一节点的下一跳节点;所述第二节点基于所述第一节点泛洪的所述第三节点的节点段标识,将所述报文通过备份路径发送给所述第一节点;所述第一节点为所述备份路径上所述第二节点的下一跳节点。Based on this, the second node receives the node segment identifier of the third node flooded by the first node in the network; the third node is an adjacent node of the first node, and the first node floods the first node. The priority of the node segment identifier of the three nodes is lower than the node segment identifier of the third node flooded by the third node; in the process of sending a message through the main path, the second node determines that the third node has occurred Failure; wherein the first node is a next hop node of the second node on the main path, and the third node is a next hop node of the first node on the main path; The second node sends the message to the first node through a backup path based on a node segment identifier of the third node flooded by the first node; the first node is on the backup path A next hop node of the second node.
通过该方式,能够解决问题二,具体如何实现的可以参见后续针对问题二部分的详细描述。In this way, the second problem can be solved. For details about how to implement the problem, refer to the detailed description of the second problem.
在一种可能的实施方式中,所述第一网络设备接收所述第三网络设备在故障恢复后发送的指示信息,所述指示信息用于指示所述第三网络设备无法正确转发报文;所述第一网络设备在接收到所述第二网络设备发送的第二报文时,基于所述确定的出标签发送所述第二报文。通过该方式,能够解决问题三,具体如何实现的可以参见后续针对问题三部分的详细描述。In a possible implementation manner, the first network device receives instruction information sent by the third network device after the fault recovers, where the instruction information is used to indicate that the third network device cannot forward a packet correctly; When the first network device receives a second message sent by the second network device, the first network device sends the second message based on the determined outgoing label. In this way, problem three can be solved. For details about how to implement this problem, refer to the detailed description of the following three parts.
下面结合具体场景,对本申请实施例提供的传输路径故障的处理方法做更详细的描述。需要说明的是,如下所述的方法流程是比较全面的介绍,其中某些步骤或介绍为可能的实现方式,该方法流程中的任意两个或任意两个以上步骤,均可以组成一个本申请实施例需要保护的方案,即在一些步骤为可选的情况下,其余步骤仍然可以组成本申请实施例需要保护的方案,可选步骤还可以有其它可能的实现方式。The following describes the method for processing a transmission path fault provided in the embodiment of the present application in more detail with reference to a specific scenario. It should be noted that the method flow described below is a comprehensive introduction, and some steps or introductions are possible implementation methods. Any two or more steps in the method flow can form one application. The solutions that need protection in the embodiments, that is, when some steps are optional, the remaining steps can still constitute the solutions that need protection in the embodiments of this application, and the optional steps can also have other possible implementations.
本申请实施例中提出一种配置Context表的方式。当节点通过IGP获取到邻居节点发布的邻接标签以及邻居节点其邻接的节点的节点标签,并在学习到邻居节点的SRGB后,生成Context表。Context表中包括邻居节点发布的邻接标签,以及邻居节点其邻接的节点的节点标签信息,以及本节点的SRGB初始值与邻居节点的SRGB初始值的差值,此处节点标签信息是邻居节点的SRGB初始值与所述邻居节点其邻接的节点的节点标签的和。A method for configuring a context table is proposed in the embodiment of the present application. When the node obtains the adjacency label issued by the neighbor node and the node label of the adjacent node through the IGP, and learns the SRGB of the neighbor node, it generates a Context table. The Context table includes the adjacency labels issued by the neighbor nodes, the node label information of the neighbor nodes and its adjacent nodes, and the difference between the initial SRGB value of the node and the initial SRGB value of the neighbor node. Here, the node label information is the neighbor node's. The sum of the initial SRGB value and the node labels of the neighboring nodes and their adjacent nodes.
以图3所示为例,RT2生成的Context表的部分内容如表1所示,表1示出Context表中为邻居节点RT3生成的表项的部分内容。其中,RT2的SRGB初始值为2000,RT2的邻居节点RT3的SRGB初始值为3000,因此,RT2的SRGB初始值与RT3的SRGB初始值的差值为-1000。Taking the example shown in FIG. 3 as an example, part of the content of the Context table generated by RT2 is shown in Table 1. Table 1 shows part of the content of the entries generated for the neighbor node RT3 in the Context table. The initial SRGB value of RT2 is 2000, and the initial SRGB value of RT2's neighbor RT3 is 3000. Therefore, the difference between the initial SRGB value of RT2 and the initial SRGB value of RT3 is -1000.
表1Table 1
Figure PCTCN2019091497-appb-000001
Figure PCTCN2019091497-appb-000001
Inlabel,表示入标签,为本节点的SRGB初始值+邻居节点的节点Sid,即RT2的SRGB初始值2000+RT3的节点标签3=2003。入标签作为Context表查表的关键(KEY)值字段。Inlabel, indicates the in-label, which is the initial SRGB value of this node + the node Sid of the neighbor node, that is, the initial SRGB value of RT2 2000 + the node label 3 of RT3 = 2003. The input tag is used as the key value field of the Context table lookup table.
SRGB差:为本节点的SRGB初始值–邻居节点的SRGB初始值。SRGB difference: the initial SRGB value of this node-the initial SRGB value of the neighbor node.
Adj Sid,表示邻居节点发布的邻接标签,RT3发布的邻接标签分别为RT3与RT4之间链路的邻接标签1034,RT3与RT7之间链路的邻接标签1037,以及RT3与RT6之间链路的邻接标签1036。Adj, Sid, indicates the adjacency label issued by the neighbor node. The adjacency label issued by RT3 is the adjacency label 1034 of the link between RT3 and RT4, the adjacency label of the link between RT3 and RT7, and the link between RT3 and RT6 Adjacency label 1036.
Adj节点Sid,表示邻居节点发布的邻接标签对应的目的节点,使用本节点的SRGB初始值+该目的节点发布的节点Sid。比如,RT3与RT4之间链路的邻接标签1034,目的节点是RT4,则1034对应的Adj节点Sid为RT2的SRGB初始值+RT4的节点标签=2004。Adj node Sid, which represents the destination node corresponding to the adjacency label issued by the neighbor node, uses the initial SRGB value of this node + the node Sid issued by the destination node. For example, if the adjacency label of the link between RT3 and RT4 is 1034 and the destination node is RT4, then the Sid of the Adj node corresponding to 1034 is the SRGB initial value of RT2 + the node label of RT4 = 2004.
下面以图3所示为例,对数据报文的转发过程进行详细描述。The following takes Figure 3 as an example to describe the data packet forwarding process in detail.
以图3所示,RT1-RT5的路径,指定需要跨的节点为:RT3、RT4,此时RT1-RT3之间构成了松散路径,可以通过RT2转发,也可以通过RT6转发,本申请实施例中RT1经过路径计算,确定的主路径为RT1->RT2->RT3->RT4->RT5。在此情况下,RT1上用于转发报文的标签栈列表为{2003,3004,4005}。比如,在RT3故障的情况下备份路径为RT1->RT2->RT7->RT4->RT5。同时,RT2会生成全网的节点Sid的主备转发表。主备转发表 的部分内容可以参见表2所示。图2仅示出了入标签为2003和2004的两条表项的部分内容。As shown in Figure 3, the paths RT1-RT5 specify the nodes that need to be crossed: RT3 and RT4. At this time, a loose path is formed between RT1-RT3, which can be forwarded through RT2 or RT6. This embodiment of the present application After the path calculation in RT1, the determined main path is RT1-> RT2-> RT3-> RT4-> RT5. In this case, the list of label stacks used to forward messages on RT1 is {2003,3004,4005}. For example, if RT3 fails, the backup path is RT1-> RT2-> RT7-> RT4-> RT5. At the same time, RT2 will generate a master-slave forwarding table for the Sid of the entire network. Partial contents of the master-slave forwarding table are shown in Table 2. Figure 2 shows only part of the contents of the two entries with 2003 and 2004 entry tags.
表2Table 2
Figure PCTCN2019091497-appb-000002
Figure PCTCN2019091497-appb-000002
在RT3未发生故障时,如图3所示,RT1向RT2发送数据报文,数据报文中的标签栈为{2003,3004,4005},根据标签栈中的栈顶标签查找主转发表,比如,查找表2,栈顶标签为2003,将2003作为inlabel,查找该入标签为2003对应的这条转发表项,该条转发表项中指示的转发行为转发到RT3,从而RT2将栈顶标签交换为3003,即将栈顶标签交换为基于下一跳节点的SRGB初始值(RT3的SRGB初始值)以及目的节点的节点标签(RT3的节点标签)确定的标签值,然后转发更新后的数据报文到RT3。RT3接收到RT2发送的数据报文后,数据报文中的标签栈为{3003,3004,4005},确定栈顶标签至少接收节点为自身,因此,将栈顶标签弹出后,根据栈顶标签3004确定下一跳节点为RT4,将栈顶标签3004交换为4004,并将更新后数据报文转发到RT4,同理RT4接收到RT3发送的数据报文后,数据报文的标签栈为{3004,4005},确定栈顶标签指示接收节点为自身,因此将栈顶标签弹出,根据栈顶标签4005确定下一跳节点为RT5,因此将栈顶标签交换为5005,并将更新后的数据报文转发到RT5。RT5接收到RT4发送的数据报文后,数据报文的标签栈为{5005},确定栈顶标签指示接收节点为自身,因此将栈顶标签弹出,继续查找转发表继续转发。When there is no failure in RT3, as shown in Figure 3, RT1 sends a data packet to RT2. The label stack in the data packet is {2003,3004,4005}, and the main forwarding table is found according to the top label in the label stack. For example, lookup table 2, the top label of the stack is 2003, and 2003 is used as the inlabel to find the forwarding entry corresponding to the incoming label 2003. The forwarding behavior indicated in the forwarding entry is forwarded to RT3, so that RT2 will top the stack. The label exchange is 3003, that is, the label at the top of the stack is exchanged to the label value determined based on the SRGB initial value of the next hop node (the initial value of SRGB of RT3) and the node label of the destination node (the node label of RT3), and then forward the updated data. Message to RT3. After RT3 receives the data packet sent by RT2, the label stack in the data packet is {3003,3004,4005}, and it is determined that the top-of-stack label is at least the receiving node itself. Therefore, after the top-of-stack label is popped up, 3004 determines that the next hop node is RT4, exchanges the top label 3004 to 4004, and forwards the updated data packet to RT4. Similarly, after RT4 receives the data packet sent by RT3, the label stack of the data packet is { 3004,4005}, determine that the top-of-stack label indicates that the receiving node is itself, so the top-of-stack label is popped up, and the next hop node is determined to be RT5 according to the top-of-stack label 4005. Therefore, the top-of-stack label is exchanged to 5005, and the updated data The packet is forwarded to RT5. After RT5 receives the data packet sent by RT4, the label stack of the data packet is {5005}. It is determined that the top label of the stack indicates that the receiving node is itself. Therefore, the top label of the stack is popped up, and the forwarding table is searched to continue forwarding.
则RT2在接收到RT1的数据报文后,根据数据报文的标签栈的栈顶标签2003,确定栈顶标签指示的下一跳节点RT3故障时,RT2是要找到绕过RT3到RT3的下一跳节点RT4的转发路径。从而查找备份转发表(表2),查找到的转发行为是弹出栈顶标签2003,并查找RT2为邻居节点RT3生成的Context表。根据表1的Context表获取到SRGB差为-1000,将栈顶标签2003弹出,此时的标签栈为{3004,4005},RT2获取从RT3到下一跳节点RT4的标签,即栈顶标签3004,并使用栈顶标签与SRGB差作和,即次外层标签(3004)+SRGB差(-1000)=2004,即获取以RT2为入节点到以RT4出节点的路由段,在RT2上的入标签。使用2004作为入标签查找主转发表,查找到的下一跳节点为RT3,由于到RT3的接口故障,于是切换 到备份路径,查找备份转发表,将2004作为入标签查找到的转发行为是转发到RT7,出标签为7004,从而RT2节点将栈顶标签交换为查找到的出标签,即将栈顶标签3004弹出,并交换为7004,此处的标签栈为{7004,4005},将更新后的数据报文转发给RT7。After receiving the data packet of RT1, RT2 determines that the next-hop node RT3 indicated by the top label of the data stack is faulty according to the top label 2003 of the label stack of the data packet. RT2 is to find the next node that bypasses RT3 to RT3. Forwarding path of one hop node RT4. Therefore, the backup forwarding table (Table 2) is searched, and the found forwarding behavior is popping the top label 2003, and searching the context table generated by RT2 for the neighbor RT3. According to the Context table in Table 1, the SRGB difference is -1000, and the top label 2003 is popped up. At this time, the label stack is {3004,4005}. RT2 obtains the label from RT3 to the next hop node RT4, that is, the top label. 3004, and use the top-of-stack label and SRGB difference to sum, that is, the second outer label (3004) + SRGB difference (-1000) = 2004, that is, to obtain the routing segment from RT2 as the in node to RT4 as the outbound node, on RT2 Into the tag. Use 2004 as the incoming label to find the main forwarding table. The next hop node found is RT3. Because the interface to RT3 is faulty, switch to the backup path, find the backup forwarding table, and use 2004 as the incoming label. The forwarding behavior is forwarding. To RT7, the outgoing label is 7004, so the RT2 node exchanges the top-of-stack label with the found outgoing label, that is, pops the top-of-stack label 3004 and exchanges it to 7004. The label stack here is {7004,4005}. The data packet is forwarded to RT7.
RT7接收到数据报文后,根据栈顶标签7004确定下一跳节点为RT4,从而将栈顶标签7004交换为4004,并将更新后的数据报文转发给RT4,同理RT4接收到数据报文后,确定栈顶标签指示的目的节点为自身,将栈顶标签弹出,确定更新后的标签栈的栈顶标签4005指示的下一跳节点为RT5,从将栈顶标签4005交换为5005,并将更新后的数据报文发送给RT5。After RT7 receives the data packet, it determines that the next hop node is RT4 according to the top label 7004, so that the top label 7004 is exchanged to 4004, and the updated data packet is forwarded to RT4. Similarly, RT4 receives the data packet. After that, it is determined that the destination node indicated by the top label is itself, and the top label is popped up. The next hop node indicated by the top label 4005 of the updated label stack is RT5, and the top label 4005 is exchanged to 5005. And send the updated data message to RT5.
现有在主路径中某个节点出现故障的情况下,该故障节点的上一跳节点通过为该故障节点生成Context表以及主备转发表由主路径切换到备份路径上时,通过根据标签栈中的栈顶标签查找备转发表,确定备转发表中该栈顶标签对应的转发表项中的转发行为是查找Context表后,根据Context表来确定备份路径上需要转发报文的下一跳节点,也就是现有仅查询一次备转发表,确定备份路径是Context表来实现的,而本申请实施例提供的方案中,通过给转发面节点下发SRGB的差值的情况,仅需要使用Context表确定故障节点的下一跳节点的节点标签,而确定备份路径的转发报文的下一跳节点时,是通过故障节点的下一跳节点的节点标签再查询一次备转发表,因此Context表中不需要包括所有节点对应的节点标签,仅需要包括邻居节点其邻接的节点对应的标签信息即可,从而避免表项容量不足导致的转发报文失败,并且可以节省存储资源。In the case where a node in the primary path fails, the previous hop node of the failed node generates the context table for the failed node and the primary-backup forwarding table is switched from the primary path to the backup path. The top label of the stack searches the standby forwarding table, and determines that the forwarding behavior in the forwarding entry corresponding to the top label in the standby forwarding table is to look up the context table, and then determines the next hop of the packet to be forwarded on the backup path according to the context table. The node, that is, the existing backup forwarding table is only queried once, and the backup path is determined to be implemented by the Context table. However, in the solution provided by the embodiment of the present application, by sending the difference of the SRGB value to the forwarding plane node, only the use of The Context table determines the node label of the next-hop node of the failed node, and when determining the next-hop node of the forwarding path of the backup path, the standby forwarding table is queried again based on the node label of the next-hop node of the failed node. The table does not need to include the node labels corresponding to all the nodes. It only needs to include the label information of the neighboring nodes and their adjacent nodes, so as to avoid Forwarding packets fails due to insufficient table-free entry capacity and can save storage resources.
针对问题二:For problem two:
在转发路径中存在松散路径的情况下,当松散路径段的目的节点发生故障时,该节点的故障信息泛洪到整个网络后,全网所有的节点都会删除到该故障节点的对应的主备转发表。在松散路径的情况下,主路径和备份路径中,从首节点到尾节点,都需要通过松散路径段且需要从故障节点的上一跳节点绕过故障节点到达尾节点,由于该路径段的源节点在删除到故障节点的主备转发表后,无法将数据报文转发到故障节点的上一跳节点,会导致转发报文失败。In the case of a loose path in the forwarding path, when the destination node of the loose path segment fails, the node's fault information is flooded to the entire network, and all nodes on the entire network will delete the corresponding active and standby nodes of the faulty node. Forwarding table. In the case of a loose path, the main path and the backup path, from the first node to the tail node, need to pass through the loose path segment and need to bypass the failed node from the previous hop node of the failed node to reach the tail node. After the source node deletes the active and standby forwarding tables of the faulty node, it cannot forward data packets to the previous hop node of the faulty node, which will cause the forwarding of the packet to fail.
以图3所示为例,RT1指定的SR-TE路径经过的节点为RT3,RT4,RT5,当RT3故障的时候,RT2感知到RT3故障时,通过IGP泛洪(Flooding)该RT3故障的故障信息,并触发SR-TE FRR切换,切换到备份路径RT7,RT4,RT5,绕过故障点RT3,当RT3故障信息泛洪到全网的节点后,RT1开始收敛,会删除到RT3的主备转发表,从而RT1无法转发数据报文到RT2。Take the example shown in Figure 3 as an example. The nodes that the SR-TE path designated by RT1 passes through are RT3, RT4, and RT5. When RT3 fails, RT2 senses the failure of RT3, and floods the fault of RT3 through IGP. Information, and trigger the SR-TE FRR switch, switch to the backup paths RT7, RT4, RT5, bypass the failure point RT3, when the RT3 failure information floods the nodes of the entire network, RT1 starts to converge, and will be deleted to the RT3 master and backup Forwarding table, so RT1 cannot forward data packets to RT2.
基于此,本申请实施例提供了一种传输路径故障的处理方法,故障节点的上一跳节点采用IGP协议向全网的所有节点泛洪该故障节点的前缀(节点)标签。一种方式是:故障节点的上一跳节点感知到该故障节点发生故障时,采用IGP协议向全网泛洪该故障节点的前缀(节点)标签。示例性地,可以设置该由上一跳节点泛洪的故障节点的前缀标签的优先级低于由故障节点在发生故障前,获取到自身的前缀标签时泛洪的自身的前缀标签的优先级。另一种方式是:故障节点发生故障前,获取到自身的前缀标签时泛洪自身的前缀标签,故障节点的上一跳节点在接收到该故障节点发生故障前泛洪的前缀标签时,在全网泛洪该故障节点的前缀标签。示例性地,可以设置该由上一跳节点泛洪的故障节点的前缀标签的 优先级低于由故障节点在发生故障前,获取到自身的前缀标签时泛洪的自身的前缀标签的优先级。Based on this, the embodiment of the present application provides a method for processing a transmission path failure. The previous hop node of the failed node uses the IGP protocol to flood all nodes in the entire network with the prefix (node) label of the failed node. One way is: when the previous hop node of the faulty node detects that the faulty node is faulty, the IGP protocol is used to flood the prefix (node) label of the faulty node to the entire network. Exemplarily, the priority of the prefix label of the faulty node flooded by the previous hop node may be set lower than the priority of its own prefix label flooded when the faulty node obtains its own prefix label before the failure occurs. . Another method is: before the faulty node fails, flood its own prefix label when it obtains its own prefix label, and when the previous hop node of the faulty node receives the flooded prefix label before the faulty node fails, it The prefix label of the faulty node is flooded throughout the network. Exemplarily, the priority of the prefix label of the faulty node flooded by the previous hop node may be set lower than the priority of its own prefix label flooded when the faulty node obtains its own prefix label before the failure occurs. .
上一跳节点在泛洪该故障节点的前缀标签时,可以将故障节点的前缀标签携带在Mapping TLV(Type-Length-Value)。When the previous hop node flooded the prefix label of the faulty node, the prefix label of the faulty node could be carried in Mapping TLV (Type-Length-Value).
需要说明的是,本申请实施例中有关Mapping TLV的细节,请参考国际互联网工程任务组(Internet Engineering Task Force,IETF)发布的文稿draft-ietf-isis-segment-routing-extensions,该文档与此相关部分的内容好像整体复制一般以引入的方式并入本文本中,此处为了简洁,不再赘述。It should be noted that, for details of Mapping and TLVs in the embodiments of this application, please refer to the draft-ietf-isis-segment-routing-extensions published by the Internet Engineering Task Force (IETF). The content of the relevant parts seems to be incorporated into this text in a manner of introduction, which is omitted here for brevity.
在TLV的定义中,包括三个域,分别为:标签域(Tag),长度域(Length),内容域(Value)。在Value的内容中包含了标签。Mapping TLV也可以称为标签绑定TLV(SID/Label Binding TLV)。示例性地,以图5所示为Mapping TLV格式为例。其中,Type表示该TLV的类型,Length表示控制报文的长度,Flags表示标志位,RESERVED表示预留位,当前未用到。Range字段提供了指定一个地址段和地址段关联的Prefix SID段的能力,Prefix length表示前缀的长度,prefix在通告路径的尾节点表示转发等价类,SubTLV表示发布Prefix-SID的sub-TLV。In the definition of TLV, there are three fields: Tag field, Length field, and Content field. The contents of Value contain tags. Mapping TLVs can also be called label binding TLVs (SID / Label Binding TLVs). Exemplarily, a Mapping TLV format shown in FIG. 5 is taken as an example. Among them, Type indicates the type of the TLV, Length indicates the length of the control message, Flags indicates the flag bit, and RESERVED indicates the reserved bit, which is not currently used. The Range field provides the ability to specify a Prefix and SID segment associated with an address segment. Prefix length indicates the length of the prefix, prefix indicates the forwarding equivalence class at the tail node of the advertisement path, and SubTLV indicates the sub-TLV that issues the Prefix-SID.
示例性地,本申请实施例中,上一跳节点可以在Flags中增加一个R字段,用于表示重发布标志位,即针对故障节点的前缀标签由该上一跳节点重新发布给全网其它节点。For example, in the embodiment of the present application, the previous hop node may add an R field in Flags to indicate a re-issue flag, that is, the prefix label for the failed node is re-published by the previous hop node to the rest of the network. node.
Flags的格式可以参见图6所示。其中,F表示地址族标志。如果未置位,代表IPv4前缀;如果置位,代表IPv6前缀。M表示镜像环境标记。如果通告的SID关联一个镜像环境则设置该标记,S表示SID/Label Binding TLV是否可在整个路由域内泛洪。如果置位,表示在整个路由域内泛洪;如果未置位,SID/Label Binding TLV一定不能在level间渗透。D表示当SID/Label Binding TLV从level-2向level-1渗透时,必须设置该标记。否则该标记必须被清除。A表示附属标记。其中,Level是中间***到中间***(Intermediate System-to-Intermediate System,IS-IS)路由协议中对网络分层的概念。普通区域称为Level-1,骨干区称为Level-2。The format of Flags can be seen in Figure 6. Among them, F represents the address family flag. If not set, it represents IPv4 prefix; if set, it represents IPv6 prefix. M represents a mirrored environment flag. This flag is set if the advertised SID is associated with a mirroring environment, and S indicates whether the SID / LabelBinding TLV can be flooded within the entire routing domain. If set, it means flooding in the entire routing domain; if not set, the SID / Label Binding TLV must not penetrate between levels. D indicates that this flag must be set when the SID / Label Binding TLV penetrates from level-2 to level-1. Otherwise the flag must be cleared. A represents an auxiliary mark. Among them, Level is the concept of network layering in the Intermediate System-to-Intermediate System (IS-IS) routing protocol. The common area is called Level-1, and the backbone area is called Level-2.
以图3所示的网络架构为例,RT2在确定RT3故障时,向全网泛洪RT3的节点标签,RT2泛洪的RT3的节点标签的优先级可以低于RT3泛洪的RT3的节点标签的优先级。RT1在收到RT2泛洪的RT3的节点标签后,根据RT3的节点标签确定向RT2节点发送数据报文的出标签,即RT2的SRGB初始值+RT3的节点标签=2000+3=2003。从而RT2在接收到报文后切换到备份路径上继续转发。RT2切换备份路径转发报文的方式可以采用现有context表的形式,当然还可以采用上述配置context表的方式,此处对此不作限定。具体的发送过程可以参见针对问题一的实施例描述的转发方式,此处不再赘述。Taking the network architecture shown in FIG. 3 as an example, when RT2 determines that RT3 is faulty, it floods the node labels of RT3 to the entire network. The priority of the node labels of RT3 flooded by RT3 can be lower than the node labels of RT3 flooded by RT3 Priority. After receiving the node label of RT3 flooded by RT2, RT1 determines the outgoing label of the data message sent to the RT2 node according to the node label of RT3, that is, the initial value of SRGB of RT2 + the node label of RT3 = 2000 + 3 = 2003. Therefore, RT2 switches to the backup path and continues forwarding after receiving the message. The way in which RT2 switches the backup path to forward packets can be in the form of an existing context table. Of course, the manner of configuring the context table described above can also be used, which is not limited here. For the specific sending process, refer to the forwarding method described in the embodiment of the first question, which will not be repeated here.
针对问题三:For problem three:
在主路径上的转发节点发生故障时,上一跳节点切换到备份路径上转发报文。当故障节点恢复后重启完成时,故障恢复节点会重现将自身的节点(前缀)标签、邻接标签等信息重新泛洪给网络中的其它节点。上一跳节点接收到故障恢复节点泛洪的信息后,将数据报文重新切回到主路径,即重新通过故障恢复节点传输报文。但是由于故障恢复节点刚刚重启,本地数据库可能不完整,比如还没有学习到其它节点,比如主路径该故障恢复节点的 下一跳节点的节点标签、邻接标签等信息,在该情况下,RT3接收到报文后,无法转发报文到下一跳节点,导致数据报文丢失。When the forwarding node on the primary path fails, the previous hop node switches to the backup path to forward packets. When the restart of the failed node is completed, the failed node will re-flood its own node (prefix) label, adjacency label, and other information to other nodes in the network. After the previous hop node receives the flooding information from the failover node, it switches the data packet back to the main path, that is, it retransmits the packet through the failover node. However, because the failover node has just restarted, the local database may be incomplete. For example, no other nodes have been learned, such as the node label and adjacency label of the next hop node of the failover node on the main path. In this case, RT3 receives After the packet arrives, the packet cannot be forwarded to the next hop node, resulting in data packet loss.
以图3所示,RT1指定的SR-TE路径为RT3,RT4,RT5,当RT3故障的时候,RT2通过感知到RT3故障后,触发SR-TE FRR切换,切换到备份路径RT7,RT4,RT5,因此绕过故障节点RT3。但当RT3故障恢复,并且重启完成时,RT3将Node Sid重新发布到全网,RT2将数据报文重新切回到RT3。但是由于RT3刚刚重启完成,它本地数据库可能还不全,比如还没有学到RT4和RT5的node Sid,这样就导致数据报文在RT3无法转发到下一跳节点RT4,丢弃报文。As shown in Figure 3, the SR-TE paths designated by RT1 are RT3, RT4, and RT5. When RT3 fails, RT2 triggers the SR-TE FRR switch after detecting the failure of RT3, and switches to the backup paths RT7, RT4, RT5 Therefore, bypass the failed node RT3. However, when RT3 recovers and the restart is complete, RT3 republishes the Node Sid to the entire network, and RT2 switches the data packet back to RT3. However, because RT3 has just restarted, its local database may not be complete. For example, the node Sids of RT4 and RT5 have not been learned, so that data packets cannot be forwarded to the next-hop node RT4 at RT3, and the packets are discarded.
基于此,本申请实施例提供了一种传输路径故障的处理方法。在故障节点恢复,且重启完成时,为防止恢复的故障节点的上一跳节点在感知到故障节点恢复时,恢复的故障节点为学习到其它节点的前缀SID,到时数据报文丢失。在故障节点恢复后首先在全网发布指示信息,指示信息用于指示恢复的故障节点无法正确转发报文;因此上一跳节点在接收到待发送给恢复的故障节点的数据报文时,依然从备份路径转发数据报文。Based on this, an embodiment of the present application provides a method for processing a transmission path fault. When the faulty node recovers and the restart is complete, in order to prevent the previous hop node of the recovered faulty node from sensing the recovery of the faulty node, the recovered faulty node learns the prefix SIDs of other nodes, and then data packets are lost. After the faulty node recovers, it first publishes instructions on the entire network. The indication information is used to indicate that the recovered faulty node cannot forward the message correctly; therefore, when the previous hop node received the data message to be sent to the recovered faulty node, it still Forwards data packets from the backup path.
示例性地,指示信息可以携带在Overload bit。Overload bit是IS-IS路由协议中规定的。如果一个节点不能完成全部的连接状态数据(LSDB),即本地存储用于存储全网所有节点的拓扑信息,它将在自己发布的链路状态数据包的头部用一个bit来标识其未完成LSDB,无法正确转发报文,这一个bit的标识位叫做Overload(OL)bit。通过该节点发布的链路状态数据包中的Overload bit,其他节点得知该节点可能无法做出正确的路由决定,即无法正确转发数据报文,因为它的LSDB没有完成。其他节点在计算最短路径时不会通过这个节点来转发数据报文。Exemplarily, the indication information may be carried in the Overload bit. Overload is specified in the IS-IS routing protocol. If a node cannot complete all the link state data (LSDB), that is, the local storage is used to store the topology information of all nodes in the entire network, it will use a bit in the header of the link state data packet issued by itself to identify its incompleteness. The LSDB cannot forward packets correctly. This one-bit identification bit is called the Overload (OL) bit. Through the overload bit in the link state data packet issued by this node, other nodes learn that the node may not be able to make a correct routing decision, that is, it cannot forward the data packet correctly because its LSDB is not completed. Other nodes will not forward data packets through this node when calculating the shortest path.
以图3所示的网络架构为例,故障节点RT3在故障恢复,且重启完成后,为防止RT2首先感知到RT3故障恢复,且此时RT3还未学习到RT4和RT5的前缀Sid,导致数据报文丢失。RT3在故障重启完成后在发布链路状态数据包的头部添加Overload bit标识位。Taking the network architecture shown in Figure 3 as an example, after the faulty node RT3 recovers and restarts, in order to prevent RT2 from first detecting RT3 fault recovery, and at this time RT3 has not learned the prefixes Sid of RT4 and RT5, resulting in data The message was lost. RT3 adds the overload bit to the header of the link-state packet after the faulty restart is complete.
节点RT2收到RT3发布链路状态数据包中的Overload bit,感知到其下一跳节点RT3处于Overload状态。因此,节点RT2继续走故障恢复前的SR-TE FRR转发路径,RT2采用备份路径转发数据报文的方式可以采用现有context表的形式,当然还可以采用上述配置context表的方式,此处对此不作限定。具体的发送过程可以参见图4对应的实施例的转发方式,此处不再赘述。The node RT2 receives the overload bit in the link state data packet issued by RT3, and senses that its next hop node RT3 is in the overload state. Therefore, the node RT2 continues to follow the SR-TE / FRR forwarding path before the fault recovery. The way in which RT2 uses the backup path to forward data packets can be in the form of the existing context table. Of course, the above method of configuring the context table can also be used. This is not limited. For a specific sending process, refer to the forwarding manner in the embodiment corresponding to FIG. 4, and details are not described herein again.
故障节点完成LSDB的时间,即Overload时间,一般比较长,比如是60s。因此在该时长内RT2可以采用查Context表按着SR-TE FRR路径(备份路径)转发数据报文。示例性地,可以给配置Overload时长,RT2在该时长内采用备份路径转发数据报文。当然,RT3在完成LSDB时,可以再次在全网发布链路状态数据包,且头部不再包括overload bit标志位。RT2在收到该不包括overload bit标志位的链路状态数据包后,再切回到该RT3转发数据报文。The time it takes for the failed node to complete the LSDB, that is, the overload time, is generally relatively long, such as 60s. Therefore, within this time period, RT2 can use the Context table to forward data packets along the SR-TE FRR path (backup path). Exemplarily, an overload duration may be configured, and the RT2 uses a backup path to forward data packets within the duration. Of course, when RT3 completes the LSDB, it can publish a link state packet again on the entire network, and the header no longer includes the overload bit. After receiving the link state packet that does not include the overload bit, RT2 then switches back to the RT3 to forward the data packet.
基于与方法实施例同样的发明构思,本申请实施例还提供了一种装置,参见图7所示,该装置700应用于网络设备。该装置700可以包括接收模块701、处理模块702、发送模块703。该装置700具体可以是网络设备中的处理器,或者芯片或者芯片***,或者是一个功能模块等。处理模块702用于对装置700的动作进行控制管理,接收模块701用于接收信息或者报文,发送模块703用于发送信息或者发送报文,处理模块702用于对接收模块701 接收到的信息或者报文进行处理。处理模块702还可以用于指示上述任意实施例中涉及网络设备(比如第一节点或者RT2)的处理过程和/或本申请所描述的技术方案的其他过程。该装置还可以包括存储模块(图7中未示出),存储模块用于存储Context表与主备转发表。在一种可能的实施方式中,该装置700可以应用于故障节点的上一跳节点,比如图2对应的实施例中的第一节点或者图3、图4对应的实施例中的RT2。Based on the same inventive concept as the method embodiment, an embodiment of the present application further provides an apparatus. As shown in FIG. 7, the apparatus 700 is applied to a network device. The apparatus 700 may include a receiving module 701, a processing module 702, and a sending module 703. The apparatus 700 may specifically be a processor in a network device, or a chip or a chip system, or a functional module. The processing module 702 is used to control and manage the actions of the device 700, the receiving module 701 is used to receive information or messages, the sending module 703 is used to send information or messages, and the processing module 702 is used to control the information received by the receiving module 701 Or the message is processed. The processing module 702 may also be used to indicate a processing process involving a network device (such as the first node or RT2) and / or other processes of the technical solution described in this application in any of the foregoing embodiments. The apparatus may further include a storage module (not shown in FIG. 7), and the storage module is configured to store the Context table and the master-slave forwarding table. In a possible implementation manner, the apparatus 700 may be applied to a previous hop node of a faulty node, such as the first node in the embodiment corresponding to FIG. 2 or RT2 in the embodiments corresponding to FIG. 3 and FIG. 4.
以该装置180应用于第一节点为例,接收模块701,用于接收第二节点发送的第一报文,所述第二节点为主路径上所述第一节点的上一跳节点;处理模块702,用于确定所述第三节点故障时,确定所述第一节点的段路由全局块SRGB初始值与所述第三节点的SRGB初始值的差值,所述第三节点为所述主路径上所述第一节点的下一跳节点;从所述第一报文中获取第一标签,所述第一标签是基于第三节点的SRGB初始值以及第四节点的节点段标识确定的,所述第四节点为在所述主路径上所述第三节点的下一跳节点;并将所述第一标签以及所述差值的和值作为由所述第一节点到所述第四节点的备份路径的入标签,从备份转发表中确定由所述第一节点到所述第四节点的备份路径的出标签;发送模块703,用于基于所述出标签向备份路径上所述第一节点的下一跳节点发送所述第一报文。Taking the application of the device 180 to a first node as an example, the receiving module 701 is configured to receive a first message sent by a second node, where the second node is a previous hop node of the first node on a main path; processing Module 702, configured to determine, when the third node is faulty, determining a difference between an initial value of a segment routing global block SRGB of the first node and an initial value of SRGB of the third node, where the third node is the A next hop node of the first node on the main path; obtaining a first label from the first packet, the first label being determined based on an initial SRGB value of the third node and a node segment identifier of the fourth node The fourth node is a next-hop node of the third node on the main path; and the sum of the first label and the difference value is taken by the first node to the The in-label of the backup path of the fourth node determines the out-label of the backup path from the first node to the fourth node from the backup forwarding table; the sending module 703 is configured to send the backup path to the backup path based on the out-label. The next hop node of the first node sends the first Message.
在一种可能的实施方式中,所述第一报文中包括用于指导所述第一报文在所述主路径上转发的标签栈列表;In a possible implementation manner, the first packet includes a label stack list for instructing the first packet to be forwarded on the main path;
所述处理模块702,在确定所述第一节点的SRGB初始值与所述第三节点的SRGB初始值的差值,具体用于从所述标签栈列表的栈顶获取第二标签,所述第二标签是基于所述第三节点的节点段标识与所述第一节点的SRGB初始值确定的;在所述备份转发表确定所述第二标签对应的第一转发行为;所述第一转发行为用于指示查找标签信息表;所述标签信息表中包括所述第二标签对应的所述差值;从所述标签信息表中获取所述差值。The processing module 702 determines a difference between an initial SRGB value of the first node and an initial SRGB value of the third node, and is specifically configured to obtain a second label from a stack top of the label stack list. The second label is determined based on the node segment identifier of the third node and the initial SRGB value of the first node; determining the first forwarding behavior corresponding to the second label in the backup forwarding table; the first The forwarding behavior is used to instruct to find a tag information table; the tag information table includes the difference value corresponding to the second tag; and the difference value is obtained from the tag information table.
在一种可能的实施方式中,所述处理模块702,在从所述第一报文中获取第一标签时,具体用于将所述标签栈列表栈顶的第二标签弹出后,从弹出所述第二标签的标签栈列表的栈顶获取所述第一标签;所述处理模块702,还用于将所述标签栈列表中的第一标签交换为所述出标签;所述发送模块703,具体用于向所述备份路径上所述第一节点的下一跳节点发送更新后的所述第一报文。In a possible implementation manner, when the processing module 702 obtains a first label from the first packet, the processing module 702 is specifically configured to pop out the second label at the top of the label stack list, and then pop out from the popup. Acquiring the first label at the top of the label stack list of the second label; the processing module 702 is further configured to exchange the first label in the label stack list with the outgoing label; the sending module 703 is specifically configured to send the updated first packet to a next hop node of the first node on the backup path.
在一种可能的实施方式中,所述发送模块703,还用于在所述接收模块701接收所述第二节点发送的第一报文之前,以及在接收到所述第三节点在网络内泛洪的所述第三节点的节点段标识之后,向所述网络内的其它节点泛洪所述第三节点的节点段标识,所述第一节点泛洪的所述第三节点的节点段标识的优先级小于所述第三节点泛洪的所述第三节点的节点段标识;In a possible implementation manner, the sending module 703 is further configured to: before the receiving module 701 receives the first message sent by the second node, and before receiving the third node in the network After the node segment identifier of the third node flooded, the node segment identifier of the third node is flooded to other nodes in the network, and the node segment of the third node flooded by the first node The priority of the identifier is lower than the node segment identifier of the third node flooded by the third node;
其中,所述第一标签是所述第二节点根据所述第一节点泛洪的所述第三节点的节点段标识和所述第一节点的SRGB初始值确定的。The first label is determined by the second node according to a node segment identifier of the third node flooded by the first node and an initial SRGB value of the first node.
在一种可能的实施方式中,所述接收模块,还用于接收所述第三网络设备在故障恢复后发送的指示信息,所述指示信息用于指示所述第三网络设备无法正确转发报文;所述发送模块,还用于在所述接收模块接收到所述第二网络设备发送的第二报文时,基于所述确定的出标签发送所述第二报文。In a possible implementation manner, the receiving module is further configured to receive instruction information sent by the third network device after the fault recovers, where the instruction information is used to indicate that the third network device cannot forward the report correctly. The sending module is further configured to send the second message based on the determined outgoing label when the receiving module receives the second message sent by the second network device.
在一种可能的实施方式中,该装置700可以应用于松散路径段的源节点,比如图2所示的第二节点,或者图3、图4对应的实施例中的RT1。In a possible implementation manner, the apparatus 700 may be applied to a source node of a loose path segment, such as a second node shown in FIG. 2 or RT1 in the embodiments corresponding to FIG. 3 and FIG. 4.
以应用到第二节点为例,接收模块701,用于接收第一网络设备在网络内泛洪的第三网络设备的节点段标识;所述第三网络设备为所述第一网络设备的邻接网络设备,所述第一网络设备泛洪的所述第三网络设备的节点段标识的优先级低于所述第三网络设备泛洪的第三网络设备的节点段标识;处理模块702,用于在通过主路径发送报文的过程中,确定所述第三网络设备发生故障;其中,所述第一网络设备为所述主路径上所述第二网络设备的下一跳网络设备,所述第三网络设备为在所述主路径上所述第一网络设备的下一跳网络设备;发送模块703,用于基于所述第一网络设备泛洪的所述第三网络设备的节点段标识,将所述报文通过备份路径发送给所述第一网络设备;所述第一网络设备为所述备份路径上所述第二网络设备的下一跳网络设备。Taking the application to the second node as an example, the receiving module 701 is configured to receive a node segment identifier of a third network device flooded by the first network device in the network; the third network device is an adjacency of the first network device. A network device, the node segment identifier of the third network device flooded by the first network device has a lower priority than the node segment identifier of the third network device flooded by the third network device; and the processing module 702 uses the In the process of sending a message through the main path, it is determined that the third network device fails; wherein the first network device is a next-hop network device of the second network device on the main path, so The third network device is a next hop network device of the first network device on the main path; and a sending module 703 is configured to be based on the node segment of the third network device flooded by the first network device. And sending the message to the first network device through a backup path; the first network device is a next-hop network device of the second network device on the backup path.
本申请实施例还提供一种网络设备的结构,如图8所示,网络设备800中可以包括通信接口810、处理器820。可选的,网络设备800中还可以包括存储器830。其中,存储器830可以设置于网络设备内部,还可以设置于网络设备外部。上述图7中所示的、处理模块702均可以由处理器820实现。接收模块701、发送模块703可以由通信接口810实现。The embodiment of the present application further provides a structure of a network device. As shown in FIG. 8, the network device 800 may include a communication interface 810 and a processor 820. Optionally, the network device 800 may further include a memory 830. The memory 830 may be provided inside the network device, and may also be provided outside the network device. The processing module 702 shown in the foregoing FIG. 7 may be implemented by the processor 820. The receiving module 701 and the sending module 703 may be implemented by the communication interface 810.
在一种可能的实施方式中,处理器820通过通信接口810收发报文或者消息,并用于实现图2~图4中所述的节点(第一节点或者RT2)所执行的任一方法。在实现过程中,处理流程的各步骤可以通过处理器820中的硬件的集成逻辑电路或者软件形式的指令完成图2~图4中所述的第一节点或者RT2所执行的方法。为了简洁,在此不再赘述。处理器820用于实现上述方法所执行的程序代码可以存储在存储器830中。存储器830和处理器820耦合。In a possible implementation manner, the processor 820 receives and sends packets or messages through the communication interface 810, and is configured to implement any method performed by the node (first node or RT2) described in FIG. 2 to FIG. 4. In the implementation process, each step of the processing flow may complete the method executed by the first node or RT2 described in FIG. 2 to FIG. 4 through an integrated logic circuit of hardware in the processor 820 or an instruction in the form of software. For brevity, I will not repeat them here. The program code executed by the processor 820 to implement the foregoing method may be stored in the memory 830. The memory 830 and the processor 820 are coupled.
在一种可能的实施方式中,处理器820可以通过通信接口810收发报文或者消息,并用于实现图2~图4中所述的节点(第二节点或者RT1)所执行的任一方法。在实现过程中,处理流程的各步骤可以通过处理器820中的硬件的集成逻辑电路或者软件形式的指令完成图2~图4中所述的第二节点或者RT1所执行的方法。为了简洁,在此不再赘述。处理器820用于实现上述方法所执行的程序代码可以存储在存储器830中。存储器830和处理器820耦合。In a possible implementation manner, the processor 820 may send and receive packets or messages through the communication interface 810, and is configured to implement any method performed by the node (second node or RT1) described in FIG. 2 to FIG. 4. In the implementation process, each step of the processing flow may complete the method executed by the second node or RT1 described in FIG. 2 to FIG. 4 through hardware integrated logic circuits or instructions in the form of software in the processor 820. For brevity, I will not repeat them here. The program code executed by the processor 820 to implement the foregoing method may be stored in the memory 830. The memory 830 and the processor 820 are coupled.
本申请实施例中涉及到的任一通信接口可以是电路、总线、收发器或者其它任意可以用于进行信息交互的装置。比如网络设备800中的通信接口810,示例性地,该其它装置可以是与该网络设备800相连的设备,比如,该其它装置可以是该网络设备800的上一跳节点或者下一跳节点等。Any communication interface involved in the embodiments of the present application may be a circuit, a bus, a transceiver, or any other device that can be used for information interaction. For example, the communication interface 810 in the network device 800. For example, the other device may be a device connected to the network device 800. For example, the other device may be a previous hop node or a next hop node of the network device 800. .
本申请实施例中涉及的处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。The processors involved in the embodiments of the present application may be general-purpose processors, digital signal processors, application specific integrated circuits, field programmable gate arrays or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and may implement or The disclosed methods, steps and logic block diagrams in the embodiments of the present application are executed. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in combination with the embodiments of the present application may be directly implemented by a hardware processor, or may be performed by a combination of hardware and software modules in the processor.
本申请实施例中的耦合是装置、模块或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、模块或模块之间的信息交互。The coupling in the embodiments of the present application is an indirect coupling or communication connection between devices, modules, or modules, and may be electrical, mechanical, or other forms for information exchange between devices, modules, or modules.
处理器820可能和存储器830协同操作。存储器830可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储 器830是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。The processor 820 may operate in cooperation with the memory 830. The memory 830 may be a non-volatile memory, such as a hard disk (HDD) or a solid-state drive (SSD), etc., or a volatile memory, such as a random access memory (random -access memory, RAM). The memory 830 is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto.
本申请实施例中不限定上述通信接口810、处理器820以及存储器830之间的具体连接介质。本申请实施例在图8中以存储器830、处理器820以及通信接口810之间通过总线连接,总线在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。The embodiments of the present application are not limited to the specific connection medium between the communication interface 810, the processor 820, and the memory 830. In the embodiment of the present application, the memory 830, the processor 820, and the communication interface 810 are connected by a bus in FIG. 8. The bus is indicated by a thick line in FIG. 8. The connection modes of other components are only schematically illustrated. It is not limited. The bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used in FIG. 8, but it does not mean that there is only one bus or one type of bus.
基于以上实施例,本申请实施例还提供了一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述任意一个或多个实施例提供的方法。所述计算机存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。Based on the above embodiments, an embodiment of the present application further provides a computer storage medium. A software program is stored in the storage medium, and when read and executed by one or more processors, the software program can implement any one or more of the foregoing. The methods provided by the examples. The computer storage medium may include various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory, a random access memory, a magnetic disk, or an optical disk.
基于以上实施例,本申请实施例还提供了一种芯片,该芯片包括处理器,用于实现上述任意一个或多个实施例所涉及的功能,例如用于实现图2-图4中第一节点或者RT2所执行的方法,或者用于实现图2-图4中第二节点或者RT1所执行的方法。可选地,所述芯片还包括存储器,所述存储器,用于处理器所执行必要的程序指令和数据。该芯片,可以由芯片构成,也可以包含芯片和其他分立器件。Based on the above embodiments, an embodiment of the present application further provides a chip, and the chip includes a processor, which is configured to implement functions involved in any one or more of the foregoing embodiments, for example, to implement the first in FIG. 2 to FIG. 4. The method executed by the node or RT2, or used to implement the method executed by the second node or RT1 in Figs. Optionally, the chip further includes a memory, and the memory is configured to execute necessary program instructions and data executed by the processor. The chip may be composed of a chip, and may also include a chip and other discrete devices.
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art should understand that the embodiments of the present application may be provided as a method, a system, or a computer program product. Therefore, this application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, this application may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。This application is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present application. It should be understood that each process and / or block in the flowcharts and / or block diagrams, and combinations of processes and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to produce a machine, so that instructions generated by the processor of the computer or other programmable data processing device may be used to Means for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagrams.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to work in a specific manner such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction device, the instructions The device implements the functions specified in one or more flowcharts and / or one or more blocks of the block diagram.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of steps can be performed on the computer or other programmable device to produce a computer-implemented process, which can be executed on the computer or other programmable device. The instructions provide steps for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagrams.
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。Obviously, those skilled in the art can make various modifications and variations to this application without departing from the scope of this application. In this way, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalent technologies, this application also intends to include these modifications and variations.

Claims (16)

  1. 一种传输路径故障的处理方法,其特征在于,包括:A method for processing a transmission path fault is characterized in that it includes:
    第一网络设备接收第二网络设备发送的第一报文,所述第二网络设备为主路径上所述第一网络设备的上一跳网络设备;Receiving, by a first network device, a first message sent by a second network device, where the second network device is a last hop network device of the first network device on a primary path;
    所述第一网络设备确定所述第三网络设备故障时,确定所述第一网络设备的段路由全局块SRGB初始值与所述第三网络设备的SRGB初始值的差值,所述第三网络设备为所述主路径上所述第一网络设备的下一跳网络设备;When the first network device determines that the third network device is faulty, determining a difference between an initial value of the segment routing global block SRGB of the first network device and an initial value of the SRGB of the third network device, the third network device The network device is a next-hop network device of the first network device on the main path;
    所述第一网络设备从所述第一报文中获取第一标签,所述第一标签是基于第三网络设备的SRGB初始值以及第四网络设备的节点段标识确定的,所述第四网络设备为在所述主路径上所述第三网络设备的下一跳网络设备;The first network device obtains a first label from the first packet, the first label is determined based on an initial SRGB value of a third network device and a node segment identifier of a fourth network device, and the fourth network device The network device is a next-hop network device of the third network device on the main path;
    所述第一网络设备将所述第一标签以及所述差值的和值作为由所述第一网络设备到所述第四网络设备的备份路径的入标签,从备份转发表中确定由所述第一网络设备到所述第四网络设备的备份路径的出标签;The first network device uses the sum of the first label and the difference value as an incoming label of a backup path from the first network device to the fourth network device, and determines from the backup forwarding table The labeling of the backup path from the first network device to the fourth network device;
    所述第一网络设备基于所述出标签向备份路径上所述第一网络设备的下一跳网络设备发送所述第一报文。Sending, by the first network device, the first packet to a next-hop network device of the first network device on a backup path based on the outgoing label.
  2. 如权利要求1所述的方法,其特征在于,所述第一报文中包括用于指导所述第一报文在所述主路径上转发的标签栈列表;The method according to claim 1, wherein the first message includes a label stack list for instructing the first message to be forwarded on the main path;
    所述确定所述第一网络设备的SRGB初始值与所述第三网络设备的SRGB初始值的差值,包括:The determining a difference between an initial SRGB value of the first network device and an initial SRGB value of the third network device includes:
    所述第一网络设备从所述标签栈列表的栈顶获取第二标签,所述第二标签是基于所述第三网络设备的节点段标识与所述第一网络设备的SRGB初始值确定的;Obtaining, by the first network device, a second label from a top of the label stack list, the second label being determined based on a node segment identifier of the third network device and an initial SRGB value of the first network device ;
    所述第一网络设备在所述备份转发表确定所述第二标签对应的第一转发行为;Determining, by the first network device in the backup forwarding table, a first forwarding behavior corresponding to the second label;
    所述第一转发行为用于指示查找标签信息表;所述标签信息表中包括所述第二标签对应的所述差值;The first forwarding behavior is used to instruct to find a label information table; the label information table includes the difference value corresponding to the second label;
    所述第一网络设备从所述标签信息表中获取所述差值。Acquiring, by the first network device, the difference value from the label information table.
  3. 如权利要求2所述的方法,其特征在于,所述第一网络设备从所述第一报文中获取第一标签,包括:The method according to claim 2, wherein the acquiring, by the first network device, a first label from the first packet comprises:
    所述第一网络设备将所述标签栈列表栈顶的第二标签弹出后,从弹出所述第二标签的标签栈列表的栈顶获取所述第一标签;After the first network device pops the second label at the top of the label stack list stack, and obtains the first label from the top of the label stack list that pops up the second label;
    所述第一网络设备基于所述出标签向备份路径上所述第一网络设备的下一跳网络设备发送所述第一报文,包括:The sending, by the first network device, the first packet to a next-hop network device of the first network device on a backup path based on the outgoing label includes:
    所述第一网络设备将所述标签栈列表中的第一标签交换为所述出标签,并向所述备份路径上所述第一网络设备的下一跳网络设备发送更新后的所述第一报文。The first network device exchanges the first label in the label stack list with the out label, and sends the updated first label to the next-hop network device of the first network device on the backup path. A message.
  4. 如权利要求1-3任一项所述的方法,其特征在于,还包括:The method according to any one of claims 1-3, further comprising:
    所述第一网络设备在接收到所述第三网络设备在网络内泛洪的所述第三网络设备的节点段标识之后,向所述网络内的其它网络设备泛洪所述第三网络设备的节点段标识;The first network device floods the third network device to other network devices in the network after receiving the node segment identifier of the third network device flooded by the third network device in the network Node segment identifier
    其中,所述第一标签是所述第二网络设备根据所述第一网络设备泛洪的所述第三网络设备的节点段标识和所述第一网络设备的SRGB初始值确定的。The first label is determined by the second network device according to a node segment identifier of the third network device flooded by the first network device and an initial SRGB value of the first network device.
  5. 如权利要求1-4任一项所述的方法,其特征在于,还包括:The method according to any one of claims 1-4, further comprising:
    所述第一网络设备接收所述第三网络设备在故障恢复后发送的指示信息,所述指示信息用于指示所述第三网络设备无法正确转发报文;Receiving, by the first network device, instruction information sent by the third network device after the fault recovers, where the instruction information is used to indicate that the third network device cannot forward a message correctly;
    所述第一网络设备在接收到所述第二网络设备发送的第二报文时,基于所述确定的出标签发送所述第二报文。When the first network device receives a second message sent by the second network device, the first network device sends the second message based on the determined outgoing label.
  6. 一种传输路径故障的处理方法,其特征在于,包括:A method for processing a transmission path fault is characterized in that it includes:
    所述第二网络设备在通过主路径发送报文的过程中,确定第三网络设备发生故障;The second network device determines that the third network device is faulty during the process of sending a message through the main path;
    第二网络设备接收第一网络设备在网络内泛洪的第三网络设备的节点段标识;所述第三网络设备为所述第一网络设备的邻接网络设备;Receiving, by a second network device, a node segment identifier of a third network device flooded in the network by the first network device; the third network device is an adjacent network device of the first network device;
    其中,所述第一网络设备为所述主路径上所述第二网络设备的下一跳网络设备,所述第三网络设备为在所述主路径上所述第一网络设备的下一跳网络设备;The first network device is a next hop network device of the second network device on the main path, and the third network device is a next hop network device of the first network device on the main path. Internet equipment;
    所述第二网络设备基于所述第一网络设备泛洪的所述第三网络设备的节点段标识,将所述报文通过备份路径发送给所述第一网络设备;Sending, by the second network device, the packet to the first network device through a backup path based on the node segment identifier of the third network device flooded by the first network device;
    所述第一网络设备为所述备份路径上所述第二网络设备的下一跳网络设备。The first network device is a next-hop network device of the second network device on the backup path.
  7. 一种传输路径故障的处理装置,其特征在于,所述装置应用于第一网络设备,包括:An apparatus for processing a transmission path fault, wherein the apparatus is applied to a first network device and includes:
    接收模块,用于接收第二网络设备发送的第一报文,所述第二网络设备为主路径上所述第一网络设备的上一跳网络设备;A receiving module, configured to receive a first message sent by a second network device, where the second network device is a previous hop network device of the first network device on a main path;
    处理模块,用于确定所述第三网络设备故障时,确定所述第一网络设备的段路由全局块SRGB初始值与所述第三网络设备的SRGB初始值的差值,所述第三网络设备为所述主路径上所述第一网络设备的下一跳网络设备;从所述第一报文中获取第一标签,所述第一标签是基于第三网络设备的SRGB初始值以及第四网络设备的节点段标识确定的,所述第四网络设备为在所述主路径上所述第三网络设备的下一跳网络设备;并将所述第一标签以及所述差值的和值作为由所述第一网络设备到所述第四网络设备的备份路径的入标签,从备份转发表中确定由所述第一网络设备到所述第四网络设备的备份路径的出标签;A processing module, configured to determine, when the third network device is faulty, determining a difference between an initial value of a segment routing global block SRGB of the first network device and an initial value of the SRGB of the third network device, the third network device The device is a next hop network device of the first network device on the main path; a first label is obtained from the first packet, and the first label is based on an SRGB initial value of the third network device and a first The node segment identifier of the four network devices is determined, and the fourth network device is a next hop network device of the third network device on the main path; and the sum of the first label and the difference is A value as an in-label of a backup path from the first network device to the fourth network device, and determining an out-label of a backup path from the first network device to the fourth network device from a backup forwarding table;
    发送模块,用于基于所述出标签向备份路径上所述第一网络设备的下一跳网络设备发送所述第一报文。A sending module, configured to send the first packet to a next-hop network device of the first network device on a backup path based on the out-label.
  8. 如权利要求7所述的装置,其特征在于,所述第一报文中包括用于指导所述第一报文在所述主路径上转发的标签栈列表;The apparatus according to claim 7, wherein the first packet includes a label stack list for instructing the first packet to be forwarded on the main path;
    所述处理模块,在确定所述第一网络设备的SRGB初始值与所述第三网络设备的SRGB初始值的差值,具体用于从所述标签栈列表的栈顶获取第二标签,所述第二标签是基于所述第三网络设备的节点段标识与所述第一网络设备的SRGB初始值确定的;在所述备份转发表确定所述第二标签对应的第一转发行为;所述第一转发行为用于指示查找标签信息表;所述标签信息表中包括所述第二标签对应的所述差值;从所述标签信息表中获取所述差值。The processing module determines a difference between an initial SRGB value of the first network device and an initial SRGB value of the third network device, and is specifically configured to obtain a second label from a stack top of the label stack list. The second label is determined based on a node segment identifier of the third network device and an initial SRGB value of the first network device; determining a first forwarding behavior corresponding to the second label in the backup forwarding table; The first forwarding behavior is used to instruct searching for a tag information table; the tag information table includes the difference value corresponding to the second tag; and the difference value is obtained from the tag information table.
  9. 如权利要求8所述的装置,其特征在于,所述处理模块,在从所述第一报文中获取第一标签时,具体用于将所述标签栈列表栈顶的第二标签弹出后,从弹出所述第二标签的标签栈列表的栈顶获取所述第一标签;The device according to claim 8, wherein the processing module is specifically configured to pop out a second label at the top of the label stack list when the first label is obtained from the first packet. Obtaining the first label from the top of the stack that pops up the label stack list of the second label;
    所述处理模块,还用于将所述标签栈列表中的第一标签交换为所述出标签;The processing module is further configured to exchange the first label in the label stack list with the outgoing label;
    所述发送模块,具体用于向所述备份路径上所述第一网络设备的下一跳网络设备发送更新后的所述第一报文。The sending module is specifically configured to send the updated first message to a next-hop network device of the first network device on the backup path.
  10. 如权利要求7-9任一项所述的装置,其特征在于,所述发送模块,还用于在接收到 所述第三网络设备在网络内泛洪的所述第三网络设备的节点段标识之后,向所述网络内的其它网络设备泛洪所述第三网络设备的节点段标识;The apparatus according to any one of claims 7 to 9, wherein the sending module is further configured to receive a node segment of the third network device that the third network device floods in the network. Flooding the node segment identifier of the third network device to other network devices in the network after identification;
    其中,所述第一标签是所述第二网络设备根据所述第一网络设备泛洪的所述第三网络设备的节点段标识和所述第一网络设备的SRGB初始值确定的。The first label is determined by the second network device according to a node segment identifier of the third network device flooded by the first network device and an initial SRGB value of the first network device.
  11. 如权利要求7-10任一项所述的装置,其特征在于,所述接收模块,还用于接收所述第三网络设备在故障恢复后发送的指示信息,所述指示信息用于指示所述第三网络设备无法正确转发报文;The apparatus according to any one of claims 7 to 10, wherein the receiving module is further configured to receive instruction information sent by the third network device after the fault recovers, and the instruction information is used to indicate the The third network device cannot forward the message correctly;
    所述发送模块,还用于在所述接收模块接收到所述第二网络设备发送的第二报文时,基于所述确定的出标签发送所述第二报文。The sending module is further configured to send the second message based on the determined outgoing label when the receiving module receives a second message sent by the second network device.
  12. 一种传输路径故障的处理装置,其特征在于,所述装置应用于第二网络设备,包括:An apparatus for processing a transmission path fault, wherein the apparatus is applied to a second network device and includes:
    处理模块,用于在通过主路径发送报文的过程中,确定第三网络设备发生故障;A processing module, configured to determine that the third network device is faulty during the process of sending a message through the main path;
    接收模块,用于接收第一网络设备在网络内泛洪的第三网络设备的节点段标识;所述第三网络设备为所述第一网络设备的邻接网络设备;A receiving module, configured to receive a node segment identifier of a third network device flooded by a first network device in a network; the third network device is an adjacent network device of the first network device;
    其中,所述第一网络设备为所述主路径上所述第二网络设备的下一跳网络设备,所述第三网络设备为在所述主路径上所述第一网络设备的下一跳网络设备;The first network device is a next hop network device of the second network device on the main path, and the third network device is a next hop network device of the first network device on the main path. Internet equipment;
    发送模块,用于基于所述第一网络设备泛洪的所述第三网络设备的节点段标识,将所述报文通过备份路径发送给所述第一网络设备;A sending module, configured to send the packet to the first network device through a backup path based on the node segment identifier of the third network device flooded by the first network device;
    所述第一网络设备为所述备份路径上所述第二网络设备的下一跳网络设备。The first network device is a next-hop network device of the second network device on the backup path.
  13. 一种网络设备,其特征在于,包括:A network device, comprising:
    通信接口、处理器和存储器;Communication interface, processor and memory;
    所述存储器用于存储软件程序,所述处理器用于读取所述存储器中存储的软件程序,通过所述通信接口收发消息,并实现权利要求1至5任一项所述的方法。The memory is configured to store a software program, and the processor is configured to read the software program stored in the memory, send and receive messages through the communication interface, and implement the method according to any one of claims 1 to 5.
  14. 一种网络设备,其特征在于,包括:A network device, comprising:
    通信接口、处理器和存储器;Communication interface, processor and memory;
    所述存储器用于存储软件程序,所述处理器用于读取所述存储器中存储的软件程序,通过所述通信接口收发消息,并实现权利要求6所述的方法。The memory is configured to store a software program, and the processor is configured to read the software program stored in the memory, send and receive messages through the communication interface, and implement the method of claim 6.
  15. 一种***,其特征在于,包括如权利要求7至11任一所述的装置和如权利要求12所述的装置;或者,所述***包括如权利要求13所述的网络设备和如权利要求14所述的网络设备。A system, comprising the device according to any one of claims 7 to 11 and the device according to claim 12; or the system includes the network device according to claim 13 and the device according to claim The network device of 14.
  16. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储软件程序,所述软件程序在被一个或多个处理器读取并执行时可实现权利要求1至6任一项所述的方法。A computer-readable storage medium, characterized in that a software program is stored in the computer-readable storage medium, and when read and executed by one or more processors, the software program can implement any one of claims 1 to 6 Item.
PCT/CN2019/091497 2018-06-30 2019-06-17 Transmission path fault processing method, device and system WO2020001307A1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
EP23177800.2A EP4274182A3 (en) 2018-06-30 2019-06-17 Transmission path fault processing method, device and system
JP2020573293A JP7152533B2 (en) 2018-06-30 2019-06-17 Method, apparatus, and system for handling transmission path failures
EP19826317.0A EP3800840B1 (en) 2018-06-30 2019-06-17 Transmission path fault processing method, device and system
KR1020237002861A KR102589958B1 (en) 2018-06-30 2019-06-17 Transmission path fault processing method, device and system
KR1020217001786A KR102493384B1 (en) 2018-06-30 2019-06-17 Transmission path error processing method and device, and system
US17/137,015 US11722401B2 (en) 2018-06-30 2020-12-29 Method and apparatus for processing transmission path fault, and system
JP2022156315A JP2022186731A (en) 2018-06-30 2022-09-29 Method, device, and system for handling transmission path failure
US18/338,450 US20230353490A1 (en) 2018-06-30 2023-06-21 Method and Apparatus for Processing Transmission Path Fault, and System

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810703248.2 2018-06-30
CN201810703248.2A CN110661706B (en) 2018-06-30 2018-06-30 Method, device and system for processing transmission path fault

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/137,015 Continuation US11722401B2 (en) 2018-06-30 2020-12-29 Method and apparatus for processing transmission path fault, and system

Publications (1)

Publication Number Publication Date
WO2020001307A1 true WO2020001307A1 (en) 2020-01-02

Family

ID=68985768

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/091497 WO2020001307A1 (en) 2018-06-30 2019-06-17 Transmission path fault processing method, device and system

Country Status (6)

Country Link
US (2) US11722401B2 (en)
EP (2) EP4274182A3 (en)
JP (2) JP7152533B2 (en)
KR (2) KR102589958B1 (en)
CN (3) CN112995029B (en)
WO (1) WO2020001307A1 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995029B (en) * 2018-06-30 2024-03-19 华为技术有限公司 Transmission path fault processing method, device and system
CN110535772B (en) * 2019-08-27 2020-06-16 南京中兴软件有限责任公司 Method, device and network element for sending and receiving segmented routing traffic engineering strategy
CN115314563A (en) * 2020-01-20 2022-11-08 华为技术有限公司 Message generation method, message processing method and message processing device
CN111885630B (en) * 2020-07-01 2023-06-30 中国联合网络通信集团有限公司 Data transmission method and communication device
CN112134801B (en) * 2020-08-11 2022-02-15 中盈优创资讯科技有限公司 Method and device for processing segment identification SID and each node
US11855885B2 (en) * 2020-10-20 2023-12-26 Nokia Solutions And Networks Oy Label switched path scalability
CN114513452B (en) * 2020-10-29 2024-01-02 北京华为数字技术有限公司 Method, device, computer equipment and storage medium for forwarding message
CN116846807A (en) * 2020-11-27 2023-10-03 华为技术有限公司 Communication method and device
CN114697254A (en) * 2020-12-31 2022-07-01 北京华为数字技术有限公司 Message processing method and related device
US11711294B2 (en) * 2021-05-03 2023-07-25 Mellanox Technologies, Ltd. Fast rerouting using egress-port loopback
CN115701054A (en) * 2021-07-29 2023-02-07 华为技术有限公司 Data transmission method, related equipment and computer storage medium
CN113992567B (en) * 2021-10-26 2023-03-21 新华三信息安全技术有限公司 Message forwarding method and device
CN113965506B (en) * 2021-11-01 2023-02-28 南京熊猫汉达科技有限公司 Gateway backup method and system
CN114374644B (en) * 2021-12-22 2023-09-19 烟台东方瑞创达电子科技有限公司 Industrial Internet identification analysis method and system based on infrastructure logic architecture
CN116346708A (en) * 2021-12-23 2023-06-27 中兴通讯股份有限公司 Route updating method, network device, and computer-readable storage medium
CN116980345A (en) * 2022-04-22 2023-10-31 华为技术有限公司 Fault processing method, network equipment, storage medium and chip system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049350A (en) * 2014-04-17 2015-11-11 思科技术公司 Segment routing - egress peer engineering (SP-EPE)
CN105704021A (en) * 2016-01-22 2016-06-22 中国人民解放军国防科学技术大学 Rerouting method based on elastic label
US20170033939A1 (en) * 2015-07-28 2017-02-02 Ciena Corporation Multicast systems and methods for segment routing
US9838246B1 (en) * 2014-09-30 2017-12-05 Juniper Networks, Inc. Micro-loop prevention using source packet routing
US20180041420A1 (en) * 2016-08-03 2018-02-08 Cisco Technology, Inc. Loop detection and avoidance for segment routed traffic engineered paths
US20180077051A1 (en) * 2016-09-15 2018-03-15 Cisco Technology, Inc. Reroute Detection in Segment Routing Data Plane

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006218B (en) * 2009-09-03 2014-07-16 中兴通讯股份有限公司 Tunnel protection method and device
US8422364B2 (en) * 2010-05-17 2013-04-16 Cisco Technology, Inc. Multicast label distribution protocol node protection
US8842522B2 (en) * 2011-09-27 2014-09-23 Telefonaktiebolaget L M Ericsson (Publ) Incremental deployment of MRT based IPFRR
US9124511B2 (en) * 2012-01-10 2015-09-01 Cisco Technology, Inc. Determining backup forwarding paths based on route distinguisher correlation values
US9077561B2 (en) * 2012-03-27 2015-07-07 Juniper Networks, Inc. OAM label switched path for fast reroute of protected label switched paths
US9628285B2 (en) * 2012-06-01 2017-04-18 Telefonaktiebolaget L M Ericsson (Publ) Increasing failure coverage of MoFRR with dataplane notifications
ITRM20130571A1 (en) * 2013-10-17 2015-04-18 Cisco Tech Inc PROTECTION OF A SCALABLE EDGE NODE USING SEGMENT ROUNDING
US9253084B2 (en) * 2014-02-24 2016-02-02 Juniper Networks, Inc. Neighbor-label distribution with label distribution protocol
US9516118B2 (en) 2014-05-12 2016-12-06 Telefonaktiebolaget L M Ericsson (Publ) Scalable segment identifier allocation in segment routing
CN105282028A (en) * 2014-06-05 2016-01-27 中兴通讯股份有限公司 Message transmission method, nodes and path management servers
CN105337785B (en) * 2014-07-18 2018-10-02 华为技术有限公司 A kind of path connectivity detection method and device
US10063463B2 (en) * 2014-12-16 2018-08-28 Cisco Technology, Inc. Node protection for segment routing adjacency segments
US9787573B2 (en) * 2014-12-31 2017-10-10 Juniper Networks, Inc. Fast convergence on link failure in multi-homed Ethernet virtual private networks
US9794148B1 (en) * 2014-12-31 2017-10-17 Juniper Networks, Inc. Node protection for stacked labels
CN105871721B (en) * 2015-01-19 2020-05-05 中兴通讯股份有限公司 Segment routing processing method, processing device and sending device
CN105991437B (en) * 2015-02-16 2020-05-15 中兴通讯股份有限公司 Message forwarding processing method and device, controller and route forwarding equipment
US9774524B2 (en) * 2015-02-17 2017-09-26 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for fast reroute, control plane and forwarding plane synchronization
US10341221B2 (en) * 2015-02-26 2019-07-02 Cisco Technology, Inc. Traffic engineering for bit indexed explicit replication
WO2017118880A1 (en) * 2016-01-08 2017-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Faster convergence on primary provider edge (pe) failure in a single-active redundancy topology
US20170331727A1 (en) * 2016-05-10 2017-11-16 Electronics And Telecommunications Research Institute Protection switching method and apparatus using operator's commands in dual node interconnection-based protection switching
CN107666438B (en) * 2016-07-27 2021-10-22 中兴通讯股份有限公司 Message forwarding method and device
US10554425B2 (en) * 2017-07-28 2020-02-04 Juniper Networks, Inc. Maximally redundant trees to redundant multicast source nodes for multicast protection
US10404600B2 (en) * 2017-09-12 2019-09-03 Google Llc Mechanism and apparatus for path protection when using compressed segment routing label stacks
CN107864091B (en) * 2017-10-31 2020-04-03 新华三技术有限公司 Link failure processing method and device
US10630509B2 (en) * 2018-03-30 2020-04-21 Juniper Networks, Inc. Aliasing behavior for traffic to multihomed sites in ethernet virtual private network (EVPN) networks
CN112995029B (en) * 2018-06-30 2024-03-19 华为技术有限公司 Transmission path fault processing method, device and system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049350A (en) * 2014-04-17 2015-11-11 思科技术公司 Segment routing - egress peer engineering (SP-EPE)
US9838246B1 (en) * 2014-09-30 2017-12-05 Juniper Networks, Inc. Micro-loop prevention using source packet routing
US20170033939A1 (en) * 2015-07-28 2017-02-02 Ciena Corporation Multicast systems and methods for segment routing
CN105704021A (en) * 2016-01-22 2016-06-22 中国人民解放军国防科学技术大学 Rerouting method based on elastic label
US20180041420A1 (en) * 2016-08-03 2018-02-08 Cisco Technology, Inc. Loop detection and avoidance for segment routed traffic engineered paths
US20180077051A1 (en) * 2016-09-15 2018-03-15 Cisco Technology, Inc. Reroute Detection in Segment Routing Data Plane

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
C FILSFILS, LITKOWSKI S, HORNEFFER ORANGE M, TELEKOM DEUTSCHE, MILOJEVIC I, SRBIJA TELEKOM, SHAKIR R, TELECOM BRITISH, YTTI S, OY : "Segment Routing with MPLS data plane draft-filsfils-spring-segment-routing-mpls-03", 31 July 2014 (2014-07-31), pages 1 - 14, XP055764332, Retrieved from the Internet <URL:https://tools.ietf.org/pdf/draft-filsfils-spring-segment-routing-mpls-03.pdf> *
C. FILSFILS, P. FRANCOIS S. PREVIDI ,B. DECRAENE ,S. LITKOWSKI ,M. HORNEFFER ,I. MILOJEVIC , R. SHAKIR ,S. YTTI ,W. HENDERICKX ,J: "Segment Routing Use Cases", 21 October 2014 (2014-10-21), pages 1 - 35, XP055669097, Retrieved from the Internet <URL:https://tools.ietf.org/pdf/draft-filsfils-spring-segment-routing-use-cases-01.pdf> *

Also Published As

Publication number Publication date
KR102493384B1 (en) 2023-01-27
KR20230017926A (en) 2023-02-06
JP7152533B2 (en) 2022-10-12
CN112995028A (en) 2021-06-18
EP4274182A2 (en) 2023-11-08
US20210119907A1 (en) 2021-04-22
EP3800840A1 (en) 2021-04-07
US11722401B2 (en) 2023-08-08
EP3800840A4 (en) 2021-08-18
CN112995029A (en) 2021-06-18
KR102589958B1 (en) 2023-10-13
CN110661706B (en) 2021-02-12
EP4274182A3 (en) 2023-12-20
US20230353490A1 (en) 2023-11-02
EP3800840B1 (en) 2024-01-03
JP2021529481A (en) 2021-10-28
JP2022186731A (en) 2022-12-15
CN112995029B (en) 2024-03-19
EP3800840C0 (en) 2024-01-03
CN110661706A (en) 2020-01-07
KR20210019102A (en) 2021-02-19

Similar Documents

Publication Publication Date Title
WO2020001307A1 (en) Transmission path fault processing method, device and system
WO2020001309A1 (en) Method for processing transmission path failure, apparatus, and system
WO2021258754A1 (en) Message indication method and apparatus, and device and storage medium
US20170093611A1 (en) Egress node protection in evpn all-active topology
WO2018103099A1 (en) Method, device and system for sending and receiving message
CN114531395B (en) Method, device and system for advertising processing capability of network device
EP3582454B1 (en) Graceful restart procedures for label switched paths with label stacks
CN113615132A (en) Fast flooding topology protection
CN111224870B (en) Fault repairing method, equipment and storage medium in SR-MPLS Anycast scene
WO2024032187A1 (en) Routing information transmission method and apparatus
CN113872843B (en) Route generation method, route processing method and device

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: 19826317

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020573293

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20217001786

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2019826317

Country of ref document: EP

Effective date: 20210111