WO2024083219A1 - Message processing method and apparatus, and device and storage medium - Google Patents

Message processing method and apparatus, and device and storage medium Download PDF

Info

Publication number
WO2024083219A1
WO2024083219A1 PCT/CN2023/125621 CN2023125621W WO2024083219A1 WO 2024083219 A1 WO2024083219 A1 WO 2024083219A1 CN 2023125621 W CN2023125621 W CN 2023125621W WO 2024083219 A1 WO2024083219 A1 WO 2024083219A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
sid
backup
node
header
Prior art date
Application number
PCT/CN2023/125621
Other languages
French (fr)
Chinese (zh)
Inventor
姜文颖
程伟强
Original Assignee
***通信有限公司研究院
***通信集团有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ***通信有限公司研究院, ***通信集团有限公司 filed Critical ***通信有限公司研究院
Publication of WO2024083219A1 publication Critical patent/WO2024083219A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Definitions

  • the present disclosure relates to the field of wireless communication technology, and in particular to a message processing method, device, equipment and storage medium.
  • the network adopts the Segment Routing over IPv6 (SRv6) policy technology based on the Internet Protocol Version 6 (IPv6) forwarding plane to provide users with high-quality connection services, it generally provides dual-provider edge (Provider Edge, PE) or multi-PE multi-homing connection services, and forms active-standby protection between each PE.
  • PE Provider Edge
  • CE Customer Edge
  • the implementation mechanism of the SRv6 tail node failure protection solution is relatively complex.
  • the embodiments of the present disclosure hope to provide a message processing method, apparatus, device and storage medium.
  • the embodiment of the present disclosure is intended to provide a message processing method, which is applied to a first node, where the first node is an ingress node, and the method includes:
  • First information is added to an extended header of a first message to obtain a second message; wherein the first information includes at least one backup SID.
  • adding an extension header to the first message, and encapsulating the first SID and the first information in the extension header includes:
  • a Segment Routing Header is added to an outer layer Internet Protocol Version 6 (IPv6) header of the first message, and the first SID and the first information are encapsulated in a segment list (segmentlist) of the SRH; wherein,
  • the encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
  • the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, including:
  • the encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
  • the encapsulation position of the backup SID is SL[0].
  • the method includes:
  • At least one backup SID in the first information is sorted according to the priority of the backup SID, and the backup SID with the lowest priority is encapsulated at the end of the first information.
  • the method further includes:
  • the method further includes:
  • the first SID is a SID of a first flavor or a SID of a first type
  • the remaining backup SIDs in the first information except the backup SID encapsulated in the last position in the first information are SIDs of the first flavor or SIDs of the first type.
  • the first type of SID includes:
  • the SID of the second behavior or the SID of the second behavior type is the SID of the second behavior type.
  • the method includes at least one of the following:
  • the first egress node is a primary tail node of SRv6;
  • the first SID is a SID allocated by the first egress node
  • the backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
  • the backup SID is a SID allocated by the protection node of the first egress node, including:
  • backup SIDs There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
  • the method further includes: sending the second message.
  • At least one embodiment of the present disclosure provides a message processing method, which is applied to a network node, and the method includes:
  • the second message includes a first SID and first information, and the first information includes at least one backup SID;
  • the destination address of the second message is changed to a backup SID to obtain a third message
  • the changing the destination address of the second message to a backup SID includes:
  • the destination address of the second message is changed to a reachable backup SID.
  • changing the destination address of the second message to a reachable backup SID includes:
  • the value of the SL pointer is reduced by 1 successively until the node corresponding to the backup SID pointed to by the current pointer is reachable, and then the destination address of the second message is changed to the backup SID pointed to by the current pointer.
  • At least one embodiment of the present disclosure provides a message processing method, which is applied to a second node, where the second node is an egress node, and the method includes:
  • the destination address in the second message or the third message is the local SID of the second node, and the destination address is a SID of the first flavor, remove the outer message header of the second message or the third message to obtain a fourth message; and/or, when the destination address in the second message or the third message is the local SID of the second node, and the destination address is a SID of the first type, remove the outer message header of the second message or the third message to obtain a fourth message;
  • the destination address is a SID of a first behavior of a first flavor or a SID of a first behavior type of a first flavor.
  • the removing the outer message header of the second message or the third message further includes:
  • the step of determining the value of the second information of the second message or the third message is not performed; the outer message header of the second message or the third message is removed;
  • the method further includes:
  • the first type of SID includes:
  • the SID of the second behavior or the SID of the second behavior type is the SID of the second behavior type.
  • removing the outer message header of the second message or the third message includes:
  • the second information is the segmentleft field information in the outer encapsulation message header SRH.
  • removing the outer message header of the second message or the third message includes:
  • the method further includes:
  • the SID of the first flavor or the SID of the first type is advertised to the first node and/or the network device through a routing protocol.
  • At least one embodiment of the present disclosure provides a message processing method, which is applied to a first node, where the first node is an ingress node, and the method includes:
  • a first bit in the first message is set to a first value, and first information is added to an extended header of the first message to obtain a fifth message; wherein the first information includes at least one backup SID.
  • the first bit is at least one reserved bit of the first message.
  • adding an extension header to the first message, and encapsulating the first SID and the first information in the extension header includes:
  • the encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
  • the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, including:
  • the encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
  • the encapsulation position of the backup SID is SL[0].
  • the method further includes:
  • the method includes at least one of the following:
  • the first egress node is a primary tail node of SRv6;
  • the first SID is a SID allocated by the first egress node
  • the backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
  • the backup SID is a SID allocated by the protection node of the first egress node, including:
  • backup SIDs There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
  • the method further includes: sending the fifth message.
  • At least one embodiment of the present disclosure provides a message processing method, which is applied to a network node, and the method includes:
  • the fifth message includes a first bit, a first SID, and first information, and the first information includes at least one backup SID;
  • the changing the destination address of the fifth message to a backup SID includes:
  • the destination address of the fifth message is changed to a reachable backup SID.
  • changing the destination address of the fifth message to a reachable backup SID includes:
  • Subtract 1 from the value of the SL pointer, and change the destination address of the fifth message to the backup SID pointed to by the current pointer;
  • the value of the SL pointer is reduced by 1 successively until the node corresponding to the backup SID pointed to by the current pointer is reachable, and then the destination address of the fifth message is changed to the backup SID pointed to by the current pointer.
  • At least one embodiment of the present disclosure provides a message processing method, which is applied to a second node, where the second node is an egress node, and the method includes:
  • the seventh message is sent.
  • the removing the outer message header of the second message or the third message further includes:
  • the step of determining the value of the third information of the fifth message or the sixth message is not performed; the outer message header of the fifth message or the sixth message is removed;
  • the value of the third information of the fifth message or the sixth message is at least one specific value; and remove the outer message header of the fifth message or the sixth message.
  • the method further includes:
  • the third information is the segmentleft field information in the outer encapsulation message header SRH.
  • removing the outer message header of the fifth message or the sixth message includes:
  • At least one embodiment of the present disclosure provides a message processing device, including:
  • the first processing unit is used to add an extension header to the first message, and encapsulate the first SID and the first information in the extension header to obtain a second message; wherein the first information includes at least one backup SID; or, add the first information to the extension header of the first message to obtain the second message; wherein the first information includes at least one backup SID.
  • At least one embodiment of the present disclosure provides a message processing device, including:
  • a first transceiver unit configured to receive a second message; wherein the second message includes a first SID and first information, and the first information includes at least one backup SID;
  • a second processing unit configured to change the destination address of the second message to a backup SID to obtain a third message when the node corresponding to the first SID is unreachable;
  • the first transceiver unit is further used to send the third message.
  • At least one embodiment of the present disclosure provides a message processing device, including:
  • a second transceiver unit used to receive a second message or a third message
  • a third processing unit configured to, when the destination address in the second message or the third message is the local SID of the second node and the destination address is a SID of the first flavor, remove the outer message header of the second message or the third message to obtain a fourth message; and/or, when the destination address in the second message or the third message is the local SID of the second node and the destination address is a SID of the first type, remove the outer message header of the second message or the third message to obtain a fourth message;
  • At least one embodiment of the present disclosure provides a message processing device, including:
  • the fourth processing unit is used to set the first bit in the first message to the first value, add an extension header to the first message, encapsulate the first SID and the first information in the extension header, and obtain a fifth message; wherein the first information includes at least one backup SID; or, set the first bit in the first message to the first value, and add the first information to the extension header of the first message to obtain a fifth message; wherein the first information includes at least one backup SID.
  • At least one embodiment of the present disclosure provides a message processing device, including:
  • a third transceiver unit configured to receive a fifth message; wherein the fifth message includes a first bit, a first SID, and first information, and the first information includes at least one backup SID;
  • a fifth processing unit configured to change the destination address of the fifth message to a backup SID to obtain a sixth message when the node corresponding to the first SID is unreachable and the first bit is a first value;
  • the fifth transceiver unit is further used to send the sixth message.
  • At least one embodiment of the present disclosure provides a message processing device, including:
  • a fourth transceiver unit configured to receive a fifth message or a sixth message
  • a sixth processing unit configured to, when the destination address in the fifth message or the sixth message is the local SID of the second node and the first bit in the fifth message or the sixth message is the first value, remove the The outer message header of the fifth message or the sixth message is used to obtain a seventh message;
  • the sixth transceiver unit is further used to send the seventh message.
  • At least one embodiment of the present disclosure provides a network device, including a processor and a memory for storing a computer program that can be run on the processor.
  • processor when used to run the computer program, it executes the steps of any of the above methods.
  • At least one embodiment of the present disclosure provides a storage medium having a computer program stored thereon, wherein the computer program implements the steps of any of the above methods when executed by a processor.
  • the information transmission method, apparatus, device and storage medium provided by the embodiments of the present disclosure add an extension header to the first message, and encapsulate the first SID and the first information in the extension header to obtain a second message; wherein the first information includes at least one backup SID; or, add the first information to the extension header of the first message to obtain a second message; wherein the first information includes at least one backup SID.
  • the technical solution provided by the embodiments of the present disclosure provides a simplified tail node/egress node protection mechanism, which can realize fast path switching protection when the SRv6 tail node/egress node fails in a multi-homing access scenario by extending the data plane.
  • FIG1 is a schematic diagram of the SRv6 SID format in the related art
  • FIG2 is a schematic diagram of a first implementation flow of a message processing method according to an embodiment of the present disclosure
  • FIG3 is a schematic diagram of allocating backup SIDs according to an embodiment of the present disclosure.
  • FIG4 is a schematic diagram of the packaging position of the first information in an embodiment of the present disclosure.
  • FIG5 is a schematic diagram 1 of sorting at least one backup SID in the first information according to an embodiment of the present disclosure
  • FIG6 is a second schematic diagram of sorting at least one backup SID in the first information according to an embodiment of the present disclosure
  • FIG7 is a second schematic diagram of the implementation flow of the message processing method according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic diagram of an embodiment of the present disclosure in which the destination address of the second message is changed to a backup SID;
  • FIG9 is a third schematic diagram of the implementation flow of the message processing method according to an embodiment of the present disclosure.
  • FIG10 is a fourth schematic diagram of the implementation flow of the message processing method according to an embodiment of the present disclosure.
  • FIG11 is a schematic diagram 1 of the Flags field in the IPv6 SRH according to an embodiment of the present disclosure
  • FIG12 is a second schematic diagram of the Flags field in the IPv6 SRH in an embodiment of the present disclosure.
  • FIG13 is a schematic diagram of a fifth implementation flow of a message processing method according to an embodiment of the present disclosure.
  • FIG14 is a sixth schematic diagram of the implementation flow of the message processing method according to an embodiment of the present disclosure.
  • FIG15 is a schematic diagram of a network structure and SID allocation of each device according to an embodiment of the present disclosure.
  • FIG16 is a schematic diagram 1 of message forwarding for SRv6 Policy dual homing node/egress node failure protection according to an embodiment of the present disclosure
  • FIG17 is a second schematic diagram of message forwarding for SRv6 Policy dual homing node/egress node failure protection according to an embodiment of the present disclosure
  • FIG18 is a second schematic diagram of the network structure and SID allocation of each device according to an embodiment of the present disclosure.
  • FIG19 is a schematic diagram 1 of message forwarding for SRv6 Policy multi-home node/egress node failure protection according to an embodiment of the present disclosure
  • FIG20 is a second schematic diagram of message forwarding for SRv6 Policy multi-home node/egress node failure protection according to an embodiment of the present disclosure
  • FIG21 is a third schematic diagram of message forwarding for SRv6 Policy multi-home node/egress node failure protection according to an embodiment of the present disclosure
  • FIG22 is a fourth schematic diagram of message forwarding for SRv6 Policy multi-home node/egress node failure protection according to an embodiment of the present disclosure
  • FIG23 is a schematic diagram 1 of message forwarding for SRv6 BE dual homing node/egress node failure protection according to an embodiment of the present disclosure
  • FIG24 is a second schematic diagram of message forwarding for SRv6 BE dual homing node/egress node failure protection according to an embodiment of the present disclosure
  • FIG25 is a schematic diagram of the first structure of the message processing device according to an embodiment of the present disclosure.
  • FIG26 is a second schematic diagram of the composition structure of the message processing device according to an embodiment of the present disclosure.
  • FIG27 is a third schematic diagram of the composition structure of the message processing device according to an embodiment of the present disclosure.
  • FIG28 is a fourth schematic diagram of the composition structure of the message processing device according to an embodiment of the present disclosure.
  • FIG29 is a fifth structural diagram of the message processing device according to an embodiment of the present disclosure.
  • FIG30 is a sixth schematic diagram of the composition structure of the message processing device according to an embodiment of the present disclosure.
  • FIG. 31 is a schematic diagram of the composition structure of the network device according to an embodiment of the present disclosure.
  • SRv6 Policy is a source routing tunnel technology that introduces an SRv6 extension header, Segment Routing Header (SRH), into IPv6 packets. It forms an SRv6 path by encapsulating an ordered segment list at the header node, such as Segmentlist ⁇ SID1, SID2, ... SIDn>, to guide user packets to be forwarded in the network along the specified path from SID1 to SIDn.
  • RFC8986 clearly defines the format of SRv6 SID.
  • SRv6 SID is a special IPv6 address that has both the routing capability of a common IPv6 address and the behavior capability unique to SRv6.
  • FIG1 is a schematic diagram of the SRv6 SID format in the related art.
  • the SRv6 SID consists of three parts: locator, function, and argument, totaling 128 bits.
  • the Locator has a positioning function, so it is generally unique within the SR domain. Other nodes in the network can locate this node through the Locator network segment route. At the same time, all SRv6 SIDs published by this node can also be reached through the Locator network segment route.
  • Function represents the device's instructions, which are pre-set by the device. The Function part is used to instruct the SRv6 SID generation node to perform corresponding functional operations. The Function part can also be divided into an optional parameter segment (Arguments).
  • the format of the SRv6 SID becomes Locator: Function: Arguments. Arguments occupy the low bits of the IPv6 address. The Arguments field can be used to define some message flows and services.
  • Table 1 shows the various behavior types of SRv6 SIDs. SRv6 SIDs with different behaviors represent different functions. "Behavior" identifies the behavior bound to the SID. Table 1 lists a series of behaviors that can be associated with the SID. The first column of Table 1 is the name of the SID of various behavior types, and the second column of Table 1 is the function of the SID of the behavior type.
  • the node publishes the SID on the control plane, and the behavior value associated with the SID is published together with the SID on the control plane.
  • Table 2 shows the three flavor types defined in RFC8986.
  • Flavor is usually a variant of Behavior.
  • the variant here can be understood as a modification, supplement or superposition of the behavior bound to one or more Behavior type SIDs.
  • An End.X SID with PSP Flavor means that the SRH processing of the End.X behavior type SID is modified:
  • the tunnel path Segmentlist can be arranged using node SID (End SID) or adjacent SID (End.X SID).
  • node SID End SID
  • adjacent SID End.X SID
  • the tunnel path is a strict path, and each hop is specified; when some SIDs in the path use node SID, the tunnel path is a one-hop loose path, because there may be different reachable links between the two nodes.
  • the current network uses SRv6 Policy technology to provide users with high-quality connection services, it generally provides dual PE or multi-PE multi-home connection services, and each PE forms a primary and backup protection.
  • the technical solution for SRv6 tail node failure protection is mainly the mirror protection solution proposed in the document [ID.ietf-rtgwg-srv6-egress-protection].
  • the current SRv6 The mirror protection solution for the tail node has a complex implementation mechanism and requires the expansion of the control plane protocol, making it difficult to upgrade existing network equipment.
  • the embodiments of the present disclosure propose a simplified tail node/egress node protection mechanism, which can implement fast path switching protection when the SRv6 tail node/egress node fails in a multi-homing access scenario by extending the data plane.
  • FIG2 is a schematic diagram of an implementation flow of a message processing method according to an embodiment of the present disclosure, which is applied to a first node, where the first node is an ingress node. As shown in FIG2 , the method includes:
  • Step 201 Add an extension header to the first message, and encapsulate the first SID and the first information in the extension header to obtain a second message; wherein the first information includes at least one backup SID; or, add the first information to the extension header of the first message to obtain a second message; wherein the first information includes at least one backup SID.
  • the SID can be a service SID (service SID), specifically, a VPN SID.
  • the message header includes a fixed header or a regular header, and optionally also includes an extended header.
  • a packet may carry 0, 1, or more extended headers.
  • IPv6 packet header includes the IPv6 header (or IPv6 fixed header, IPv6 regular header, IPv6 header), and optionally also includes the IPv6 extension header (IPv6 Extension Headers).
  • IPv6 packet can carry 0, 1, or more IPv6 extension headers.
  • IPv6 extension headers are added additionally as needed, such as Segment Routing header (SRH), Destination Options header (DOH), Hop-by-Hop Options header (HBH), Routing header, Fragment header, Authentication header, Encapsulating Security Payload header, etc.
  • SSH Segment Routing header
  • DOH Destination Options header
  • HH Hop-by-Hop Options header
  • Routing header Fragment header
  • Authentication header Encapsulating Security Payload header, etc.
  • the backup SID is the service SID assigned to the user by each backup tail node/egress device in the multi-homing access scenario of the user site.
  • the head node can publish through a control protocol such as BGP, receive the service SID of the primary egress and the service SID of the backup egress, or allocate the service SID to each egress device through a controller and send it to the head node, or statically configure it at the head node.
  • FIG3 is a schematic diagram of allocating backup SIDs according to an embodiment of the present disclosure.
  • PE2, PE3, and PE4 are dual-homing access devices of site CE2 of VPN1 user, wherein PE2 is the primary access device. (Primary Egress or Active Egress), PE3 is the first backup access device (Backup Egress), PE4 is the second backup access device (Backup Egress), then the VPN SID allocated by PE2 to the VPN1 user is the primary service SID (primary SID or Primary SID or Active SID), and the VPN SIDs allocated by PE3 and PE4 to the VPN1 user are the first backup service SID (Backup SID) and the second backup service SID (Backup SID), that is, A:3::B100 in Figure 3 is the first backup SID of A:2::B100, and A:4::B100 is the second backup SID of A:2::B100. It should be noted that there is no limit to the number of backup access devices here, and each backup access node
  • adding an extension header to the first message, and encapsulating the first SID and the first information in the extension header includes:
  • the encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
  • the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, including:
  • the encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
  • the encapsulation position of the first information in the segment list is after the encapsulation position of the first SID, which can be understood as the encapsulation position of the first information is closer to the top of the stack than the first SID.
  • FIG4 is a schematic diagram of the encapsulation position of the first information in the embodiment of the present disclosure.
  • the first SID is the primary SID (main SID or Active SID)
  • the first information is the Backup SID. It can be seen that the Backup SID is next to the primary SID and is located after the primary SID in the Segment List, and is closer to the top of the stack than the primary SID.
  • the encapsulation position of the backup SID is SL[0].
  • SL[0] is Segment List[0], which is the top of the Segment List stack.
  • the method comprises:
  • At least one backup SID in the first information is sorted according to the priority of the backup SID, and the backup SID with the lowest priority is encapsulated at the end of the first information.
  • the first information i.e., the backup SID
  • the first information includes multiple backup SIDs of different priorities, wherein the highest priority backup SID is located at the front of the first information, i.e., closer to the bottom of the stack, and adjacent to the first SID (primary VPN SID or primary SID or Active SID); the lowest priority backup SID is located at the end of the first information, i.e., closest to the top of the stack, and farthest from the first SID.
  • the head node/entry node of the SRv6 Policy encapsulates the IPv6 outer header, it needs to encapsulate the backup SID in the last position SL[0] of the segmentlist of the SRH extension header, that is, the backup SID is placed immediately after the primary VPN SID.
  • the backup SIDs are placed in order of priority, that is, the primary VPN SID is followed by the highest priority backup SID, followed by the second priority backup SID, and so on, and the lowest priority backup SID is placed at the last SL[0].
  • the head node/entry node of the SRv6 BE when encapsulating the IPv6 outer header, the head node/entry node of the SRv6 BE must add an SRH extension header with an active SID (primary VPN SID) and one to multiple backup SIDs in descending order of priority.
  • the encapsulation content of the segmentlist of the SRH extension header is shown in Figure 6.
  • the primary SID is used as the destination address of the outer IP header.
  • the method further comprises:
  • the method further comprises:
  • the first SID is a SID of a first flavor or a SID of a first type
  • the remaining backup SIDs in the first information except the backup SID encapsulated in the last position in the first information are SIDs of the first flavor or SIDs of the first type.
  • the first type of SID includes:
  • the SID of the second behavior or the SID of the second behavior type is the SID of the second behavior type.
  • the SID of the second behavior or the SID of the second behavior type is a newly defined behavior or behavior type compared to the existing relevant standards.
  • it can be the SID of END.PSD (Penultimate Segment Decapsulation) or the SID of END.PSD behavior or the SID of END.PSD type or END.PSD The SID of the behavior type.
  • END.PSD can be a variation of End.DT4, End.DT6, End.DT46, End.DX4, End.DX6, End.DX2, End.DX2V, and End.DX2M behavior.
  • N When a network node N receives a packet with S as the destination and S is the local END.PSD SID, N does the following:
  • N When processing the upper layer header of a packet that matches a FIB entry locally instantiated with the End.DT6 SID, N does the following:
  • the method before adding an extension header to the first message and encapsulating the first SID and the first information in the extension header, or before adding the first information to the extension header of the first message, the method further includes:
  • the first SID is a SID of a first flavor or a SID of a first type
  • the SID is the SID of the first flavor or the SID of the first type
  • an extension header is added to encapsulate the first SID and the first information in the extension header or the first information is added to the extension header of the first message.
  • the method includes at least one of the following:
  • the first egress node is a primary tail node of SRv6;
  • the first SID is a SID allocated by the first egress node
  • the backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
  • the first SID and the backup SID are the service SID (Service SID) or VPN SID assigned to the same customer (user) by the primary egress node and the backup egress node respectively.
  • the protection node specifically, can be a multi-homing access PE device of the CE device.
  • the backup SID is a SID allocated by a protection node of the first egress node, including:
  • backup SIDs There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
  • the method further includes: sending the second message.
  • An SRv6 Policy tail node/egress node protection scheme is proposed.
  • One or more backup SIDs are carried in the Segmentlist of the IPv6 packet header SRH on the data plane.
  • the backup SID is used as the destination address to forward the traffic to the backup tail node/egress node, thus realizing user-unaware protection switching.
  • FIG7 is a schematic diagram of an implementation flow of a message processing method according to an embodiment of the present disclosure, which is applied to a network node.
  • the method includes:
  • Step 701 Receive a second message; wherein the second message includes a first SID and first information, and the first information includes at least one backup SID;
  • Step 702 When the node corresponding to the first SID is unreachable, the destination of the second message is The address is changed to the backup SID, and the third message is obtained;
  • Step 703 Send the third message.
  • the "node corresponding to the first SID" here means that the SID itself is an address, such as an IPv6 address. That is, the first SID is the local SID of the corresponding node. The message can be routed to the corresponding node through the SID.
  • a network node may receive several second messages, and the several second messages constitute traffic. Therefore, receiving and processing the second message mentioned above may also be understood as: performing the above processing on the second message in the received traffic.
  • the network node here is not limited to the intermediate node in the path, but can also be the entry node, that is, the first node.
  • changing the destination address of the second message to a backup SID includes:
  • the destination address of the second message is changed to a reachable backup SID.
  • changing the destination address of the second message to a reachable backup SID includes:
  • the value of the SL pointer is reduced by 1 successively until the node corresponding to the backup SID pointed to by the current pointer is reachable, and then the destination address of the second message is changed to the backup SID pointed to by the current pointer.
  • FIG8 is a schematic diagram of an embodiment of the present disclosure in which the destination address of the second message is changed to a backup SID.
  • the SID pointed to by the SL pointer here can refer to the SID pointed to by the arrow in FIG8 (the arrow is the SL pointer).
  • the SID A:2:B100 pointed to by the current SL pointer is the first SID (primary SID or active SID)
  • the SID A:3:B100 pointed to by the current SL pointer is the first backup SID in the first information.
  • the destination address (Destination Address, DA) in the encapsulation format of this message (third message) is also changed to the backup SID A:3:B100.
  • DA Destination Address
  • FIG9 is a schematic diagram of an implementation flow of a message processing method according to an embodiment of the present disclosure, which is applied to a second node, where the second node is an egress node. As shown in FIG9 , the method includes:
  • Step 901 receiving a second message or a third message
  • Step 902 when the destination address in the second message or the third message is the local SID of the second node, and the destination address is the SID of the first flavor, remove the outer message header of the second message or the third message to obtain a fourth message; and/or, when the destination address in the second message or the third message is the local SID of the second node, and the destination address is the SID of the first type, remove the outer message header of the second message or the third message to obtain a fourth message;
  • Step 903 Send the fourth message.
  • the second node when the second node receives the second message, it indicates that the second node is the main egress node and its status is normal.
  • the second node receives the third message, it indicates that the second node is the backup egress node and its status is normal, and the main egress node fails.
  • the first Flavor for example, can be the penultimate segment decapsulation (PSD) Flavor; “a SID with a PSD flavor” can be expressed as “an SID with PSD Flavor” in English.
  • PSD penultimate segment decapsulation
  • the sending here can be forwarding, forward, transfer, etc.
  • the following describes a solution when the destination address in the second message or the third message is the local SID of the second node and the destination address is the SID of the first Flavor.
  • removing an outer message header of the second message or the third message includes:
  • the step of determining the value of the second information of the second message or the third message is not performed; the outer message header of the second message or the third message is removed;
  • the first behavior type SID specific examples may be End.DT4, End.DT6, End.DT46, End.DX4, End.DX6, End.DX2, End.DX2V and End.DX2M type SIDs.
  • the SID of the first behavior of the first flavor or the SID of the first behavior type of the first flavor may be the End.DT4 SID of the PSD Flavor, the End.DT6 SID of the PSD Flavor, the End.DT46 SID of the PSD Flavor, or the End.DT6 SID of the PSD Flavor.
  • the corresponding English words may be an End.DT4 SID with PSD Flavor, an End.DT6 SID with PSD Flavor, an End.DT46 SID with PSD Flavor, an End.DX4 SID with PSD Flavor, an End.DX6 SID with PSD Flavor, an End.DX2 SID with PSD Flavor, an End.DX2V SID with PSD Flavor, or an End.DX2M SID with PSD Flavor.
  • the first modification method for the SRH processing flow is that the step of determining whether the pointer value is non-0 is not performed in the SRH processing step.
  • the first method may be applicable to the case where the first information of the second message or the third message includes multiple backup SIDs.
  • the modification made by the present disclosure to the SRH process is: deleting the steps S02 to S04.
  • Deleting the steps S02 to S04 means not executing the step of determining whether SL is non-zero, and not executing S03.
  • the steps of sending an ICMP parameter problem with code 0 to the source address, setting the pointer to the SL field, interrupting the data packet processing, and discarding the data packet directly execute step S05, that is, entering the processing of the next header of the data packet.
  • the node When processing the Upper-Layer header of a packet that matches a FIB entry instantiated locally as the End.DT4 SID, i.e., when processing the next header of the SRH, the node shall do the following:
  • step S02 in the processing flow of the next header is to remove the outer IPv6 header and all extension headers, that is, to remove the outer message header of the second message or the third message in the present disclosure.
  • the second modification method is to modify the pointer value determination step in the original SRH processing flow, that is, to determine that the value of the second information of the second message or the third message is a specific first value, or a second value... or an Nth value.
  • the second modification manner is applicable when the first information of the second message or the third message contains only one backup SID.
  • modify instruction S02 in the processing flow of SRH of End.DT4 SID to:
  • the next header processing step of S05 is executed, that is, the step of removing the outer message header of the second message or the third message; the specific processing flow is as follows: If the condition of non-0 and non-1 is met, steps S03 and S04 are executed.
  • the method further comprises:
  • the value of the second information of the second message or the third message is not at least one specific value” can be understood as: the value of the second information of the second message or the third message is not a specific first value, and is not a specific second value, ..., and is not a specific Nth value.
  • the following describes a solution when the destination address in the second message or the third message is the local SID of the second node and the destination address is a first type of SID.
  • the first type of SID includes:
  • the SID of the second behavior or the SID of the second behavior type is the SID of the second behavior type.
  • the SID of the second behavior (Behavior) or the SID of the second behavior (Behavior) type is a newly defined behavior or behavior type compared to the existing relevant standards.
  • it can be the SID of END.PSD (Penultimate Segment Decapsulation) or the SID of END.PSD behavior or the SID of END.PSD type or the SID of END.PSD behavior type.
  • END.PSD can be a variation of End.DT4, End.DT6, End.DT46, End.DX4, End.DX6, End.DX2, End.DX2V, and End.DX2M behavior.
  • N When a network node N receives a packet with S as the destination and S is the local END.PSD SID, N does the following:
  • N When processing the upper layer header of a packet that matches a FIB entry locally instantiated with the End.DT6 SID, N does the following:
  • removing the outer message header of the second message or the third message includes:
  • the destination address in the second message or the third message is the local SID of the second node, and the destination address is the SID of the second behavior (Behavior), if there are multiple backup SIDs in the first information of the second message or the third message, the outer message header of the second message or the third message is removed to obtain the fourth message.
  • the destination address in the second message or the third message is the local SID of the second node, and the destination address is the SID of the second behavior
  • the backup SID in the first information of the second message or the third message is one
  • it is first determined that the value of the second information of the second message or the third message is at least one specific value. For example, when it is determined that the value of the second information is 0 or 1, the outer message header of the second message or the third message is removed to obtain the fourth message.
  • the specific method of removing the message header is similar to the method of removing the message header in the above "the destination address is the SID of the first behavior of the first flavor", but in actual implementation, it can also be Takes a different execution process than the above removal method.
  • the second information is the segmentleft field information in the outer encapsulation message header SRH.
  • removing the outer message header of the second message or the third message includes:
  • the method further comprises:
  • the SID of the first flavor or the SID of the first type is announced to the first node and/or the network device via a routing protocol;
  • the SID of the first flavor or the SID of the first type is notified to the first node and/or the network device through the routing protocol, so that all node devices in the network know that the SID is the SID of the first flavor or the SID of the first type. It should be noted that this is only a way to let the entire network know.
  • the first node, the network device, and the second node can also be configured (node device self-configuration or third-party controller configuration) so that the entire network devices know that the SID is the SID of the first flavor or the SID of the first type.
  • the SRv6 head node/entry node When the SRv6 head node/entry node performs SRv6 outer tunnel message encapsulation, it first determines whether the primary VPN SID of the SRv6 tail node/egress node has a backup SID. If so, the backup SID is added after the VPN SID in the SRH segmentlist, that is, the position of SegmentList(0) is the backup SID. If there are multiple backup SIDs, they are added in the VPN in descending order of priority. The backup SIDs are added in sequence, with the lowest priority backup SID placed last.
  • Packets are forwarded along the SRv6 path in the following two situations:
  • the message is forwarded normally to the SRv6 active egress node.
  • the node finds that the destination S in the header of the received data packet has the following conditions:
  • S is equal to the local VPN SID with PSD Flavor
  • the node does not perform a check on the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, and then forwards the decapsulated exposed data packet to the corresponding destination.
  • the device finds that the next SID in the segmentlist (primary VPN SID) is unreachable, so the device searches for the first reachable SID (the reachable downstream node) from the SIDs after the unreachable SID (primary VPN SID) in the segmentlist according to the SRH.segmentlist path order.
  • the SL value is reduced by 1, so that the SL pointer points to the first backup SID after the VPN SID, and then the destination address of the data packet is modified to Segment List [SL] (i.e., the first backup SID), and the message is sent to the first backup tail node/egress node corresponding to the first backup SID; if the first backup SID is unreachable, the SL value continues to be reduced by 1, and the SL pointer points to the second priority backup SID thereafter.
  • SL Segment List
  • the multi-homed egress node protection processing mechanism on the SRv6 BE path is consistent with the protection processing on the SRv6 Policy path. The only difference is that when the head node/entry node of the SRv6 BE encapsulates the IPv6 outer header, an SRH extension header with an active SID (primary VPN SID or Primary SID or Active SID) and 1 to multiple backup SIDs (Backup SIDs) in descending order of priority must be added at the same time.
  • the encapsulation content of the segmentlist of the SRH extension header is shown in Figure 6.
  • the primary SID is used as the destination address of the outer IP header.
  • FIG10 is a schematic diagram of an implementation flow of a message processing method according to an embodiment of the present disclosure, which is applied to a first node, where the first node is an ingress node. As shown in FIG10 , the method includes:
  • Step 1001 Set the first bit in the first message to a first value, add an extension header to the first message, encapsulate the first SID and the first information in the extension header, and obtain a fifth message; wherein the first information includes at least one backup SID; or, set the first bit in the first message to a first value, and add the first information to the extension header of the first message, and obtain a fifth message; wherein the first information includes at least one backup SID.
  • the "first bit” herein may include at least one specific bit.
  • the first bit is set to a first value, for example, the first bit may be set to 1.
  • the first bit is at least one reserved bit of the first message.
  • the reserved bit here can be at least one bit in the Flags field in the IPv6 SRH.
  • Figures 11 and 12 are schematic diagrams of the Flags field in the IPv6 SRH in the embodiment of the present disclosure. As shown in Figure 11, the Flag field in the existing IPv6 SRH header is extended to occupy one bit to indicate that the backup protection mechanism of the node is started. When the next-hop SID is unreachable, the next reachable SID is found in the subsequent SIDs in the segment list, and the message is forwarded to the destination. At the same time, it indicates that the node does not need to judge the SL value of the Segmentlist when removing the outer encapsulation header of the data packet.
  • the B bit represents the backup flag bit and/or the removal of the outer encapsulation header mark bit. If the B-flag is If set to 1, it means that the backup protection mechanism of the node is started. When the SID pointed to by the current SL pointer is unreachable, the next reachable SID is obtained from the subsequent SID of the unreachable SID in the sengmentlist along the SegmentList path. If B-flag is set to 1, when a node not indicated by SRH.SegmentList[0] (such as the node indicated by SRH.SegmentList[1]) receives a data packet with B-Flag as 1, it is necessary to remove the outer encapsulation header of the data packet. If B-flag is set to 0, it is processed according to the original process and Behavior action. Reserved bit: unused for future use. Must be 0 during transmission and ignored when received.
  • adding an extension header to the first message, and encapsulating the first SID and the first information in the extension header includes:
  • the encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
  • the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, including:
  • the encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
  • the encapsulation position of the backup SID is SL[0].
  • the method further comprises:
  • the method includes at least one of the following:
  • the first egress node is a primary tail node of SRv6;
  • the first SID is a SID allocated by the first egress node
  • the backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
  • the backup SID is a SID allocated by a protection node of the first egress node, including:
  • backup SIDs There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
  • the method further includes: sending the fifth message.
  • FIG. 13 is a schematic diagram of an implementation flow of a message processing method according to an embodiment of the present disclosure, which is applied to a network node. As shown in FIG. 13 , the method includes:
  • Step 1301 Receive a fifth message; wherein the fifth message includes a first bit, a first SID, and first information, and the first information includes at least one backup SID;
  • Step 1302 When the node corresponding to the first SID is unreachable and the first bit is a first value, the destination address of the fifth message is changed to a backup SID to obtain a sixth message;
  • Step 1303 Send the sixth message.
  • changing the destination address of the fifth message to a backup SID includes:
  • the destination address of the fifth message is changed to a reachable backup SID.
  • changing the destination address of the fifth message to a reachable backup SID includes:
  • Subtract 1 from the value of the SL pointer, and change the destination address of the fifth message to the backup SID pointed to by the current pointer;
  • the value of the SL pointer is reduced by 1 successively until the node corresponding to the backup SID pointed to by the current pointer is reachable, and then the destination address of the fifth message is changed to the backup SID pointed to by the current pointer.
  • FIG. 14 is a schematic diagram of an implementation flow of a message processing method according to an embodiment of the present disclosure, which is applied to a second node, where the second node is an egress node. As shown in FIG. 14 , the method includes:
  • Step 1401 receiving the fifth message or the sixth message
  • Step 1402 When the destination address in the fifth message or the sixth message is the local SID of the second node and the first bit in the fifth message or the sixth message is the first value, remove the outer message header of the fifth message or the sixth message to obtain a seventh message;
  • Step 1403 Send the seventh message.
  • the SID can be a service SID (service SID) or a VPN SID.
  • service SID service SID
  • VPN SID VPN SID
  • it can be End.DT4, End.DT6, End.DT46, End.DX4, End.DX6, End.DX2, End.DX2V or End.DX2M type SID defined in RFC8986.
  • removing the outer message header of the second message or the third message further includes:
  • the value of the third information of the fifth message or the sixth message is not judged.
  • the method further comprises:
  • the third information is the segmentleft field information in the outer encapsulation message header SRH.
  • removing the outer message header of the fifth message or the sixth message includes:
  • the SRv6 head node/ingress node When the SRv6 head node/ingress node performs SRv6 outer tunnel message encapsulation, it first determines whether there is a backup SID for the primary VPN SID of the SRv6 tail node/egress node. If so, the SRH.B-flag value is set to 1, and the backup SID is added after the VPN SID in the SRH segmentlist, that is, the position of SegmentList(0) is the backup SID. If there are multiple backup SIDs, they are added in descending order of priority after the VPN SID, with the lowest priority backup SID placed at the end.
  • Packets are forwarded along the SRv6 path in the following two situations:
  • the message is forwarded normally to the SRv6 active tail node/egress node.
  • the node finds that the destination S in the message header of the received data packet is equal to the local End.DT4 or End.DT6 or End.DT46 or End.DX4, End.DX6 or End.DX2 or End.DX2V or End.DX2M SID, and the SRH.B-flag in the message header is 1.
  • the node does not check the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, and then forwards the decapsulated exposed data packet to the corresponding destination.
  • the device When the message is forwarded to the penultimate hop endpoint along the SRv6 tunnel path, the device will find that the next SID in the segmentlist (primary VPN SID or Primary SID or Active SID) is unreachable. If the SRH.B-flag in the current message header is 1, the device will search for the SID after the unreachable SID (primary VPN SID or Primary SID or Active SID) in the SRH.segmentlist along the SRH.segmentlist path until the first reachable SID is found, that is, the reachable downstream node.
  • the SL value is reduced by 1, so that the SL pointer points to the first backup SID after the primary VPN SID, and then the destination address of the data packet is modified to Segment List[SL] (i.e., the first backup SID), and the message is sent to the first backup tail node/exit node corresponding to the first backup SID; if the first backup SID is unreachable, the SL value continues to be reduced by 1, and the SL pointer points to the second priority backup SID thereafter.
  • SL Segment List[SL]
  • the multi-homed egress node protection processing mechanism on the SRv6 BE path is consistent with the protection processing on the SRv6 Policy path.
  • the only difference is that when the head node/entry node of the SRv6 BE encapsulates the IPv6 outer header, an SRH extension header with an active SID (primary VPN SID or Primary SID or Active SID) and 1 to multiple backup SIDs (Backup SID) in descending order of priority must be added at the same time.
  • the encapsulation content of the segmentlist of the SRH extension header is shown in Figure 6.
  • the SRH.B-flag is set to 1, and the primary VPN SID (Primary SID or Active SID) is used as the destination address of the outer IP header.
  • Segmentlist is expressed as ⁇ S1,S2,S3>, where S1 is the first SID to be accessed along the SRv6 path, S2 is the second SID to be accessed, and S3 is the last SID to be accessed.
  • Solution 1 (including Solution 1-1 and Solution 1-2): SRv6 Policy Dual End Node/Egress Node Protection Mechanism
  • FIG15 is a schematic diagram of the network structure and SID allocation of each device in an embodiment of the present disclosure. It is assumed that the network includes PE1, PE2, PE3, PE4, P1, P2, P3, and P4 router devices, wherein VPN1 users include two sites, CE1 and CE2, and site CE2 is dual-homed to PE2 and PE3. The traffic from CE1 to CE2 is carried through the SRv6 Policy tunnel.
  • the path information is as follows:
  • A:3::B100 assigns VPN SID of VPN1 user to PE3 device
  • A:4::B100 assigns VPN SID of VPN1 customer to PE4 device, that is, A:3::B100 is the primary service SID, A:4::B100 is the backup SID, and the correspondence between the primary service SID and the backup SID of the VPN1 user is configured on the SRv6 Policy head node PE1 device.
  • PE1 When PE1 receives the packet from CE1 and encapsulates the outer IPv6 header of the tunnel, it knows that VPN1 has a dual-homing protection tail node based on the locally configured backup SID information. Therefore, it first performs the following actions:
  • step B If not, perform one of the following actions:
  • Solution 1-2 the first sentence of step A above is changed to "Determine whether the primary VPN SID A:3::B100 in segmentlist is the END.PSD SID". The rest is exactly the same as Solution 1-1.
  • the PE1 device executes the standard SRv6 Policy forwarding process.
  • FIG16 is a schematic diagram of message forwarding for SRv6 Policy dual tail node/egress node fault protection in an embodiment of the present disclosure.
  • the main tail node/egress node PE3 is operating normally.
  • PE3 finds that the destination A:3::B100 in the message header of the received data packet is the local End.DT6 SID with PSD Flavor. It does not check the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, restores the inner original message, searches the routing table locally, and forwards the original message to CE2.
  • the P2 device finds that the next SID in the segmentlist (primary VPN SID or primary SID or active SID A:3::B100) is unreachable, so the device searches for the SID after the primary VPN SID (primary SID or active SID) along the SRH.segmentlist path until it finds the next SID.
  • a reachable SID i.e., a reachable downstream node.
  • P2 reads the backup SID A:4::B100 from the SL[0] position and modifies the destination address of the message to the backup SID A:4::B100.
  • the P2 device continues to send the message to the backup tail node/egress node PE4 according to the new destination address (backup SID). If PE4 fails, the message is discarded; if PE4 is normal, the message reaches the PE4 device.
  • backup SID new destination address
  • PE4 finds that the destination A:4::B100 in the header of the received data packet is the local End.DT6SID, so it removes the outer IPv6 encapsulation, restores the inner original message, searches the routing table locally, and forwards the original message to CE2, thereby automatically implementing automatic protection switching when the main tail node/egress node PE2 fails.
  • FIG15 is a schematic diagram of the network structure and SID allocation of each device in an embodiment of the present disclosure. It is assumed that the network includes PE1, PE2, PE3, PE4, P1, P2, P3, and P4 router devices, wherein VPN1 users include two sites, CE1 and CE2, and site CE2 is dual-homed to PE2 and PE3. The traffic from CE1 to CE2 is carried through the SRv6 Policy tunnel.
  • the path information is as follows:
  • A:3::B100 assigns VPN SID of VPN1 user to PE3 device
  • A:4::B100 assigns VPN SID of VPN1 customer to PE4 device, that is, A:3::B100 is the primary service SID, A:4::B100 is the backup SID, and the correspondence between the primary service SID and the backup SID of the VPN1 user is configured on the SRv6 Policy head node PE1 device.
  • PE1 When PE1 receives the packet sent by CE1 and encapsulates the outer IPv6 header of the tunnel, it knows that VPN1 has a dual-homing protection tail node based on the locally configured backup SID information. Therefore, it sets the value of SRH.B-flag to 1 and adds backup SID A:4::B100 after VPN SID A:3::B100 in segmentlist. That is, the backup SID is encapsulated in the SL[0] position.
  • the PE1 device executes the standard SRv6 Policy forwarding process.
  • FIG17 is a schematic diagram of message forwarding for SRv6 Policy dual tail node/egress node fault protection in an embodiment of the present disclosure.
  • the main tail node/egress node PE3 is operating normally.
  • PE3 finds that the destination A:3::B100 in the message header of the received data packet is the local End.DT6 SID and the SRH.B-flag in the message header is 1. It does not check the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, restores the inner original message, searches the routing table locally, and forwards the original message to CE2.
  • the P2 device finds that the next SID in the segmentlist (primary VPN SID or Primary SID or Active SID A:3::B100) is unreachable and the SRH.B-flag in the message header is 1, so the device searches for the SID after the current unreachable node in the SRH.segmentlist (primary VPN SID or Primary SID or Active SID) along the SRH.segmentlist path until the first reachable SID (that is, the reachable downstream node) is found.
  • PE4 If PE4 is normal, the node corresponding to the backup SID A:4::B100 is reachable, so P2 reads the backup SID A:4::B100 from the SL[0] position and changes the destination address of the message to the backup SID A:4::B100.
  • the P2 device continues to send the message to the backup tail node/egress node PE4 according to the new destination address A:4::B100 (backup SID).
  • PE4 finds that the destination A:4::B100 in the header of the received data packet is the local End.DT6SID, so it removes the outer IPv6 encapsulation, restores the inner original message, searches the local routing table, and forwards the original message to CE2, thus automatically realizing the main tail node/egress node PE2 failure Automatic protection switching.
  • Solution 1 (including Solution 1-1 and Solution 1-2): Protection mechanism for multiple home nodes/egress nodes
  • FIG18 is a schematic diagram of the network structure and SID allocation of each device in an embodiment of the present disclosure.
  • the network includes PE1, PE2, PE3, PE4, P1, P2, and P3 router devices, where VPN1 users include two sites, CE1 and CE2, and site CE2 is multi-homed to PE2, PE3, and PE4.
  • the traffic from CE1 to CE2 is carried through the SRv6 Policy tunnel.
  • the path information is as follows:
  • A:2::B100 is the VPN SID assigned to the VPN1 user by PE2
  • A:3::B100 is the VPN SID assigned to the VPN1 user by PE3
  • A:4::B100 is the VPN SID assigned to the VPN1 customer by PE4. That is, A:2::B100 is the primary service SID, A:3::B100 is the first backup SID, and A:4::B100 is the second backup SID.
  • the correspondence between the primary service SID and the backup SID of the VPN1 user is configured on the SRv6 Policy head node PE1.
  • PE1 When PE1 receives the packet from CE1 and encapsulates the outer IPv6 header of the tunnel, it knows that VPN1 has a multi-homing protection tail node based on the locally configured backup SID information. Therefore, it first performs the following actions:
  • step B If not, perform one of the following actions:
  • Solution 1-2 the first sentence of step A above is changed to "Determine whether the primary VPN SID A:2::B100 in segmentlist is the END.PSD SID", and the rest is exactly the same as Solution 1-1.
  • the PE1 device executes the standard SRv6 Policy forwarding process.
  • the main tail node/egress node PE2 is operating normally
  • P1 forwards the message to the active tail node/egress node PE2 normally.
  • PE2 finds that the destination A:2::B100 in the message header of the received data packet is the local End.DT6 SID with PSD Flavor. It does not check the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, restores the inner original message, searches the routing table locally, and forwards the original message to CE2.
  • the active tail node/egress node PE2 fails.
  • PE3 If PE3 is normal, the node corresponding to the backup SID A:3::B100 is reachable, so P1 reads the first backup SID A:3::B100 from the SL[1] position and changes the destination address of the message to the first backup SID A:3::B100.
  • the P1 device continues to send the message to the first backup tail node/egress node PE3 according to the new destination address (the first backup SID).
  • PE3 finds that the destination A:3::B100 in the message header of the received data packet is the local End.DT6 SID with PSD Flavor. It does not check the Segments Left value in SRH, but directly deletes the outer IPv6 header and all its extension headers to restore the inner original message. It searches the local routing table and forwards the original message to CE2. This automatically implements automatic protection switching when the main tail node/egress node PE2 fails.
  • Figure 19 is a schematic diagram of message forwarding for SRv6 Policy multi-home tail node/egress node failure protection (PE2 failure scenario) in an embodiment of the present disclosure.
  • Figure 19 shows message forwarding in a scenario where only the main tail node/egress node PE2 fails.
  • P1 reads the second backup SID A:4::B100 from the SL[0] position and modifies the destination address of the message to the second backup SID A:4::B100.
  • the P1 device continues to send the message to the second backup tail node/egress node PE4 according to the new destination address (second backup SID). If PE4 fails, the message is lost; if PE4 is normal, the message reaches the PE4 device.
  • the PE4 device finds that the destination A:4::B100 in the header of the received data packet is the local End.DT6SID, so it removes the outer IPv6 encapsulation, restores the inner original message, searches the routing table locally, and forwards the original message to the CE2 device, thereby automatically realizing automatic protection switching when the primary tail node/egress node PE2 and the first backup tail node/egress node PE3 fail at the same time.
  • FIG20 is a schematic diagram of message forwarding for SRv6 Policy multi-homing tail node/egress node failure protection in an embodiment of the present disclosure (a scenario where PE2 and PE3 fail at the same time).
  • FIG20 shows the main tail node/egress node. Message forwarding in the scenario where both PE2 and the first backup tail node/egress node PE3 fail at the same time.
  • Solution 2 Multiple home nodes/exit nodes protection mechanism
  • FIG18 is a schematic diagram of the network structure and SID allocation of each device in the embodiment of the present disclosure.
  • the network includes PE1, PE2, PE3, PE4, P1, P2, and P3 router devices, wherein VPN1 users include two sites, CE1 and CE2, and site CE2 is multi-homed to PE2, PE3, and PE4.
  • the traffic from CE1 to CE2 is carried through the SRv6 Policy tunnel, and the path information is as follows:
  • A:2::B100 is the VPN SID assigned to the VPN1 user by PE2
  • A:3::B100 is the VPN SID assigned to the VPN1 user by PE3
  • A:4::B100 is the VPN SID assigned to the VPN1 customer by PE4. That is, A:2::B100 is the primary service SID, A:3::B100 is the first backup SID, and A:4::B100 is the second backup SID.
  • the correspondence between the primary service SID and the backup SID of the VPN1 user is configured on the SRv6 Policy head node PE1.
  • PE1 When PE1 receives the message sent by CE1 and encapsulates the outer IPv6 header of the tunnel, it knows that VPN1 has a multi-homing protection tail node based on the locally configured backup SID information, so it sets the value of SRH.B-flag to 1 and adds the first backup SID A:3::B100 and the second backup SID A:4::B100 in descending order of priority after VPN SID A:2::B100 in segmentlist. That is, the first backup SID is encapsulated in SL[1] and the second backup SID is encapsulated in SL[0].
  • the PE1 device then executes the standard SRv6 Policy forwarding process.
  • the main tail node/egress node PE2 is operating normally
  • P1 forwards the message to the active tail node/egress node PE2 normally.
  • the active tail node/egress node PE2 fails.
  • the P1 device finds that the next SID in the segmentlist (primary VPN SID or Primary SID or Active SID A:2::B100) is unreachable and the SRH.B-flag in the message header is 1, so the device searches for the SID after the currently unreachable node in the SRH.segmentlist (primary VPN SID or Primary SID or Active SID) along the SRH.segmentlist path until the first reachable SID (that is, the reachable downstream node) is found.
  • PE3 If PE3 is normal, the node corresponding to the backup SID A:3::B100 is reachable, so P1 reads the first backup SID A:3::B100 from the SL[1] position and changes the destination address of the message to the first backup SID A:3::B100.
  • the P1 device continues to send the message to the first backup tail node/egress node PE3 according to the new destination address A:3::B100 (the first backup SID).
  • PE3 finds that the destination A:3::B100 in the header of the received data packet is the local End.DT6 SID, and the value of SRH.B-flag in the header is set to 1. It does not check the Segments Left value in SRH, but directly deletes the outer IPv6 header and all its extension headers to restore the inner original message. It searches the routing table locally and forwards the original message to CE2. This automatically implements automatic protection switching when the main tail node/egress node PE2 fails.
  • Figure 21 is a schematic diagram of message forwarding for SRv6 Policy multi-home tail node/egress node failure protection (PE2 failure scenario) in an embodiment of the present disclosure.
  • Figure 21 shows message forwarding in a scenario where only the main tail node/egress node PE2 fails.
  • P1 If PE4 is normal, the node corresponding to the backup SID A:4::B100 is reachable, P1 reads the second backup SID A:4::B100 from the SL[0] position, and modifies the destination address of the message to the second backup SID A:4::B100. The P1 device continues to send the message to the second backup tail node/egress node PE4 according to the new destination address (second backup SID).
  • the PE4 device finds that the destination A:4::B100 in the header of the received data packet is the local End.DT6SID, so it removes the outer IPv6 encapsulation, restores the inner original message, searches the routing table locally, and forwards the original message to the CE2 device, thereby automatically realizing automatic protection switching when the primary tail node/egress node PE2 and the first backup tail node/egress node PE3 fail at the same time.
  • Figure 22 is a schematic diagram of message forwarding for SRv6 Policy multi-home tail node/egress node failure protection in an embodiment of the present disclosure (a scenario where PE2 and PE3 fail at the same time).
  • Figure 22 shows message forwarding in a scenario where the primary tail node/egress node PE2 and the first backup tail node/egress node PE3 fail at the same time.
  • Solution 1 (including Solution 1-1 and Solution 1-2): SRv6 BE dual tail node/egress node protection mechanism
  • Figure 15 is a schematic diagram of the network structure and SID allocation of each device in the embodiment of the present disclosure, assuming that the network includes PE1, PE2, PE3, PE4, P1, P2, P3, P4 router devices.
  • VPN1 users include two sites CE1 and CE2, and site CE2 is dual-homed to PE2 and PE3, and the traffic from CE1 to CE2 is carried through the SRv6 BE tunnel.
  • A:3::B100 assigns VPN SID of VPN1 user to PE3 device
  • A:4::B100 assigns VPN SID of VPN1 customer to PE4 device, that is, A:3::B100 is the primary service SID, A:4::B100 is the backup SID, and the correspondence between the primary service SID and the backup SID of the VPN1 user is configured on the SRv6 Policy head node PE1 device.
  • PE1 receives the message sent by CE1. Based on the locally configured backup SID information, it knows that VPN1 has a dual-homing protection tail node. Therefore, when encapsulating the outer IPv6 header of the tunnel, it adds an SRH extension header with the active SID (primary VPN SID) A:3::B100 and the backup SID A:4::B100.
  • the primary VPN SID A:3::B100 is the VPN SID of the PSD Flavor or END.PSD SID.
  • PE1 uses the primary VPN SID A:3::B100 as the destination address in the outer IP header.
  • PE1 executes the standard SRv6 forwarding process. At this time, there are two situations:
  • the main tail node/egress node PE3 is operating normally.
  • Each node in the network forwards the message along PE1, P1, and P2 to the main tail node/exit node PE3 according to the destination address A:3::B100.
  • the PE3 device finds that the destination A:3::B100 in the message header of the received data packet is the VPN SID of the local PSD Flavor or the local END.PSD SID. It does not check the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, restores the inner original message, searches the routing table locally, and forwards the original message to the CE2 device.
  • PE1 finds that the destination address A:3::B100 is unreachable, so it searches for the SID after the currently unreachable node A:3::B100 (primary VPN SID or Primary SID or Active SID) in SRH.segmentlist in order until it finds the first reachable SID (i.e., the reachable downstream node).
  • PE1 If PE4 is normal, the node corresponding to the backup SID A:4::B100 is reachable, so PE1 reads the backup SID A:4::B100 from the SL[0] position and changes the destination address of the message to the backup SID A:4::B100.
  • the PE1 device continues to send the message to the backup tail node/egress node PE4 according to the new destination address A:4::B100 (backup SID).
  • Figure 23 is a schematic diagram of message forwarding for SRv6 BE dual-homing tail node/egress node failure protection (PE3 failure scenario) in an embodiment of the present disclosure.
  • Figure 23 shows message forwarding in the scenario of primary tail node/egress node PE3 failure.
  • the PE4 device finds that the destination A:4::B100 in the header of the received data packet is the local VPN SID, so it removes the outer IPv6 encapsulation, restores the inner original message, and forwards the original message to the CE2 device, thereby automatically realizing automatic protection switching when the main tail node/egress node PE2 fails.
  • Figure 15 is a schematic diagram of the network structure and SID allocation of each device in the embodiment of the present disclosure. It is assumed that the network includes PE1, PE2, PE3, PE4, P1, P2, P3, and P4 router devices, among which VPN1 users include two sites CE1 and CE2, and site CE2 is dual-homed to PE2 and PE3, and the traffic from CE1 to CE2 is carried through the SRv6 BE tunnel.
  • VPN1 users include two sites CE1 and CE2
  • site CE2 is dual-homed to PE2 and PE3, and the traffic from CE1 to CE2 is carried through the SRv6 BE tunnel.
  • A:3::B100 assigns VPN SID of VPN1 user to PE3 device
  • A:4::B100 assigns VPN SID of VPN1 customer to PE4 device, that is, A:3::B100 is the primary service SID, A:4::B100 is the backup SID, and the correspondence between the primary service SID and the backup SID of the VPN1 user is configured on the SRv6 Policy head node PE1 device.
  • VPN SID as END.DT6 SID.
  • PE1 receives the message sent by CE1. According to the locally configured backup SID information, it knows that VPN1 has a dual-home protection tail node. Therefore, when encapsulating the outer IPv6 header of the tunnel, it adds an SRH extension header with the active SID (primary VPN SID or Primary SID or Active SID) A:3::B100 and the backup SID A:4::B100, and sets the value of SRH.B-flag to 1.
  • the primary VPN SID A:3::B100 is used as the destination address of the external IP header.
  • PE1 executes the standard SRv6 forwarding process. At this time, there are two situations:
  • the main tail node/egress node PE3 is operating normally.
  • Each node in the network forwards the message along PE1, P1, and P2 to the main tail node/egress node PE3 according to the destination address A:3::B100.
  • the PE3 device finds that the destination A:3::B100 in the message header of the received data packet is the local End.DT6 SID and the SRH.B-flag in the message header is 1. It does not check the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, restores the inner original message, searches the routing table locally, and forwards the original message to the CE2 device.
  • PE1 finds that the destination address A:3::B100 is unreachable and the SRH.B-flag in the packet header is 1, so it searches for the SID after the currently unreachable node (primary VPN SID or Primary SID or Active SID) in SRH.segmentlist in order until it finds the first reachable SID (i.e., the reachable downstream node).
  • PE1 If PE4 is normal, the node corresponding to the backup SID A:4::B100 is reachable, so PE1 reads the backup SID A:4::B100 from the SL[0] position and changes the destination address of the message to the backup SID A:4::B100.
  • the PE1 device continues to send the message to the backup tail node/egress node PE4 according to the new destination address A:4::B100 (backup SID).
  • Figure 24 is a schematic diagram of message forwarding for SRv6 BE dual-homing tail node/egress node fault protection (PE3 fault scenario) in an embodiment of the present disclosure.
  • Figure 24 shows message forwarding in the scenario of primary tail node/egress node PE3 failure.
  • PE4 finds that the destination A:4::B100 in the header of the received data packet is the local End.DT6SID, so it removes the outer IPv6 encapsulation, restores the inner original message, searches the routing table locally, and forwards the original message to CE2, thereby automatically implementing automatic protection switching when the main tail node/egress node PE2 fails.
  • FIG25 is a schematic diagram of the composition structure of the message processing device of the embodiment of the present disclosure. As shown in FIG25, the device includes:
  • the first processing unit 251 is used to add an extension header to the first message, and encapsulate the first SID and the first information in the extension header to obtain a second message; wherein the first information includes at least one backup SID; or, add the first information to the extension header of the first message to obtain the second message; wherein the first information includes at least one backup SID.
  • the first processing unit 251 is configured to:
  • the encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
  • the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, including:
  • the encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
  • the encapsulation position of the backup SID is SL[0].
  • the device is further used for:
  • At least one backup SID in the first information is sorted according to the priority of the backup SID, and the backup SID with the lowest priority is encapsulated at the end of the first information.
  • the device is further used for:
  • the method further comprises:
  • the first SID is a SID of a first flavor or a SID of a first type
  • the remaining backup SIDs in the first information except the backup SID encapsulated in the last position in the first information are SIDs of the first flavor or SIDs of the first type.
  • At least one of the following is also included:
  • the first egress node is a primary tail node of SRv6;
  • the first SID is a SID allocated by the first egress node
  • the backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
  • the backup SID is a SID allocated by a protection node of the first egress node, including:
  • backup SIDs There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
  • the device is further used to: send the second message.
  • the first processing unit 251 can be implemented by a processor in a message processing device.
  • the message processing device provided in the above embodiment performs message processing
  • only the division of the above program modules is used as an example.
  • the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above.
  • the message processing device provided in the above embodiment and the message processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
  • FIG26 is a schematic diagram of the composition structure of the message processing device of the embodiment of the present disclosure. As shown in FIG26, The device comprises:
  • the first transceiver unit 261 is configured to receive a second message; wherein the second message includes a first SID and first information, and the first information includes at least one backup SID;
  • the second processing unit 262 is configured to change the destination address of the second message to a backup SID to obtain a third message when the node corresponding to the first SID is unreachable;
  • the first transceiver unit 261 is further configured to send the third message.
  • the second processing unit 262 is configured to:
  • the destination address of the second message is changed to a reachable backup SID.
  • changing the destination address of the second message to a reachable backup SID includes:
  • the value of the SL pointer is reduced by 1 successively until the node corresponding to the backup SID pointed to by the current pointer is reachable, and then the destination address of the second message is changed to the backup SID pointed to by the current pointer.
  • the first transceiver unit 261 can be implemented by a communication interface in the message processing device; the second processing unit 262 can be implemented by a processor in the message processing device.
  • the message processing device provided in the above embodiment performs message processing
  • only the division of the above program modules is used as an example.
  • the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above.
  • the message processing device provided in the above embodiment and the message processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
  • FIG27 is a schematic diagram of the composition structure of the message processing device of the embodiment of the present disclosure. As shown in FIG27, the device includes:
  • the second transceiver unit 271 is used to receive the second message or the third message
  • the third processing unit 272 is configured to remove the outer message header of the second message or the third message to obtain a fourth message when the destination address in the second message or the third message is the local SID of the second node and the destination address is the SID of the first flavor; and/or, in the second message or When the destination address in the third message is the local SID of the second node and the destination address is the SID of the first type, remove the outer message header of the second message or the third message to obtain a fourth message;
  • the second transceiver unit 273 is further configured to send the fourth message.
  • the destination address is the SID of the first behavior of the first flavor or the SID of the behavior type of the first behavior of the first flavor.
  • the removing the outer message header of the second message or the third message further includes:
  • the step of determining the value of the second information of the second message or the third message is not performed; the outer message header of the second message or the third message is removed;
  • the device is further used for:
  • the first type of SID includes:
  • the second line is the SID of (Behavior) or the second line is the SID of Behavior type.
  • removing the outer message header of the second message or the third message includes:
  • the second information is the segmentleft field information in the outer encapsulation message header SRH.
  • removing the outer message header of the second message or the third message includes:
  • the device is further used for:
  • the SID of the first flavor or the SID of the first type is advertised to the first node and/or the network device through a routing protocol.
  • the second transceiver unit 271 can be a communication interface in the message processing device.
  • the third processing unit 272 can be implemented by a processor in the message processing device.
  • the message processing device provided in the above embodiment performs message processing
  • only the division of the above program modules is used as an example.
  • the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above.
  • the message processing device provided in the above embodiment and the message processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
  • FIG28 is a schematic diagram of the composition structure of the message processing device of the embodiment of the present disclosure. As shown in FIG28, the device includes:
  • the fourth processing unit 281 is used to set the first bit in the first message to the first value, add an extension header to the first message, encapsulate the first SID and the first information in the extension header, and obtain a fifth message; wherein the first information includes at least one backup SID; or, set the first bit in the first message to the first value, and add the first information in the extension header of the first message to obtain a fifth message; wherein the first information includes at least one backup SID.
  • the first bit is at least one reserved bit of the first message.
  • adding an extension header to the first message, and encapsulating the first SID and the first information in the extension header includes:
  • the encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
  • the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, including:
  • the encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
  • the encapsulation position of the backup SID is SL[0].
  • the device is further used for:
  • At least one of the following is also included:
  • the first egress node is a primary tail node of SRv6;
  • the first SID is a SID allocated by the first egress node
  • the backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
  • the backup SID is a SID allocated by a protection node of the first egress node, including:
  • backup SIDs There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
  • the device is further used to: send the fifth message.
  • the fourth processing unit 281 can be implemented by a processor in a message processing device.
  • the message processing device provided in the above embodiment performs message processing
  • only the division of the above program modules is used as an example.
  • the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above.
  • the message processing device provided in the above embodiment and the message processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
  • FIG29 is a schematic diagram of the composition structure of the message processing device of the embodiment of the present disclosure. As shown in FIG29, the device includes:
  • the third transceiver unit 291 is configured to receive a fifth message; wherein the fifth message includes a first bit, a first SID, and first information, and the first information includes at least one backup SID;
  • a fifth processing unit 292 configured to change the destination address of the fifth message to a backup SID to obtain a sixth message when the node corresponding to the first SID is unreachable and the first bit is a first value;
  • the fifth transceiver unit is further used to send the sixth message.
  • changing the destination address of the fifth message to a backup SID includes:
  • the destination address of the fifth message is changed to a reachable backup SID.
  • changing the destination address of the fifth message to a reachable backup SID includes:
  • Subtract 1 from the value of the SL pointer, and change the destination address of the fifth message to the backup SID pointed to by the current pointer;
  • the value of the SL pointer is reduced by 1 successively until the node corresponding to the backup SID pointed to by the current pointer is reachable, and then the destination address of the fifth message is changed to the backup SID pointed to by the current pointer.
  • the third transceiver unit 291 can be implemented by a communication interface in the message processing device; the fifth processing unit 292 can be implemented by a processor in the message processing device.
  • the message processing device provided in the above embodiment performs message processing
  • only the division of the above program modules is used as an example.
  • the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above.
  • the message processing device provided in the above embodiment and the message processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
  • FIG30 is a schematic diagram of the composition structure of the message processing device of the embodiment of the present disclosure. As shown in FIG30, the device includes:
  • the fourth transceiver unit 301 is used to receive the fifth message or the sixth message;
  • a sixth processing unit 302 configured to, when the destination address in the fifth message or the sixth message is the local SID of the second node and the first bit in the fifth message or the sixth message is the first value, remove the outer message header of the fifth message or the sixth message to obtain a seventh message;
  • the sixth transceiver unit is further used to send the seventh message.
  • removing the outer message header of the second message or the third message further includes:
  • the step of determining the value of the third information of the fifth message or the sixth message is not performed; the outer message header of the fifth message or the sixth message is removed;
  • the value of the third information of the fifth message or the sixth message is at least one specific value; and remove the outer message header of the fifth message or the sixth message.
  • the device is further used for:
  • the third information is the segmentleft field information in the outer encapsulation message header SRH.
  • removing the outer message header of the fifth message or the sixth message includes:
  • the fourth transceiver unit 301 can be implemented by a communication interface in the message processing device; the sixth processing unit 302 can be implemented by a processor in the message processing device.
  • the message processing device provided in the above embodiment performs message processing
  • only the division of the above program modules is used as an example.
  • the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above.
  • the message processing device provided in the above embodiment and the message processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
  • the embodiment of the present disclosure further provides a network device, which may be the first node, the network node, or the second node as shown in FIG31 , including:
  • Communication interface 311, capable of exchanging information with other devices
  • the processor 312 is connected to the communication interface 311 and is used to execute the method provided by one or more technical solutions on the network device side when running the computer program.
  • the computer program is stored in the memory 313.
  • bus system 314 is used to realize the connection and communication between these components.
  • the bus system 314 also includes a power bus, a control bus and a status signal bus.
  • various buses are marked as bus system 314 in Figure 31.
  • the memory 313 in the embodiment of the present disclosure is used to store various types of data to support the network device Operation of network device 310.
  • Examples of such data include: any computer program for operating on network device 310.
  • the method disclosed in the above embodiment of the present disclosure can be applied to the processor 312, or implemented by the processor 312.
  • the processor 312 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit in the processor 312 or the instruction in the form of software.
  • the above processor 312 may be a general processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • DSP digital signal processor
  • the processor 312 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiment of the present disclosure.
  • the general processor may be a microprocessor or any conventional processor, etc.
  • the steps of the method disclosed in the embodiment of the present disclosure can be directly embodied as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a storage medium, which is located in the memory 313.
  • the processor 312 reads the information in the memory 313 and completes the steps of the above method in combination with its hardware.
  • the network device 310 can be implemented by one or more application specific integrated circuits (ASIC), DSP, programmable logic device (PLD), complex programmable logic device (CPLD), field programmable gate array (FPGA), general processor, controller, microcontroller (MCU), microprocessor, or other electronic components to execute the aforementioned method.
  • ASIC application specific integrated circuits
  • DSP digital signal processor
  • PLD programmable logic device
  • CPLD complex programmable logic device
  • FPGA field programmable gate array
  • general processor controller
  • controller microcontroller
  • microprocessor or other electronic components to execute the aforementioned method.
  • the memory (memory 313) of the embodiment of the present disclosure can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories.
  • the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a ferromagnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disk, or a compact disc read-only disk (CD-ROM).
  • ROM read-only memory
  • PROM programmable read-only memory
  • EPROM erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • FRAM ferromagnetic random access memory
  • flash memory a magnetic surface memory
  • CD-ROM Compact disc read-only disk
  • magnetic surface storage can be disk storage or tape storage.
  • Volatile memory can be random access memory (Random Access Memory, RAM), which is used as an external cache.
  • RAM random access memory
  • SRAM static random access memory
  • Synchronous Static Random Access Memory SSRAM
  • dynamic random access memory DRAM
  • synchronous dynamic random access memory Synchronous Dynamic Random Access Memory, SDRAM
  • double data rate synchronous dynamic random access memory Double Data Rate Synchronous Dynamic Random Access Memory, DDRSDRAM
  • enhanced synchronous dynamic random access memory Enhanced Synchronous Dynamic Random Access Memory, ESDRAM
  • synchronous connection dynamic random access memory SyncLink Dynamic Random Access Memory, SLDRAM
  • direct memory bus random access memory Direct Rambus Random Access Memory, DRRAM
  • the memory described in the embodiments of the present disclosure is intended to include but is not limited to these and any other suitable types of memory.
  • the embodiment of the present disclosure further provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, for example, a memory storing a computer program, and the computer program can be executed by the processor 312 of the network device 310 to complete the steps described in the aforementioned network device side method.
  • the computer-readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface storage, optical disk, or CD-ROM.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Provided in the present disclosure are a message processing method and apparatus, and a device and a storage medium. The method comprises: adding an extension header to a first message, and encapsulating a first segment ID (SID) and first information into the extension header, so as to obtain a second message, wherein the first information includes at least one backup SID; or, adding first information to an extension header of a first message, so as to obtain a second message, wherein the first information includes at least one backup SID.

