Intra gateway protocol (IGP) for segment routing (SR) proxy segment identification (SID)
Patent Information
- Application Number
- CN202510127981.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2018-12-21
- Filing Date
- 2019-12-19
- Publication Date
- 2025-06-06
Smart Images

Figure CN120110979A_ABST
Abstract
Description
[0001] This application is a divisional application. The application number of the original application is 201980085321.7, and the original application date is December 19, 2019. The entire contents of the original application are incorporated into this application by reference.
[0002] Related Applications Cross-Application
[0003] This application claims priority to U.S. Provisional Patent Application No. 62 / 784,042 filed by Huaimo Chen et al. on December 21, 2018, entitled “IGP FOR SR PROXY SIDS”, the contents of which are incorporated herein by reference. Technical Field
[0004] The present application relates to network communications, and more particularly, to protecting Segment Routing (SR) tunnels / paths from node failures. Background Art
[0005] Segment Routing Traffic Engineering (SR-TE) is a technology that implements traffic engineering based on segment routing. SR-TE supports the creation of explicit paths using segment lists that contain adjacent segment identifiers (SIDs), node SIDs, anycast SIDs, and binding SIDs. The node SIDs in the segment list that defines an SR-TE path represent the loose hops that the SR-TE path should traverse. When a node SID is included in the segment list of an SR-TE path and the node fails, the network may not be able to continue to forward traffic correctly on the SR-TE path. There are several mechanisms that allow local repair operations on the direct neighbors of the failed node to temporarily route traffic to the node immediately after the failed node in the SR-TE path segment list. However, once the Interior Gateway Protocol (IGP) shortest path converges, the local repair mechanism is not sufficient to continue forwarding traffic using the original segment list of the SR-TE path, because the non-neighboring nodes of the failed node will no longer provide a route to the failed node.
[0006] The present invention recognizes that it would be beneficial to be able to continue to send traffic on an SR-TE path using the node SID of a failed node for an extended period of time without having to immediately modify the segment list used at the ingress of the SR-TE path. Accordingly, the present invention describes various embodiments that allow traffic to continue to be forwarded on an SR-TE path for an extended period of time after a node used in a segment list of the SR-TE path has failed. Summary of the invention
[0007] The first aspect relates to a computer-implemented method for notifying a proxy capability for forwarding traffic on a segment routing traffic engineering (SR-TE) path after a node on the SR-TE path fails. The method notifies the SR proxy forwarding capability of the proxy forwarding node to the neighboring nodes of the proxy forwarding node through an extension of the interior gateway protocol (IGP) for proxy forwarding, so that the ingress node of the SR-TE path can continue to forward the traffic without modifying the segment list of the SR-TE path, and the segment list includes the node segment identifier (segment identifier, SID) of the failed neighboring node of the proxy forwarding node. The method receives traffic directed to a neighboring node of the proxy forwarding node. The traffic includes the proxy node SID of the neighboring node when the neighboring node fails. The method performs SR proxy forwarding on the failed neighboring node by forwarding the traffic to the destination of the traffic in a direction avoiding the failed neighboring node.
[0008] The second aspect relates to a proxy forwarding node for forwarding traffic on a segment routing traffic engineering (SR-TE) path after a node segment identifier (SID) in a segment list of a SR-TE path fails. The proxy forwarding node includes: a memory storing instructions; a processor coupled to the memory, the processor being used to execute the instructions to enable the proxy forwarding node to perform the following operations: notifying the SR proxy forwarding capability of the proxy forwarding node to the neighboring nodes of the proxy forwarding node through an extension of the interior gateway protocol (IGP) for proxy forwarding. The proxy forwarding node is used to receive traffic directed to a neighboring node of the proxy forwarding node, and when the neighboring node fails, the traffic uses the proxy node SID of the neighboring node. The proxy forwarding node is used to forward the traffic to the destination of the traffic without passing through the neighboring node, and perform SR proxy forwarding on the neighboring node.
[0009] According to the first or second aspect, in the computer-implemented method or the first implementation manner of the proxy forwarding node, when the proxy forwarding node supports SR proxy forwarding for all its neighboring nodes, the proxy forwarding node announces the SR proxy forwarding capability of the proxy forwarding node in the OSPF router information opaque LSA, and the OSPF router information opaque LSA includes a router function capability TLV.
[0010] According to the first or second aspect, in the computer-implemented method or the second implementation manner of the proxy forwarding node, when the proxy forwarding node only supports SR proxy forwarding for some of its neighboring nodes, the proxy forwarding node announces the SR proxy forwarding capability of the proxy forwarding node in an Open Shortest Path First (OSPF) extended prefix opaque link state advertisement (LSA), and the OSPF extended prefix opaque LSA includes a proxy SID type length value (TLV), and the TLV specifies the proxy node SID of each neighboring node, wherein the proxy forwarding node supports SR proxy forwarding for each neighboring node.
[0011] According to the first or second aspect, in the computer-implemented method or the third implementation manner of the proxy forwarding node, the proxy forwarding node is further used to: create a corresponding proxy forwarding table entry for protecting the neighboring node from failure, wherein the proxy forwarding node supports SR proxy forwarding for the neighboring node; during an extended time period when the neighboring node fails, maintain the OSPF extended prefix opaque LSA including the proxy SID TLV, wherein the proxy SID TLV specifies the proxy node SID of each neighboring node, wherein the proxy forwarding node supports SR proxy forwarding for each neighboring node; after the extended time period, delete the proxy SID TLV from the OSPF extended prefix opaque LSA, wherein the proxy SID TLV specifies the proxy node SID of the failed neighboring node; after the extended time period, delete the corresponding proxy forwarding table entry for protecting the neighboring node from failure.
[0012] According to the first or second aspect, in the computer-implemented method or the fourth implementation manner of the proxy forwarding node, when the proxy forwarding node supports SR proxy forwarding for all its neighboring nodes, the proxy forwarding node announces the SR proxy forwarding capability of the proxy forwarding node in its link state packet (LSP), and the LSP includes an Intermediate System to Intermediate System (IS-IS) router capability TLV of type 242, and the TLV includes an SR capability sub-TLV of subtype 2.
[0013] According to the first or second aspect, in the computer-implemented method or the fifth implementation manner of the proxy forwarding node, when the proxy forwarding node only supports SR proxy forwarding for some of its neighboring nodes, the proxy forwarding node announces the node SID of each neighboring node as the proxy node SID in the IS-ISSID / label binding TLV, indicating that SR proxy forwarding can be performed on the neighboring node corresponding to the node SID.
[0014] According to the first or second aspect, in a sixth implementation of the computer-implemented method or the proxy forwarding node, the proxy forwarding node is further used to establish an independent proxy forwarding table for each neighboring node, wherein the proxy forwarding node supports SR proxy forwarding for each neighboring node.
[0015] According to the first or second aspect, in a seventh implementation of the computer-implemented method or the proxy forwarding node, the proxy forwarding node is further configured to maintain the independent proxy forwarding table for a neighboring node that fails for an extended period of time.
[0016] According to the first or second aspect, in an eighth implementation manner of the computer-implemented method or the proxy forwarding node, the proxy forwarding node is further configured to perform SR proxy forwarding on the faulty neighboring node within a period of time after the IGP converges.
[0017] A third aspect relates to a computer-implemented method for forwarding traffic on a segment routing traffic engineering (SR-TE) path for an extended period of time after a node segment identifier (SID) fails in a segment list of the SR-TE path without immediately modifying the segment list used by the ingress node of the SR-TE path. The method receives a second network node SID generated and advertised by the second network node. The method determines whether a neighboring node of the second network node is capable of performing SR proxy forwarding for the second network node. The method uses the node SID of the second network node to send traffic directed to the second network node to the second network node when the second network node is operating normally. The method uses the proxy node SID of the second network node to send traffic directed to the second network node to the neighboring node of the second network node when the second network node fails.
[0018] A fourth aspect relates to a network node for forwarding traffic on a segment routing traffic engineering (SR-TE) path after a node segment identifier (SID) in a segment list of a SR-TE path fails, without having to immediately modify the segment list used by the ingress node of the SR-TE path. The network node includes: a memory storing instructions; a processor coupled to the memory, the processor being used to execute the instructions to enable the network node to perform the following operations: receiving a second network node SID generated and announced by the second network node; determining whether a neighboring node of the second network node can perform SR proxy forwarding on the second network node; when the second network node is operating normally, the network node uses the node SID of the second network node to send traffic directed to the second network node to the second network node; when the second network node fails, the network node uses the proxy node SID of the second network node to send the traffic directed to the second network node to the neighboring node of the second network node.
[0019] According to the third or fourth aspect, in the computer-implemented method or the first implementation manner of the proxy forwarding node, the network node creates the proxy node SID of the second network node for the neighboring node after determining that the neighboring node is capable of performing SR proxy forwarding for the second network node.
[0020] According to the third or fourth aspect, in the computer-implemented method or the second implementation manner of the proxy forwarding node, the proxy node SID of the second network node on the neighboring node is a copy of the node SID of the second network node, and the node SID of the second network node is generated by the second network node and mapped to the neighboring node.
[0021] According to the third or fourth aspect, in the computer-implemented method or the third implementation of the proxy forwarding node, the network node is further used to obtain the proxy node SID of the second network node generated and announced by the neighboring node of the second network node.
[0022] According to the third or fourth aspect, in a fourth implementation manner of the computer-implemented method or the proxy forwarding node, the first network node is an ingress node of the SR-TE path.
[0023] The above aspects or implementations solve the problem of traffic being dropped at a node due to the deletion of the node SID of a failed node on an SR tunnel / path. Specifically, the above aspects or implementations allow traffic to continue to be forwarded on the SR-TE path for an extended period of time after a node used in a segment list of the SR-TE path fails.
[0024] As referred to herein, the extended time period is the time period for IGP convergence after a node along an SR tunnel / path fails as described in the present invention. In some implementations, the extended time period may be user-specified and modified as needed or desired.
[0025] For clarity of description, any of the above-described embodiments may be combined with any or more of the other above-described embodiments to create new embodiments within the scope of the present invention.
[0026] These and other features and advantages thereof will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] For a more thorough understanding of the present invention, reference is now made to the following brief description taken in conjunction with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.
[0028] Figure 1 A schematic diagram of a network provided in accordance with an embodiment of the present invention.
[0029] Figure 2 A flowchart of a method provided by an embodiment of the present invention and executed by a neighboring node for enabling continued forwarding of traffic on an SR-TE path within an extended period of time after a node failure occurs.
[0030] Figure 3 A flowchart of a method performed by a node and used to enable continued forwarding of traffic on an SR-TE path within an extended period of time after a node failure is provided in an embodiment of the present invention.
[0031] Figure 4 A schematic diagram of the TLV of the proxy SID provided in an embodiment of the present invention.
[0032] Figure 5 A schematic diagram of a SID sub-TLV provided in an embodiment of the present invention.
[0033] Figure 6 A schematic diagram of a SID sub-TLV provided by another embodiment of the present invention.
[0034] Figure 7 A schematic diagram of an OSPFv2 extended prefix opaque LSA provided by an embodiment of the present invention.
[0035] Figure 8 A schematic diagram of a router function capability TLV provided in an embodiment of the present invention.
[0036] Fig. 9 A schematic diagram of an SR capability sub-TLV provided in another embodiment of the present invention.
[0037] Fig.10 A schematic diagram of a flag field provided in an embodiment of the present invention.
[0038] Fig.11 A schematic diagram of the SR binding TLV provided in an embodiment of the present invention.
[0039] Fig.12 A schematic diagram of OSPFv2 SR binding opaque LSA provided in an embodiment of the present invention.
[0040] Fig.13 It is a schematic diagram of a network element provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0041] First, it should be understood that although illustrative implementations of one or more embodiments are provided below, the disclosed systems and / or methods may be implemented using any number of techniques, whether currently known or existing. The present invention should in no way be limited to the illustrative implementations, drawings, and techniques described below, including the exemplary designs and implementations illustrated and described herein, but may be modified within the scope of the appended claims and their full scope of equivalents.
[0042] The present invention describes various embodiments that allow traffic to continue to be forwarded on an SR-TE path for an extended period of time after a node used in a segment list of an SR-TE path fails. In one embodiment, when a node in a network fails, the ingress node of the SR tunnel / path passing through the failed node will continue to send traffic along the SR path for a given time. When the traffic reaches the neighboring node of the failed node, the neighboring node acting as a forwarding agent for the failed node sends the traffic to destinations around the failed node. In order to perform the above operations, the disclosed embodiments describe various extensions of any link-state IGP such as the Open Shortest Path First (OSPF) routing protocol and the Intermediate System to Intermediate System (IS-IS) routing protocol. The disclosed extensions of OSPF and IS-IS include proxy SID type length value (TLV), SR proxy forwarding capability, and SR binding. The disclosed embodiments can be deployed in any routers, switches, and controllers used by service providers around the world.
[0043] Figure 1 A schematic diagram of a network provided for an embodiment of the present invention. The network includes a node A, a node B, a node P, a node P1, a node N, a node N1, and a node C. In the described embodiment, node A sends a message 100, which is sent to node C. Under normal operating conditions, node B, which is an entrance of an SR-TE path (node B→node N→node C), receives message 100 from node A, and then adds a segment list of the SR-TE path including SID 104 of node N and SID 102 of node C to message 100. Then, node B sends message 100 with SID 104 of node N and SID 102 of node C to node P, and node P forwards message 100 with SID 104 of node N and SID 102 of node C to node N, and node N deletes its own SID 104 from the segment list of message 100. Node N sends a message 100 with a segment list containing only SID 102 of node C to node C. Node C deletes its own SID 102 from the segment list and obtains message 100 .
[0044] exist Figure 1In the example, it is assumed that a node N fails (e.g., a link failure or a node failure). Currently, when a node N fails, its immediate neighboring node (e.g., a P node) detects that the node N has failed, and the P node acts as a Point of Local Repair (PLR) for fast-reroute (FRR) protection until the IGP converges. When all components of the router (including the Routing Information Base (RIB) and Forwarding Information Base (FIB) and software and hardware tables) provide the most recent routing changes, the IGP converges so that the routing entry is successfully forwarded on the next best outbound interface. The next best outbound interface is an outbound interface or a set of outbound interfaces in an Equal Cost Multipath (ECMP) set or a parallel link set of a device under test (DUT) for routing traffic to the next best next hop.
[0045] The ingress node (e.g., node B) of the SR-TE path that passes through node N (i.e., node N's SID is in the segment list of the message imported into the SR tunnel / path) to reach the destination (e.g., node C) deletes the route to node N, and the traffic transmitted by the SR tunnel / path cannot reach the neighboring nodes of node N because the forwarding table entry is deleted. Any traffic that arrives at node B with the node SID of the failed node (i.e., node N) as the active segment will be discarded. Any traffic protection mechanism on the neighboring nodes of node N (e.g., node P) is not used to send traffic around the SR tunnel / path of the failed node N to its destination. Therefore, the traffic on this routing path will be discarded.
[0046] After that, node A or the controller calculates a new SR-TE path from node B to node C (for example, B→N1→C), sends the new SR-TE path containing the SID list (for example, the SID of N1 and the SID of C) to node B, and node B installs the SR-TE path, and traffic is restored. Traffic from node A to node C flows from node B through node P1 to node N1, and then to node C.
[0047] The disclosed embodiments provide an efficient solution to the problem of traffic being dropped at a node due to the removal of the node SID of a failed node along an SR tunnel / path. In one embodiment, each neighbor of the failed node advertises the SR proxy forwarding capability of the neighbor. This indicates that the neighbor (referred to herein as a proxy forwarder or proxy forwarding node) has the ability to perform SR proxy forwarding for all or some of its neighbor nodes and will forward traffic on behalf of these neighbor nodes if a failure occurs. For example, in Figure 1In the example, node N's neighbor node P distributes node N's SID as the proxy SID of node N to instruct node P to forward traffic on behalf of the failed node N. Any X node / router that receives the SR proxy forwarding capability from the neighbor node of the failed node (neighbor node P of the failed node N), including the ingress node of the SR tunnel / path passing through node N (e.g. Figure 1 In one embodiment, the proxy forwarder creates / exports and maintains a proxy SID of node N on node P, and uses the node SID of node N (i.e., the failed node) to send the traffic of the SR tunnel / path to the nearest proxy forwarder (e.g., node P) after the failure of node N. Node P forwards the traffic of the SR tunnel / path around the failed node N and forwards it to its destination. In one embodiment, once the affected traffic reaches the proxy forwarder, the proxy forwarder sends the traffic on the shortest path after the failure to the node immediately after the failed node in the segment list. The disclosed embodiment extends the traffic protection mechanism on the proxy forwarder until after the IGP convergence is completed.
[0048] Figure 2 2 is a flowchart of a method 200 for enabling a node SID in a segment list of an SR-TE path to continue forwarding traffic on an SR-TE path for an extended period of time after a node fails, without immediately modifying the segment list used by an ingress node of the SR-TE path. The method 200 may be performed by a proxy forwarding node of a neighboring node of the failure. For example, Figure 1 In the example of FIG. 2 , when node N fails, node P may be a proxy forwarding node for node N. Method 200 begins at step 202, where the proxy forwarding node uses an extension of an IGP for proxy forwarding to notify neighboring nodes of the SR proxy forwarding capability of the proxy forwarding node. Examples of the IGP extension for proxy forwarding may include extensions to any link state IGP, such as extensions to the OSPF routing protocol and the IS-IS routing protocol.
[0049] For example, in one embodiment, for OSPF, when a proxy forwarding node supports SR proxy forwarding for all its neighboring nodes, the proxy forwarding node announces the SR proxy forwarding capability of the proxy forwarding node in an OSPF router information opaque link state advertisement (Link State Advertisement, LSA), wherein the OSPF router information opaque link state advertisement includes a router function capability TLV (such as Figure 8 As further described below, the router function capability TLV may include a bit that can be set to indicate that the proxy forwarding node can support SR proxy forwarding for the proxy forwarding node's neighboring nodes. In one embodiment, for OSPF, when the proxy forwarding node only supports SR proxy forwarding for some of its neighboring nodes, the proxy forwarding node extends the prefix opaque LSA (such as Figure 7 The SR proxy forwarding capability of the proxy forwarding node is announced in the OSPF extended prefix opaque LSA, and the OSPF extended prefix opaque LSA includes the proxy SID TLV (such as Figure 4 As shown), the TLV specifies the proxy node SID of each neighboring node, wherein the proxy forwarding node supports SR proxy forwarding for each neighboring node. In one embodiment, for OSPF, the proxy forwarding node creates a corresponding proxy forwarding table entry for protecting the neighboring node from failure, wherein the proxy forwarding node supports SR proxy forwarding for the neighboring node. When a neighboring node fails, the proxy forwarding node maintains the OSPF extended prefix opaque LSA for an extended time period (e.g., 30 minutes or any other given time period), the OSPF extended prefix opaque LSA including a proxy node SID TLV, the TLV specifies the proxy node SID of each neighboring node, wherein the proxy forwarding node supports SR proxy forwarding for each neighboring node. After the extended time period, the proxy SID TLV is deleted from the OSPF extended prefix opaque LSA, the proxy SID TLV specifies the proxy node SID of the failed neighboring node; and then the corresponding proxy forwarding table entry for protecting the neighboring node from failure is deleted.
[0050] In one embodiment, for IS-IS, when the proxy forwarding node supports SR proxy forwarding for all its neighboring nodes, the proxy forwarding node announces the SR proxy forwarding capability of the proxy forwarding node in its link state packet (LSP), and the LSP includes an IS-IS router capability TLV of type 242, and the TLV includes an SR capability sub-TLV of subtype 2. The SR capability sub-TLV may include a flag field, and its bits may be used to indicate the SR proxy forwarding capability of the proxy forwarding node. In one embodiment, for IS-IS, when the proxy forwarding node only supports SR proxy forwarding for some of its neighboring nodes, the proxy forwarding node announces the node SID of each neighboring node as the proxy node SID in the IS-IS SID / label binding TLV, indicating that SR proxy forwarding can be performed on the neighboring node corresponding to the node SID.
[0051] In step 204, when a neighboring node fails, method 200 receives, in the proxy forwarding node, traffic directed to the failed neighboring node of the proxy forwarding node. Traffic is sent using the proxy node SID of the failed neighboring node. In step 206, the proxy forwarding node forwards traffic to the destination of the traffic without passing through the neighboring node during an extended period of time after IGP convergence through method 200, thereby performing SR proxy forwarding on the neighboring node. In one embodiment, the proxy forwarding node establishes an independent proxy forwarding table for each neighboring node, wherein the proxy forwarding node supports performing SR proxy forwarding on each neighboring node. In one embodiment, the neighboring node (e.g., Figure 1 The proxy forwarding table of node N in the routing table includes the segment routing global block (SRGB) range of node N and the difference between the SRGB start values of node P and node N. SRGB is a local attribute of a segment routing node. For example, in Multiprotocol Label Switching (MPLS), SRGB is a reserved local label set used to assign labels to global segments, such as a node SID generated by a router. The proxy forwarding table of node N also includes all adjacent SIDs of node N and the node SID of the node pointed to by the adjacent SID of node N. The proxy forwarding table of node N also includes the binding SID of node N and the label stack associated with the binding SID of node N. In one embodiment, node N only announces binding segment opaque LSAs (such as Fig.12 ), the binding segment opaque LSA includes a binding segment with a binding SID and a segment list for supporting binding SID proxy forwarding. In one embodiment, the binding segment opaque LSA is a link-local scope LSA (i.e., LS type 9 for OSPFv2 and LS type TBD for OSPFv3). The proxy forwarding node (such as Figure 1 In one embodiment, the proxy forwarding table of node N is used based on the proxy forwarding table of the next section of node N to find the backup forwarding table item of the adjacency SID and node SID of node N. When node N breaks down, the proxy forwarding table is maintained in a specific time period. The proxy forwarding table can be maintained in any specific time period. In one embodiment, the proxy forwarding table is maintained for 30 minutes.
[0052] Figure 3 3 is a flow chart of a method 300 for enabling a node SID in a segment list of an SR-TE path to continue forwarding traffic on an SR-TE path for an extended period of time after a node in the segment list of the SR-TE path fails, without immediately modifying the segment list used by the ingress node of the SR-TE path. The method 300 may be performed by any network node on the traffic path. For example, referring to Figure 1, the method 300 may be performed by node B to continue forwarding traffic on the SR-TE path (node B→node N→node C) for an extended period of time after a failure of node N. The method 300 begins at step 302 by receiving, in a first network node (e.g., node B), a node SID of a second network node (e.g., node N) generated and announced by a second network node. In step 304, a determination is made as to whether the second network node is operating normally. If the second network node is operating normally, in step 306, traffic directed to the second network node is sent to the second network node using the node SID of the second network node generated and announced by the second network node. However, if the second network node has failed (i.e., is not operating normally), in step 308, a neighboring node of the second network node (e.g., Figure 1 The neighbor node P of the node N in the network supports SR proxy forwarding for the second network node. If the neighbor node supports SR proxy forwarding for the second network node, in step 310, the traffic directed to the second network node is sent to the neighbor node of the second network node (for example, node P) using the proxy node SID of the second network node. The neighbor node of the second network node supports SR proxy forwarding for the second network node. Figure 2 The failed second network node described in performs SR proxy forwarding of traffic. If in step 308, it is determined that the neighboring node of the second network node does not support SR proxy forwarding for the second network node, then when the second network node fails, in step 312, the traffic along the route is discarded.
[0053] Figure 4 Schematic diagram of the TLV 400 of the proxy SID provided in an embodiment of the present invention. As described above, in one embodiment, when the proxy forwarding node only supports SR proxy forwarding for some of its neighboring nodes, the proxy SID TLV 400 may be used to specify the proxy node SID of each neighboring node, wherein the proxy forwarding node supports SR proxy forwarding for each neighboring node. For OSPF, the TLV 400 of the proxy SID may be included in the OSPF extended prefix opaque LSA (such as the LSA-1000) sent by the proxy forwarding node to announce the SR proxy forwarding capability. Figure 7 406. The proxy SID TLV 400 includes a type field 402, a length field 404, and a SID sub-TLV field 406. The value of the type field 402 is assigned by the Internet Assigned Numbers Authority (IANA). The length field 404 specifies the total size of the SID sub-TLV field 406 included in the OSPF proxy SID TLV. The SID sub-TLV field 406 includes a plurality of SID sub-TLVs (such as Figure 5 or Figure 6As shown), it is used to specify the proxy node SID of each neighboring node, wherein the proxy forwarding node supports performing SR proxy forwarding for each neighboring node.
[0054] Figure 5 Schematic diagram of a SID sub-TLV 500 provided in an embodiment of the present invention. Multiple SID sub-TLVs 500 may be included in the TLV 400 of the proxy SID. When the proxy forwarding node only supports SR proxy forwarding for some of its neighboring nodes, each SID sub-TLV 500 may be used to specify the proxy node SID of the neighboring node, wherein the proxy forwarding node supports SR proxy forwarding for the neighboring node. The SID sub-TLV 500 includes a type field 502, a length field 504, a flag field 506, a reserved field 508, an MT-ID field 510, an algorithm field 512, and a SID / index / label field 514. In one embodiment, the value assigned to the type field 502 is two (2). The length field 504 is 7 or 8 octets, determined according to the setting in the flag field 506. The flag field 506 may include several defined flags, such as but not limited to: an NP flag indicating whether to jump out of the SID before transmitting the message to the node that advertises the SID; an M flag indicating whether the SID is advertised by a segment routing mapping server; a V flag indicating whether the SID includes an absolute value or an index. In one embodiment, the reserved field 508 is set to 0 when transmitted and ignored when received. The MT-ID field 510 contains a multi-topology identifier defined in RFC 4915. The algorithm field 512 is a single octet that identifies the algorithm associated with the SID. The SID / index / label field 514 contains the SID, an index that defines the offset in the SID / label space advertised by the router, or a local label, where the rightmost 20 bits are used to encode the label value.
[0055] Figure 6 Schematic diagram of SID sub-TLV 600 provided in another embodiment of the present invention. In one embodiment, SID sub-TLV 600 may be included in TLV 400 of proxy SID. When the proxy forwarding node only supports SR proxy forwarding for some of its neighboring nodes, each SID sub-TLV 600 may be used to specify the proxy node SID of the neighboring node, wherein the proxy forwarding node supports SR proxy forwarding for the neighboring node. SID sub-TLV 600 is an optimized form of SID sub-TLV 500. Figure 5 As described in a similar manner in , the SID sub-TLV 600 includes only a type field 602 , a length field 604 , and a SID / index / tag field 606 .
[0056] Figure 7Schematic diagram of OSPFv2 extended prefix opaque LSA 700 provided in an embodiment of the present invention. As described above, in one embodiment, the proxy forwarding node can use OSPFv2 extended prefix opaque LSA 700 to notify the neighboring node of the SR proxy forwarding capability of the proxy forwarding node, and the proxy forwarding node supports SR proxy forwarding for the neighboring node. OSPFv2 extended prefix opaque LSA 700 includes LS time field 702, option field 704, LS type field 706, opaque type field 708, opaque ID field 710, advertising router field 712, LS sequence number field 714, LS checksum field 716, length field 718 and TLV field 720.
[0057] LS Time field 702 contains the time (in seconds) when the OSPFv2 Extended Prefix Opaque LSA 700 was advertised so that old advertisements can be refreshed from the routing domain. Option field 704 can be used to specify one or more OSPFv2 options. Option field 704 enables OSPF routers to support (or not support) optional capabilities and transmit their capability levels to other OSPF routers. LS Type field 706 is used to indicate the flooding scope of the OSPFv2 Extended Prefix Opaque LSA 700 (e.g., local (10) or wide AS scope (11)). Opaque Type field 708 is used to distinguish various types of OSPFv2 Opaque LSAs. Opaque ID field 710 can contain any value used to maintain or distinguish multiple OSPFv2 Extended Prefix Opaque LSAs 700. Advertising Router field 712 contains the router ID of the router that generated the OSPFv2 Extended Prefix Opaque LSA 700. LS Sequence Number field 714 contains a continuous sequence number used to detect old or duplicate LSAs. LS Checksum field 716 contains a checksum of the complete contents of OSPFv2 Extended Prefix Opaque LSA 700, including the LSA header, but excluding the LS Time field 702. Length field 718 indicates the total length (in octets) of OSPFv2 Extended Prefix Opaque LSA 700, including the length of the LSA header and all TLVs (including padding). TLV field 720 contains the SID sub-TLV (e.g., SID sub-TLV 500 or SID sub-TLV 600) for each neighboring node after the proxy forwarding node creates the corresponding proxy forwarding table entry for protecting the neighboring node from failures.
[0058] Figure 8Schematic diagram of a router capability TLV 800 provided in an embodiment of the present invention. As described above, in one embodiment, for OSPF, when a proxy forwarding node supports SR proxy forwarding for all its neighboring nodes, the proxy forwarding node announces the SR proxy forwarding capability of the proxy forwarding node in an OSPF router information opaque LSA, and the OSPF router information opaque LSA includes a router capability TLV 800. The format of the OSPF router information opaque LSA is similar to Figure 7 The format of the OSPFv2 Extended Prefix Opaque LSA 700 in is the same. The router functional capability TLV 800 includes a type field 802, a length field 804, and a functional capability field 806. In one embodiment, for OSPF, the value of the type field 802 is 2. The length field 804 indicates that the length of the functional capability field 806 is 4. The functional capability field 806 includes bits such as bit 31, which can be set to indicate that the proxy forwarding node is capable of performing SR proxy forwarding for the neighboring nodes of the proxy forwarding node. In one embodiment, for IS-IS, the value of the type field 802 is 242. The length field 804 indicates the length of the functional capability field 806. The functional capability field 806 can contain multiple SR capability sub-TLVs ( Fig. 9 ) to specify the capabilities of the node.
[0059] Fig. 9 Schematic diagram of an SR capability sub-TLV 900 provided in an embodiment of the present invention. The SR capability sub-TLV 900 may be included in a router function capability TLV (e.g., router function capability TLV 800) to specify the capabilities of a node. The SR capability sub-TLV 900 includes a type field 902, a length field 904, a flag field 906, a range field 908, and a SID / label sub-TLV field 910. In one embodiment, the type of the type field 902 is subtype 2. The length field 904 is variable and is used to indicate the length of the SR capability sub-TLV 900 excluding the length of the length field 904 and the type field 902. The flag field 906 is 1 octet and may be used to specify certain flags. Fig.10 An example of the flag field 906 is shown in FIG. 10. One or more segment routing global block (SRGB) descriptor table entries are specified using the range field 908 and the SID / label sub-TLV field 910. The SRGB is a range of label values reserved for segment routing (SR) in the Label Switching Database (LSD). The SID / label sub-TLV field 910 contains a first value of the SRGB, and the range field 908 contains the number of SRGB elements.
[0060] Fig.10 A schematic diagram of a flag field 1000 provided for an embodiment of the present invention. The flag field 1000 may be the flag field 906 in the SR capability sub-TLV 900. In the described embodiment, the flag field 1000 includes an I flag 1002, a V flag 1004, and a PF flag 1006. The I flag 1002 or the MPLS fourth version Internet Protocol (Internet Protocol version 4, IPv4) flag is used to indicate whether the router can process SR MPLS encapsulated IPv4 packets on all interfaces. The V flag 1004 or the MPLS sixth version Internet Protocol (Internet Protocol version 6, IPv6) flag is used to indicate whether the router can process SR MPLS encapsulated IPv6 packets on all interfaces. The PF flag 1006 or PF bit is used to indicate whether the router has SR proxy forwarding capability. In one embodiment, when this bit is set to one (1) by a node, it indicates that the node is able to perform SR proxy forwarding for the node's neighboring nodes.
[0061] Fig.11 Schematic diagram of SR binding TLV 1100 provided in an embodiment of the present invention. The node uses SR binding TLV 1100 to announce the binding SID only to the node's neighboring nodes. SR binding TLV 1100 includes a type field 1102, a length field 1104, a binding SID TLV field 1106, and a SID sub-TLV field 1108. In one embodiment, the type field 1102 is 1 octet. The value of the type field 1102 will be assigned by IANA. The length field 1104 is 1 octet. The value of the length field 1104 is the length of the binding SID TLV plus the length of the sub-TLV. The binding SID TLV field 1106 contains the binding SID. The node can use the binding SID to direct traffic to the appropriate TE path to execute the TE policy. The SID sub-TLV field 1108 contains multiple SID sub-TLVs representing a segment list. Each SID sub-TLV contains a segment (SID). In one embodiment, both the Binding SIDTLV and the SID sub-TLV in the SR Binding TLV 1100 have the same Figure 5 or Figure 6 The format of the SID sub-TLV is the same as described in .
[0062] Fig.12Schematic diagram of OSPFv2 binding segment opaque LSA 1200 provided in an embodiment of the present invention. In one embodiment, a node uses OSPFv2 binding segment opaque LSA 1200 to advertise segment lists only to neighboring nodes of the node. OSPFv2 binding segment opaque LSA 1200 includes LS time field 1202, option field 1204, LS type field 1206, opaque type field 1208, opaque ID field 1210, advertising router field 1212, LS sequence number field 1214, LS checksum field 1216, length field 1218 and binding segment TLV field 1220.
[0063] LS time field 1202 contains the time (in seconds) when the OSPFv2 binding segment prefix opaque LSA 1200 was advertised so that old advertisements can be refreshed from the routing domain. Option field 1204 can be used to specify one or more OSPFv2 options. Option field 1204 enables OSPF routers to support (or not support) optional capabilities and transmit their capability levels to other OSPF routers. In one embodiment, the type of LS type field 1206 is type nine (9). Opaque type field 1208 is used to distinguish various types of OSPFv2 opaque LSAs. For binding segment opaque LSAs, opaque type field 1208 can have an opaque type x (the exact type will be assigned by IANA). Opaque ID field 1210 can contain any value used to maintain or distinguish multiple OSPFv2 binding segment opaque LSAs 1200. Advertising router field 1212 contains the router ID of the router that generated the OSPFv2 binding segment opaque LSA 1200. 1200. LS Sequence Number field 1214 contains a sequential sequence number used to detect old or duplicate LSAs. LS Checksum field 1216 contains a checksum of the complete contents of OSPFv2 Binding Segment Opaque LSA 1200, including the LSA header, but excluding the LS Time field 1202. Length field 1218 indicates the total length (in octets) of OSPFv2 Binding Segment Opaque LSA 1200, including the length of the LSA header and all TLVs (including padding). Binding Segment TLV field 1220 contains one Binding Segment TLV for each binding on the node advertising OSPFv2 Binding Segment Opaque LSA 1200.
[0064] Fig.13 1 is a schematic diagram of a network element 1300 provided in an embodiment of the present invention. The network element 1300 may be any type of network node, controller, router, and switch, such as but not limited to Figure 1The network element 1300 includes a receiver unit (RX) 1320 or a receiving module for receiving data through an inbound port 1310 . The network element 1300 also includes a transmitter unit (TX) 1340 or a sending module for sending data through a data outbound port 1350 .
[0065] The network element 1300 includes a memory 1360 or a data storage module for storing instructions and various data. The memory 1360 can be a memory component of any type or combination capable of storing data and / or instructions. For example, the memory 1360 can include volatile and / or non-volatile memory, such as read-only memory (ROM), random access memory (RAM), ternary content-addressable memory (TCAM) and / or static random access memory (SRAM). The memory 1360 can also include one or more disks, tape drives, and solid-state drives. In some embodiments, the memory 1360 can be used as an overflow data storage device to store programs when they are selected for execution, and to store instructions and data read during program execution.
[0066] The network element 1300 has one or more processors 1330 or other processing modules (e.g., central processing units (CPUs)) to process instructions. The processor 1330 can be implemented as one or more CPU chips, cores (e.g., multi-core processors), field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), and digital signal processors (DSPs). The processor 1330 is communicatively coupled to the input port 1310, RX1320, TX 1340, output port 1350, and memory 1360 via a system bus. The processor 1330 can be used to execute instructions stored in the memory 1360. Therefore, the processor 1330 provides a module that performs any calculation, comparison, determination, startup, configuration, or any other action corresponding to the claims when the processor executes appropriate instructions. In some embodiments, the memory 1360 can be a memory integrated with the processor 1330.
[0067] In one embodiment, the memory 1360 stores the SR proxy module 1370. The SR proxy module 1370 includes data and executable instructions for implementing the disclosed embodiments. For example, the SR proxy module 1370 may include instructions for implementing the disclosed embodiments. Figure 2 and Figure 3 Instructions of the method described in. The SR proxy module 1370 improves the functionality of the network element 1300 by enabling the node SID to continue forwarding traffic on the SR-TE path for an extended period of time after a node in the segment list of the SR-TE path fails, without immediately modifying the segment list used by the ingress node of the SR-TE path.
[0068] Although the present invention provides a plurality of specific embodiments, it should be understood that the disclosed systems and methods may also be embodied in a variety of other specific forms without departing from the spirit or scope of the present invention. The examples of the present invention should be considered illustrative rather than restrictive, and the present invention is not limited to the details given in this text. For example, various elements or components may be combined or merged in another system, or certain features may be omitted or not implemented.
[0069] In addition, without departing from the scope of the present invention, the techniques, systems, subsystems and methods described and illustrated as discrete or separate in various embodiments may be combined or merged with other systems, modules, techniques or methods. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicated via an interface, device or intermediate component using electrical, mechanical or other means. Other changes, substitutions, and replacement examples will be obvious to those skilled in the art and do not depart from the spirit and scope disclosed herein.
Claims
1. A method performed by a proxy forwarding node, It is characterized in that The method comprises: By extending the internal gateway protocol IGP, the SR proxy forwarding capability of the proxy forwarding node is notified to the neighboring nodes of the proxy forwarding node, so that the nodes on the SR-TE path can continue to forward the traffic without modifying the segment list of the SR-TE path, wherein the segment list includes the node segment identifier SID of the faulty neighboring node of the proxy forwarding node; receiving traffic including the segment list; Performing SR proxy forwarding on the faulty neighboring node by forwarding the traffic to a destination of the traffic along a path that avoids the faulty neighboring node; When the proxy forwarding node supports SR proxy forwarding for all its neighboring nodes, the proxy forwarding node announces the SR proxy forwarding capability of the proxy forwarding node in an open shortest path first OSPF router information opaque LSA, and the OSPF router information opaque LSA includes a router function capability TLV.
2. The method according to claim 1, It is characterized in that When the proxy forwarding node only supports SR proxy forwarding for some of its neighboring nodes, the proxy forwarding node announces the SR proxy forwarding capability of the proxy forwarding node in an open shortest path first OSPF extended prefix opaque link state advertisement LSA, and the OSPF extended prefix opaque LSA includes a proxy SID type length value TLV, and the TLV specifies the proxy node SID of each neighboring node, wherein the proxy forwarding node supports SR proxy forwarding for each neighboring node.
3. The method according to claim 2, It is characterized in that Also includes: Creating a corresponding proxy forwarding table entry for protecting the neighboring node from failure, wherein the proxy forwarding node supports performing SR proxy forwarding on the neighboring node; maintaining the OSPF extended prefix opaque LSA including the proxy SID TLV for an extended period of time when the neighbor node fails, the proxy SID TLV specifying a proxy node SID for each neighbor node, wherein the proxy forwarding node supports SR proxy forwarding for each neighbor node; After the extended time period, deleting the proxy SID TLV from the OSPF extended prefix opaque LSA, the proxy SID TLV specifying the proxy node SID of the failed neighboring node; After the extended time period, the corresponding proxy forwarding table entry for protecting the neighbor node from failure is deleted.
4. The method according to claim 1, It is characterized in that When the proxy forwarding node supports SR proxy forwarding for all its neighboring nodes, the proxy forwarding node advertises the SR proxy forwarding capability of the proxy forwarding node in its link state message LSP, and the LSP contains an intermediate system to intermediate system IS-IS router capability TLV of type 242, and the TLV includes an SR capability sub-TLV of subtype 2.
5. The method according to claim 1, It is characterized in that When the proxy forwarding node only supports SR proxy forwarding for some of its neighboring nodes, the proxy forwarding node announces the node SID of each neighboring node as the proxy node SID in the IS-ISSID / label binding TLV, indicating that SR proxy forwarding can be performed on the neighboring nodes corresponding to the node SID.
6. The method according to any one of claims 1 to 5, It is characterized in that The method also includes establishing an independent proxy forwarding table for each neighboring node, wherein the proxy forwarding node supports performing SR proxy forwarding for each neighboring node.
7. The method according to claim 6, It is characterized in that Also included is maintaining the independent proxy forwarding table for neighboring nodes that fail for an extended period of time.
8. The method according to claim 7, It is characterized in that The extended time period is 30 minutes.
9. A method performed by a first network node, It is characterized in that The method comprises: receiving a second network node SID generated and announced by the second network node; Determining that a neighboring node of the second network node is capable of performing SR proxy forwarding for the second network node; When the second network node operates normally, the first network node sends traffic directed to the second network node to the second network node using the node SID of the second network node; When the second network node fails, the first network node uses the proxy node SID of the second network node to send the traffic directed to the second network node to the neighboring node of the second network node; The proxy node SID of the second network node on the neighboring node is a copy of the node SID of the second network node, which is generated by the second network node and mapped to the neighboring node.
10. The method according to claim 9, It is characterized in that The method further includes, after determining that the neighboring node of the second network node is capable of performing SR proxy forwarding for the second network node, creating the proxy node SID of the second network node for the neighboring node.
11. The method according to claim 9, It is characterized in that The method further includes acquiring the proxy node SID of the second network node generated and announced by the neighboring node of the second network node.
12. The method according to claim 9, It is characterized in that The first network node is a node on the SR-TE path.
13. The method according to claim 9, It is characterized in that Perform SR proxy forwarding on the second network node where the fault occurs within a period of time after the IGP converges.
14. A network node, It is characterized in that Used to perform the method according to any one of claims 1 to 8.
15. A network node, It is characterized in that Used to execute the method according to any one of claims 9 to 13.
16. A network system, It is characterized in that The method comprises a first network node and a second network node, wherein the first network node is used to execute the method according to any one of claims 1 to 8, and the second network node is used to execute the method according to any one of claims 9 to 13.