Message encapsulation and transmission methods, devices, network nodes and storage media
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-24
- Publication Date
- 2026-08-14
AI Technical Summary
相关技术中,通过对控制面协议进行扩展来实现SRv6的出口节点或尾节点的镜像保护,对现网设备的升级改造难度大,实现成本高
[0044]本申请实施例提供的报文封装及传输方法、装置、网络节点及存储介质中,作为入口节点的第一节点将第一报文中的第一比特位进行置位,并在所述第一报文的报文头中封装第一SID;作为倒数第二跳节点的第二节点在发现第二SID不可达,且第一报文的第一比特位为特定值的情况下,将所述第一报文的目的地址修改为第一SID;其中,所述第二SID为第二出口节点分配给用户的SID;所述第一SID为第一出口节点分配给用户的SID;所述第一比特位为所述第一报文的预留比特位。上述方案将SRv6报文中的预留比特位作为标志位,通过将标志位置位,并在报文头中封装第一SID,当SRv6的出口节点故障时,可以从SRv6报文中解封装得到出口节点的保护节点分配给用户的SID,在此基础上修改SRv6报文的目的地址,将流量转发至出口节点的保护节点,从而在数据面实现对SRv6的出口节点的镜像保护,在多归接入场景下,可以快速完成SRv6的路径切换保护。
Smart Images