Description

报文处理方法、装置、设备及存储介质Message processing method, device, equipment and storage medium
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请主张在2022年10月21日在中国提交的中国专利申请No.202211296073.0的优先权,其全部内容通过引用包含于此。This application claims priority to Chinese Patent Application No. 202211296073.0 filed in China on October 21, 2022, the entire contents of which are incorporated herein by reference.
技术领域Technical Field
本公开涉及无线通信技术领域,尤其涉及一种报文处理方法、装置、设备及存储介质。The present disclosure relates to the field of wireless communication technology, and in particular to a message processing method, device, equipment and storage medium.
背景技术Background technique
目前,网络在采用基于互联网协议第6版(Internet Protocol Version 6,IPv6)转发平面的段路由(Segment Routing over IPv6,SRv6)策略(Policy)技术为用户提供高质量连接服务时,一般会提供双运营商边缘(Provider Edge,PE)或多PE的多归属连接服务,各PE之间形成主备保护。在用户站点(Customer Edge,CE)多归接入的场景下,如果SRv6隧道的某个尾节点/出口节点出现故障,需实现用户无感知的自动倒换到其他尾节点/出口节点,否则会带来业务丢包,造成用户投诉。目前,SRv6尾节点故障保护的方案实现机制比较复杂。At present, when the network adopts the Segment Routing over IPv6 (SRv6) policy technology based on the Internet Protocol Version 6 (IPv6) forwarding plane to provide users with high-quality connection services, it generally provides dual-provider edge (Provider Edge, PE) or multi-PE multi-homing connection services, and forms active-standby protection between each PE. In the scenario of multi-homing access at the customer site (Customer Edge, CE), if a tail node/egress node of the SRv6 tunnel fails, it is necessary to achieve automatic switching to other tail nodes/egress nodes without user perception, otherwise it will cause service packet loss and cause user complaints. At present, the implementation mechanism of the SRv6 tail node failure protection solution is relatively complex.
发明内容Summary of the invention
有鉴于此,本公开实施例期望提供一种报文处理方法、装置、设备及存储介质。In view of this, the embodiments of the present disclosure hope to provide a message processing method, apparatus, device and storage medium.
本公开实施例的技术方案是这样实现的:The technical solution of the embodiment of the present disclosure is implemented as follows:
本公开实施例期望提供一种报文处理方法,应用于第一节点,所述第一节点为入口节点,所述方法包括:The embodiment of the present disclosure is intended to provide a message processing method, which is applied to a first node, where the first node is an ingress node, and the method includes:
在第一报文中增加扩展头,并将第一段标识(Segment ID,SID)和第一信息封装在所述扩展头中,得到第二报文;其中,所述第一信息包含至少一个备份SID; Adding an extension header to the first message, and encapsulating a first segment identifier (Segment ID, SID) and first information in the extension header to obtain a second message; wherein the first information includes at least one backup SID;
或者,or,
在第一报文的扩展头中增加第一信息,得到第二报文;其中,所述第一信息包含至少一个备份SID。First information is added to an extended header of a first message to obtain a second message; wherein the first information includes at least one backup SID.
此外,根据本公开的至少一个实施例,在所述第一报文中增加扩展头,并将第一SID和所述第一信息封装在所述扩展头中,包括:In addition, according to at least one embodiment of the present disclosure, adding an extension header to the first message, and encapsulating the first SID and the first information in the extension header, includes:
在第一报文的外层互联网协议第六版(Internet Protocol Version 6,IPv6)报文头中增加段路由头(Segment Routing Header,SRH),并将第一SID和所述第一信息封装在SRH的段列表(segmentlist)中;其中,A Segment Routing Header (SRH) is added to an outer layer Internet Protocol Version 6 (IPv6) header of the first message, and the first SID and the first information are encapsulated in a segment list (segmentlist) of the SRH; wherein,
第一信息的封装位置与第一SID的封装位置相邻。The encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
此外,根据本公开的至少一个实施例,所述第一信息的封装位置与第一SID的封装位置相邻,包括:In addition, according to at least one embodiment of the present disclosure, the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, including:
第一信息在段列表中的封装位置与第一SID在段列表中的封装位置相邻,且在第一SID的封装位置之后。The encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
此外,根据本公开的至少一个实施例,当第一信息为一个备份SID,则该备份SID的封装位置为SL[0]。In addition, according to at least one embodiment of the present disclosure, when the first information is a backup SID, the encapsulation position of the backup SID is SL[0].
此外,根据本公开的至少一个实施例,所述方法包括:In addition, according to at least one embodiment of the present disclosure, the method includes:
按照备份SID的优先级,对第一信息中的至少一个备份SID进行排序,最低优先级的备份SID封装在第一信息的最后。At least one backup SID in the first information is sorted according to the priority of the backup SID, and the backup SID with the lowest priority is encapsulated at the end of the first information.
此外,根据本公开的至少一个实施例,所述方法还包括:In addition, according to at least one embodiment of the present disclosure, the method further includes:
确定第一SID配置有备份SID。Determine that the first SID is configured with a backup SID.
此外,根据本公开的至少一个实施例,所述方法还包括:In addition, according to at least one embodiment of the present disclosure, the method further includes:
确定第一SID为第一风味(Flavor)的SID或第一类型的SID;Determine that the first SID is a SID of a first flavor or a SID of a first type;
确定第一信息中除封装在第一信息中最后位置的备份SID之外的其余备份SID为第一Flavor的SID或第一类型的SID。It is determined that the remaining backup SIDs in the first information except the backup SID encapsulated in the last position in the first information are SIDs of the first flavor or SIDs of the first type.
此外,根据本公开的至少一个实施例,所述第一类型的SID,包括:In addition, according to at least one embodiment of the present disclosure, the first type of SID includes:
第二行为(Behavior)的SID或第二行为(Behavior)类型的SID。The SID of the second behavior or the SID of the second behavior type.
此外,根据本公开的至少一个实施例,所述方法包括以下内容中的至少一个:In addition, according to at least one embodiment of the present disclosure, the method includes at least one of the following:
所述第一出口节点为SRv6的主用尾节点; The first egress node is a primary tail node of SRv6;
所述第一SID为第一出口节点分配的SID;The first SID is a SID allocated by the first egress node;
所述备份SID为第一出口节点的保护节点分配的SID;其中,所述保护节点为第一出口节点的备份出口节点。The backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
此外,根据本公开的至少一个实施例,所述备份SID为第一出口节点的保护节点分配的SID,包括:In addition, according to at least one embodiment of the present disclosure, the backup SID is a SID allocated by the protection node of the first egress node, including:
所述备份SID有多个,不同的备份SID是由第一出口节点的不同的保护节点分配的。There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
此外,根据本公开的至少一个实施例,所述方法还包括:发送所述第二报文。In addition, according to at least one embodiment of the present disclosure, the method further includes: sending the second message.
本公开的至少一个实施例提供了一种报文处理方法,应用于网络节点,所述方法包括:At least one embodiment of the present disclosure provides a message processing method, which is applied to a network node, and the method includes:
接收第二报文;其中,所述第二报文包括第一SID以及第一信息,所述第一信息包括至少一个备份SID;receiving a second message; wherein the second message includes a first SID and first information, and the first information includes at least one backup SID;
在第一SID对应的节点不可达时,将所述第二报文的目的地址改为备份SID,得到第三报文;When the node corresponding to the first SID is unreachable, the destination address of the second message is changed to a backup SID to obtain a third message;
发送所述第三报文。Send the third message.
此外,根据本公开的至少一个实施例,所述将所述第二报文的目的地址改为备份SID,包括:In addition, according to at least one embodiment of the present disclosure, the changing the destination address of the second message to a backup SID includes:
将所述第二报文的目的地址改为可达的备份SID。The destination address of the second message is changed to a reachable backup SID.
此外,根据本公开的至少一个实施例,将所述第二报文的目的地址改为可达的备份SID,包括:In addition, according to at least one embodiment of the present disclosure, changing the destination address of the second message to a reachable backup SID includes:
将SL指针的值减1,将所述第二报文的目的地址改为当前指针指向的备份SID;Decrease the value of the SL pointer by 1, and change the destination address of the second message to the backup SID pointed to by the current pointer;
或,or,
将SL指针的值逐次减1,直至当前指针指向的备份SID对应的节点可达,则将所述第二报文的目的地址改为当前指针指向的备份SID。The value of the SL pointer is reduced by 1 successively until the node corresponding to the backup SID pointed to by the current pointer is reachable, and then the destination address of the second message is changed to the backup SID pointed to by the current pointer.
本公开的至少一个实施例提供了一种报文处理方法,应用于第二节点,所述第二节点为出口节点,所述方法包括:At least one embodiment of the present disclosure provides a message processing method, which is applied to a second node, where the second node is an egress node, and the method includes:
接收第二报文或第三报文; receiving a second message or a third message;
在所述第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第一风味(Flavor)的SID时,移除所述第二报文或第三报文的外层报文头,得到第四报文;和/或,在所述第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第一类型的SID时,移除所述第二报文或第三报文的外层报文头,得到第四报文;When the destination address in the second message or the third message is the local SID of the second node, and the destination address is a SID of the first flavor, remove the outer message header of the second message or the third message to obtain a fourth message; and/or, when the destination address in the second message or the third message is the local SID of the second node, and the destination address is a SID of the first type, remove the outer message header of the second message or the third message to obtain a fourth message;
发送所述第四报文。Send the fourth message.
此外,根据本公开的至少一个实施例,所述该目的地址为第一风味(Flavor)的第一行为(behavior)的SID或第一风味(Flavor)的第一行为(behavior)类型的SID,In addition, according to at least one embodiment of the present disclosure, the destination address is a SID of a first behavior of a first flavor or a SID of a first behavior type of a first flavor.
进而,所述移除所述第二报文或第三报文的外层报文头,还包括:Furthermore, the removing the outer message header of the second message or the third message further includes:
在SRH处理流程中不执行对第二报文或第三报文的第二信息的值进行判断的步骤;移除所述第二报文或第三报文的外层报文头;In the SRH processing flow, the step of determining the value of the second information of the second message or the third message is not performed; the outer message header of the second message or the third message is removed;
和/或,and / or,
在SRH处理流程中确定第二报文或第三报文的第二信息的值为特定的至少一个值;移除所述第二报文或第三报文的外层报文头。In the SRH processing flow, determining that the value of the second information of the second message or the third message is at least one specific value; and removing the outer message header of the second message or the third message.
此外,根据本公开的至少一个实施例,所述方法还包括:In addition, according to at least one embodiment of the present disclosure, the method further includes:
在SRH处理流程中,确定第二报文或第三报文的第二信息的值不为特定的至少一个值时,发送问题信息并丢弃所述第二报文或第三报文。In the SRH processing flow, when it is determined that the value of the second information of the second message or the third message is not at least one specific value, problem information is sent and the second message or the third message is discarded.
此外,根据本公开的至少一个实施例,所述第一类型的SID,包括:In addition, according to at least one embodiment of the present disclosure, the first type of SID includes:
第二行为(Behavior)的SID或第二行为(Behavior)类型的SID。The SID of the second behavior or the SID of the second behavior type.
此外,根据本公开的至少一个实施例,所述移除所述第二报文或第三报文的外层报文头,包括:In addition, according to at least one embodiment of the present disclosure, removing the outer message header of the second message or the third message includes:
确定第二报文或第三报文的第二信息的值为特定的至少一个值;移除所述第二报文或第三报文的外层报文头。Determine that a value of second information of the second message or the third message is at least one specific value; and remove an outer message header of the second message or the third message.
此外,根据本公开的至少一个实施例,所述第二信息为外层封装报文头SRH中的segmentleft字段信息。In addition, according to at least one embodiment of the present disclosure, the second information is the segmentleft field information in the outer encapsulation message header SRH.
此外,根据本公开的至少一个实施例,所述移除所述第二报文或第三报文的外层报文头,包括:In addition, according to at least one embodiment of the present disclosure, removing the outer message header of the second message or the third message includes:
移除所述第二报文或第三报文的外层封装IPv6头及其所有扩展头;或, Removing the outer encapsulation IPv6 header and all extension headers of the second message or the third message; or,
删除所述第二报文或第三报文的外层封装IPv6头及其所有扩展头;或,Deleting the outer encapsulation IPv6 header and all extension headers of the second message or the third message; or,
解封装所述第二报文或第三报文的外层IPv6头及其所有扩展头。Decapsulate the outer IPv6 header and all extension headers of the second message or the third message.
此外,根据本公开的至少一个实施例,所述方法还包括:In addition, according to at least one embodiment of the present disclosure, the method further includes:
所述第一风味的SID或所述第一类型的SID通过路由协议通告给第一节点和/或网络设备。The SID of the first flavor or the SID of the first type is advertised to the first node and/or the network device through a routing protocol.
本公开的至少一个实施例提供了一种报文处理方法,应用于第一节点,所述第一节点为入口节点,所述方法包括:At least one embodiment of the present disclosure provides a message processing method, which is applied to a first node, where the first node is an ingress node, and the method includes:
将第一报文中的第一比特位进行置位为第一数值,并在第一报文中增加扩展头,将第一SID和第一信息封装在所述扩展头中,得到第五报文;其中,所述第一信息包含至少一个备份SID;Setting the first bit in the first message to a first value, adding an extension header to the first message, encapsulating the first SID and the first information in the extension header, and obtaining a fifth message; wherein the first information includes at least one backup SID;
或者,or,
将第一报文中的第一比特位进行置位为第一数值,并在第一报文的扩展头中增加第一信息,得到第五报文;其中,所述第一信息包含至少一个备份SID。A first bit in the first message is set to a first value, and first information is added to an extended header of the first message to obtain a fifth message; wherein the first information includes at least one backup SID.
此外,根据本公开的至少一个实施例,所述第一比特位为所述第一报文的至少一个预留比特位。In addition, according to at least one embodiment of the present disclosure, the first bit is at least one reserved bit of the first message.
此外,根据本公开的至少一个实施例,在所述第一报文中增加扩展头,并将第一SID和所述第一信息封装在所述扩展头中,包括:In addition, according to at least one embodiment of the present disclosure, adding an extension header to the first message, and encapsulating the first SID and the first information in the extension header, includes:
在第一报文的外层IPv6报文头中增加段路由头(SRH),并将第一SID和所述第一信息封装在SRH的段列表(segmentlist)中;其中,Add a segment routing header (SRH) to the outer IPv6 header of the first message, and encapsulate the first SID and the first information in a segment list (segmentlist) of the SRH; wherein,
第一信息的封装位置与第一SID的封装位置相邻。The encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
此外,根据本公开的至少一个实施例,所述第一信息的封装位置与第一SID的封装位置相邻,包括:In addition, according to at least one embodiment of the present disclosure, the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, including:
第一信息在段列表中的封装位置与第一SID在段列表中的封装位置相邻,且在第一SID的封装位置之后。The encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
此外,根据本公开的至少一个实施例,当第一信息为一个备份SID,则该备份SID的封装位置为SL[0]。In addition, according to at least one embodiment of the present disclosure, when the first information is a backup SID, the encapsulation position of the backup SID is SL[0].
此外,根据本公开的至少一个实施例,所述方法还包括:In addition, according to at least one embodiment of the present disclosure, the method further includes:
确定第一SID配置有备份SID。 Determine that the first SID is configured with a backup SID.
此外,根据本公开的至少一个实施例,所述方法包括以下内容中的至少一个:In addition, according to at least one embodiment of the present disclosure, the method includes at least one of the following:
所述第一出口节点为SRv6的主用尾节点;The first egress node is a primary tail node of SRv6;
所述第一SID为第一出口节点分配的SID;The first SID is a SID allocated by the first egress node;
所述备份SID为第一出口节点的保护节点分配的SID;其中,所述保护节点为第一出口节点的备份出口节点。The backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
此外,根据本公开的至少一个实施例,所述备份SID为第一出口节点的保护节点分配的SID,包括:In addition, according to at least one embodiment of the present disclosure, the backup SID is a SID allocated by the protection node of the first egress node, including:
所述备份SID有多个,不同的备份SID是由第一出口节点的不同的保护节点分配的。There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
此外,根据本公开的至少一个实施例,所述方法还包括:发送所述第五报文。In addition, according to at least one embodiment of the present disclosure, the method further includes: sending the fifth message.
本公开的至少一个实施例提供了一种报文处理方法,应用于网络节点,所述方法包括:At least one embodiment of the present disclosure provides a message processing method, which is applied to a network node, and the method includes:
接收第五报文;其中,所述第五报文包括第一比特位、第一SID以及第一信息,第一信息包括至少一个备份SID;Receive a fifth message; wherein the fifth message includes a first bit, a first SID, and first information, and the first information includes at least one backup SID;
在第一SID对应的节点不可达且所述第一比特位为第一数值时,将所述第五报文的目的地址改为备份SID,得到第六报文;When the node corresponding to the first SID is unreachable and the first bit is the first value, changing the destination address of the fifth message to a backup SID to obtain a sixth message;
发送所述第六报文。Send the sixth message.
此外,根据本公开的至少一个实施例,所述将所述第五报文的目的地址改为备份SID,包括:In addition, according to at least one embodiment of the present disclosure, the changing the destination address of the fifth message to a backup SID includes:
将所述第五报文的目的地址改为可达的备份SID。The destination address of the fifth message is changed to a reachable backup SID.
此外,根据本公开的至少一个实施例,将所述第五报文的目的地址改为可达的备份SID,包括:In addition, according to at least one embodiment of the present disclosure, changing the destination address of the fifth message to a reachable backup SID includes:
将SL指针的值减1,将所述第五报文的目的地址改为当前指针指向的备份SID;Subtract 1 from the value of the SL pointer, and change the destination address of the fifth message to the backup SID pointed to by the current pointer;
或,or,
将SL指针的值逐次减1,直至当前指针指向的备份SID对应的节点可达,则将所述第五报文的目的地址改为当前指针指向的备份SID。 The value of the SL pointer is reduced by 1 successively until the node corresponding to the backup SID pointed to by the current pointer is reachable, and then the destination address of the fifth message is changed to the backup SID pointed to by the current pointer.
本公开的至少一个实施例提供了一种报文处理方法,应用于第二节点,所述第二节点为出口节点,所述方法包括:At least one embodiment of the present disclosure provides a message processing method, which is applied to a second node, where the second node is an egress node, and the method includes:
接收第五报文或第六报文;receiving the fifth message or the sixth message;
在所述第五报文或第六报文中目的地址为第二节点的本地SID,且第五报文或第六报文中的第一比特位为第一数值时,移除所述第五报文或第六报文的外层报文头,得到第七报文;When the destination address in the fifth message or the sixth message is the local SID of the second node and the first bit in the fifth message or the sixth message is the first value, remove the outer message header of the fifth message or the sixth message to obtain a seventh message;
发送所述第七报文。The seventh message is sent.
此外,根据本公开的至少一个实施例,所述移除所述第二报文或第三报文的外层报文头,还包括:In addition, according to at least one embodiment of the present disclosure, the removing the outer message header of the second message or the third message further includes:
在SRH处理流程中不执行对第五报文或第六报文的第三信息的值进行判断的步骤;移除所述第五报文或第六报文的外层报文头;In the SRH processing flow, the step of determining the value of the third information of the fifth message or the sixth message is not performed; the outer message header of the fifth message or the sixth message is removed;
和/或,and / or,
在SRH处理流程中确定第五报文或第六报文的第三信息的值为特定的至少一个值;移除所述第五报文或第六报文的外层报文头。In the SRH processing flow, determine that the value of the third information of the fifth message or the sixth message is at least one specific value; and remove the outer message header of the fifth message or the sixth message.
此外,根据本公开的至少一个实施例,所述方法还包括:In addition, according to at least one embodiment of the present disclosure, the method further includes:
在SRH处理流程中,确定第五报文或第六报文的第三信息的值不为特定的至少一个值时,发送问题信息并丢弃所述第五报文或第六报文。In the SRH processing flow, when it is determined that the value of the third information of the fifth message or the sixth message is not at least one specific value, a problem message is sent and the fifth message or the sixth message is discarded.
此外,根据本公开的至少一个实施例,所述第三信息为外层封装报文头SRH中的segmentleft字段信息。In addition, according to at least one embodiment of the present disclosure, the third information is the segmentleft field information in the outer encapsulation message header SRH.
此外,根据本公开的至少一个实施例,所述移除所述第五报文或第六报文的外层报文头,包括:In addition, according to at least one embodiment of the present disclosure, removing the outer message header of the fifth message or the sixth message includes:
移除所述第五报文或第六报文的外层封装IPv6头及其所有扩展头;或,Removing the outer encapsulation IPv6 header and all extension headers of the fifth message or the sixth message; or,
删除所述第五报文或第六报文的外层封装IPv6头及其所有扩展头;或,Deleting the outer encapsulation IPv6 header and all extension headers of the fifth message or the sixth message; or,
解封装所述第五报文或第六报文的外层IPv6头及其所有扩展头。Decapsulate the outer IPv6 header and all extension headers of the fifth or sixth message.
本公开的至少一个实施例提供了一种报文处理装置,包括:At least one embodiment of the present disclosure provides a message processing device, including:
第一处理单元,用于在第一报文中增加扩展头,并将第一SID和第一信息封装在所述扩展头中,得到第二报文;其中,所述第一信息包含至少一个备份SID;或者,在第一报文的扩展头中增加第一信息,得到第二报文;其中,所述第一信息包含至少一个备份SID。 The first processing unit is used to add an extension header to the first message, and encapsulate the first SID and the first information in the extension header to obtain a second message; wherein the first information includes at least one backup SID; or, add the first information to the extension header of the first message to obtain the second message; wherein the first information includes at least one backup SID.
本公开的至少一个实施例提供了一种报文处理装置,包括:At least one embodiment of the present disclosure provides a message processing device, including:
第一收发单元,用于接收第二报文;其中,所述第二报文包括第一SID以及第一信息,所述第一信息包括至少一个备份SID;A first transceiver unit, configured to receive a second message; wherein the second message includes a first SID and first information, and the first information includes at least one backup SID;
第二处理单元,用于在第一SID对应的节点不可达时,将所述第二报文的目的地址改为备份SID,得到第三报文;A second processing unit, configured to change the destination address of the second message to a backup SID to obtain a third message when the node corresponding to the first SID is unreachable;
所述第一收发单元,还用于发送所述第三报文。The first transceiver unit is further used to send the third message.
本公开的至少一个实施例提供了一种报文处理装置,包括:At least one embodiment of the present disclosure provides a message processing device, including:
第二收发单元,用于接收第二报文或第三报文;A second transceiver unit, used to receive a second message or a third message;
第三处理单元,用于在所述第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第一风味(Flavor)的SID时,移除所述第二报文或第三报文的外层报文头,得到第四报文;和/或,在所述第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第一类型的SID时,移除所述第二报文或第三报文的外层报文头,得到第四报文;a third processing unit, configured to, when the destination address in the second message or the third message is the local SID of the second node and the destination address is a SID of the first flavor, remove the outer message header of the second message or the third message to obtain a fourth message; and/or, when the destination address in the second message or the third message is the local SID of the second node and the destination address is a SID of the first type, remove the outer message header of the second message or the third message to obtain a fourth message;
本公开的至少一个实施例提供了一种报文处理装置,包括:At least one embodiment of the present disclosure provides a message processing device, including:
第四处理单元,用于将第一报文中的第一比特位进行置位为第一数值,并在第一报文中增加扩展头,将第一SID和第一信息封装在所述扩展头中,得到第五报文;其中,所述第一信息包含至少一个备份SID;或者,将第一报文中的第一比特位进行置位为第一数值,并在第一报文的扩展头中增加第一信息,得到第五报文;其中,所述第一信息包含至少一个备份SID。The fourth processing unit is used to set the first bit in the first message to the first value, add an extension header to the first message, encapsulate the first SID and the first information in the extension header, and obtain a fifth message; wherein the first information includes at least one backup SID; or, set the first bit in the first message to the first value, and add the first information to the extension header of the first message to obtain a fifth message; wherein the first information includes at least one backup SID.
本公开的至少一个实施例提供了一种报文处理装置,包括:At least one embodiment of the present disclosure provides a message processing device, including:
第三收发单元,用于接收第五报文;其中,所述第五报文包括第一比特位、第一SID以及第一信息,第一信息包括至少一个备份SID;A third transceiver unit, configured to receive a fifth message; wherein the fifth message includes a first bit, a first SID, and first information, and the first information includes at least one backup SID;
第五处理单元,用于在第一SID对应的节点不可达且所述第一比特位为第一数值时,将所述第五报文的目的地址改为备份SID,得到第六报文;A fifth processing unit, configured to change the destination address of the fifth message to a backup SID to obtain a sixth message when the node corresponding to the first SID is unreachable and the first bit is a first value;
所述第五收发单元,还用于发送所述第六报文。The fifth transceiver unit is further used to send the sixth message.
本公开的至少一个实施例提供了一种报文处理装置,包括:At least one embodiment of the present disclosure provides a message processing device, including:
第四收发单元,用于接收第五报文或第六报文;A fourth transceiver unit, configured to receive a fifth message or a sixth message;
第六处理单元,用于在所述第五报文或第六报文中目的地址为第二节点的本地SID,且第五报文或第六报文中的第一比特位为第一数值时,移除所 述第五报文或第六报文的外层报文头,得到第七报文;a sixth processing unit, configured to, when the destination address in the fifth message or the sixth message is the local SID of the second node and the first bit in the fifth message or the sixth message is the first value, remove the The outer message header of the fifth message or the sixth message is used to obtain a seventh message;
所述第六收发单元,还用于发送所述第七报文。The sixth transceiver unit is further used to send the seventh message.
本公开的至少一个实施例提供一种网络设备,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器,At least one embodiment of the present disclosure provides a network device, including a processor and a memory for storing a computer program that can be run on the processor.
其中,所述处理器用于运行所述计算机程序时,执行上述任一所述方法的步骤。Wherein, when the processor is used to run the computer program, it executes the steps of any of the above methods.
本公开的至少一个实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。At least one embodiment of the present disclosure provides a storage medium having a computer program stored thereon, wherein the computer program implements the steps of any of the above methods when executed by a processor.
本公开实施例提供的信息传输方法、装置、设备及存储介质,在第一报文中增加扩展头,并将第一SID和第一信息封装在所述扩展头中,得到第二报文;其中,所述第一信息包含至少一个备份SID;或者,在第一报文的扩展头中增加第一信息,得到第二报文;其中,所述第一信息包含至少一个备份SID。采用本公开实施例提供的技术方案,提供了一种简化的尾节点/出口节点保护机制,通过扩展数据平面,即可实现多归接入场景下的SRv6尾节点/出口节点故障时快速路径的切换保护。The information transmission method, apparatus, device and storage medium provided by the embodiments of the present disclosure add an extension header to the first message, and encapsulate the first SID and the first information in the extension header to obtain a second message; wherein the first information includes at least one backup SID; or, add the first information to the extension header of the first message to obtain a second message; wherein the first information includes at least one backup SID. The technical solution provided by the embodiments of the present disclosure provides a simplified tail node/egress node protection mechanism, which can realize fast path switching protection when the SRv6 tail node/egress node fails in a multi-homing access scenario by extending the data plane.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1是相关技术中SRv6 SID格式的示意图;FIG1 is a schematic diagram of the SRv6 SID format in the related art;
图2是本公开实施例报文处理方法的实现流程示意图一;FIG2 is a schematic diagram of a first implementation flow of a message processing method according to an embodiment of the present disclosure;
图3是本公开实施例分配备份SID的示意图;FIG3 is a schematic diagram of allocating backup SIDs according to an embodiment of the present disclosure;
图4是本公开实施例所述第一信息的封装位置的示意图;FIG4 is a schematic diagram of the packaging position of the first information in an embodiment of the present disclosure;
图5是本公开实施例对所述第一信息中的至少一个备份SID进行排序的示意图一;FIG5 is a schematic diagram 1 of sorting at least one backup SID in the first information according to an embodiment of the present disclosure;
图6是本公开实施例对所述第一信息中的至少一个备份SID进行排序的示意图二;FIG6 is a second schematic diagram of sorting at least one backup SID in the first information according to an embodiment of the present disclosure;
图7是本公开实施例报文处理方法的实现流程示意图二;FIG7 is a second schematic diagram of the implementation flow of the message processing method according to an embodiment of the present disclosure;
图8是本公开实施例将所述第二报文的目的地址改为备份SID的示意图;8 is a schematic diagram of an embodiment of the present disclosure in which the destination address of the second message is changed to a backup SID;
图9是本公开实施例报文处理方法的实现流程示意图三;FIG9 is a third schematic diagram of the implementation flow of the message processing method according to an embodiment of the present disclosure;
图10是本公开实施例报文处理方法的实现流程示意图四; FIG10 is a fourth schematic diagram of the implementation flow of the message processing method according to an embodiment of the present disclosure;
图11是本公开实施例IPv6 SRH中的Flags字段的示意图一;FIG11 is a schematic diagram 1 of the Flags field in the IPv6 SRH according to an embodiment of the present disclosure;
图12是本公开实施例IPv6 SRH中的Flags字段的示意图二;FIG12 is a second schematic diagram of the Flags field in the IPv6 SRH in an embodiment of the present disclosure;
图13是本公开实施例报文处理方法的实现流程示意图五;FIG13 is a schematic diagram of a fifth implementation flow of a message processing method according to an embodiment of the present disclosure;
图14是本公开实施例报文处理方法的实现流程示意图六;FIG14 is a sixth schematic diagram of the implementation flow of the message processing method according to an embodiment of the present disclosure;
图15是本公开实施例网络组网结构及各设备SID分配示意图一;FIG15 is a schematic diagram of a network structure and SID allocation of each device according to an embodiment of the present disclosure;
图16是本公开实施例SRv6 Policy双归尾节点/出口节点故障保护的报文转发示意图一;FIG16 is a schematic diagram 1 of message forwarding for SRv6 Policy dual homing node/egress node failure protection according to an embodiment of the present disclosure;
图17是本公开实施例SRv6 Policy双归尾节点/出口节点故障保护的报文转发示意图二;FIG17 is a second schematic diagram of message forwarding for SRv6 Policy dual homing node/egress node failure protection according to an embodiment of the present disclosure;
图18是本公开实施例网络组网结构及各设备SID分配示意图二;FIG18 is a second schematic diagram of the network structure and SID allocation of each device according to an embodiment of the present disclosure;
图19是本公开实施例SRv6 Policy多归尾节点/出口节点故障保护的报文转发示意图一;FIG19 is a schematic diagram 1 of message forwarding for SRv6 Policy multi-home node/egress node failure protection according to an embodiment of the present disclosure;
图20是本公开实施例SRv6 Policy多归尾节点/出口节点故障保护的报文转发示意图二;FIG20 is a second schematic diagram of message forwarding for SRv6 Policy multi-home node/egress node failure protection according to an embodiment of the present disclosure;
图21是本公开实施例SRv6 Policy多归尾节点/出口节点故障保护的报文转发示意图三;FIG21 is a third schematic diagram of message forwarding for SRv6 Policy multi-home node/egress node failure protection according to an embodiment of the present disclosure;
图22是本公开实施例SRv6 Policy多归尾节点/出口节点故障保护的报文转发示意图四;FIG22 is a fourth schematic diagram of message forwarding for SRv6 Policy multi-home node/egress node failure protection according to an embodiment of the present disclosure;
图23是本公开实施例SRv6 BE双归尾节点/出口节点故障保护的报文转发示意图一;FIG23 is a schematic diagram 1 of message forwarding for SRv6 BE dual homing node/egress node failure protection according to an embodiment of the present disclosure;
图24是本公开实施例SRv6 BE双归尾节点/出口节点故障保护的报文转发示意图二;FIG24 is a second schematic diagram of message forwarding for SRv6 BE dual homing node/egress node failure protection according to an embodiment of the present disclosure;
图25是本公开实施例报文处理装置的组成结构示意图一;FIG25 is a schematic diagram of the first structure of the message processing device according to an embodiment of the present disclosure;
图26是本公开实施例报文处理装置的组成结构示意图二;FIG26 is a second schematic diagram of the composition structure of the message processing device according to an embodiment of the present disclosure;
图27是本公开实施例报文处理装置的组成结构示意图三;FIG27 is a third schematic diagram of the composition structure of the message processing device according to an embodiment of the present disclosure;
图28是本公开实施例报文处理装置的组成结构示意图四;FIG28 is a fourth schematic diagram of the composition structure of the message processing device according to an embodiment of the present disclosure;
图29是本公开实施例报文处理装置的组成结构示意图五;FIG29 is a fifth structural diagram of the message processing device according to an embodiment of the present disclosure;
图30是本公开实施例报文处理装置的组成结构示意图六;FIG30 is a sixth schematic diagram of the composition structure of the message processing device according to an embodiment of the present disclosure;
图31是本公开实施例网络设备的组成结构示意图。 FIG. 31 is a schematic diagram of the composition structure of the network device according to an embodiment of the present disclosure.
具体实施方式Detailed ways
在对本公开实施例的技术方案进行介绍之前,先对相关技术进行说明。Before introducing the technical solution of the embodiment of the present disclosure, the related technology is first explained.
相关技术中,SRv6 Policy是一种源路由隧道技术,在IPv6报文中引入了一个SRv6扩展头,即Segment Routing Header(SRH),通过在头结点封装一个有序的段(Segment)列表来形成SRv6路径,如Segmentlist<SID1、SID2、…SIDn>,指导用户报文沿着SID1到SIDn的指定路径在网络中转发。RFC8986中对SRv6 SID的格式做了明确定义,SRv6 SID是一种特殊的IPv6地址,既有普通IPv6地址的路由能力,又有SRv6特有的行为能力。In related technologies, SRv6 Policy is a source routing tunnel technology that introduces an SRv6 extension header, Segment Routing Header (SRH), into IPv6 packets. It forms an SRv6 path by encapsulating an ordered segment list at the header node, such as Segmentlist<SID1, SID2, ... SIDn>, to guide user packets to be forwarded in the network along the specified path from SID1 to SIDn. RFC8986 clearly defines the format of SRv6 SID. SRv6 SID is a special IPv6 address that has both the routing capability of a common IPv6 address and the behavior capability unique to SRv6.
图1是相关技术中SRv6 SID格式的示意图,如图1所示,SRv6 SID由定位(Locator)、功能(Function)以及参数(Argument)三部分组成,共128bit。Locator具有定位功能,所以一般要在SR域内唯一,网络里其他节点通过Locator网段路由就可以定位到本节点,同时本节点发布的所有SRv6 SID也都可以通过该条Locator网段路由到达。Function代表设备的指令(Instruction),这些指令都由设备预先设定,Function部分用于指示SRv6SID的生成节点进行相应的功能操作。Function部分还可以分出一个可选的参数段(Arguments),此时SRv6 SID的格式变为Locator:Function:Arguments,Arguments占据IPv6地址的低比特位,通过Arguments字段可以定义一些报文的流和服务等信息。FIG1 is a schematic diagram of the SRv6 SID format in the related art. As shown in FIG1, the SRv6 SID consists of three parts: locator, function, and argument, totaling 128 bits. The Locator has a positioning function, so it is generally unique within the SR domain. Other nodes in the network can locate this node through the Locator network segment route. At the same time, all SRv6 SIDs published by this node can also be reached through the Locator network segment route. Function represents the device's instructions, which are pre-set by the device. The Function part is used to instruct the SRv6 SID generation node to perform corresponding functional operations. The Function part can also be divided into an optional parameter segment (Arguments). At this time, the format of the SRv6 SID becomes Locator: Function: Arguments. Arguments occupy the low bits of the IPv6 address. The Arguments field can be used to define some message flows and services.
表1是SRv6 SID的各种行为(Behavior)类型,不同行为(Behavior)的SRv6 SID代表不同的功能。"行为(Behavior)"标识了与SID绑定的行为,表1列出了一系列可以与SID相关联的行为(Behavior),表1的第一列为各种行为(Behavior)类型的SID的名称,表1的第二列为该行为(Behavior)类型的SID的作用。Table 1 shows the various behavior types of SRv6 SIDs. SRv6 SIDs with different behaviors represent different functions. "Behavior" identifies the behavior bound to the SID. Table 1 lists a series of behaviors that can be associated with the SID. The first column of Table 1 is the name of the SID of various behavior types, and the second column of Table 1 is the function of the SID of the behavior type.
表1

