WO2023045247A1 - 一种段标识确定方法及装置 - Google Patents
一种段标识确定方法及装置 Download PDFInfo
- Publication number
- WO2023045247A1 WO2023045247A1 PCT/CN2022/078065 CN2022078065W WO2023045247A1 WO 2023045247 A1 WO2023045247 A1 WO 2023045247A1 CN 2022078065 W CN2022078065 W CN 2022078065W WO 2023045247 A1 WO2023045247 A1 WO 2023045247A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sid
- field
- address
- offset
- index
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Definitions
- the present application relates to the communication field, in particular to a method and device for determining a segment identifier.
- Segment Routing Internet Protocol Version 6, SRv6
- SID Segment Identity
- the device For each device in the SRv6 network, the device sends a link state message to each of its corresponding neighbor devices, and the link state message includes one or more complete SIDs. After receiving the link state packet, the neighbor device of the device can determine the SID issued by the device.
- the purpose of the embodiment of the present application is to provide a method and device for determining a segment identifier, so as to reduce the message overhead in the process of issuing the SID, thereby ensuring the performance of the device and the stability of the message transmission protocol.
- the specific technical scheme is as follows:
- the embodiment of the present application provides a method for determining a segment identifier, which is applied to a first device in an SRv6 network, and the SRv6 network further includes a second device, and the first device and the second device are neighbors to each other device, the second device stores the first segment identification SID, and the method includes:
- the first message includes at least one first block identifier and the boundary address of the address space corresponding to each first block identifier;
- the second message includes at least one second Block identifier and a first index value;
- the first packet includes a first sub-TLV
- the first sub-TLV includes a block identification field, a start SID field, and an end SID field; wherein, the block identification field is used for Carry the at least one first Block identifier; the start SID field is used to carry the start address of the address space corresponding to each first Block; the end SID field is used to carry the address space corresponding to each first Block The end address of .
- the first sub-TLV further includes an offset field, where the offset field is used to carry the first offset.
- the second packet includes a second sub-TLV, a third sub-TLV, or a fourth sub-TLV;
- the second sub-TLV is used to carry the index of the link SID of the point-to-point P2P adjacency type; the second sub-TLV includes a block identification field, an index number field, an index length field, at least one index field, and each index field corresponds to Endpoint behavior field; the third sub-TLV is used to carry the index of the link SID of the LAN adjacency type; the third sub-TLV includes a block identification field, an index quantity field, an index length field, at least one index field, and each The endpoint behavior field corresponding to the index field; the fourth sub-TLV is used to carry the index of the device SID; the fourth sub-TLV includes a block identification field, an index number field, an index length field, at least one index field, and each index field The corresponding endpoint behavior field; wherein, the block identification field is used to carry the second Block identification; the index number field is used to carry the index number; the index length field is used to carry the index length; each index field is used To carry an index value;
- the second sub-TLV further includes an offset field
- the third sub-TLV further includes an offset field
- the fourth sub-TLV further includes an offset field
- the offset The amount field is used to carry the first offset
- the first packet further includes the number of endpoint behaviors and the endpoint behavior;
- the first index value is a starting index value, and the starting index value includes the The index value corresponding to the first endpoint behavior of the same Block;
- the calculation of the first SID using the boundary address of the first address space corresponding to the same Block and the first index value specifically includes:
- the first packet includes a fifth sub-TLV
- the fifth sub-TLV includes a block identification field, a start SID field, an end SID field, a flag bit field, an algorithm field, and a weight field , a behavior quantity field and an endpoint behavior field
- the block identifier field is used to carry the first Block identifier
- the start SID field is used to carry the start address of the first address space
- the end SID The field is used to carry the end address of the first address space
- the flag bit field is used to carry a shared flag bit, and the shared flag bit is shared by multiple SIDs included in the Block represented by the first Block identifier
- the The algorithm field is used to carry a shared algorithm, and the shared algorithm is shared by multiple SIDs included in the Block represented by the first Block identifier
- the weight field is used to carry a shared weight, and the shared weight is identified by the first Block Multiple SIDs included in the characterized Block are shared
- the behavior number field is used to carry the number of end
- the fifth sub-TLV further includes an offset field, where the offset field is used to carry the first offset.
- the second packet includes a sixth sub-TLV or a seventh sub-TLV;
- the sixth sub-TLV is used to carry the index of the link SID of the point-to-point P2P adjacency type; the sixth sub-TLV includes a block identification field, an index length field and a start index field;
- the seventh sub-TLV is used to carry the index of the link SID of the LAN adjacency type; the seventh sub-TLV includes a block identification field, an index length field and a starting index field; wherein, the block identification field is used to carry The second Block identifier; the index length field is used to carry the length of the start index field; the start index field is used to carry the start index value.
- the sixth sub-TLV further includes an offset field
- the seventh sub-TLV further includes an offset field
- the offset field is used to carry the first offset quantity
- an embodiment of the present application provides an electronic device, the electronic device is a first device in an SRv6 network, and the SRv6 network further includes a second device, and the first device and the second device are mutual Neighboring equipment, the second equipment stores the first segment identification SID, and the electronic equipment includes: a processor; a transceiver; a machine-readable storage medium, and the machine-readable storage medium stores the information that can be executed by the processor. machine-executable instructions; the machine-executable instructions cause the processor to:
- the first message includes at least one first block identifier and the boundary of the address space corresponding to each first block identifier address;
- the second message includes at least one second Block identifier and a first index value;
- the embodiment of the present application further provides a machine-readable storage medium, the machine-readable storage medium stores machine-executable instructions that can be executed by the processor, and the processor is executed by the machine-readable Executing the instruction prompts: to implement the steps of any one of the above-mentioned segment identification determination methods.
- the embodiment of the present application further provides a computer program product including instructions, which, when run on a computer, cause the computer to execute the steps of any one of the methods for determining the segment identifier described above.
- the first message and the second message sent by the second device to the first device The first SID stored in the second device is not included, but the Block identifier of the Block to which the stored SID belongs, the boundary address of the first address space of the Block and the index value corresponding to the SID are sent to the first device. Therefore, when there are many devices in the SRv6 network, each device can send the first packet and the second packet to its neighbor device, so that its neighbor device can information to accurately determine the SID issued by the device.
- the amount of data corresponding to the Block identifier included in the first message, and the Block identifier and index value included in the second message is significantly smaller than the amount of data corresponding to the complete SID. Therefore, when there are a large number of When using the method provided by the embodiment of the present application, the amount of information required to be carried in the message can be significantly reduced, thereby reducing the number of messages to be sent, which effectively reduces the message overhead in the process of issuing the SID , thereby ensuring the stability of the device performance and the packet transmission protocol.
- Figure 1-a is a schematic diagram of SRv6 End SID sub-TLV
- Figure 1-b is a schematic diagram of SRv6 End.X SID sub-TLV
- Figure 1-c is a schematic diagram of SRv6 LAN End.X SID sub-TLV
- FIG. 2 is a schematic flowchart of the first method for determining a segment identifier provided in an embodiment of the present application
- FIG. 3 is a schematic structural diagram of an SRv6 network provided by an embodiment of the present application.
- FIG. 4 is a second schematic flow chart of a method for determining a segment identifier provided in an embodiment of the present application
- Fig. 5 is a kind of schematic diagram of SID
- FIG. 6 is a schematic flowchart of a third method for determining a segment identifier provided in an embodiment of the present application.
- FIG. 7 is a schematic flowchart of a fourth method for determining a segment identifier provided in an embodiment of the present application.
- FIG. 8 is a schematic flowchart of a fifth method for determining a segment identifier provided in an embodiment of the present application.
- FIG. 9 is a schematic flowchart of a sixth method for determining a segment identifier provided in an embodiment of the present application.
- Figure 10-a is a schematic diagram of the SRv6 SID Block sub-TLV provided by the embodiment of the present application.
- Figure 10-b is a schematic diagram of the SRv6 End.X SID Index Sub-TLV provided by the embodiment of the present application;
- Figure 10-c is a schematic diagram of the SRv6 LAN End.X SID Index Sub-TLV provided by the embodiment of the present application;
- Figure 10-d is a schematic diagram of the SRv6 End SID Index Sub-TLV provided by the embodiment of the present application.
- FIG. 11 is a schematic flowchart of the seventh method for determining a segment identifier provided in the embodiment of the present application.
- Figure 12-a is another schematic diagram of the Rule-based End.X SID Block sub-TLV provided by the embodiment of the present application.
- Figure 12-b is another schematic diagram of the Rule-based End.X SID Index sub-TLV provided by the embodiment of the present application.
- Figure 12-c is another schematic diagram of the Rule-based LAN End.X SID Index sub-TLV provided by the embodiment of the present application.
- Fig. 13-a is a schematic diagram of the first structure of the segment identification device provided by the embodiment of the present application.
- Fig. 13-b is a second structural schematic diagram of the segment identification device provided by the embodiment of the present application.
- FIG. 14 is a schematic structural diagram of a device provided by an embodiment of the present application.
- SRv6 In an SRv6 network, two adjacent devices can pass through Intermediate System-to-Intermediate System (IS-IS) protocol or Open Shortest Path First Version 3 (Open Shortest Path First Version 3, OSPFv3) Publish SID information.
- IS-IS Intermediate System-to-Intermediate System
- OSPFv3 Open Shortest Path First Version 3
- SID Information
- the number of devices is very large, and the length of a SID reaches 128 bits (bits), which makes the number of link state messages sent between devices is large during the SID issuing process, and each Link state packets contain a large amount of data, which leads to a large packet overhead when issuing SIDs, which seriously affects the performance of the device and the stability of the packet transmission protocol.
- the SID may be the device SID of device 1 (denoted as End SID).
- the SID may also be a link SID (denoted as End.X SID) between device 1 and a neighboring device.
- the link SID is the SID corresponding to the outgoing interface during message transmission. That is, the SID corresponding to the link that the packet passes through during transmission.
- device 1 may send a link state message (referred to as the first link state message for easy distinction) to device 2.
- the first link state message carries SRv6 End SID sub-TLV.
- SRv6 End SID sub-TLV is used to publish the device SID.
- Figure 1-a is a schematic diagram of SRv6 End SID sub-TLV.
- the second link state message carries SRv6 End.X SID sub-TLV, or carries SRv6 LAN End.X SID sub-TLV.
- the SRv6 End.X SID sub-TLV is used to publish the link SID of the peer-to-peer (Peer-to-Peer, P2P) adjacency type
- the SRv6 LAN End.X SID sub-TLV is used to publish the local area network (Local Area Network, LAN)
- the link SID of the adjacency type Specifically shown in Figure 1-b and Figure 1-c, Figure 1-b is a schematic diagram of SRv6 End.X SID sub-TLV, and Figure 1-c is a schematic diagram of SRv6 LAN End.X SID sub-TLV .
- SRv6 End.X SID sub-TLV shown in Figure 1-b and the SRv6 LAN End.X SID sub-TLV shown in Figure 1-c in addition to including commonly used fields, such as type, length, flag, algorithm In addition to fields such as (Algorithm) and weight (Weight), it also includes a SID field, which is used to fill in the link SID between devices. For example, the 128-bit value in the SID field in Figure 1-b, or the 128-bit value in the SID field in Figure 1-c.
- the above-mentioned device 1 sends the second link state message carrying the link SID to device 2, it can determine that the second link state message carries the SRv6 End.X SID according to the neighbor establishment method between device 1 and device 2 sub-TLV, still carries SRv6 LAN End.X SID sub-TLV. For example, when device 1 and device 2 are P2P neighbors, device 1 sends to device 2 a second link state packet carrying SRv6 End.X SID sub-TLV. For another example, when device 1 and device 2 are LAN neighbors, device 1 sends to device 2 a second link state packet carrying SRv6 LAN End.X SID sub-TLV.
- SID announcement based on OSPFv3 is also implemented by sending link state packets carrying SRv6 End SID sub-TLV, SRv6 End.X SID sub-TLV or SRv6 LAN End.X SID sub-TLV.
- the problem is that the commonly used fields corresponding to SRv6 End SID sub-TLV, SRv6 End.X SID sub-TLV or SRv6 LAN End.X SID sub-TLV in the link state packets sent by the two protocols are different.
- the type field in the link state packet carrying SRv6 End SID sub-TLV sent based on IS-IS protocol occupies 8 bits
- the type field in the link state packet carrying SRv6 End SID sub-TLV sent based on OSPFv3 occupies 16 bits.
- the process of issuing the SID based on OSPFv3 refer to the process of issuing the SID based on the IS-IS protocol, and no specific description is given here.
- the following only uses the SID issuance process based on the IS-IS protocol as an example for illustration.
- the link state message In the SID publishing process of related technologies, whether it is based on the IS-IS protocol or OSPFv3, the link state message must carry a complete SID, that is, a 128-bit SID. At this time, the link state message has a large amount of data , and the SID of each device in the SRv6 network and the number of link SIDs between every two neighboring devices can be multiple, resulting in a large number of link state packets that need to be sent when issuing SIDs. The amount of data in the road status packet is large, which leads to a large packet overhead during the SID announcement process, which affects the performance of the device and the stability of the IS-IS protocol or OSPFv3.
- FIG. 2 is a schematic flowchart of a first method for determining a segment identifier provided in an embodiment of the present application.
- the method is applied to a first device in an SRv6 network, and the SRv6 network further includes a second device, wherein the first device and the second device are neighbor devices to each other, and the first SID is stored in the second device.
- the method specifically includes the following steps.
- Step S201 receiving the first packet and the second packet sent by the second device; wherein, the first packet includes at least one first Block identifier and the boundary address of the address space corresponding to each first Block identifier; the second packet The text includes at least one second Block identifier and a first index value.
- Both the first message and the second message in the embodiment of the present application can be link state messages, for example, in the process of issuing SID based on IS-IS protocol, the link state message can be link state packet (Link State Packet, LSP); In the process of issuing the SID based on the OSPF protocol, the link state message can be an LSA message. If the method of the embodiment of the present application is applied to other networking, appropriate packets may also be selected as the first packet and the second packet according to the protocols followed by the other networking.
- Link State Packet LSP
- LSA Link State Packet
- Step S202 using the boundary address and the first index value of the first address space corresponding to the same block to calculate the first SID, wherein the same block is represented by the same block identifier in at least one first block identifier and at least one second block identifier The Block.
- the foregoing SRv6 network may include multiple devices.
- the foregoing first device may be any device in the SRv6 network.
- the above-mentioned second device is any device in the neighbor devices of the first device.
- the above-mentioned first device and second device are not specifically limited. For ease of understanding, the following only uses the first device and the second device in the SRv6 network as an example for description.
- the first device after receiving the first message and the second message sent by the second device, the first device can use the boundary address and the first index value of the first address space of the same block to calculate The first SID issued by the second device.
- the first message and the second message sent by the second device to the first device do not include the first message stored in the second device. Instead, it sends the Block identifier of the Block to which the stored SID belongs, the boundary address of the first address space of the Block, and the index value corresponding to the SID to the first device.
- each device can send the first packet and the second packet to its neighbor device, so that its neighbor device can information to accurately determine the SID issued by the device.
- the amount of data corresponding to the Block identifier included in the first message, and the Block identifier and index value included in the second message is significantly smaller than the amount of data corresponding to the complete SID. Therefore, when there are a large number of When using the method provided by the embodiment of the present application, the amount of information required to be carried in the message can be significantly reduced, thereby reducing the number of messages to be sent, which effectively reduces the message overhead in the process of issuing the SID , thereby ensuring the stability of the device performance and the packet transmission protocol.
- step S201 that is, receiving the first message and the second message sent by the second device; wherein, the first message includes at least one first Block identifier, and the boundary address of the address space corresponding to each first Block identifier;
- the second packet includes at least one second Block identifier and a first index value.
- the first SID is stored in the second device.
- the second device may send the first message and the second message to its neighbor devices. Neighboring devices of the second device can all receive the first packet and the second packet. That is, the first device can receive the first packet and the second packet sent by the second device.
- the above-mentioned first message may be a link state message (for ease of distinction, it is recorded as the third link state message, and in subsequent embodiments, the first message is the third link state message as an example for illustration),
- the first packet may include a first sub-TLV, and the first sub-TLV may be the SRv6 SID Block sub-TLV included in the link state packet.
- SRv6 SID Block sub-TLV is the subtype-length-value (Type-Length-Value, TLV) of SRv6 Locator TLV. That is, the sub-TLV of SRv6 Locator TLV includes SRv6 SID Block sub-TLV.
- SRv6 SID Block sub-TLV is used to publish the relevant information of the Block to which the SID belongs.
- the link state message includes SRv6 Locator TLV
- the first sub-TLV in the embodiment of this application is a sub-TLV of SRv6 Locator TLV, but this embodiment of the application does not limit this, the first sub-TLV also It may be a sub-TLV of other TLV included in the first packet.
- the above-mentioned second message may be a link state message (for ease of distinction, it is recorded as the fourth link state message, and in subsequent embodiments, the second message is the fourth link state message as an example for illustration),
- the second packet may include the second sub-TLV, the third sub-TLV or the fourth sub-TLV.
- the second sub-TLV is SRv6 End.X SID Index Sub-TLV
- the third sub-TLV is SRv6 LAN End.X SID Index Sub-TLV
- the fourth sub-TLV is SRv6 End SID Index Sub-TLV.
- SRv6 End.X SID Index Sub-TLV is used to publish the relevant information corresponding to the link SID of the P2P adjacency type
- SRv6 LAN End.X SID Index Sub-TLV is used to publish the information corresponding to the link SID of the LAN adjacency type.
- SRv6 End SID Index Sub-TLV is used to publish related information corresponding to the device SID.
- the upper-level TLV of SRv6 End.X SID Index Sub-TLV and SRv6 LAN End.X SID Index Sub-TLV includes but is not limited to Extended IS Reachability TLV (also known as TLV-22) , IS Neighbor Attribute TLV (also known as TLV-23), L2Bundle Member Attributes TLV (also known as TLV-25), inter-AS reachability information TLV (also known as TLV-141), MT-ISN TLV (also known as TLV-222), MT IS Neighbor Attribute TLV (also known as TLV-223).
- the superior TLV of SRv6 End SID Index Sub-TLV is SRv6 Locator TLV.
- the second sub-TLV and the third sub-TLV in the embodiment of this application can be used as sub-TLVs of the above-mentioned TLV-22, TLV-23, TLV-25, TLV-141, TLV-222 or TLV-223
- the fourth sub-TLV can be used as a sub-TLV of SRv6 Locator TLV.
- this embodiment of the present application is not limited thereto, and the second sub-TLV, the third sub-TLV, and the fourth TLV may also serve as sub-TLVs of other TLVs included in the second packet.
- the first device can pass the SRv6 SID Block sub-TLV in the third link state message and the fourth link state message In SRv6 End.X SID Index Sub-TLV, SRv6 LAN End.X SID Index Sub-TLV or SRv6 End.X SID Index Sub-TLV corresponding to the information included in the superior TLV, determine whether to pass the first message and the second message The device corresponding to the published SID.
- device 1 and device 2 are taken as an example for illustration.
- device 1 sends to device 2 the first packet and the second packet corresponding to the link SID between device 1 and another neighboring device (such as device 3)
- device 2 will receive the SRv6 SID Block sent by device 1.
- device 2 can use the information in the upper-level TLV corresponding to the SRv6 SID Block sub-TLV in the received third link state message (that is, the above-mentioned SRv6 Locator TLV) and the information in the SRv6 Locator TLV in the fourth link state message.
- the information in the upper-level TLV (such as the above-mentioned TLV-22) corresponding to LAN End.X SID Index Sub-TLV determines the device corresponding to the first message and the second message sent by device 1, that is, device 1 and device 3.
- the number of first SIDs stored in the second device may be one or multiple.
- the first SID may include the device SID of the second device, the link SID between the second device and its neighbor devices, and if the second device stores more than one
- the first SIDs belong to different Blocks
- the first packet and the second packet may include the Block identifier of the Block to which each first SID belongs.
- the neighbor devices of the second device include at least the above-mentioned first device, and may also include other neighbor devices in addition.
- the neighbor devices of the second device are not specifically limited.
- FIG. 3 is taken as an example for description.
- FIG. 3 is a schematic structural diagram of an SRv6 network provided by an embodiment of the present application.
- the first SID is stored in the device 2 .
- the first SID may include a device SID and a link SID.
- the device SID is the device SID of the device 2;
- the link SID may include the link SID between the device 1 and the device 2, and the link SID between the device 2 and the device 3.
- each device in the SRv6 network may have one or more device SIDs, and each two adjacent devices may have one or more link SIDs.
- the types of SIDs included in the first SID and the number of first SIDs are not specifically limited. For ease of understanding, the following only uses the issuance of a first SID as an example for illustration, and does not serve any limiting role.
- the SRv6 SID Block sub-TLV in the third link state message carries the Block identifier corresponding to the device SID and The Block identifies a boundary address of the corresponding first address space.
- the SRv6 End SID Index Sub-TLV in the fourth link state information above carries the Block identifier corresponding to the device SID and the first index value.
- the SRv6 SID Block sub-TLV in the third link state message carries the link SID corresponding to the link SID.
- the SRv6 End.X SID Index Sub-TLV or SRv6 LAN End.X SID Index Sub-TLV in the fourth link state information above carries the Block identifier corresponding to the link SID and the first index value.
- the fourth link state message when the first SID stored by the second device is a link SID, if the second device and the first device are P2P neighbors, the fourth link state message carries SRv6 End.X SID Index Sub-TLV; if the second device and the first device are LAN neighbors, the fourth link state message carries SRv6 LAN End.X SID Index Sub-TLV.
- the sub-TLVs carried in the fourth link state message are different.
- the sub-TLVs carried in the fourth link state packet are not specifically limited.
- the foregoing first message and the second message may be the same message or different messages.
- the above-mentioned first message is the third link state message and the second message is the fourth link state message
- the above-mentioned third link state message and the fourth link state message may be It may be the same link state message, or may be different link state messages.
- the third link state message and the fourth link state message are not specifically limited.
- the above-mentioned first message includes the first block identifier of the first block to which the first SID belongs, the boundary address of the first address space corresponding to the first block, and the first offset.
- the foregoing second message includes the second Block identifier of the second Block, and the first index value corresponding to the first SID.
- first SID may be a device SID or a link SID, there may be a The same block ID may also have different block IDs.
- the above address space corresponding to the first Block may be expressed as a range of SID values corresponding to the first Block.
- the above blocks can be divided according to preset rules, and the specific division method can be found in the following description, and no specific description is given here.
- the first SID is calculated by using the boundary address and the first index value of the first address space corresponding to the same Block.
- the first device after receiving the first message and the second message sent by the second device, acquires the same Block ID from at least one first Block ID and at least one second Block ID, and then It is determined that the boundary address and the first index value of the first address space corresponding to the same block identifier are used to represent the same first SID.
- the first packet may include one or more first Block identifiers
- the second packet may include one or more second Block identifiers.
- the first device after receiving the first packet and the second packet sent by the second device, the first device , it can be judged whether the first Block ID included in the first message and the second Block ID included in the second message represent the same Block, that is, it is judged that the first Block ID included in the first message is the same as the second Block ID included in the second message. Whether the second Block identifier included in the text is the same, so as to determine whether the SID corresponding to the first message and the SID corresponding to the second message are the same SID.
- the first device may determine that the SIDs corresponding to the first Block identifier and the second Block identifier are the same SID, that is, the above-mentioned first SID.
- the first device can execute the above step S202, that is, the first device can determine the boundary address in the first address space included in the first message and the first index value included in the second message.
- SID that is, the first SID.
- the SID is represented as a 128-bit Internet Protocol Version 6 (Internet Protocol Version 6, IPv6) address.
- the address space to which the first Block belongs is specifically expressed as: the SID value range corresponding to the first Block (ie, the IPv6 address value range).
- the boundary address of the above-mentioned first address space may be the start SID and the end SID in the SID value range corresponding to the first address space.
- the start address in the boundary address of the first address space may be the start SID (that is, the Start SID) in the range of SID values corresponding to the first address space.
- the boundary address of the first address space may be the end SID (that is, the End SID) in the range of SID values corresponding to the first address space.
- the first device discards the first packet.
- the second A device For a second message received by the first device, if no first message with the same Block ID as the Block ID in the second message is found, that is, when the first index value required for calculating the SID is missing, the second A device will discard the second packet.
- the first device considering the influence of the network environment on the link state message between the first device and the second device, when the first device does not find the first message or the second message with the same Block ID , you can wait for a preset period of time, if the first packet and the second packet with the same Block ID are not found after the preset period of time, the first device can discard the received second packet or the first packet.
- the received first message and the second message for example, the third link state message and the fourth link state message for forwarding.
- the neighbor node of the first device can determine the first SID issued by the second device according to the received first message and the second message.
- the above-mentioned first packet further includes the first offset
- the above-mentioned second packet further includes the first offset
- the first SID is calculated according to the boundary address of the first address space, the first offset and the first index value.
- FIG. 4 is a schematic flowchart of a second method for determining a segment identifier provided in the embodiment of the present application. The method includes the following steps.
- Step S401 receiving a first packet and a second packet sent by a second device.
- the first message includes at least one first Block ID, the boundary address of the address space corresponding to each first Block ID, and the first offset; the second message includes at least one second Block ID and the first index value .
- the first message includes at least one first Block ID and the boundary address of the address space corresponding to each first Block ID; the second message includes at least one second Block ID, the first index value, and the first offset .
- Step S402 according to the address rule of the SID, offset the first index value corresponding to the same block by the first offset amount to obtain the first offset address.
- the same block is a block represented by the same block in at least one first block identifier and at least one second block identifier.
- the first device may, based on the first offset, according to the SID
- the address rule is to perform offset processing on the first index value included in the second packet to obtain a first offset address. That is, the first index value is offset by the first offset to obtain the first offset address.
- a device SID or a link SID consists of a location identifier (Locator), a function (Function) and parameters (Arguments), as shown in Figure 5, which is a schematic diagram of the SID.
- the Locator is used to identify the network segment to which the SID belongs.
- the Locator is unique within the Segment Routing (SR) domain.
- Function is used to identify the local operation command bound to the SID. After the designated node in the SR domain receives the traffic, it performs related operations according to the Function field of the SID. Arguments are used to define information such as message flow and service.
- the above-mentioned first index value is 1, and the first offset is 16.
- the above-mentioned first index value is offset by the first offset according to the address rule of the SID, which can be expressed as: the first index value
- the address obtained by shifting left by 16 bits is the address 0::1:0. That is, the above-mentioned first offset address is 0::1:0.
- the address rule of the above SID may be determined according to the number of bits corresponding to the Locator, Function, and Arguments included in the SID.
- Step S403 calculating a first SID according to the start address and the first offset address.
- the first device can calculate the second The first SID corresponding to the first message and the second message.
- the first SID For the calculation method of the first SID, reference may be made to the description below, and no specific description is given here.
- the above step S402-step S403 is refinement of the above step S202.
- the device uses the above first offset to offset the first index value to obtain the first offset address, according to the first offset address and the first address space
- the boundary address of the device can accurately calculate the SID corresponding to the first message and the second message it receives, that is, the SID issued by the second device in the SRv6 network, while realizing the release and calculation of the SID , reducing the amount of data included in the link state message, ensuring the accuracy of the calculated SID, thereby ensuring the accuracy of the published SID.
- FIG. 6 is a schematic flowchart of a third method for determining a segment identifier provided in the embodiment of the present application. The method includes the following steps.
- Step S601 receiving a first packet and a second packet sent by a second device.
- the first message includes at least one first Block ID, the boundary address of the address space corresponding to each first Block ID, and the first offset; the second message includes at least one second Block ID and the first index value .
- the first message includes at least one first Block ID and the boundary address of the address space corresponding to each first Block ID; the second message includes at least one second Block ID, the first index value, and the first offset .
- Step S602 according to the address rule of the SID, offset the first index value corresponding to the same Block by the first offset amount to obtain the first offset address.
- step S601-step S602 is the same as the above-mentioned step S401-step S402.
- Step S603 calculating the sum of the start address and the first offset address.
- the first device may perform a sum calculation on the start address and the first offset address of the first address space to obtain a sum value of the start address and the first offset address.
- the first device may use the sum as the SID corresponding to the first message and the second message, that is, the above First SID.
- the first The device may determine whether the SID corresponding to the calculated sum of the start address and the first offset address is in the first address space. That is, it is judged whether the SID corresponding to the calculated sum of the start address and the first offset address is within the SID value range corresponding to the first address space. If it is in the first address space, execute step S604. If not in the first address space, execute step S605.
- the above determination of whether the SID corresponding to the sum of the start address and the first offset address is in the first address space can be specifically expressed as: judging the start address and the first offset address Whether the sum value of is greater than or equal to the start address of the first address space and less than or equal to the end address of the first address space.
- the sum of the start address and the first offset address is greater than or equal to the start address of the first address space and less than or equal to the end address of the first address space, determine that the SID corresponding to the sum is in the first address space .
- the sum of the start address and the first offset address is less than the start address of the first address space, or greater than the end address of the first address space, it is determined that the SID corresponding to the sum is not in the first address space.
- the sum of the above starting address and the first offset address is represented as an IPv6 address, and the SID corresponding to the IPv6 is represented as the sum itself.
- Step S604 if the SID corresponding to the value is in the first address space, use the SID corresponding to the value as the first SID.
- the above step S603-step S604 is refinement of the above step S403.
- Step S605 if the SID corresponding to the value is not in the first address space, refuse to use the SID corresponding to the value as the first SID.
- the first device may determine that an error occurs in the calculated sum. At this time, the first device may refuse to use the SID corresponding to the value as the first SID.
- the first SID ensures the accuracy of the obtained first SID, thereby providing guarantee for the later SID-based message forwarding process.
- FIG. 7 is a schematic flowchart of a fourth method for determining a segment identifier provided in an embodiment of the present application. The method includes the following steps.
- Step S701 receiving a first packet and a second packet sent by a second device.
- the first message includes at least one first Block ID, the boundary address of the address space corresponding to each first Block ID, and the first offset; the second message includes at least one second Block ID and the first index value .
- the first message includes at least one first Block ID and the boundary address of the address space corresponding to each first Block ID; the second message includes at least one second Block ID, the first index value, and the first offset .
- Step S702 according to the address rule of the SID, offset the first index value corresponding to the same Block by the first offset amount to obtain the second offset address.
- the same block is a block represented by the same block in at least one first block identifier and at least one second block identifier.
- the method for obtaining the above-mentioned second offset address may refer to the method for obtaining the above-mentioned first offset address, which will not be repeated here.
- Step S703 calculating the first SID according to the end address and the second offset address.
- the first device may calculate the first The packet and the first SID corresponding to the second packet.
- the first SID For the calculation method of the first SID, reference may be made to the description below, and no specific description is given here.
- the above step S702-step S703 is refinement of the above step S202.
- this embodiment of the present application further provides a method for determining a segment identifier.
- FIG. 8 is a schematic flowchart of a fifth method for determining a segment identifier provided in an embodiment of the present application. The method includes the following steps.
- Step S801 receiving a first packet and a second packet sent by a second device.
- the first message includes at least one first Block ID, the boundary address of the address space corresponding to each first Block ID, and the first offset; the second message includes at least one second Block ID and the first index value .
- the first packet includes at least one first Block identifier and the boundary address of the address space corresponding to each Block; the second packet includes at least one second Block identifier, the first index value, and the first offset.
- Step S802 according to the address rule of the SID, offset the first index value corresponding to the same block by the first offset amount to obtain the second offset address.
- step S801-step S802 are the same as the above-mentioned step S701-step S702.
- Step S803 calculating the difference between the end address and the second offset address.
- the first device may perform difference calculation on the end address of the first address space and the second offset address to obtain the difference between the end address and the second offset address.
- the first device may determine the difference as the SID corresponding to the first message and the second message, that is, the above-mentioned First SID.
- the first The device may determine whether the SID corresponding to the calculated difference between the end address and the second offset address is within the first address space. That is, it is judged whether the SID corresponding to the calculated difference between the end address and the second offset address is within the SID value range corresponding to the first address space. If it is in the first address space, execute step S804. If not in the first address space, execute step S805.
- the above method of determining whether the SID corresponding to the difference between the end address and the second offset address is in the first address space can refer to the above-mentioned determination of whether the SID corresponding to the sum of the start address and the first offset address is in the first address space.
- the methods in an address space are not specifically described here.
- Step S804 if the SID corresponding to the difference is in the first address space, use the SID corresponding to the difference as the first SID.
- the above step S803-step S804 is refinement of the above step S703.
- Step S805 if the SID corresponding to the difference value is not in the first address space, refuse to use the SID corresponding to the difference value as the first SID.
- the first device may determine that an error occurs in the calculated difference. At this time, the first device may refuse to use the SID corresponding to the difference as the first SID.
- a SID ensures the accuracy of the obtained first SID, thereby providing guarantee for the later SID-based message forwarding process.
- FIG. 6-FIG. 8 only the start address and end address in the first address space are taken as an example to describe the method for calculating the first SID.
- the first device may also calculate the first SID issued by the second device according to any address in the first address space except the start address and the end address.
- the calculation method of the first SID is described by taking any address in the first address space except the start address and the end address as the address A.
- the first offset may include a sign bit indicating positive or negative, for example, a sign bit value of 0 indicates a positive number, and a sign bit value of 1 indicates a negative number.
- the first device offsets the index value by the first offset to obtain the offset address according to the address rules of the SID, it can perform a sum or a difference between the address A and the offset address according to the sign bit of the first offset Calculate to obtain the first SID.
- the first device may calculate the sum of address A and the offset address to obtain the first SID; when the sign bit of the first offset represents a negative number, The first device may calculate the difference between the address A and the offset address, so as to obtain the first SID.
- the addresses in the first address space used in the above-mentioned first SID calculation process are not specifically limited.
- the first device stores the second SID.
- this embodiment of the present application also provides a method for determining a segment identifier, as shown in FIG. 9, which is A schematic flowchart of a sixth method for determining a segment identifier provided in the embodiment of the present application. The method includes the following steps.
- Step S901 receiving the first packet and the second packet sent by the second device; wherein, the first packet includes at least one first Block identifier and the boundary address of the address space corresponding to each first Block identifier; the second packet The text includes the second Block identifier and the first index value.
- Step S902 using the boundary address and the first index value of the first address space corresponding to the same block to calculate the first SID.
- the same block is a block represented by the same block identifier in at least one first block identifier and at least one second block identifier.
- step S901-step S902 is the same as the above-mentioned step S201-step S202.
- Step S903 acquiring the stored second SID.
- the foregoing second SID may include one or more of a device SID of the first device and a link SID between the first device and its neighbor nodes.
- the foregoing second SID is not specifically limited.
- Step S904 according to the pre-divided correspondence between each Block and the address space, determine the target Block to which the second SID belongs.
- the device can divide a plurality of SID value ranges according to preset address space division rules, and each SID value range is a Block.
- the above-mentioned preset rule is the preset address space division rule.
- the address space 0::100:0 to 0::300:0 is taken as an example for illustration.
- the device can divide the address space into two blocks according to preset rules.
- the address space corresponding to Block 1 can be: 0::100:0 to 0::200:0
- the address space corresponding to Block 2 can be: 0::201:0 to 0::300:0.
- the device can divide a plurality of SID value ranges according to a preset bit division rule, and each SID value range is a Block.
- the above preset rule is the preset bit division rule.
- the value range of the address space is: 0000 to 1111.
- the device can divide two SID value ranges based on these 4 bits, that is, divide to obtain two Blocks.
- the address storage space corresponding to Block A may be: 0000 to 0011, that is, the third bit and the fourth bit are 0.
- the address storage space corresponding to Block B is: 0100-1111. That is, at least one bit in the third bit position and the fourth bit position is set to 1.
- the aforementioned Block can be divided according to a preset address space division rule, or can be divided according to a preset bit division rule.
- the manner of dividing the above-mentioned Block is not specifically limited.
- the number of Blocks obtained by dividing each device in the SRv6 network according to preset rules may be the same or different; and the value range of the address space corresponding to each Block may be the same or different .
- the number of Blocks and the address space corresponding to each device in the SRv6 network are not specifically limited.
- the Arguments field in the above SID is 0. Therefore, when dividing the Block according to the preset rule, the address space to be divided can be determined according to the number of bits in the Arguments field included in the SID. That is, the address space whose Arguments field is 0 is selected for division to obtain one or more Blocks.
- each device in the above-mentioned SRv6 network after each device in the above-mentioned SRv6 network obtains one or more Blocks, it can store and allocate a corresponding Block identifier, that is, a Block ID, for each Block.
- the first device After the above-mentioned first device obtains the above-mentioned second SID, it can determine the address space where the second SID is located (referred to as the second address space) according to the corresponding relationship between each Block and the address space divided in advance by it, and store the second The Block corresponding to the second address space where the SID is located is determined as the Block to which the second SID belongs, and the target Block is obtained.
- the second address space the address space where the second SID is located
- the above step S904 is performed after step S903.
- the above step S904 and the above step S901 may be executed at the same time, or may be executed before the above step S901.
- the execution order of the above step S901 and step S904 is not specifically limited.
- Step S905 according to the corresponding relationship between each SID and index value in the second address space corresponding to the target block, determine the second index value corresponding to the second SID.
- the first device determines the second address space corresponding to the target Block to which the second SID belongs, it can determine the index value corresponding to the second SID according to the correspondence between each SID and the index value in the second address space, as the second index value.
- the index value corresponding to each SID in the second address space may be determined based on a boundary address of the second address space.
- the SID value range corresponding to the above second address space is: 0::100:0 to 0::200:0
- the starting address of the second address space is: 0::100:0
- the index value corresponding to ::100:0 can be 0, the index value corresponding to 0::101:0 can be 1, the index value corresponding to 0::102:0 can be 2, and so on, 0:
- the SID value range corresponding to the second address space is still: 0::100:0 to 0::200:0, and the end address of the second address space is: 0::200:0, then
- the index value corresponding to 0::200:0 can be 0, the index value corresponding to 0::1FF:0 can be 1, the index value corresponding to 0::1FE:0 can be 2, and so on, 0
- the index value corresponding to ::100:0 can be 256.
- the method for determining the index value corresponding to each SID in the second address space is not specifically limited.
- Step S906 sending a third message and a fourth message to each neighboring device, the third message includes the third Block identifier of the target Block and the boundary address of the second address space, and the fourth message includes the third Block identifier and The second index value.
- the first device may send the third packet and the fourth packet to each of its neighbor devices. After receiving the third message and the fourth message, each neighboring device corresponding to the first device may determine the second SID according to the third message and the fourth message.
- each neighboring device corresponding to the first device may determine the second SID according to the third message and the fourth message.
- the method for determining the second SID reference may be made to the above method for determining the first SID, which will not be described in detail here.
- the third packet further includes a second offset
- the fourth packet further includes a second offset
- the method may further include: according to the second The attribute characteristic of each address in the address space is used to calculate the second offset of the boundary address of the second address space.
- the above SID includes an Arguments field, and the Arguments field is set on a low address bit of the SID.
- each bit corresponding to the Arguments field is 0, therefore, the first device may determine all the bits corresponding to the Arguments field as the second offset of the boundary address of the second address space.
- the attribute feature of each address in the above second address space may be expressed as: the number of bits whose value is 0 on the lower address bits of each address.
- the boundary address of the above-mentioned second address space may be a start address or an end address in the second address space.
- the first device may also determine the second offset according to actual needs of the user.
- the first device selects the first number of address bits starting from the lower address bits as the second offset.
- the value of the first quantity may be 10, 20, 30 and so on.
- the second offset may be 0. In a case where the second offset is 0, the third packet and the fourth packet may not carry the second offset.
- the second offset is not determined strictly according to the fields included in the existing SID, but part of the address bits are selected as the second offset according to the actual needs of the user.
- the value corresponding to each selected address bit may be 0 or 1, and in the embodiment of the present application, the value corresponding to each address bit is not limited.
- the method for determining the second offset is not specifically limited.
- the above-mentioned third message may be a link state message (referred to as the fifth link state message for ease of distinction), the third message may include a sub-TLV, and the sub-TLV of the third message may be The TLV may be the SRv6 SID Block sub-TLV in the fifth link state message.
- the above-mentioned fourth message may be a link state message (referred to as the sixth link state message for ease of distinction), the fourth message includes a sub-TLV, and the sub-TLV of the fourth message may be the sixth link state message.
- the first device may also send the first packet and the second packet while sending the third packet and the fourth packet to its neighbor node.
- the packet sent by the first device is not specifically limited.
- the first sub-TLV to the fourth sub-TLV will be described with reference to FIG. 10-a to FIG. 10-d as an example.
- the first sub-TLV includes a block identifier field, a start SID field, and an end SID field; the block identifier field is used to carry at least one first Block identifier; the start SID field is used to carry the start of the address space corresponding to each first Block Address; the end SID field is used to carry the end address of the address space corresponding to each first Block.
- the first sub-TLV may be an SRv6 SID Block sub-TLV
- FIG. 10-a is a schematic diagram of an SRv6 SID Block sub-TLV provided in an embodiment of the present application.
- SRv6 SID Block sub-TLV includes a type field, a length field, a next-level sub-TLV length field (Sub-sub-tlv-len) and a next-level sub-TLV field (Sub-sub-TLVs).
- the SRv6 SID Block sub-TLV also includes a block identification field (Block ID), a start SID field (Start S ID), and an end SID field (End ID).
- the SRv6 SID Block sub-TLV may also include an offset field (offset), and the offset field may carry a first offset, and the first offset is used to indicate that the SRv6 SID Block sub-TLV includes The block identifier corresponds to the offset of the address space boundary address.
- offset an offset field
- the first offset is used to indicate that the SRv6 SID Block sub-TLV includes The block identifier corresponds to the offset of the address space boundary address.
- a block identifier is taken as an example. It can be understood that when the SRv6 SID Block sub-TLV includes multiple block identifiers, the first offset can be used to indicate the address space corresponding to each block identifier The offset of the boundary address.
- the type field, length field, block identification field, offset field, and next-level sub-TLV length field in the SRv6 SID Block sub-TLV can all occupy 8 bits, and the next-level sub-TLV field
- the length of the variable is variable, and both the start SID field and the end SID field can occupy 128 bits.
- the length of each field and the arrangement order of each field are not limited thereto, and this embodiment of the present application does not make a limitation thereon.
- the sub-TLV in the third message can also be SRv6 SID Block sub-TLV, in this case, the value of the block identification field of SRv6 SID Block sub-TLV is the third Block in the above-mentioned third message
- the value of the offset field is the second offset in the third packet, and the values of the start SID field and the end SID field are respectively the start address and end address of the second address space.
- the second sub-TLV is used to carry the index of the link SID of the P2P adjacency type; the second sub-TLV includes a block identification field, an index quantity field, an index length field, at least one index field, and an endpoint behavior field corresponding to each index field.
- the third sub-TLV is used to carry the index of the link SID of the LAN adjacency type; the third sub-TLV includes a block identification field, an index number field, an index length field, at least one index field, and an endpoint behavior field corresponding to each index field.
- the fourth sub-TLV is used to carry the index of the device SID; the fourth sub-TLV includes a block identification field, an index quantity field, an index length field, at least one index field, and an endpoint behavior field corresponding to each index field.
- the block identification field is used to carry the second Block identification;
- the index number field is used to carry the index number;
- the index length field is used to carry the index length;
- the index Fields are used to carry an index value.
- the second sub-TLV may be SRv6 End.X SID Index Sub-TLV
- the third sub-TLV may be SRv6 LAN End.X SID Index Sub-TLV.
- Figure 10-b is a schematic diagram of the SRv6 End.X SID Index Sub-TLV provided by the embodiment of the present application
- Figure 10-c is a schematic diagram of the SRv6 LAN End.X SID Index Sub-TLV provided by the embodiment of the present application .
- both SRv6 End.X SID Index Sub-TLV and SRv6 LAN End.X SID Index Sub-TLV include type field, length field, flag bit field, algorithm field, and weight field.
- SRv6 End.X SID Index Sub-TLV also includes a block identification field (Block ID), an index number field (Index Num), an index length field (Index Length), at least one Index fields (Index) and the corresponding endpoint behavior fields (Endpoint Behavior) of each index field.
- the index number field is Num
- at least one index field includes index 0 (Index0), index 1 (Index 1), ..., index Num-1 (Index Num-1), and correspondingly, the endpoint behavior field includes endpoint Behavior 0 (Endpoint Behavior 0), Endpoint Behavior 1 (Endpoint Behavior 1), ..., Endpoint Behavior Num-1 (Endpoint Behavior Num-1).
- SRv6 End.X SID Index Sub-TLV also includes a neighbor system identification field (Neighbor System-ID).
- the number of bits occupied by the neighbor system identification field is variable and can be determined based on the neighbor system ID.
- the type field, length field, flag bit field, algorithm field, weight field, block identification field, index in SRv6 End.X SID Index Sub-TLV and SRv6 LAN End.X SID Index Sub-TLV The quantity field, the index length field, and each endpoint behavior field can occupy 8 bits, and the number of bits occupied by each index field is variable. In other protocols, the length of each field and the arrangement order of each field are not limited to this.
- the sub-TLV in the fourth message can also be SRv6 End.
- X SID Index Sub-TLV in this case, the value of the block identification field of SRv6 End.
- X SID Index Sub-TLV is the fourth message In the third Block identifier, the value of the index field may be the second index value in the fourth packet.
- the sub-TLV in the fourth message can also be SRv6 LAN End.
- X SID Index Sub-TLV in this case, the value of the block identification field of SRv6 LAN End.
- X SID Index Sub-TLV is the third Block identification , the value of the index field may be the second index value in the fourth packet.
- the Block identifiers in Fig. 10-b and Fig. 10-c are the identifiers corresponding to the link SID.
- the fourth sub-TLV may be an SRv6 End SID Index Sub-TLV
- FIG. 10-d is a schematic diagram of the SRv6 End SID Index Sub-TLV provided in the embodiment of the present application.
- SRv6 End SID Index Sub-TLV includes a type field, a length field, and a flag field.
- SRv6 End SID Index Sub-TLV also includes a block identification field (Block ID), an index number field (Index Num), an index length field (Index Length), at least one index field (Index) and the endpoint behavior field (Endpoint Behavior) corresponding to each index field.
- the index number field is Num
- at least one index field includes index 0 (Index 0), index 1 (Index 1), ..., index Num-1 (Index Num-1), and correspondingly, the endpoint behavior field includes Endpoint Behavior 0 (Endpoint Behavior 0), Endpoint Behavior 1 (Endpoint Behavior 1), ..., Endpoint Behavior Num-1 (Endpoint Behavior Num-1).
- the type field, length field, flag bit field, block identification field, index number field, index length field, and each endpoint behavior field in SRv6 End Index Sub-TLV can occupy 8 bits.
- the index field occupies a variable number of bits.
- the length of each field and the arrangement order of each field in other protocols are not limited thereto, and are not limited in this embodiment of the present application.
- the sub-TLV in the fourth message can also be SRv6 End SID Index Sub-TLV, in this case, the value of the block identification field of SRv6 End SID Index Sub-TLV is the third Block identifier, the value of the index field may be the second index value in the fourth packet.
- the second sub-TLV further includes an offset field
- the third sub-TLV further includes an offset field
- the fourth sub-TLV further includes an offset field
- the offset field may carry the first offset
- the offset included in the second sub-TLV is: the offset of the address space corresponding to the block identifier included in the second sub-TLV.
- the offset included in the third sub-TLV is: the offset of the address space corresponding to the block identifier included in the third sub-TLV.
- the offset included in the third sub-TLV is: the offset of the address space corresponding to the block identifier included in the third sub-TLV.
- the TLV in the link state packet sent based on OSPFv3 is basically similar to the TLV in the link state packet sent based on the IS-IS protocol.
- the TLV in the link state packet sent based on OSPFv3 The structure is not specified.
- device 1 and device 2 are taken as examples to illustrate the process of issuing the SID stored in device 1. It is now assumed that two device SIDs are stored in device 1, represented as: 1::101:0 and 1::102:0 respectively.
- the number of blocks allocated by device 1 is 1, the block identifier of the block is 1, and the address space is 1::100:0 to 1::200:0.
- the index information corresponding to the SID allocated in the upper block of device 1 is expressed as: Index 1: 1::101:0, and Index 2: 1::102:0.
- the index corresponding to SID 1::101:0 is Index 1
- the index corresponding to SID 1::102:0 is Index 2.
- device 1 sends link state packet 1 carrying SRv6 SID Block sub-TLV and link state packet 2 carrying SRv6 End SID Index Sub-TLV to the neighbor device, namely device 2.
- the block identification (i.e. Block-ID) field is 1
- the start SID field is 1::100:0
- the end SID field is 1::200:0
- the offset (i.e. offset ) field is 16.
- the segment identifier field is 1
- the index number (ie Index Num) field is 2
- the index length (ie Index Length) field is 1
- the Index 0 field occupies 1 byte
- the value is 1 (that is, the index value is 1)
- the Index 1 field occupies 1 byte
- the value is 2 (that is, the index value is 2).
- device 2 After receiving the link state message 1 and the link state message 2 sent by device 1, device 2 can, for Index 0 in SRv6 End SID Index Sub-TLV, use the offset in the offset field (ie 16), perform offset processing on its index value (ie 1), that is, offset the index value 1 to the left by 16 bits, and obtain the offset address 0::1:0. At this time, the device 2 can offset the Add the shift address 0::1:0 to the initial SID (ie 1::100:0) to get the SID 1::101:0.
- the index value (ie 2) can be offset according to the offset in the offset field (ie 16), that is, the index value 2 is moved to the left Offset 16 bits to get the offset address 0::2:0.
- device 2 can add the offset address 0::2:0 to the start SID (ie 1::100:0), Get SID 1::102:0.
- device 2 may determine that the SIDs issued by device 1 are 1::101:0 and 1::102:0.
- the embodiment of the present application may further compress the content of the message when issuing the SID.
- the first message in the above step S201 also includes the number of endpoint behaviors and the endpoint behavior
- the first index value in the above step S201 can be the start index value
- the start index The value is the index value corresponding to the first endpoint behavior included in the first packet.
- Step S1101 receiving a first packet and a second packet sent by a second device.
- the first packet includes at least one first Block identifier, the boundary address of the address space corresponding to each first Block identifier, the number of endpoint behaviors, and the endpoint behavior; the second packet includes at least one second Block identifier and a first index value.
- Each endpoint behavior included in the first packet corresponds to an index value, and the index values corresponding to the multiple endpoint behaviors included in the first packet are continuous.
- the first index value included in the second message is the start index value, and the start index value is the index value corresponding to the first endpoint behavior included in the first message.
- the first packet includes 4 endpoint behaviors
- the index value corresponding to the first endpoint behavior is 1, then the first index value included in the second packet The value is 1.
- multiple link SIDs are stored in the second device, and the Block identifiers included in the first packet and the second packet are identifiers of the Block to which the link SID belongs.
- step S202 can be specifically implemented as:
- Step S1102 Calculate an index value corresponding to each endpoint behavior included in the first message according to the number of endpoint behaviors and the initial index value.
- the index value corresponding to the first endpoint behavior included in the first message is the start index value
- the index value corresponding to the second endpoint behavior is the start index value plus 1
- the index value corresponding to the third endpoint behavior is The value is the initial value plus 1 and then plus 1, and by analogy, the index value corresponding to each endpoint behavior included in the first packet can be calculated.
- step S1102 may specifically be implemented as: using the sum of the initial index value and N as the index value corresponding to the Nth endpoint behavior included in the first message, where the value range of N is From 0 to the difference between the number of behaviors at the endpoint and 1.
- the index value corresponding to the 0th endpoint behavior included in the first packet is the start index value
- the index value corresponding to the first endpoint behavior is the start index
- the sum of the value and 1 the index value corresponding to the second endpoint behavior is the sum of the starting index value and 2
- the index value corresponding to the third endpoint behavior is the sum of the starting index value and 3
- the fourth The index value corresponding to the endpoint behavior is the sum of the start index value and 4.
- Step S1103 based on the boundary address of the first address space and the index value corresponding to each endpoint behavior included in the first packet, respectively calculate the SID corresponding to each endpoint behavior.
- the first message and the second message do not carry a complete SID.
- the second message does not need to carry the index value corresponding to each link SID.
- the method provided by the embodiment of the present application can reduce the amount of data that the second message needs to carry, and reduce the link SID issuance process. Packet overhead, thus ensuring device performance and stability of the packet transmission protocol.
- the above S1033 may specifically be implemented as: taking the index value corresponding to each endpoint behavior as the first
- the offset address calculates the SID corresponding to each endpoint behavior based on the boundary address of the first address space and the first offset address corresponding to each endpoint behavior.
- the first packet further includes the first offset
- the second packet further includes the first offset
- the above S1033 may specifically include the following steps:
- Step A according to the address rules of the SID, respectively offset the index value corresponding to each endpoint behavior by a first offset amount to obtain the first offset address corresponding to each endpoint behavior.
- Step B Calculate the SID corresponding to each endpoint behavior based on the boundary address of the first address space and the first offset address corresponding to each endpoint behavior.
- step B specifically includes: respectively calculating the sum of the initial address and the first offset address corresponding to each endpoint behavior; if Each calculated sum value is in the first address space, and then each calculated sum value is used as the SID of each endpoint behavior.
- step B specifically includes: calculating the difference between the starting address and the first offset address corresponding to each end point behavior; Each obtained difference is in the first address space, and then each calculated difference is respectively determined as the SID of each endpoint behavior.
- step B the method of calculating the SID corresponding to each endpoint behavior based on the boundary address of the first address space and each first offset address is the same as that in the above embodiment based on the boundary address of the first address space and the first offset address
- the method for calculating the first SID is the same, and reference may be made to relevant descriptions in the foregoing embodiments, and details are not repeated here.
- the first message may include a fifth sub-TLV, and the fifth sub-TLV includes a block identification field, a start SID field, an end SID field, a flag bit field, an algorithm field, a weight field, and a behavior quantity fields and endpoint behavior fields.
- the block identifier field is used to carry the first Block identifier; the start SID field is used to carry the start address of the first address space; the end SID field is used to carry the end address of the first address space.
- the flag bit field is used to carry the shared flag bit, and the shared flag bit is shared by multiple SIDs included in the Block represented by the first Block ID;
- the algorithm field is used to carry the shared algorithm, and the shared algorithm is shared by multiple SIDs included in the Block represented by the first Block ID SID sharing;
- the weight field is used to carry the sharing weight, and the sharing weight is shared by multiple SIDs included in the Block represented by the first Block identifier.
- the Behavior Quantity field is used to carry the number of endpoint behaviors; each endpoint behavior is used to carry one endpoint behavior.
- the first message above can be a link state message
- the fifth sub-TLV can be the Rule-based End.X SID Block sub-TLV included in the link state message.
- the link The status message includes the SRv6 Locator TLV
- the fifth sub-TLV in the embodiment of the present application is a sub-TLV of the SRv6 Locator TLV, but the embodiment of the present application does not limit this, and the fifth sub-TLV can also be included in the first message Sub-TLVs of other TLVs.
- Figure 12-a is a schematic diagram of the Rule-based End.X SID Block sub-TLV provided by the embodiment of this application.
- the Rule-based End.X SID Block sub - The TLV includes a type field, a length field, a next-level sub-TLV length field (Sub-sub-tlv-len) and a next-level sub-TLV field (Sub-sub-TLVs).
- the Rule-based End.X SID Block sub-TLV also includes a block identification field, a start SID field, an end SID field, a flag bit field, an algorithm field, a weight field, a behavior Quantity field and Endpoint Behavior field.
- the Rule-based End.X SID Block sub-TLV may also include an offset field, and the offset field may carry a first offset, which is used to represent the Rule-based End.
- a block identifier is taken as an example. It can be understood that when the Rule-based End.X SID Block sub-TLV includes multiple block identifiers, the first offset can be used to represent each block Identifies the offset of the boundary address of the corresponding address space.
- the number of bits originally included in the Rule-based End.X SID Block sub-TLV is the number of bits specified by the IS-IS protocol, and the number of bits occupied by the newly added field can be set based on actual needs. No limit. Fig. 12-a is only an example, and the length of each field and the arrangement order of each field are not limited thereto.
- the second packet may include the sixth sub-TLV or the seventh sub-TLV.
- the sixth sub-TLV is used to carry the index of the link SID of the P2P adjacency type; the sixth sub-TLV includes a block identification field, an index length field and a start index field.
- the seventh sub-TLV is used to carry the index of the link SID of the LAN adjacency type; the seventh sub-TLV includes a block identifier field, an index length field and a start index field.
- the block identifier field is used to carry the second Block identifier; the index length field is used to carry the length of the start index field; the start index field is used to carry the above start index value.
- the above-mentioned second message may be a link state message
- the sixth sub-TLV may be the Rule-based End.X SID Index sub-TLV included in the link state message
- the seventh sub-TLV may be the link The Rule-based LAN End.X SID Index sub-TLV included in the status message.
- the sixth sub-TLV and the seventh sub-TLV in the embodiment of this application can be used as sub-TLVs of the above-mentioned TLV-22, TLV-23, TLV-25, TLV-141, TLV-222 or TLV-223 .
- this embodiment of the present application is not limited thereto, and the sixth sub-TLV and the seventh sub-TLV may also serve as sub-TLVs of other TLVs included in the second packet.
- Figure 12-b is a schematic diagram of the Rule-based End.X SID Index sub-TLV provided by the embodiment of the present application;
- Figure 12-c is the Rule-based LAN End.X SID Index sub-TLV provided by the embodiment of the present application A schematic diagram of .
- both Rule-based End.X SID Index sub-TLV and Rule-based LAN End.X SID Index sub-TLV include type field and length field.
- the flag bit field, algorithm field and weight field originally included in Rule-based End.X SID Index sub-TLV and Rule-based LAN End.X SID Index sub-TLV are carried in the above-mentioned fifth sub-TLV In the TLV, the sixth sub-TLV and the seventh sub-TLV that carry the same Block ID as the fifth sub-TLV can share the flag bit field, algorithm field, and weight field carried by the fifth sub-TLV. In this way, the link SID issuance process can be further reduced Packet overhead in .
- the Rule-based End.X SID Index sub-TLV and the Rule-based LAN End.X SID Index sub-TLV may also include a block identifier field, an index length field, and a start index field. That is, Rule-based End.X SID Index sub-TLV and Rule-based LAN End.X SID Index sub-TLV do not need to carry the indexes of all link SIDs that need to be notified, but only need to carry the indexes of multiple link SIDs with consecutive indexes. The index of the first link SID, in this way, can further reduce the message overhead in the process of issuing the link SID.
- the sixth sub-TLV (Rule-based End.X SID Index sub-TLV) may also include an offset field
- the seventh sub-TLV may also include An offset field, where the offset field is used to carry the first offset.
- the first offset included in the Rule-based End.X SID Index sub-TLV is used to indicate the offset of the boundary address of the address space corresponding to the block identifier included in the Rule-based End.X SID Index sub-TLV.
- the first offset included in the Rule-based LAN End.X SID Index sub-TLV is used to indicate the offset of the boundary address of the address space corresponding to the block identifier included in the Rule-based LAN End.X SID Index sub-TLV.
- the number of bits originally included in the Rule-based End.X SID Index sub-TLV and the Rule-based LAN End.X SID Index sub-TLV is the number of bits specified in the IS-IS protocol, and the number of bits occupied by the newly added fields The number can be set based on actual requirements, which is not limited in this embodiment of the present application.
- FIG. 12-b and FIG. 12-c are only examples, and the length of each field and the arrangement order of each field are not limited thereto.
- the first device may store multiple SIDs with consecutive indexes, and the first SID among the multiple SIDs with consecutive indexes is Second SID. That is to say, the second index value included in the fourth packet is the index value of the first SID among the multiple SIDs with consecutive indexes.
- the above-mentioned third message also includes the number of endpoint behaviors and the number of endpoint behaviors. The number of endpoint behaviors is the number of SIDs with consecutive indexes, and the above-mentioned multiple SIDs with consecutive indexes correspond to the endpoint behaviors included in the third message.
- the sub-TLV included in the third packet may have the same structure as the TLV shown in FIG. 12-a, and the sub-TLV included in the third packet may have the same structure as the TLV shown in FIG. 12-b or 12-c.
- FIG. 13-a is a schematic structural diagram of a first type of segment identification device provided by an embodiment of the present application.
- the device is applied to the first device above, and specifically includes the following modules.
- the receiving module 1301 is configured to receive the first message and the second message sent by the second device; wherein, the first message includes at least one first block identifier and the boundary address of the address space corresponding to each first block identifier ;
- the second packet includes at least one second Block identifier and a first index value;
- Calculation module 1302 configured to calculate the first SID by using the boundary address and the first index value of the first address space corresponding to the same Block, where the same Block is the same Block ID in at least one first Block ID and at least one second Block ID Represented Block.
- the first packet further includes the first offset, or the second packet further includes the first offset; the calculation module 1302 is specifically configured to Quantity and the first index value, calculate the first SID.
- the boundary address of the above-mentioned first address space is the start address of the first address space
- the calculation module 1302 mentioned above can be specifically configured to offset the first index value by the first offset amount according to the SID address rule to obtain the first offset address; determine the first SID according to the start address and the first offset address .
- the above calculation module 1302 can be specifically used to calculate the sum of the start address and the first offset address; if the SID corresponding to the sum value is in the first address space, then use the SID corresponding to the sum value as the first address space. SID.
- the boundary address of the first address space is an end address of the first address space.
- the calculation module 1302 mentioned above can be specifically configured to offset the first index value by the first offset according to the address rules of the SID to obtain the second offset address; and determine the first SID according to the end address and the second offset address.
- the above calculation module 1302 can be specifically used to calculate the difference between the end address and the second offset address; if the SID corresponding to the difference is in the first address space, then determine the SID corresponding to the difference as the first address space. SID.
- the above-mentioned first message includes a first sub-TLV, and the first sub-TLV includes a block identification field, a start SID field, and an end SID field;
- the block identifier field is used to carry at least one first Block identifier; the start SID field is used to carry the starting address of the address space corresponding to each first Block; the end SID field is used to carry the address corresponding to each first Block The end address of the space.
- the first sub-TLV further includes an offset field, and the offset field is used to carry the first offset.
- the second packet includes a second sub-TLV, a third sub-TLV or a fourth sub-TLV;
- the second sub-TLV is used to carry the index of the link SID of the point-to-point P2P adjacency type;
- the second sub-TLV includes a block identification field, an index quantity field, an index length field, at least one index field, and an endpoint behavior field corresponding to each index field;
- the third sub-TLV is used to carry the index of the link SID of the LAN adjacency type; the third sub-TLV includes a block identification field, an index quantity field, an index length field, at least one index field, and an endpoint behavior field corresponding to each index field;
- the fourth sub-TLV is used to carry the index of the device SID;
- the fourth sub-TLV includes a block identification field, an index quantity field, an index length field, at least one index field, and an endpoint behavior field corresponding to each index field;
- the block identification field is used to carry the second Block identification;
- the index number field is used to carry the index number;
- the index length field is used to carry the index length;
- each index field is used to carry an index value;
- each endpoint behavior field is used to carry An endpoint behavior corresponding to an index value.
- the second sub-TLV further includes an offset field
- the third sub-TLV further includes an offset field
- the fourth sub-TLV further includes an offset field
- the offset field is used to carry the first offset
- the first message also includes the number of endpoint behaviors and the endpoint behavior;
- the first index value is a start index value, and the start index value is an index value corresponding to the first endpoint behavior included in the first message;
- the calculation module 1302 can be specifically configured to calculate the index value corresponding to each endpoint behavior included in the first packet according to the number of endpoint behaviors and the start index value; based on the boundary address of the first address space and each index value included in the first packet Index values corresponding to each endpoint behavior, and calculate the SID corresponding to each endpoint behavior.
- the calculation module 1302 can be specifically configured to: use the sum of the starting index value and N as the index value corresponding to the Nth endpoint behavior included in the first message, where the value range of N is 0 The difference between the number of behaviors to the endpoint and 1.
- the first packet further includes a first offset, or, the second packet further includes a first offset;
- the calculation module 1302 can be specifically configured to offset the index value corresponding to each endpoint behavior by the first offset amount according to the address rules of the SID, so as to obtain the first offset address corresponding to each endpoint behavior; based on the first address space The boundary address and the first offset address corresponding to each endpoint behavior, respectively calculate the SID corresponding to each endpoint behavior.
- the boundary address of the first address space is the start address of the first address space
- Calculation module 1302 can specifically be used to calculate the sum of the start address and the first offset address corresponding to each endpoint behavior; if each calculated sum is in the first address space, the calculated Each sum value acts as a SID for each endpoint behavior respectively.
- the boundary address of the first address space is the end address of the first address space
- the calculation module 1302 is specifically used to calculate the difference between the start address and the first offset address corresponding to each end point behavior; if each calculated difference is in the first address space, each calculated The differences are used as the SID of each endpoint behavior.
- the first message includes a fifth sub-TLV
- the fifth sub-TLV includes a block identification field, a start SID field, an end SID field, a flag bit field, an algorithm field, a weight field, a behavior quantity field, and an endpoint behavior field;
- the block identifier field is used to carry the first Block identifier;
- the start SID field is used to carry the start address of the first address space;
- the end SID field is used to carry the end address of the first address space;
- the flag bit field is used to carry the shared The flag bit, the shared flag bit is shared by multiple SIDs included in the Block characterized by the first Block identifier;
- the algorithm field is used to carry a shared algorithm, and the shared algorithm is shared by multiple SIDs included in the Block represented by the first Block identifier; the weight field is used to carry the shared weight, and the shared weight is shared by multiple SIDs included in the Block represented by the first Block identifier;
- the Behavior Quantity field is used to carry the number of endpoint behaviors; each endpoint behavior is used to carry one endpoint behavior.
- the fifth sub-TLV further includes an offset field, where the offset field is used to carry the first offset.
- the second packet includes a sixth sub-TLV or a seventh sub-TLV;
- the sixth sub-TLV is used to carry the index of the link SID of the point-to-point P2P adjacency type; the sixth sub-TLV includes a block identification field, an index length field and a starting index field;
- the seventh sub-TLV is used to carry the index of the link SID of the LAN adjacency type; the seventh sub-TLV includes a block identification field, an index length field and a starting index field;
- the block identifier field is used to carry the second Block identifier; the index length field is used to carry the length of the start index field; the start index field is used to carry the start index value.
- the sixth sub-TLV further includes an offset field
- the seventh sub-TLV further includes an offset field
- the offset field is used to carry the first offset
- the above-mentioned first device stores the second SID; as shown in FIG. 13-b, the above-mentioned device for determining the segment identifier may further include:
- the first determining module 1304 is configured to determine the target Block to which the second SID belongs according to the pre-divided correspondence between each Block and the address space;
- the second determination module 1305 is configured to determine the second index value corresponding to the second SID according to the correspondence between each SID and the index value in the second address space corresponding to the target Block;
- a sending module 1306, configured to send a third packet and a fourth packet to each neighbor device, the third packet includes a third Block identifier of the target Block, a second offset, and a boundary address of the second address space, the second The fourth packet includes the third Block identifier and the second index value.
- the first device stores multiple SIDs with continuous indexes, and the first SID among the multiple SIDs with continuous indexes is the second SID;
- the third message also includes the number of endpoint behaviors and the endpoint behavior, where the number of endpoint behaviors is the number of SIDs with consecutive indexes; multiple SIDs with consecutive indexes correspond to the endpoint behaviors included in the third message.
- the calculation module 1302 is configured to calculate the second offset of the boundary address of the second address space according to the attribute characteristics of each address in the second address space.
- the embodiment of the present application also provides an electronic device, as shown in FIG. 14 , including a processor 1401, a machine-readable storage medium 1402 and a transceiver device 1404.
- the machine-readable storage medium 1402 stores machine-executable instructions that can be executed by the processor 1401; the machine-executable instructions cause the processor 1401 to perform the following steps:
- the first message includes at least one first block identifier and the boundary address of the address space corresponding to each first block identifier;
- the second The second message includes at least one second Block identifier and a first index value;
- the first SID is calculated by using the boundary address and the first index value of the first address space corresponding to the same block, where the same block is represented by the same block ID in at least one first block ID and at least one second block ID.
- the first message further includes a first offset
- the second message further includes a first offset
- the machine-executable instruction prompts the processor 1401 to perform the following steps: according to the boundary address of the first address space , the first offset and the first index value to calculate the first SID.
- the boundary address of the first address space is the start address of the first address space
- the machine-executable instruction further prompts the processor 1401 to perform the following steps: according to the address rules of the SID, offset the first index value by the first offset to obtain the first offset address; according to the start address and the first offset address, Calculate the first SID.
- the machine-executable instruction further prompts the processor 1401 to perform the following steps: calculate the sum value of the start address and the first offset address; if the SID corresponding to the sum value is in the first address space, the SID corresponding to the sum value SID as the first SID.
- the boundary address of the first address space is the end address of the first address space
- the machine-executable instructions also cause the processor 1401 to perform the following steps: according to the address rules of the SID, offset the first index value by the first offset to obtain the second offset address; calculate First SID.
- machine-executable instructions further prompt the processor 1401 to perform the following steps:
- the first message includes a first sub-TLV
- the first sub-TLV includes a block identifier field, a start SID field, and an end SID field; wherein, the block identifier field is used to carry at least one first Block identifier; the start SID The field is used to carry the start address of the address space corresponding to each first Block; the end SID field is used to carry the end address of the address space corresponding to each first Block.
- the first sub-TLV further includes an offset field, and the offset field is used to carry the first offset.
- the second packet includes a second sub-TLV, a third sub-TLV or a fourth sub-TLV;
- the second sub-TLV is used to carry the index of the link SID of the point-to-point P2P adjacency type;
- the second sub-TLV includes a block identification field, an index quantity field, an index length field, at least one index field, and an endpoint behavior field corresponding to each index field;
- the third sub-TLV is used to carry the index of the link SID of the LAN adjacency type; the third sub-TLV includes a block identification field, an index quantity field, an index length field, at least one index field, and an endpoint behavior field corresponding to each index field;
- the fourth sub-TLV is used to carry the index of the device SID;
- the fourth sub-TLV includes a block identification field, an index quantity field, an index length field, at least one index field, and an endpoint behavior field corresponding to each index field;
- the block identification field is used to carry the second Block identification;
- the index number field is used to carry the index number;
- the index length field is used to carry the index length;
- each index field is used to carry an index value;
- each endpoint behavior field is used to carry An endpoint behavior corresponding to an index value.
- the second sub-TLV further includes an offset field
- the third sub-TLV further includes an offset field
- the fourth sub-TLV further includes an offset field
- the offset field is used to carry the first offset
- the first message also includes the number of endpoint behaviors and the endpoint behavior;
- the first index value is a start index value, and the start index value is an index value corresponding to the first endpoint behavior included in the first message;
- the machine-executable instructions cause the processor 1401 to perform the following steps: according to the number of endpoint behaviors and the starting index value, calculate the index value corresponding to each endpoint behavior included in the first message; Index value corresponding to each endpoint behavior included in the document, respectively calculate the SID corresponding to each endpoint behavior.
- machine-executable instructions prompt the processor 1401 to perform the following steps:
- the sum of the start index value and N is used as the index value corresponding to the Nth endpoint behavior included in the first message, where the value of N ranges from 0 to the difference between the number of endpoint behaviors and 1.
- the first packet further includes the first offset
- the second packet further includes the first offset
- the machine-executable instruction prompts the processor 1401 to perform the following steps: according to the address rules of the SID, respectively
- the index value corresponding to each endpoint behavior is offset by the first offset to obtain the first offset address corresponding to each endpoint behavior; based on the boundary address of the first address space and the first offset address corresponding to each endpoint behavior, Calculate the SID corresponding to each endpoint behavior separately.
- the boundary address of the first address space is the start address of the first address space; the machine-executable instruction prompts the processor 1401 to perform the following steps: separately calculate the start address and the first offset address corresponding to each endpoint behavior and values; if each calculated sum value is in the first address space, use each calculated sum value as the SID of each endpoint behavior.
- the boundary address of the first address space is the end address of the first address space; the machine-executable instruction prompts the processor 1401 to perform the following steps: separately calculate the starting address and the first offset address corresponding to each end point behavior difference; if each calculated difference is in the first address space, use each calculated difference as the SID of each endpoint behavior.
- the first message includes a fifth sub-TLV
- the fifth sub-TLV includes a block identification field, a start SID field, an end SID field, a flag bit field, an algorithm field, a weight field, a behavior quantity field, and an endpoint behavior field;
- the block identifier field is used to carry the first Block identifier;
- the start SID field is used to carry the start address of the first address space;
- the end SID field is used to carry the end address of the first address space;
- the flag bit field is used to carry the shared Flag bit, the shared flag bit is shared by multiple SIDs included in the Block represented by the first Block identifier;
- the algorithm field is used to carry a shared algorithm, and the shared algorithm is shared by a plurality of SIDs included in the Block represented by the first Block identifier;
- the weight field is used for Carry the shared weight, the shared weight is shared by multiple SIDs included in the Block represented by the first Block identifier;
- the behavior number field is used to carry the number of endpoint behaviors; each endpoint behavior is used to carry one endpoint behavior.
- the fifth sub-TLV further includes an offset field, where the offset field is used to carry the first offset.
- the second message includes the sixth sub-TLV or the seventh sub-TLV; the sixth sub-TLV is used to carry the index of the link SID of the point-to-point P2P adjacency type; the sixth sub-TLV includes a block identification field, an index length field and The starting index field; the seventh sub-TLV is used to carry the index of the link SID of the local area network LAN adjacency type; the seventh sub-TLV includes a block identification field, an index length field and a starting index field; wherein, the block identification field is used to carry the first Two Block identifiers; the index length field is used to carry the length of the start index field; the start index field is used to carry the start index value.
- the sixth sub-TLV further includes an offset field
- the seventh sub-TLV further includes an offset field
- the offset field is used to carry the first offset
- the first device stores the second SID; the machine-executable instruction prompts the processor 1401 to perform the following steps: acquire the stored second SID; determine the first SID according to the pre-divided correspondence between each Block and the address space The target Block to which the two SIDs belong; according to the corresponding relationship between each SID and the index value in the second address space corresponding to the target Block, determine the second index value corresponding to the second SID; send the third index value to each neighbor device through the transceiver 1404 A message and a fourth message, the third message includes the third Block identifier of the target Block and the boundary address of the second address space, and the fourth message includes the third Block identifier and the second index value.
- the first device stores multiple SIDs with continuous indexes, and the first SID among the multiple SIDs with continuous indexes is the second SID;
- the third message also includes the number of endpoint behaviors and the endpoint behavior, and the number of endpoint behaviors is the number of SIDs with continuous indexes; multiple SIDs with continuous indexes correspond to the endpoint behaviors included in the third message.
- the third packet further includes a second offset
- the fourth packet further includes a second offset
- the machine-executable instruction prompts the processor 1401 to perform the following steps: according to each The attribute feature of the address is to calculate the second offset of the boundary address of the second address space.
- the electronic device may further include a communication bus 1403 .
- the processor 1401, the machine-readable storage medium 1402, and the transceiver 1404 complete mutual communication through a communication bus 1403, and the communication bus 1403 can be a peripheral component interconnection standard (Peripheral Component Interconnect, PCI) bus or an extended industry standard structure (Extended Industry Standard Architecture, EISA) bus, etc.
- PCI peripheral component interconnection standard
- EISA Extended Industry Standard Architecture
- the communication bus 1403 can be divided into address bus, data bus, control bus and so on.
- the transceiver 1404 may be a wireless communication module, and under the control of the processor 1401, the transceiver 1404 performs data interaction with other devices (AC and terminal).
- the machine-readable storage medium 1402 may include a random access memory (Random Access Memory, RAM), and may also include a non-volatile memory (Non-Volatile Memory, NVM), such as at least one magnetic disk memory.
- NVM non-Volatile Memory
- the machine-readable storage medium 1402 may also be at least one storage device located away from the aforementioned processor.
- the processor 1401 can be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU), a network processor (Network Processor, NP), etc.; it can also be a digital signal processor (Digital Signal Processing, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
- CPU Central Processing Unit
- NP Network Processor
- DSP Digital Signal Processing
- ASIC Application Specific Integrated Circuit
- FPGA Field-Programmable Gate Array
- FPGA Field-Programmable Gate Array
- the embodiments of the present application also provide a machine-readable storage medium, the machine-readable storage medium stores a machine-executable instruction.
- the processor is prompted by the machine-executable instructions to implement the steps of any one of the above identification determination methods.
- a computer program product including instructions is also provided, which, when run on a computer, causes the computer to execute the steps of any paragraph of the identification determination method in the above embodiments.
- each embodiment in this specification is described in a related manner, the same and similar parts of each embodiment can be referred to each other, and each embodiment focuses on the differences from other embodiments.
- the segment identifier determination apparatus, equipment and machine-readable storage medium As for the embodiment of the machine-readable storage medium, since it is basically similar to the embodiment of the method for determining the segment identifier, the description is relatively simple, and for relevant details, please refer to the part of the description of the embodiment of the method for determining the segment identifier.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (25)
- 一种段标识确定方法,其特征在于,应用于SRv6网络中的第一设备,所述SRv6网络还包括第二设备,所述第一设备与所述第二设备互为邻居设备,所述第二设备存储第一段标识SID,所述方法包括:接收所述第二设备发送的第一报文和第二报文;其中,所述第一报文包括至少一个第一块Block标识以及每个第一Block标识对应的地址空间的边界地址;所述第二报文包括至少一个第二Block标识以及第一索引值;利用相同Block对应的第一地址空间的边界地址和所述第一索引值,计算所述第一SID,所述相同Block为所述至少一个第一Block标识与所述至少一个第二Block标识中的相同Block标识表征的Block。
- 根据权利要求1所述的方法,其特征在于,所述第一报文还包括第一偏移量,或者,所述第二报文还包括第一偏移量;所述利用相同Block对应的第一地址空间的边界地址和所述第一索引值,计算所述第一SID,具体包括:根据所述第一地址空间的边界地址、所述第一偏移量以及所述第一索引值,计算所述第一SID。
- 根据权利要求2所述的方法,其特征在于,所述第一地址空间的边界地址为所述第一地址空间的起始地址;所述根据所述第一地址空间的边界地址、所述第一偏移量以及所述第一索引值,计算所述第一SID的步骤,包括:按照SID的地址规则,将所述第一索引值偏移所述第一偏移量,得到第一偏移地址;根据所述起始地址与所述第一偏移地址,计算所述第一SID。
- 根据权利要求3所述的方法,其特征在于,所述根据所述起始地址与所述第一偏移地址,计算所述第一SID,具体包括:计算所述起始地址与所述第一偏移地址的和值;若所述和值对应的SID在所述第一地址空间内,则将所述和值对应的SID作为所述第一SID。
- 根据权利要求2所述的方法,其特征在于,所述第一地址空间的边界地址为所述第一地址空间的末端地址;所述根据所述第一地址空间的边界地址、所述第一偏移量以及所述第一索引值,计算所述第一SID,具体包括:按照SID的地址规则,将所述第一索引值偏移所述第一偏移量,得到第二偏移地址;根据所述末端地址与所述第二偏移地址,计算所述第一SID。
- 根据权利要求5所述的方法,其特征在于,所述根据所述末端地址与所述第二偏移地址,计算所述第一SID,具体包括:计算所述末端地址与所述第二偏移地址的差值;若所述差值对应的SID在所述第一地址空间内,则将所述差值对应的SID作为所述第一SID。
- 根据权利要求1所述的方法,其特征在于,所述第一报文包括第一子TLV,所述第一子TLV包括块标识字段、起始SID字段、末端SID 字段;其中,所述块标识字段用于携带所述至少一个第一Block标识;所述起始SID字段用于携带每个第一Block对应的地址空间的起始地址;所述末端SID字段用于携带每个第一Block对应的地址空间的末端地址。
- 根据权利要求7所述的方法,其特征在于,所述第一子TLV还包括偏移量字段,所述偏移量字段用于携带第一偏移量。
- 根据权利要求1所述的方法,其特征在于,所述第二报文包括第二子TLV、第三子TLV或第四子TLV;所述第二子TLV用于携带点对点P2P邻接类型的链路SID的索引;所述第二子TLV包括块标识字段、索引数量字段、索引长度字段、至少一个索引字段以及每个索引字段对应的端点行为字段;所述第三子TLV用于携带局域网LAN邻接类型的链路SID的索引;所述第三子TLV包括块标识字段、索引数量字段、索引长度字段、至少一个索引字段以及每个索引字段对应的端点行为字段;所述第四子TLV用于携带设备SID的索引;所述第四子TLV包括块标识字段、索引数量字段、索引长度字段、至少一个索引字段以及每个索引字段对应的端点行为字段;其中,所述块标识字段用于携带所述第二Block标识;所述索引数量字段用于携带索引数量;所述索引长度字段用于携带索引长度;每个索引字段用于携带一个索引值;每个端点行为字段用于携带一个索引值对应的端点行为。
- 根据权利要求9所述的方法,其特征在于,第二子TLV还包括偏移量字段,所述第三子TLV还包括偏移量字段,所述第四子TLV还包括偏移量字段,所述偏移量字段用于携带第一偏移量。
- 根据权利要求1所述的方法,其特征在于,所述第一报文还包括端点行为数量和端点行为;所述第一索引值为起始索引值,所述起始索引值为所述第一报文包括的第一个端点行为对应的索引值;所述利用相同Block对应的第一地址空间的边界地址和所述第一索引值,计算所述第一SID,具体包括:根据所述端点行为数量和所述起始索引值,计算所述第一报文包括的每个端点行为对应的索引值;基于所述第一地址空间的边界地址和所述第一报文包括的每个端点行为对应的索引值,分别计算每个端点行为对应的SID。
- 根据权利要求11所述的方法,其特征在于,所述根据所述端点行为数量和所述起始索引值,计算所述第一报文包括的每个端点行为对应的索引值,具体包括:将所述起始索引值与N的和值,作为所述第一报文包括的第N个端点行为对应的索引值,其中,N的取值范围为0至所述端点行为数量与1的差值。
- 根据权利要求11或12所述的方法,其特征在于,所述第一报文还包括第一偏移量,或者, 所述第二报文还包括第一偏移量;所述基于所述第一地址空间的边界地址和所述第一报文包括的每个端点行为对应的索引值,分别计算每个端点行为对应的SID,包括:按照SID的地址规则,分别将每个端点行为对应的索引值偏移所述第一偏移量,得到每个端点行为对应的第一偏移地址;基于所述第一地址空间的边界地址和每个端点行为对应的第一偏移地址,分别计算每个端点行为对应的SID。
- 根据权利要求13所述的方法,其特征在于,所述第一地址空间的边界地址为所述第一地址空间的起始地址;所述基于所述第一地址空间的边界地址和每个端点行为对应的第一偏移地址,分别计算每个端点行为对应的SID,包括:分别计算所述起始地址与每个端点行为对应的第一偏移地址的和值;若计算得到的每个和值均在所述第一地址空间内,则将计算得到的每个和值分别作为每个端点行为的SID。
- 根据权利要求13所述的方法,其特征在于,所述第一地址空间的边界地址为所述第一地址空间的末端地址;所述基于所述第一地址空间的边界地址和每个端点行为对应的第一偏移地址,分别计算每个端点行为对应的SID,包括:分别计算所述起始地址与每个端点行为对应的第一偏移地址的差值;若计算得到的每个差值均在所述第一地址空间内,则将计算得到的每个差值分别作为每个端点行为的SID。
- 根据权利要求11所述的方法,其特征在于,所述第一报文包括第五子TLV,所述第五子TLV包括块标识字段、起始SID字段、末端SID字段、标志位字段、算法字段、权重字段、行为数量字段和端点行为字段;其中,所述块标识字段用于携带所述第一Block标识;所述起始SID字段用于携带所述第一地址空间的起始地址;所述末端SID字段用于携带所述第一地址空间的末端地址;所述标志位字段用于携带共享标志位,所述共享标志位由所述第一Block标识表征的Block包括的多个SID共享;所述算法字段用于携带共享算法,所述共享算法由所述第一Block标识表征的Block包括的多个SID共享;所述权重字段用于携带共享权重,所述共享权重由所述第一Block标识表征的Block包括的多个SID共享;所述行为数量字段用于携带所述端点行为数量;每个端点行为用于携带一个端点行为。
- 根据权利要求16所述的方法,其特征在于,所述第五子TLV还包括偏移量字段,所述偏移量字段用于携带所述第一偏移量。
- 根据权利要求11所述的方法,其特征在于,所述第二报文包括第六子TLV或第七子TLV;所述第六子TLV用于携带点对点P2P邻接类型的链路SID的索引;所述第六子TLV包括块标识字段、索引长度字段和起始索引字段;所述第七子TLV用于携带局域网LAN邻接类型的链路SID的索引;所述第七子TLV包括块标识字段、索引长度字段和起始索引字段;其中,所述块标识字段用于携带所述第二Block标识;所述索引长度字段用于携带所述起始索引字段的长度;所述起始索引字段用于携带所述起始索引值。
- 根据权利要求18所述的方法,其特征在于,所述第六子TLV还包括偏移量字段,所述第七子TLV还包括偏移量字段,所述偏移量字段用于携带所述第一偏移量。
- 根据权利要求1所述的方法,其特征在于,所述第一设备存储了第二SID;所述方法还包括:获取存储的第二SID;根据预先划分的每一Block与地址空间之间的对应关系,确定所述第二SID所属的目标Block;根据所述目标Block对应的第二地址空间中每一SID与索引值的对应关系,确定所述第二SID对应的第二索引值;向每一邻居设备发送第三报文和第四报文,所述第三报文包括所述目标Block的第三Block标识以及所述第二地址空间的边界地址,所述第四报文包括所述第三Block标识以及所述第二索引值。
- 根据权利要求20所述的方法,其特征在于,所述第一设备存储多个索引连续的SID,所述多个索引连续的SID中的首个SID为所述第二SID;所述第三报文还包括端点行为数量和端点行为,所述端点行为数量为索引连续的SID的数量;所述多个索引连续的SID与所述第三报文包括的端点行为一一对应。
- 根据权利要求20或21所述的方法,其特征在于,所述第三报文还包括第二偏移量,或者,所述第四报文还包括第二偏移量;在向每一邻居设备发送第三报文和第四报文之前,所述方法还包括:根据所述第二地址空间中每一地址的属性特征,计算所述第二地址空间的边界地址的所述第二偏移量。
- 一种电子设备,其特征在于,所述电子设备为SRv6网络中的第一设备,所述SRv6网络还包括第二设备,所述第一设备与所述第二设备互为邻居设备,所述第二设备存储第一段标识SID,所述电子设备包括:处理器;收发器;机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述机器可执行指令促使所述处理器执行以下步骤:通过收发器接收所述第二设备发送的第一报文和第二报文;其中,所述第一报文包括至少一个 第一块Block标识以及每个第一Block标识对应的地址空间的边界地址;所述第二报文包括至少一个第二Block标识以及第一索引值;利用相同Block对应的第一地址空间的边界地址和所述第一索引值,计算所述第一SID,所述相同Block为所述至少一个第一Block标识与所述至少一个第二Block标识中的相同Block标识表征的Block。
- 根据权利要求23所述的电子设备,其特征在于,所述机器可执行指令还促使所述处理器执行权利要求2-22任一所述的方法步骤。
- 一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现权利要求1-22任一所述的方法步骤。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023571565A JP7636588B2 (ja) | 2021-09-22 | 2022-02-25 | セグメント識別子の特定方法および装置 |
| US18/288,158 US12500831B2 (en) | 2021-09-22 | 2022-02-25 | Method and apparatus for determining segment identity |
| EP22871313.7A EP4311197A4 (en) | 2021-09-22 | 2022-02-25 | METHOD AND APPARATUS FOR DETERMINING SEGMENT IDENTITY |
| CN202280000349.8A CN114731330B (zh) | 2021-09-22 | 2022-02-25 | 一种段标识确定方法及装置 |
| KR1020237036952A KR20230160394A (ko) | 2021-09-22 | 2022-02-25 | 세그먼트 식별자 결정 방법 및 디바이스 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111108022.6 | 2021-09-22 | ||
| CN202111108022.6A CN113691451B (zh) | 2021-09-22 | 2021-09-22 | 一种段标识确定方法及装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023045247A1 true WO2023045247A1 (zh) | 2023-03-30 |
Family
ID=78586819
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2022/078065 Ceased WO2023045247A1 (zh) | 2021-09-22 | 2022-02-25 | 一种段标识确定方法及装置 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN113691451B (zh) |
| WO (1) | WO2023045247A1 (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7636588B2 (ja) | 2021-09-22 | 2025-02-26 | 新華三技術有限公司 | セグメント識別子の特定方法および装置 |
| CN113691451B (zh) * | 2021-09-22 | 2022-08-19 | 新华三技术有限公司 | 一种段标识确定方法及装置 |
| CN116846804A (zh) * | 2022-03-24 | 2023-10-03 | 中国移动通信有限公司研究院 | 一种信息发布及信息获取方法、装置、通信设备 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140254596A1 (en) * | 2013-03-11 | 2014-09-11 | Cisco Technology, Inc. | Indexed segment id |
| CN107968752A (zh) * | 2016-10-20 | 2018-04-27 | 新华三技术有限公司 | 一种sid获取方法和装置 |
| CN111464439A (zh) * | 2020-03-31 | 2020-07-28 | 新华三信息安全技术有限公司 | 段标识发布方法和装置 |
| WO2021135468A1 (zh) * | 2019-12-30 | 2021-07-08 | 华为技术有限公司 | 段标识的确定方法和设备 |
| CN113691451A (zh) * | 2021-09-22 | 2021-11-23 | 新华三信息安全技术有限公司 | 一种段标识确定方法及装置 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9516118B2 (en) * | 2014-05-12 | 2016-12-06 | Telefonaktiebolaget L M Ericsson (Publ) | Scalable segment identifier allocation in segment routing |
| KR20150137205A (ko) * | 2014-05-28 | 2015-12-09 | 주식회사 엘지유플러스 | Lte 핸드오버 시스템, 이노드비 장치 및 그 핸드오버 제어방법 |
| CN105450437B (zh) * | 2014-09-19 | 2020-03-06 | 中兴通讯股份有限公司 | 一种分配sid的方法和sr节点 |
| CN109257279B (zh) * | 2018-10-26 | 2021-03-26 | 新华三技术有限公司 | 一种报文转发方法及装置 |
| CN120110979A (zh) * | 2018-12-21 | 2025-06-06 | 华为技术有限公司 | 用于分段路由(sr)代理段标识(sid)的内部网关协议(igp) |
| US11277334B2 (en) * | 2019-07-24 | 2022-03-15 | Juniper Networks, Inc. | Using and processing per slice segment identifiers in a network employing segment routing |
| CN110995596B (zh) * | 2019-12-20 | 2022-04-12 | 锐捷网络股份有限公司 | 基于SRv6网络的SID分配方法和装置 |
| CN113259238B (zh) * | 2020-02-07 | 2022-10-21 | 中国移动通信有限公司研究院 | 分段标识的处理方法及设备 |
| CN111628995B (zh) * | 2020-05-26 | 2023-06-16 | 新华三信息安全技术有限公司 | 基于SRv6的SID压缩方法、装置、设备及存储介质 |
| CN112134801B (zh) * | 2020-08-11 | 2022-02-15 | 中盈优创资讯科技有限公司 | 分段标识sid的处理方法、装置及各节点 |
-
2021
- 2021-09-22 CN CN202111108022.6A patent/CN113691451B/zh active Active
-
2022
- 2022-02-25 WO PCT/CN2022/078065 patent/WO2023045247A1/zh not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140254596A1 (en) * | 2013-03-11 | 2014-09-11 | Cisco Technology, Inc. | Indexed segment id |
| CN107968752A (zh) * | 2016-10-20 | 2018-04-27 | 新华三技术有限公司 | 一种sid获取方法和装置 |
| WO2021135468A1 (zh) * | 2019-12-30 | 2021-07-08 | 华为技术有限公司 | 段标识的确定方法和设备 |
| CN111464439A (zh) * | 2020-03-31 | 2020-07-28 | 新华三信息安全技术有限公司 | 段标识发布方法和装置 |
| CN113691451A (zh) * | 2021-09-22 | 2021-11-23 | 新华三信息安全技术有限公司 | 一种段标识确定方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113691451A (zh) | 2021-11-23 |
| CN113691451B (zh) | 2022-08-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12407601B1 (en) | Routing methods, systems, and computer program products | |
| US10574562B1 (en) | Routing methods, systems, and computer program products | |
| WO2023045247A1 (zh) | 一种段标识确定方法及装置 | |
| CN105850082B (zh) | 网络中分段源路由的方法及存储介质 | |
| US10103962B1 (en) | Return path trace | |
| US20170078241A1 (en) | Pro-Active Mechanism to Detect LISP Movable Silent Host | |
| CN105376162A (zh) | 一种链路状态信息通告方法和设备 | |
| CN113691445B (zh) | 报文转发备份路径确定方法及相关设备 | |
| CN105959219A (zh) | 数据处理方法和装置 | |
| WO2022266905A1 (zh) | 一种转发路径生成方法、装置、网络设备及存储介质 | |
| CN114731330B (zh) | 一种段标识确定方法及装置 | |
| WO2023098703A1 (zh) | 路径通告方法、拓扑算法组合生成方法、路径计算方法、数据传输方法、电子设备和计算机可读存储介质 | |
| WO2022188488A1 (zh) | 路径建立方法及其装置、节点、计算机可读存储介质 | |
| CN115987866B (zh) | 一种通告信息的处理方法、装置及存储介质 | |
| CN109218182B (zh) | 一种路由信息的同步方法及装置 | |
| US10419335B1 (en) | Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products | |
| US10411998B1 (en) | Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products | |
| CN107547411B (zh) | 一种路由处理方法、装置、电子设备及机器可读存储介质 | |
| CN106576076A (zh) | 互联网交换点的路由控制 | |
| EP3942748B1 (en) | Seamless multipoint label distribution protocol (mldp) transport over a bit index explicit replication (bier) core | |
| CN116455810A (zh) | 报文转发方法、装置、可读存储介质以及电子设备 | |
| CN114531391A (zh) | 确定下一跳的方法及装置 | |
| CN113438166B (zh) | 一种任播地址确定方法、装置、网络设备及存储介质 | |
| CN116743649A (zh) | 报文字段扩展方法、装置、介质、设备 | |
| US10404583B1 (en) | Routing methods, systems, and computer program products using multiple outside-scope identifiers |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22871313 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2022871313 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 20237036952 Country of ref document: KR Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1020237036952 Country of ref document: KR |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202327073776 Country of ref document: IN |
|
| ENP | Entry into the national phase |
Ref document number: 2022871313 Country of ref document: EP Effective date: 20231020 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023571565 Country of ref document: JP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 11202308029Q Country of ref document: SG |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWG | Wipo information: grant in national office |
Ref document number: 202280000349.8 Country of ref document: CN |