A message processing method, device and system
By using the backup mechanism of the primary SID list and the backup SID list in the segment routing network, the reliability problem in the failure of the forwarding path in the segment routing network is solved, and the stable forwarding of data packets and the transmission efficiency are improved.
Patent Information
- Application Number
- CN202010209455.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-01-22
- Filing Date
- 2020-03-23
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2040-03-23
AI Technical Summary
In segment routing networks, when the forwarding path indicated by the segment identification list fails, the reliability of the prior art is low, which may lead to a delay or loss of data packet transmission.
Multiple segments are used to identify the SID list, including the main SID list and at least one backup SID list. The backup SID list is used as a backup of the main SID list. When the path or service indicated by the main SID list fails, the backup SID list is used to continue the datagram. The forwarding processing of the text improves the reliability of network transmission.
Through the backup mechanism of the backup SID list, data packet forwarding continues when the main SID list fails, improving the reliability and transmission efficiency of the segment routing network, and reducing the delay and risk of packet processing.
Smart Images

Figure CN113162849B_ABST
Abstract
Description
[0001] This application claims the priority of the Chinese patent application filed with the China Patent Office on January 22, 2020, with application number 202010075789.2 and invention name “A Protection Method and Network Device”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of communications, and in particular to a message processing method, device and system. Background Art
[0003] Segment routing (SR) is a protocol designed based on the concept of source routing to control the forwarding of data packets in the network. SR divides the network path into segments, assigns segment identifiers to these segments or nodes, and allows the data packet to be transmitted through the forwarding path indicated by the segment identifier by carrying segment identifiers arranged in sequence in the data packet. In the SR network, the forwarding path of the data packet is explicitly specified by inserting a set of ordered segment identifiers into the data packet through the ingress device of the segment routing network. The ingress device can also be called the head node. When SR is applied to the multi-protocol label switching (MPLS) data plane, it is called MPLS-SR or SR-MPLS. When SR is applied to the Internet Protocol Version 6 (IPv6) data plane, it is called IPv6-based segment routing (SRv6).
[0004] Head Node: The starting node of the SR forwarding path. In SRv6, it is responsible for encapsulating the segment routing header (SRH). In SR-MPLS, it is responsible for encapsulating the SID label into the MPLS packet header.
[0005] Egress node: The last hop network device in the SR forwarding path. In SRv6, it is responsible for decapsulating the SRH and / or IPv6 header.
[0006] Intermediate node: A network device that is not a head node or a tail node on an SR forwarding path is called an intermediate node.
[0007] A segment ID (SID) represents a service provided by a node, a link, or a network device. In SRv6, SID is expressed as a 128-bit value; in SR-MPLS, SID is expressed as a label value. An SRv6 segment ID may include a functional part, which indicates that the network device that publishes the segment ID needs to perform a corresponding action. For any node in an SR network, the node may include an endpoint layer 3 cross-connect segment ID (End.X SID, End means endpoint, X means crossing, and SID means segment ID) or an endpoint segment ID corresponding to at least one node (End SID, End means endpoint, and SID means segment ID). End.X SID is used to identify an IP layer link directly connected to the node, and End SID is used to identify the node.
[0008] Segment identifier SID list: A list containing one or more segment identifiers. After receiving a data message, the head node in the segment routing network can insert the SID list into the data message to indicate a forwarding path. A SID list can include only one SID or multiple SIDs. It should be noted that the above SID list can only indicate some nodes on the path, not all nodes. In addition, END.X and END, as well as SIDs with other functions, can also be mixed. The SIDs in the SID list will be executed sequentially to ensure that the message can be forwarded according to the specified forwarding path. When the head node inserts the SID list into the message and sends the message, when the forwarding path indicated by the SID list fails, it may cause a large delay or loss in message sending, and the reliability of the segment routing network is low. Summary of the invention
[0009] The present application provides a message processing method, device and system for implementing a segment routing network. When a forwarding path indicated by a segment identification list fails, forwarding processing of data messages can still be implemented in the segment routing network, thereby improving the reliability of the segment routing network.
[0010] In the first aspect, the present application provides a message processing method, which is applied to a segment routing network, in which: a first network device receives a first message, the first message includes multiple segment identification SID lists, the multiple SID lists include a main SID list and at least one backup SID list, the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the main SID list; the first network device processes the first message according to the main SID list. Since the first backup SID list in the first message is a backup of the main SID list, when the path indicated by the main SID list or the corresponding service fails, the first message can be processed based on the first backup SID list, thereby continuing to implement the forwarding processing of data messages in the segment routing network, and improving the reliability of network transmission.
[0011] In a possible implementation, the primary SID list includes only one SID, and the first backup SID list also includes only one SID, so that the length of the primary SID list and the length of the first backup SID list can be reduced, thereby reducing the length of the header of the first message and saving transmission resources.
[0012] In another possible implementation, the first network device processes the first message differently according to whether the target SID is available, and the target SID is one or more of the unexecuted SIDs in the main SID list.
[0013] In another possible implementation, the target SID being available includes: the service corresponding to the target SID being available; or the first network device being reachable to the target SID. Thus, by determining whether the service corresponding to the target SID is available or whether the first network device is reachable to the target SID, it is determined whether the service corresponding to the target SID is available.
[0014] In the above, by confirming the availability of one or more target SIDs, it is possible to use the backup SID list to provide services or forward messages after determining in advance whether they are available, thereby improving the reliability of the segment routing network.
[0015] In another possible implementation, the forwarding path indicated by the first backup SID list is a backup path of the forwarding path indicated by the main SID list. In this way, when the forwarding path indicated by the main SID list fails, the forwarding path indicated by the first backup SID list can be used to transmit the first message, thereby continuing to implement forwarding processing of data messages in the segment routing network, and improving the reliability of network transmission.
[0016] In another possible implementation, when the target SID is unavailable, the first network device sends the first message according to the first SID, where the first SID is the first SID in the first backup SID list. Since the target SID is a SID in the primary SID list, when the target SID is unavailable, the message is sent according to the first SID in the first backup SID list, thereby ensuring that the forwarding processing of the data message is continued in the segment routing network, and improving the reliability of network transmission.
[0017] In another possible implementation, the target SID is unreachable including: the first network device is unreachable from the network device corresponding to the target SID, or any network device or link between the first network device and the network device corresponding to the target SID fails. Thus, whether the target SID is reachable can be determined by determining whether the first network device is reachable from the network device corresponding to the target SID, or whether any network device or link between the first network device and the network device corresponding to the target SID fails.
[0018] In another possible implementation, the first network device is an intermediate node on the end-to-end main forwarding path indicated by the multiple SID lists, the target SID is the last SID in the main SID list, and the target SID is the SID of the first network device. When the target SID is reachable, the first network device sends a first message according to the first SID, and the first SID is the first SID in the multiple SID lists after at least one backup SID list. When the target SID is reachable, it means that the forwarding path indicated by the main SID list is fault-free, and since the first network device is an intermediate node on the main forwarding path, the first message is sent according to the first SID, so that the first network device skips the at least one backup SID list and continues to send the first message.
[0019] In another possible implementation, the first network device is the tail node on the end-to-end main forwarding path indicated by the multiple SID lists, the target SID is the last SID in the main SID list, and the target SID is the SID of the first network device. When the target SID is reachable, the first network device executes the function corresponding to the target SID and strips off the multiple SID lists. When the target SID is reachable, it means that the main forwarding path indicated by the main SID list is fault-free, and since the first network device is the tail node on the main forwarding path, multiple SID lists are stripped, so that the first network device directly skips the at least one backup SID list. In this way, the scenario of protecting the tail node failure is realized, and when the tail node processes a message, when there is still at least one SID in the segment identification list in the message, that is, the SID in the backup SID list, the SID list can be quickly stripped to improve the message processing speed.
[0020] In another possible implementation, the service corresponding to the first backup SID list is a backup of the service corresponding to the main SID list. The target SID is available including: the service corresponding to the target SID is available. In this way, when the service corresponding to the main SID list fails, the service corresponding to the first backup SID list can be used to process the first message, thereby continuing to process the data message in the segment routing network, improving the reliability of network transmission.
[0021] In another possible implementation, when the target SID is unavailable, the first network device uses the first SID to provide services for the first message, and the first SID is the first SID in the first standby SID list. When the target SID is unavailable, that is, the service corresponding to the target SID is unavailable, and the first message is provided with services according to the first SID in the first standby SID list, thereby continuing to process the data message in the segment routing network and improving the availability of the network.
[0022] In another possible implementation, the service corresponding to the target SID is unavailable including: insufficient service resources, or the resources are occupied, or the service application fails. Thus, by determining whether the service resources are sufficient, whether the resources are occupied, or whether the service application fails, it is determined whether the service corresponding to the target SID is available.
[0023] In another possible implementation, the first network device is an intermediate node on the end-to-end main forwarding path indicated by the multiple SID lists, the target SID is the first of the unexecuted SIDs, and when the target SID is available, the first network device provides the service corresponding to the target SID and sends the first message according to the first SID, and the first SID is the first SID in the multiple SID lists after the at least one standby SID list. Wherein, when the target SID is available, and the first SID is the first SID in the multiple SID lists after the at least one standby SID list, the message is sent according to the first SID, so that the first network device directly skips the at least one standby SID list, and the network device does not need to continue to process the message according to the at least one standby SID list, thereby avoiding the problems of repeated processing and low forwarding efficiency caused by this.
[0024] In another possible implementation, the first network device is the tail node on the end-to-end primary forwarding path indicated by the multiple SID lists, the target SID is the last one of the unexecuted SIDs, and when the target SID is available, the first network device provides the service corresponding to the target SID and strips off the multiple SID lists. Since the first network device is the tail node on the primary forwarding path, when the target SID is available, the multiple SID lists are stripped off, so that the first network device directly skips the at least one standby SID list.
[0025] In this way, the scenario of protecting the tail node failure is realized, and when the tail node processes the message, if there is at least one SID in the segment identifier list in the message, that is, the SID in the backup SID list, the SID list can be quickly stripped to improve the message processing speed. The method of stripping the SID list directly by SID can reduce the excessive indication information carried in the message, etc., which can improve the availability of this solution and reduce the network overhead.
[0026] In another possible implementation, the first message includes position indication information, so that the first network device obtains the first SID according to the position indication information, and the position indication information is used to indicate one or more of the following: the position of the main SID list in the multiple SID lists, the position of the first backup SID list in the multiple SID lists, and the position of the at least one backup SID list in the multiple SIDs. In this way, the first network device can accurately obtain the first backup SID list from the multiple SID lists according to the position information, thereby accurately obtaining the first SID.
[0027] By carrying location indication information in the SID, it is possible to achieve in a variety of application scenarios that the network device obtains accurate location information based on the SID, so that the SID in the main SID list or at least one SID in the backup SID list can be accurately skipped according to whether the target SID is available, thereby ensuring accurate processing of messages in the network without repeated processing of messages.
[0028] In another possible implementation manner, the location indication information includes: the last SID in the main SID list and / or the first SID among the SIDs in the main SID list that have not been executed.
[0029] By carrying the location indication information in the SID, the efficiency of network equipment in processing messages can be improved, and excessive indication information carried in the messages can be reduced, thereby improving the availability of the solution and reducing network overhead.
[0030] In another possible implementation, the location indication information is carried in metadata of a segment routing header of the first message.
[0031] In another possible implementation manner, the location indication information includes the number of SIDs in the M backup SID lists.
[0032] In another possible implementation manner, the position indication information includes the position of the tail SID of the main SID list in the multiple SID lists.
[0033] In another possible implementation manner, the position indication information includes the position of the head SID of the first standby SID list in the multiple SID lists.
[0034] In another possible implementation manner, the position indication information includes the position of the head SID of the main SID list in the multiple SID lists and the number of SIDs in the main SID list.
[0035] By carrying the location indication information in the message, the efficiency of the network device in processing the message can be improved.
[0036] In another possible implementation, the first network device receives a configuration instruction; the first network device executes according to the configuration instruction whether the target SID is available, obtains a second SID, and processes the first message according to the second SID, the second SID including: a SID in the main SID list, the first SID in the first backup SID list, or the first SID after the at least one backup SID list in the multiple SID lists. In this way, the configuration instruction can be used to control whether the first network device enables the function of processing the first message according to the target SID. In another possible implementation, the multiple SID lists are in the segment routing header SRH of the first message or the multiple SID lists are in the multi-protocol label switching header of the first message.
[0037] In another possible implementation manner, the primary SID list and the first backup SID list are in different SRHs of the first message.
[0038] In another possible implementation, the main SID list is adjacent to the first backup SID list, and the last SID in the main SID list is before the first backup SID list. This facilitates the first network device to determine the position of the main SID list and the position of the first backup SID list. It also maximizes the use of related technical solutions, so that messages in the network can be correctly processed, reducing the difficulty of using the technical solution.
[0039] In another possible implementation, at least one backup SID list further includes a second backup SID list, and the second backup SID list is a backup of the first backup SID list and / or the second backup SID list is a backup of the main SID list. In this way, the first message may include multiple main SID lists and a backup SID list corresponding to each main SID list, and each main SID list is protected by the backup SID list corresponding to each main SID list, thereby further improving the reliability of the segment routing network.
[0040] In another possible implementation, the multiple SID lists also include another primary SID list and another backup SID list, and the other backup SID list is a backup of the other primary SID list. When there are multiple important network nodes or services in the network that need to be protected, the reliability of the network can be further improved by carrying more primary and backup SID lists in the message.
[0041] In the second aspect, the present application provides a message processing method, which is applied to a segment routing network, in which: a first network device sends a first message, the first message includes multiple segment identification SID lists, the multiple SID lists include at least a main SID list and at least one backup SID list, the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the main SID list. Since the first backup SID list in the first message is a backup of the main SID list, when the path indicated by the main SID list fails, the first message is processed based on the first backup SID list, so that the forwarding processing of the data message continues to be implemented in the segment routing network, and the reliability of network transmission is improved.
[0042] In a possible implementation manner, the first network device receives the second message and generates the first message according to the second message, wherein the second message does not include the multiple SID lists; or the first network device generates the first message.
[0043] In a possible implementation manner, before sending the first message, the first network device further obtains the multiple segment identifier lists.
[0044] In another possible implementation, the first message includes position indication information, where the position indication information is used to indicate one or more of the following: a position of the primary SID list in the multiple SID lists, a position of the first backup SID list in the multiple SID lists, and a position of the at least one backup SID list in the multiple SID lists. In this way, the position information facilitates accurate determination of the position of the primary SID list or the backup SID list in the multiple SID lists.
[0045] In another possible implementation manner, the location indication information includes: the last SID in the main SID list and / or the first SID in the unexecuted SIDs in the main SID list.
[0046] In another possible implementation, the location indication information is carried in metadata of the segment routing header of the first message. Carrying the location information through metadata makes it easier for the network device behind the first network device to obtain the location information from the first message.
[0047] In another possible implementation manner, the multiple SID lists are carried in a segment routing header (SRH) of the first message or the multiple SID lists are carried in a multi-protocol label switching (MPLS) header of the first message.
[0048] In another possible implementation manner, the primary SID list and the first backup SID list are carried in different SRHs of the second message.
[0049] In another possible implementation, the main SID list is adjacent to the first backup SID list, and the last SID in the main SID list is before the first backup SID list. This makes it easier for the network device behind the first network device to determine the position of the main SID list and the position of the first backup SID list.
[0050] In another possible implementation, at least one backup SID list further includes a second backup SID list, and the second backup SID list is a backup of the first backup SID list and / or the second backup SID list is a backup of the main SID list. Since the second backup SID list is a backup of the first backup SID list, when a path failure is indicated by the first SID list, the first message is processed based on the second backup SID list, thereby continuing to implement forwarding processing of data messages in the segment routing network, thereby improving the reliability of network transmission.
[0051] In another possible implementation, the multiple SID lists further include another primary SID list and another backup SID list, and the other backup SID list is a backup of the other primary SID list.
[0052] In a third aspect, the present application provides a message processing method, which is applied to a segment routing network, in which: a control device sends a first message to a first network device, the first message includes multiple segment identification SID lists, the multiple SID lists include a main SID list and at least one backup SID list, the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the main SID list. The first message enables the first network device to generate a first message, and the first message includes the multiple SID lists. The first message generated in this way includes the main SID list and the first backup SID list. Since the first backup SID list is a backup of the main SID list, when the path indicated by the main SID list fails, the first network device processes the first message based on the first backup SID list, thereby continuing to implement the forwarding processing of the data message in the segment routing network, and improving the reliability of network transmission.
[0053] In a possible implementation, the first message further includes a message feature or a routing feature, and the first message complies with the message feature or the routing feature, so that the first network can add the primary SID list and the first backup SID list to the message that complies with the message feature and the routing feature.
[0054] In another possible implementation, the first message further includes position indication information, where the position indication information is used to indicate one or more of the following: a position of the primary SID list in the multiple SID lists, a position of the first backup SID list in the multiple SID lists, and a position of the at least one backup SID list in the multiple SIDs. In this way, the network device in the segment routing network can accurately determine the position of the primary SID list and each backup SID list based on the position indication information.
[0055] In another possible implementation manner, the location indication information includes: the last SID in the main SID list and / or the first SID among the unexecuted SIDs in the main SID list.
[0056] In a fourth aspect, the present application provides a message processing device, configured to execute the method in the first aspect or any possible implementation of the first aspect. Specifically, the device includes a unit configured to execute the method in the first aspect or any possible implementation of the first aspect.
[0057] In a fifth aspect, the present application provides a message processing device, which is used to execute the method in the second aspect or any possible implementation of the second aspect. Specifically, the device includes a unit for executing the method in the second aspect or any possible implementation of the second aspect.
[0058] In a sixth aspect, the present application provides a message processing device, which is used to execute the method in the third aspect or any possible implementation of the third aspect. Specifically, the device includes a unit for executing the method in the third aspect or any possible implementation of the third aspect.
[0059] In a seventh aspect, the present application provides a message processing device, the device comprising: a processor, a memory, and a transceiver. The processor, the memory, and the transceiver may be connected via a bus system. The memory is used to store one or more programs, and the processor is used to execute one or more programs in the memory, so that the device completes the method in the first aspect or any possible implementation of the first aspect.
[0060] In an eighth aspect, the present application provides a message processing device, the device comprising: a processor, a memory, and a transceiver. The processor, the memory, and the transceiver may be connected via a bus system. The memory is used to store one or more programs, and the processor is used to execute one or more programs in the memory, so that the device completes the method in the second aspect or any possible implementation of the second aspect.
[0061] In a ninth aspect, the present application provides a message processing device, the device comprising: a processor, a memory, and a transceiver. The processor, the memory, and the transceiver may be connected via a bus system. The memory is used to store one or more programs, and the processor is used to execute one or more programs in the memory, so that the device completes the method in the third aspect or any possible implementation of the third aspect.
[0062] In the tenth aspect, the present application provides a computer-readable storage medium, which stores program code. When the computer-readable storage medium is run on a computer, it enables the computer to execute the method in the above-mentioned first aspect, second aspect, third aspect, any possible implementation of the first aspect, any possible implementation of the second aspect, or any possible implementation of the third aspect.
[0063] In the eleventh aspect, the present application provides a computer program product comprising program code, which, when running on a computer, enables the computer to execute the method in the above-mentioned first aspect, second aspect, third aspect, any possible implementation of the first aspect, any possible implementation of the second aspect, or any possible implementation of the third aspect.
[0064] In the twelfth aspect, the present application provides a message processing system, the system comprising the device described in the fourth aspect and the device described in the fifth aspect; or, the system comprising the device described in the seventh aspect and the device described in the eighth aspect.
[0065] In a possible implementation, the system further includes the device described in the sixth aspect or the device described in the ninth aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0066] Figure 1 is a schematic diagram of a communication network architecture provided in an embodiment of the present application;
[0067] Figure 2 is a schematic diagram of the structure of another communication network provided in an embodiment of the present application;
[0068] Figure 3 This is a flow chart of a message processing method provided by an embodiment of the present application;
[0069] Figure 4 This is a specific application diagram of a method flow provided in an embodiment of the present application;
[0070] Figure 5 This is a schematic diagram of a type length value format provided in an embodiment of the present application;
[0071] Figure 6 This is a schematic diagram of a segment routing header format provided in an embodiment of the present application;
[0072] Figure 7 This is a specific application diagram of a method flow provided in an embodiment of the present application;
[0073] Figure 8 It is a specific application schematic diagram of another method flow provided in an embodiment of the present application;
[0074] Fig. 9 It is a specific application schematic diagram of another method flow provided in an embodiment of the present application;
[0075] Fig.10 It is a specific application schematic diagram of another method flow provided in an embodiment of the present application;
[0076] Fig.11 It is a specific application schematic diagram of another method flow provided in an embodiment of the present application;
[0077] Fig.12 It is a structural schematic diagram of a message processing device provided in an embodiment of the present application;
[0078] Fig.13 It is a schematic diagram of the structure of another message processing device provided in an embodiment of the present application;
[0079] Fig.14 It is a schematic diagram of the structure of another message processing device provided in an embodiment of the present application;
[0080] Fig.15 It is a schematic diagram of the structure of another message processing device provided in an embodiment of the present application;
[0081] Fig.16 It is a schematic diagram of the structure of another message processing device provided in an embodiment of the present application;
[0082] Fig.17 It is a schematic diagram of the structure of another message processing device provided in an embodiment of the present application;
[0083] Fig.18 It is a schematic diagram of the structure of another message processing device provided in an embodiment of the present application;
[0084] Fig.19 It is a schematic diagram of the structure of a message processing system provided in an embodiment of the present application;
[0085] Fig. 20 It is a schematic diagram of the structure of another message processing system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0086] The implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0087] The following explains the terms involved in this application:
[0088] Segment routing header (SRH): Internet protocol version 6 (IPv6) messages are composed of IPv6 standard header + extension header (0...n) + payload. In order to implement SRv6 based on the IPv6 forwarding plane, a new IPv6 extension header is added, called the SRH extension header. The extension header specifies an IPv6 path and stores multiple IPv6 SIDs. The multiple SIDs can be composed of a segment list (Segment List), which has the same function as the Segment List in segment routing multi-protocol label switching (SR-MPLS). The head node adds one or more SRH extension headers to the IPv6 message, and the intermediate node can forward the IPv6 message according to the path information contained in the SRH extension header. For example, when forwarding IPv6 packets, network devices that support SRv6 will query the local SID table according to the destination address (DA) in the data packet. When the destination address of the data packet matches any SID in the local SID table, the operation corresponding to the policy or function will be performed according to the policy or function related to the SID in the local SID table. For example, the operation corresponding to the policy can forward the data packet from the outbound interface specified by the SID; if the destination address of the data packet does not match any SID in the local SID table, the IPv6 routing table will be checked again, and the longest match forwarding will be performed according to the IPv6 routing table.
[0089] The policies or functions corresponding to the SID include: forwarding paths and / or corresponding services. The forwarding paths may include the End SID, End.X SID or other SIDs with forwarding or table lookup functions described in the background technology section. The services corresponding to the SID may include functions provided by network devices, such as compression processing, encryption processing, etc., or other functions provided by other devices connected to the network device: such as anti-attack filtering, traffic cleaning and other services provided by connected firewalls. In the above, there is also a situation where a SID corresponds to both a forwarding path and a service. The network device only needs to perform operations on the message according to the function corresponding to the SID, that is, the SID can be used to instruct the network device corresponding to the SID to perform corresponding processing operations on the message according to the SID.
[0090] In an embodiment of the present application, the head node may insert one or more segment identifier SID lists into the message, and the SID list includes at least two SIDs. The one or more SID lists may be logically divided into: a primary SID list and a backup SID list. When there are other SIDs in the one or more SID lists that do not belong to the two lists, the SIDs may also be divided into other SID lists. In SRv6, the SID with a smaller value of the corresponding remaining segment (segment left, SL) in the SRH is considered to be at the end, and the SID with a larger value of the SL corresponding to the SID is considered to be at the beginning. When the segment identifier list is represented by (SID1, SID2, SID3), it is considered that the SID in the front is in the front, and the SID in the back is in the back. For example, if SID1 is considered to be the first SID in the segment identifier list, SID1 is adjacent to SID2, SID1 is before SID2, SID2 is adjacent to SID1 and SID3, SID2 is before SID3, SID3 is adjacent to SID2, and accordingly, SID2 is after SID1 and SID3 is after SID2.
[0091] Primary SID list: One or more SIDs in the SID list of a message that are protected and backed up are called the primary SID list. For example, when the segment identifier list is represented by (SID1, SID2, SID3), and SID3 is the backup of SID2, that is, SID2 is the backed-up SID, then SID2 is regarded as the primary SID list.
[0092] Backup SID list: One or more SIDs used for backup in the SID list of a message are called the backup SID list. For example, when the segment identifier list is represented by (SID1, SID2, SID3), and SID3 is the backup of SID2, SID3 is regarded as the backup SID list.
[0093] Unexecuted SIDs: In SRv6, the SID corresponding to the destination address in the main SID list and the SIDs after it can be regarded as unexecuted SIDs. For example, when the main SID list is (SID1, SID2, SID3), and when the network device receives a message, the SID corresponding to the destination address of the message is SID2, then the unexecuted SIDs include: SID2 and SID3. In SR-MPLS, since the SIDs (i.e., labels) in the segment identifier list are continuously popped out, the primary segment identifier list at the top of the stack in the MPLS packet header can be regarded as unexecuted SIDs. For example, when the head node sends a packet to its next-hop device, the primary segment identifier list is (SID1, SID2, SID3), and the unexecuted SIDs include: SID1, SID2, and SID3. After the packet is processed by the network device corresponding to SID1, the primary segment identifier list may be changed to (SID2, SID3), and the unexecuted SIDs include: SID2 and SID3.
[0094] Target SID: One or more of the above-mentioned SIDs that have not been executed, that is, it can be SID2, SID3, or SID2 and SID3. Usually, the target SID can be the first of the SIDs that have not been executed, that is, SID2. The network device on the forwarding path indicated by the segment identifier list can determine the reachability of the SID in the main SID list by actively determining whether the network device corresponding to the target SID is reachable. Or when the target SID corresponds to a service, the network device corresponding to the target SID can determine the availability of the service, thereby determining the availability of the main SID list.
[0095] Main forwarding path: The forwarding path indicated by the above main SID list is called the main forwarding path, and the forwarding path may also include only one network node.
[0096] Backup forwarding path: The forwarding path indicated by the backup SID list is called the backup forwarding path, and the forwarding path may also include only one network node.
[0097] End-to-end primary forwarding path: The forwarding path including the primary segment identifier list and the backup SID list in the SID list is called the end-to-end primary forwarding path. The forwarding path may also include only one network node.
[0098] End-to-end backup forwarding path: The forwarding path in the SID list other than the path indicated by the primary SID list is called the end-to-end backup forwarding path, and the forwarding path may also include only one network node.
[0099] The following is an exemplary introduction to the definition of SID. Referring to Table 1, the SID defined in SRv6 may include three parts, including a location (locator) part, a function (function) and a parameter part (Argument).
[0100] Table 1
[0101] locator Function Argument
[0102] The location part is used to route the message to the network device corresponding to the SID to achieve network addressing. The location part has two important attributes, namely routing and aggregation. The location part in the SID is a variable length part.
[0103] The function part is used to express the action to be performed by the instruction, which is equivalent to the operation code of the calculation instruction. In the SRv6 network, any processing operation can be expressed by the function part or the entire SID. Optionally, the function part in the SID is a random number assigned by the network device that executes the instruction. It does not imply the specific function to be performed by the instruction itself, but determines the specific function to be performed by the SID through the random number.
[0104] The parameter part is the parameters, services or any other related information required when the instruction is executed. For example, when defining an instruction to fragment a message, the parameter part carries the fragment length of the message. The parameter part is also optional in the SRv6 SID definition, that is, the SID may not include the parameter part.
[0105] In SR-MPLS, the SID is treated as a label, and network devices can also forward packets or provide corresponding services based on the label. Since it is similar to SRv6, it will not be described here.
[0106] The following is an example of an application scenario of the present application. Figure 1 , which is a schematic diagram of a communication network provided by an embodiment of the present application. Figure 1In the communication network shown, network devices 1, 2, 3, 4, 5, 6, 7 and 8 are located in the same communication network, which may be an SRv6 network or an SR-MPLS network, etc. Network device 1 is connected to network device 2 and network device 6, network device 2 is connected to service device 9 and network device 3, network device 3 is connected to network device 2 and network device 4, network device 4 is connected to network device 3 and network device 5, network device 5 is connected to network device 4 and network device 8, network device 8 is connected to network device 5 and network device 7, network device 7 is connected to network device 6 and network device 8, and in the network, there may also be a control device or a path calculation unit, which may be connected to all devices in the network device. Among them, network devices 1, 2, 3, 4, 5, 6, 7 and 8 can be router devices, or switches or any other devices with SR functions. The device can be in the form of a physical device or a virtualized device with SR functions. Network device 3 can be a device that supports the SR function or a device that does not support the SR function. That is, in the SR network, not all devices need to support the SR function, and those that do not support the SR function only need to support normal routing or switching functions. This application does not make specific limitations.
[0107] Those skilled in the art will appreciate that the number of network devices in the communication network may be more or less. For example, the network devices may be dozens or hundreds, or more. The embodiment of the present application does not limit the number and type of network devices.
[0108] In this SR network, network device 1 can be used as the head node of a forwarding path of the network, and network device 5 can be used as the tail node of the forwarding path. Network device 1 includes SID1, network device 2 includes SID2, network device 4 includes SID4, network device 5 includes SID5, network device 6 includes SID7, and network device 8 includes SID8. Among these SIDs, there are SIDs corresponding to forwarding nodes / paths: such as SID4, SID5, SID6, SID7 and SID8, and SIDs corresponding to services, such as SID2. Network device 2 can provide corresponding services for messages through SID2, and the service can be the above-mentioned message compression, etc. Network device 2 can also send messages to service device 9 through SID2 to provide services for the message, such as traffic cleaning, virus filtering, etc.
[0109] When the network device 2 provides service for the received message through the service device 9, the network device 2 sends the message to the service device 9, the service device 9 receives the message, processes the message based on the service it provides, and sends the processed message to the network device 2.
[0110] For example, assuming that the service device 9 is a firewall device, the service provided by the firewall device 9 to the message is to perform anti-attack filtering on the message. The network device 2 sends a message to the firewall device 9, the firewall device 9 performs anti-attack filtering on the message, and then sends the filtered message to the network device 2.
[0111] The head node in the communication network, i.e., network device 1, can directly generate a first message, which includes a segment identifier list indicating a forwarding path, and then send the first message in the communication network. The first message can be a fault detection message or a probe message, etc. Alternatively, after network device 1 receives a first message sent by other devices, such as a customer edge (CE) device, it inserts a segment identifier list into the first message after determining the forwarding path corresponding to the first message, thereby guiding the forwarding of the first message in the segment routing network. Figure 1 When the network shown is SRv6, network device 1 can add a new IPv6 header and SRH header to the first message. The SRH includes the above-mentioned segment identifier list. The destination address (DA) of the IPv6 header is the first SID in the segment identifier list, that is, the SID with the largest corresponding SL value.
[0112] Optionally, the first message includes multiple SRHs, that is, the network device 1 adds multiple SRHs to the second message, and each SRH includes one or more segment identifier lists.
[0113] Network device 1 may obtain segment identification list 1 such as (SID2, SID4, SID5), which indicates a forwarding path of network device 2->network device 4–>network device 5, and segment identification list 2 such as (SID6, SID7, SID8, SID5), which indicates a forwarding path of network device 6->network device 7->network device 8->network device 5. Network device 1 may insert segment identification list 1 or segment identification list 2 into the first message to guide forwarding of the message in the segment routing network.
[0114] Among them, it should be noted that: a certain SID or multiple SIDs in the segment identifier list 1 or segment identifier list 2 may be unavailable. In the relevant technology of SR, when the network device in the SR network is forwarding a message, when it is determined that the network device corresponding to the destination SID corresponding to the message to be sent is unreachable, it can take the next SID of the destination SID and send the message according to this next SID. For example, when the segment identifier list inserted by network device 1 in the first message is (SID2, SID4, SID5), and the network device 2 corresponding to SID2 is unreachable, the network device 1 can send the first message according to the next SID in the SID list, that is, SID4. However, when this unreachable SID is the last SID in the SID list, for example, when network device 4 needs to forward the first message to network device 5, the destination SID is SID5, but since there is no next SID in the segment identification list, network device 4 cannot obtain a new SID and can only forward the message as far as possible, which in turn affects the forwarding of the first message and may cause a large delay in the transmission of the first message, or even interruption or discarding of the message forwarding, resulting in low reliability of this segment of the routing network.
[0115] Specifically, taking SRv6 as an example, the head node receives the first message, adds an IPv6 header and SRH to the first message, the SRH includes a segment identifier list and an SL value, the segment identifier list includes the SIDs of n network devices, and n is an integer greater than 0. The n network devices are other devices other than the head node that the forwarding path for transmitting the first message in the communication network passes through, or may also include the head node, the initial value of SL is equal to n-1, and the DA of the IPv6 header is the first SID in the segment identifier list.
[0116] The head node processes the first message according to the DA, such as sending the message to the network device corresponding to the DA. For any other network device (which may be referred to as the first network device) that the forwarding path indicated by the segment identifier list passes through, the first network device receives the second message. If the first network device is not the last hop device on the forwarding path, the first network device sets the SL in the message to SL-1 before forwarding the message, and then reads the SID from the segment identifier list of the message according to the updated SL value, and then sends the message according to the SID. If the first network device is the last hop device on the forwarding path, which may also be referred to as the tail node, the first network device strips the SRH from the second message, including the segment identifier list and SL, strips the new IPv6 message header added by the head node, or obtains the original destination address based on the original first message, and sends the first message according to the destination address.
[0117] Among them, in the case where the first network device is not the tail node of the forwarding path, after obtaining the SID of the second network device, the first network device detects that the second network device has failed. At this time, the SL in the second message can continue to be set to SL-1, and then the SID of the next hop device of the second network device (called the third network device) is read from the segment identification list included in the second message according to the SL, and the second message is sent according to the SID of the third network device, so that the second network device can be skipped. If the second network device is the last hop device of the transmission path, when the second network device fails, since the SID of the third network device is not included in the segment identification list of the second message, the first network device will have a large delay in sending the second message, or even discard the message.
[0118] As mentioned above, when a SID is unavailable, the previous hop device in the forwarding path can skip the unavailable SID and send the message. However, when the unavailable SID corresponds to a service, it means that the service is provided, and skipping the unavailable SID also skips the service. For some services, the importance of these services may be high, and when there is an unavailable SID in the first message, it is not desirable to skip these services; or, when the last SID among the multiple SIDs in the first message is unavailable, it is also desirable to avoid a large transmission delay or packet loss of the first message as much as possible, so as to avoid affecting the service corresponding to the message.
[0119] The present application provides a means to solve the technical problem, that is, to obtain multiple segment identification lists at the head node, the multiple segment identification lists include a primary SID list and at least one backup SID list, and the at least one backup SID list includes a first backup SID list, which is a backup of the primary SID list. The multiple segment identification lists here are only for dividing multiple segment identifications. In actual applications, they may belong to the same segment identification list, and there is no actual distinction between the primary and backup segment identification lists.
[0120] The so-called first backup SID list is a backup of the main SID list, which means that the service corresponding to the SID in the first backup SID list is a backup of the service corresponding to the SID in the main SID list, or the forwarding path indicated by the first backup SID list is a backup of the forwarding path indicated by the main SID list. In this way, when one or more SIDs in the main SID list are unavailable, the service corresponding to the SID included in the first backup SID list can be used to continue processing the first message, which is applied to Figure 1In the scenario shown, the network device 1 can carry both the above segment identification list 1 and the segment identification list 2 in the message, and the segment identification list can be recorded as: (SID2, SID4, SID6, SID7, SID8, SID5), which can be logically divided into the main SID list: (SID2, SID4), the first backup SID list (SID6, SID7, SID8), and other SID lists (SID5). The main forwarding path indicated by the main SID list is network device 2->network device 4, and the backup forwarding path corresponding to the first backup SID list is: network device 6->network device 7->network device 8, the end-to-end main forwarding path is: network device 2->network device 4->network device 5, and the end-to-end backup forwarding path is: network device 6->network device 7->network device 8->network device 5. In this way, when the main forwarding path indicated by the main SID list fails, the message can be sent according to the backup forwarding path indicated by the backup SID list. In the above, network device 2 and network device 4 can be considered as intermediate nodes on the end-to-end main forwarding path, and network device 5 can be considered as the tail node on the end-to-end main forwarding path. In the above, when the above segment identifier list is encapsulated into the message, the main SID list is adjacent to the backup SID list, and the first SID in the backup SID list is before the last SID in the main SID list. It can also be considered that the main SID list is the leading list of the backup SID list. In the SRv6 message, it can be considered that the SL value corresponding to the first SID in the backup SID list is equal to the SL value corresponding to the last SID in the main SID list minus 1. The detailed implementation process of processing the message according to the first backup SID list when the SID in the main SID list is unavailable will be described later. Figure 3 The embodiment shown will be described in detail and will not be introduced here.
[0121] Optionally, the at least one backup SID list further includes a second backup SID list, where the second backup SID list is a backup of the first backup SID list, and / or the second backup SID list is a backup of the primary SID list.
[0122] Optionally, the multiple SID lists further include another primary SID list and another backup SID list, the other primary SID list is a preceding list of another backup SID list, the other primary SID list is after the M backup SID lists, and the other backup SID list is a backup of the other primary SID list.
[0123] Optionally, the first message can include multiple primary SID lists and at least one backup SID list corresponding to each primary SID list.
[0124] For example, see Figure 2, is a schematic diagram of another communication network architecture provided in an embodiment of the present application. In the network, network device 1 is connected to network device 2, network device 4, and network device 6, network device 2 is connected to network device 3 and network device 1, network device 4 is connected to network device 1 and network device 5, network device 6 is connected to network device 5 and network device 7, network device 3 is connected to network device 2 and network device 8, network device 5 is connected to network device 4 and network device 8, network device 7 is connected to network device 6 and network device 8, network device 9 is connected to network device 12 and network device 8, network device 10 is connected to network device 12 and network device 8, and network device 11 is connected to network device 12 and network device 8. The SID list in the first message generated by the network device 1 may be as shown in the figure, (SID2, SID3, SID4, SID5, SID6, SID7, SID8, SID9, SID10, SID11, SID12), which may be logically divided into: a first main SID list (SID2, SID3), at least one standby SID list, including: a first standby SID list (SID4, SID5), and a second standby SID list (SID6, SID7), wherein the first standby SID list is a backup of the first main SID list, and the second standby SID list is a backup of the first main SID list. The D list is a backup of the first main SID list and / or a backup of the first backup SID list; other SID lists (SID8), a second main SID list (SID9), and at least one backup SID list corresponding to the second main SID list includes: a first backup SID list (SID10), a second backup SID list (SID11), wherein the first backup SID list (SID10) is a backup of the second main SID, the second SID list is a backup of the second main SID list and / or the first backup SID list (SID10), and other SID lists (SID12).
[0125] The network device corresponding to the primary SID in the primary SID list (referred to as the primary network device for ease of explanation) and the network device corresponding to the backup SID in the first backup SID list (referred to as the backup network device for ease of explanation) may be the same or different network devices, and the service corresponding to the primary SID on the primary network device is the same as the service corresponding to the backup SID on the backup network device, thereby enabling the service corresponding to the backup SID to back up the service corresponding to the primary SID.
[0126] See also Figure 3 The present application embodiment provides a message processing method, which can be applied to Figure 1 , Figure 2 as well as Figures 7 to 11 The communication network provided in any embodiment includes:
[0127] S101: A first network device obtains a plurality of SID lists, where the plurality of SID lists include a primary SID list and at least one backup SID list, where the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the primary SID list.
[0128] The first network device may be a head node of a forwarding path for transmitting corresponding messages in the SR network. The first network device may obtain the multiple SID lists before sending messages or after receiving corresponding routes published by other devices in the network.
[0129] The first network device may obtain the multiple SID lists in the following first and second ways:
[0130] In the first mode, the first network device receives a message sent by the control device, the message including multiple SID lists, the multiple SID lists including the main SID list and the at least one backup SID list, and the message is used to instruct the first network device to process the message received by the first network device according to the multiple SID lists.
[0131] In the first mode, the message may be a response message of the control device based on a forwarding path (i.e., a segment identifier list) to the destination address requested by the network device, or may be a message sent to the first network device after the control device obtains the segment identifier list based on pre-configured information. The control device may determine the forwarding path for transmitting the service based on the destination address and the topological structure of the segment routing network, and determine N SIDs therein, and determine the N SIDs as the main SID list, where N is an integer greater than 0.
[0132] For the main SID list, the control device determines at least one backup SID list corresponding to the main SID list. The main SID list and at least one backup SID list can be calculated by the controller, or configured in advance on the control device by the administrator. After determining the multiple SID lists (including the main SID list and the backup SID list) corresponding to the corresponding forwarding path, the control device sends this information to the first network device. This information can be sent by the control device to the first network device once, or it can be sent to the first network device multiple times.
[0133] For example, see Figure 1, the control device obtains the source IP address and the destination IP address, and determines the forwarding path for transmitting the message based on the source IP address and the destination IP address. The SIDs passed by the forwarding path include SID1 of network device 1, SID2 of network device 2, SID4 of network device 4, and SID5 of network device 5. Assume that the administrator has set the forwarding path to be protected among these SIDs as: (SID2, SID4). The controller then obtains a backup SID list corresponding to the main SID list, which is: (SID6, SID7, SID8), and the control device can send this information to network device 1.
[0134] The control device may store the SIDs of all network devices in the segment routing network. The network devices in the segment routing network can publish at least one SID of the network device to the control device, and can also receive the SID of the network device configured by the control device.
[0135] Optionally, the network device publishes the SID to the control device in the following ways 1 to 3, where the ways 1 to 3 are:
[0136] Method 1: The network device sends a notification message to the control device, and the notification message carries at least one SID of the network device.
[0137] The notification message may be a border gateway protocol (BGP) message, a border gateway protocol ethernet virtual private network (BGP EVPN) message, or an interior gateway protocol (IGP) message, and this application does not make any specific limitation.
[0138] Optionally, at least one SID of the network device is carried in the type length value (TLV) of the notification message. TLV is a coding format mainly defined by three types of information: type field, length field and value field. The format of the TLV is shown as follows: Figure 5 As shown. The type field in the figure indicates the type of the TLV. The value of the type field can identify that the TLV is a TLV for publishing SID. The value of the type field can be the type newly applied for publishing SID, for example, it can be 90. The value of the length field identifies the length of the TLV. The value field is used to carry at least one SID of the network device.
[0139] Method 2: The network device may publish at least one SID of the network device to the control device through the BGP link state protocol (border gateway protocol-linkstate, BGP-LS).
[0140] Method three: The network device may publish at least one SID of the network device to the control device through a path computation element communication protocol (PCEP).
[0141] Optionally, the control device is a controller or a path computation element (PCE), which may also be referred to as a path calculation unit.
[0142] Optionally, the message sent by the control device to the first network device also includes message characteristics and / or routing characteristics. For example, the message also includes the above-mentioned destination IP address, which can be regarded as a routing feature. The message characteristics may be information such as the priority of these messages. The message is also used to instruct the first network device to process the message that meets the above-mentioned message characteristics or routing characteristics according to the multiple SID lists, such as: after receiving the message that meets the above-mentioned message characteristics or routing characteristics, add the above-mentioned multiple segment identifier lists to the above-mentioned message.
[0143] Optionally, the message also carries position indication information, which is used to indicate one or more of the following: the position of the main SID list in the multiple SID lists, the position of the first backup SID list in the multiple SID lists, and the position of the at least one backup SID list in the multiple SID lists.
[0144] The position indication information can indicate the above information in a variety of ways, such as: the position of the last SID in the main SID list among the multiple SIDs or the position of the first SID in the first backup SID list among the multiple SIDs, or the position of the first SID in the main SID list among the multiple SIDs, as well as the number of SIDs in the main SID list, the number of SIDs in at least one backup SID list, and other ways, so that the network device can determine the position of the main SID list, the position of the first backup SID list, or the position of at least one backup SID list according to the above information. Usually, the network device determines the above position, mainly determining the position of the last SID in the main SID list, the position of the first SID in the first backup SID list, and the position of the last SID in at least one backup SID list. The above information can be sent to the first network device by the control device through the same message, or it can be sent by the control device through different messages. When the control device sends the above information to the first network device through multiple messages, the control device also wants to send the association information of the above information to the first network device, and associate these contents together through the association information.
[0145] After receiving the above information, the first network device may assemble the multiple segment identifier lists according to the SRv6 rule or the MPLS rule when generating the first message.
[0146] In the second manner, the first network device can automatically calculate the forwarding path and obtain the above multiple SID lists.
[0147] For example, applied to Figure 1 In the network shown, when network device 5 announces a route to network device 1, network device 1 can automatically calculate a forwarding path after receiving the route.
[0148] S102: The first network device generates a first message, the first message includes multiple SID lists, the multiple SID lists include a primary SID list and at least one backup SID list, the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the primary SID list.
[0149] Optionally, the first network device may directly generate the first message, for example, the first network device generates a fault detection message.
[0150] Optionally, the first network device receives the second message, and generates the first message based on the second message.
[0151] The first network device receives the second message, and adds a message header to the second message, where the message header includes the multiple SID lists, to obtain the first message. At this time, the second message may be the payload part (payload) of the first message.
[0152] In one example, in an SRv6 network, a first network device adds an SRH to a second message to obtain a first message. Figure 6 The SRH format shown in the figure includes a segment identifier list and SL information, the segment identifier list includes the multiple SID lists, and the SIDs in the multiple SID lists are respectively carried in Segment List[n] to Segment List[0]. Or, the first network device can also add multiple SRHs to the second message, each SRH includes a segment identifier list, such as putting the main SID list in the first SRH and the backup SID list in the second SRH, and the format of each SRH is as follows Figure 6 shown.
[0153] Optionally, the first network device may also add a new IPv6 message header to the first message, and the DA in the new IPv6 message header is the first SID in the segment identifier list.
[0154] Optionally, the first network device may also modify the DA in the original IPv6 message header of the message to the first SID in the segment identifier list.
[0155] In another example, in SR-MPLS, the first network device adds an MPLS message header to the second message to obtain a first message, the MPLS message header includes a label stack, and the label stack includes the above-mentioned multiple SID lists.
[0156] Optionally, the first message includes position indication information. The position indication information is used to indicate one or more of the following: the position of the primary SID list in the multiple SIDs, the position of the first backup SID list in the multiple SID lists, and the position of the at least one backup SID list in the multiple SID lists.
[0157] For a detailed description of the location information, please refer to the description of the control device sending a control message to the network device, which will not be repeated in this application.
[0158] The first network device may directly encapsulate the received location indication information sent by the control device into the first message, or may determine the location indication information according to the situation of encapsulating the SRH header itself and then encapsulate it into the first message.
[0159] When encapsulating the first message, the first network device encapsulates the above-mentioned location information into the message, which can be used to guide the network devices on the forwarding path indicated by the above-mentioned multiple SID lists to determine the location of the above-mentioned main SID list, the location of the first backup SID list, or the location of at least one backup SID list. Its main purpose is: 1. When the network device determines that the forwarding path or service corresponding to any SID in the main SID list is unavailable, after obtaining the first SID of the first backup SID list (hereinafter referred to as the first backup SID for the sake of simplicity in subsequent description), skip the unexecuted SID in the main SID list, use the first backup SID to forward the message or provide the corresponding service for the message, and forward the message along the first backup SID list. 2. When the service or network device corresponding to the last SID in the main SID list is available, and the function corresponding to the SID can be successfully executed, the network device can skip the SID in the above-mentioned at least one backup SID list, and obtain the SID in the multiple SID lists after the at least one backup SID list, and forward the message or provide the corresponding service for the message according to the SID. 3. When the last SID in the primary SID list is the last SID on the end-to-end primary forwarding path, that is, the network device corresponding to the SID is the tail node on the end-to-end primary forwarding path, after the service or network device corresponding to the SID is available and the function corresponding to the SID can be successfully executed, the network device can skip the SID in the above-mentioned at least one backup SID list and forward the message.
[0160] In some scenarios, such as when the main SID list includes only one SID and at least one backup SID list includes only the first backup SID list, the location indication information may be only: the SID in the main SID list. When the SID is not available, the network device may adopt the method in the related technology to obtain its next SID, that is, the SID in the first backup SID, and forward or provide corresponding services according to the SID. When the SID is available, when the SID can be executed without failure, the first backup SID list can be skipped according to the SID, and the first SID after the first backup SID list in the multiple SID lists is obtained, and the message is processed according to the first SID after the first backup SID list. As mentioned above, when the first backup SID list is the last list in the multiple SID lists, the SID in the main SID list can be a special SID. This SID has the function of instructing its corresponding network device to strip the SRH header. There is no need to confirm whether there are other SIDs in the multiple SID lists, or the positions of the main and backup SID lists, but directly strip the SRH header, and then strip the above multiple SID lists.
[0161] Optionally, the location indication information includes: the last SID in the main SID list and / or the first SID in the main SID list that has not been executed.
[0162] The following methods include the following:
[0163] 1. The network device can search for the correspondence between the SID identifier and the first standby SID, or the position difference between the SID identifier and the first standby SID on the network device according to the above SID. The position difference can be understood as the number of SIDs after the SID in the main SID list, or can be understood as the difference between the SL value of the first standby SID and the SL value of the SID, and the first standby SID is obtained according to the position difference.
[0164] 2. In the above SID, the above position difference information is directly carried, so that the network device can obtain the first backup SID according to the position difference information. In an example, the position difference information can be carried in the parameter part of the above SID. Of course, it can also be carried in other parts of the above SID. This application does not make specific limitations. In an SRv6 example, the value of the last SID in a main SID list can be: A2::1:1, where A2 is the locator, ::1 is the function corresponding to End.x, and :1 is Argu, which means that SL-2 is required. In this way, the network device corresponding to the SID can accurately skip the backup SID through SL-2.
[0165] Optionally, the location indication information may also include at least one SID in the standby SID list.
[0166] The network device may obtain the SID after at least one backup SID list according to the SID in the at least one backup SID list. Or, according to the SID in the first backup SID list, determine the first SID of the backup SID list that provides backup for the first backup SID list. The way in which the network device obtains the relevant SID according to the SID in the at least one backup SID list is similar to the way in which the first backup SID is obtained according to the SID in the main SID list, and will not be repeated here.
[0167] Optionally, the location information may also be in the metadata of the SRH of the first message. The format of the metadata may be as follows: Figure 5The type field in the figure indicates the type of the TLV. The value of the type field can identify that the TLV is a TLV used to carry location indication information. The value of the type field can be a newly applied type for location indication information, for example, it can be 91. The value of the length field identifies the length of the TLV. The value field is used to indicate the position of the first SID of the first backup SID, and / or the position of the last SID of at least one backup SID list, and / or the position of the next SID of at least one backup SID list.
[0168] In one example, the value of the metadata is m5b3, which can be understood as: the SL value corresponding to the last SID in the main SID list is 5, and the SL value corresponding to the last SID in at least one backup SID list is 3. Among them, m is the abbreviation of the main forwarding path, and b is the abbreviation of the backup forwarding path. It is also possible to define different bits corresponding to different forwarding paths and other methods in the metadata. This application does not limit the method of carrying location indication information in metadata.
[0169] In an embodiment of the present application, the location indication information may also be a combination of two or three of the above, that is, the method of metadata + the last SID in the main SID list, the method of metadata + the SID in the first backup SID list, or any other varying method may be used to indicate the above location information that needs to be determined, thereby obtaining the corresponding first backup SID, or the first SID after at least one backup SID list.
[0170] Optionally, in the first message, at least one backup SID list further includes a second backup SID list, where the second backup SID list is a backup of the first backup SID list, and / or the second backup SID list is a backup of the primary SID list.
[0171] S103: The first network device sends a first message to the second network device.
[0172] When the first SID in the list of multiple segment identifiers is the SID of the second network device, the first network device sends the first message to the second network device according to the SID.
[0173] When the first SID is the SID of the first network device and the first SID is not the last SID in the main forwarding path corresponding to the end identification list, the first network device provides the service corresponding to the first SID for the first message based on determining that the first SID is available, and the first network device obtains the next SID of the first SID and sends the first message to the second network device based on the next SID.
[0174] In the SRv6 network, the first network device obtains the SID corresponding to the value of the SL minus one, sets the content carried by the destination address field of the first message to the SID, and sends the first message to the destination address field according to the SID.
[0175] In the case where the communication network is an SR-MPLS network, after the first network device pops the SID at the top of the label stack of the first message, it sends the first message according to the top SID after the top SID is popped.
[0176] In the above, the SID corresponding to the DA in the message header in the SRv6 network and the top SID in the label stack in the SR-MPLS network can be referred to as the first destination SID. The first destination SID may be a SID in the main SID list or may not be a SID in the main SID list.
[0177] In this step, when the first destination SID is a SID in the main SID list, the first network device regards the first destination SID as the target SID before sending the first message. Determine whether the first destination SID is available, where the first destination SID is available including: the service corresponding to the first destination SID is available, or the first destination SID is reachable.
[0178] When the first destination SID belongs to the first network device, that is, the first destination SID is the SID of the first network device, and the first destination SID corresponds to a service, the service corresponding to the first destination SID is unavailable including: the first network device determines that it cannot provide resources required for the service; or the first network device cannot provide functions required for the service. Otherwise, it is considered that the service corresponding to the first destination SID is available, that is, the first network device can execute the first destination SID without failure.
[0179] The first destination SID being unreachable includes: taking the first destination SID as the destination address, the first network device determining that a route to the destination address is unreachable, or any network device or link between the first network device and the destination address fails.
[0180] When the first destination SID is available, the first network device may send the first message based on the first destination SID, that is, send the first message using the first destination SID as the destination address.
[0181] For example Figure 4 , which is an embodiment of the present application method applied to Figure 1 In the specific example of the network scenario shown, when the first network device confirms that SID2 is available, the content of the destination address field (DA) of the first message is set to SID2, and the first message is sent to the network device 2 corresponding to SID2.
[0182] The network devices in the SR network may be configured by default to process the message according to the SID corresponding to the destination address in the first message or the availability of the first SID. That is, at this time, the network devices do not need to confirm whether these SIDs are in the main SID list.
[0183] For example, see Figure 4 Assuming that network device 1 determines that SID2 is available, it uses SID2 as the destination address and sends the first message to network device 2. The message header of the message can be briefly shown as ①. The segment identifier list of the message header is (SID2, SID4, SID6, SID7, SID8, SID5), among which the main SID list is (SID2, SID4), the backup SID list is (SID6, SID7, SID8), and the other SID list is (SID5). It can be considered that the main forwarding path indicated by the main SID list is network device 2->network device 4. From the network topology, it can be seen that the main forwarding path also passes through network device 3, that is, the main forwarding path can also be understood as: network device 2->network device 3->network device 4, and the backup forwarding path indicated by the backup SID list is: network device 6->network device 7->network device 8; the end-to-end forwarding path is: network device 1->network device 2->network device 4->network device 5 or network device 1->network device 2->network device 3->network device 4->network device 5. Network device 2 receives the first message, and the SL value in the first message is 5.
[0184] When confirming whether the target SID is available, the first network device may use one or more SIDs in the main SID list as the target SID. In this scenario, the network device needs to know in advance which SIDs in the segment identifier list are in the main SID list and which SIDs are in the backup SID list.
[0185] For example, in Figure 4 In the example, network device 1 may also use SID4 as the target SID, and after confirming that both SID2 and SID4 are reachable, or only SID4 is reachable, send the first message to network device 2 according to SID2.
[0186] When the first destination SID is a SID in the main SID list and the first destination SID is unavailable, please refer to the introduction of S104, which will not be described in detail here.
[0187] S104: The second network device receives the first message, and processes the first message according to whether the target SID is available.
[0188] The target SID may be one or more SIDs in the primary segment identifier list in the message when the second network device receives the first message.
[0189] The second network device processes the first message according to whether the target SID is available, including the following different solutions:
[0190] Solution 1:
[0191] When the second network device is an upstream device of a SID that is not executed in a main SID list in a forwarding path indicated by multiple SID lists, the second network device receives a first message, obtains a second destination SID from the multiple SIDs in the first message, and the second destination SID is the first SID in the main SID list. The upstream device includes: the second network device is an intermediate node or a head node or a network device on the end-to-end main forwarding path indicated by multiple SID lists.
[0192] The target SID may include the second target SID and may also include other SIDs in the main SID list. When the target SID is available, the second network device sends the first message to the third network device according to the second target SID, and the third network device is the network device corresponding to the second target SID.
[0193] Next, combine Figure 4 Explain the concept of upstream devices in the main SID list: Figure 4 As shown, the main SID list in the network is: (SID2, SID4), when network device 2 receives the first message, the unexecuted SIDs include: SID2 and SID4, and the first network device can be considered as the upstream device corresponding to the unexecuted SIDs: SID2, SID4. When network device 4 receives the first message, the unexecuted SIDs include: SID4, and the second network device and the third network device can be considered as the upstream devices of the unexecuted SID: (SID4).
[0194] In one example, when the communication network is an SRv6 network, when the device corresponding to the destination address of the first message is a second network device, the second network device provides the first message with a service corresponding to the destination address SID according to the destination address of the first message. When the SID is a SID including a guided forwarding function, such as a node SID or a link SID, after receiving the first message, the second network device reads the SID corresponding to the SL value from the segment list as the second destination SID according to SL=SL-1, uses the second destination SID as the destination address of the first message, and sends the first message according to the destination address.
[0195] In another example, when the communication network is an SRv6 network, when the network device corresponding to the destination address of the first message is the SID of the third network device, such as Figure 4When the network device 3 shown receives a message, the destination address of the message is SID4. In this case, the network device 3 can process the first message according to whether the SID4 is reachable. If the SID4 is reachable, the network device 3 sends the first message according to SID4. If SID4 is unreachable, the network device 3 can obtain the SID corresponding to SL minus one, and use it as the destination address to send the first message to the network device 6. In this case, the network device 3 needs to be a device that supports SR.
[0196] When the communication network is an SR-MPLS network, the first message received by the second network device includes a label stack, and the SID at the top of the label stack is the SID of the second network device. The second network device pops the SID at the top of the label stack, and provides the service corresponding to the SID for the first message based on the SID; and uses the SID at the top of the stack as the second destination SID.
[0197] Optionally, before the second network device performs the above-mentioned determination of whether the destination SID is available, the second network device receives a configuration instruction sent by a control device, a management device, or a manager through a management interface, and performs an action of processing the first message by determining whether the target SID is available according to the configuration instruction. The configuration instruction here can be a configuration issued when the manager turns on the switch of the function of the network device corresponding to the embodiment of the present application. Here, these configuration instructions can also be sent to all other devices on the segment routing network device, which is not limited by the present application.
[0198] Optionally, when the second network device is an upstream device in the primary SID list, the operation of the second network device processing the first message according to whether the second destination SID is available includes the following operations S1041 to S1043:
[0199] S1041: The second network device determines whether the target SID is available.
[0200] In this step, the second network device determines whether the second network device is reachable to the target SID, that is, the second destination SID. If the second network device is reachable to the second destination SID, it is determined that the second destination SID is available. If the second network device is not reachable to the second destination SID, it is determined that the second destination SID is unavailable.
[0201] The second network device being unreachable to the second destination SID includes: using the second destination SID as the destination address, the second network device determining that a route to the destination address is unreachable, or any network device or link between the second network device and the destination address fails.
[0202] The second destination SID corresponds to a network device, which is called the third network device for convenience of explanation. The route from the second network device to the destination address is unreachable, which means that the route from the second network device to the third network device is unreachable. Alternatively, any network device failure or link failure between the second network device and the destination address means: any network device failure through which the link between the second network device and the third network device passes, or a link failure between any two network devices among the network devices through which the link passes.
[0203] Optionally, the second network device senses whether any network device through which the link between the second network device and the third network device passes is faulty through its local outbound interface status or link status, or senses whether a link between any two network devices through which the link passes is faulty. Alternatively, the second network device detects whether any network device through which the link between the second network device and the third network device passes is faulty through a detection protocol, or detects whether a link between any two network devices through which the link passes is faulty. The detection protocol may be a bidirectional forwarding detection (BFD) protocol.
[0204] Optional S1042: The second network device sends the first message using the second destination SID as the destination address based on the availability of the target SID.
[0205] That is, the second network device sends the first message to the third network device corresponding to the second destination SID.
[0206] When the communication network is an SRv6 network, the content of the destination address field (DA) of the first message is set to the second destination SID, and the first message is sent to the third network device. When the communication network is an SR-MPLS network, the first message is sent to the third network device according to the second destination SID.
[0207] Optional S1043: When the second network device determines that the target SID is unavailable, it obtains the first SID in the first backup SID list, and processes the first message according to the first SID in the first backup SID list (the first backup SID).
[0208] The manner in which the second network device processes the first message according to the first SID in the first backup SID list includes: sending the first message to the fourth network device according to the SID.
[0209] For details on how the second network device obtains the first backup SID, please refer to the description of S102 above, which will not be repeated here for illustrative purposes only.
[0210] In an example, when the communication network is an SRv6 network, the implementation process of the second network device skipping the unexecuted SID in the main SID list and processing the first message according to the first backup SID list is:
[0211] See also Figure 4 , the second destination SID is SID2. When network device 1 determines that SID2 is unavailable, the main SID list in the first message includes SID2 and SID4, and the first backup SID list corresponding to the main SID list includes SID6, SID7 and SID8. The first message includes position indication information. Assume that the position indication information includes the number of SIDs included in the main SID list is 2 and the position information of the head SID position of the main SID list, such as the position of the head SID corresponding to the SL value of 5. In this way, the second network device determines the position of the main SID list according to the position indication information, that is, determines that the position of the last SID in the SID list is SL=5-2=3, obtains the first backup SID corresponding to SL=3 from the first message according to SL=3 as SID6, and sends the first message to network device 6 using SID6 as the destination address. The message header of the first message sent to network device 6 can be briefly shown as ⑥.
[0212] In the case where the communication network is an SR-MPLS network, the implementation process of the second network device skipping the unexecuted SID in the main SID list and processing the first message according to the first backup SID list is as follows:
[0213] The top of the label stack in the first message includes the first SID that is not executed in the main SID list, and x+1 SIDs are continuously popped from the label stack, where x is the number of SIDs that are not executed in the main SID list. The new top SID is the head SID of the first backup SID list after the main SID list, and the first message is processed according to the head SID. For example, the head SID is used as the destination address and the first message is forwarded.
[0214] In another example, when the main SID list includes only one SID, or the unexecuted SIDs in the main SID list include only the last SID, when the second network device determines that the second destination SID (i.e., the only SID in the above-mentioned main SID list, or the tail SID in the main SID list) is unavailable, the second network device can directly obtain the next SID of the second destination SID according to the relevant technology, and process the first message according to the next SID, such as obtaining its corresponding SID according to SL--, or popping a label and obtaining the top label of the stack.
[0215] Solution 2:
[0216] S105: The second network device obtains a target SID, that is, a third destination SID, from the first message, and processes the first message according to whether the third destination SID is available.
[0217] When the target SID is the first one of the unexecuted SIDs in the main SID list, and when the target SID is the SID of the second network device, and the SID includes a corresponding service, the second network device processes the first message according to whether the target is available, specifically including the following operations S1051 to S1053:
[0218] S1051: The second network device obtains a target SID from the first message.
[0219] In this step, when the communication network is an SRv6 network, the destination address of the message is the target SID. When the communication network is an SR-MPLS network, the top of the label stack of the first message includes the target SID. For the convenience of description and to distinguish it from other scenarios, the target SID is called the third destination SID.
[0220] Since the third destination SID is the SID of the second network device, the service corresponding to the third destination SID is the service provided by the second network device. The second network device determines that the third destination SID is available when the service corresponding to the third destination SID is available; when the service corresponding to the third destination SID is not available, the third destination SID is determined to be unavailable. For the description of whether the third destination SID is available, refer to the above description, and the embodiments of the present application will not be repeated here.
[0221] S1052: The second network device provides the first message with a service corresponding to the third destination SID according to the availability of the third destination SID.
[0222] like Figure 4 As shown, when the network device is network device 2, network device 2 sends the first message to network device 9, and service device 9 provides service for the message and then sends it back to network device 2.
[0223] When the third destination SID is not the last SID in the main SID list, the third network device obtains a SID after the third destination SID from the first message, uses the obtained SID as the destination address, and sends the first message to the corresponding third network device.
[0224] When the communication network is an SRv6 network, the third network device sets SL=SL-1, reads the SID from the multiple SIDs in the first message according to the reduced SL, uses the read SID as the destination address, and sends the first message to the corresponding third network device.
[0225] For example, see Figure 4 When network device 2 determines that SID2 is available, it provides the service corresponding to SID2 for the first message, sets SL=SL-1=4, reads SID4 from the multiple SIDs in the first message according to the reduced SL, takes SID4 as the destination address, and sends the first message to network device 4.
[0226] In the case that the communication network is an SR-MPLS network, the second network device pops the top SID of the label stack in the first message, uses the new top SID as the destination address, and sends the first message.
[0227] When the third destination SID is the last SID in the main SID list, it will be described in detail in S106 and will not be introduced here.
[0228] S1053: When the second network device determines that the third destination SID is unavailable, the second network device processes the first message according to the first SID (the first backup SID) in the first backup SID list.
[0229] The second network device processing the first message according to the first backup SID includes: the second network device sending the first message to the fourth network device according to the first backup SID.
[0230] The method for the second network device to obtain the first SID in the first standby SID list refers to the descriptions of S102 and S104 above, which are mainly described as an example here.
[0231] In an example, when the communication network is an SRv6 network, the implementation process of the second network device skipping the unexecuted SID in the main SID list and processing the first message according to the first backup SID list is:
[0232] For example, see Figure 4 , assuming that network device 2 determines that SID2 is unavailable, that is, the target SID is SID2, the main SID list in the first message includes SID2 and SID4, and the first backup SID list corresponding to the main SID list includes SID6, SID7 and SID8. The first message includes position indication information, assuming that the position indication information includes the number of SIDs included in the main SID list is 2 and the head SID position of the main SID list, the head SID position is an SL value, and the SL value is 5. In this way, the third network device obtains the head SID of the first backup SID from the first message according to the position indication information, which is SID6, and sends the first message to network device 6 using SID6 as the destination address.
[0233] In the case where the communication network is an SR-MPLS network, the implementation process of the second network device skipping the unexecuted SID in the main SID list and processing the first message according to the first backup SID list is as follows:
[0234] The top of the label stack in the first message includes the first SID that is not executed in the main SID list, and x+1 SIDs are continuously popped from the label stack, where x is the SID data that is not executed in the main SID list, and the new top SID is the first SID in the first backup SID list after the main SID list, and the first message is processed according to the first backup SID. For example, the first message is sent to a third network device corresponding to the first backup SID.
[0235] Solution 3:
[0236] When the target SID is the last SID in the main SID list, and the target SID is the SID of the second network device.
[0237] S106: The second network device obtains a target SID, that is, a fourth destination SID, from the first message, and processes the first message according to whether the fourth destination SID is available.
[0238] The second network device receives the first message and obtains the fourth destination SID from the first message. When the communication network is an SRv6 network, the destination address of the first message is the fourth destination SID. When the communication network is an SR-MPLS network, the top of the label stack of the first message is the fourth destination SID, and the SID at the top of the stack is popped out to obtain the fourth destination SID.
[0239] Optionally, the second network device receives a configuration instruction; and according to the configuration instruction, sends the first message according to whether the fourth destination SID is available. Optionally, the configuration instruction may be sent by a control device to trigger the fourth network device to start a function, which is to process the first message according to whether the fourth destination SID is available.
[0240] Optionally, the second network device processes the first message according to whether the fourth destination SID is available, including the following operations S1061 to S1063:
[0241] S1061: The second network device determines whether the fourth destination SID is available.
[0242] Since the fourth destination SID is the SID of the second network device and the service corresponding to the fourth destination SID is the service provided by the second network device, the second network device determines whether the service corresponding to the fourth destination SID is available. If the service corresponding to the fourth destination SID is available, the fourth destination SID is determined to be available; if the service corresponding to the fourth destination SID is not available, the fourth destination SID is determined to be unavailable.
[0243] For example, see Figure 4 , assuming that network device 4 receives the first message, at this time the SL value in the first message is 4, and SID4 is obtained from the multiple SIDs of the first message according to the SL value. SID4 is the fourth destination SID, and it is determined whether SID4 is available.
[0244] S1062: When the fourth destination SID is available, the second network device provides the first message with a service corresponding to the fourth destination SID, skips the at least one backup SID list, and sends the first message.
[0245] The fourth network device skips the at least one backup SID list according to the location indication information and sends the first message.
[0246] The content of the location indication information carried in the first message can be found in the above-mentioned S102, and this application will not repeat it here.
[0247] In such Figure 4 In the example shown, network device 4 determines that SID4 is available, determines that the number of SIDs included in the standby SID list is 3 according to the location indication information, and at this time SL=4 in the first message, sets SL=SL-4=0, skips the standby SID list according to the reduced SL, obtains SID5 from the first message, and sends the first message to network device 5 using SID5 as the destination address. Of course, the location indication information may also directly include: the value of SL corresponding to the first SID in the multiple SID lists after at least one standby SID list, and the fourth network device may directly obtain SID5 according to the value of the SL.
[0248] In another example, when the communication network is an SR-MPLS network, the top of the label stack in the first message includes the first SID in the at least one standby SID list, and the SIDs in the at least one standby SID list are continuously popped from the label stack, and the new top SID is the first SID after the at least one standby SID list, and the first message is processed according to the first SID. For example, the first SID is used as the destination address and the first message is forwarded.
[0249] In particular, when the multiple segment identifiers in the first message have no other SIDs after the at least one backup SID list, that is, the second network device is the tail node corresponding to the end-to-end main forwarding path indicated by the multiple segment identifier list, the second network device strips the multiple segment identifier list according to the fourth destination SID.
[0250] In this scenario, the second network device may be an end node connected to the third network device, and the operation indicated by the fourth destination SID is to remove the message header of the first message, that is, the second network device strips or decapsulates the SRH or MPLS message header of the first message to obtain the second message, and sends the second message to the third network device according to the destination address in the second message.
[0251] For more application scenarios when the third destination SID is the tail node corresponding to the end-to-end primary forwarding path indicated by multiple segment identifier lists, see Figure 8 , Fig.10 and Fig.11 The application scenario embodiments shown are not described in detail in this application.
[0252] S1063: When the second network device determines that the fourth destination SID is unavailable, the second network device processes the first message according to the first backup SID list.
[0253] In the first message, the first backup SID list is located after the fourth destination SID.
[0254] The second network device processes the first message according to the first backup SID list, including: the second network device sends the first message to the fourth network device according to the first SID in the first backup SID list, that is, the first backup SID.
[0255] Optionally, when the communication network is an SRv6 network, the SL in the first message indicates the fourth destination SID, the fourth network device sets SL=SL-1, the reduced SL indicates the head SID of the first standby SID list located after the main SID list, and one SID is read from the multiple SIDs included in the first message according to the reduced SL to obtain the head SID of the first standby SID list, and the first message is processed according to the head SID. For example, the head SID is used as the destination address to forward the first message.
[0256] For example, see Figure 4 , network device 4 determines that SID4 is unavailable. At this time, SL in the first message is 4, and SL is set to SL-1. According to the reduced SL, the header SID of the first backup SID is obtained from the first message as SID6, and the first message is sent to network device 6 using SID6 as the destination address.
[0257] When the communication network is an SR-MPLS network, the top of the label stack in the first message includes the head SID in the first standby SID list, a SID is popped from the label stack to obtain the head SID of the first standby SID list, and the first message is processed according to the head SID. For example, the head SID is used as the destination address to forward the first message.
[0258] When the first message also includes a second backup SID list, and when the second backup SID list is a backup of the first backup SID list, the first backup SID list can be regarded as the main SID list, and the second backup SID list can be regarded as the above-mentioned first backup SID list. The technical solution provided by the above-mentioned method embodiment is adopted to provide protection for the first backup SID list.
[0259] When multiple backup SID lists in at least one backup SID list of the first message are backups of the main SID list, the network device can determine which backup SID list to use as the first backup SID list by random, hash, or by specifying a selection order for the multiple backup SID lists, that is, when the SID in the main SID list is unavailable, the first message is processed according to the first SID in the backup SID list. When the multiple backup SID lists have a specified selection order, the backup SID list with a higher ranking can be placed adjacent to the main SID list, and the backup SID list with the second highest ranking can be placed behind the first backup SID list.
[0260] In the implementation column of the present application, since the first message generated by the first network device includes a main SID list and at least one backup SID list, when the SID in the main SID list is unavailable, the unexecuted SID in the main SID list is skipped to obtain the first SID in the first backup SID list, and the first message is processed according to the first backup SID list. Since the first backup SID list is a backup of the main SID list, the first backup SID list is used to process the first message, thereby avoiding skipping the service provided by the main SID list. The SID in the main SID list is the SID of the tail node connected to the destination end. When the SID in the main SID list is unavailable, the first backup SID list is used to process the first message, thereby avoiding the problem of low network reliability such as large delay in the transmission of the first message or further interruption of message transmission.
[0261] Above, step S104 includes the detailed description of the above-mentioned S1041-S1043, as well as S105, S106 and related sub-steps.
[0262] Above, combined Figure 1 The network scenario shown in FIG. 1 briefly introduces the method embodiment of the present application. Next, various different application scenarios are provided. Figure 3 A specific application example of the method embodiment shown is as follows: Figure 7-Figure 11 shown.
[0263] Figure 7 for Figure 3 A specific application of the method embodiment shown, in which the primary SID list and the backup SID list each have only one SID, and the application particularly describes a backup protection scenario of the forwarding path or service of the intermediate node on the forwarding path in the segment routing network in the embodiment of the present application, which is as follows:
[0264] In such Figure 7 In the SRv6 network shown, network device 11 is connected to network device 12 and network device 14, network device 12 is connected to network device 15, network device 11 is connected to network device 13, network device 14 is connected to network device 11, network device 16 and network device 13, network device 11 is the head node in the segment routing network, and network device 13 is the tail node of the segment routing network. SID1 is the segment identifier of network device 11, SID2 is the segment identifier of network device 12, SID3 is the segment identifier of network device 13, and SID4 is the segment identifier of network device 14.
[0265] After receiving the second message, network device 11 (the first network device) adds SRH to the second message, as shown in ①, the SRH includes a segment identification list and SL, the segment identification list is: (SID2, SID4, SID3), SL = 2, indicating SID2 in the segment identification list. The segment identification list can be logically divided into a main SID list (SID2), a first backup SID list (SID4) and another SID list (SID3). Among them, the backup SID list is adjacent to the main SID list, that is: the value of the SL corresponding to the first SID in the backup SID list is the value of the last SL in the main SID list minus one. The service corresponding to SID2 of network device 12 is service 2, that is, the network device provides service 2 for the message transmitted on the segment routing network through SID2, such as anti-virus filtering. The service corresponding to SID4 of network device 14 is also service 2. Through the above-mentioned segment identification list, the first SID list can be used to back up the service provided by the main SID list.
[0266] When the network device 11 determines that SID2 is available, it uses SID2 as the destination address and sends the first message to the network device 12 .
[0267] Network device 12 receives the first message, provides service 2 corresponding to SID2 for the first message, and can obtain the destination SID SID3 from the segment list of the first message according to the indication of SID2, and use SID3 as the destination address to send the first message to network device 13. The message header of the message can be briefly shown as ②.
[0268] Alternatively, when network device 11 determines that SID2 is unavailable, it obtains backup SID4 in the first backup SID list from the segment list of the first message according to SL=SL-1, uses SID4 as the destination address, and sends the first message to network device 14. The message header of the message can be briefly shown as ③.
[0269] Network device 14 receives a first message, which includes SL=1. According to the SL, SID4 of the first backup SID list is obtained from the segment list of the first message, and service 2 corresponding to SID4 is provided for the first message. SL=SL-1=0 is set. According to the reduced SL, the sixth destination SID SID is obtained from the segment list of the first message as SID3, and SID3 is used as the destination address to send the first message to the network device 13. The message header of the message can be briefly shown as ④.
[0270] Figure 8 for Figure 3 Another specific application of the method embodiment shown, which particularly describes a backup protection scenario of the tail node on the forwarding path in the segment routing network according to the embodiment of the present application:
[0271] exist Figure 8 In the SRv6 network shown, network device 11 is connected to network device 12 and network device 15, network device 12 is connected to network device 13 and network device 11, network device 15 is connected to network device 11 and network device 21, network device 21 is connected to network device 22 and network device 15, and network device 13 is connected to network device 12 and network device 22. Among them, SID1 is the segment identifier of network device 11, SID3 is the segment identifier of network device 12, SID2 is the segment identifier of network device 15, SID5 is the segment identifier of network device 21, and SID6 is the segment identifier of network device 22.
[0272] The network device 11 uses SID2 as the destination address and sends a first message to the network device 15. The message includes a segment identification list (SID2, SID3, SID5, SID6), which can be logically divided into a first SID list (SID2), a main SID list (SID3), and a backup SID list (SID5, SID6), wherein the backup SID list is adjacent to the main SID list, that is, the value of the SL corresponding to the first SID in the backup SID list is the value of the last SL in the main SID list minus one. The forwarding path indicated by the backup SID list: network device 21->network device 22 is the main forwarding path indicated by the main SID list: the backup of network device 12. That is, the end-to-end forwarding path indicated by the segment identification list (SID2, SID3, SID5, SID6) is: network device 11->network device 15->network device 12.
[0273] The network device 15 receives the first message, the message header of which is briefly shown as ①, the network device obtains SID2, and provides the service corresponding to SID2 for the first message. The network device 15 obtains the unexecuted SID in the main SID list from the SID list of the first message according to SL=SL-1 as SID3, and uses SID3 as the target SID. When it is determined that SID3 is available, SID3 can be used as the destination address, and the first message can be sent to the network device 12 according to SID2. The message header of the message can be briefly shown as ②.
[0274] The network device 12 receives the first message and obtains the target SID as SID3. At this time, when SID3 is any type of node (Endpoint, END) SID, 3-layer link node (Endpoint with Layer-3cross-connect, End.X) SID or endpoint with specific IPv6 table lookup, End.T) SID or other types of SIDs, it can have a special newly defined ultimate segment decapsulation (USD) function without worrying about whether there are other SIDs in the multiple segment identifier list. After stripping off the outer IPv6 header and SRH, the message is sent to the destination according to the Payload part table lookup.
[0275] Alternatively, when the network device 15 determines that SID3 is unavailable, based on SL=SL-1=2, it obtains the backup SID5 in the first backup SID list from the SID list of the first message, uses SID5 as the destination address, and sends the first message to the network device 21.
[0276] The network device 21 receives the first message, and the message header of the first message can be briefly shown as ④, and its SL = 2. The network device 21 obtains SID5. Since SID5 is the node SID or link SID of the network device 21, in order to guide the SID of the forwarding path, after the network device 21 determines that SID5 can be successfully executed, it obtains the next standby SID in the first standby SID list as SID6 according to the SL = SL-1 = 1 segment identification list, and uses SID6 as the destination address to send the first message to the network device 22. The message header of the message can be briefly shown as ⑤. The network device 22 receives the first message and obtains SID6. At this time, when SID6 is any type of node (Endpoint function, END) SID, link (Endpoint with Layer-3 cross-connect, End.X) SID or table lookup (Specific IPv6 table lookup, End.T) SID or other types of SIDs, it can have a special ultimate segment decapsulation (USD) function without worrying about whether there are other SIDs in the multiple segment identification list. After stripping off the outer IPv6 header and SRH, the message is sent to the destination according to the Payload part table lookup.
[0277] This SID may be a newly defined SID type with new functions. This type of SID strips off all the outer IPv6 headers in the message, including the SRH, and then searches for a route in the network device according to the destination address in the lower IPv6 encapsulation before sending the message to the corresponding CE device. This type of SID definition is similar to the SID of the node type (Endpoint with decapsulation and specific IPv6 table lookup, END.DT6) for decapsulation and IPv6 table lookup, the difference is that the END.DT6 type SID must be the last SID in the SID list in the SRH, but in this solution, this SID type does not need to be the last SID in the SID list in the SRH.
[0278] Fig. 9 for Figure 3 Another specific application of the method embodiment shown, which particularly describes a backup protection scenario of the service provided by the embodiment of the present application to the network device on the forwarding path in the segment routing network:
[0279] exist Fig. 9In the SRv6 network shown, network device 11 is connected to network device 12, network device 12 is connected to network device 11, network device 15, network device 16 and network device 13, network device 15 is connected to network device 12, network device 16 is connected to network device 12, and network device 13 is connected to network device 12. Among them, SID1 is the segment identifier of network device 11, SID2 and SID4 are the segment identifiers of network device 12, SID2 corresponds to providing a service through network device 15, SID4 corresponds to providing the same service provided by network device 15 through network device 16, and SID3 is the segment identifier of network device 13.
[0280] The network device 11 receives the second message sent by the source end, and adds an SRH to the second message. The SRH includes a SID list and a SL. The message header of the message can be briefly shown as ①. The SID list is: (SID2, SID4, SID3), and its SL=2. The segment identification list can be logically divided into multiple SID lists, including a main SID list (SID2), a backup SID list (SID4), and other SID lists (SID3), wherein the backup SID list is adjacent to the main SID list, that is, the value of the SL corresponding to the first SID in the backup SID list is the value of the last SL in the main SID list minus one. By carrying the main SID list and the backup SID list in the segment identification list of the message, the service corresponding to SID4 provides backup for the service corresponding to SID2.
[0281] Network device 11 sends the message to network device 12 according to SID2. After receiving the message, network device 12 determines whether the service corresponding to SID2 is available, and sends the message to network device 15 to provide the corresponding service. When network device 15 performs the corresponding service without failure, it sends the message to network device 12. Network device 12 skips SID4 according to the instruction of SID2, obtains the destination SID as SID3, and uses SID3 as the DA of the message to send it to network device 13. The message header of the message can be briefly shown as ②.
[0282] If the network device 12 determines that the service corresponding to SID2 is unavailable, the network device can obtain the first SID in the backup SID list, SID4, according to SL=SL--, and send the message to the network device 16 according to the SID. The message header of the message is shown in ③, and the network device 16 provides the corresponding service for the message. After the network device 16 provides the corresponding service for the message, the message can be sent to the network device 12. The network device 12 obtains a new destination SID of SID3 according to SL--, and sends the message to the network device 13 according to SID3. The message header of the message can be briefly shown in ④.
[0283] above, Figure 7-Figure 9 In the example of , since the main SID list includes only one SID, the location information in the message may include: the SID in the main SID list, that is, Figure 8-Figure 10 The only SID in the primary SID list in the application scenario.
[0284] Fig.10 for Figure 3 Another specific application of the method embodiment shown in the figure, which particularly describes a backup protection scenario of the tail node on the forwarding path in the segment routing network according to the embodiment of the present application, is as follows: Fig.10 In the SRv6 network shown, network device 11 is connected to network device 12 and network device 13, network device 12 is connected to network device 11, and network device 13 is connected to network device 11. Among them, SID1 is the segment identifier of network device 11, SID2 is the segment identifier of network device 12, and SID3 is the segment identifier of network device 13.
[0285] The network device 11 receives the second message sent by the source end, and adds an SRH to the second message. The SRH includes a SID list and an SL. The message header of the message can be briefly shown as ①. The SID list in the message is: (SID2, SID3), SL=1, and SL indicates SID2 in the SID list. The SID list can be logically divided into: a primary SID list (SID2) and a backup SID list (SID3), wherein the backup SID list is adjacent to the primary SID list, that is, the value of the SL corresponding to the first SID in the backup SID list is the value of the last SL in the primary SID list minus one. By carrying the primary and backup SIDs in the SID list, the message to the tail node in the segment routing network is implemented, that is, in Fig.10In the application scenario shown, the main forwarding path is: network device 12, the backup forwarding path is network device 13, and the end-to-end main forwarding path is network device 11->network device 12. Network device 11 obtains the target SID as SID2, and determines whether SID2 is available. In this scenario, SID2 is available, that is, SID2 is reachable. When it is determined that SID2 is available, the message is sent to network device 12, and the message header of the message can be briefly shown as ①. After receiving the message, network device 12 performs the action of stripping the SRH header from the message according to SID2 and obtains the destination address as IP2, and sends the message according to IP2. That is, in this scenario, SID2 is a SID with special functions. The SID can be a newly defined SID type with new functions. This type of SID is to strip all the outer IPv6 headers in the message including SRH, and then find the route in the network device according to the destination address in the lower IPv6 encapsulation and send the message to the corresponding CE device. The definition of this type of SID is similar to the SID of the node type for decapsulation and specific IPv6 table lookup (END.DT6), except that the SID of the END.DT6 type must be the last SID in the SID list in the SRH, while in this solution, this SID type does not need to be the last SID in the SID list in the SRH.
[0286] When the network device 11 determines that SID2 is unavailable, it takes the destination SID as SID3 according to SL--, and sends the message to the network device 13 according to SID3. The message header of the message can be briefly shown as ②. After receiving the message, the network device 12 determines that SID3 is its own SID, and strips the SRH header according to the SID, obtains DA as IP2, and sends the message according to IP2. The SID can be the above-mentioned END.DT6 or a newly defined SID type.
[0287] Above, in Fig.10 In the example shown, since the primary SID list includes only one SID and the backup SID also includes only one SID, it can be considered that the message does not carry the location indication information, that is, in the embodiment of the present application, the location indication information is optional.
[0288] Fig.11 for Figure 3 Another specific application of the method embodiment shown, which particularly describes a backup protection scenario in which the embodiment of the present application is applied to SR-MPLS, is as follows:
[0289] In such Fig.11In the SR-MPLS network shown, network device 11 is connected to network device 12, network device 12 is connected to network device 11, network device 13 is connected to network device 14, network device 13 is connected to network device 12, and network device 14 is connected to network device 12. Among them, SID: 1101 is the SID of network device 12, network device 13 includes two SIDs, 10001 and 20000, and network device 14 has two SIDs, 1200 and 20001, respectively.
[0290] The network device 11 receives the second message sent by the source end, and adds an MPLS message header to the second message. The label stack of the message header, i.e., the segment identifier list, is: (1101, 10001, 20000, 1200, 20001), which can be logically divided into other SID lists (1101), main SID lists (10001, 20000), and backup SID lists (1200, 20001). That is, the main forwarding path is the network device 13, the backup forwarding path is the network device 14, the end-to-end main forwarding path is the network device 12->network device 13, and the end-to-end backup forwarding path is the network device 12->network device 14. Among them, the backup SID list is adjacent to the main SID list, i.e., in the label stack of the MPLS message header, the backup SID list is after the main SID list.
[0291] Network device 11 sends a first message to network device 12 according to the SID 1101 at the top of the stack. The MPLS message header of the message is briefly shown in ①.
[0292] The network device 12 receives the first message, pops up the label 1101, and the message header after the label is popped up can be briefly shown as ②. And it is determined that the target SID in the main SID list is 10001, and whether the target SID is available. When it is determined that 10001 is available, the first message is sent to the network device 13 according to 10001.
[0293] The network device 13 receives the first message, and the message header of the message can be briefly shown as ③. The top SID of the label stack is 20000, so the network device 13 removes the MPLS message header of the first message according to the top SID of the stack, and sends the second message to the destination. When the virtual private network (VPN) private network label 20000 is allocated on the protected point network device 13, its forwarding behavior can be defined: pop up 3 layers of labels continuously, query the private network routing table according to the inner private network IP address, and continue to forward the message to the destination device according to the private network route. If it is unreachable, the SID 20000 is popped out of the stack, and the first backup SID is 1200, and the first message is sent to the network device 14 according to the SID. The message header of the message can be briefly shown as ④.
[0294] Alternatively, when network device 12 determines that 10001 is unavailable, it obtains the number of unexecuted SIDs in the main SID list as 1, pops the label stack twice in a row, or obtains the first SID in the backup SID list, that is, the destination SID is 1200, and based on the SID: 1200, sends a first message to network device 14, the message header of which can be briefly shown as ④.
[0295] The network device 14 receives the first message, pops the top SID 1200 of the stack, and obtains SID: 20001. According to 20001, the MPLS message header in the first message is removed, and the second message is sent to the destination.
[0296] Above, in Fig.11 In the example shown, since it is an application in an SR-MPLS network, the location indication information in the message includes: the SID in the main SID list. In order to facilitate the implementation of the technical solution of the embodiment of the present application in the SR-MPLS network, it may be required that the range of the segment routing global block (SRGB) of all nodes in the SR-MPLS network is consistent, for example, 1000 to 10000, so as to facilitate the consistent understanding of the meaning of the global label in the label stack carried by the message at different network locations.
[0297] See also Fig.12 The embodiment of the present application provides a message processing device 1200, which is applied to a segment routing network. The device 200 can be deployed in Figure 1 , Figure 2 , Figure 3 , Figure 4 , Figure 7 , Figure 8 , Fig. 9 , Fig.10 or Fig.11 In any network device provided in the embodiment shown. For example, the device 1200 can be deployed in Figure 3 The first network device, the second network device, the third network device or the fourth network device provided in the embodiment shown in the figure may be deployed in Figure 4 The network device 1, network device 2, network device 3, network device 4, network device 5, network device 6, network device 7 or network device 8 provided in the illustrated embodiment are not described one by one in this application. The device 1200 includes:
[0298] The receiving unit 1201 is configured to receive a first message, where the first message includes a plurality of segment identifier SID lists, where the plurality of SID lists include a primary SID list and at least one backup SID list, where the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the primary SID list;
[0299] The processing unit 1202 is configured to process the first message according to the primary SID list.
[0300] Optionally, the detailed implementation process of the processing unit 1202 processing the first message can be found in Figure 3 S104 of the embodiment shown and related contents in its detailed steps.
[0301] Optionally, the processing unit 1202 is configured to:
[0302] The first message is processed differently according to whether the target SID is available, and the target SID is one or more SIDs in the main SID list that have not been executed.
[0303] Optionally, the forwarding path indicated by the first backup SID list is a backup path of the forwarding path indicated by the primary SID list.
[0304] Optionally, the target SID can include:
[0305] The apparatus 1200 is reachable to the network device corresponding to the target SID.
[0306] Optionally, the device further includes a first sending unit 1203, and the first sending unit 1203 is configured to send a first message according to a first SID when the target SID is unavailable, where the first SID is the first SID in the first standby SID list.
[0307] Optionally, the device 1200 is an intermediate node on the end-to-end primary forwarding path indicated by the multiple SID lists, the target SID is the last SID in the primary SID list, and the target SID is the SID of the device 1200; the device 1200 also includes a second sending unit 1204,
[0308] The second sending unit 1204 is configured to send a first message according to a first SID when the target SID is available, where the first SID is the first SID in the multiple SID lists after the at least one backup SID list.
[0309] Optionally, the device 1200 is an end node on the end-to-end primary forwarding path indicated by the multiple SID lists, the target SID is the last SID in the primary SID list, and the target SID is the SID of the device 1200;
[0310] The processing unit 1202 is configured to execute a function corresponding to the target SID and strip off the multiple SID lists when the target SID is available.
[0311] Optionally, the detailed implementation process of the processing unit 1202 stripping multiple SID lists can be found in Figure 3The relevant content in S1062 of the embodiment shown.
[0312] Optionally, the service corresponding to the first backup SID list is a backup of the service corresponding to the primary SID list, and the target SID being available includes: the service corresponding to the target SID being available.
[0313] Optionally, the processing unit 1202 is configured to use a first SID to provide a service for the first message when the target SID is unavailable, where the first SID is the first SID in the first backup SID list.
[0314] Optionally, the device 1200 is an intermediate node on the end-to-end primary forwarding path indicated by the multiple SID lists, the target SID is the first one of the unexecuted SIDs, and the device 1200 further includes a third sending unit 1205,
[0315] The processing unit 1202 is configured to provide a service corresponding to the target SID when the target SID is available;
[0316] The third sending unit 1205 is configured to send a first message according to a first SID, where the first SID is the first SID in the multiple SID lists after the at least one backup SID list.
[0317] Optionally, the processing unit 1202 provides a service corresponding to the target SID, and the third sending unit 1205 sends the first message. For a detailed implementation process, please refer to Figure 3 S104 of the embodiment shown and related contents in its detailed steps.
[0318] Optionally, the device 1200 is the tail node on the end-to-end primary forwarding path indicated by the multiple SID lists, and the target SID is the last one of the SIDs that have not been executed.
[0319] The processing unit 1202 is configured to provide a service corresponding to the target SID when the target SID is available, and to strip the multiple SID lists.
[0320] Optionally, the first message includes location indication information, and the processing unit 1202 is further configured to:
[0321] A first SID is obtained according to the position indication information, where the position indication information is used to indicate one or more of the following: a position of a primary SID list in multiple SID lists, a position of a first backup SID list in multiple SID lists, and a position of at least one backup SID list in multiple SIDs.
[0322] Optionally, the location indication information includes: the last SID in the main SID list and / or the first SID in the main SID list that has not been executed.
[0323] Optionally, the location indication information is carried in metadata of a segment routing header of the first message.
[0324] Optionally, the receiving unit 1201 is further configured to receive a configuration instruction;
[0325] The processing unit 1202 is further configured to obtain a second SID according to whether the target SID is available according to the configuration instruction;
[0326] The processing unit 1202 is configured to process the first message according to the second SID, where the second SID includes: a SID in the primary SID list, the first SID in the first backup SID list, or the first SID after at least one backup SID list in multiple SID lists.
[0327] Optionally, the processing unit 1202 executes a detailed implementation process according to the configuration instruction to determine whether the target SID is available, which can be seen in Figure 3 S104 of the embodiment shown and related contents in its detailed steps.
[0328] Optionally, the multiple SID lists are in a segment routing header (SRH) of the first message or the multiple SID lists are in a multi-protocol label switching header of the first message.
[0329] Optionally, the primary SID list and the first backup SID list are in different SRHs of the first message.
[0330] Optionally, the primary SID list is adjacent to the first backup SID list, and the last SID in the primary SID list is before the first backup SID list.
[0331] Optionally, the at least one backup SID list further includes a second backup SID list, where the second backup SID list is a backup of the first backup SID list and / or the second backup SID list is a backup of the primary SID list.
[0332] Optionally, the multiple SID lists further include another primary SID list and another backup SID list, and the other backup SID list is a backup of the other primary SID list.
[0333] Optionally, another primary SID list belongs to a different segment in the primary SID list.
[0334] In an embodiment of the present application, a receiving unit receives a first message, the first message includes multiple segment identification SID lists, the multiple SID lists include a main SID list and at least one backup SID list, the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the main SID list; in the process of processing the first message according to the main SID list, when a path failure is indicated by the main SID list, the processing unit processes the first message based on the first backup SID list, thereby continuing to implement forwarding processing of data messages in the segment routing network, thereby improving the reliability of network transmission.
[0335] See also Fig.13 The present application embodiment provides a message processing device 1300, which is applied to a segment routing network. The device 1300 can be deployed in Figure 1 , Figure 2 , Figure 3 , Figure 4 , Figure 7 , Figure 8 , Fig. 9 , Fig.10 or Fig.11 In the network device provided in the embodiment shown. For example, the device 1300 can be deployed in Figure 3 The first network device provided in the embodiment shown in the figure may be deployed in Figure 4 The network device 1 provided in the embodiment shown can be deployed in Figure 7 The network device 11 provided in the embodiment shown may be deployed in Figure 8 The network device 15 provided in the embodiment shown may be deployed in Fig. 9 or Fig.10 The network device 11 provided in the embodiment shown may be deployed in Fig.11 The illustrated embodiment provides a network device 12 .
[0336] The device 1300 comprises:
[0337] The sending unit 1301 is used to send a first message, where the first message includes multiple segment identifier SID lists, where the multiple SID lists include at least a primary SID list and at least one backup SID list, where the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the primary SID list.
[0338] Optionally, the device 1300 further includes a processing unit 1302, and the processing unit 1302 is used to generate a first message.
[0339] For detailed implementation of the process of generating the first message by the processing unit 1302, please refer to Figure 3For the relevant contents in S102 in the embodiment shown in the figure and the detailed implementation process of the sending unit 1301 sending the first message, please refer to Figure 3 Relevant content in S103 in the illustrated embodiment.
[0340] Optionally, the apparatus 1300 further includes an obtaining unit 1303, which is configured to obtain the multiple segment identifier lists. For a detailed implementation process of the obtaining unit 1303 obtaining the multiple segment identifier lists, please refer to Figure 3 Relevant content in S101 in the illustrated embodiment.
[0341] Optionally, the first message includes position indication information, where the position indication information is used to indicate one or more of the following: the position of the main SID list in the multiple SID lists, the position of the first backup SID list in the multiple SID lists, and the position of at least one backup SID list in the multiple SIDs.
[0342] Optionally, the location indication information includes: the last SID in the main SID list and / or the first SID in the SID list that has not been executed.
[0343] Optionally, the location indication information is carried in metadata of a segment routing header of the first message.
[0344] Optionally, the multiple SID lists are carried in a segment routing header SRH of the first message or the multiple SID lists are carried in a multi-protocol label switching MPLS header of the first message.
[0345] Optionally, the primary SID list is adjacent to the first backup SID list, and the last SID in the primary SID list is before the first backup SID list.
[0346] Optionally, the at least one backup SID list further includes a second backup SID list, where the second backup SID list is a backup of the first backup SID list and / or the second backup SID list is a backup of the primary SID list.
[0347] In an embodiment of the present application, a sending unit sends a first message, the first message includes multiple segment identifier SID lists, the multiple SID lists include at least a main SID list and at least one backup SID list, the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the main SID list. Since the first backup SID list in the first message is a backup of the main SID list, when the path indicated by the main SID list fails, the network device in the segment routing network processes the first message based on the first backup SID list, thereby continuing to implement the forwarding processing of the data message in the segment routing network, and improving the reliability of network transmission.
[0348] See also Fig.14 The present application embodiment provides a message processing device 1400, which is applied to a segment routing network. The device 1400 can be deployed in Figure 1 or Figure 3 In the control device or path calculation unit provided in the embodiment shown, the device 1400 includes:
[0349] A sending unit 1401 is configured to send a first message to a first network device, where the first message includes multiple segment identifier SID lists, where the multiple SID lists include a primary SID list and at least one backup SID list, where the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the primary SID list;
[0350] The first message enables the first network device to generate a first message, and the first message includes the multiple SID lists.
[0351] Optionally, the device 1400 further includes a processing unit 1402, and the processing unit 1402 is used to generate a first message.
[0352] For detailed implementation of the process of the processing unit 1402 generating the first message and the sending unit 1401 sending the first message, please refer to Figure 3 Relevant content in S101 in the illustrated embodiment.
[0353] Optionally, the first message also includes a message feature or a routing feature, and the first message complies with the message feature or the routing feature.
[0354] Optionally, the first message also includes position indication information, where the position indication information is used to indicate one or more of the following: the position of the main SID list in the multiple SID lists, the position of the first backup SID list in the multiple SID lists, and the position of at least one backup SID list in the multiple SIDs.
[0355] Optionally, the location indication information includes: the last SID in the main SID list and / or the first SID in the main SID list that has not been executed.
[0356] In an embodiment of the present application, a sending unit sends a first message to a first network device, the first message including a plurality of segment identifier SID lists, the plurality of SID lists including a primary SID list and at least one backup SID list, the at least one backup SID list including a first backup SID list, the first backup SID list being a backup of the primary SID list. In this way, when the first network device generates a first message, the first message may include the plurality of SID lists, that is, the generated first message includes the primary SID list and the first backup SID list. Since the first backup SID list is a backup of the primary SID list, when a path failure is indicated by the primary SID list, the first network device processes the first message based on the first backup SID list, thereby continuing to implement forwarding processing of data messages in the segment routing network, and improving the reliability of network transmission.
[0357] See also Fig.15 , the present application embodiment provides a schematic diagram of a message processing device 1500, which is applied to a segment routing network. The device 1500 may be Figure 3 The first network device, the second network device, the third network device or the fourth network device provided in the embodiment shown, or may be Figure 4 The network device 1, network device 2 or network device 4 provided in the embodiment shown, or may be Figure 7 The network device 11 or the network device 12 provided in the embodiment shown, or the network device 11 or the network device 12, etc., may be Figure 8 The network device 15 or the network device 12 provided in the embodiment shown, or the network device 15 or the network device 12, etc., may be Fig. 9 The network device 11 provided in the embodiment shown in the figure may be Fig.10 The network device 11 or the network device 12 provided in the embodiment shown, or the network device 11 or the network device 12, etc., may be Fig.11 The illustrated embodiment provides a network device 12 or a network device 13, etc.
[0358] The device 1500 includes at least one processor 1501 , a bus system 1502 , a memory 1503 and at least one communication interface 1504 .
[0359] The device 1500 is a hardware structure device that can be used to implement Fig.12 The functional modules in the device 1200 are as follows. For example, those skilled in the art may think of Fig.12 The processing unit 1202 in the device 1200 shown can be implemented by the at least one processor 1501 calling the code in the memory 1503. Fig.12 The receiving unit 1201 , the first sending unit 1203 , and the second sending unit 1204 in the device 1200 shown may be implemented through the communication interface 1504 .
[0360] Optionally, the processor 1501 may be a general-purpose central processing unit (CPU), a network processor (NP), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present application.
[0361] The bus system 1502 may include a path for transmitting information between the components.
[0362] The communication interface 1504 is used to communicate with other devices or communication networks.
[0363] The memory 1503 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory may exist independently and be connected to the processor via a bus. The memory may also be integrated with the processor.
[0364] The memory 1503 may be independent and connected to the processor 1501 via the communication bus 1502. The memory 1503 may also be integrated with the processor 1501.
[0365] Optionally, the memory 1503 is used to store program codes or instructions for executing the solution of the present application, and the execution is controlled by the processor 1501. The processor 1501 is used to execute the program code stored in the memory 1503. The program code may include one or more software modules. Optionally, the processor 1501 itself may also store program codes or instructions for executing the solution of the present application.
[0366] In a specific implementation, as an embodiment, the processor 1501 may include one or more CPUs, such as Fig.15CPU0 and CPU1 in.
[0367] In a specific implementation, as an embodiment, the device 1500 may include multiple processors, such as Fig.15 1501 and processor 1507 in the embodiment of the present invention. Each of these processors may be a single-CPU processor or a multi-CPU processor. The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0368] The communication interface 1504 uses any transceiver-like device to communicate with other devices or communication networks, and the communication network can be Ethernet, a radio access network (RAN) or a wireless local area network (WLAN), etc. In the embodiment of the present application, the communication interface 504 can be used to receive messages sent by other network devices in the segment routing network, and can also send messages to other network devices in the segment routing network. The communication interface 504 can be an Ethernet interface, a Fast Ethernet (FE) interface or a Gigabit Ethernet (GE) interface.
[0369] It should be understood that the network devices in the above-mentioned various product forms respectively have any functions of the network devices in the above-mentioned message processing method embodiments, which will not be repeated here.
[0370] See also Fig.16 , the present application embodiment provides a schematic diagram of a message processing device 1600. The device 1600 may be Figure 1 , Figure 2 , Figure 3 , Figure 4 , Figure 7 , Figure 8 , Fig. 9 , Fig.10 or Fig.11 Any network device in the network devices provided in the embodiment shown. For example, the device 600 may be Figure 3 The first network device provided in the embodiment shown may be Figure 4 The network device 1 provided in the embodiment shown may be Figure 7 The network device 11 provided in the embodiment shown may be, alternatively, Figure 8 The network device 15 provided in the embodiment shown may, alternatively, be Fig. 9 or Fig.10 The network device 11 provided in the embodiment shown may be, alternatively, Fig.11The illustrated embodiment provides a network device 12 .
[0371] The device 1600 includes at least one processor 1601 , a bus system 1602 , a memory 1603 and at least one communication interface 1604 .
[0372] The device 1600 is a hardware structure device that can be used to implement Fig.13 The functional modules in the device 1300 are as follows. For example, those skilled in the art may think of Fig.13 The processing unit 1302 in the device 1300 shown can be implemented by the at least one processor 1601 calling the code in the memory 1603. Fig.13 The sending unit 1301 in the illustrated device 1300 may be implemented via the communication interface 1604 .
[0373] Optionally, the processor 1601 may be a general-purpose central processing unit (CPU), a network processor (NP), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present application.
[0374] The bus system 1602 may include a path for transmitting information between the components.
[0375] The communication interface 1604 is used to communicate with other devices or communication networks.
[0376] The memory 1603 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory may exist independently and be connected to the processor via a bus. The memory may also be integrated with the processor.
[0377] The memory 1603 may exist independently and be connected to the processor 1601 via the communication bus 1602. The memory 1603 may also be integrated with the processor 1601.
[0378] Optionally, the memory 1603 is used to store program codes or instructions for executing the solution of the present application, and the execution is controlled by the processor 1601. The processor 1601 is used to execute the program code stored in the memory 1603. The program code may include one or more software modules. Optionally, the processor 1601 itself may also store program codes or instructions for executing the solution of the present application.
[0379] In a specific implementation, as an embodiment, the processor 1601 may include one or more CPUs, such as Fig.16 CPU0 and CPU1 in.
[0380] In a specific implementation, as an embodiment, the device 1600 may include multiple processors, such as Fig.16 1601 and processor 1607 in the embodiment. Each of these processors may be a single-CPU processor or a multi-CPU processor. The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0381] The communication interface 1604 uses any transceiver-like device to communicate with other devices or communication networks, and the communication network can be Ethernet, a radio access network (RAN), or a wireless local area network (WLAN). In the embodiment of the present application, the communication interface 1604 can be used to receive messages sent by other network devices in the segment routing network, and can also send messages to other network devices in the segment routing network. The communication interface 604 can be an Ethernet interface, a Fast Ethernet (FE) interface, or a Gigabit Ethernet (GE) interface.
[0382] It should be understood that the network devices in the above-mentioned various product forms respectively have any functions of the network devices in the above-mentioned message processing method embodiments, which will not be repeated here.
[0383] See also Fig.17 , the present application embodiment provides a schematic diagram of a message processing device 1700, which is applied to a segment routing network. The device 1700 may be Figure 1 or Figure 3 The control device or path calculation unit provided in the illustrated embodiment includes at least one processor 1701 , a bus system 1702 , a memory 1703 and at least one communication interface 1704 .
[0384] The device 1700 is a hardware structure device that can be used to implement Fig.14 The functional modules in the device 1400 are as follows. For example, those skilled in the art may think of Fig.14 The processing unit 1402 in the device 1400 shown can be implemented by the at least one processor 1701 calling the code in the memory 1703. Fig.14 The sending unit 1401 in the illustrated device 1400 may be implemented via the communication interface 1404 .
[0385] Optionally, the processor 1701 may be a general-purpose central processing unit (CPU), a network processor (NP), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present application.
[0386] The bus system 1702 may include a path for transmitting information between the components.
[0387] The communication interface 1704 is used to communicate with other devices or communication networks.
[0388] The memory 1703 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory may exist independently and be connected to the processor via a bus. The memory may also be integrated with the processor.
[0389] The memory 1703 may exist independently and be connected to the processor 1701 via the communication bus 1702. The memory 1703 may also be integrated with the processor 1701.
[0390] Optionally, the memory 1703 is used to store program codes or instructions for executing the solution of the present application, and the execution is controlled by the processor 1701. The processor 1701 is used to execute the program code stored in the memory 1703. The program code may include one or more software modules. Optionally, the processor 1701 itself may also store program codes or instructions for executing the solution of the present application.
[0391] In a specific implementation, as an embodiment, the processor 1701 may include one or more CPUs, such as Fig.17 CPU0 and CPU1 in.
[0392] In a specific implementation, as an embodiment, the device 1700 may include multiple processors, such as Fig.17 1701 and processor 1707 in the embodiment. Each of these processors may be a single-CPU processor or a multi-CPU processor. The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0393] The communication interface 1704 uses any transceiver-like device to communicate with other devices or communication networks, and the communication network can be Ethernet, a radio access network (RAN), or a wireless local area network (WLAN). In the embodiment of the present application, the communication interface 1704 can be used to receive messages sent by other network devices in the segment routing network, and can also send messages to other network devices in the segment routing network. The communication interface 1704 can be an Ethernet interface, a Fast Ethernet (FE) interface, or a Gigabit Ethernet (GE) interface.
[0394] Fig.18 1 is a schematic diagram of a structure of a device 1800 provided in an embodiment of the present application. The device 1800 may be Figure 1 , Figure 2 , Figure 3 , Figure 4 , Figure 7 , Figure 8 , Fig. 9 , Fig.10 or Fig.11 Any network device in the network devices provided in the illustrated embodiment. Fig. 9The schematic diagram of the device structure shown in FIG. 1800 includes a main control board and one or more interface boards, and the main control board is connected to the interface board in communication. The main control board is also called a main processing unit (MPU) or a route processing card. The main control board is responsible for controlling and managing each component in the device 1800, including routing calculation, equipment management and maintenance functions. The interface board is also called a line processing unit (LPU) or a line card, which is used to forward data. In some embodiments, the device 1800 may also include a switching fabric board, which is connected to the main control board and the interface board in communication. The switching fabric board is used to forward data between the interface boards. The switching fabric board may also be called a switch fabric unit (SFU). The interface board includes a central processing unit, a memory, a forwarding chip and a physical interface card (PIC). The central processing unit is connected to the memory, the network processor and the physical interface card in communication. The memory is used to store a forwarding table. The forwarding chip is used to forward the received data message based on the forwarding table stored in the memory. If the destination address of the data message is the address of the device 1800, the data message is sent to the central processing unit (CPU), such as the central processing unit 931 for processing; if the destination address of the data message is not the address of the device 1800, the next hop and the output interface corresponding to the destination address are found from the forwarding table according to the destination address, and the data message is forwarded to the output interface corresponding to the destination address. The forwarding chip can be a network processor (NP). The PIC is also called a daughter card, which can be installed on the interface board and is responsible for converting the photoelectric signal into a data message and forwarding the data message to the forwarding chip for processing after checking the legitimacy of the data message. In some embodiments, the central processing unit can also perform the functions of the forwarding chip, such as realizing software forwarding based on a general-purpose CPU, so that the forwarding chip is not required in the interface board. The communication connection between the main control board, the interface board, and the switching network board can be realized through a bus. In some embodiments, the forwarding chip can be realized by an application-specific integrated circuit (ASIC) or a field programmable gate array (FPGA).
[0395] Logically, device 1800 includes a control plane and a forwarding plane. The control plane includes a main control board and a central processing unit, and the forwarding plane includes various components that perform forwarding, such as a memory, a PIC, and a NP. The control plane performs functions such as a router, generates a forwarding table, processes signaling and protocol messages, and configures and maintains the status of the device. The control plane sends the generated forwarding table to the forwarding plane. On the forwarding plane, the NP forwards the message received by the PIC of device 1800 based on the forwarding table sent by the control plane. The forwarding table sent by the control plane can be stored in the memory. In some embodiments, the control plane and the forwarding plane can be completely separated and not on the same device. The following will be combined with Figure 3 The illustrated embodiment briefly describes the above process.
[0396] like Figure 3 As shown in the method, the second network device can transmit multiple first messages through the physical interface card 1833, and send the multiple first messages to the CPU 1831 for processing. The CPU 1831 can process the first message according to the availability of the target SID in the first message.
[0397] It is worth noting that there may be one or more main control boards, and when there are multiple boards, they may include a primary main control board and a backup main control board. There may be one or more interface boards. The stronger the data processing capability of the network device, the more interface boards are provided. There may also be one or more physical interface cards on the interface board. There may be no switching network board, or there may be one or more switching network boards. When there are multiple switching network boards, they can jointly realize load sharing and redundant backup. In a centralized forwarding architecture, network devices may not need switching network boards, and the interface board is responsible for processing the service data of the entire system. In a distributed forwarding architecture, network devices can have at least one switching network board, which realizes data exchange between multiple interface boards and provides large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of network devices with distributed architecture are greater than those of devices with centralized architecture. Optionally, the network device may have only one board, that is, no switching board, and the functions of the interface board and the main control board are integrated on the board. In this case, the central processor on the interface board and the central processor on the main control board can be combined into one central processor on the board to perform the functions of the two. This type of device has low data exchange and processing capabilities (for example, low-end switches or routers and other network devices). The specific architecture to be adopted depends on the specific networking deployment scenario, and no limitation is made here.
[0398] The embodiment of the present invention provides a method corresponding to the above Figure 1-Figure 11 Any network device in the method embodiment can implement the functions and / or various steps and methods implemented by the network devices in the above method embodiments. The above is only a brief exemplary description, and for the sake of brevity, it will not be repeated here.
[0399] See also Fig.19 , which is a schematic diagram of a message processing system 1900 provided in an embodiment of the present application. The system 1900 provided in an embodiment of the present application may include the above Fig.12 The device 1200 provided in the embodiment shown and the above Fig.13 The device 1300 provided in the embodiment shown in the figure. Alternatively, the device 1500 provided in the embodiment shown in the figure above and the device 1300 provided in the embodiment shown in the figure above Fig.16 The device 1600 provided in the illustrated embodiment may include, or include, the device 1800 provided in the embodiment illustrated in 18 above.
[0400] Above Fig.12 The device 1200 provided in the embodiment shown, Fig.15 The device 1500 provided in the embodiment shown, or the above Fig.18 The apparatus 1800 provided in the illustrated embodiment may be referred to as a first device 1901. Fig.13 The device 1300 provided in the embodiment shown, Fig.16 The device 1600 provided in the embodiment shown or the above Fig.18 The apparatus 1800 provided by the illustrated embodiment may be referred to as a second device 1902 .
[0401] The first device 1901 and the second device 1902 communicate with each other.
[0402] In a possible implementation, the second device 1902 may execute the above Figure 3 The method steps and related optional methods performed by the first network device in the embodiment shown in the figure, the first device 1901 can perform the above Figure 3 The method steps and related optional manners executed by the second network device, the third network device or the fourth network device in the illustrated embodiment.
[0403] In a possible implementation, the first device 1901 may execute the above Figure 7 The method steps and related optional methods performed by the network device 11 or the network device 12 provided in the embodiment shown in the figure, the second device 1902 can perform the above Figure 7 The illustrated embodiment provides method steps and related optional modes executed by the network device 11.
[0404] In a possible implementation, the first device 1901 may execute the above Figure 8 The method steps and related optional methods performed by the network device 15 or the network device 12 provided in the illustrated embodiment, the second device 1902 can perform the above Figure 8 The illustrated embodiment provides method steps and related optional modes performed by the network device 15.
[0405] In a possible implementation, the first device 1901 may execute the above Fig. 9 or Fig.10 The method steps and related optional methods performed by the network device 11 or the network device 12 provided in the embodiment shown in the figure, the second device 1902 can perform the above Fig. 9 or Fig.10 The illustrated embodiment provides method steps and related optional modes executed by the network device 11.
[0406] In a possible implementation, the first device 1901 may execute the above Fig.11 The method steps and related optional methods performed by the network device 12 or the network device 13 provided in the embodiment shown in the figure, the second device 1902 can perform the above Fig.11 The illustrated embodiment provides method steps and related optional modes performed by the network device 12.
[0407] In one possible approach, see Fig. 20 The system 1900 also includes the above Fig.14 The device 1400 provided in the embodiment shown or the above Fig.17 The illustrated embodiment provides an apparatus 1700 .
[0408] Above Fig.14 The device 1400 provided in the embodiment shown or the above Fig.17 The apparatus 1700 provided in the illustrated embodiment may be a control device 1903 .
[0409] The control device 1903 may execute the above Figure 3 The method steps and related optional modes executed by the control device etc. in the illustrated embodiments.
[0410] Those of ordinary skill in the art will appreciate that the various method steps and units described in the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the steps and components of each embodiment have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those of ordinary skill in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0411] A person skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0412] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the unit is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, or it can be an electrical or other form of connection.
[0413] The unit described as a separate component may or may not be physically separated, and the component displayed as a unit may or may not be a physical unit, that is, it may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiment of the present application.
[0414] In addition, the processing units in the various embodiments of the present application may be distributed among multiple functional units, or integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated units may be implemented in the form of hardware or in the form of software functional units.
[0415] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, firmware or a combination thereof, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer program instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer program instructions may be transmitted from a website site, a computer, a server or a data center to another website site, a computer, a server or a data center by wired or wireless means. The computer-readable storage medium may be any medium that a computer can access or a data storage device such as a server or a data center that includes one or more media integrations. The medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., an optical disk), or a semiconductor medium (e.g., a solid-state hard disk), etc.
[0416] The specific implementation methods described above further illustrate the purpose, technical solutions and beneficial effects of the present application in detail. It should be understood that the above description is only the specific implementation methods of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent substitutions, improvements, etc. made on the basis of the technical solutions of the present application should be included in the scope of protection of the present application.
Claims
1. A message processing method, applied to a segment routing network, characterized in that: The method comprises: The first network device receives a first message, wherein the first message includes multiple segment identifier SID lists, the multiple SID lists are located in the segment identifier list or label stack of the first message, the multiple SID lists include a primary SID list and at least one backup SID list, the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the primary SID list; The first network device processes the first message according to the primary SID list.
2. The method according to claim 1, characterized in that The first network device processes the first message according to the primary SID list, including: The first network device processes the first message differently according to whether a target SID is available, and the target SID is one or more SIDs in the main SID list that have not been executed.
3. The method according to claim 2, characterized in that The first backup SID list is a backup of the primary SID list, including: a forwarding path indicated by the first backup SID list is a backup path of the forwarding path indicated by the primary SID list.
4. The method according to claim 3, characterized in that The target SID being available includes: the first network device being reachable to the network device corresponding to the target SID.
5. The method according to claim 3 or 4, characterized in that: When the target SID is unavailable, the first network device processes the first message, including: The first network device sends the first message according to a first SID, where the first SID is the first SID in the first backup SID list.
6. The method according to claim 3 or 4, characterized in that: The first network device is an intermediate node on the end-to-end primary forwarding path indicated by the multiple SID lists, the target SID is the last SID in the primary SID list, and the target SID is the SID of the first network device; When the target SID is available, the first network device processes the first message, including: The first network device sends the first message according to a first SID, where the first SID is the first SID in the multiple SID lists after the at least one backup SID list.
7. The method according to claim 3 or 4, characterized in that: The first network device is an end node on the end-to-end primary forwarding path indicated by the multiple SID lists, the target SID is the last SID in the primary SID list, and the target SID is the SID of the first network device; When the target SID is available, the first network device processes the first message, including: The first network device executes a function corresponding to the target SID and strips off the multiple SID lists.
8. The method according to claim 2, characterized in that: The first backup SID list is a backup of the main SID list, including: services corresponding to the first backup SID list are backups of services corresponding to the main SID list, and the target SID is available includes: services corresponding to the target SID are available.
9. The method according to claim 8, characterized in that When the target SID is unavailable, the first network device processes the first message, including: The network device provides the first message with a service corresponding to the first SID according to the first SID, where the first SID is the first SID in the first standby SID list.
10. The method according to claim 8, characterized in that The first network device is an intermediate node on the end-to-end primary forwarding path indicated by the multiple SID lists, the target SID is the first one of the unexecuted SIDs, and when the target SID is available, the first network device processes the first message, including: The first network device provides a service corresponding to the target SID and sends the first message according to a first SID, where the first SID is the first SID in the multiple SID lists after the at least one backup SID list.
11. The method according to claim 8 or 9, characterized in that: The first network device is an end node on the end-to-end primary forwarding path indicated by the multiple SID lists, the target SID is the last one of the unexecuted SIDs, and when the target SID is available, the first network device processes the first message, including: The first network device provides a service corresponding to the target SID and strips the multiple SID lists.
12. The method according to claim 5, characterized in that The first message includes location indication information, and the method further includes: The first network device obtains the first SID according to the position indication information, where the position indication information is used to indicate one or more of the following: the position of the main SID list in the multiple SID lists, the position of the first backup SID list in the multiple SID lists, and the position of the at least one backup SID list in the multiple SIDs.
13. The method according to claim 12, characterized in that The location indication information includes: the last SID in the main SID list and / or the first SID in the SIDs in the main SID list that have not been executed.
14. The method according to claim 12, characterized in that The location indication information is carried in metadata of a segment routing header of the first message.
15. The method according to any one of claims 2-4, 8-10, 12-14, characterized in that: Before the first network device processes the first message according to the primary SID list, the method further includes: The first network device receives a configuration instruction; The first network device obtains a second SID according to whether the target SID is available according to the configuration instruction, and processes the first message according to the second SID, where the second SID includes: a SID in the main SID list, a first SID in the first backup SID list, or a first SID after at least one backup SID list in the multiple SID lists.
16. The method according to any one of claims 2-4, 8-10, 12-13, characterized in that: The multiple SID lists are in a segment routing header (SRH) of the first message or the multiple SID lists are in a multi-protocol label switching header (MPLS) of the first message.
17. The method according to any one of claims 2-4, 8-10, 12-13, characterized in that: The primary SID list and the first backup SID list are in different SRHs of the first message.
18. The method according to any one of claims 2-4, 8-10, 12-14, characterized in that: The primary SID list is adjacent to the first backup SID list, and the last SID in the primary SID list is before the first backup SID list.
19. The method according to any one of claims 2-4, 8-10, 12-14, characterized in that: The at least one backup SID list further includes a second backup SID list, where the second backup SID list is a backup of the first backup SID list and / or the second backup SID list is a backup of the primary SID list.
20. The method according to any one of claims 2-4, 8-10, 12-14, characterized in that: The multiple SID lists also include another primary SID list and another backup SID list, and the another backup SID list is a backup of the another primary SID list.
21. A message processing method, applied to a segment routing network, characterized in that: The method comprises: The first network device sends a first message, the first message includes multiple segment identifier SID lists, the multiple SID lists are located in the segment identifier list or label stack of the first message, the multiple SID lists include a primary SID list and at least one backup SID list, the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the primary SID list.
22. The method according to claim 21, characterized in that The first message includes position indication information, where the position indication information is used to indicate one or more of the following: the position of the main SID list in the multiple SID lists, the position of the first backup SID list in the multiple SID lists, and the position of the at least one backup SID list in the multiple SIDs.
23. The method according to claim 22, characterized in that The location indication information includes: the last SID in the main SID list and / or the first SID among the unexecuted SIDs in the main SID list.
24. The method according to claim 22, characterized in that The location indication information is carried in metadata of a segment routing header of the first message.
25. The method according to any one of claims 21 to 23, characterized in that: The multiple SID lists are carried in a segment routing header (SRH) of the first message or the multiple SID lists are carried in a multi-protocol label switching (MPLS) header of the first message.
26. The method according to any one of claims 21 to 23, characterized in that: The primary SID list is adjacent to the first backup SID list, and the last SID in the primary SID list is before the first backup SID list.
27. The method according to any one of claims 21 to 23, characterized in that: The at least one backup SID list further includes a second backup SID list, where the second backup SID list is a backup of the first backup SID list and / or the second backup SID list is a backup of the primary SID list.
28. A message processing method, applied in a segment routing network, characterized in that: The method comprises: The control device sends a first message to the first network device, where the first message includes multiple segment identifier SID lists, where the multiple SID lists include a primary SID list and at least one backup SID list, where the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the primary SID list; The first message enables the first network device to generate a first message, wherein the first message includes the multiple SID lists, and the multiple SID lists are located in a segment identifier list or a label stack of the first message.
29. The method according to claim 28, characterized in that The first message also includes a message feature or a routing feature, and the first message complies with the message feature or the routing feature.
30. The method according to claim 28 or 29, characterized in that The first message also includes position indication information, where the position indication information is used to indicate one or more of the following: the position of the main SID list in the multiple SID lists, the position of the first backup SID list in the multiple SID lists, and the position of the at least one backup SID list in the multiple SIDs.
31. The method according to claim 30, characterized in that The location indication information includes: the last SID in the main SID list and / or the first SID among the unexecuted SIDs in the main SID list.
32. A message processing device, applied to a segment routing network, characterized in that: The device comprises: A receiving unit, configured to receive a first message, wherein the first message includes a plurality of segment identifier SID lists, the plurality of SID lists are located in a segment identifier list or a label stack of the first message, the plurality of SID lists include a primary SID list and at least one backup SID list, the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the primary SID list; A processing unit is used to process the first message according to the primary SID list.
33. The device according to claim 32, characterized in that The processing unit is used for: The first message is processed differently according to whether a target SID is available, and the target SID is one or more SIDs in the main SID list that have not been executed.
34. The device according to claim 33, characterized in that The forwarding path indicated by the first backup SID list is a backup path of the forwarding path indicated by the primary SID list.
35. The device according to claim 34, characterized in that The target SID being available includes: the apparatus being reachable to a network device corresponding to the target SID.
36. The device according to claim 34 or 35, characterized in that The device also includes a first sending unit, configured to send the first message according to a first SID when the target SID is unavailable, where the first SID is the first SID in the first backup SID list.
37. The device according to claim 34 or 35, characterized in that The device is an intermediate node on the end-to-end primary forwarding path indicated by the multiple SID lists, the target SID is the last SID in the primary SID list, and the target SID is the SID of the device; the device also includes a second sending unit, The second sending unit is configured to send the first message according to a first SID when the target SID is available, where the first SID is the first SID in the multiple SID lists after the at least one backup SID list.
38. The device according to claim 34 or 35, characterized in that The device is an end node on the end-to-end primary forwarding path indicated by the multiple SID lists, the target SID is the last SID in the primary SID list, and the target SID is the SID of the device; The processing unit is configured to execute a function corresponding to the target SID and strip the multiple SID lists when the target SID is available.
39. The device according to claim 33, characterized in that The service corresponding to the first backup SID list is a backup of the service corresponding to the primary SID list, and the target SID being available includes: the service corresponding to the target SID is available.
40. The device according to claim 39, characterized in that The processing unit is configured to provide, when the target SID is unavailable, a service corresponding to the first SID for the first message according to the first SID, where the first SID is the first SID in the first backup SID list.
41. The device according to claim 39, characterized in that The device is an intermediate node on the end-to-end primary forwarding path indicated by the multiple SID lists, the target SID is the first one of the unexecuted SIDs, and the device further includes a third sending unit, The processing unit is configured to provide a service corresponding to the target SID when the target SID is available; The third sending unit is configured to send the first message according to a first SID, where the first SID is the first SID in the multiple SID lists after the at least one backup SID list.
42. The device according to claim 39 or 40, characterized in that The device is a tail node on the end-to-end primary forwarding path indicated by the multiple SID lists, the target SID is the last one of the unexecuted SIDs, The processing unit is configured to provide a service corresponding to the target SID and strip the multiple SID lists when the target SID is available.
43. The device according to claim 40 or 41, characterized in that The first message includes location indication information, and the processing unit is further used to: The first SID is obtained according to the position indication information, where the position indication information is used to indicate one or more of the following: the position of the main SID list in the multiple SID lists, the position of the first backup SID list in the multiple SID lists, and the position of the at least one backup SID list in the multiple SIDs.
44. The device according to claim 43, characterized in that The location indication information includes: the last SID in the main SID list and / or the first SID in the SIDs in the main SID list that have not been executed.
45. The device according to claim 43, characterized in that The location indication information is carried in metadata of a segment routing header of the first message.
46. The device according to any one of claims 33-35, 39-41, 44-45, characterized in that The receiving unit is further used to receive a configuration instruction; The processing unit is further configured to obtain a second SID according to whether the target SID is available according to the configuration instruction; The processing unit is configured to process the first message according to the second SID, where the second SID includes: a SID in the main SID list, a first SID in the first backup SID list, or a first SID after the at least one backup SID list in the multiple SID lists.
47. The device according to any one of claims 33-35, 39-41, 44-45, characterized in that The multiple SID lists are in a segment routing header (SRH) of the first message or the multiple SID lists are in a multi-protocol label switching header (MPLS) of the first message.
48. The device according to any one of claims 32-35, 39-41, 44-45, characterized in that The primary SID list and the first backup SID list are in different SRHs of the first message.
49. The device according to any one of claims 32-35, 39-41, 44-45, characterized in that The primary SID list is adjacent to the first backup SID list, and the last SID in the primary SID list is before the first backup SID list.
50. The device according to any one of claims 32-35, 39-41, 44-45, characterized in that The at least one backup SID list further includes a second backup SID list, where the second backup SID list is a backup of the first backup SID list and / or the second backup SID list is a backup of the primary SID list.
51. The device according to any one of claims 32-35, 39-41, 44-45, characterized in that The multiple SID lists also include another primary SID list and another backup SID list, and the another backup SID list is a backup of the another primary SID list.
52. A message processing device, applied to a segment routing network, characterized in that: The device comprises: A sending unit, configured to send a first message, wherein the first message includes multiple segment identifier SID lists, the multiple SID lists are located in the segment identifier list or label stack of the first message, the multiple SID lists include a primary SID list and at least one backup SID list, the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the primary SID list.
53. The device according to claim 52, characterized in that The first message includes position indication information, where the position indication information is used to indicate one or more of the following: the position of the main SID list in the multiple SID lists, the position of the first backup SID list in the multiple SID lists, and the position of the at least one backup SID list in the multiple SIDs.
54. The device according to claim 53, characterized in that The location indication information includes: the last SID in the main SID list and / or the first SID among the unexecuted SIDs in the main SID list.
55. The device according to claim 53, characterized in that The location indication information is carried in metadata of a segment routing header of the first message.
56. The device according to any one of claims 52 to 54, characterized in that The multiple SID lists are carried in a segment routing header (SRH) of the first message or the multiple SID lists are carried in a multi-protocol label switching (MPLS) header of the first message.
57. The device according to any one of claims 52 to 55, characterized in that The primary SID list is adjacent to the first backup SID list, and the last SID in the primary SID list is before the first backup SID list.
58. The device according to any one of claims 52 to 55, characterized in that The at least one backup SID list further includes a second backup SID list, where the second backup SID list is a backup of the first backup SID list and / or the second backup SID list is a backup of the primary SID list.
59. A message processing device, applied to a segment routing network, characterized in that: The device comprises: A sending unit, configured to send a first message to a first network device, wherein the first message includes a plurality of segment identifier SID lists, wherein the plurality of SID lists include a primary SID list and at least one backup SID list, wherein the at least one backup SID list includes a first backup SID list, and the first backup SID list is a backup of the primary SID list; The first message enables the first network device to generate a first message, wherein the first message includes the multiple SID lists, and the multiple SID lists are located in a segment identifier list or a label stack of the first message.
60. The device according to claim 59, characterized in that The first message also includes a message feature or a routing feature, and the first message complies with the message feature or the routing feature.
61. The device according to claim 59 or 60, characterized in that The first message also includes position indication information, where the position indication information is used to indicate one or more of the following: the position of the main SID list in the multiple SID lists, the position of the first backup SID list in the multiple SID lists, and the position of the at least one backup SID list in the multiple SIDs.
62. The device according to claim 61, characterized in that The location indication information includes: the last SID in the main SID list and / or the first SID among the unexecuted SIDs in the main SID list.
63. A message processing system, characterized in that: The system comprises the apparatus of any one of claims 32 to 51 and the apparatus of any one of claims 52 to 58.
64. The system according to claim 63, characterized in that The system also includes an apparatus as described in any one of claims 59 to 62.
65. A network device, characterized in that: The network device comprises a processor and a memory, wherein the memory is used to store a computer program, and when the processor executes the computer program, the network device implements the method according to any one of claims 1 to 31.
66. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a computer, the method according to any one of claims 1 to 31 is implemented.
67. A computer program product, characterized in that It comprises a computer program, which, when executed by a computer, implements the method according to any one of claims 1 to 31.
Citation Information
Patent Citations
Transmission path fault processing method, device and system
CN110661700A