Table 1

节点在控制平面公布SID,该SID相关联的行为(Behavior)值与该SID在控制平面一起被公布。The node publishes the SID on the control plane, and the behavior value associated with the SID is published together with the SID on the control plane.
表2是RFC8986定义的3种Flavor类型。Table 2 shows the three flavor types defined in RFC8986.
表2
Table 2
表2中,第一列为Flavor名称,第二列是Flavor指示的动作。Flavor通常是Behavior的变种,这里的变种可以理解为是对某一个或多个Behavior类型的SID绑定的行为进行修改或补充或叠加。例如,An End.X SID with PSP Flavor表示End.X行为类型的SID的SRH处理被修改: In Table 2, the first column is the flavor name, and the second column is the action indicated by the flavor. Flavor is usually a variant of Behavior. The variant here can be understood as a modification, supplement or superposition of the behavior bound to one or more Behavior type SIDs. For example, An End.X SID with PSP Flavor means that the SRH processing of the End.X behavior type SID is modified:
具体来说:End.X行为的SRH处理流程如下:Specifically, the SRH processing flow of the End.X behavior is as follows:
S01.当一个SRH被处理时(When an SRH is processed){S01. When an SRH is processed
S02.如果(Segments Left==0)(If(Segments Left==0)){S02. If (Segments Left == 0) {
S03.停止处理SRH,并继续处理数据包中的下一个头,其类型由路由头中的“下一个头”字段标识(Stop processing the SRH,and proceed to process the next header in the packet,whose type is identified by the Next Header field in the routing header).S03. Stop processing the SRH, and proceed to process the next header in the packet, whose type is identified by the Next Header field in the routing header.
S04.  }S04.
S05.如果(IPv6跃点限制<=1)(If(IPv6 Hop Limit<=1)){S05. If (IPv6 Hop Limit <= 1) {
S06.向代码为0的源地址发送ICMP超时消息(传输中超过跃点限制),中断数据包处理并丢弃数据包(Send an ICMP Time Exceeded message to the Source Address with Code 0(Hop limit exceeded in transit),interrupt packet processing,and discard the packet).S06. Send an ICMP Time Exceeded message to the Source Address with Code 0 (Hop limit exceeded in transit), interrupt packet processing, and discard the packet.
S07.  }S07.
S08.max_LE=(Hdr Ext Len/2)-1S08.max_LE=(Hdr Ext Len/2)-1
S09.如果((Last Entry>max_LE)或(Segments Left>Last Entry+1))(If((Last Entry>max_LE)or(Segments Left>Last Entry+1))){S09.If((Last Entry>max_LE)or(Segments Left>Last Entry+1))(If((Last Entry>max_LE)or(Segments Left>Last Entry+1))){
S10.向源地址发送ICMP参数问题,代码为0(遇到错误头部字段),指针设置为“剩余分段索引值”字段,中断数据包处理并丢弃数据包(Send an ICMP Parameter Problem to the Source Address with Code 0(Erroneous header field encountered)and Pointer set to the Segments Left field,interrupt packet processing,and discard the packet).S10. Send an ICMP Parameter Problem to the Source Address with Code 0 (Erroneous header field encountered) and Pointer set to the Segments Left field, interrupt packet processing, and discard the packet.
S11.  }S11.
S12.  将IPv6跃点限制减少1(Decrement IPv6 Hop Limit by 1)S12. Decrement IPv6 Hop Limit by 1
S13.  将剩余分段索引值递减1(Decrement Segments Left by 1)S13. Decrement Segments Left by 1
S14.  使用段列表更新IPv6 DA[剩余分段索引值](Update IPv6 DA with Segment List[Segments Left])S14. Update IPv6 DA with Segment List[Segments Left]
S15.  将数据包提交给IPv6模块,以便通过J的成员传输到新的目的地(Submit the packet to the IPv6 module for transmission to the new destination  via a member of J)S15. Submit the packet to the IPv6 module for transmission to the new destination through the members of J. via a member of J)
S16.}S16.}
具体的修改行为是指:在执行"S14.Update IPv6 DA with Segment List[Segments Left]"指令后,还必须叠加执行以下指令:The specific modification behavior is: after executing the "S14.Update IPv6 DA with Segment List [Segments Left]" command, you must also execute the following commands:
S14.1.如果(Segments Left==0)(If(Segments Left==0)){S14.1. If (Segments Left == 0) {
S14.2.将上一个头中的下一个头字段更新为SRH中的“下一个头”值(Update the Next Header field in the preceding header to the Next Header value from the SRH)S14.2. Update the Next Header field in the preceding header to the Next Header value from the SRH.
S14.3.将IPv6头有效负载长度减少8*(Hdr Ext Len+1)(Decrease the IPv6header Payload Length by 8*(Hdr Ext Len+1))S14.3. Decrease the IPv6 header Payload Length by 8*(Hdr Ext Len+1)
S14.4.从IPv6扩展头链中删除SRH(Remove the SRH from the IPv6extension header chain)S14.4. Remove the SRH from the IPv6 extension header chain
S14.5.}S14.5.}
S14.1.如果(Segments Left==0){S14.1.if (Segments Left == 0) {
S14.2.将前面的头中的下一个头字段更新为SRH中的下一个头值。S14.2. Update the Next Header field in the previous header to the Next Header value in the SRH.
S14.3.将IPv6头的有效载荷长度减少8*(Hdr Ext Len+1)S14.3. Reduce the payload length of the IPv6 header by 8*(Hdr Ext Len+1)
S14.4.从IPv6扩展头链中删除SRH(注意:并没有删除全部的外层IPv6报头)S14.4. Delete the SRH from the IPv6 extension header chain (note: the entire outer IPv6 header is not deleted)
S14.5.}S14.5.}
隧道路径Segmentlist可以用节点SID(End SID)编排,也可以用邻接SID(End.X SID)进行编排。当路径中每一跳SID都使用邻接SID时,则该隧道路径就是一条严格路径,每一跳都指定了;当路径中有些SID使用的是节点SID时,则该隧道路径是一跳松散的路径,因为两节点之间可能会有不同的可达链路。当前网络在采用SRv6 Policy技术为用户提供高质量连接服务时,一般会提供双PE或多PE的多归属连接服务,各PE之间形成主备保护。在用户站点CE多归接入的场景下,如果SRv6隧道的某个尾节点/出口节点出现故障,需可实现用户无感知的自动倒换到其他尾节点/出口节点,否则会带来业务丢包,造成用户投诉。目前,SRv6尾节点故障保护的技术方案主要为[I-D.ietf-rtgwg-srv6-egress-protection]文稿提出的镜像保护方案。当前SRv6 尾节点的镜像保护方案实现机制复杂,需要对控制面的协议进行扩展,现网设备升级改造难度大。The tunnel path Segmentlist can be arranged using node SID (End SID) or adjacent SID (End.X SID). When each hop SID in the path uses adjacent SID, the tunnel path is a strict path, and each hop is specified; when some SIDs in the path use node SID, the tunnel path is a one-hop loose path, because there may be different reachable links between the two nodes. When the current network uses SRv6 Policy technology to provide users with high-quality connection services, it generally provides dual PE or multi-PE multi-home connection services, and each PE forms a primary and backup protection. In the scenario of multi-home access of user site CE, if a tail node/egress node of the SRv6 tunnel fails, it is necessary to achieve automatic switching to other tail nodes/egress nodes without user perception, otherwise it will cause service packet loss and cause user complaints. At present, the technical solution for SRv6 tail node failure protection is mainly the mirror protection solution proposed in the document [ID.ietf-rtgwg-srv6-egress-protection]. The current SRv6 The mirror protection solution for the tail node has a complex implementation mechanism and requires the expansion of the control plane protocol, making it difficult to upgrade existing network equipment.
因此,本公开实施例提出了一种简化的尾节点/出口节点保护机制,通过扩展数据平面,即可实现多归接入场景下的SRv6尾节点/出口节点故障时快速路径的切换保护。Therefore, the embodiments of the present disclosure propose a simplified tail node/egress node protection mechanism, which can implement fast path switching protection when the SRv6 tail node/egress node fails in a multi-homing access scenario by extending the data plane.
图2是本公开实施例报文处理方法的实现流程示意图,应用于第一节点,所述第一节点为入口节点,如图2所示,所述方法包括:FIG2 is a schematic diagram of an implementation flow of a message processing method according to an embodiment of the present disclosure, which is applied to a first node, where the first node is an ingress node. As shown in FIG2 , the method includes:
步骤201:在第一报文中增加扩展头,并将第一SID和第一信息封装在所述扩展头中,得到第二报文;其中,所述第一信息包含至少一个备份SID;或者,在第一报文的扩展头中增加第一信息,得到第二报文;其中,所述第一信息包含至少一个备份SID。Step 201: Add an extension header to the first message, and encapsulate the first SID and the first information in the extension header to obtain a second message; wherein the first information includes at least one backup SID; or, add the first information to the extension header of the first message to obtain a second message; wherein the first information includes at least one backup SID.
可以理解的是,SID可以为业务SID(service SID),具体的,可以为VPN SID。It is understandable that the SID can be a service SID (service SID), specifically, a VPN SID.
可以理解的是,报文头包括固定头或常规头,可选的还包括扩展头。packet可以携带0个或1个或多个扩展头。It is understood that the message header includes a fixed header or a regular header, and optionally also includes an extended header. A packet may carry 0, 1, or more extended headers.
可以理解的是,IPv6的报文头包括IPv6头(或IPv6固定头、IPv6常规头、IPv6 header),可选的还包括IPv6扩展头(IPv6 Extension Headers)。IPv6packet可以携带0个或1个或多个IPv6扩展头。It is understandable that the IPv6 packet header includes the IPv6 header (or IPv6 fixed header, IPv6 regular header, IPv6 header), and optionally also includes the IPv6 extension header (IPv6 Extension Headers). An IPv6 packet can carry 0, 1, or more IPv6 extension headers.
可以理解的是,IPv6扩展头是根据需要额外加上的,例如可以为段路由头(Segment Routing header,SRH)、目的地选项头(Destination Options header,DOH)、逐跳选项头(Hop-by-Hop Options header,HBH)、路由头(Routing header)、片段头(Fragment header)、认证头(Authentication header)、封装安全有效载荷头(Encapsulating Security Payload header)等。It is understandable that IPv6 extension headers are added additionally as needed, such as Segment Routing header (SRH), Destination Options header (DOH), Hop-by-Hop Options header (HBH), Routing header, Fragment header, Authentication header, Encapsulating Security Payload header, etc.
可以理解的是,所述备份SID是用户站点多归接入场景下,各个备份尾节点/出口设备为该用户分配的业务SID。头节点可通过控制协议例如BGP发布,接收主用出口的业务SID和备用出口的业务SID,或者通过控制器为各个出口设备分配业务SID并下发给头节点,或者在头节点静态配置。It is understandable that the backup SID is the service SID assigned to the user by each backup tail node/egress device in the multi-homing access scenario of the user site. The head node can publish through a control protocol such as BGP, receive the service SID of the primary egress and the service SID of the backup egress, or allocate the service SID to each egress device through a controller and send it to the head node, or statically configure it at the head node.
图3是本公开实施例分配备份SID的示意图,如图3所示,PE2、PE3和PE4是VPN1用户的站点CE2的双归接入设备,其中,PE2为主接入设备 (Primary Egress或Active Egress),PE3为第一备份接入设备(Backup Egress),PE4为第二备份接入设备(Backup Egress),则PE2设备为该VPN1用户分配的VPN SID为主业务SID(主用SID或Primary SID或Active SID),在PE3和PE4设备分别为该VPN1用户分配的VPN SID为第一备份业务SID(Backup SID)和第二备份业务SID(Backup SID),即,图3中A:3::B100为A:2::B100的第一备份SID,A:4::B100为A:2::B100的第二备份SID。需要说明的是,此处备份接入设备的数量没有限制,每个备份接入节点均为对应VPN用户分配一个备份业务SID。FIG3 is a schematic diagram of allocating backup SIDs according to an embodiment of the present disclosure. As shown in FIG3 , PE2, PE3, and PE4 are dual-homing access devices of site CE2 of VPN1 user, wherein PE2 is the primary access device. (Primary Egress or Active Egress), PE3 is the first backup access device (Backup Egress), PE4 is the second backup access device (Backup Egress), then the VPN SID allocated by PE2 to the VPN1 user is the primary service SID (primary SID or Primary SID or Active SID), and the VPN SIDs allocated by PE3 and PE4 to the VPN1 user are the first backup service SID (Backup SID) and the second backup service SID (Backup SID), that is, A:3::B100 in Figure 3 is the first backup SID of A:2::B100, and A:4::B100 is the second backup SID of A:2::B100. It should be noted that there is no limit to the number of backup access devices here, and each backup access node allocates a backup service SID to the corresponding VPN user.
在一实施例中,在所述第一报文中增加扩展头,并将第一SID和所述第一信息封装在所述扩展头中,包括:In one embodiment, adding an extension header to the first message, and encapsulating the first SID and the first information in the extension header, includes:
在第一报文的外层IPv6报文头中增加段路由头(SRH),并将第一SID和所述第一信息封装在SRH的段列表(segmentlist)中;其中,Add a segment routing header (SRH) to the outer IPv6 header of the first message, and encapsulate the first SID and the first information in a segment list (segmentlist) of the SRH; wherein,
第一信息的封装位置与第一SID的封装位置相邻。The encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
在一实施例中,所述第一信息的封装位置与第一SID的封装位置相邻,包括:In one embodiment, the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, including:
第一信息在段列表中的封装位置与第一SID在段列表中的封装位置相邻,且在第一SID的封装位置之后。The encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
可以理解的是,第一信息在段列表中的封装位置在第一SID的封装位置之后,可以理解为第一信息的封装位置相比于第一SID更靠近栈顶。It can be understood that the encapsulation position of the first information in the segment list is after the encapsulation position of the first SID, which can be understood as the encapsulation position of the first information is closer to the top of the stack than the first SID.
图4是本公开实施例所述第一信息的封装位置的示意图,如图4所示,其中第一SID为primary SID(主用SID或Active SID),第一信息为Backup SID。可以看到,Backup SID紧挨着primary SID,并位于Segment List中primary SID之后,比primary SID更靠近栈顶。FIG4 is a schematic diagram of the encapsulation position of the first information in the embodiment of the present disclosure. As shown in FIG4 , the first SID is the primary SID (main SID or Active SID), and the first information is the Backup SID. It can be seen that the Backup SID is next to the primary SID and is located after the primary SID in the Segment List, and is closer to the top of the stack than the primary SID.
在一实施例中,当第一信息为一个备份SID,则该备份SID的封装位置为SL[0]。In one embodiment, when the first information is a backup SID, the encapsulation position of the backup SID is SL[0].
可以理解的是,SL[0]就是Segment List[0],也即Segment List的栈顶。It is understandable that SL[0] is Segment List[0], which is the top of the Segment List stack.
在一实施例中,所述方法包括:In one embodiment, the method comprises:
按照备份SID的优先级,对第一信息中的至少一个备份SID进行排序,最低优先级的备份SID封装在第一信息的最后。 At least one backup SID in the first information is sorted according to the priority of the backup SID, and the backup SID with the lowest priority is encapsulated at the end of the first information.
图5和图6是本公开实施例对所述第一信息中的至少一个备份SID进行排序的示意图,如图5和图6所示,所述第一信息(也即备份SID)中包含了多个不同优先级的备份SID,其中最高优先级备份SID位于第一信息的最前面,也即更靠近栈底方向,与第一SID(主用VPN SID或primary SID或Active SID)相邻;最低优先级备份SID位于第一信息的最后面,也即最靠近栈顶方向,与第一SID相距最远。5 and 6 are schematic diagrams of sorting at least one backup SID in the first information according to an embodiment of the present disclosure. As shown in FIG5 and 6, the first information (i.e., the backup SID) includes multiple backup SIDs of different priorities, wherein the highest priority backup SID is located at the front of the first information, i.e., closer to the bottom of the stack, and adjacent to the first SID (primary VPN SID or primary SID or Active SID); the lowest priority backup SID is located at the end of the first information, i.e., closest to the top of the stack, and farthest from the first SID.
如图5所示,SRv6 Policy的头节点/入口节点在封装IPv6外层报文头时,需在SRH扩展头的segmentlist的最后位置SL[0]封装备份SID,即备份SID紧跟在主用VPN SID后面放置。当存在多个备份SID时,则备份SID按优先级顺序进行放置,即主用VPN SID后面紧跟最高优先级备份SID、其后是第二优先级备份SID,以此类推,最低优先级的备份SID放在最后的SL[0]位置。As shown in Figure 5, when the head node/entry node of the SRv6 Policy encapsulates the IPv6 outer header, it needs to encapsulate the backup SID in the last position SL[0] of the segmentlist of the SRH extension header, that is, the backup SID is placed immediately after the primary VPN SID. When there are multiple backup SIDs, the backup SIDs are placed in order of priority, that is, the primary VPN SID is followed by the highest priority backup SID, followed by the second priority backup SID, and so on, and the lowest priority backup SID is placed at the last SL[0].
如图6所示,SRv6 BE的头节点/入口节点在封装IPv6外层报文头时,必须同时添加一个带有活动SID(主用VPN SID)和1到多个优先级降序排列的备份SID的SRH扩展头。SRH扩展头的segmentlist的封装内容如图6所示。主用SID被用作外部IP报文头的目标地址。As shown in Figure 6, when encapsulating the IPv6 outer header, the head node/entry node of the SRv6 BE must add an SRH extension header with an active SID (primary VPN SID) and one to multiple backup SIDs in descending order of priority. The encapsulation content of the segmentlist of the SRH extension header is shown in Figure 6. The primary SID is used as the destination address of the outer IP header.
在一实施例中,所述方法还包括:In one embodiment, the method further comprises:
确定第一SID配置有备份SID。Determine that the first SID is configured with a backup SID.
可以理解的是,在封装前,需要判断第一SID是否配置有备份SID。若是,则将备份SID进行封装。It is understandable that before encapsulation, it is necessary to determine whether the first SID is configured with a backup SID. If so, the backup SID is encapsulated.
在一实施例中,所述方法还包括:In one embodiment, the method further comprises:
确定第一SID为第一Flavor的SID或第一类型的SID;Determine that the first SID is a SID of a first flavor or a SID of a first type;
确定第一信息中除封装在第一信息中最后位置的备份SID之外的其余备份SID为第一Flavor的SID或第一类型的SID。It is determined that the remaining backup SIDs in the first information except the backup SID encapsulated in the last position in the first information are SIDs of the first flavor or SIDs of the first type.
可以理解的是,所述第一类型的SID,包括:It can be understood that the first type of SID includes:
第二行为(Behavior)的SID或第二行为(Behavior)类型的SID。The SID of the second behavior or the SID of the second behavior type.
可以理解的是,第二行为(Behavior)的SID或第二行为(Behavior)类型的SID,这是相比于现有的相关标准中新定义的Behavior或Behavior类型。具体示例,可以为END.PSD(Penultimate Segment Decapsulation,倒数第二跳解封装)的SID或END.PSD行为的SID或END.PSD类型的SID或END.PSD 行为类型的SID。It is understandable that the SID of the second behavior or the SID of the second behavior type is a newly defined behavior or behavior type compared to the existing relevant standards. For example, it can be the SID of END.PSD (Penultimate Segment Decapsulation) or the SID of END.PSD behavior or the SID of END.PSD type or END.PSD The SID of the behavior type.
END.PSD可以是End.DT4,End.DT6,End.DT46,End.DX4,End.DX6,End.DX2,End.DX2V和End.DX2M行为的一种变体。END.PSD can be a variation of End.DT4, End.DT6, End.DT46, End.DX4, End.DX6, End.DX2, End.DX2V, and End.DX2M behavior.
以END.PSD是End.DT6行为的变体为例,其处理流程如下:Take END.PSD as an example, which is a variant of End.DT6 behavior. The processing flow is as follows:
当网络节点N收到以S为目的地的数据包且S是本地END.PSD SID,N会做以下工作:When a network node N receives a packet with S as the destination and S is the local END.PSD SID, N does the following:
S01.当一个SRH被处理时{S01. When an SRH is processed {
S02.继续处理数据包中的下一个头S02. Continue processing the next header in the data packet
S03.}S03.}
当处理与本地实例化为End.DT6 SID的FIB条目相匹配的数据包的上层头时,N做以下工作:When processing the upper layer header of a packet that matches a FIB entry locally instantiated with the End.DT6 SID, N does the following:
S01.如果(上层头类型==41(IPv6)){S01.if (upper layer header type == 41 (IPv6)) {
S02.   删除外层IPv6头及其所有扩展头S02. Delete the outer IPv6 header and all its extension headers
S03.   将数据包的相关FIB表设置为TS03. Set the relevant FIB table of the data packet to T
S04.   将数据包提交给出口的IPv6 FIB查询,以便传输到新的目的地S04. Submit the packet to the egress IPv6 FIB query for transmission to the new destination
S05.}Else{S05.}Else{
S06.   如果(本地配置允许上层头类型){S06.   If (local configuration allows upper header type) {
S07.      继续处理上层头S07.      Continue processing the upper header
S08.      }否则{S08.      }Otherwise{
S09.        向源地址发送一个ICMP参数问题,代码为4(SR上层头错误)。并将指针设置为上层头的偏移量,中断数据包处理,并丢弃该数据包。S09. Send an ICMP parameter problem to the source address with code 4 (SR upper layer header error). Set the pointer to the offset of the upper layer header, interrupt packet processing, and discard the packet.
S10          }S10
S11.}S11.}
可以理解的是,在第一报文中增加扩展头,并将第一SID和第一信息封装在所述扩展头中之前,或在第一报文的扩展头中增加第一信息之前,所述方法还包括:It can be understood that before adding an extension header to the first message and encapsulating the first SID and the first information in the extension header, or before adding the first information to the extension header of the first message, the method further includes:
确定第一SID为第一Flavor的SID或第一类型的SID;Determine that the first SID is a SID of a first flavor or a SID of a first type;
确定第一信息中除封装在第一信息中最后位置的备份SID之外的其余备 份SID为第一Flavor的SID或第一类型的SID;Determine the remaining backup SIDs in the first information except the backup SID encapsulated at the last position in the first information. The SID is the SID of the first flavor or the SID of the first type;
在确定第一SID和第一信息中除封装在第一信息中最后位置的备份SID之外的其余备份SID均为第一Flavor的SID或第一类型的SID后,再增加扩展头将第一SID和第一信息封装在所述扩展头或在第一报文的扩展头中增加第一信息。After determining that the first SID and the remaining backup SIDs in the first information except the backup SID encapsulated at the last position in the first information are all SIDs of the first flavor or SIDs of the first type, an extension header is added to encapsulate the first SID and the first information in the extension header or the first information is added to the extension header of the first message.
在一实施例中,所述方法包括以下内容中的至少一个:In one embodiment, the method includes at least one of the following:
所述第一出口节点为SRv6的主用尾节点;The first egress node is a primary tail node of SRv6;
所述第一SID为第一出口节点分配的SID;The first SID is a SID allocated by the first egress node;
所述备份SID为第一出口节点的保护节点分配的SID;其中,所述保护节点为第一出口节点的备份出口节点。The backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
可以理解的是,这里的第一SID和备份SID分别为主用出口节点和备份出口节点分配给同一个客户(用户)的业务SID(Service SID)或VPN SID。It can be understood that the first SID and the backup SID here are the service SID (Service SID) or VPN SID assigned to the same customer (user) by the primary egress node and the backup egress node respectively.
可以理解的是,所述保护节点,具体地,可以为CE设备的多归接入PE设备。It can be understood that the protection node, specifically, can be a multi-homing access PE device of the CE device.
在一实施例中,所述备份SID为第一出口节点的保护节点分配的SID,包括:In one embodiment, the backup SID is a SID allocated by a protection node of the first egress node, including:
所述备份SID有多个,不同的备份SID是由第一出口节点的不同的保护节点分配的。There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
在一实施例中,所述方法还包括:发送所述第二报文。In one embodiment, the method further includes: sending the second message.
本公开实施例,具备以下优点:The disclosed embodiment has the following advantages:
(1)提出了一种SRv6 Policy尾节点/出口节点保护方案,在数据面IPv6报文头SRH的Segmentlist中携带一个或多个备份SID,当主用尾节点/出口节点故障时,使用该备份SID作为目的地址,从而将流量转发到备份尾节点/出口节点,实现用户无感知的保护倒换。(1) An SRv6 Policy tail node/egress node protection scheme is proposed. One or more backup SIDs are carried in the Segmentlist of the IPv6 packet header SRH on the data plane. When the main tail node/egress node fails, the backup SID is used as the destination address to forward the traffic to the backup tail node/egress node, thus realizing user-unaware protection switching.
图7是本公开实施例报文处理方法的实现流程示意图,应用于网络节点,所述方法包括:FIG7 is a schematic diagram of an implementation flow of a message processing method according to an embodiment of the present disclosure, which is applied to a network node. The method includes:
步骤701:接收第二报文;其中,所述第二报文包括第一SID以及第一信息,所述第一信息包括至少一个备份SID;Step 701: Receive a second message; wherein the second message includes a first SID and first information, and the first information includes at least one backup SID;
步骤702:在第一SID对应的节点不可达时,将所述第二报文的目的地 址改为备份SID,得到第三报文;Step 702: When the node corresponding to the first SID is unreachable, the destination of the second message is The address is changed to the backup SID, and the third message is obtained;
步骤703:发送所述第三报文。Step 703: Send the third message.
可以理解的是,这里的“第一SID对应的节点”指的是:SID本身是一个地址,例如IPv6地址。也即,第一SID为对应节点的本地SID。通过该SID可以将报文路由到对应节点。It is understandable that the "node corresponding to the first SID" here means that the SID itself is an address, such as an IPv6 address. That is, the first SID is the local SID of the corresponding node. The message can be routed to the corresponding node through the SID.
在实际实现中,网络节点可以接收到若干个第二报文,若干个第二报文就组成了流量(traffic),所以上述中的接收第二报文并进行处理也可以理解为:对接收到的流量中的第二报文进行上述处理。In actual implementation, a network node may receive several second messages, and the several second messages constitute traffic. Therefore, receiving and processing the second message mentioned above may also be understood as: performing the above processing on the second message in the received traffic.
这里的网络节点,不仅限于路径中的中间节点,也可以是入口节点也即第一节点。The network node here is not limited to the intermediate node in the path, but can also be the entry node, that is, the first node.
在一实施例中,所述将所述第二报文的目的地址改为备份SID,包括:In one embodiment, changing the destination address of the second message to a backup SID includes:
将所述第二报文的目的地址改为可达的备份SID。The destination address of the second message is changed to a reachable backup SID.
在一实施例中,将所述第二报文的目的地址改为可达的备份SID,包括:In one embodiment, changing the destination address of the second message to a reachable backup SID includes:
将SL指针的值减1,将所述第二报文的目的地址改为当前指针指向的备份SID;Decrease the value of the SL pointer by 1, and change the destination address of the second message to the backup SID pointed to by the current pointer;
或,or,
将SL指针的值逐次减1,直至当前指针指向的备份SID对应的节点可达,则将所述第二报文的目的地址改为当前指针指向的备份SID。The value of the SL pointer is reduced by 1 successively until the node corresponding to the backup SID pointed to by the current pointer is reachable, and then the destination address of the second message is changed to the backup SID pointed to by the current pointer.
图8是本公开实施例将所述第二报文的目的地址改为备份SID的示意图,如图8所示,这里的SL指针指向的SID,可以参考图8中箭头指向的SID(箭头即为SL指针)。这里,在PE2故障前的P1出流量的报文(第二报文)的封装格式中,当前SL指针指向的SID A:2:B100是第一SID(主用SID或Primary SID或Active SID),而在PE2故障后的P1出流量的报文封装格式中,当前SL指针指向的SID A:3:B100是第一信息中的第一个备份SID,同时,此报文(第三报文)封装格式中的目的地址(Destination Address,DA)也改为了备份SID A:3:B100。FIG8 is a schematic diagram of an embodiment of the present disclosure in which the destination address of the second message is changed to a backup SID. As shown in FIG8 , the SID pointed to by the SL pointer here can refer to the SID pointed to by the arrow in FIG8 (the arrow is the SL pointer). Here, in the encapsulation format of the message (second message) of the outgoing traffic of P1 before the failure of PE2, the SID A:2:B100 pointed to by the current SL pointer is the first SID (primary SID or active SID), and in the message encapsulation format of the outgoing traffic of P1 after the failure of PE2, the SID A:3:B100 pointed to by the current SL pointer is the first backup SID in the first information. At the same time, the destination address (Destination Address, DA) in the encapsulation format of this message (third message) is also changed to the backup SID A:3:B100.
图9是本公开实施例报文处理方法的实现流程示意图,应用于第二节点,所述第二节点为出口节点,如图9所示,所述方法包括:FIG9 is a schematic diagram of an implementation flow of a message processing method according to an embodiment of the present disclosure, which is applied to a second node, where the second node is an egress node. As shown in FIG9 , the method includes:
步骤901:接收第二报文或第三报文; Step 901: receiving a second message or a third message;
步骤902:在所述第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第一Flavor的SID时,移除所述第二报文或第三报文的外层报文头,得到第四报文;和/或,在所述第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第一类型的SID时,移除所述第二报文或第三报文的外层报文头,得到第四报文;Step 902: when the destination address in the second message or the third message is the local SID of the second node, and the destination address is the SID of the first flavor, remove the outer message header of the second message or the third message to obtain a fourth message; and/or, when the destination address in the second message or the third message is the local SID of the second node, and the destination address is the SID of the first type, remove the outer message header of the second message or the third message to obtain a fourth message;
步骤903:发送所述第四报文。Step 903: Send the fourth message.
可以理解的是,当第二节点收到第二报文时,说明第二节点为主用出口节点,且其状态为正常。当第二节点收到第三报文时,说明第二节点为备份出口节点,其状态为正常,主用出口节点故障。It is understandable that when the second node receives the second message, it indicates that the second node is the main egress node and its status is normal. When the second node receives the third message, it indicates that the second node is the backup egress node and its status is normal, and the main egress node fails.
这里,第一Flavor,具体示例,可以为倒数第二跳解封装(Penultimate Segment Decapsulation,PSD)Flavor;“一个PSD flavor的SID”英文可以为“an SID with PSD Flavor”。Here, the first Flavor, for example, can be the penultimate segment decapsulation (PSD) Flavor; “a SID with a PSD flavor” can be expressed as “an SID with PSD Flavor” in English.
这里的发送可以为转发、forward、transfer等。The sending here can be forwarding, forward, transfer, etc.
下面描述所述第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第一Flavor的SID时的方案。The following describes a solution when the destination address in the second message or the third message is the local SID of the second node and the destination address is the SID of the first Flavor.
在一实施例中,所述该目的地址为第一Flavor的第一行为(behavior)的SID或第一Flavor的第一行为(behavior)类型的SID时,所述移除所述第二报文或第三报文的外层报文头,包括:In one embodiment, when the destination address is a SID of a first behavior of a first Flavor or a SID of a first behavior type of a first Flavor, removing an outer message header of the second message or the third message includes:
在SRH处理流程中不执行对第二报文或第三报文的第二信息的值进行判断的步骤;移除所述第二报文或第三报文的外层报文头;In the SRH processing flow, the step of determining the value of the second information of the second message or the third message is not performed; the outer message header of the second message or the third message is removed;
和/或,and / or,
在SRH处理流程中确定第二报文或第三报文的第二信息的值为特定的至少一个值;移除所述第二报文或第三报文的外层报文头。In the SRH processing flow, determining that the value of the second information of the second message or the third message is at least one specific value; and removing the outer message header of the second message or the third message.
这里,第一行为(behavior)类型的SID,具体示例,可以为End.DT4,End.DT6,End.DT46,End.DX4,End.DX6,End.DX2,End.DX2V and End.DX2M类型的SID。Here, the first behavior type SID, specific examples may be End.DT4, End.DT6, End.DT46, End.DX4, End.DX6, End.DX2, End.DX2V and End.DX2M type SIDs.
这里,第一Flavor的第一行为(behavior)的SID或第一Flavor的第一行为(behavior)类型的SID,具体示例,可以为PSD Flavor的End.DT4 SID或PSD Flavor的End.DT6 SID或PSD Flavor的End.DT46 SID或PSD Flavor 的End.DX4 SID或PSD Flavor的End.DX6 SID或PSD Flavor的End.DX2SID或PSD Flavor的End.DX2V SID或PSD Flavor的End.DX2M SID,对应英文可以为an End.DT4 SID with PSD Flavor或an End.DT6 SID with PSD Flavor或an End.DT46 SID with PSD Flavor或an End.DX4 SID with PSD Flavor或an End.DX6 SID with PSD Flavor或an End.DX2 SID with PSD Flavor或an End.DX2V SID with PSD Flavor或an End.DX2M SID with PSD Flavor。Here, the SID of the first behavior of the first flavor or the SID of the first behavior type of the first flavor, for example, may be the End.DT4 SID of the PSD Flavor, the End.DT6 SID of the PSD Flavor, the End.DT46 SID of the PSD Flavor, or the End.DT6 SID of the PSD Flavor. The corresponding English words may be an End.DT4 SID with PSD Flavor, an End.DT6 SID with PSD Flavor, an End.DT46 SID with PSD Flavor, an End.DX4 SID with PSD Flavor, an End.DX6 SID with PSD Flavor, an End.DX2 SID with PSD Flavor, an End.DX2V SID with PSD Flavor, or an End.DX2M SID with PSD Flavor.
当所述目的地址为PSD Flavor的End.DT4,End.DT6,End.DT46,End.DX4,End.DX6,End.DX2,End.DX2V或End.DX2MSID时,RFC8986中定义的End.DT4,End.DT6,End.DT46,End.DX4,End.DX6,End.DX2,End.DX2V和End.DX2M行为类型对应的SRH处理被修改,具体修改的方式有两种:When the destination address is End.DT4, End.DT6, End.DT46, End.DX4, End.DX6, End.DX2, End.DX2V or End.DX2MSID of PSD Flavor, the SRH processing corresponding to the End.DT4, End.DT6, End.DT46, End.DX4, End.DX6, End.DX2, End.DX2V and End.DX2M behavior types defined in RFC8986 is modified. There are two specific ways to modify it:
(一)方式一(I) Method 1
第一种对于SRH处理流程的修改方式为,在SRH处理步骤中不执行对于指针的值是否为非0的判断步骤。第一种方式可以适用于第二报文或第三报文的第一信息包含多个备份SID的情况。The first modification method for the SRH processing flow is that the step of determining whether the pointer value is non-0 is not performed in the SRH processing step. The first method may be applicable to the case where the first information of the second message or the third message includes multiple backup SIDs.
举例来说,End.DT4 SID的SRH的处理流程在相关标准中的定义如下:For example, the processing flow of the SRH of the End.DT4 SID is defined in the relevant standards as follows:
S01.当一个SRH被处理时(When an SRH is processed){S01. When an SRH is processed
S02.如果(Segments Left!=0)(If(Segments Left!=0)){S02. If (Segments Left! = 0) (If (Segments Left! = 0)) {
S03.向源地址发送ICMP参数问题,代码为0(遇到错误头字段),指针设置为“剩余分段索引值”字段,中断数据包处理并丢弃数据包(Send an ICMP Parameter Problem to the Source Address with Code 0(Erroneous header field encountered)and Pointer set to the Segments Left field,interrupt packet processing,and discard the packet).S03. Send an ICMP Parameter Problem to the Source Address with Code 0 (Erroneous header field encountered) and Pointer set to the Segments Left field, interrupt packet processing, and discard the packet.
S04.}S04.}
S05.继续处理数据包中的下一个头(Proceed to process the next header in the packet)S05. Proceed to process the next header in the packet
S06.}S06.}
本公开对SRH流程所做的修改为:将指令S02至S04的步骤删除。删除S02至S04步骤也即不执行对于SL是否为非0的判断步骤,也不执行S03 中向源地址发送代码为0的ICMP参数问题、将指针设置为SL字段、中断数据包处理以及丢弃数据包的步骤,直接执行S05的步骤,也即进入数据包的下一个头的处理。The modification made by the present disclosure to the SRH process is: deleting the steps S02 to S04. Deleting the steps S02 to S04 means not executing the step of determining whether SL is non-zero, and not executing S03. The steps of sending an ICMP parameter problem with code 0 to the source address, setting the pointer to the SL field, interrupting the data packet processing, and discarding the data packet directly execute step S05, that is, entering the processing of the next header of the data packet.
数据包的下一个头的处理的流程在相关标准里有如下定义:The process of processing the next header of a data packet is defined as follows in the relevant standards:
当处理与本地实例化为End.DT4 SID的FIB条目相匹配的数据包的上层头(Upper-Layer header)时,也即处理SRH的下一个头(next header)时,节点要做以下操作:When processing the Upper-Layer header of a packet that matches a FIB entry instantiated locally as the End.DT4 SID, i.e., when processing the next header of the SRH, the node shall do the following:
S01.如果(Upper-Layer header type==4(IPv4))(If(Upper-Layer header type==4(IPv4))){S01. If (Upper-Layer header type == 4(IPv4)) {
S02.删除外部IPv6头及其所有扩展头(Remove the outer IPv6 header with all its extension headers)S02. Remove the outer IPv6 header with all its extension headers
S03.将数据包的相关FIB表设置为T(Set the packet's associated FIB table to T)S03. Set the packet's associated FIB table to T
S04.将数据包提交到出口IPv4 FIB查找,以便传输到新目的地(Submit the packet to the egress IPv4 FIB lookup for transmission to the new destination)S04. Submit the packet to the egress IPv4 FIB lookup for transmission to the new destination
S05.}Else{S05.}Else{
S06.按照第4.1.1节进行处理(Process as per Section 4.1.1)S06. Process as per Section 4.1.1
S07.}S07.}
也即,若删除了步骤S02至S04直接执行S05,也即直接进入到下一个头的处理流程中,下一个头的处理流程中的S02步骤即为移除外层IPv6头以及所有的扩展头,也即本公开中的移除第二报文或第三报文的外层报文头。That is, if steps S02 to S04 are deleted and S05 is executed directly, that is, directly entering the processing flow of the next header, step S02 in the processing flow of the next header is to remove the outer IPv6 header and all extension headers, that is, to remove the outer message header of the second message or the third message in the present disclosure.
(二)方式二(II) Method 2
第二种修改方式是对于原SRH处理流程中的指针值判定的步骤进行修改,也即确定第二报文或第三报文的第二信息的值为特定的第一值、或为第二值....或为第N值。The second modification method is to modify the pointer value determination step in the original SRH processing flow, that is, to determine that the value of the second information of the second message or the third message is a specific first value, or a second value... or an Nth value.
或,确定第二报文或第三报文的第二信息的值不为第一值、且不为第二值、...、且不为第N值。Or, determine that the value of the second information of the second message or the third message is not the first value, and is not the second value, ..., and is not the Nth value.
第二种修改方式适用于第二报文或第三报文的第一信息中仅包含一个备份SID。 The second modification manner is applicable when the first information of the second message or the third message contains only one backup SID.
举例来说,将End.DT4 SID的SRH的处理流程中的指令S02修改为:For example, modify instruction S02 in the processing flow of SRH of End.DT4 SID to:
S02.   If((Segments Left!=0)&&(Segments Left!=1)){S02.   If((Segments Left!=0)&&(Segments Left!=1)){
也即判断第二报文或第三报文的第二信息的值是否非0且非1。若第二信息的值为0或1,则执行S05的下一个头的处理步骤,也即移除第二报文或第三报文的外层报文头的步骤;具体的处理流程参见上文若满足非0且非1的条件,则执行S03、S04步骤。That is, it is determined whether the value of the second information of the second message or the third message is non-0 and non-1. If the value of the second information is 0 or 1, the next header processing step of S05 is executed, that is, the step of removing the outer message header of the second message or the third message; the specific processing flow is as follows: If the condition of non-0 and non-1 is met, steps S03 and S04 are executed.
在一实施例中,所述方法还包括:In one embodiment, the method further comprises:
在SRH处理流程中,确定第二报文或第三报文的第二信息的值不为特定的至少一个值时,发送问题信息并丢弃所述第二报文或第三报文。In the SRH processing flow, when it is determined that the value of the second information of the second message or the third message is not at least one specific value, problem information is sent and the second message or the third message is discarded.
这里的“第二报文或第三报文的第二信息的值不为特定的至少一个值”可以理解为:第二报文或第三报文的第二信息的值不为特定的第一值、且不为特定的第二值、...、且不为特定的第N值。Here, “the value of the second information of the second message or the third message is not at least one specific value” can be understood as: the value of the second information of the second message or the third message is not a specific first value, and is not a specific second value, ..., and is not a specific Nth value.
下面描述所述第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第一类型的SID时的方案。The following describes a solution when the destination address in the second message or the third message is the local SID of the second node and the destination address is a first type of SID.
在一实施例中,所述第一类型的SID,包括:In one embodiment, the first type of SID includes:
第二行为(Behavior)的SID或第二行为(Behavior)类型的SID。The SID of the second behavior or the SID of the second behavior type.
可以理解的是,第二行为(Behavior)的SID或第二行为(Behavior)类型的SID,这是相比于现有的相关标准中新定义的Behavior或Behavior类型。具体示例,可以为END.PSD(Penultimate Segment Decapsulation,倒数第二跳解封装)的SID或END.PSD行为的SID或END.PSD类型的SID或END.PSD行为类型的SID。It can be understood that the SID of the second behavior (Behavior) or the SID of the second behavior (Behavior) type is a newly defined behavior or behavior type compared to the existing relevant standards. For example, it can be the SID of END.PSD (Penultimate Segment Decapsulation) or the SID of END.PSD behavior or the SID of END.PSD type or the SID of END.PSD behavior type.
END.PSD可以是End.DT4,End.DT6,End.DT46,End.DX4,End.DX6,End.DX2,End.DX2V和End.DX2M行为的一种变体。END.PSD can be a variation of End.DT4, End.DT6, End.DT46, End.DX4, End.DX6, End.DX2, End.DX2V, and End.DX2M behavior.
以END.PSD是End.DT6行为的变体为例,其处理流程如下:Take END.PSD as an example, which is a variant of End.DT6 behavior. The processing flow is as follows:
当网络节点N收到以S为目的地的数据包且S是本地END.PSD SID,N会做以下工作:When a network node N receives a packet with S as the destination and S is the local END.PSD SID, N does the following:
S01.当一个SRH被处理时{S01. When an SRH is processed {
S02.   继续处理数据包中的下一个头S02. Continue processing the next header in the data packet.
S03.} S03.}
当处理与本地实例化为End.DT6 SID的FIB条目相匹配的数据包的上层头时,N做以下工作:When processing the upper layer header of a packet that matches a FIB entry locally instantiated with the End.DT6 SID, N does the following:
S01.如果(上层头类型==41(IPv6)){S01.if (upper layer header type == 41 (IPv6)) {
S02.   删除外层IPv6头及其所有扩展头S02. Delete the outer IPv6 header and all its extension headers
S03.   将数据包的相关FIB表设置为TS03. Set the relevant FIB table of the data packet to T
S04.   将数据包提交给出口的IPv6 FIB查询,以便传输到新的目的地S04. Submit the packet to the egress IPv6 FIB query for transmission to the new destination
S05.}Else{S05.}Else{
S06.   如果(本地配置允许上层头类型){S06.   If (local configuration allows upper header type) {
S07.      继续处理上层头S07.      Continue processing the upper header
S08.      }否则{S08.      }Otherwise{
S09.         向源地址发送一个ICMP参数问题,代码为4(SR上层头错误)。并将指针设置为上层头的偏移量,中断数据包处理,并丢弃该数据包。S09. Send an ICMP parameter problem to the source address with code 4 (SR upper layer header error). Set the pointer to the offset of the upper layer header, interrupt packet processing, and discard the packet.
S10           }S10
S11.}S11.}
在一实施例中,所述移除所述第二报文或第三报文的外层报文头,包括:In one embodiment, removing the outer message header of the second message or the third message includes:
确定第二报文或第三报文的第二信息的值为特定的至少一个值;移除所述第二报文或第三报文的外层报文头。Determine that a value of second information of the second message or the third message is at least one specific value; and remove an outer message header of the second message or the third message.
可以理解的是,在第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第二行为(Behavior)的SID时,若第二报文或第三报文的第一信息中的备份SID为多个,则移除所述第二报文或第三报文的外层报文头,得到第四报文。It can be understood that when the destination address in the second message or the third message is the local SID of the second node, and the destination address is the SID of the second behavior (Behavior), if there are multiple backup SIDs in the first information of the second message or the third message, the outer message header of the second message or the third message is removed to obtain the fourth message.
这里,在第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第二行为(Behavior)的SID时,若第二报文或第三报文的第一信息中的备份SID为一个,则先确定第二报文或第三报文的第二信息的值为特定的至少一个值,例如确定第二信息的值为0或1时,移除所述第二报文或第三报文的外层报文头,得到第四报文。Here, when the destination address in the second message or the third message is the local SID of the second node, and the destination address is the SID of the second behavior, if the backup SID in the first information of the second message or the third message is one, it is first determined that the value of the second information of the second message or the third message is at least one specific value. For example, when it is determined that the value of the second information is 0 or 1, the outer message header of the second message or the third message is removed to obtain the fourth message.
具体的移除报文头的方式与上文中“目的地址为第一flavor的第一behavior的SID”的移除报文头的处理方式相类似,但在实际实现中,也可以 采取与上述移除方式不同的执行流程。The specific method of removing the message header is similar to the method of removing the message header in the above "the destination address is the SID of the first behavior of the first flavor", but in actual implementation, it can also be Takes a different execution process than the above removal method.
在一实施例中,所述第二信息为外层封装报文头SRH中的segmentleft字段信息。In one embodiment, the second information is the segmentleft field information in the outer encapsulation message header SRH.
在一实施例中,所述移除所述第二报文或第三报文的外层报文头,包括:In one embodiment, removing the outer message header of the second message or the third message includes:
移除所述第二报文或第三报文的外层封装IPv6头及其所有扩展头;或,Removing the outer encapsulation IPv6 header and all extension headers of the second message or the third message; or,
删除所述第二报文或第三报文的外层封装IPv6头及其所有扩展头;或,Deleting the outer encapsulation IPv6 header and all extension headers of the second message or the third message; or,
解封装所述第二报文或第三报文的外层IPv6头及其所有扩展头。Decapsulate the outer IPv6 header and all extension headers of the second message or the third message.
在一实施例中,所述方法还包括:In one embodiment, the method further comprises:
所述第一风味的SID或所述第一类型的SID通过路由协议通告给第一节点和/或网络设备;The SID of the first flavor or the SID of the first type is announced to the first node and/or the network device via a routing protocol;
可以理解的是,第一风味的SID或述第一类型的SID通过路由协议通告给第一节点和/或网络设备,从而使得网络中所有节点设备均知道所述SID为第一Flavor的SID或第一类型的SID。需要说明的是,这仅是一种让全网获知的方式,除此之外,还可以配置(节点设备自身配置或第三方控制器配置)第一节点、网络设备、第二节点从而使全网设备获知所述SID为第一Flavor的SID或第一类型的SID。It is understandable that the SID of the first flavor or the SID of the first type is notified to the first node and/or the network device through the routing protocol, so that all node devices in the network know that the SID is the SID of the first flavor or the SID of the first type. It should be noted that this is only a way to let the entire network know. In addition, the first node, the network device, and the second node can also be configured (node device self-configuration or third-party controller configuration) so that the entire network devices know that the SID is the SID of the first flavor or the SID of the first type.
(1)下面对方案1(包括方案1-1:新定义END.PSD SID和方案1-2:新定义PSD Flavor类型VPN SID)的SRv6 Policy多归接入尾节点/出口节点保护的运行机制进行详细说明。(1) The following is a detailed description of the operating mechanism of SRv6 Policy multi-homing access tail node/egress node protection of Solution 1 (including Solution 1-1: Newly defined END.PSD SID and Solution 1-2: Newly defined PSD Flavor type VPN SID).
对于方案1-1,SDN控制器或隧道头节点在进行SRv6 Policy路径编排时,主用VPN SID(活动SID)和除Segmentlist[0]位置的最低优先级备份SID外的其余备份SID均必须使用PSD Flavor类型的SID。For solution 1-1, when the SDN controller or tunnel head node performs SRv6 Policy path orchestration, the primary VPN SID (active SID) and the remaining backup SIDs except the lowest priority backup SID at the segmentlist[0] position must use PSD Flavor type SIDs.
对于方案1-2,SDN控制器或隧道头节点在进行SRv6 Policy路径编排时,主用VPN SID(活动SID)和除Segmentlist[0]位置的最低优先级备份SID外的其余备份SID均必须使用END.PSD SID。For scheme 1-2, when the SDN controller or tunnel head node performs SRv6 Policy path orchestration, the primary VPN SID (active SID) and all backup SIDs except the lowest priority backup SID at the segmentlist[0] position must use the END.PSD SID.
SRv6头节点/入口节点在进行SRv6外层隧道报文封装时,先判断SRv6尾节点/出口节点的主用VPN SID是否存在备份SID,如果存在,则在SRH segmentlist的VPN SID后添加备份SID,即SegmentList(0)的位置为备份SID,如果存在多个备份SID,则按照备份SID的优先级顺序从高到低在VPN  SID后依次添加,最低优先级的备份SID放在最后。When the SRv6 head node/entry node performs SRv6 outer tunnel message encapsulation, it first determines whether the primary VPN SID of the SRv6 tail node/egress node has a backup SID. If so, the backup SID is added after the VPN SID in the SRH segmentlist, that is, the position of SegmentList(0) is the backup SID. If there are multiple backup SIDs, they are added in the VPN in descending order of priority. The backup SIDs are added in sequence, with the lowest priority backup SID placed last.
报文沿着SRv6的路径进行转发,存在如下两种情况:Packets are forwarded along the SRv6 path in the following two situations:
第一种情况,SRv6的主用尾节点/出口节点正常In the first case, the main tail node/egress node of SRv6 is normal
报文正常转发到SRv6主用尾节点/出口节点,该节点发现收到的数据包的报文头中目的地S如果存在如下情况:The message is forwarded normally to the SRv6 active egress node. The node finds that the destination S in the header of the received data packet has the following conditions:
对于新定义END.PSD SID的方案:S等于本地带有PSD Flavor的VPN SIDFor the newly defined END.PSD SID: S is equal to the local VPN SID with PSD Flavor
新定义PSD Flavor类型VPN SID:S等于本地的End.PSD SIDNewly defined PSD Flavor type VPN SID: S equals local End.PSD SID
则节点不执行对SRH中Segments Left值的检查,而是直接删除外层IPv6头及其所有扩展头,然后将解封装后的暴露的数据包转发到相应的目的地。The node does not perform a check on the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, and then forwards the decapsulated exposed data packet to the corresponding destination.
第二种情况,SRv6的主用尾节点/出口节点发生故障In the second case, the main tail node/egress node of SRv6 fails
当报文转发到SRv6隧道沿途路径的倒数第二跳端点时,该设备会发现segmentlist中的下一个SID(主用VPN SID)不可达,于是该设备按SRH.segmentlist路径顺序从segmentlist该不可达SID(主用VPN SID)之后的SID中寻找第一个可达的SID,即可达的下游节点。When the message is forwarded to the penultimate hop endpoint along the SRv6 tunnel path, the device finds that the next SID in the segmentlist (primary VPN SID) is unreachable, so the device searches for the first reachable SID (the reachable downstream node) from the SIDs after the unreachable SID (primary VPN SID) in the segmentlist according to the SRH.segmentlist path order.
如果寻找segmentlist当前SL指针之后的可达SID时,路径中不可达SID(主用VPN SID)的下一个SID(第一备份SID)可达,则将SL值减1,于是SL指针指向VPN SID后的第一备份SID,然后将数据包的目的地址修改为Segment List[SL](即第一备份SID),将报文发往第一备份SID对应的第一备份尾节点/出口节点;如果第一个备份SID不可达,则SL值继续减1,SL指针指向其后的第二优先级备份SID,如果该SID仍不可达,则SL值继续减1,直到寻找到一个可达的SID(举例为SIDn),于是将数据包的目的地址修改为Segment List[SL](即SIDn),将报文发往该备份SIDn对应的备份尾节点/出口节点,从而实现了主尾节点/出口节点故障时的自动快速保护倒换。如果直至SL=0,倒数第二跳端点后的所有下游节点均不可达,则说明所有备份尾节点全部发生故障,报文被丢弃。If the next SID (first backup SID) of the unreachable SID (primary VPN SID) in the path is reachable when searching for the reachable SID after the current SL pointer of segmentlist, the SL value is reduced by 1, so that the SL pointer points to the first backup SID after the VPN SID, and then the destination address of the data packet is modified to Segment List [SL] (i.e., the first backup SID), and the message is sent to the first backup tail node/egress node corresponding to the first backup SID; if the first backup SID is unreachable, the SL value continues to be reduced by 1, and the SL pointer points to the second priority backup SID thereafter. If the SID is still unreachable, the SL value continues to be reduced by 1 until a reachable SID (for example, SIDn) is found, and then the destination address of the data packet is modified to Segment List [SL] (i.e., SIDn), and the message is sent to the backup tail node/egress node corresponding to the backup SIDn, thereby realizing automatic fast protection switching when the primary tail node/egress node fails. If all downstream nodes after the penultimate hop endpoint are unreachable until SL = 0, it means that all backup tail nodes have failed and the message is discarded.
(2)下面对方案1(包括方案1-1:新定义END.PSD SID和方案1-2:新定义PSD Flavor类型VPN SID)的SRv6 BE多归接入尾节点/出口节点保护的运行机制进行详细说明。 (2) The following is a detailed description of the operation mechanism of SRv6 BE multi-homing access tail node/egress node protection of Solution 1 (including Solution 1-1: newly defined END.PSD SID and Solution 1-2: newly defined PSD Flavor type VPN SID).
对于方案1-1,除Segmentlist[0]位置的最低优先级备份SID外,其余备份SID和活动SID(主用VPN SID)均必须使用PSD Flavor类型的SID。For solution 1-1, except for the lowest priority backup SID at the segmentlist[0] position, the remaining backup SIDs and active SIDs (primary VPN SID) must use PSD Flavor type SIDs.
对于方案1-2,除Segmentlist[0]位置的最低优先级备份SID外,其余备份SID和活动SID(主用VPN SID)均必须使用END.PSD SID。For scheme 1-2, except for the lowest priority backup SID at the segmentlist[0] position, all other backup SIDs and active SIDs (primary VPN SID) must use the END.PSD SID.
SRv6 BE路径上的多宿主出口节点保护处理机制与SRv6 Policy路径上的保护处理是一致的,区别只是在SRv6 BE的头节点/入口节点封装IPv6外层报文头时,必须同时添加一个带有活动SID(主用VPN SID或Primary SID或Active SID)和1到多个优先级降序排列的备份SID(Backup SID)的SRH扩展头,SRH扩展头的segmentlist的封装内容如图6所示。主用SID被用作外部IP报文头的目标地址。The multi-homed egress node protection processing mechanism on the SRv6 BE path is consistent with the protection processing on the SRv6 Policy path. The only difference is that when the head node/entry node of the SRv6 BE encapsulates the IPv6 outer header, an SRH extension header with an active SID (primary VPN SID or Primary SID or Active SID) and 1 to multiple backup SIDs (Backup SIDs) in descending order of priority must be added at the same time. The encapsulation content of the segmentlist of the SRH extension header is shown in Figure 6. The primary SID is used as the destination address of the outer IP header.
除上述处理外,其余运行机制与SRv6 Policy的多归接入尾节点/出口节点保护的运行机制的方案1一致。Except for the above processing, the rest of the operation mechanism is consistent with Scheme 1 of the operation mechanism of multi-homing access tail node/egress node protection of SRv6 Policy.
图10是本公开实施例报文处理方法的实现流程示意图,应用于第一节点,所述第一节点为入口节点,如图10所示,所述方法包括:FIG10 is a schematic diagram of an implementation flow of a message processing method according to an embodiment of the present disclosure, which is applied to a first node, where the first node is an ingress node. As shown in FIG10 , the method includes:
步骤1001:将第一报文中的第一比特位进行置位为第一数值,并在第一报文中增加扩展头,将第一SID和第一信息封装在所述扩展头中,得到第五报文;其中,所述第一信息包含至少一个备份SID;或者,将第一报文中的第一比特位进行置位为第一数值,并在第一报文的扩展头中增加第一信息,得到第五报文;其中,所述第一信息包含至少一个备份SID。Step 1001: Set the first bit in the first message to a first value, add an extension header to the first message, encapsulate the first SID and the first information in the extension header, and obtain a fifth message; wherein the first information includes at least one backup SID; or, set the first bit in the first message to a first value, and add the first information to the extension header of the first message, and obtain a fifth message; wherein the first information includes at least one backup SID.
这里的“第一比特位”可以包括至少一个特定的比特位。这里的对第一比特位置位为第一数值例如可以对第一比特位置为1。The "first bit" herein may include at least one specific bit. The first bit is set to a first value, for example, the first bit may be set to 1.
在一实施例中,所述第一比特位为所述第一报文的至少一个预留比特位。In one embodiment, the first bit is at least one reserved bit of the first message.
举例来说,这里的预留比特位可以为IPv6 SRH中的Flags字段中的至少一位。图11和图12是本公开实施例IPv6 SRH中的Flags字段的示意图。如图11所示,扩展现有IPv6 SRH报文头中的Flag字段,占用一个bit,用于指示启动了节点的备份保护机制,当下一跳SID不可达时,在sengment list的后续SID中寻找下一个可到达的SID,将报文转发至该目的地。同时指示节点在移除数据包的外部封装报文头时无需判断Segmentlist的SL值。图12中,B比特位,表示备份标志位和/或移除外层封装报文头标记位。如果B-flag被 设置为1,表示启动了节点的备份保护机制,当当前SL指针指向的SID不可达时,沿SegmentList路径在sengmentlist的该不可达SID的后续SID中获得下一个可到达的SID。如果B-flag被设置为1,当非SRH.SegmentList[0]指示的节点(如:SRH.SegmentList[1]指示的节点)收到B-Flag为1的数据包时,需要移除数据包的外层封装报文头。如果B-flag被设置为0,按原有流程和Behavior动作进行处理。Reserved比特位:未使用,供将来使用。传输时必须为0,收到时忽略不计。For example, the reserved bit here can be at least one bit in the Flags field in the IPv6 SRH. Figures 11 and 12 are schematic diagrams of the Flags field in the IPv6 SRH in the embodiment of the present disclosure. As shown in Figure 11, the Flag field in the existing IPv6 SRH header is extended to occupy one bit to indicate that the backup protection mechanism of the node is started. When the next-hop SID is unreachable, the next reachable SID is found in the subsequent SIDs in the segment list, and the message is forwarded to the destination. At the same time, it indicates that the node does not need to judge the SL value of the Segmentlist when removing the outer encapsulation header of the data packet. In Figure 12, the B bit represents the backup flag bit and/or the removal of the outer encapsulation header mark bit. If the B-flag is If set to 1, it means that the backup protection mechanism of the node is started. When the SID pointed to by the current SL pointer is unreachable, the next reachable SID is obtained from the subsequent SID of the unreachable SID in the sengmentlist along the SegmentList path. If B-flag is set to 1, when a node not indicated by SRH.SegmentList[0] (such as the node indicated by SRH.SegmentList[1]) receives a data packet with B-Flag as 1, it is necessary to remove the outer encapsulation header of the data packet. If B-flag is set to 0, it is processed according to the original process and Behavior action. Reserved bit: unused for future use. Must be 0 during transmission and ignored when received.
在一实施例中,在所述第一报文中增加扩展头,并将第一SID和所述第一信息封装在所述扩展头中,包括:In one embodiment, adding an extension header to the first message, and encapsulating the first SID and the first information in the extension header, includes:
在第一报文的外层IPv6报文头中增加段路由头(SRH),并将第一SID和所述第一信息封装在SRH的段列表(segmentlist)中;其中,Add a segment routing header (SRH) to the outer IPv6 header of the first message, and encapsulate the first SID and the first information in a segment list (segmentlist) of the SRH; wherein,
第一信息的封装位置与第一SID的封装位置相邻。The encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
在一实施例中,所述第一信息的封装位置与第一SID的封装位置相邻,包括:In one embodiment, the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, including:
第一信息在段列表中的封装位置与第一SID在段列表中的封装位置相邻,且在第一SID的封装位置之后。The encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
在一实施例中,当第一信息为一个备份SID,则该备份SID的封装位置为SL[0]。In one embodiment, when the first information is a backup SID, the encapsulation position of the backup SID is SL[0].
在一实施例中,所述方法还包括:In one embodiment, the method further comprises:
确定第一SID配置有备份SID。Determine that the first SID is configured with a backup SID.
在一实施例中,所述方法包括以下内容中的至少一个:In one embodiment, the method includes at least one of the following:
所述第一出口节点为SRv6的主用尾节点;The first egress node is a primary tail node of SRv6;
所述第一SID为第一出口节点分配的SID;The first SID is a SID allocated by the first egress node;
所述备份SID为第一出口节点的保护节点分配的SID;其中,所述保护节点为第一出口节点的备份出口节点。The backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
在一实施例中,所述备份SID为第一出口节点的保护节点分配的SID,包括:In one embodiment, the backup SID is a SID allocated by a protection node of the first egress node, including:
所述备份SID有多个,不同的备份SID是由第一出口节点的不同的保护节点分配的。 There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
在一实施例中,所述方法还包括:发送所述第五报文。In one embodiment, the method further includes: sending the fifth message.
图13是本公开实施例报文处理方法的实现流程示意图,应用于网络节点,如图13所示,所述方法包括:FIG. 13 is a schematic diagram of an implementation flow of a message processing method according to an embodiment of the present disclosure, which is applied to a network node. As shown in FIG. 13 , the method includes:
步骤1301:接收第五报文;其中,所述第五报文包括第一比特位、第一SID以及第一信息,第一信息包括至少一个备份SID;Step 1301: Receive a fifth message; wherein the fifth message includes a first bit, a first SID, and first information, and the first information includes at least one backup SID;
步骤1302:在第一SID对应的节点不可达且所述第一比特位为第一数值时,将所述第五报文的目的地址改为备份SID,得到第六报文;Step 1302: When the node corresponding to the first SID is unreachable and the first bit is a first value, the destination address of the fifth message is changed to a backup SID to obtain a sixth message;
步骤1303:发送所述第六报文。Step 1303: Send the sixth message.
在一实施例中,所述将所述第五报文的目的地址改为备份SID,包括:In one embodiment, changing the destination address of the fifth message to a backup SID includes:
将所述第五报文的目的地址改为可达的备份SID。The destination address of the fifth message is changed to a reachable backup SID.
在一实施例中,将所述第五报文的目的地址改为可达的备份SID,包括:In one embodiment, changing the destination address of the fifth message to a reachable backup SID includes:
将SL指针的值减1,将所述第五报文的目的地址改为当前指针指向的备份SID;Subtract 1 from the value of the SL pointer, and change the destination address of the fifth message to the backup SID pointed to by the current pointer;
或,or,
将SL指针的值逐次减1,直至当前指针指向的备份SID对应的节点可达,则将所述第五报文的目的地址改为当前指针指向的备份SID。The value of the SL pointer is reduced by 1 successively until the node corresponding to the backup SID pointed to by the current pointer is reachable, and then the destination address of the fifth message is changed to the backup SID pointed to by the current pointer.
图14是本公开实施例报文处理方法的实现流程示意图,应用于第二节点,所述第二节点为出口节点,如图14所示,所述方法包括:FIG. 14 is a schematic diagram of an implementation flow of a message processing method according to an embodiment of the present disclosure, which is applied to a second node, where the second node is an egress node. As shown in FIG. 14 , the method includes:
步骤1401:接收第五报文或第六报文;Step 1401: receiving the fifth message or the sixth message;
步骤1402:在所述第五报文或第六报文中目的地址为第二节点的本地SID,且第五报文或第六报文中的第一比特位为第一数值时,移除所述第五报文或第六报文的外层报文头,得到第七报文;Step 1402: When the destination address in the fifth message or the sixth message is the local SID of the second node and the first bit in the fifth message or the sixth message is the first value, remove the outer message header of the fifth message or the sixth message to obtain a seventh message;
步骤1403:发送所述第七报文。Step 1403: Send the seventh message.
在实际实现时,这里,SID可以为业务SID(service SID)或VPN SID,具体示例,可以为RFC8986中定义的End.DT4,End.DT6,End.DT46,End.DX4,End.DX6,End.DX2,End.DX2V或End.DX2M类型SID。In actual implementation, here, the SID can be a service SID (service SID) or a VPN SID. For example, it can be End.DT4, End.DT6, End.DT46, End.DX4, End.DX6, End.DX2, End.DX2V or End.DX2M type SID defined in RFC8986.
在一实施例中,所述移除所述第二报文或第三报文的外层报文头,还包括:In one embodiment, removing the outer message header of the second message or the third message further includes:
在SRH处理流程中不执行对第五报文或第六报文的第三信息的值进行判 断的步骤;移除所述第五报文或第六报文的外层报文头;In the SRH processing flow, the value of the third information of the fifth message or the sixth message is not judged. The step of disconnecting; removing the outer message header of the fifth message or the sixth message;
和/或,and / or,
在SRH处理流程中确定第五报文或第六报文的第三信息的值为特定的至少一个值;移除所述第五报文或第六报文的外层报文头。In the SRH processing flow, determining that the value of the third information of the fifth message or the sixth message is at least one specific value; and removing the outer message header of the fifth message or the sixth message.
在一实施例中,所述方法还包括:In one embodiment, the method further comprises:
在SRH处理流程中,确定第五报文或第六报文的第三信息的值不为特定的至少一个值时,发送问题信息并丢弃所述第五报文或第六报文。In the SRH processing flow, when it is determined that the value of the third information of the fifth message or the sixth message is not at least one specific value, a problem message is sent and the fifth message or the sixth message is discarded.
在一实施例中,所述第三信息为外层封装报文头SRH中的segmentleft字段信息。In one embodiment, the third information is the segmentleft field information in the outer encapsulation message header SRH.
在一实施例中,所述移除所述第五报文或第六报文的外层报文头,包括:In one embodiment, removing the outer message header of the fifth message or the sixth message includes:
移除所述第五报文或第六报文的外层封装IPv6头及其所有扩展头;或,Removing the outer encapsulation IPv6 header and all extension headers of the fifth message or the sixth message; or,
删除所述第五报文或第六报文的外层封装IPv6头及其所有扩展头;或,Deleting the outer encapsulation IPv6 header and all extension headers of the fifth message or the sixth message; or,
解封装所述第五报文或第六报文的外层IPv6头及其所有扩展头。Decapsulate the outer IPv6 header and all extension headers of the fifth or sixth message.
(1)下面对方案2(转发面扩展SRH.B-flag)的SRv6 Policy多归接入尾节点/出口节点保护的运行机制进行详细说明。(1) The following is a detailed description of the operating mechanism of SRv6 Policy multi-homing access tail node/egress node protection for Solution 2 (forwarding plane extension SRH.B-flag).
SRv6头节点/入口节点在进行SRv6外层隧道报文封装时,先判断SRv6尾节点/出口节点的主用VPN SID是否存在备份SID,如果存在,则将SRH.B-flag取值设置为1,且在SRH segmentlist的VPN SID后添加备份SID,即SegmentList(0)的位置为备份SID,如果存在多个备份SID,则按照备份SID的优先级顺序从高到低在VPN SID后依次添加,最低优先级的备份SID放在最后。When the SRv6 head node/ingress node performs SRv6 outer tunnel message encapsulation, it first determines whether there is a backup SID for the primary VPN SID of the SRv6 tail node/egress node. If so, the SRH.B-flag value is set to 1, and the backup SID is added after the VPN SID in the SRH segmentlist, that is, the position of SegmentList(0) is the backup SID. If there are multiple backup SIDs, they are added in descending order of priority after the VPN SID, with the lowest priority backup SID placed at the end.
报文沿着SRv6的路径进行转发,存在如下两种情况:Packets are forwarded along the SRv6 path in the following two situations:
第一种情况,SRv6的主用尾节点/出口节点正常In the first case, the main tail node/egress node of SRv6 is normal
报文正常转发到SRv6主用尾节点/出口节点,该节点发现收到的数据包的报文头中目的地S等于本地的End.DT4或End.DT6或End.DT46或End.DX4,End.DX6或End.DX2或End.DX2V或End.DX2M SID,且报文头的SRH.B-flag=1,则节点不执行对SRH中Segments Left值的检查,而是直接删除外层IPv6头及其所有扩展头,然后将解封装后的暴露的数据包转发到相应的目的地。 The message is forwarded normally to the SRv6 active tail node/egress node. The node finds that the destination S in the message header of the received data packet is equal to the local End.DT4 or End.DT6 or End.DT46 or End.DX4, End.DX6 or End.DX2 or End.DX2V or End.DX2M SID, and the SRH.B-flag in the message header is 1. The node does not check the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, and then forwards the decapsulated exposed data packet to the corresponding destination.
第二种情况,SRv6的主用尾节点/出口节点发生故障In the second case, the main tail node/egress node of SRv6 fails
当报文转发到SRv6隧道沿途路径的倒数第二跳端点时,该设备会发现segmentlist中的下一个SID(主用VPN SID或Primary SID或Active SID)不可达,如果当前报文头的SRH.B-flag=1,于是该设备沿SRH.segmentlist路径顺序寻找SRH.segmentlist中该不可达SID(主用VPN SID或Primary SID或Active SID)之后的SID,直到寻找到第一个可到达的SID,即可达的下游节点。When the message is forwarded to the penultimate hop endpoint along the SRv6 tunnel path, the device will find that the next SID in the segmentlist (primary VPN SID or Primary SID or Active SID) is unreachable. If the SRH.B-flag in the current message header is 1, the device will search for the SID after the unreachable SID (primary VPN SID or Primary SID or Active SID) in the SRH.segmentlist along the SRH.segmentlist path until the first reachable SID is found, that is, the reachable downstream node.
如果沿segmentlist路径顺序寻找的当前不可达节点(主用VPN SID或Primary SID或Active SID)之后的第一个SID(第一备份SID)是可达的,则将SL值减1,于是SL指针指向主用VPN SID后的第一备份SID,然后将数据包的目的地址修改为Segment List[SL](即第一备份SID),将报文发往第一备份SID对应的第一备份尾节点/出口节点;如果第一个备份SID不可达,则SL值继续减1,SL指针指向其后的第二优先级备份SID,如果该SID仍不可达,则SL值继续减1,直到寻找到一个可达的SID(举例为SIDn),于是将数据包的目的地址修改为Segment List[SL](即SIDn),将报文发往该备份SIDn对应的备份尾节点/出口节点,从而实现了主尾节点/出口节点故障时的自动快速保护倒换。如果直至SL=0,倒数第二跳端点后的所有下游节点均不可达,则说明所有备份尾节点全部发生故障,报文被丢弃。If the first SID (first backup SID) after the current unreachable node (primary VPN SID or Primary SID or Active SID) searched sequentially along the segmentlist path is reachable, the SL value is reduced by 1, so that the SL pointer points to the first backup SID after the primary VPN SID, and then the destination address of the data packet is modified to Segment List[SL] (i.e., the first backup SID), and the message is sent to the first backup tail node/exit node corresponding to the first backup SID; if the first backup SID is unreachable, the SL value continues to be reduced by 1, and the SL pointer points to the second priority backup SID thereafter. If the SID is still unreachable, the SL value continues to be reduced by 1 until a reachable SID (for example, SIDn) is found, then the destination address of the data packet is modified to Segment List[SL] (i.e., SIDn), and the message is sent to the backup tail node/exit node corresponding to the backup SIDn, thereby realizing automatic and fast protection switching when the primary tail node/exit node fails. If all downstream nodes after the penultimate hop endpoint are unreachable until SL=0, it means that all backup tail nodes have failed and the message is discarded.
(2)下面对方案2(转发面扩展SRH.B-flag)的SRv6 BE多归接入尾节点/出口节点保护的运行机制进行详细说明。(2) The operating mechanism of SRv6 BE multi-homing access tail node/egress node protection of Solution 2 (forwarding plane extension SRH.B-flag) is described in detail below.
SRv6 BE路径上的多宿主出口节点保护处理机制与SRv6 Policy路径上的保护处理是一致的,区别只是在SRv6 BE的头节点/入口节点封装IPv6外层报文头时,必须同时添加一个带有活动SID(主用VPN SID或Primary SID或Active SID)和1到多个优先级降序排列的备份SID(Backup SID)的SRH扩展头,SRH扩展头的segmentlist的封装内容如图6所示。同时将SRH.B-flag设置为1,主用VPN SID(Primary SID或Active SID)被用作外部IP报文头的目标地址。The multi-homed egress node protection processing mechanism on the SRv6 BE path is consistent with the protection processing on the SRv6 Policy path. The only difference is that when the head node/entry node of the SRv6 BE encapsulates the IPv6 outer header, an SRH extension header with an active SID (primary VPN SID or Primary SID or Active SID) and 1 to multiple backup SIDs (Backup SID) in descending order of priority must be added at the same time. The encapsulation content of the segmentlist of the SRH extension header is shown in Figure 6. At the same time, the SRH.B-flag is set to 1, and the primary VPN SID (Primary SID or Active SID) is used as the destination address of the outer IP header.
除上述处理外,其余运行机制与SRv6 Policy的多归接入尾节点/出口节点保护的运行机制的方案2一致。 Except for the above processing, the rest of the operation mechanism is consistent with Solution 2 of the operation mechanism of multi-homing access tail node/egress node protection of SRv6 Policy.
下面结合具体实施例对本公开实施例报文处理方法的实现过程进行详细说明。The implementation process of the message processing method of the embodiment of the present disclosure is described in detail below in conjunction with specific embodiments.
注:Segmentlist表示为<S1,S2,S3>,其中S1是沿着SRv6路径要访问的第一个SID,S2是要访问的第二个SID,S3是要访问的最后一个SID。Note: Segmentlist is expressed as <S1,S2,S3>, where S1 is the first SID to be accessed along the SRv6 path, S2 is the second SID to be accessed, and S3 is the last SID to be accessed.
示例一Example 1
方案1(包括方案1-1和方案1-2):SRv6 Policy双归尾节点/出口节点的保护机制Solution 1 (including Solution 1-1 and Solution 1-2): SRv6 Policy Dual End Node/Egress Node Protection Mechanism
(1)组网说明及业务配置(1) Network description and service configuration
图15是本公开实施例网络组网结构及各设备SID分配示意图,假设网络中包含PE1、PE2、PE3、PE4、P1、P2、P3、P4路由器设备,其中,VPN1用户包含CE1和CE2两个站点,且站点CE2双归接入PE2和PE3,CE1到CE2的流量通过SRv6 Policy隧道承载,路径信息如下:FIG15 is a schematic diagram of the network structure and SID allocation of each device in an embodiment of the present disclosure. It is assumed that the network includes PE1, PE2, PE3, PE4, P1, P2, P3, and P4 router devices, wherein VPN1 users include two sites, CE1 and CE2, and site CE2 is dual-homed to PE2 and PE3. The traffic from CE1 to CE2 is carried through the SRv6 Policy tunnel. The path information is as follows:
Segmentlist:<A:1::1,A:11::1,A:12::1,A:3::B100>Segmentlist: <A:1::1,A:11::1,A:12::1,A:3::B100>
需要注意的是:have to be aware of is:
对于方案1-1,上述A:3::1 B100必须为PSD Flavor的VPN SID。For solution 1-1, the above A:3::1 B100 must be the VPN SID of PSD Flavor.
对于方案1-2,上述A:3::1 B100必须为END.PSD SID。For Scheme 1-2, the above A:3::1 B100 must be the END.PSD SID.
A:3::B100为PE3设备分配VPN1用户的VPN SID,A:4::B100为PE4设备分配给VPN1客户的VPN SID,即A:3::B100为主业务SID,A:4::B100备份SID,并在SRv6 Policy头节点PE1设备上配置该VPN1用户的主业务SID和备份SID的对应关系。A:3::B100 assigns VPN SID of VPN1 user to PE3 device, and A:4::B100 assigns VPN SID of VPN1 customer to PE4 device, that is, A:3::B100 is the primary service SID, A:4::B100 is the backup SID, and the correspondence between the primary service SID and the backup SID of the VPN1 user is configured on the SRv6 Policy head node PE1 device.
(2)SRv6 Policy双归尾节点/出口节点故障保护的处理流程(2) SRv6 Policy dual tail node/egress node failure protection process
以下处理流程以方案1-1为例,VPN SID为END.DT6 SID进行描述。The following processing flow takes solution 1-1 as an example and describes the VPN SID as END.DT6 SID.
PE1设备收到CE1发送过来的报文,在进行隧道外层IPv6报文头的封装时,根据本地配置的备份SID信息,知道该VPN1存在双归保护尾节点,于是先执行如下动作:When PE1 receives the packet from CE1 and encapsulates the outer IPv6 header of the tunnel, it knows that VPN1 has a dual-homing protection tail node based on the locally configured backup SID information. Therefore, it first performs the following actions:
A.判断segmentlist中的主用VPN SID A:3::B100是否为PSD Flavor SID,如果是,则执行第B步;如果不是,则执行如下动作之一:A. Determine whether the primary VPN SID A:3::B100 in the segmentlist is a PSD Flavor SID. If so, proceed to step B. If not, perform one of the following actions:
通知控制器尾节点保护机制启用失败,设备按照SRv6 Policy单尾节点的标准流程执行; Notify the controller that the tail node protection mechanism has failed to be enabled, and the device will follow the standard process of the SRv6 Policy single tail node.
通知控制器,待其重新下发带PSD Flavor的VPN SID的segmentlist后,再执行第B步;Notify the controller to wait for it to re-issue the segmentlist of VPN SID with PSD Flavor, and then execute step B;
将当前主用VPN SID替换为PE3节点为VPN1用户分配的带PSD Flavor的VPN SID,然后执行第B步。Replace the current primary VPN SID with the VPN SID with PSD Flavor assigned by the PE3 node to the VPN1 user, and then execute step B.
B.在segmentlist的VPN SID A:3::B100之后添加备份SID A:4::B100,即备份SID封装在SL[0]位置。B. Add backup SID A:4::B100 after VPN SID A:3::B100 in segmentlist, that is, the backup SID is encapsulated in the SL[0] position.
注:对于方案1-2,上述第A步的第一句改为“判断segmentlist中的主用VPN SID A:3::B100是否为END.PSD SID“,其余与方案1-1完全相同。Note: For Solution 1-2, the first sentence of step A above is changed to "Determine whether the primary VPN SID A:3::B100 in segmentlist is the END.PSD SID". The rest is exactly the same as Solution 1-1.
之后,PE1设备再执行标准的SRv6 Policy转发流程。After that, the PE1 device executes the standard SRv6 Policy forwarding process.
图16是本公开实施例SRv6 Policy双归尾节点/出口节点故障保护的报文转发示意图,如图16所示,当报文沿着SRv6 Policy路径到达segmentlist的倒数第二跳节点P2节点时,P2设备发现收到的数据包的报文头中目的地A:12::1为本地SID,于是执行SL值减1操作,于是SL=1,P2将报文的目的地址修改为segmentlist的SL[1]位置的A:3::B100,并进行查表转发。此时,存在如下两种情况:FIG16 is a schematic diagram of message forwarding for SRv6 Policy dual tail node/egress node fault protection in an embodiment of the present disclosure. As shown in FIG16 , when the message arrives at the penultimate hop node P2 of the segmentlist along the SRv6 Policy path, the P2 device finds that the destination A:12::1 in the message header of the received data packet is the local SID, and then performs an SL value minus 1 operation, so SL=1, and P2 modifies the destination address of the message to A:3::B100 at the SL[1] position of the segmentlist, and performs table lookup forwarding. At this time, there are the following two situations:
第一种情况,主用尾节点/出口节点PE3正常运行In the first case, the main tail node/egress node PE3 is operating normally.
P2将报文正常转发至主用尾节点/出口节点PE3,PE3设备发现收到的数据包的报文头中目的地A:3::B100为本地带有PSD Flavor的End.DT6 SID,则不执行对SRH中Segments Left值的检查,而是直接删除外层IPv6头及其所有扩展头,恢复内层原始报文,在本地查找路由表,将原始报文转发至CE2设备。P2 forwards the message normally to the main tail node/egress node PE3. PE3 finds that the destination A:3::B100 in the message header of the received data packet is the local End.DT6 SID with PSD Flavor. It does not check the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, restores the inner original message, searches the routing table locally, and forwards the original message to CE2.
注:对于方案1-2,上述步骤中的“PE3设备发现收到的数据包的报文头中目的地A:3::B100为本地带有PSD Flavor的End.DT6 SID”改为“PE3设备发现收到的数据包的报文头中目的地A:3::B100为本地的END.PSD SID”,其余与方案1-1完全相同。Note: For Solution 1-2, the above step "PE3 device finds that the destination A:3::B100 in the header of the received data packet is the local End.DT6 SID with PSD Flavor" is changed to "PE3 device finds that the destination A:3::B100 in the header of the received data packet is the local END.PSD SID", and the rest is exactly the same as Solution 1-1.
第二种情况,主用尾节点/出口节点PE3发生故障In the second case, the main tail node/egress node PE3 fails
P2设备发现segmentlist中的下一个SID(主用VPN SID或Primary SID或Active SID A:3::B100)不可达,于是该设备沿SRH.segmentlist路径顺序寻找该主用VPN SID(Primary SID或Active SID)之后的SID,直到寻找到第 一个可到达的SID(即可达的下游节点)。首先P2设备执行SL值减1操作,于是SL=0,SL指针当前指向SL[0]位置的备份SID(Backup SID)A:4::B100,P2从SL[0]位置读取出备份SID A:4::B100,并将报文的目的地址修改为该备份SID A:4::B100。The P2 device finds that the next SID in the segmentlist (primary VPN SID or primary SID or active SID A:3::B100) is unreachable, so the device searches for the SID after the primary VPN SID (primary SID or active SID) along the SRH.segmentlist path until it finds the next SID. A reachable SID (i.e., a reachable downstream node). First, the P2 device performs the SL value minus 1 operation, so SL = 0, and the SL pointer currently points to the backup SID (Backup SID) A:4::B100 at the SL[0] position. P2 reads the backup SID A:4::B100 from the SL[0] position and modifies the destination address of the message to the backup SID A:4::B100.
P2设备继续根据该新的目的地址(备份SID)将报文发往备份尾节点/出口节点PE4,如果PE4故障,则报文丢弃;如果PE4正常,则报文达到PE4设备。The P2 device continues to send the message to the backup tail node/egress node PE4 according to the new destination address (backup SID). If PE4 fails, the message is discarded; if PE4 is normal, the message reaches the PE4 device.
PE4设备发现收到的数据包的报文头中目的地A:4::B100为本地End.DT6SID,于是解除外层IPv6封装,恢复内层原始报文,在本地查找路由表,将原始报文转发至CE2设备,从而自动实现了主尾节点/出口节点PE2故障时的自动保护倒换。PE4 finds that the destination A:4::B100 in the header of the received data packet is the local End.DT6SID, so it removes the outer IPv6 encapsulation, restores the inner original message, searches the routing table locally, and forwards the original message to CE2, thereby automatically implementing automatic protection switching when the main tail node/egress node PE2 fails.
示例二Example 2
方案2:SRv6 Policy双归尾节点/出口节点的保护机制Solution 2: SRv6 Policy Dual End Node/Egress Node Protection Mechanism
(1)组网说明及业务配置(1) Network description and service configuration
图15是本公开实施例网络组网结构及各设备SID分配示意图,假设网络中包含PE1、PE2、PE3、PE4、P1、P2、P3、P4路由器设备,其中,VPN1用户包含CE1和CE2两个站点,且站点CE2双归接入PE2和PE3,CE1到CE2的流量通过SRv6 Policy隧道承载,路径信息如下:FIG15 is a schematic diagram of the network structure and SID allocation of each device in an embodiment of the present disclosure. It is assumed that the network includes PE1, PE2, PE3, PE4, P1, P2, P3, and P4 router devices, wherein VPN1 users include two sites, CE1 and CE2, and site CE2 is dual-homed to PE2 and PE3. The traffic from CE1 to CE2 is carried through the SRv6 Policy tunnel. The path information is as follows:
Segmentlist:<A:1::1,A:11::1,A:12::1,A:3::B100>Segmentlist: <A:1::1,A:11::1,A:12::1,A:3::B100>
A:3::B100为PE3设备分配VPN1用户的VPN SID,A:4::B100为PE4设备分配给VPN1客户的VPN SID,即A:3::B100为主业务SID,A:4::B100备份SID,并在SRv6 Policy头节点PE1设备上配置该VPN1用户的主业务SID和备份SID的对应关系。A:3::B100 assigns VPN SID of VPN1 user to PE3 device, and A:4::B100 assigns VPN SID of VPN1 customer to PE4 device, that is, A:3::B100 is the primary service SID, A:4::B100 is the backup SID, and the correspondence between the primary service SID and the backup SID of the VPN1 user is configured on the SRv6 Policy head node PE1 device.
(2)SRv6 Policy双归尾节点/出口节点故障保护的处理流程(2) SRv6 Policy dual tail node/egress node failure protection process
以下处理流程以方案2为例,VPN SID为END.DT6 SID进行描述。The following processing flow takes Solution 2 as an example and describes the VPN SID as END.DT6 SID.
PE1设备收到CE1发送过来的报文,在进行隧道外层IPv6报文头的封装时,根据本地配置的备份SID信息,知道该VPN1存在双归保护尾节点,于是将SRH.B-flag的取值设置为1,其在segmentlist的VPN SID A:3::B100之后添加备份SID A:4::B100,即备份SID封装在SL[0]位置。 When PE1 receives the packet sent by CE1 and encapsulates the outer IPv6 header of the tunnel, it knows that VPN1 has a dual-homing protection tail node based on the locally configured backup SID information. Therefore, it sets the value of SRH.B-flag to 1 and adds backup SID A:4::B100 after VPN SID A:3::B100 in segmentlist. That is, the backup SID is encapsulated in the SL[0] position.
之后,PE1设备再执行标准的SRv6 Policy转发流程。After that, the PE1 device executes the standard SRv6 Policy forwarding process.
图17是本公开实施例SRv6 Policy双归尾节点/出口节点故障保护的报文转发示意图,如图17所示,当报文沿着SRv6 Policy路径到达segmentlist的倒数第二跳节点P2节点时,P2设备发现收到的数据包的报文头中目的地A:12::1为本地SID,于是执行SL值减1操作,于是SL=1,P2将报文的目的地址修改为segmentlist的SL[1]位置的A:3::B100,并进行查表转发。此时,存在如下两种情况:FIG17 is a schematic diagram of message forwarding for SRv6 Policy dual tail node/egress node fault protection in an embodiment of the present disclosure. As shown in FIG17 , when the message arrives at the penultimate hop node P2 of the segmentlist along the SRv6 Policy path, the P2 device finds that the destination A:12::1 in the message header of the received data packet is the local SID, and then performs an SL value minus 1 operation, so SL=1, and P2 modifies the destination address of the message to A:3::B100 at the SL[1] position of the segmentlist, and performs table lookup forwarding. At this time, there are the following two situations:
第一种情况,主用尾节点/出口节点PE3正常运行In the first case, the main tail node/egress node PE3 is operating normally.
P2将报文正常转发至主用尾节点/出口节点PE3,PE3设备发现收到的数据包的报文头中目的地A:3::B100为本地的End.DT6 SID且报文头的SRH.B-flag=1,则不执行对SRH中Segments Left值的检查,而是直接删除外层IPv6头及其所有扩展头,恢复内层原始报文,在本地查找路由表,将原始报文转发至CE2设备。P2 forwards the message to the active tail node/egress node PE3 normally. PE3 finds that the destination A:3::B100 in the message header of the received data packet is the local End.DT6 SID and the SRH.B-flag in the message header is 1. It does not check the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, restores the inner original message, searches the routing table locally, and forwards the original message to CE2.
第二种情况,主用尾节点/出口节点PE3发生故障In the second case, the main tail node/egress node PE3 fails
P2设备发现segmentlist中的下一个SID(主用VPN SID或Primary SID或Active SID A:3::B100)不可达且报文头的SRH.B-flag=1,于是该设备沿SRH.segmentlist路径顺序寻找SRH.segmentlist当前不可达节点(主用VPN SID或Primary SID或Active SID)之后的SID,直到寻找到第一个可到达的SID(即可达的下游节点)。The P2 device finds that the next SID in the segmentlist (primary VPN SID or Primary SID or Active SID A:3::B100) is unreachable and the SRH.B-flag in the message header is 1, so the device searches for the SID after the current unreachable node in the SRH.segmentlist (primary VPN SID or Primary SID or Active SID) along the SRH.segmentlist path until the first reachable SID (that is, the reachable downstream node) is found.
首先P2设备执行SL值减1操作,于是SL=0,SL指针当前指向SL[0]位置的备份SID A:4::B100。First, the P2 device performs the SL value minus 1 operation, so SL=0, and the SL pointer currently points to the backup SID A:4::B100 at the SL[0] position.
如果PE4正常,则该备份SID A:4::B100对应节点可达,于是P2从SL[0]位置读取出备份SID A:4::B100,并将报文的目的地址修改为该备份SID A:4::B100。If PE4 is normal, the node corresponding to the backup SID A:4::B100 is reachable, so P2 reads the backup SID A:4::B100 from the SL[0] position and changes the destination address of the message to the backup SID A:4::B100.
P2设备继续根据该新的目的地址A:4::B100(备份SID)将报文发往备份尾节点/出口节点PE4。The P2 device continues to send the message to the backup tail node/egress node PE4 according to the new destination address A:4::B100 (backup SID).
PE4设备发现收到的数据包的报文头中目的地A:4::B100为本地End.DT6SID,于是解除外层IPv6封装,恢复内层原始报文,在本地查找路由表,将原始报文转发至CE2设备,从而自动实现了主尾节点/出口节点PE2故障时 的自动保护倒换。PE4 finds that the destination A:4::B100 in the header of the received data packet is the local End.DT6SID, so it removes the outer IPv6 encapsulation, restores the inner original message, searches the local routing table, and forwards the original message to CE2, thus automatically realizing the main tail node/egress node PE2 failure Automatic protection switching.
示例三Example 3
方案1(包括方案1-1和方案1-2):多归尾节点/出口节点的保护机制Solution 1 (including Solution 1-1 and Solution 1-2): Protection mechanism for multiple home nodes/egress nodes
(1)组网说明及业务配置(1) Network description and service configuration
图18是本公开实施例网络组网结构及各设备SID分配示意图,假设网络中包含PE1、PE2、PE3、PE4、P1、P2、P3路由器设备,其中,VPN1用户包含CE1和CE2两个站点,且站点CE2多归接入PE2、PE3和PE4,CE1到CE2的流量通过SRv6 Policy隧道承载,路径信息如下:FIG18 is a schematic diagram of the network structure and SID allocation of each device in an embodiment of the present disclosure. Assume that the network includes PE1, PE2, PE3, PE4, P1, P2, and P3 router devices, where VPN1 users include two sites, CE1 and CE2, and site CE2 is multi-homed to PE2, PE3, and PE4. The traffic from CE1 to CE2 is carried through the SRv6 Policy tunnel. The path information is as follows:
Segmentlist:<A:1::1,A:11::1,A:2::B100>Segmentlist: <A:1::1,A:11::1,A:2::B100>
A:2::B100为PE2设备分配给VPN1用户的VPN SID,A:3::B100为PE3设备分配给VPN1用户的VPN SID,A:4::B100为PE4设备分配给VPN1客户的VPN SID,即A:2::B100为主业务SID,A:3::B100为第一备份SID,A:4::B100为第二备份SID,并在SRv6 Policy头节点PE1设备上配置该VPN1用户的主业务SID和备份SID的对应关系。A:2::B100 is the VPN SID assigned to the VPN1 user by PE2, A:3::B100 is the VPN SID assigned to the VPN1 user by PE3, and A:4::B100 is the VPN SID assigned to the VPN1 customer by PE4. That is, A:2::B100 is the primary service SID, A:3::B100 is the first backup SID, and A:4::B100 is the second backup SID. The correspondence between the primary service SID and the backup SID of the VPN1 user is configured on the SRv6 Policy head node PE1.
需要注意的是:have to be aware of is:
对于方案1-1,上述A:2::B100和A:3::B100必须为PSD Flavor的VPN SID。For solution 1-1, the above A:2::B100 and A:3::B100 must be the VPN SID of PSD Flavor.
对于方案1-2,上述A:2::B100和A:3::B100必须为END.PSD SID。For scheme 1-2, the above A:2::B100 and A:3::B100 must be END.PSD SID.
(2)SRv6 Policy多归尾节点/出口节点故障保护的处理流程(2) SRv6 Policy multi-end node/egress node failure protection process
以下处理流程以方案1-1为例,VPN SID为END.DT6 SID进行描述。The following processing flow takes solution 1-1 as an example and describes the VPN SID as END.DT6 SID.
PE1设备收到CE1发送过来的报文,在进行隧道外层IPv6报文头的封装时,根据本地配置的备份SID信息,知道该VPN1存在多归保护尾节点,于是先执行如下动作:When PE1 receives the packet from CE1 and encapsulates the outer IPv6 header of the tunnel, it knows that VPN1 has a multi-homing protection tail node based on the locally configured backup SID information. Therefore, it first performs the following actions:
A.判断segmentlist中的主用VPN SID A:2::B100是否为PSD Flavor SID,如果是,则执行第B步;如果不是,则执行如下动作之一:A. Determine whether the primary VPN SID A:2::B100 in the segmentlist is a PSD Flavor SID. If so, proceed to step B. If not, perform one of the following actions:
通知控制器尾节点保护机制启用失败,设备按照SRv6 Policy单尾节点的标准流程执行;Notify the controller that the tail node protection mechanism has failed to be enabled, and the device will follow the standard process of SRv6 Policy single tail node.
通知控制器,待其重新下发带PSD Flavor的VPN SID的segmentlist后,再执行第B步; Notify the controller and wait for it to re-send the segmentlist of VPN SID with PSD flavor before executing step B.
将当前主用VPN SID替换为PE2节点为VPN1用户分配的带PSD Flavor的VPN SID,然后执行第B步。Replace the current primary VPN SID with the VPN SID with PSD Flavor assigned by the PE2 node to the VPN1 user, and then execute step B.
B.在segmentlist的VPN SID A:2::B100之后按照优先级降序顺序依次添加第一备份SID A:3::B100、第二备份SID A:4::B100,即第一备份SID封装在SL[1]位置、第二备份SID封装在SL[0]位置。B. Add the first backup SID A:3::B100 and the second backup SID A:4::B100 in descending order of priority after VPN SID A:2::B100 in segmentlist, that is, the first backup SID is encapsulated in the SL[1] position and the second backup SID is encapsulated in the SL[0] position.
需要注意的是:对于方案1-2,上述第A步的第一句改为“判断segmentlist中的主用VPN SID A:2::B100是否为END.PSD SID“,其余与方案1-1完全相同。It should be noted that for Solution 1-2, the first sentence of step A above is changed to "Determine whether the primary VPN SID A:2::B100 in segmentlist is the END.PSD SID", and the rest is exactly the same as Solution 1-1.
之后,PE1设备再执行标准的SRv6 Policy转发流程。After that, the PE1 device executes the standard SRv6 Policy forwarding process.
当报文沿着SRv6 Policy路径到达segmentlist的倒数第二跳节点P1节点时,P1设备发现收到的数据包的报文头中目的地A:11::1为本地SID,于是执行SL值减1操作,于是SL=2,P1将报文的目的地址修改为segmentlist的SL[2]位置的A:2::B100,并进行查表转发。此时,存在如下两种情况:When the message arrives at the penultimate hop node P1 in the segmentlist along the SRv6 Policy path, the P1 device finds that the destination A:11::1 in the header of the received data packet is the local SID, so it performs the SL value minus 1 operation, so SL=2, P1 modifies the destination address of the message to A:2::B100 at the SL[2] position of the segmentlist, and forwards it by looking up the table. At this time, there are the following two situations:
第一种情况,主用尾节点/出口节点PE2正常运行In the first case, the main tail node/egress node PE2 is operating normally
P1将报文正常转发至主用尾节点/出口节点PE2,PE2设备发现收到的数据包的报文头中目的地A:2::B100为本地带有PSD Flavor的End.DT6 SID,则不执行对SRH中Segments Left值的检查,而是直接删除外层IPv6头及其所有扩展头,恢复内层原始报文,在本地查找路由表,将原始报文转发至CE2设备。P1 forwards the message to the active tail node/egress node PE2 normally. PE2 finds that the destination A:2::B100 in the message header of the received data packet is the local End.DT6 SID with PSD Flavor. It does not check the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, restores the inner original message, searches the routing table locally, and forwards the original message to CE2.
需要注意的是:对于方案2-2,上述步骤中的“PE2设备发现收到的数据包的报文头中目的地A:2::B100为本地带有PSD Flavor的End.DT6 SID”改为“PE2设备发现收到的数据包的报文头中目的地A:2::B100为本地的END.PSD SID”,其余与方案2-1完全相同。It should be noted that for Solution 2-2, the above step "PE2 device discovers that the destination A:2::B100 in the header of the received data packet is the local End.DT6 SID with PSD Flavor" is changed to "PE2 device discovers that the destination A:2::B100 in the header of the received data packet is the local END.PSD SID", and the rest is exactly the same as Solution 2-1.
第二种情况,主用尾节点/出口节点PE2发生故障In the second case, the active tail node/egress node PE2 fails.
P1设备发现segmentlist中的下一个SID(主VPN SID A:2::B100)不可达,于是该设备沿SRH.segmentlist路径顺序寻找SRH.segmentlist当前不可达SID(主用VPN SID或Primary SID或Active SID)之后的SID,直到寻找到第一个可到达的SID(即可达的下游节点)。首先P1设备执行SL值减1操作,于是SL=1,SL指针当前指向SL[1]位置的备份SID A:3::B100。 The P1 device finds that the next SID in the segmentlist (primary VPN SID A:2::B100) is unreachable, so the device searches for the SID after the currently unreachable SID (primary VPN SID or Primary SID or Active SID) in the SRH.segmentlist path in sequence until it finds the first reachable SID (i.e., the reachable downstream node). First, the P1 device performs the SL value minus 1 operation, so SL=1, and the SL pointer currently points to the backup SID A:3::B100 at the SL[1] position.
如果PE3正常,则该备份SID A:3::B100对应节点可达,于是P1从SL[1]位置读取出第一备份SID A:3::B100,并将报文的目的地址修改为该第一备份SID A:3::B100。If PE3 is normal, the node corresponding to the backup SID A:3::B100 is reachable, so P1 reads the first backup SID A:3::B100 from the SL[1] position and changes the destination address of the message to the first backup SID A:3::B100.
P1设备继续根据该新的目的地址(第一备份SID)将报文发往第一备份尾节点/出口节点PE3。The P1 device continues to send the message to the first backup tail node/egress node PE3 according to the new destination address (the first backup SID).
报文达到PE3设备,PE3设备发现收到的数据包的报文头中目的地A:3::B100为本地带有PSD Flavor的End.DT6 SID,则不执行对SRH中Segments Left值的检查,而是直接删除外层IPv6头及其所有扩展头,恢复内层原始报文。在本地查找路由表,将原始报文转发至CE2设备。从而自动实现了主尾节点/出口节点PE2故障时的自动保护倒换。When the message reaches PE3, PE3 finds that the destination A:3::B100 in the message header of the received data packet is the local End.DT6 SID with PSD Flavor. It does not check the Segments Left value in SRH, but directly deletes the outer IPv6 header and all its extension headers to restore the inner original message. It searches the local routing table and forwards the original message to CE2. This automatically implements automatic protection switching when the main tail node/egress node PE2 fails.
需要注意的是:对于方案1-2,上述步骤中的红色字体改为“PE3设备发现收到的数据包的报文头中目的地A:3::B100为本地的END.PSD SID”,其余与方案1-1完全相同。It should be noted that: for Solution 1-2, the red font in the above steps is changed to "PE3 device finds that the destination A:3::B100 in the header of the received data packet is the local END.PSD SID", and the rest is exactly the same as Solution 1-1.
图19是本公开实施例SRv6 Policy多归尾节点/出口节点故障保护的报文转发示意图(PE2故障场景),图19所示的是仅主用尾节点/出口节点PE2故障场景下的报文转发。Figure 19 is a schematic diagram of message forwarding for SRv6 Policy multi-home tail node/egress node failure protection (PE2 failure scenario) in an embodiment of the present disclosure. Figure 19 shows message forwarding in a scenario where only the main tail node/egress node PE2 fails.
如果PE3故障,则P1设备发现segmentlist中的第一备份SID A:3::B100也不可达,于是继续执行SL值减1操作,于是SL=0,SL指针当前指向SL[0]位置的第二备份SID A:4::B100,P1从SL[0]位置读取出第二备份SID A:4::B100,并将报文的目的地址修改为该第二备份SID A:4::B100。If PE3 fails, the P1 device finds that the first backup SID A:3::B100 in the segmentlist is also unreachable, so it continues to execute the SL value minus 1 operation, so SL=0, and the SL pointer currently points to the second backup SID A:4::B100 at the SL[0] position. P1 reads the second backup SID A:4::B100 from the SL[0] position and modifies the destination address of the message to the second backup SID A:4::B100.
P1设备继续根据该新的目的地址(第二备份SID)将报文发往第二备份尾节点/出口节点PE4。如果PE4故障,则报文丢包;如果PE4正常,则报文达到PE4设备。The P1 device continues to send the message to the second backup tail node/egress node PE4 according to the new destination address (second backup SID). If PE4 fails, the message is lost; if PE4 is normal, the message reaches the PE4 device.
PE4设备发现收到的数据包的报文头中目的地A:4::B100为本地End.DT6SID,于是解除外层IPv6封装,恢复内层原始报文,在本地查找路由表,将原始报文转发至CE2设备,从而自动实现了主尾节点/出口节点PE2和第一备份尾节点/出口节点PE3同时故障时的自动保护倒换。The PE4 device finds that the destination A:4::B100 in the header of the received data packet is the local End.DT6SID, so it removes the outer IPv6 encapsulation, restores the inner original message, searches the routing table locally, and forwards the original message to the CE2 device, thereby automatically realizing automatic protection switching when the primary tail node/egress node PE2 and the first backup tail node/egress node PE3 fail at the same time.
图20是本公开实施例SRv6 Policy多归尾节点/出口节点故障保护的报文转发示意图(PE2和PE3同时故障场景),图20所示的是主用尾节点/出口节 点PE2和第一备份尾节点/出口节点PE3同时故障场景下的报文转发。FIG20 is a schematic diagram of message forwarding for SRv6 Policy multi-homing tail node/egress node failure protection in an embodiment of the present disclosure (a scenario where PE2 and PE3 fail at the same time). FIG20 shows the main tail node/egress node. Message forwarding in the scenario where both PE2 and the first backup tail node/egress node PE3 fail at the same time.
示例四Example 4
方案2:多归尾节点/出口节点的保护机制Solution 2: Multiple home nodes/exit nodes protection mechanism
(1)组网说明及业务配置(1) Network description and service configuration
图18是本公开实施例网络组网结构及各设备SID分配示意图,如图18所示,假设网络中包含PE1、PE2、PE3、PE4、P1、P2、P3路由器设备,其中,VPN1用户包含CE1和CE2两个站点,且站点CE2多归接入PE2、PE3和PE4,CE1到CE2的流量通过SRv6 Policy隧道承载,路径信息如下:FIG18 is a schematic diagram of the network structure and SID allocation of each device in the embodiment of the present disclosure. As shown in FIG18 , it is assumed that the network includes PE1, PE2, PE3, PE4, P1, P2, and P3 router devices, wherein VPN1 users include two sites, CE1 and CE2, and site CE2 is multi-homed to PE2, PE3, and PE4. The traffic from CE1 to CE2 is carried through the SRv6 Policy tunnel, and the path information is as follows:
Segmentlist:<A:1::1,A:11::1,A:2::B100>Segmentlist: <A:1::1,A:11::1,A:2::B100>
A:2::B100为PE2设备分配给VPN1用户的VPN SID,A:3::B100为PE3设备分配给VPN1用户的VPN SID,A:4::B100为PE4设备分配给VPN1客户的VPN SID,即A:2::B100为主业务SID,A:3::B100为第一备份SID,A:4::B100为第二备份SID,并在SRv6 Policy头节点PE1设备上配置该VPN1用户的主业务SID和备份SID的对应关系。A:2::B100 is the VPN SID assigned to the VPN1 user by PE2, A:3::B100 is the VPN SID assigned to the VPN1 user by PE3, and A:4::B100 is the VPN SID assigned to the VPN1 customer by PE4. That is, A:2::B100 is the primary service SID, A:3::B100 is the first backup SID, and A:4::B100 is the second backup SID. The correspondence between the primary service SID and the backup SID of the VPN1 user is configured on the SRv6 Policy head node PE1.
(2)SRv6 Policy多归尾节点/出口节点故障保护的处理流程(2) SRv6 Policy multi-end node/egress node failure protection process
以下处理流程以方案2为例,VPN SID为END.DT6 SID进行描述。The following processing flow takes Solution 2 as an example and describes the VPN SID as END.DT6 SID.
PE1设备收到CE1发送过来的报文,在进行隧道外层IPv6报文头的封装时,根据本地配置的备份SID信息,知道该VPN1存在多归保护尾节点,于是将SRH.B-flag的取值设置为1,且在segmentlist的VPN SID A:2::B100之后按照优先级降序顺序依次添加第一备份SID A:3::B100、第二备份SID A:4::B100,即第一备份SID封装在SL[1]位置、第二备份SID封装在SL[0]位置。When PE1 receives the message sent by CE1 and encapsulates the outer IPv6 header of the tunnel, it knows that VPN1 has a multi-homing protection tail node based on the locally configured backup SID information, so it sets the value of SRH.B-flag to 1 and adds the first backup SID A:3::B100 and the second backup SID A:4::B100 in descending order of priority after VPN SID A:2::B100 in segmentlist. That is, the first backup SID is encapsulated in SL[1] and the second backup SID is encapsulated in SL[0].
之后PE1设备执行标准的SRv6 Policy转发流程。The PE1 device then executes the standard SRv6 Policy forwarding process.
当报文沿着SRv6 Policy路径到达segmentlist的倒数第二跳节点P1节点时,P1设备发现收到的数据包的报文头中目的地A:11::1为本地SID,于是执行SL值减1操作,于是SL=2,P1将报文的目的地址修改为segmentlist的SL[2]位置的A:2::B100,并进行查表转发。此时,存在如下两种情况:When the message arrives at the penultimate hop node P1 in the segmentlist along the SRv6 Policy path, the P1 device finds that the destination A:11::1 in the header of the received data packet is the local SID, so it performs the SL value minus 1 operation, so SL=2, P1 modifies the destination address of the message to A:2::B100 at the SL[2] position of the segmentlist, and forwards it by looking up the table. At this time, there are the following two situations:
第一种情况,主用尾节点/出口节点PE2正常运行In the first case, the main tail node/egress node PE2 is operating normally
P1将报文正常转发至主用尾节点/出口节点PE2,PE2设备发现收到的数据包的报文头中目的地A:2::B100为本地的End.DT6 SID且报文头的 SRH.B-flag=1,则不执行对SRH中Segments Left值的检查,而是直接删除外层IPv6头及其所有扩展头,恢复内层原始报文,在本地查找路由表,将原始报文转发至CE2设备。P1 forwards the message to the active tail node/egress node PE2 normally. PE2 finds that the destination A:2::B100 in the header of the received data packet is the local End.DT6 SID and the header If SRH.B-flag=1, the Segments Left value in the SRH is not checked. Instead, the outer IPv6 header and all its extension headers are directly deleted, the inner original message is restored, the routing table is searched locally, and the original message is forwarded to the CE2 device.
第二种情况,主用尾节点/出口节点PE2发生故障In the second case, the active tail node/egress node PE2 fails.
P1设备发现segmentlist中的下一个SID(主VPN SID或Primary SID或Active SID A:2::B100)不可达且报文头的SRH.B-flag=1,于是该设备沿SRH.segmentlist路径顺序寻找SRH.segmentlist当前不可达节点(主用VPN SID或Primary SID或Active SID)之后的SID,直到寻找到第一个可到达的SID(即可达的下游节点)。The P1 device finds that the next SID in the segmentlist (primary VPN SID or Primary SID or Active SID A:2::B100) is unreachable and the SRH.B-flag in the message header is 1, so the device searches for the SID after the currently unreachable node in the SRH.segmentlist (primary VPN SID or Primary SID or Active SID) along the SRH.segmentlist path until the first reachable SID (that is, the reachable downstream node) is found.
首先P1设备执行SL值减1操作,于是SL=1,SL指针当前指向SL[1]位置的备份SID A:3::B100。First, the P1 device performs the SL value subtraction operation, so SL=1, and the SL pointer currently points to the backup SID A:3::B100 at the SL[1] position.
如果PE3正常,则该备份SID A:3::B100对应节点可达,于是P1从SL[1]位置读取出第一备份SID A:3::B100,并将报文的目的地址修改为该第一备份SID A:3::B100。If PE3 is normal, the node corresponding to the backup SID A:3::B100 is reachable, so P1 reads the first backup SID A:3::B100 from the SL[1] position and changes the destination address of the message to the first backup SID A:3::B100.
P1设备继续根据该新的目的地址A:3::B100(第一备份SID)将报文发往第一备份尾节点/出口节点PE3。The P1 device continues to send the message to the first backup tail node/egress node PE3 according to the new destination address A:3::B100 (the first backup SID).
PE3设备发现收到的数据包的报文头中目的地A:3::B100为本地End.DT6 SID,且报文头中SRH.B-flag的取值设置为1,则不执行对SRH中Segments Left值的检查,而是直接删除外层IPv6头及其所有扩展头,恢复内层原始报文。在本地查找路由表,将原始报文转发至CE2设备。从而自动实现了主尾节点/出口节点PE2故障时的自动保护倒换。PE3 finds that the destination A:3::B100 in the header of the received data packet is the local End.DT6 SID, and the value of SRH.B-flag in the header is set to 1. It does not check the Segments Left value in SRH, but directly deletes the outer IPv6 header and all its extension headers to restore the inner original message. It searches the routing table locally and forwards the original message to CE2. This automatically implements automatic protection switching when the main tail node/egress node PE2 fails.
图21是本公开实施例SRv6 Policy多归尾节点/出口节点故障保护的报文转发示意图(PE2故障场景),图21所示的是仅主用尾节点/出口节点PE2故障场景下的报文转发。Figure 21 is a schematic diagram of message forwarding for SRv6 Policy multi-home tail node/egress node failure protection (PE2 failure scenario) in an embodiment of the present disclosure. Figure 21 shows message forwarding in a scenario where only the main tail node/egress node PE2 fails.
如果PE3故障,则P1设备发现segmentlist中的第一备份SID A:3::B100也不可达,于是继续执行SL值减1操作,于是SL=0,SL指针当前指向SL[0]位置的第二备份SID A:4::B100。If PE3 fails, the P1 device finds that the first backup SID A:3::B100 in the segmentlist is also unreachable, so it continues to execute the SL value minus 1 operation, so SL=0, and the SL pointer currently points to the second backup SID A:4::B100 at the SL[0] position.
如果PE4正常,则该备份SID A:4::B100对应节点可达,P1从SL[0]位置读取出第二备份SID A:4::B100,并将报文的目的地址修改为该第二备份SID  A:4::B100。P1设备继续根据该新的目的地址(第二备份SID)将报文发往第二备份尾节点/出口节点PE4。If PE4 is normal, the node corresponding to the backup SID A:4::B100 is reachable, P1 reads the second backup SID A:4::B100 from the SL[0] position, and modifies the destination address of the message to the second backup SID A:4::B100. The P1 device continues to send the message to the second backup tail node/egress node PE4 according to the new destination address (second backup SID).
PE4设备发现收到的数据包的报文头中目的地A:4::B100为本地End.DT6SID,于是解除外层IPv6封装,恢复内层原始报文,在本地查找路由表,将原始报文转发至CE2设备,从而自动实现了主尾节点/出口节点PE2和第一备份尾节点/出口节点PE3同时故障时的自动保护倒换。The PE4 device finds that the destination A:4::B100 in the header of the received data packet is the local End.DT6SID, so it removes the outer IPv6 encapsulation, restores the inner original message, searches the routing table locally, and forwards the original message to the CE2 device, thereby automatically realizing automatic protection switching when the primary tail node/egress node PE2 and the first backup tail node/egress node PE3 fail at the same time.
图22是本公开实施例SRv6 Policy多归尾节点/出口节点故障保护的报文转发示意图(PE2和PE3同时故障场景),图22所示的是主用尾节点/出口节点PE2和第一备份尾节点/出口节点PE3同时故障场景下的报文转发。Figure 22 is a schematic diagram of message forwarding for SRv6 Policy multi-home tail node/egress node failure protection in an embodiment of the present disclosure (a scenario where PE2 and PE3 fail at the same time). Figure 22 shows message forwarding in a scenario where the primary tail node/egress node PE2 and the first backup tail node/egress node PE3 fail at the same time.
示例五Example 5
方案1(包括方案1-1和方案1-2):SRv6 BE双归尾节点/出口节点的保护机制Solution 1 (including Solution 1-1 and Solution 1-2): SRv6 BE dual tail node/egress node protection mechanism
(1)组网说明及业务配置(1) Network description and service configuration
图15是本公开实施例网络组网结构及各设备SID分配示意图,假设网络中包含PE1、PE2、PE3、PE4、P1、P2、P3、P4路由器设备。其中,VPN1用户包含CE1和CE2两个站点,且站点CE2双归接入PE2和PE3,CE1到CE2的流量通过SRv6 BE隧道承载。Figure 15 is a schematic diagram of the network structure and SID allocation of each device in the embodiment of the present disclosure, assuming that the network includes PE1, PE2, PE3, PE4, P1, P2, P3, P4 router devices. Among them, VPN1 users include two sites CE1 and CE2, and site CE2 is dual-homed to PE2 and PE3, and the traffic from CE1 to CE2 is carried through the SRv6 BE tunnel.
A:3::B100为PE3设备分配VPN1用户的VPN SID,A:4::B100为PE4设备分配给VPN1客户的VPN SID,即A:3::B100为主业务SID,A:4::B100备份SID,并在SRv6 Policy头节点PE1设备上配置该VPN1用户的主业务SID和备份SID的对应关系。A:3::B100 assigns VPN SID of VPN1 user to PE3 device, and A:4::B100 assigns VPN SID of VPN1 customer to PE4 device, that is, A:3::B100 is the primary service SID, A:4::B100 is the backup SID, and the correspondence between the primary service SID and the backup SID of the VPN1 user is configured on the SRv6 Policy head node PE1 device.
需要注意的是:have to be aware of is:
对于方案1-1,上述A:3::1 B100必须为PSD Flavor的VPN SID。For solution 1-1, the above A:3::1 B100 must be the VPN SID of PSD Flavor.
于方案1-2,上述A:3::1 B100必须为END.PSD SID。In Scheme 1-2, the above A:3::1 B100 must be the END.PSD SID.
(2)SRv6 BE双归尾节点/出口节点故障保护的处理流程(2) SRv6 BE dual tail node/egress node fault protection process
PE1设备收到CE1发送过来的报文,根据本地配置的备份SID信息,知道该VPN1存在双归保护尾节点,于是在进行隧道外层IPv6报文头的封装时,添加一个带有活动SID(主用VPN SID)A:3::B100和备份SID A:4::B100的SRH扩展头,其中主用VPN SID A:3::B100为PSD Flavor的VPN SID或者为 END.PSD SID。PE1将主用VPN SID A:3::B100用作外部IP报文头的目标地址。PE1 receives the message sent by CE1. Based on the locally configured backup SID information, it knows that VPN1 has a dual-homing protection tail node. Therefore, when encapsulating the outer IPv6 header of the tunnel, it adds an SRH extension header with the active SID (primary VPN SID) A:3::B100 and the backup SID A:4::B100. The primary VPN SID A:3::B100 is the VPN SID of the PSD Flavor or END.PSD SID. PE1 uses the primary VPN SID A:3::B100 as the destination address in the outer IP header.
之后,PE1设备执行标准的SRv6转发流程。此时,存在如下两种情况:After that, PE1 executes the standard SRv6 forwarding process. At this time, there are two situations:
第一种情况,主用尾节点/出口节点PE3正常运行In the first case, the main tail node/egress node PE3 is operating normally.
网络中各节点根据目的地址A:3::B100将报文沿着PE1、P1、P2正常转发至主用尾节点/出口节点PE3,PE3设备发现收到的数据包的报文头中目的地A:3::B100为本地PSD Flavor的VPN SID或者为本地的END.PSD SID,则不执行对SRH中Segments Left值的检查,而是直接删除外层IPv6头及其所有扩展头,恢复内层原始报文,在本地查找路由表,将原始报文转发至CE2设备。Each node in the network forwards the message along PE1, P1, and P2 to the main tail node/exit node PE3 according to the destination address A:3::B100. The PE3 device finds that the destination A:3::B100 in the message header of the received data packet is the VPN SID of the local PSD Flavor or the local END.PSD SID. It does not check the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, restores the inner original message, searches the routing table locally, and forwards the original message to the CE2 device.
第二种情况,主用尾节点/出口节点PE3发生故障In the second case, the main tail node/egress node PE3 fails
PE1设备发现目的地址A:3::B100不可达,于是沿SRH.segmentlist路径顺序寻找SRH.segmentlist中当前不可达节点A:3::B100(主用VPN SID或Primary SID或Active SID)之后的SID,直到寻找到第一个可到达的SID(即可达的下游节点)。首先PE1设备执行SL值减1操作,于是SL=0,SL指针当前指向SL[0]位置的备份SID A:4::B100。PE1 finds that the destination address A:3::B100 is unreachable, so it searches for the SID after the currently unreachable node A:3::B100 (primary VPN SID or Primary SID or Active SID) in SRH.segmentlist in order until it finds the first reachable SID (i.e., the reachable downstream node). First, PE1 performs the SL value minus 1 operation, so SL=0, and the SL pointer currently points to the backup SID A:4::B100 at the SL[0] position.
如果PE4正常,则该备份SID A:4::B100对应节点可达,于是PE1从SL[0]位置读取出备份SID A:4::B100,并将报文的目的地址修改为该备份SID A:4::B100。If PE4 is normal, the node corresponding to the backup SID A:4::B100 is reachable, so PE1 reads the backup SID A:4::B100 from the SL[0] position and changes the destination address of the message to the backup SID A:4::B100.
PE1设备继续根据该新的目的地址A:4::B100(备份SID)将报文发往备份尾节点/出口节点PE4。The PE1 device continues to send the message to the backup tail node/egress node PE4 according to the new destination address A:4::B100 (backup SID).
图23是本公开实施例SRv6 BE双归尾节点/出口节点故障保护的报文转发示意图(PE3故障场景),图23所示的是主用尾节点/出口节点PE3故障场景下的报文转发。Figure 23 is a schematic diagram of message forwarding for SRv6 BE dual-homing tail node/egress node failure protection (PE3 failure scenario) in an embodiment of the present disclosure. Figure 23 shows message forwarding in the scenario of primary tail node/egress node PE3 failure.
PE4设备发现收到的数据包的报文头中目的地A:4::B100为本地VPN SID,于是解除外层IPv6封装,恢复内层原始报文,将原始报文转发至CE2设备,从而自动实现了主尾节点/出口节点PE2故障时的自动保护倒换。The PE4 device finds that the destination A:4::B100 in the header of the received data packet is the local VPN SID, so it removes the outer IPv6 encapsulation, restores the inner original message, and forwards the original message to the CE2 device, thereby automatically realizing automatic protection switching when the main tail node/egress node PE2 fails.
示例六Example 6
方案2:SRv6 BE双归尾节点/出口节点的保护机制 Solution 2: SRv6 BE dual tail node/egress node protection mechanism
(1)组网说明及业务配置(1) Network description and service configuration
图15是本公开实施例网络组网结构及各设备SID分配示意图,假设网络中包含PE1、PE2、PE3、PE4、P1、P2、P3、P4路由器设备,其中,VPN1用户包含CE1和CE2两个站点,且站点CE2双归接入PE2和PE3,CE1到CE2的流量通过SRv6 BE隧道承载。Figure 15 is a schematic diagram of the network structure and SID allocation of each device in the embodiment of the present disclosure. It is assumed that the network includes PE1, PE2, PE3, PE4, P1, P2, P3, and P4 router devices, among which VPN1 users include two sites CE1 and CE2, and site CE2 is dual-homed to PE2 and PE3, and the traffic from CE1 to CE2 is carried through the SRv6 BE tunnel.
A:3::B100为PE3设备分配VPN1用户的VPN SID,A:4::B100为PE4设备分配给VPN1客户的VPN SID,即A:3::B100为主业务SID,A:4::B100备份SID,并在SRv6 Policy头节点PE1设备上配置该VPN1用户的主业务SID和备份SID的对应关系。A:3::B100 assigns VPN SID of VPN1 user to PE3 device, and A:4::B100 assigns VPN SID of VPN1 customer to PE4 device, that is, A:3::B100 is the primary service SID, A:4::B100 is the backup SID, and the correspondence between the primary service SID and the backup SID of the VPN1 user is configured on the SRv6 Policy head node PE1 device.
(2)SRv6 BE双归尾节点/出口节点故障保护的处理流程(2) SRv6 BE dual tail node/egress node fault protection process
以下处理流程以VPN SID为END.DT6 SID进行描述。The following processing flow is described with VPN SID as END.DT6 SID.
PE1设备收到CE1发送过来的报文,根据本地配置的备份SID信息,知道该VPN1存在双归保护尾节点,于是在进行隧道外层IPv6报文头的封装时,添加一个带有活动SID(主用VPN SID或Primary SID或Active SID)A:3::B100和备份SID A:4::B100的SRH扩展头,同时将SRH.B-flag的取值设置为1,主用VPN SID A:3::B100被用作外部IP报文头的目标地址。PE1 receives the message sent by CE1. According to the locally configured backup SID information, it knows that VPN1 has a dual-home protection tail node. Therefore, when encapsulating the outer IPv6 header of the tunnel, it adds an SRH extension header with the active SID (primary VPN SID or Primary SID or Active SID) A:3::B100 and the backup SID A:4::B100, and sets the value of SRH.B-flag to 1. The primary VPN SID A:3::B100 is used as the destination address of the external IP header.
之后,PE1设备再执行标准的SRv6转发流程。此时,存在如下两种情况:After that, PE1 executes the standard SRv6 forwarding process. At this time, there are two situations:
第一种情况,主用尾节点/出口节点PE3正常运行In the first case, the main tail node/egress node PE3 is operating normally.
网络中各节点根据目的地址A:3::B100将报文沿着PE1、P1、P2正常转发至主用尾节点/出口节点PE3,PE3设备发现收到的数据包的报文头中目的地A:3::B100为本地的End.DT6 SID且报文头的SRH.B-flag=1,则不执行对SRH中Segments Left值的检查,而是直接删除外层IPv6头及其所有扩展头,恢复内层原始报文,在本地查找路由表,将原始报文转发至CE2设备。Each node in the network forwards the message along PE1, P1, and P2 to the main tail node/egress node PE3 according to the destination address A:3::B100. The PE3 device finds that the destination A:3::B100 in the message header of the received data packet is the local End.DT6 SID and the SRH.B-flag in the message header is 1. It does not check the Segments Left value in the SRH, but directly deletes the outer IPv6 header and all its extension headers, restores the inner original message, searches the routing table locally, and forwards the original message to the CE2 device.
第二种情况,主用尾节点/出口节点PE3发生故障In the second case, the main tail node/egress node PE3 fails
PE1设备发现目的地址A:3::B100不可达,且报文头中的SRH.B-flag=1,于是沿SRH.segmentlist路径顺序寻找SRH.segmentlist当前不可达节点(主用VPN SID或Primary SID或Active SID)之后的SID,直到寻找到第一个可到达的SID(即可达的下游节点)。首先PE1设备执行SL值减1操作,于是SL=0,SL指针当前指向SL[0]位置的备份SID A:4::B100。 PE1 finds that the destination address A:3::B100 is unreachable and the SRH.B-flag in the packet header is 1, so it searches for the SID after the currently unreachable node (primary VPN SID or Primary SID or Active SID) in SRH.segmentlist in order until it finds the first reachable SID (i.e., the reachable downstream node). First, PE1 performs the SL value minus 1 operation, so SL=0, and the SL pointer currently points to the backup SID A:4::B100 at the SL[0] position.
如果PE4正常,则该备份SID A:4::B100对应节点可达,于是PE1从SL[0]位置读取出备份SID A:4::B100,并将报文的目的地址修改为该备份SID A:4::B100。If PE4 is normal, the node corresponding to the backup SID A:4::B100 is reachable, so PE1 reads the backup SID A:4::B100 from the SL[0] position and changes the destination address of the message to the backup SID A:4::B100.
PE1设备继续根据该新的目的地址A:4::B100(备份SID)将报文发往备份尾节点/出口节点PE4。The PE1 device continues to send the message to the backup tail node/egress node PE4 according to the new destination address A:4::B100 (backup SID).
图24是本公开实施例SRv6 BE双归尾节点/出口节点故障保护的报文转发示意图(PE3故障场景),图24所示的是主用尾节点/出口节点PE3故障场景下的报文转发。Figure 24 is a schematic diagram of message forwarding for SRv6 BE dual-homing tail node/egress node fault protection (PE3 fault scenario) in an embodiment of the present disclosure. Figure 24 shows message forwarding in the scenario of primary tail node/egress node PE3 failure.
PE4设备发现收到的数据包的报文头中目的地A:4::B100为本地End.DT6SID,于是解除外层IPv6封装,恢复内层原始报文,在本地查找路由表,将原始报文转发至CE2设备,从而自动实现了主尾节点/出口节点PE2故障时的自动保护倒换。PE4 finds that the destination A:4::B100 in the header of the received data packet is the local End.DT6SID, so it removes the outer IPv6 encapsulation, restores the inner original message, searches the routing table locally, and forwards the original message to CE2, thereby automatically implementing automatic protection switching when the main tail node/egress node PE2 fails.
为实现本公开实施例报文处理方法,本公开实施例还提供一种报文处理装置。图25为本公开实施例报文处理装置的组成结构示意图,如图25所示,所述装置包括:To implement the message processing method of the embodiment of the present disclosure, the embodiment of the present disclosure also provides a message processing device. FIG25 is a schematic diagram of the composition structure of the message processing device of the embodiment of the present disclosure. As shown in FIG25, the device includes:
第一处理单元251,用于在第一报文中增加扩展头,并将第一SID和第一信息封装在所述扩展头中,得到第二报文;其中,所述第一信息包含至少一个备份SID;或者,在第一报文的扩展头中增加第一信息,得到第二报文;其中,所述第一信息包含至少一个备份SID。The first processing unit 251 is used to add an extension header to the first message, and encapsulate the first SID and the first information in the extension header to obtain a second message; wherein the first information includes at least one backup SID; or, add the first information to the extension header of the first message to obtain the second message; wherein the first information includes at least one backup SID.
在一实施例中,所述第一处理单元251,用于:In one embodiment, the first processing unit 251 is configured to:
在第一报文的外层IPv6报文头中增加段路由头(SRH),并将第一SID和所述第一信息封装在SRH的段列表(segmentlist)中;其中,Add a segment routing header (SRH) to the outer IPv6 header of the first message, and encapsulate the first SID and the first information in a segment list (segmentlist) of the SRH; wherein,
第一信息的封装位置与第一SID的封装位置相邻。The encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
在一实施例中,所述第一信息的封装位置与第一SID的封装位置相邻,包括:In one embodiment, the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, including:
第一信息在段列表中的封装位置与第一SID在段列表中的封装位置相邻,且在第一SID的封装位置之后。The encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
在一实施例中,当第一信息为一个备份SID,则该备份SID的封装位置为SL[0]。 In one embodiment, when the first information is a backup SID, the encapsulation position of the backup SID is SL[0].
在一实施例中,所述装置还用于:In one embodiment, the device is further used for:
按照备份SID的优先级,对第一信息中的至少一个备份SID进行排序,最低优先级的备份SID封装在第一信息的最后。At least one backup SID in the first information is sorted according to the priority of the backup SID, and the backup SID with the lowest priority is encapsulated at the end of the first information.
在一实施例中,所述装置还用于:In one embodiment, the device is further used for:
确定第一SID配置有备份SID。Determine that the first SID is configured with a backup SID.
在一实施例中,所述方法还包括:In one embodiment, the method further comprises:
确定第一SID为第一Flavor的SID或第一类型的SID;Determine that the first SID is a SID of a first flavor or a SID of a first type;
确定第一信息中除封装在第一信息中最后位置的备份SID之外的其余备份SID为第一Flavor的SID或第一类型的SID。It is determined that the remaining backup SIDs in the first information except the backup SID encapsulated in the last position in the first information are SIDs of the first flavor or SIDs of the first type.
在一实施例中,还包括以下内容中的至少一个:In one embodiment, at least one of the following is also included:
所述第一出口节点为SRv6的主用尾节点;The first egress node is a primary tail node of SRv6;
所述第一SID为第一出口节点分配的SID;The first SID is a SID allocated by the first egress node;
所述备份SID为第一出口节点的保护节点分配的SID;其中,所述保护节点为第一出口节点的备份出口节点。The backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
在一实施例中,所述备份SID为第一出口节点的保护节点分配的SID,包括:In one embodiment, the backup SID is a SID allocated by a protection node of the first egress node, including:
所述备份SID有多个,不同的备份SID是由第一出口节点的不同的保护节点分配的。There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
在一实施例中,所述装置还用于:发送所述第二报文。In one embodiment, the device is further used to: send the second message.
实际应用时,所述第一处理单元251可以由报文处理装置中的处理器实现。In actual application, the first processing unit 251 can be implemented by a processor in a message processing device.
需要说明的是:上述实施例提供的报文处理装置在进行报文处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的报文处理装置与报文处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that: when the message processing device provided in the above embodiment performs message processing, only the division of the above program modules is used as an example. In actual application, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above. In addition, the message processing device provided in the above embodiment and the message processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
为实现本公开实施例报文处理方法,本公开实施例还提供一种报文处理装置。图26为本公开实施例报文处理装置的组成结构示意图,如图26所示, 所述装置包括:To implement the message processing method of the embodiment of the present disclosure, the embodiment of the present disclosure also provides a message processing device. FIG26 is a schematic diagram of the composition structure of the message processing device of the embodiment of the present disclosure. As shown in FIG26, The device comprises:
第一收发单元261,用于接收第二报文;其中,所述第二报文包括第一SID以及第一信息,所述第一信息包括至少一个备份SID;The first transceiver unit 261 is configured to receive a second message; wherein the second message includes a first SID and first information, and the first information includes at least one backup SID;
第二处理单元262,用于在第一SID对应的节点不可达时,将所述第二报文的目的地址改为备份SID,得到第三报文;The second processing unit 262 is configured to change the destination address of the second message to a backup SID to obtain a third message when the node corresponding to the first SID is unreachable;
所述第一收发单元261,还用于发送所述第三报文。The first transceiver unit 261 is further configured to send the third message.
在一实施例中,所述第二处理单元262,用于:In one embodiment, the second processing unit 262 is configured to:
将所述第二报文的目的地址改为可达的备份SID。The destination address of the second message is changed to a reachable backup SID.
在一实施例中,将所述第二报文的目的地址改为可达的备份SID,包括:In one embodiment, changing the destination address of the second message to a reachable backup SID includes:
将SL指针的值减1,将所述第二报文的目的地址改为当前指针指向的备份SID;Decrease the value of the SL pointer by 1, and change the destination address of the second message to the backup SID pointed to by the current pointer;
或,or,
将SL指针的值逐次减1,直至当前指针指向的备份SID对应的节点可达,则将所述第二报文的目的地址改为当前指针指向的备份SID。The value of the SL pointer is reduced by 1 successively until the node corresponding to the backup SID pointed to by the current pointer is reachable, and then the destination address of the second message is changed to the backup SID pointed to by the current pointer.
实际应用时,所述第一收发单元261可以由报文处理装置中的通信接口实现;所述第二处理单元262可以由报文处理装置中的处理器实现。In actual application, the first transceiver unit 261 can be implemented by a communication interface in the message processing device; the second processing unit 262 can be implemented by a processor in the message processing device.
需要说明的是:上述实施例提供的报文处理装置在进行报文处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的报文处理装置与报文处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that: when the message processing device provided in the above embodiment performs message processing, only the division of the above program modules is used as an example. In actual application, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above. In addition, the message processing device provided in the above embodiment and the message processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
为实现本公开实施例报文处理方法,本公开实施例还提供一种报文处理装置。图27为本公开实施例报文处理装置的组成结构示意图,如图27所示,所述装置包括:To implement the message processing method of the embodiment of the present disclosure, the embodiment of the present disclosure also provides a message processing device. FIG27 is a schematic diagram of the composition structure of the message processing device of the embodiment of the present disclosure. As shown in FIG27, the device includes:
第二收发单元271,用于接收第二报文或第三报文;The second transceiver unit 271 is used to receive the second message or the third message;
第三处理单元272,用于在所述第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第一风味(Flavor)的SID时,移除所述第二报文或第三报文的外层报文头,得到第四报文;和/或,在所述第二报文或 第三报文中目的地址为第二节点的本地SID,且该目的地址为第一类型的SID时,移除所述第二报文或第三报文的外层报文头,得到第四报文;The third processing unit 272 is configured to remove the outer message header of the second message or the third message to obtain a fourth message when the destination address in the second message or the third message is the local SID of the second node and the destination address is the SID of the first flavor; and/or, in the second message or When the destination address in the third message is the local SID of the second node and the destination address is the SID of the first type, remove the outer message header of the second message or the third message to obtain a fourth message;
所述第二收发单元273,还用于发送所述第四报文。The second transceiver unit 273 is further configured to send the fourth message.
在一实施例中,所述该目的地址为第一风味(Flavor)的第一行为(behavior)的SID或第一风味Flavor的第一行为behavior类型的SID,In one embodiment, the destination address is the SID of the first behavior of the first flavor or the SID of the behavior type of the first behavior of the first flavor.
进而,所述移除所述第二报文或第三报文的外层报文头,还包括:Furthermore, the removing the outer message header of the second message or the third message further includes:
在SRH处理流程中不执行对第二报文或第三报文的第二信息的值进行判断的步骤;移除所述第二报文或第三报文的外层报文头;In the SRH processing flow, the step of determining the value of the second information of the second message or the third message is not performed; the outer message header of the second message or the third message is removed;
和/或,and / or,
在SRH处理流程中确定第二报文或第三报文的第二信息的值为特定的至少一个值;移除所述第二报文或第三报文的外层报文头。In the SRH processing flow, determining that the value of the second information of the second message or the third message is at least one specific value; and removing the outer message header of the second message or the third message.
在一实施例中,所述装置还用于:In one embodiment, the device is further used for:
在SRH处理流程中,确定第二报文或第三报文的第二信息的值不为特定的至少一个值时,发送问题信息并丢弃所述第二报文或第三报文。In the SRH processing flow, when it is determined that the value of the second information of the second message or the third message is not at least one specific value, problem information is sent and the second message or the third message is discarded.
在一实施例中,所述第一类型的SID,包括:In one embodiment, the first type of SID includes:
第二行为(Behavior)的SID或第二行为Behavior类型的SID。The second line is the SID of (Behavior) or the second line is the SID of Behavior type.
在一实施例中,所述移除所述第二报文或第三报文的外层报文头,包括:In one embodiment, removing the outer message header of the second message or the third message includes:
确定第二报文或第三报文的第二信息的值为特定的至少一个值;移除所述第二报文或第三报文的外层报文头。Determine that a value of second information of the second message or the third message is at least one specific value; and remove an outer message header of the second message or the third message.
在一实施例中,所述第二信息为外层封装报文头SRH中的segmentleft字段信息。In one embodiment, the second information is the segmentleft field information in the outer encapsulation message header SRH.
在一实施例中,所述移除所述第二报文或第三报文的外层报文头,包括:In one embodiment, removing the outer message header of the second message or the third message includes:
移除所述第二报文或第三报文的外层封装IPv6头及其所有扩展头;或,Removing the outer encapsulation IPv6 header and all extension headers of the second message or the third message; or,
删除所述第二报文或第三报文的外层封装IPv6头及其所有扩展头;或,Deleting the outer encapsulation IPv6 header and all extension headers of the second message or the third message; or,
解封装所述第二报文或第三报文的外层IPv6头及其所有扩展头。Decapsulate the outer IPv6 header and all extension headers of the second message or the third message.
在一实施例中,所述装置还用于:In one embodiment, the device is further used for:
所述第一风味的SID或所述第一类型的SID通过路由协议通告给第一节点和/或网络设备。The SID of the first flavor or the SID of the first type is advertised to the first node and/or the network device through a routing protocol.
实际应用时,所述第二收发单元271可以由报文处理装置中的通信接口 实现;所述第三处理单元272可以由报文处理装置中的处理器实现。In actual application, the second transceiver unit 271 can be a communication interface in the message processing device. Implementation; the third processing unit 272 can be implemented by a processor in the message processing device.
需要说明的是:上述实施例提供的报文处理装置在进行报文处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的报文处理装置与报文处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that: when the message processing device provided in the above embodiment performs message processing, only the division of the above program modules is used as an example. In actual application, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above. In addition, the message processing device provided in the above embodiment and the message processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
为实现本公开实施例报文处理方法,本公开实施例还提供一种报文处理装置。图28为本公开实施例报文处理装置的组成结构示意图,如图28所示,所述装置包括:To implement the message processing method of the embodiment of the present disclosure, the embodiment of the present disclosure also provides a message processing device. FIG28 is a schematic diagram of the composition structure of the message processing device of the embodiment of the present disclosure. As shown in FIG28, the device includes:
第四处理单元281,用于将第一报文中的第一比特位进行置位为第一数值,并在第一报文中增加扩展头,将第一SID和第一信息封装在所述扩展头中,得到第五报文;其中,所述第一信息包含至少一个备份SID;或者,将第一报文中的第一比特位进行置位为第一数值,并在第一报文的扩展头中增加第一信息,得到第五报文;其中,所述第一信息包含至少一个备份SID。The fourth processing unit 281 is used to set the first bit in the first message to the first value, add an extension header to the first message, encapsulate the first SID and the first information in the extension header, and obtain a fifth message; wherein the first information includes at least one backup SID; or, set the first bit in the first message to the first value, and add the first information in the extension header of the first message to obtain a fifth message; wherein the first information includes at least one backup SID.
在一实施例中,所述第一比特位为所述第一报文的至少一个预留比特位。In one embodiment, the first bit is at least one reserved bit of the first message.
在一实施例中,在所述第一报文中增加扩展头,并将第一SID和所述第一信息封装在所述扩展头中,包括:In one embodiment, adding an extension header to the first message, and encapsulating the first SID and the first information in the extension header, includes:
在第一报文的外层IPv6报文头中增加段路由头(SRH),并将第一SID和所述第一信息封装在SRH的段列表(segmentlist)中;其中,Add a segment routing header (SRH) to the outer IPv6 header of the first message, and encapsulate the first SID and the first information in a segment list (segmentlist) of the SRH; wherein,
第一信息的封装位置与第一SID的封装位置相邻。The encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
在一实施例中,所述第一信息的封装位置与第一SID的封装位置相邻,包括:In one embodiment, the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, including:
第一信息在段列表中的封装位置与第一SID在段列表中的封装位置相邻,且在第一SID的封装位置之后。The encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
在一实施例中,当第一信息为一个备份SID,则该备份SID的封装位置为SL[0]。In one embodiment, when the first information is a backup SID, the encapsulation position of the backup SID is SL[0].
在一实施例中,所述装置还用于:In one embodiment, the device is further used for:
确定第一SID配置有备份SID。 Determine that the first SID is configured with a backup SID.
在一实施例中,还包括以下内容中的至少一个:In one embodiment, at least one of the following is also included:
所述第一出口节点为SRv6的主用尾节点;The first egress node is a primary tail node of SRv6;
所述第一SID为第一出口节点分配的SID;The first SID is a SID allocated by the first egress node;
所述备份SID为第一出口节点的保护节点分配的SID;其中,所述保护节点为第一出口节点的备份出口节点。The backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
在一实施例中,所述备份SID为第一出口节点的保护节点分配的SID,包括:In one embodiment, the backup SID is a SID allocated by a protection node of the first egress node, including:
所述备份SID有多个,不同的备份SID是由第一出口节点的不同的保护节点分配的。There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
在一实施例中,所述装置还用于:发送所述第五报文。In one embodiment, the device is further used to: send the fifth message.
实际应用时,所述第四处理单元281可以由报文处理装置中的处理器实现。In actual application, the fourth processing unit 281 can be implemented by a processor in a message processing device.
需要说明的是:上述实施例提供的报文处理装置在进行报文处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的报文处理装置与报文处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that: when the message processing device provided in the above embodiment performs message processing, only the division of the above program modules is used as an example. In actual application, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above. In addition, the message processing device provided in the above embodiment and the message processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
为实现本公开实施例报文处理方法,本公开实施例还提供一种报文处理装置。图29为本公开实施例报文处理装置的组成结构示意图,如图29所示,所述装置包括:To implement the message processing method of the embodiment of the present disclosure, the embodiment of the present disclosure also provides a message processing device. FIG29 is a schematic diagram of the composition structure of the message processing device of the embodiment of the present disclosure. As shown in FIG29, the device includes:
第三收发单元291,用于接收第五报文;其中,所述第五报文包括第一比特位、第一SID以及第一信息,第一信息包括至少一个备份SID;The third transceiver unit 291 is configured to receive a fifth message; wherein the fifth message includes a first bit, a first SID, and first information, and the first information includes at least one backup SID;
第五处理单元292,用于在第一SID对应的节点不可达且所述第一比特位为第一数值时,将所述第五报文的目的地址改为备份SID,得到第六报文;A fifth processing unit 292, configured to change the destination address of the fifth message to a backup SID to obtain a sixth message when the node corresponding to the first SID is unreachable and the first bit is a first value;
所述第五收发单元,还用于发送所述第六报文。The fifth transceiver unit is further used to send the sixth message.
在一实施例中,所述将所述第五报文的目的地址改为备份SID,包括:In one embodiment, changing the destination address of the fifth message to a backup SID includes:
将所述第五报文的目的地址改为可达的备份SID。The destination address of the fifth message is changed to a reachable backup SID.
在一实施例中,将所述第五报文的目的地址改为可达的备份SID,包括: In one embodiment, changing the destination address of the fifth message to a reachable backup SID includes:
将SL指针的值减1,将所述第五报文的目的地址改为当前指针指向的备份SID;Subtract 1 from the value of the SL pointer, and change the destination address of the fifth message to the backup SID pointed to by the current pointer;
或,or,
将SL指针的值逐次减1,直至当前指针指向的备份SID对应的节点可达,则将所述第五报文的目的地址改为当前指针指向的备份SID。The value of the SL pointer is reduced by 1 successively until the node corresponding to the backup SID pointed to by the current pointer is reachable, and then the destination address of the fifth message is changed to the backup SID pointed to by the current pointer.
实际应用时,所述第三收发单元291可以由报文处理装置中的通信接口实现;所述五处理单元292可以由报文处理装置中的处理器实现。In actual application, the third transceiver unit 291 can be implemented by a communication interface in the message processing device; the fifth processing unit 292 can be implemented by a processor in the message processing device.
需要说明的是:上述实施例提供的报文处理装置在进行报文处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的报文处理装置与报文处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that: when the message processing device provided in the above embodiment performs message processing, only the division of the above program modules is used as an example. In actual application, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above. In addition, the message processing device provided in the above embodiment and the message processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
为实现本公开实施例报文处理方法,本公开实施例还提供一种报文处理装置。图30为本公开实施例报文处理装置的组成结构示意图,如图30所示,所述装置包括:To implement the message processing method of the embodiment of the present disclosure, the embodiment of the present disclosure also provides a message processing device. FIG30 is a schematic diagram of the composition structure of the message processing device of the embodiment of the present disclosure. As shown in FIG30, the device includes:
第四收发单元301,用于接收第五报文或第六报文;The fourth transceiver unit 301 is used to receive the fifth message or the sixth message;
第六处理单元302,用于在所述第五报文或第六报文中目的地址为第二节点的本地SID,且第五报文或第六报文中的第一比特位为第一数值时,移除所述第五报文或第六报文的外层报文头,得到第七报文;a sixth processing unit 302, configured to, when the destination address in the fifth message or the sixth message is the local SID of the second node and the first bit in the fifth message or the sixth message is the first value, remove the outer message header of the fifth message or the sixth message to obtain a seventh message;
所述第六收发单元,还用于发送所述第七报文。The sixth transceiver unit is further used to send the seventh message.
在一实施例中,所述移除所述第二报文或第三报文的外层报文头,还包括:In one embodiment, removing the outer message header of the second message or the third message further includes:
在SRH处理流程中不执行对第五报文或第六报文的第三信息的值进行判断的步骤;移除所述第五报文或第六报文的外层报文头;In the SRH processing flow, the step of determining the value of the third information of the fifth message or the sixth message is not performed; the outer message header of the fifth message or the sixth message is removed;
和/或,and / or,
在SRH处理流程中确定第五报文或第六报文的第三信息的值为特定的至少一个值;移除所述第五报文或第六报文的外层报文头。In the SRH processing flow, determine that the value of the third information of the fifth message or the sixth message is at least one specific value; and remove the outer message header of the fifth message or the sixth message.
在一实施例中,所述装置还用于: In one embodiment, the device is further used for:
在SRH处理流程中,确定第五报文或第六报文的第三信息的值不为特定的至少一个值时,发送问题信息并丢弃所述第五报文或第六报文。In the SRH processing flow, when it is determined that the value of the third information of the fifth message or the sixth message is not at least one specific value, a problem message is sent and the fifth message or the sixth message is discarded.
在一实施例中,所述第三信息为外层封装报文头SRH中的segmentleft字段信息。In one embodiment, the third information is the segmentleft field information in the outer encapsulation message header SRH.
在一实施例中,所述移除所述第五报文或第六报文的外层报文头,包括:In one embodiment, removing the outer message header of the fifth message or the sixth message includes:
移除所述第五报文或第六报文的外层封装IPv6头及其所有扩展头;或,Removing the outer encapsulation IPv6 header and all extension headers of the fifth message or the sixth message; or,
删除所述第五报文或第六报文的外层封装IPv6头及其所有扩展头;或,Deleting the outer encapsulation IPv6 header and all extension headers of the fifth message or the sixth message; or,
解封装所述第五报文或第六报文的外层IPv6头及其所有扩展头。Decapsulate the outer IPv6 header and all extension headers of the fifth or sixth message.
实际应用时,所述第四收发单元301可以由报文处理装置中的通信接口实现;所述第六处理单元302可以由报文处理装置中的处理器实现。In actual application, the fourth transceiver unit 301 can be implemented by a communication interface in the message processing device; the sixth processing unit 302 can be implemented by a processor in the message processing device.
需要说明的是:上述实施例提供的报文处理装置在进行报文处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的报文处理装置与报文处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that: when the message processing device provided in the above embodiment performs message processing, only the division of the above program modules is used as an example. In actual application, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above. In addition, the message processing device provided in the above embodiment and the message processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
本公开实施例还提供了一种网络设备,所述网络设备可以是上述第一节点、网络节点、第二节点,如图31所示,包括:The embodiment of the present disclosure further provides a network device, which may be the first node, the network node, or the second node as shown in FIG31 , including:
通信接口311,能够与其它设备进行信息交互;Communication interface 311, capable of exchanging information with other devices;
处理器312,与所述通信接口311连接,用于运行计算机程序时,执行上述网络设备侧一个或多个技术方案提供的方法。而所述计算机程序存储在存储器313上。The processor 312 is connected to the communication interface 311 and is used to execute the method provided by one or more technical solutions on the network device side when running the computer program. The computer program is stored in the memory 313.
需要说明的是:所述处理器312和通信接口311的具体处理过程详见方法实施例,这里不再赘述。It should be noted that the specific processing process of the processor 312 and the communication interface 311 is detailed in the method embodiment and will not be repeated here.
当然,实际应用时,网络设备310中的各个组件通过总线***314耦合在一起。可理解,总线***314用于实现这些组件之间的连接通信。总线***314除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图31中将各种总线都标为总线***314。Of course, in actual application, the various components in the network device 310 are coupled together through the bus system 314. It is understandable that the bus system 314 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 314 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are marked as bus system 314 in Figure 31.
本公开实施例中的存储器313用于存储各种类型的数据以支持网络设备 310的操作。这些数据的示例包括:用于在网络设备310上操作的任何计算机程序。The memory 313 in the embodiment of the present disclosure is used to store various types of data to support the network device Operation of network device 310. Examples of such data include: any computer program for operating on network device 310.
上述本公开实施例揭示的方法可以应用于所述处理器312中,或者由所述处理器312实现。所述处理器312可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述处理器312中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述处理器312可以是通用处理器、数字数据处理器(Digital Signal Processor,DSP),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述处理器312可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本公开实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器313,所述处理器312读取存储器313中的信息,结合其硬件完成前述方法的步骤。The method disclosed in the above embodiment of the present disclosure can be applied to the processor 312, or implemented by the processor 312. The processor 312 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit in the processor 312 or the instruction in the form of software. The above processor 312 may be a general processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor 312 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiment of the present disclosure. The general processor may be a microprocessor or any conventional processor, etc. The steps of the method disclosed in the embodiment of the present disclosure can be directly embodied as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium, which is located in the memory 313. The processor 312 reads the information in the memory 313 and completes the steps of the above method in combination with its hardware.
在示例性实施例中,网络设备310可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、DSP、可编程逻辑器件(Programmable Logic Device,PLD)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器(Micro Controller Unit,MCU)、微处理器(Microprocessor)、或者其他电子元件实现,用于执行前述方法。In an exemplary embodiment, the network device 310 can be implemented by one or more application specific integrated circuits (ASIC), DSP, programmable logic device (PLD), complex programmable logic device (CPLD), field programmable gate array (FPGA), general processor, controller, microcontroller (MCU), microprocessor, or other electronic components to execute the aforementioned method.
可以理解,本公开实施例的存储器(存储器313)可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(ferromagnetic random access memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc  Read-Only Memory,CD-ROM);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static Random Access Memory,SRAM)、同步静态随机存取存储器(Synchronous Static Random Access Memory,SSRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)、同步动态随机存取存储器(Synchronous Dynamic Random Access Memory,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced Synchronous Dynamic Random Access Memory,ESDRAM)、同步连接动态随机存取存储器(SyncLink Dynamic Random Access Memory,SLDRAM)、直接内存总线随机存取存储器(Direct Rambus Random Access Memory,DRRAM)。本公开实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。It can be understood that the memory (memory 313) of the embodiment of the present disclosure can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a ferromagnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disk, or a compact disc read-only disk (CD-ROM). Read-Only Memory, CD-ROM); magnetic surface storage can be disk storage or tape storage. Volatile memory can be random access memory (Random Access Memory, RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (Static Random Access Memory, SRAM), synchronous static random access memory (Synchronous Static Random Access Memory, SSRAM), dynamic random access memory (Dynamic Random Access Memory, DRAM), synchronous dynamic random access memory (Synchronous Dynamic Random Access Memory, SDRAM), double data rate synchronous dynamic random access memory (Double Data Rate Synchronous Dynamic Random Access Memory, DDRSDRAM), enhanced synchronous dynamic random access memory (Enhanced Synchronous Dynamic Random Access Memory, ESDRAM), synchronous connection dynamic random access memory (SyncLink Dynamic Random Access Memory, SLDRAM), direct memory bus random access memory (Direct Rambus Random Access Memory, DRRAM). The memory described in the embodiments of the present disclosure is intended to include but is not limited to these and any other suitable types of memory.
在示例性实施例中,本公开实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器,上述计算机程序可由网络设备310的处理器312执行,以完成前述网络设备侧方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。In an exemplary embodiment, the embodiment of the present disclosure further provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, for example, a memory storing a computer program, and the computer program can be executed by the processor 312 of the network device 310 to complete the steps described in the aforementioned network device side method. The computer-readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface storage, optical disk, or CD-ROM.
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。It should be noted that: "first", "second", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
另外,本公开实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。In addition, the technical solutions described in the embodiments of the present disclosure may be arbitrarily combined without conflict.
以上所述,仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围。 The above description is only a preferred embodiment of the present disclosure and is not intended to limit the protection scope of the present disclosure.

Claims (46)

  1. 一种报文处理方法,应用于第一节点,所述第一节点为入口节点,所述方法包括:A message processing method is applied to a first node, where the first node is an ingress node, and the method comprises:
    在第一报文中增加扩展头,并将第一段标识SID和第一信息封装在所述扩展头中,得到第二报文;其中,所述第一信息包含至少一个备份SID;Adding an extension header to the first message, and encapsulating the first segment identifier SID and the first information in the extension header to obtain a second message; wherein the first information includes at least one backup SID;
    或者,or,
    在第一报文的扩展头中增加第一信息,得到第二报文;其中,所述第一信息包含至少一个备份SID。First information is added to an extended header of a first message to obtain a second message; wherein the first information includes at least one backup SID.
  2. 根据权利要求1所述的方法,其中,在所述第一报文中增加扩展头,并将第一SID和所述第一信息封装在所述扩展头中,包括:The method according to claim 1, wherein adding an extension header to the first message and encapsulating the first SID and the first information in the extension header comprises:
    在第一报文的外层互联网协议第六版IPv6报文头中增加段路由头SRH,并将第一SID和所述第一信息封装在SRH的段列表segmentlist中;其中,Add a segment routing header SRH to the outer Internet Protocol version 6 IPv6 header of the first message, and encapsulate the first SID and the first information in the segment list segmentlist of the SRH; wherein,
    第一信息的封装位置与第一SID的封装位置相邻。The encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
  3. 根据权利要求2所述的方法,其中,所述第一信息的封装位置与第一SID的封装位置相邻,包括:The method according to claim 2, wherein the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, comprising:
    第一信息在段列表中的封装位置与第一SID在段列表中的封装位置相邻,且在第一SID的封装位置之后。The encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
  4. 根据权利要求2或3所述的方法,其中,当第一信息为一个备份SID,则该备份SID的封装位置为SL[0]。The method according to claim 2 or 3, wherein, when the first information is a backup SID, the encapsulation position of the backup SID is SL[0].
  5. 根据权利要求1所述的方法,所述方法还包括:The method according to claim 1, further comprising:
    按照备份SID的优先级,对第一信息中的至少一个备份SID进行排序,最低优先级的备份SID封装在第一信息的最后。At least one backup SID in the first information is sorted according to the priority of the backup SID, and the backup SID with the lowest priority is encapsulated at the end of the first information.
  6. 根据权利要求1所述的方法,所述方法还包括:The method according to claim 1, further comprising:
    确定第一SID配置有备份SID。Determine that the first SID is configured with a backup SID.
  7. 根据权利要求1所述的方法,所述方法还包括:The method according to claim 1, further comprising:
    确定第一SID为第一风味Flavor的SID或第一类型的SID;Determine that the first SID is a SID of a first flavor or a SID of a first type;
    确定第一信息中除封装在第一信息中最后位置的备份SID之外的其余备份SID为第一Flavor的SID或第一类型的SID。 It is determined that the remaining backup SIDs in the first information except the backup SID encapsulated in the last position in the first information are SIDs of the first flavor or SIDs of the first type.
  8. 根据权利要求1-7任一所述的方法,其中,所述方法包括以下内容中的至少一个:The method according to any one of claims 1 to 7, wherein the method comprises at least one of the following:
    所述第一出口节点为基于IPv6转发平面的段路由SRv6的主用尾节点;The first egress node is a primary tail node of segment routing SRv6 based on the IPv6 forwarding plane;
    所述第一SID为第一出口节点分配的SID;The first SID is a SID allocated by the first egress node;
    所述备份SID为第一出口节点的保护节点分配的SID;其中,所述保护节点为第一出口节点的备份出口节点。The backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
  9. 根据权利要求8所述的方法,其中,所述备份SID为第一出口节点的保护节点分配的SID,包括:The method according to claim 8, wherein the backup SID is a SID allocated by the protection node of the first egress node, comprising:
    所述备份SID有多个,不同的备份SID是由第一出口节点的不同的保护节点分配的。There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
  10. 根据权利要求1-9任一所述的方法,所述方法还包括:发送所述第二报文。According to any one of claims 1-9, the method further comprises: sending the second message.
  11. 一种报文处理方法,应用于网络节点,所述方法包括:A message processing method, applied to a network node, comprising:
    接收第二报文;其中,所述第二报文包括第一SID以及第一信息,所述第一信息包括至少一个备份SID;receiving a second message; wherein the second message includes a first SID and first information, and the first information includes at least one backup SID;
    在第一SID对应的节点不可达时,将所述第二报文的目的地址改为备份SID,得到第三报文;When the node corresponding to the first SID is unreachable, the destination address of the second message is changed to a backup SID to obtain a third message;
    发送所述第三报文。Send the third message.
  12. 根据权利要求11所述的方法,其中,所述将所述第二报文的目的地址改为备份SID,包括:The method according to claim 11, wherein changing the destination address of the second message to a backup SID comprises:
    将所述第二报文的目的地址改为可达的备份SID。The destination address of the second message is changed to a reachable backup SID.
  13. 根据权利要求12所述的方法,其中,将所述第二报文的目的地址改为可达的备份SID,包括:The method according to claim 12, wherein changing the destination address of the second message to a reachable backup SID comprises:
    将SL指针的值减1,将所述第二报文的目的地址改为当前指针指向的备份SID;Decrease the value of the SL pointer by 1, and change the destination address of the second message to the backup SID pointed to by the current pointer;
    或,or,
    将SL指针的值逐次减1,直至当前指针指向的备份SID对应的节点可达,则将所述第二报文的目的地址改为当前指针指向的备份SID。The value of the SL pointer is reduced by 1 successively until the node corresponding to the backup SID pointed to by the current pointer is reachable, and then the destination address of the second message is changed to the backup SID pointed to by the current pointer.
  14. 一种报文处理方法,应用于第二节点,所述第二节点为出口节点, 所述方法包括:A message processing method is applied to a second node, where the second node is an egress node. The method comprises:
    接收第二报文或第三报文;receiving a second message or a third message;
    在所述第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第一风味Flavor的SID时,移除所述第二报文或第三报文的外层报文头,得到第四报文;和/或,在所述第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第一类型的SID时,移除所述第二报文或第三报文的外层报文头,得到第四报文;When the destination address in the second message or the third message is the local SID of the second node, and the destination address is the SID of the first flavor, remove the outer message header of the second message or the third message to obtain a fourth message; and/or, when the destination address in the second message or the third message is the local SID of the second node, and the destination address is the SID of the first type, remove the outer message header of the second message or the third message to obtain a fourth message;
    发送所述第四报文。Send the fourth message.
  15. 根据权利要求14所述的方法,其中,所述该目的地址为第一风味Flavor的第一行为behavior的SID或第一风味Flavor的第一行为behavior类型的SID,The method according to claim 14, wherein the destination address is a SID of a behavior in the first line of the first flavor or a SID of a behavior type in the first line of the first flavor,
    进而,所述移除所述第二报文或第三报文的外层报文头,还包括:Furthermore, the removing the outer message header of the second message or the third message further includes:
    在SRH处理流程中不执行对第二报文或第三报文的第二信息的值进行判断的步骤;移除所述第二报文或第三报文的外层报文头;In the SRH processing flow, the step of determining the value of the second information of the second message or the third message is not performed; the outer message header of the second message or the third message is removed;
    和/或,and / or,
    在SRH处理流程中确定第二报文或第三报文的第二信息的值为特定的至少一个值;移除所述第二报文或第三报文的外层报文头。In the SRH processing flow, determining that the value of the second information of the second message or the third message is at least one specific value; and removing the outer message header of the second message or the third message.
  16. 根据权利要求14所述的方法,所述方法还包括:The method according to claim 14, further comprising:
    在SRH处理流程中,确定第二报文或第三报文的第二信息的值不为特定的至少一个值时,发送问题信息并丢弃所述第二报文或第三报文。In the SRH processing flow, when it is determined that the value of the second information of the second message or the third message is not at least one specific value, problem information is sent and the second message or the third message is discarded.
  17. 根据权利要求14所述的方法,其中,所述第一类型的SID,包括:The method according to claim 14, wherein the first type of SID comprises:
    第二行为Behavior的SID或第二行为Behavior类型的SID。The second line is the SID of the Behavior or the SID of the Behavior type.
  18. 根据权利要求17所述的方法,其中,所述移除所述第二报文或第三报文的外层报文头,包括:The method according to claim 17, wherein removing the outer message header of the second message or the third message comprises:
    确定第二报文或第三报文的第二信息的值为特定的至少一个值;移除所述第二报文或第三报文的外层报文头。Determine that a value of second information of the second message or the third message is at least one specific value; and remove an outer message header of the second message or the third message.
  19. 根据权利要求14-18任一所述的方法,其中,所述第二信息为外层封装报文头SRH中的segmentleft字段信息。The method according to any one of claims 14-18, wherein the second information is segmentleft field information in the outer encapsulation message header SRH.
  20. 根据权利要求14所述的方法,其中,所述移除所述第二报文或第三 报文的外层报文头,包括:The method according to claim 14, wherein the removing of the second message or the third message The outer header of the message includes:
    移除所述第二报文或第三报文的外层封装IPv6头及其所有扩展头;或,Removing the outer encapsulation IPv6 header and all extension headers of the second message or the third message; or,
    删除所述第二报文或第三报文的外层封装IPv6头及其所有扩展头;或,Deleting the outer encapsulation IPv6 header and all extension headers of the second message or the third message; or,
    解封装所述第二报文或第三报文的外层IPv6头及其所有扩展头。Decapsulate the outer IPv6 header and all extension headers of the second message or the third message.
  21. 根据权利要求14所述的方法,所述方法还包括:The method according to claim 14, further comprising:
    所述第一风味的SID或所述第一类型的SID通过路由协议通告给第一节点和/或网络设备。The SID of the first flavor or the SID of the first type is advertised to the first node and/or the network device through a routing protocol.
  22. 一种报文处理方法,应用于第一节点,所述第一节点为入口节点,所述方法包括:A message processing method is applied to a first node, where the first node is an ingress node, and the method comprises:
    将第一报文中的第一比特位进行置位为第一数值,并在第一报文中增加扩展头,将第一SID和第一信息封装在所述扩展头中,得到第五报文;其中,所述第一信息包含至少一个备份SID;Setting the first bit in the first message to a first value, adding an extension header to the first message, encapsulating the first SID and the first information in the extension header, and obtaining a fifth message; wherein the first information includes at least one backup SID;
    或者,or,
    将第一报文中的第一比特位进行置位为第一数值,并在第一报文的扩展头中增加第一信息,得到第五报文;其中,所述第一信息包含至少一个备份SID。A first bit in the first message is set to a first value, and first information is added to an extended header of the first message to obtain a fifth message; wherein the first information includes at least one backup SID.
  23. 根据权利要求22所述的方法,其中,所述第一比特位为所述第一报文的至少一个预留比特位。The method according to claim 22, wherein the first bit is at least one reserved bit of the first message.
  24. 根据权利要求22所述的方法,其中,在所述第一报文中增加扩展头,并将第一SID和所述第一信息封装在所述扩展头中,包括:The method according to claim 22, wherein adding an extension header to the first message and encapsulating the first SID and the first information in the extension header comprises:
    在第一报文的外层IPv6报文头中增加段路由头SRH,并将第一SID和所述第一信息封装在SRH的段列表segmentlist中;其中,Add a segment routing header SRH to the outer IPv6 header of the first message, and encapsulate the first SID and the first information in the segment list segmentlist of the SRH; wherein,
    第一信息的封装位置与第一SID的封装位置相邻。The encapsulation position of the first information is adjacent to the encapsulation position of the first SID.
  25. 根据权利要求24所述的方法,其中,所述第一信息的封装位置与第一SID的封装位置相邻,包括:The method according to claim 24, wherein the encapsulation position of the first information is adjacent to the encapsulation position of the first SID, comprising:
    第一信息在段列表中的封装位置与第一SID在段列表中的封装位置相邻,且在第一SID的封装位置之后。The encapsulation position of the first information in the segment list is adjacent to the encapsulation position of the first SID in the segment list and is after the encapsulation position of the first SID.
  26. 根据权利要求24或25所述的方法,其中,当第一信息为一个备份SID,则该备份SID的封装位置为SL[0]。 The method according to claim 24 or 25, wherein, when the first information is a backup SID, the encapsulation position of the backup SID is SL[0].
  27. 根据权利要求22所述的方法,所述方法还包括:The method according to claim 22, further comprising:
    确定第一SID配置有备份SID。Determine that the first SID is configured with a backup SID.
  28. 根据权利要求22-27任一所述的方法,所述方法包括以下内容中的至少一个:The method according to any one of claims 22 to 27, comprising at least one of the following:
    所述第一出口节点为SRv6的主用尾节点;The first egress node is a primary tail node of SRv6;
    所述第一SID为第一出口节点分配的SID;The first SID is a SID allocated by the first egress node;
    所述备份SID为第一出口节点的保护节点分配的SID;其中,所述保护节点为第一出口节点的备份出口节点。The backup SID is a SID allocated by a protection node of the first egress node; wherein the protection node is a backup egress node of the first egress node.
  29. 根据权利要求28所述的方法,其中,所述备份SID为第一出口节点的保护节点分配的SID,包括:The method according to claim 28, wherein the backup SID is a SID allocated by the protection node of the first egress node, comprising:
    所述备份SID有多个,不同的备份SID是由第一出口节点的不同的保护节点分配的。There are multiple backup SIDs, and different backup SIDs are allocated by different protection nodes of the first egress node.
  30. 根据权利要求22-29任一所述的方法,其中,所述方法还包括:发送所述第五报文。The method according to any one of claims 22-29, wherein the method further comprises: sending the fifth message.
  31. 一种报文处理方法,应用于网络节点,所述方法包括:A message processing method, applied to a network node, comprising:
    接收第五报文;其中,所述第五报文包括第一比特位、第一SID以及第一信息,第一信息包括至少一个备份SID;Receive a fifth message; wherein the fifth message includes a first bit, a first SID, and first information, and the first information includes at least one backup SID;
    在第一SID对应的节点不可达且所述第一比特位为第一数值时,将所述第五报文的目的地址改为备份SID,得到第六报文;When the node corresponding to the first SID is unreachable and the first bit is the first value, changing the destination address of the fifth message to a backup SID to obtain a sixth message;
    发送所述第六报文。Send the sixth message.
  32. 根据权利要求31所述的方法,其中,所述将所述第五报文的目的地址改为备份SID,包括:The method according to claim 31, wherein changing the destination address of the fifth message to a backup SID comprises:
    将所述第五报文的目的地址改为可达的备份SID。The destination address of the fifth message is changed to a reachable backup SID.
  33. 根据权利要求32所述的方法,其中,将所述第五报文的目的地址改为可达的备份SID,包括:The method according to claim 32, wherein changing the destination address of the fifth message to a reachable backup SID comprises:
    将SL指针的值减1,将所述第五报文的目的地址改为当前指针指向的备份SID;Subtract 1 from the value of the SL pointer, and change the destination address of the fifth message to the backup SID pointed to by the current pointer;
    或,or,
    将SL指针的值逐次减1,直至当前指针指向的备份SID对应的节点可达, 则将所述第五报文的目的地址改为当前指针指向的备份SID。The value of the SL pointer is reduced by 1 until the node corresponding to the backup SID pointed to by the current pointer is reachable. Then the destination address of the fifth message is changed to the backup SID pointed to by the current pointer.
  34. 一种报文处理方法,应用于第二节点,所述第二节点为出口节点,所述方法包括:A message processing method is applied to a second node, where the second node is an egress node, and the method comprises:
    接收第五报文或第六报文;receiving the fifth message or the sixth message;
    在所述第五报文或第六报文中目的地址为第二节点的本地SID,且第五报文或第六报文中的第一比特位为第一数值时,移除所述第五报文或第六报文的外层报文头,得到第七报文;When the destination address in the fifth message or the sixth message is the local SID of the second node and the first bit in the fifth message or the sixth message is the first value, remove the outer message header of the fifth message or the sixth message to obtain a seventh message;
    发送所述第七报文。The seventh message is sent.
  35. 根据权利要求34所述的方法,其中,所述移除所述第二报文或第三报文的外层报文头,还包括:The method according to claim 34, wherein the removing the outer message header of the second message or the third message further comprises:
    在SRH处理流程中不执行对第五报文或第六报文的第三信息的值进行判断的步骤;移除所述第五报文或第六报文的外层报文头;In the SRH processing flow, the step of determining the value of the third information of the fifth message or the sixth message is not performed; the outer message header of the fifth message or the sixth message is removed;
    和/或,and / or,
    在SRH处理流程中确定第五报文或第六报文的第三信息的值为特定的至少一个值;移除所述第五报文或第六报文的外层报文头。In the SRH processing flow, determine that the value of the third information of the fifth message or the sixth message is at least one specific value; and remove the outer message header of the fifth message or the sixth message.
  36. 根据权利要求34所述的方法,所述方法还包括:The method according to claim 34, further comprising:
    在SRH处理流程中,确定第五报文或第六报文的第三信息的值不为特定的至少一个值时,发送问题信息并丢弃所述第五报文或第六报文。In the SRH processing flow, when it is determined that the value of the third information of the fifth message or the sixth message is not at least one specific value, a problem message is sent and the fifth message or the sixth message is discarded.
  37. 根据权利要求34-36任一所述的方法,其中,所述第三信息为外层封装报文头SRH中的segmentleft字段信息。According to any one of the methods of claims 34-36, the third information is the segmentleft field information in the outer encapsulation message header SRH.
  38. 根据权利要求34所述的方法,其中,所述移除所述第五报文或第六报文的外层报文头,包括:The method according to claim 34, wherein removing the outer message header of the fifth message or the sixth message comprises:
    移除所述第五报文或第六报文的外层封装IPv6头及其所有扩展头;或,Removing the outer encapsulation IPv6 header and all extension headers of the fifth message or the sixth message; or,
    删除所述第五报文或第六报文的外层封装IPv6头及其所有扩展头;或,Deleting the outer encapsulation IPv6 header and all extension headers of the fifth message or the sixth message; or,
    解封装所述第五报文或第六报文的外层IPv6头及其所有扩展头。Decapsulate the outer IPv6 header and all extension headers of the fifth or sixth message.
  39. 一种报文处理装置,包括:A message processing device, comprising:
    第一处理单元,用于在第一报文中增加扩展头,并将第一SID和第一信息封装在所述扩展头中,得到第二报文;其中,所述第一信息包含至少一个备份SID;或者,在第一报文的扩展头中增加第一信息,得到第二报文;其 中,所述第一信息包含至少一个备份SID。The first processing unit is configured to add an extension header to the first message, and encapsulate the first SID and the first information in the extension header to obtain a second message; wherein the first information includes at least one backup SID; or, add the first information to the extension header of the first message to obtain the second message; wherein In the embodiment, the first information includes at least one backup SID.
  40. 一种报文处理装置,包括:A message processing device, comprising:
    第一收发单元,用于接收第二报文;其中,所述第二报文包括第一SID以及第一信息,所述第一信息包括至少一个备份SID;A first transceiver unit, configured to receive a second message; wherein the second message includes a first SID and first information, and the first information includes at least one backup SID;
    第二处理单元,用于在第一SID对应的节点不可达时,将所述第二报文的目的地址改为备份SID,得到第三报文;A second processing unit, configured to change the destination address of the second message to a backup SID to obtain a third message when the node corresponding to the first SID is unreachable;
    所述第一收发单元,还用于发送所述第三报文。The first transceiver unit is further used to send the third message.
  41. 一种报文处理装置,包括:A message processing device, comprising:
    第二收发单元,用于接收第二报文或第三报文;A second transceiver unit, used to receive a second message or a third message;
    第三处理单元,用于在所述第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第一风味Flavor的SID时,移除所述第二报文或第三报文的外层报文头,得到第四报文;和/或,在所述第二报文或第三报文中目的地址为第二节点的本地SID,且该目的地址为第一类型的SID时,移除所述第二报文或第三报文的外层报文头,得到第四报文;a third processing unit, configured to, when the destination address in the second message or the third message is the local SID of the second node and the destination address is the SID of the first flavor, remove the outer message header of the second message or the third message to obtain a fourth message; and/or, when the destination address in the second message or the third message is the local SID of the second node and the destination address is the SID of the first type, remove the outer message header of the second message or the third message to obtain a fourth message;
    所述第二收发单元,还用于发送所述第四报文。The second transceiver unit is further used to send the fourth message.
  42. 一种报文处理装置,包括:A message processing device, comprising:
    第四处理单元,用于将第一报文中的第一比特位进行置位为第一数值,并在第一报文中增加扩展头,将第一SID和第一信息封装在所述扩展头中,得到第五报文;其中,所述第一信息包含至少一个备份SID;或者,将第一报文中的第一比特位进行置位为第一数值,并在第一报文的扩展头中增加第一信息,得到第五报文;其中,所述第一信息包含至少一个备份SID。The fourth processing unit is used to set the first bit in the first message to the first value, add an extension header to the first message, encapsulate the first SID and the first information in the extension header, and obtain a fifth message; wherein the first information includes at least one backup SID; or, set the first bit in the first message to the first value, and add the first information to the extension header of the first message to obtain a fifth message; wherein the first information includes at least one backup SID.
  43. 一种报文处理装置,包括:A message processing device, comprising:
    第三收发单元,用于接收第五报文;其中,所述第五报文包括第一比特位、第一SID以及第一信息,第一信息包括至少一个备份SID;A third transceiver unit, configured to receive a fifth message; wherein the fifth message includes a first bit, a first SID, and first information, and the first information includes at least one backup SID;
    第五处理单元,用于在第一SID对应的节点不可达且所述第一比特位为第一数值时,将所述第五报文的目的地址改为备份SID,得到第六报文;A fifth processing unit, configured to change the destination address of the fifth message to a backup SID to obtain a sixth message when the node corresponding to the first SID is unreachable and the first bit is a first value;
    所述第五收发单元,还用于发送所述第六报文。The fifth transceiver unit is further used to send the sixth message.
  44. 一种报文处理装置,包括:A message processing device, comprising:
    第四收发单元,用于接收第五报文或第六报文; A fourth transceiver unit, configured to receive a fifth message or a sixth message;
    第六处理单元,用于在所述第五报文或第六报文中目的地址为第二节点的本地SID,且第五报文或第六报文中的第一比特位为第一数值时,移除所述第五报文或第六报文的外层报文头,得到第七报文;a sixth processing unit, configured to, when the destination address in the fifth message or the sixth message is the local SID of the second node and the first bit in the fifth message or the sixth message is the first value, remove the outer message header of the fifth message or the sixth message to obtain a seventh message;
    所述第六收发单元,还用于发送所述第七报文。The sixth transceiver unit is further used to send the seventh message.
  45. 一种网络设备,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器,A network device comprising a processor and a memory for storing a computer program capable of running on the processor,
    其中,所述处理器用于运行所述计算机程序时,执行权利要求1至38任一项所述方法的步骤。Wherein, when the processor is used to run the computer program, it executes the steps of the method described in any one of claims 1 to 38.
  46. 一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至38任一项所述方法的步骤。 A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the method described in any one of claims 1 to 38.
PCT/CN2023/125621 2022-10-21 2023-10-20 Message processing method and apparatus, and device and storage medium WO2024083219A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211296073.0A CN117917886A (en) 2022-10-21 2022-10-21 Message processing method, device, equipment and storage medium
CN202211296073.0 2022-10-21

Publications (1)

Publication Number Publication Date
WO2024083219A1 true WO2024083219A1 (en) 2024-04-25

Family

ID=90729729

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/125621 WO2024083219A1 (en) 2022-10-21 2023-10-20 Message processing method and apparatus, and device and storage medium

Country Status (2)

Country Link
CN (1) CN117917886A (en)
WO (1) WO2024083219A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111935014A (en) * 2020-10-19 2020-11-13 网络通信与安全紫金山实验室 Message forwarding method and device based on SRv6 network, storage medium and electronic equipment
CN112511418A (en) * 2020-06-22 2021-03-16 中兴通讯股份有限公司 Message indicating method, device, equipment and storage medium
CN113079089A (en) * 2020-01-03 2021-07-06 华为技术有限公司 Service chain fault protection method, device, equipment, system and storage medium
WO2021169258A1 (en) * 2020-02-24 2021-09-02 华为技术有限公司 Message forwarding method, routing information publishing method, apparatus and system
CN113794637A (en) * 2021-08-20 2021-12-14 新华三信息安全技术有限公司 SID list processing method and device
CN113973074A (en) * 2021-10-26 2022-01-25 新华三信息安全技术有限公司 Message processing method and device, electronic equipment and medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113079089A (en) * 2020-01-03 2021-07-06 华为技术有限公司 Service chain fault protection method, device, equipment, system and storage medium
WO2021169258A1 (en) * 2020-02-24 2021-09-02 华为技术有限公司 Message forwarding method, routing information publishing method, apparatus and system
CN112511418A (en) * 2020-06-22 2021-03-16 中兴通讯股份有限公司 Message indicating method, device, equipment and storage medium
CN111935014A (en) * 2020-10-19 2020-11-13 网络通信与安全紫金山实验室 Message forwarding method and device based on SRv6 network, storage medium and electronic equipment
CN113794637A (en) * 2021-08-20 2021-12-14 新华三信息安全技术有限公司 SID list processing method and device
CN113973074A (en) * 2021-10-26 2022-01-25 新华三信息安全技术有限公司 Message processing method and device, electronic equipment and medium

Also Published As

Publication number Publication date
CN117917886A (en) 2024-04-23

Similar Documents

Publication Publication Date Title
US11218408B2 (en) Packet processing method, device, and system
WO2021169258A1 (en) Message forwarding method, routing information publishing method, apparatus and system
WO2021180077A1 (en) Path establishment method, data transmission method and apparatus, network node, and storage medium
CN112787921B (en) Message transmission method, proxy node and storage medium
WO2020182156A1 (en) Message forwarding method in network, network node and network system
JP7443537B2 (en) Packet processing method, packet processing device, and packet processing system
CN112019433B (en) Message forwarding method and device
CN112953831A (en) Message forwarding method and device
US20090135833A1 (en) Ingress node and egress node with improved packet transfer rate on multi-protocol label switching (MPLS) network, and method of improving packet transfer rate in MPLS network system
JP2023521951A (en) Methods for Forwarding Packets in SRv6 Service Function Chains, SFF and SF Devices
WO2011103781A2 (en) Method, device for implementing identifier and locator split, and method for data encapsulating
JP6488426B2 (en) Multicast data packet forwarding
US20220255772A1 (en) Packet sending method, apparatus, and system
WO2018214359A1 (en) Method for processing data packet, and access network device and non-transient readable storage medium
KR20220047854A (en) Packet forwarding method, apparatus and system in SRS network
WO2021088561A1 (en) Method, device, and equipment for load sharing in bit index explicit replication network
US11929923B2 (en) Packet transmission method and apparatus
CN112511988A (en) Message forwarding method, device, system, network device and storage medium
WO2020182085A1 (en) Transmission method and device for message
CN112737954B (en) Message processing method, device, system, equipment and storage medium
US20240056392A1 (en) Communication method and apparatus
WO2021073357A1 (en) Packet processing method, device, system and apparatus as well as storage medium
WO2023045793A1 (en) Loop detection method and apparatus
WO2024083219A1 (en) Message processing method and apparatus, and device and storage medium
WO2023284774A1 (en) Message processing method and related apparatus