Figure CN116846827B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network technology, and in particular to a message encapsulation and transmission method, apparatus, network node, and storage medium. Background Technology
[0002] Segment Routing IPv6 (SRv6) policy, based on Internet Protocol Version 6 (IPv6), is a source routing technology. When using SRv6 policy to provide high-quality connectivity services to users, it typically offers multi-homed connectivity services with dual Provider Edge (PE) devices or multiple PE devices, forming primary / backup protection, or mirroring protection, among the PE devices. Related technologies implement SRv6 mirroring protection for egress or tail nodes by extending the control plane protocol, but this is difficult and costly to upgrade existing network equipment. Summary of the Invention
[0003] To address the related technical issues, embodiments of this application provide a message encapsulation and transmission method, apparatus, network node, and storage medium.
[0004] The technical solution of this application embodiment is implemented as follows:
[0005] This application provides a message encapsulation method applied to a first node, where the first node is an entry node. The method includes:
[0006] Set the first bit in the first message and encapsulate the first segment identifier (SID, Segment Identify) in the header of the first message; where,
[0007] The first bit represents the reserved bit of the first message; the first SID is the SID assigned to the user by the first egress node.
[0008] In the above scheme, the first SID is encapsulated in the nth position of the segment list in the Segment Routing Header (SRH) of the first message; the nth position represents the last position of the segment list or the bottom position of the SRH stack.
[0009] The method in the above scheme further includes:
[0010] Set the value of the SL field in the SRH header to n-1.
[0011] In the above scheme, the first SID is encapsulated in the first TLV of the SRH of the first message.
[0012] In the above scheme, the first exit node is the protection node of the second exit node.
[0013] In the above scheme, before the step of setting the first bit in the first message and encapsulating the first SID in the header of the first message, the method further includes:
[0014] It is confirmed that the second SID is configured with a backup of the first SID; where,
[0015] The second SID is the SID assigned to the user by the second egress node.
[0016] In the above scheme, before the step of setting the first bit in the first message and encapsulating the first SID in the header of the first message, the method further includes:
[0017] The third SID is determined to be a Penultimate Segment Popping (PSP) type SID; among which,
[0018] The third SID is the SID of the second-to-last hop in the SRH segment list.
[0019] This application embodiment also provides a message transmission method applied to a second node; the second node is the penultimate hop node; the method includes:
[0020] If the second SID is found to be unreachable, and the first bit of the first packet has a specific value, the destination address of the first packet is modified to the first SID; wherein,
[0021] The first SID is carried in the header of the first message; the second SID is the SID assigned to the user by the second egress node; the first SID is the SID assigned to the user by the first egress node; the first bit is the reserved bit of the first message.
[0022] In the above scheme, the first exit node is the protection node of the second exit node.
[0023] In the above scheme, the first SID is carried in the header of the first message, including:
[0024] The first SID is carried at the nth position in the segment list of the SRH of the first message; the nth position is the last position of the segment list or the bottom position of the SRH stack.
[0025] In the above scheme, the first SID is carried in the header of the first message, including:
[0026] The first SID is carried in the TLV of the SRH of the first message.
[0027] This application also provides a message encapsulation device, including:
[0028] An encapsulation unit is used to set the first bit in the first message and encapsulate the first SID in the message header of the first message; wherein,
[0029] The first bit is a reserved bit in the first message; the first SID table is the SID assigned to the user by the first exit node.
[0030] This application also provides a message transmission method, including:
[0031] The reading unit is configured to modify the destination address of the first packet to the first SID when it is found that the second SID is unreachable and the first bit of the first packet is a specific value; wherein,
[0032] The first SID is carried in the header of the first message; the second SID is the SID assigned to the user by the second egress node; the first SID is the SID assigned to the user by the first egress node; the first bit is the reserved bit of the first message.
[0033] This application embodiment also provides a first node, including: a first processor and a first communication interface; wherein,
[0034] The first processor is configured to set a first bit in the first message and encapsulate a first SID in the header of the first message; wherein,
[0035] The first bit is a reserved bit in the first message; the first SID is the SID assigned to the user by the first egress node.
[0036] This application embodiment also provides a second node, including: a second processor and a second communication interface; wherein,
[0037] The second processor is configured to modify the destination address of the first packet to the first SID when it is found that the second SID is unreachable and the first bit of the first packet is a specific value; wherein,
[0038] The first SID is carried in the header of the first message; the second SID is the SID assigned to the user by the second egress node; the first SID is the SID assigned to the user by the first egress node; the first bit is the reserved bit of the first message.
[0039] This application also provides a first node, including: a first processor and a first memory for storing a computer program capable of running on the processor.
[0040] Wherein, when the first processor is used to run the computer program, it executes the steps of any one of the methods described above on the first node side.
[0041] This application also provides a second node, including: a second processor and a second memory for storing computer programs capable of running on the processor.
[0042] Wherein, when the second processor is used to run the computer program, it executes the steps of any of the methods described in the second node side above.
[0043] This application embodiment also provides a storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of any of the methods described in the first node side above, or implements the steps of any of the methods described in the second node side above.
[0044] In the message encapsulation and transmission method, apparatus, network node, and storage medium provided in this application embodiment, the first node, acting as an entry node, sets the first bit in the first message and encapsulates the first SID in the message header of the first message; the second node, acting as the penultimate hop node, modifies the destination address of the first message to the first SID when it finds that the second SID is unreachable and the first bit of the first message is a specific value; wherein, the second SID is the SID assigned to the user by the second exit node; the first SID is the SID assigned to the user by the first exit node; and the first bit is a reserved bit in the first message. The above scheme uses the reserved bits in the SRv6 message as flag bits. By setting the flag bits and encapsulating the first SID in the message header, when the SRv6 egress node fails, the SID assigned to the user by the protection node of the egress node can be obtained from the SRv6 message after decapsulation. Based on this, the destination address of the SRv6 message is modified, and the traffic is forwarded to the protection node of the egress node. Thus, mirror protection of the SRv6 egress node is achieved in the data plane. In multi-homed access scenarios, SRv6 path switching protection can be completed quickly. Attached Figure Description
[0045] Figure 1 This is a schematic diagram of the flag bit structure for SRv6 message extension in an embodiment of this application;
[0046] Figure 2 This is a schematic flowchart of a message encapsulation method according to an embodiment of this application;
[0047] Figure 3This is a schematic diagram of the structure of the first TLV in the embodiment of this application;
[0048] Figure 4 This is a schematic flowchart of a message transmission method according to an embodiment of this application;
[0049] Figure 5 This is a schematic diagram of the network architecture for an application embodiment of this application;
[0050] Figure 6 This is a schematic diagram of message forwarding in an application embodiment of this application;
[0051] Figure 7 This is a schematic diagram of a message encapsulation device according to an embodiment of this application;
[0052] Figure 8 This is a schematic diagram of a message transmission device according to an embodiment of this application;
[0053] Figure 9 This is a schematic diagram of the first node structure in an embodiment of this application;
[0054] Figure 10 This is a schematic diagram of the second node structure in an embodiment of this application. Detailed Implementation
[0055] An SRv6 policy is a source routing technique. This technique introduces an SRv6 extension header, or SRH, into IPv6 packets. It forms an SRv6 path by encapsulating an ordered segment list in the header node.<SID1、SID2、…SIDn> This guides SRv6 packets to be forwarded in the network along a specified path from SID1 to SIDn. SRv6 paths can be orchestrated using either node SIDs (SIDs of type END) or adjacent SIDs (SIDs of type END.X). When every hop in an SRv6 path uses an adjacent SID, it is a strict path, meaning each hop is specified. When some SIDs in an SRv6 path use node SIDs, it is a loose path, and therefore different reachable links may exist between two nodes.
[0056] When using SRv6 Policy technology to provide high-quality connectivity services to users, multi-homed connectivity services with dual or multiple PE devices are typically offered, forming primary / backup protection, also known as mirroring protection, among the PE devices. In scenarios where customer edge (CE) devices at user sites have dual-homed access, if the SRv6 egress node or tail node fails, packet loss will occur. Related technologies implement SRv6 egress or tail node mirroring protection by extending the control plane protocol, but this involves significant upgrade and modification requirements for existing network equipment and is costly to implement.
[0057] Based on this, in various embodiments of this application, the first node, acting as the entry node, sets the first bit in the first message and encapsulates the first SID in the message header of the first message; the second node, acting as the penultimate hop node, modifies the destination address of the first message to the first SID when it finds that the second SID is unreachable and the first bit of the first message is a specific value; wherein, the second SID is the SID assigned to the user by the second exit node; the first SID is the SID assigned to the user by the first exit node; and the first bit is a reserved bit in the first message. The above scheme uses the reserved bits in the SRv6 message as flag bits. By setting the flag bits and encapsulating the first SID in the message header, when the SRv6 egress node (second egress node) fails, the backup SID (first SID) assigned to the user by the protection node of the egress node can be obtained from the SRv6 message. The destination address of the SRv6 message is then modified to the backup SID, and the traffic is forwarded to the protection node (first egress node) corresponding to the egress node. This achieves protection of the SRv6 egress node in the data plane. In multi-homed access scenarios, path switching protection for SRv6 egress node failures can be quickly completed.
[0058] The present application will now be described in further detail with reference to the accompanying drawings and embodiments.
[0059] First, the reserved bits for SRv6 messages in the embodiments of this application will be explained. Here, the reserved bits for SRv6 messages are extended. In practical applications, the reserved bits can be located in the message header of the SRv6 message, for example, they can be the reserved bits in the SRH. Figure 1 The diagram shows an example of the expanded Flag field structure. In the SRH Flag field, one bit is used to indicate whether a protection switch for the egress node is required when a subsequent node becomes unreachable. Specifically:
[0060] B: A reserved bit in the Flag field. If this bit is set (i.e., set to 1), it indicates that a protection switch for the egress node is required when a subsequent node becomes unreachable, and a backup SID is carried in the SRv6 message. Here, the backup SID represents the SID assigned to the user by the protection node of the egress node. Furthermore, in practical applications, bit "B" can be any bit in the Flag field.
[0061] Reserved: Unused reserved bits. During SRv6 message transmission, unused reserved bits must be 0. The receiver ignores unused reserved bits when receiving an SRv6 message.
[0062] Based on the flag structure for SRv6 message extension described above, this application provides a message encapsulation method applied to a first node, which is an ingress node. Here, the ingress node can be translated as "ingress," and can also be called a header node or source node, etc. In practical applications, the ingress node describes the entrance to a path or tunnel. Figure 2 As shown, the method includes:
[0063] Step 201: Set the first bit in the first message and encapsulate the first SID in the message header of the first message.
[0064] Wherein, the first bit is the reserved bit of the first message; the first SID is the SID assigned to the user by the first egress node.
[0065] Here, the first message can be understood as an SRv6 message, and the first bit can be located in the header of the first message. For example, it can be understood as... Figure 1 The first node receives a message from the CE device and, when encapsulating the message with an SRv6 outer IPv6 header, sets the first bit to "B". Simultaneously, the first node encapsulates the first SID in the SRv6 message header. Here, the SID can be a service SID, specifically a VPN SID. Setting the first bit means setting it to a specified value. In practical applications, the header containing the first bit and the header encapsulating the first SID can be the same or different.
[0066] Here, the egress node, also known as the tail node or the destination node, describes the exit of a path or tunnel in practical applications.
[0067] In one embodiment, before the step of setting the first bit in the first message and encapsulating the first SID in the header of the first message, the method further includes:
[0068] It is confirmed that the second SID is configured with a backup of the first SID; where,
[0069] The second SID is the SID assigned to the user by the second exit node.
[0070] In this configuration, the second SID is configured with a backup of the first SID; it can also be understood as the second SID being configured with protection for the first SID. In practical applications, the first SID can be called the backup SID, and the second SID the primary SID. Here, the second egress node can be understood as the primary egress node for the path or tunnel, or the currently active egress node (primary egress or active egress). The role of the first egress node is to provide protection in case the second egress node fails. The first egress node can also be called the backup egress node or protector of the second egress node.
[0071] In other words, after receiving a message from the CE device, the first node first performs a configuration query locally based on the primary SID of the CE user. If the primary SID is configured with a corresponding backup SID, then the first node encapsulates the message with an SRv6 outer IPv6 header.
[0072] In one embodiment, before the steps of setting the first bit in the first message and encapsulating the first SID in the header of the first message, the method further includes:
[0073] The third SID is determined to be a PSP type SID; where,
[0074] The third SID is the SID of the second-to-last hop in the SRH segment list.
[0075] In practical applications, under the existing SRv6 standard, the penultimate hop SID in the SRH segment list represents the penultimate hop SID of an SRv6 path or tunnel. However, if there are other extensions to the subsequent segment list, the position of the third SID in the SRH segment list may change, but the third SID still represents the penultimate hop SID of an SRv6 path or tunnel.
[0076] In one embodiment, the first SID is encapsulated in the nth position of the segment list of the SRH of the first message; the nth position represents the last position of the segment list or the bottom position of the SRH stack.
[0077] The method further includes:
[0078] Set the value of the SL field in the SRH to n-1.
[0079] Here, the SL field is understood as the segment left offset, also known as the SL pointer. In practical applications, the first SID is encapsulated at the very end of the SRH segment list (i.e., the nth position of the SL). Furthermore, when encapsulating the packet into an SRv6 outer IPv6 packet, the value of the SL field in the SRH needs to be set to n-1. Thus, under normal circumstances, the SL pointer will not point to the first SID, but rather to the SID at the (n-1)th position.
[0080] In one embodiment, the first SID is encapsulated in the first TLV of the SRH of the first message.
[0081] The first TLV includes at least one of the following:
[0082] The type field describes the type of the first TLV;
[0083] The length field is used to describe the length of the first SID;
[0084] The data field is used to carry the first SID.
[0085] Here, a new TLV can be defined in the SRH, and the first SID can be carried in the data field of the TLV.
[0086] Figure 3 This paper shows a structural example diagram of a first TLV newly defined in an embodiment of this application, wherein,
[0087] The field value for the type field is assigned by the Internet Assigned Numbers Authority (IANA). For example, the field value can be 10.
[0088] The length field describes the length of the first SID. For example, the value of the length field indicates that the length of the first SID is 18 bytes. It should be noted that the length described by the value of the length field does not include the length of the type field in the first TLV and the length field itself.
[0089] Correspondingly, this application also provides a message transmission method applied to a second node; the second node is the penultimate hop node. In practical applications, the penultimate hop node is the node corresponding to the penultimate hop SID in the segment list of the SRv6 path or tunnel, wherein the penultimate hop SID can be of type END or type END.X. Figure 4 As shown, the method includes:
[0090] Step 401: If the second SID is found to be unreachable and the first bit of the first packet is a specific value, modify the destination address of the first packet to the first SID.
[0091] The first SID is carried in the header of the first message; the second SID is the SID assigned to the user by the second egress node; the first SID is the SID assigned to the user by the first egress node; the first bit is the reserved bit of the first message.
[0092] The primary exit node serves as a protection mechanism in case the secondary exit node fails. It can also be referred to as a backup or protection node for the secondary exit node.
[0093] Here, the first message can be understood as an SRv6 message, with the first node setting the first bit in the first message and encapsulating the first SID in the message header. When the SRv6 message is forwarded to the second node, the second node finds that the next SID in the SRH segment list of the SRv6 message is unreachable, i.e., the second exit node or the second tail node is unreachable. Then, according to the indication of the first bit, the second node reads the first SID from the corresponding position in the message header of the SRv6 message and modifies the destination address of the SRv6 message to the first SID. In this way, the SRv6 message with the modified destination address will be sent to the first exit node.
[0094] As mentioned earlier, the first node can encapsulate the first SID in the nth position of the segment list of the SRH of the first packet, or it can encapsulate the first SID in the first TLV of the SRH of the first packet. Therefore, depending on the encapsulation position of the first SID, the second node will decapsulate the first SID in different ways.
[0095] In one embodiment, the first SID is carried in the header of the first message, including:
[0096] The first SID is carried at the nth position in the segment list of the SRH of the first message; the nth position is the last position of the segment list or the bottom position of the SRH stack.
[0097] In practical applications, the first node encapsulates the first SID at the very end of the SRH segment list. Furthermore, when encapsulating the packet with the SRv6 tunnel outer IPv6 header, the value of the SL field in the SRH needs to be set to n-1. Thus, under normal circumstances, the SL pointer will not point to the first SID, but rather to the SID at the (n-1)th position.
[0098] In one embodiment, the first SID is carried in the header of the first message, including:
[0099] The first SID is carried in the TLV of the SRH of the first message.
[0100] The first TLV includes at least one of the following:
[0101] The type field describes the type of the first TLV;
[0102] The length field is used to describe the length of the first SID;
[0103] The data field is used to carry the first SID.
[0104] Here, when the second node finds that the next SID in the SRH segment list of the SRv6 message is unreachable, that is, the second egress node is unreachable, it reads the first SID from the data field of the first TLV in the SRH of the SRv6 message according to the indication of the first bit.
[0105] Here, the penultimate jump SID of SRv6 must be a PSP type SID in order to support ejecting SRH.
[0106] In this embodiment, the reserved bits in the SRv6 message are used as flag bits. By setting the flag bits and encapsulating the first SID in the message header, when the SRv6 egress node fails, the backup SID assigned to the user by the protection node of the egress node can be obtained from the SRv6 message. The destination address of the SRv6 message is then modified to this backup SID, and the traffic is forwarded to the protection node of the egress node. Thus, there is no need for control plane protocol extension, and protection of the SRv6 egress node is directly implemented in the data plane. In multi-homed access scenarios, this solution is easy to deploy and can quickly complete path switching protection for SRv6 tail node failures.
[0107] The present application will be further described in detail below with reference to application examples.
[0108] In this application example, the network includes routing devices such as PE1, PE2, PE3, PE4, P1, P2, P3, and P4. CE1 and CE2 are user-side devices. The corresponding network structure and SID allocation are as follows: Figure 5As shown. PE1 is the head node (i.e., the first node) of the SRv6 path / tunnel. It can receive the primary VPN SID (i.e., the second SID) assigned to the user by the primary egress node (i.e., the second egress node) and the backup VPN SID (i.e., the first SID) assigned to the user by the backup egress node (i.e., the first egress node) via the control protocol, or receive the VPN SID issued by the controller, or obtain the VPN SID through static configuration. The Virtual Private Network (VPN) 1 user includes two sites, CE1 and CE2. PE3 and PE4 are dual-homed access devices for site CE2, with PE3 as the primary access device and PE4 as the backup access device. Therefore, the VPN SID assigned to this VPN1 user by PE3 is the primary SID, and the VPN SID assigned to this VPN1 user by PE4 is the backup SID. Figure 5 VPN SID "A:4::B100" is a backup SID of VPN SID "A:3::B100", and there is a mapping between "A:4::B100" and "A:3::B100" on PE1. Traffic from CE1 to CE2 is carried through the SRv6 Policy path / tunnel, and the corresponding path information is as follows:
[0109] Segment list:<A:1::1,A:11::1,A:12::1,A:3::B100>
[0110] Among them, the SID of the second-to-last jump in the segment list (i.e., the third SID) "A:12::1" is the SID of the second-to-last jump pop (PSPFlavor) type.
[0111] In practical applications, when PE1 receives a message from CE1, during the encapsulation of the SRv6 tunnel outer IPv6 header, it determines that VPN1 has a dual-homed protection exit node based on the local mapping between "A:4::B100" and "A:3::B100". Simultaneously, it checks and confirms that the second-to-last hop SID "A:12::1" in the SRv6 segmentlist is a PSP Flovar type SID. Therefore, it sets SRH.B-Flag = 1 and encapsulates the backup SID "A:4::B100" at the corresponding position in the SRv6 message. The encapsulation position can be chosen as follows:
[0112] Encapsulation position 1: Carry "A:4::B100" at the last position of the segmentlist;
[0113] Package location 2: "A:4::B100" is carried in the SRH TLV.
[0114] If the backup SID "A:4::B100" is carried in encapsulation position 1, then the current value of SL is set to the value of LastEntry minus 1, that is, SL = n-1 = 3, so that SL will not point to the backup SID, and SID List[4] will point to "A:4::B100". If "A:4::B100" is carried in encapsulation position 2, no other additional processing is required.
[0115] Combination Figure 6 When PE3 (primary egress) fails, the SRv6 packet reaches the penultimate hop node P2 (second node) along the SRv6 path. P2 finds that the next SID "A:3::B100" in the segmentlist is unreachable. Therefore, according to the instruction SRH.B-Flag=1, it obtains the backup SID "A:4::B100" from the corresponding position in the SRv6 packet and modifies the destination address of the SRv6 packet to the backup "A:4::B100". At the same time, based on the current SID being a PSP type Flavor, the SRH is popped. P2 continues to send the SRv6 packet to PE4 (backup egress) according to the new destination address "A:4::B100". When the SRv6 packet reaches PE4, it performs the corresponding action according to the SID type "A:4::B100", decapsulates the outer IPv6 packet header, restores the inner original packet, and forwards the original packet to CE2, thereby automatically realizing automatic protection switching when PE2 fails.
[0116] Furthermore, the method provided in this embodiment of the invention also includes, for example... Figure 6 As shown, after the route convergence is completed, the ingress node PE1 reselects the traffic forwarding path for VPN1 users and switches the path from CE1 to CE2 to the egress node PE4.
[0117] To implement the method on the first node side of this application embodiment, this application embodiment also provides a message encapsulation device, disposed on the first node, where the first node is the entry node, such as... Figure 7 As shown, the device includes:
[0118] Encapsulation unit 701 is used to set the first bit in the first message and encapsulate the first SID in the message header of the first message; wherein,
[0119] The first bit is a reserved bit in the first message; the first SID is the SID assigned to the user by the first egress node.
[0120] In one embodiment, the first SID is encapsulated at the nth position of the segment list of the SRH of the first message; the nth position represents the last position of the segment list or the bottom position of the SRH stack.
[0121] In one embodiment, the encapsulation unit 701 is further configured to set the value of the SL field in the SRH to n-1.
[0122] In one embodiment, the first SID is encapsulated in the first TLV of the SRH of the first message.
[0123] In one embodiment, the first exit node is a protection node for the second exit node.
[0124] In one embodiment, the packaging unit 701 is further configured to:
[0125] Before setting the first bit in the first message and encapsulating the first SID in the header of the first message, it is determined that the second SID is configured with a backup of the first SID; wherein,
[0126] The second SID is the SID assigned to the user by the second egress node.
[0127] In one embodiment, the packaging unit 701 is further configured to:
[0128] Before setting the first bit in the first message and encapsulating the first SID in the header of the first message, the third SID is determined to be the SID of the penultimate hop pop-out PSP type; wherein,
[0129] The third SID is the SID of the second-to-last hop in the SRH segment list.
[0130] In practical applications, the encapsulation unit 701 can be implemented by the processor in the message encapsulation device.
[0131] It should be noted that the message encapsulation device provided in the above embodiments is only illustrated by the division of the above-described program modules. In practical applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program modules to complete all or part of the processing described above. In addition, the message encapsulation device and the message encapsulation method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.
[0132] To implement the method on the second node side of this application embodiment, this application embodiment also provides a message transmission device, which is disposed on the second node, the second node being the penultimate hop node. In practical applications, the penultimate hop node is the node corresponding to the penultimate hop SID in the segment list of the SRv6 path or tunnel, wherein the penultimate hop SID can be of type END or type END.X. Figure 8 As shown, the device includes:
[0133] Modification unit 801 is used to modify the destination address of the first packet to the first SID when it is found that the second SID is unreachable and the first bit of the first packet is a specific value; wherein,
[0134] The first SID is carried in the header of the first message; the second SID is the SID assigned to the user by the second egress node; the first SID is the SID assigned to the user by the first egress node; the first bit is the reserved bit of the first message.
[0135] In one embodiment, the first exit node is a protection node for the second exit node.
[0136] In one embodiment, the first SID is carried in the header of the first message, including:
[0137] The first SID is carried at the nth position in the segment list of the SRH of the first message; the nth position is the last position of the segment list or the bottom position of the SRH stack.
[0138] In one embodiment, the first SID is carried in the header of the first message, including:
[0139] The first SID is carried in the TLV of the SRH of the first message.
[0140] In practical applications, the modification unit 801 can be implemented by the communication interface in the message transmission device.
[0141] It should be noted that the above embodiments of the message transmission device are only illustrated by the division of the above-described program modules. In practical applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program modules to complete all or part of the processing described above. In addition, the message transmission device and message transmission method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.
[0142] Based on the hardware implementation of the above program modules, and in order to implement the method on the first node side of the embodiments of this application, the embodiments of this application also provide a first node, which represents the head node of SRv6, such as... Figure 9 As shown, the first node 900 includes:
[0143] The first communication interface 901 is capable of exchanging information with other network nodes;
[0144] The first processor 902 is connected to the first communication interface 901 to enable information interaction with other network nodes. When running a computer program, it executes the methods provided by one or more technical solutions on the first node side. The computer program is stored in the first memory 903.
[0145] Specifically, the first processor 902 is configured to set the first bit in the first message and encapsulate the first SID in the message header of the first message; wherein,
[0146] The first bit is a reserved bit in the first message; the first SID is the SID assigned to the user by the first egress node.
[0147] In one embodiment, the first SID is encapsulated at the nth position of the segment list of the SRH of the first message; the nth position represents the last position of the segment list or the bottom position of the SRH stack.
[0148] In one embodiment, the first processor 902 is further configured to set the value of the SL field in the SRH to n-1.
[0149] In one embodiment, the first SID is encapsulated in the first TLV of the SRH of the first message.
[0150] In one embodiment, the first exit node is a protection node for the second exit node.
[0151] In one embodiment, the first processor 902 is further configured to:
[0152] Before setting the first bit in the first message and encapsulating the first SID in the header of the first message, it is determined that the second SID is configured with a backup of the first SID; wherein,
[0153] The second SID is the SID assigned to the user by the second egress node.
[0154] In one embodiment, the first processor 902 is further configured to:
[0155] Before setting the first bit in the first message and encapsulating the first SID in the header of the first message, the third SID is determined to be the SID of the penultimate hop pop-out PSP type; wherein...
[0156] The third SID is the SID of the second-to-last hop in the SRH segment list.
[0157] It should be noted that the specific processing procedures of the first processor 902 and the first communication interface 901 can be understood by referring to the above method.
[0158] Of course, in practical applications, the various components in the first node 900 are coupled together through the bus system 904. It can be understood that the bus system 904 is used to implement communication between these components. In addition to the data bus, the bus system 904 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 9 The general labeled all buses as Bus System 904.
[0159] The first memory 903 in this embodiment is used to store various types of data to support the operation of the first node 900. Examples of such data include any computer program used to operate on the first node 900.
[0160] The methods disclosed in the embodiments of this application can be applied to the first processor 902, or implemented by the first processor 902. The first processor 902 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 integrated logic circuit of the hardware or by instructions in the form of software in the first processor 902. The first processor 902 may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The first processor 902 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly reflected 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 modules may be located in a storage medium, which is located in the first memory 903. The first processor 902 reads the information in the first memory 903 and completes the steps of the aforementioned method in combination with its hardware.
[0161] In an exemplary embodiment, the first node 900 may be implemented by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic components to perform the aforementioned method.
[0162] Based on the hardware implementation of the above program modules, and in order to implement the method on the second node side of this application embodiment, this application embodiment also provides a second node, which represents the penultimate hop node of SRv6. In practical applications, the penultimate hop node is the node corresponding to the penultimate hop SID in the segment list of the SRv6 path or tunnel, wherein the penultimate hop SID can be of type END or type END.X. Figure 10 As shown, the second node 1000 includes:
[0163] The second communication interface 1001 is capable of exchanging information with other network nodes;
[0164] The second processor 1002 is connected to the second communication interface 1001 to enable information interaction with other network nodes. When running a computer program, it executes the methods provided by one or more technical solutions on the second node side. The computer program is stored in the second memory 1003.
[0165] Specifically, the second processor 1002 is configured to modify the destination address of the first packet to the first SID when it is discovered that the second SID is unreachable and the first bit of the first packet is a specific value; wherein,
[0166] The first SID is carried in the header of the first message; the second SID is the SID assigned to the user by the second egress node; the first SID is the SID assigned to the user by the first egress node; the first bit is the reserved bit of the first message.
[0167] In one embodiment, the first exit node is a protection node for the second exit node.
[0168] In one embodiment, the first SID is carried in the header of the first message, including:
[0169] The first SID is carried at the nth position in the segment list of the SRH of the first message; the nth position is the last position of the segment list or the bottom position of the SRH stack.
[0170] In one embodiment, the first SID is carried in the header of the first message, including:
[0171] The first SID is carried in the TLV of the SRH of the first message.
[0172] It should be noted that the specific processing procedures of the second processor 1002 and the second communication interface 1001 can be understood by referring to the above method.
[0173] Of course, in practical applications, the various components in the second node 1000 are coupled together through the bus system 1004. It can be understood that the bus system 1004 is used to implement communication between these components. In addition to the data bus, the bus system 1004 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 10 The general labeled all buses as Bus System 1004.
[0174] The second memory 1003 in this embodiment is used to store various types of data to support the operation of the second node 1000. Examples of such data include any computer program used to operate on the second node 1000.
[0175] The methods disclosed in the above embodiments of this application can be applied to the second processor 1002, or implemented by the second processor 1002. The second processor 1002 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 integrated logic circuit of the hardware or by instructions in the form of software in the second processor 1002. The second processor 1002 may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The second processor 1002 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly manifested 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 modules may be located in a storage medium, which is located in the second memory 1003. The second processor 1002 reads the information in the second memory 1003 and completes the steps of the aforementioned method in conjunction with its hardware.
[0176] In an exemplary embodiment, the second node 1000 may be implemented by one or more ASICs, DSPs, PLDs, CPLDs, FPGAs, general-purpose processors, controllers, MCUs, microprocessors, or other electronic components to perform the aforementioned method.
[0177] It is understood that the memories (first memory 903 and second memory 1003) in the embodiments of this application can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be 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 (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), and Direct Rambus Random Access Memory (DRRAM).The memories described in the embodiments of this application are intended to include, but are not limited to, these and any other suitable types of memories.
[0178] In an exemplary embodiment, this application also provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, such as a first memory 903 storing a computer program, which can be executed by a first processor 902 of a first node 900 to complete the steps described in the aforementioned first node-side method. Another example is a second memory 1003 storing a computer program, which can be executed by a second processor 1002 of a second node 1000 to complete the steps described in the aforementioned second node-side method. The computer-readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM.
[0179] It should be noted that terms such as "first" and "second" are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0180] Furthermore, the technical solutions described in the embodiments of this application can be combined arbitrarily without conflict.
[0181] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application.
Claims
1. A message encapsulation method, characterized in that, Applied to the first node, which is the entry node, the method includes: Set the first bit in the first message and encapsulate the first identifier (SID) in the header of the first message; wherein, When the first bit is set, the first bit is used to indicate that protection switching of the egress node is required when the subsequent node is unreachable. The first bit is a reserved bit of the first message. The first SID is the SID assigned to the user by the first egress node. The first SID is encapsulated in the first TLV of the SRH of the first message.
2. The method according to claim 1, characterized in that, The first SID is encapsulated in the nth position of the segment list in the segment routing header (SRH) of the first message; the nth position represents the last position of the segment list or the bottom position of the SRH stack.
3. The method according to claim 2, characterized in that, The method further includes: Set the value of the SL field in the SRH to n-1.
4. The method according to any one of claims 1 to 3, characterized in that, The first exit node is a protection node for the second exit node.
5. The method according to claim 4, characterized in that, Before the step of setting the first bit in the first message and encapsulating the first SID in the header of the first message, the method further includes: It is confirmed that the second SID is configured with a backup of the first SID; where, The second SID is the SID assigned to the user by the second egress node.
6. The method according to any one of claims 1-3, characterized in that, Before the step of setting the first bit in the first message and encapsulating the first SID in the header of the first message, the method further includes: The third SID is determined to be the SID of the second-to-last pop-up PSP type; among which, The third SID is the SID of the second-to-last hop in the SRH segment list.
7. A message transmission method, characterized in that, Applied to the second node, which is the penultimate hop node; the method includes: If the second SID is found to be unreachable, and the first bit of the first packet has a specific value, the destination address of the first packet is modified to the first SID; wherein, The first SID is carried in the TLV of the SRH of the first message; the second SID is the SID assigned to the user by the second egress node; the first SID is the SID assigned to the user by the first egress node; the first bit is the reserved bit of the first message. When the first bit is set, the first bit is used to indicate that when the subsequent node is unreachable, the protection switching process of the egress node needs to be performed.
8. The method according to claim 7, characterized in that, The first exit node is a protection node for the second exit node.
9. The method according to claim 7 or 8, characterized in that, The first SID is carried in the header of the first message, including: The first SID is carried at the nth position in the segment list of the SRH of the first message; the nth position is the last position of the segment list or the bottom position of the SRH stack.
10. A message encapsulation device, characterized in that, include: An encapsulation unit is used to set the first bit in the first message and encapsulate the first SID in the message header of the first message; wherein, When the first bit is set, the first bit is used to indicate that when a subsequent node is unreachable, a protection switch of the egress node is required. The first bit is a reserved bit for the first message. The first SID table contains the SIDs assigned to users by the first egress node, and the first SID is encapsulated in the first TLV of the SRH of the first message.
11. A message transmission device, characterized in that, include: The modification unit is configured to modify the destination address of the first packet to the first SID when it is discovered that the second SID is unreachable and the first bit of the first packet has a specific value; wherein, The first SID is carried in the TLV of the SRH of the first message; The second SID is the SID assigned to the user by the second egress node; the first SID is the SID assigned to the user by the first egress node; the first bit is the reserved bit of the first message. When the first bit is set, the first bit is used to indicate that when the subsequent node is unreachable, the protection switching process of the egress node needs to be performed.
12. A first node, characterized in that, include: A first processor and a first communication interface; wherein... The first processor is configured to set a first bit in the first message and encapsulate a first SID in the header of the first message; wherein, When the first bit is set, the first bit is used to indicate that protection switching of the egress node is required when the subsequent node is unreachable. The first bit is a reserved bit of the first message. The first SID is the SID assigned to the user by the first egress node. The first SID is encapsulated in the first TLV of the SRH of the first message.
13. A second node, characterized in that, include: A second processor and a second communication interface; wherein... The second processor is configured to modify the destination address of the first packet to the first SID when it is found that the second SID is unreachable and the first bit of the first packet is a specific value; wherein, The first SID is carried in the TLV of the SRH of the first message; the second SID is the SID assigned to the user by the second egress node; the first SID is the SID assigned to the user by the first egress node; the first bit is the reserved bit of the first message. When the first bit is set, the first bit is used to indicate that when the subsequent node is unreachable, the protection switching process of the egress node needs to be performed.
14. A first node, characterized in that, include: A first processor and a first memory for storing computer programs capable of running on the processor. Wherein, when the first processor is used to run the computer program, it performs the steps of the method according to any one of claims 1 to 6.
15. A second node, characterized in that, include: A second processor and a second memory for storing computer programs that can run on the processor. Wherein, when the second processor is used to run the computer program, it performs the steps of the method according to any one of claims 7 to 9.
16. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6, or the steps of the method according to any one of claims 7 to 9.
Citation Information
Patent Citations
SCALABLE EDGE NODE PROTECTION USING IPv6 SEGMENT ROUTING EXTENSION HEADER
US20150109902A1
Failure sensing method, apparatus and system for forwarding path
WO2022222884A1