WO2021213507A1 - 数据包处理的方法及设备 - Google Patents
数据包处理的方法及设备 Download PDFInfo
- Publication number
- WO2021213507A1 WO2021213507A1 PCT/CN2021/089362 CN2021089362W WO2021213507A1 WO 2021213507 A1 WO2021213507 A1 WO 2021213507A1 CN 2021089362 W CN2021089362 W CN 2021089362W WO 2021213507 A1 WO2021213507 A1 WO 2021213507A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sid
- information
- data packet
- destination address
- container
- 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/56—Routing software
- H04L45/566—Routing instructions carried by the data packet, e.g. active networks
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- 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
- H04L45/748—Address table lookup; Address filtering using longest matching prefix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
Definitions
- the present disclosure relates to the field of communication technology, and in particular to a method and device for processing data packets.
- SRv6 is an SR solution based on Internet Protocol Version 6 (IPv6) extension.
- IPv6 Internet Protocol Version 6
- the SRv6 solution is based on Segment Routing Header (SRH) to implement forwarding, and its SID length is 128 bits (bit) .
- SID Segment Routing Header
- 8-layer SID 128 bytes (Byte) of overhead are brought to the data packet.
- the overhead brought by SRv6 exceeds 1/3, and the bandwidth utilization rate drops below 67%.
- the overhead of SR-MPLS is only 32Byte, and the bandwidth utilization rate is still 89%.
- Figure 1 only a simple comparison of the overhead of SRH and SR-MPLS SID.
- SRv6 deployment will inevitably coexist with the SR-MPLS network. Due to the difference in network utilization, it may cause the problem of unbalanced network boundary interfaces, resulting in waste of investment.
- the SR-MPLS network is connected to the SRv6 network domain, consider the 100G link, 256byte data packet, and 8-layer SID. Due to the large difference in link utilization, one 100GE link in the SR-MPLS domain is in the SRv6 domain. It may require two 100 Gigabit Ethernet (GE) links to match.
- GE Gigabit Ethernet
- SRv6 In carrier applications, SRv6 needs to insert a field of more than 128Byte length in the network chip in the data packet, which is equivalent to the 32-layer MPLS-SR label depth, which exceeds the capacity of the deployed network chip. If loopback is used inside the chip The solution will greatly reduce network performance and introduce higher delay and jitter. In the redesigned network chip, supporting SRv6 requires further expansion of the internal processing bus bandwidth, which is a key factor in chip cost and power consumption.
- SRv6 requires the network chip to read the complete SRH at the intermediate node, and then extract the segment to be processed according to the position indicated by the pointer and forward it. Compared with MPLS-SR, only the outermost label needs to be read, and the complexity introduced further increases the processing delay of the network chip.
- the existing SRv6 data packet overhead is relatively large, the complexity of the network chip is increased, and the smooth upgrade is difficult.
- SRv6 it is difficult for SRv6 to be quickly deployed in the operator's network, and it needs to be further evolved on the basis of SRv6 technology.
- An objective of the embodiments of the present disclosure is to provide a method and device for processing data packets, which solves the problem of large overhead of existing SRv6 data packets.
- an embodiment of the present disclosure provides a data packet processing method, including: acquiring first information and second information of a first segment identifier (SID), where the first information is used to indicate where the first SID is located The position of the container in the SID list of the data packet, the second information is used to indicate the position of the first SID in the container; the first SID is obtained according to the first information and the second information Position in the SID list; copy the first SID to the destination address of the data packet, and send the data packet.
- SID segment identifier
- the obtaining the first information and the second information of the first SID includes: obtaining the third information and the fourth information of the second SID, and the third information is used to indicate the The position of the container in which the second SID is located in the SID list of the data packet, and the fourth information is used to indicate the position of the second SID in the container; according to the third information of the second SID And fourth information to obtain the first information and the second information of the first SID.
- the obtaining the third information and the fourth information of the second SID includes: obtaining the third information of the second SID from the segment routing header (SRH) of the data packet.
- Information; the index of the second SID is obtained from the destination address of the data packet, and the index of the second SID includes: fourth information.
- the obtaining the first information and the second information of the first SID according to the third information and the fourth information of the second SID includes: according to the second information The fourth information of the SID or the attribute information of the second SID, determine whether the first SID and the second SID are in the same container; if the first SID and the second SID are in the same container In the container, the first information of the first SID is the same as the third information of the second SID, and the second information of the first SID is obtained according to the fourth information of the second SID; or, If the first SID and the second SID are not in the same container, obtain the first information of the first SID according to the third information of the second SID and the SID according to the first SID Type, which determines the second information of the first SID.
- the SID type of the first SID is indicated by the attribute information of the second SID.
- the method further includes: updating the first information of the first SID to the SRH of the data packet; and using the second information of the first SID as the The index of the first SID is updated to the destination address of the data packet.
- the copying the first SID to the destination address of the data packet and sending the data packet includes: copying the first SID to the destination address of the data packet , The first SID and the public prefix or address block in the destination address are combined to obtain a new destination address, and the data packet is forwarded to the next node according to the new destination address; or, the The first SID and the second information are copied to the destination address of the data packet.
- the first SID and the second information are combined with the common prefix or address block in the destination address to obtain a new destination address.
- the destination address of the data packet is forwarded to the next node; or, the first SID and the second information are copied to the destination address of the data packet, and the data packet is forwarded to the next node.
- the acquiring the first information and the second information of the first SID includes: acquiring the third information, the fourth information, and the fifth information of the second SID, the third information It is used to indicate the position of the container in which the second SID is located in the SID list of the data packet, the fourth information is used to indicate the position of the second SID in the container, and the fifth information is used To indicate the SID type of the second SID and/or indicate whether the second SID is compressed; according to the third, fourth, and fifth information of the second SID, the first SID of the first SID is obtained Information and second information; wherein the second SID in the SID list is the previous SID of the first SID.
- the obtaining the third information, the fourth information, and the fifth information of the second SID includes: obtaining the third information of the second SID from the SRH of the data packet Obtain the index of the second SID from the destination address of the data packet, and the index of the second SID includes: fourth information and fifth information.
- the obtaining the first information and the second information of the first SID according to the third information, the fourth information, and the fifth information of the second SID includes: The SID type of the second SID and the SID type of the first SID determine whether the first SID and the second SID are in the same container; if the first SID and the second SID are in the same container In the same container, the first information of the first SID is the same as the third information of the second SID, and the second information of the first SID is obtained according to the fourth information of the second SID; Or, if the first SID and the second SID are not in the same container, obtain the first information of the first SID according to the third information of the second SID, and obtain the first information of the first SID according to the first SID The SID type determines the second information of the first SID.
- the container is used to hold one standard SID or multiple compressed SIDs
- the compressed SID includes: a node identifier and a value of a function of the node.
- the embodiments of the present disclosure also provide a node, including:
- the obtaining module is configured to obtain first information and second information of the first SID, the first information is used to indicate the position of the container in which the first SID is located in the SID list of the data packet, and the second information is used To indicate the position of the first SID in the container;
- a processing module configured to obtain the position of the first SID in the SID list according to the first information and the second information
- the sending module is configured to copy the first SID to the destination address of the data packet, and send the data packet.
- embodiments of the present disclosure also provide a node, including: a transceiver, a processor, and a memory for storing a computer program that can run on the processor;
- the transceiver is used to send and receive data under the control of the processor
- the processor When the processor is used to read the computer program in the memory, it executes the steps of the data packet processing method of the embodiment of the first aspect of the present disclosure.
- the embodiments of the present disclosure also provide a computer-readable storage medium having a computer program stored on the computer-readable storage medium.
- the implementation includes: The steps of the data packet processing method.
- the SID list includes at least the compressed SID.
- the compressed SID and the common prefix in the current destination address are spliced to form a new SID, and the table look-up and forwarding is continued to realize the data
- the compression of the packet effectively reduces the header overhead of the data packet.
- the standard SID and compressed SID can be mixed and arranged in the SID list to support the mixed programming of compressed nodes and ordinary nodes to achieve inventory evolution and smooth upgrades.
- Figure 1 is a schematic diagram of comparison and analysis of SR carrying efficiency with different SID numbers when the payload length is 256 bytes (B);
- Figure 2 is a schematic diagram of the encapsulation format of a standard SRv6 extension header
- FIG. 3 is a schematic flowchart of a data packet processing method in an embodiment of the disclosure.
- FIG. 4 is a schematic diagram of the SID format that supports the network programmable standard SRv6;
- Figure 5 is a schematic diagram of a typical SRv6 Locator that supports network programming
- FIG. 6 is a schematic diagram of an SRv6 SID format that supports compression in an embodiment of the disclosure
- Fig. 7 is a schematic diagram of the 32-bits compressed SID Container format in an embodiment of the disclosure.
- FIG. 8 is a schematic diagram of the format of mixed programming of 128-bit SRv6 SID and 32-bit X-SID in X-SRH in an embodiment of the disclosure
- FIG. 9 is a schematic diagram of encoding 128-bit SRv6 SID and 32-bit X-SID mixed in X-SRH in an embodiment of the disclosure.
- FIG. 10 is a schematic diagram of XI in an embodiment of the disclosure.
- FIG. 11 is a schematic diagram of updating X-SID in an embodiment of the disclosure.
- FIG. 12 is a schematic diagram of data packet forwarding in a mixed editing scenario in an embodiment of the disclosure.
- FIG. 13 is a schematic diagram of data packet forwarding in a pure compression scenario in an embodiment of the disclosure.
- FIG. 14 is one of the schematic diagrams of a node according to an embodiment of the disclosure.
- FIG. 15 is the second schematic diagram of a node according to an embodiment of the disclosure.
- SR is a source routing technology, based on the software-defined network (Software Defined Network, SDN) concept, constitutes a path-oriented network architecture, supports the multi-level programmable requirements of future networks, and can meet the application scenarios of 5G ultra-large connections and slicing Connection requirements.
- SDN Software Defined Network
- SR-MPLS is an SR solution based on the current mainstream MPLS forwarding plane.
- SRv6 is an SR solution based on IPv6 extension.
- IPv6 technology has become the main technology of the new generation network.
- the long-term consideration of SRv6 based on IPv6 is the evolution trend of future networks.
- Research on the mechanism of SRv6 technology is a hot spot in the industry.
- the 128-bit SID of the standard SRv6 adopts the SID in the IPv6 address format. Compared with the SID in the MPLS label (Label) format, it has routable attributes, which simplifies the creation of inter-domain paths and realizes the ability to simplify the establishment of end-to-end paths in IPv6 networks. .
- SRv6 SID supports programmability, which can meet flexible network and service function processing, combined with the collaborative support of centralized and distributed control planes, can flexibly meet the needs of various services and network functions, and adapt to the needs of network and service development. .
- SR encapsulates a series of instructions through the head node to guide the data packet through the network.
- an instruction is a 128-bit IPv6 address.
- Figure 2 is the encapsulation format of the standard SRv6 extension header.
- IPv6 header it includes: version (Version) field, traffic type (Traffic Class) field, flow label (Flow Label) field, payload length (Payload Length) field, next header (Next Header) field, hop Hop Limit (Hop Limit) field, Source Address (Source Address) field, and Destination Address (Destination Address) field.
- the SRH extension header For the SRH extension header, it includes: Next Header field, Hdr Ext len field (indicating the length of the SRH header), Routing Type field, and Segment left field (indicating that it should be before reaching the destination node). The number of intermediate nodes visited), the Last Entry field (indicating the index of the last element in the segment list that contains the segment list), the Flags field (indicating some identifiers of the data packet), the tag (Tag ) Field (used to identify the same group of packets), segment list field (including 128-bit IPv6 address), optional TLV object field (variable) and payload field .
- the encapsulation length of the SRv6 extension header is: 40Byte (IPv6 header) + 8Byte (SRH fixed header) + 16 ⁇ N Byte (Segment List). Therefore, as the number of SIDs specified by SRv6 increases, the additional overhead brought by SRv6 extension header encapsulation will be greater. In order to solve this problem, it is necessary to implement the function of shortening the SRv6 extension header.
- SRv6 has many of the above-mentioned advantages, the disadvantages are also obvious.
- the actual deployment of SRv6 technology in the network currently faces two challenges: one is the high data packet overhead of SRv6 and the low utilization of network link bandwidth. In the case of 256byte packet length and 8-layer SID, the bandwidth utilization is only about 60%; It is SRv6 data packet processing that has high requirements on the chip, and it is difficult for the existing network equipment to support the deep copy and operation of the SRH header, and the 128-bit SRH header processing will reduce the processing efficiency of the existing chip.
- the inventor found that it is possible to compress and optimize the standard SRv6 SRH, and use a more concise and shorter X-SID, such as a typical 32-bit SID identifier, to optimize the SRv6 SID, and use the standard 128-bit SID
- the 32-bit X-SID represents and replaces its encapsulation in the SRH header, thereby optimizing the SRH encapsulation overhead of the standard SRv6, greatly optimizing the performance of SRv6 while supporting the SRv6 function, and supporting the deployment of SRv6 technology on a large scale.
- words such as “exemplary” or “for example” are used as examples, illustrations, or illustrations. Any embodiment or design solution described as “exemplary” or “for example” in the embodiments of the present disclosure should not be construed as being more preferable or advantageous than other embodiments or design solutions. To be precise, words such as “exemplary” or “for example” are used to present related concepts in a specific manner.
- LTE Long Term Evolution
- LTE-A Long Term Evolution-Advanced
- CDMA Code Division Multiple Access
- TDMA Time Division Multiple Access
- FDMA Frequency Division Multiple Access
- OFDMA Orthogonal Frequency Division Multiple Access
- SC-FDMA Single-carrier Frequency-Division Multiple Access
- the terms “system” and “network” are often used interchangeably.
- the CDMA system can implement radio technologies such as CDMA2000 and Universal Terrestrial Radio Access (UTRA).
- UTRA includes Wideband Code Division Multiple Access (WCDMA) and other CDMA variants.
- the TDMA system can implement radio technologies such as the Global System for Mobile Communication (GSM).
- OFDMA system can realize such as Ultra Mobile Broadband (UMB), Evolved UTRA ((Evolution-UTRA, E-UTRA)), IEEE 802.11 ((Wi-Fi)), IEEE 802.16 ((WiMAX)), IEEE 802.20, Flash-OFDM and other radio technologies.
- UMB Ultra Mobile Broadband
- Evolved UTRA (Evolution-UTRA, E-UTRA)
- IEEE 802.11 (Wi-Fi)
- IEEE 802.16 (WiMAX)
- IEEE 802.20 Flash-OFDM and other radio technologies.
- UMB Ultra Mobile Broadband
- Evolved UTRA (Evolution-U
- LTE and more advanced LTE are new UMTS versions that use E-UTRA.
- UTRA, E-UTRA, UMTS, LTE, LTE-A, and GSM are described in documents from an organization named "3rd Generation Partnership Project” (3GPP).
- CDMA2000 and UMB are described in documents from an organization named “3rd Generation Partnership Project 2" (3GPP2).
- the techniques described in this article can be used for the systems and radio technologies mentioned above, as well as other systems and radio technologies.
- an embodiment of the present disclosure provides a data packet processing method.
- the execution subject of the method may be a node, such as an SRv6 node, and the method includes:
- Step 301 Acquire first information and second information of a first SID, where the first information is used to indicate the position of the container in which the first SID is located in the SID list of the data packet, and the second information is used to indicate The position of the first SID in the container.
- the first information may also be segment left (SL) information, which identifies the number of remaining segments;
- the second information may be index (Index) information, and index (Index) information may also be referred to as The SID Index information is not limited in the embodiment of the present disclosure.
- the container may include one or more first SIDs.
- the container may include: a standard SID (128-bit SID), or multiple compressed SIDs, that is, the above-mentioned first SID
- a SID may be a standard SID or a compressed SID.
- the compressed SID may be a 32-bit compressed SID or a 16-bit compressed SID, which is not limited in this embodiment.
- a 128-bit container can include: three 32-bit compressed SIDs and one padding for filling 128 bits, or include: two 32-bit compressed SIDs and two The 128-bit padding is filled, or it includes: one 32-bit compressed SID and three paddings used to fill the 128-bit, or it includes four 32-bit compressed SIDs. It is understandable that the above-mentioned first SID does not include padding for complementing 128 bits.
- a 128-bit container including three 32-bit compressed SIDs and a 128-bit padding as an example. From left to right, they can be: padding, 32-bit compressed SID, 32-bit compressed SID, 32-bit compressed SID, and For the 32-bit compressed SID, the respective second information can be 0, 1, 2, and 3.
- a 128-bit container including a 128-bit standard SID as an example, there is only one standard SID in the container, and the second information of the standard SID may be empty or a preset value.
- Step 302 Obtain the position of the first SID in the SID list according to the first information and the second information.
- a corresponding compressed SID can be obtained by locating in the SID list according to the SL and Index of the compressed SID. If the first SID is a 128-bit SID, the second information can be If it is empty, a corresponding 128-bit SID can be obtained by locating in the SID list according to the SL of the first SID.
- Step 303 Copy (or update) the first SID to the destination address of the data packet, and send the data packet.
- Method 1 Copy the first SID to the destination address of the data packet.
- the first SID and the common prefix or address block in the destination address are combined to obtain a new destination address.
- the data packet is forwarded to the next node;
- the first SID can be a compressed SID, based on the SL and Index of the compressed SID, a corresponding compressed SID can be located in the SID list, and the compressed SID can be copied to the destination address of the data packet, and the common prefix or address
- the block composition obtains a new destination address, and forwards the data packet to the next node according to the new destination address.
- Manner 2 Copy the first SID and the second information to the destination address of the data packet, and the first SID and the second information are combined with the common prefix or address block in the destination address to obtain a new destination address , And forward the data packet to the next node according to the new destination address;
- the first SID can be a compressed SID. Based on the SL and Index of the compressed SID, a corresponding compressed SID can be located in the SID list, and the compressed SID and Index can be copied to the destination address of the data packet with the common prefix. Or the address block is composed to obtain a new destination address, and the data packet is forwarded to the next node according to the new destination address.
- Manner 3 Copy the first SID and the second information to the destination address of the data packet, and forward the data packet to the next node.
- the first SID is a 128bitSID, based on the SL and Index of the 128bitSID, you can locate the corresponding 128bitSID in the SID list, copy the 128bitSID to the destination address of the data packet, and forward the data packet to the next one node.
- step 301 may include:
- Step 3011 Obtain third information and fourth information of the second SID, where the third information is used to indicate the position of the container in which the second SID is located in the SID list of the data packet, and the fourth information is used To indicate the position of the second SID in the container.
- the third information may also be segment remaining (SL) information, which identifies the number of remaining segments; the fourth information may also be index (Index) information, which is not limited in the embodiments of the present disclosure .
- Step 3012 Obtain the first information and the second information of the first SID according to the third information and the fourth information of the second SID.
- the second SID in the SID list is the previous SID of the first SID, or the second SID in the SID list is sorted before the first SID, and the second SID and The first SID may include one or more padding (for example, represented by "0").
- the sequence of the SID list is: second SID, padding, and first SID.
- the second SID is the previous SID of the first SID
- the first SID is the next SID of the second SID, that is, the node that matches the first SID matches the second SID
- the next node of the node for example, the node matching the first SID is N3, and the node matching the second SID is N2.
- step 3011 before step 3011, it can be judged whether the next SID of the second SID is padding, if not, step 3011 is executed, if yes, the first SID is a 128-bit SID by default.
- the first information of the first SID may be calculated based on the third information of the second SID, and the second information of the first SID is set to be empty.
- whether the next SID of the second SID is padding can be identified based on the attribute information of the second SID. That is to say, if the END.X SID (second SID) issued locally by the node is hit in the local SID (Local SID) table, and the COC Flavor is not configured (the COC Flavor is used to indicate the SID type of the next SID), then the first Whether the next SID of the second SID is padding.
- step 3011 may include:
- Step 30111 Obtain the third information of the second SID from the SRH of the data packet
- Step 30112 Obtain the index of the second SID from the destination address of the data packet, where the index of the second SID includes: fourth information. That is, the index of the second SID may include one indicator bit or multiple indicator bits. In the embodiment of the present disclosure, the format of the index of the second SID is not specifically limited.
- step 3012 may include:
- Step 30121 Determine whether the first SID and the second SID are in the same container according to the fourth information of the second SID or according to the attribute information of the second SID.
- the fourth information of the second SID is greater than zero, it means that the first SID and the second SID are in the same container; if the fourth information of the second SID is equal to zero, it means that the first SID and the second SID are in the same container. The second SID is not in the same container.
- the attribute information of the second SID does not indicate the SID type of the next SID, it means that the first SID and the second SID are not in the same container. That is to say, if the END.X SID (second SID) issued locally by the node is hit in the Local SID table, and the COC Flavor is not configured (the COC Flavor is used to indicate the SID type of the next SID), the next SID is indicated by default
- the (first SID) is a 128-bit SID, that is, a padding may be included between the second SID and the first SID.
- Step 30122 If the first SID and the second SID are in the same container, the first information of the first SID is the same as the third information of the second SID (that is, the SL is the same), and according to The fourth information of the second SID obtains the second information of the first SID, for example, the fourth information (Index) of the second SID is subtracted by one to obtain the second information (Index) of the first SID; or,
- the first information of the first SID is obtained according to the third information of the second SID, such as the third information of the second SID minus One (SL-1), obtain the first information (SL) of the first SID, and determine the second information of the first SID according to the SID type of the first SID.
- the third information of the second SID such as the third information of the second SID minus One (SL-1)
- the second information of the first SID is "3".
- the SID type of the first SID may be indicated by the attribute information (COC Flavor) of the second SID. It is understandable that the attribute information of the second SID may be in Look up the table in the local SID table of the current node, as shown in the table.
- the method further includes: updating the first information of the first SID to the SRH of the data packet; and using the second information of the first SID as the The index of the first SID is updated to the destination address of the data packet.
- step 301 may include:
- Step 3013 Acquire third information, fourth information, and fifth information of the second SID, where the third information is used to indicate the position of the container in which the second SID is located in the SID list of the data packet.
- the fourth information is used to indicate the position of the second SID in the container
- the fifth information is used to indicate the SID type of the second SID and/or indicate whether the second SID is compressed.
- the SID type may include 8bit, 16bit, 32bit, 64bit, or 128bit.
- the fifth information may include one indicator bit or multiple indicator bits.
- Step 3014 Obtain the first information and the second information of the first SID according to the third information, the fourth information, and the fifth information of the second SID.
- the second SID in the SID list is the previous SID of the first SID, or the second SID in the SID list is sorted before the first SID, and the second SID and the first SID may be Including one or more paddings (for example, represented by "0").
- step 3013 may include:
- Step 30131 Obtain the third information of the second SID from the SRH of the data packet
- Step 30132 Obtain the index of the second SID from the destination address of the data packet, where the index of the second SID includes: fourth information and fifth information.
- the index of the second SID may include one indicator bit or multiple indicator bits.
- step 3014 may include:
- Step 30141 Determine whether the first SID and the second SID are in the same container according to the SID type of the second SID and the SID type of the first SID.
- the SID type of the second SID is 32bit and the SID type of the first SID is 32bit, it is determined that the first SID and the second SID are in the same container; if the SID type of the second SID is 32bit, the SID type of the first SID is 128bit, it is determined that the first SID and the second SID are in a different container.
- Step 30142 If the first SID and the second SID are in the same container, the first information of the first SID is the same as the third information of the second SID (that is, the SL is the same), and according to The fourth information of the second SID obtains the second information of the first SID, for example, the fourth information of the second SID is subtracted by one (Index-1) to obtain the second information of the first SID; or,
- the first information of the first SID is obtained according to the third information of the second SID, such as the third information of the second SID minus 1. Obtain the first information of the first SID, and determine the second information of the first SID according to the SID type of the first SID.
- the second information of the first SID is "3", that is, the Index of the first SID is 3.
- the container is used to contain one standard SID or multiple compressed SIDs
- the compressed SID includes: a node identifier and a value of a function of the node.
- the SID list includes at least a compressed SID.
- the compressed SID and the common prefix in the current destination address are spliced to form a new SID, and the table is continuously looked up and forwarded, thereby achieving compression of the data packet and effectively reducing the header overhead of the data packet.
- standard SIDs and compressed SIDs can be mixedly arranged in the SID list, thereby supporting mixed programming of compressed nodes and ordinary nodes in the SRv6 path, so as to realize inventory evolution and smooth upgrade.
- SIDs of multiple domains due to the limited address planning, it is impossible to guarantee that the SIDs of multiple domains have a common prefix.
- mixing it is convenient to establish an SRv6 path across multiple domains.
- IPv6 takes an IPv6 scenario as an example for introduction.
- IPv5 IPv7, IPv9, IPv10, etc.
- IPv6 IPv6
- the method of other versions of IP technology is similar to this, so I won't repeat it here.
- an address block needs to be divided through address planning for SID allocation.
- the address block can be called a SID space (Space). Therefore, in an SRv6 domain, the SID allocated from the SID Space can have a common prefix (Common Prefix). Normally, SIDs in SRH all have the same prefix, and this part of the content is redundant. Removing this part of redundant information can effectively reduce the SRv6 header overhead.
- the Common Prefix of the SID in the SID List (SID List) is removed, and only the changed compressed SID (or short SID or X-SID) is carried.
- SID List the Common Prefix of the SID in the SID List
- a new SID is formed by stitching the compressed SID and the common prefix in the current IPv6 destination address, and the table is continuously looked up and forwarded, thereby achieving SRv6 compression.
- the traditional SRv6 SID and compressed SID are mixedly arranged in SRv6 (for example, the SRv6 is called X-SRv6), thereby supporting mixed programming of compressed nodes and ordinary SRv6 nodes in the SRv6 path.
- SRv6 is called X-SRv6
- SRv6 Segment Identifier The ID used to identify the SRv6 segment.
- the standard SRv6 SID is a 128-bit IPv6 address. If you consider supporting SRv6 network programming, it usually consists of three parts, as shown in Figure 4.
- Location is an identifier assigned to a network node in the network topology, used to route and forward data packets to the node, and Locator identifies location information.
- the route corresponding to the Locator will be published by the node to the network through the Interior Gateway Protocol (IGP) to help other devices forward data packets to the node that publishes the Locator.
- IGP Interior Gateway Protocol
- the length of the locator is variable, which is used to adapt to networks of different sizes.
- Function is used to express the forwarding action to be executed by the instruction, which is equivalent to the operation code of the computer instruction.
- different forwarding behaviors are expressed by different functions, such as forwarding data packets to a specified link, or checking the table in a specified table for forwarding.
- Arguments (hereinafter referred to as Args) is an optional field. It is the parameter corresponding to the instruction when it is executed. These parameters may contain flow, service or any other related information.
- the Locator can be subdivided into B:N, where "B” identifies the SRv6 SID block (Block), which is generally assigned to a certain subnet by the operator, and is usually represented by a prefix (Prefix); "N "Indicates the identification of the distinguishing node in the subnet. Therefore, all SIDs in an SRv6 network have a common prefix B, so the B part of the SID in an SID List is redundant.
- the SID format is regular, and the standard SRv6 SID format optimization can be realized by making full use of the regularity of the SID format.
- the embodiments of the present disclosure define a typical 32-bit SRv6 compressed SID format, and the compressed SID may be composed of Node ID and Function ID in the standard 128-bit SID.
- the standard 128-bit SID format can be called a complete SID, and its definition follows the standard SRv6 SID; the 32-bit SID is a compressed SID (or X-SID), which is a variation of the complete SID.
- the format is shown in Figure 6.
- 16bits compressed SID can also be defined.
- the conversion relationship between the complete SID and the compressed SID can be based on the SRv6 Locator rule, and the following methods can be used:
- the Common Prefix is 96 bits and the compressed SID is 32 bits; for example, the Common Prefix is 64 bits, followed by the compressed SID is 32 bits, and the remaining low 32 bits are 0.
- the compressible SID it is necessary to extend the corresponding control plane protocol, publish the compressible SID, and publish the compressible capabilities of the SID and the structure information of the SID.
- the compressed SID and the standard SID are arranged in the SRH SID List, in order to accurately locate the compressed SID, the compressed SID needs to be arranged in a 128-bit alignment, that is, a row of 128 bits needs to put 4 32-bit compressed SIDs, or multiple other lengths Shorten the compressed SID. If the row is not full, you need to fill in the padding (Padding), align 128bit.
- a SID Container can include:
- X-SID Multiple compressed SIDs
- 4 compressed SIDs of 32 bits or 8 compressed SIDs of 16 bits for example, 4 compressed SIDs of 32 bits or 8 compressed SIDs of 16 bits.
- SRv6 SRH can be called compressed SRH. It is an implementation of a new type of SRv6, which can be called compressed SRv6. The following content introduces the details of the data plane compression SRv6 solution.
- the compressed SRH is consistent with the SRH [RFC8754] format, and its format and field semantics are not changed, but it supports mixed programming of 128-bit SID and 32-bit compressed SID in compressed SRH.
- the format is shown in Figure 8, including: Next Header field, Hdr Ext len field, Routing Type field, Segment left field, Last Entry field, and flag (Flags) field, tag (Tag) field, X-SID container (X-SID Container) field (including 128bit value) and optional TLV (Optional TLV) object field (variable).
- a segment of compressed SRv6 path may be composed of SRv6 subpath and SRv6 compressed subpath.
- SRv6 sub-paths are coded by SRv6 SID.
- the SRv6 compression subpath starts with a 128-bit SRv6 SID that supports compression, and is composed of multiple compressed SIDs that follow. At the end of the compressed SID List, it needs to end with 128bit as the boundary, and the next one can be a standard 128bit SRv6 SID or the next SRv6 compressed subpath with a different prefix.
- Flavors In order to identify the start and end of the SRv6 compression path in the SID list, that is, the boundary between the 128-bit SID and the 32-bit SID, several additional types of attributes (flavors) need to be added, and the corresponding Flavor SID is issued.
- COC32 attribute (COC32 Flavor) related behavior (Behavior) is shown in Table 2, and COC16 related is not yet defined.
- Flavor of SID indicates that the next one is 128bits SRv6 SID COC32 Identifies that the next one is a 32-bit compressed SID COC16 Identifies that the next one is a 16-bit compressed SID
- the SID in the destination address (Destination Address, DA) carries the COC32 Flavor
- the SID in the DA does not carry the COC Flavor SID, it means "SL--" (SL minus one), and the next 128-bit SID is updated to the destination address (when SL>0).
- SL can be positioned to the 128-bit Container.
- the coding rules for compressed SRv6 in the SID List include:
- COC32 Flavor SID which includes the COC32 Flavor SID.
- This SID carries complete SID information, including Common Prefix and other information, which can be used to restore the complete next SID with subsequent compressed SIDs;
- the compressed SIDs in the middle of the compression path are all compressed SIDs carrying COC32, indicating that the next one is a 32-bit compressed SID;
- the last compressed SID of the compression path needs to be a 32-bit compressed SID without COC Flavor, which is used to indicate the end of the compression path.
- the SRv6 SID combined in DA is processed according to the processing rule of 128bits SID.
- the reason why the last SID is a non-COC Flavor SID is that after it is updated to the destination address, the SID in DA has no COC Flavor, so it will be processed by the node according to the 128-bit SID, which is the same as the current SRv6 processing. Unanimous. Therefore, it can be used to mark the end of the compression path and switch from the compressed SID of 32 bits to the SID of 128 bits.
- the last SID is no COC Flavor, so the processing of the last hop is consistent with the current SRv6 and is more compatible.
- an index (X-SID Index, hereinafter referred to as XI) of the compressed SID can be added to locate its position in the SID Container. Further, the index may also indicate whether the SID is compressed or indicate the SID type of the SID.
- the next compressed SID is located by SL+XI, SL is located at the location of the 128-bit container, and XI is located at the location of the specific X-SID in the 128-bit container;
- the index can be placed after the compressed SID in the destination address.
- the index is placed at the lowest 2bit position of 128 bits, as shown in FIG. 10.
- the value of XI is the location attribute of the compressed SID, indicating its location in the X-SID Container.
- COC32 Flavor SID is used to instruct to update the next 32-bit compressed SID to the destination address, and the compressed SID position can be located by SL and XI.
- the pseudo code for processing the data packet received by the node (Endpoint) is as follows:
- the processing flow is triggered by the COC Flavor SID, and the operation data is also limited to the COC Flavor SID, which does not affect the existing SRv6 main flow, and has no effect on the processing of the existing SID and SRH.
- the format is compatible with SRH, and the processing is compatible with existing SRv6.
- XI is after the compressed SID of DA. Taking pure compression path + 128bit VPN SID as an example, an example of encoding and X-SID update is shown in Figure 11.
- the node identifies that the node supports compression capabilities by setting the extended C-flag of the SRv6 Capabilities TLV of protocols such as IGP.
- Node instantiation can support compressed SRv6 SID, and will be published to the network or sent to the controller through protocols such as IGP/BGP/BGP-LS. After the node instantiates the SID, it will generate the corresponding SID forwarding entry.
- node k can issue two sets of SIDs. Both sets of SIDs carry C-Flag and both support compression.
- One set carries COC32 Flavor and the other does not carry Flavor.
- A:k:1:: is the END.X SID that carries COC32 bound to an interface
- A:k:2:: is the END.X SID that does not carry COC32 Flavor that is bound to the same interface.
- A:1:1:: is the COC32 Flavor End.X SID
- A:4:2:: is the SID without COC Flavor.
- SID When issuing SID, SID needs to be set A:1:1::, A:2:1::, A:3:1::, A:4:1::, A:4:2::, A :6:1::, A:7:1::, A:8:1::, A:9:1::, A:9:2:: and A:10:10::(The format supports compression VPN SID, which is convenient for pure compression case demonstration).
- the C-flag in the corresponding TLV (such as SRv6 End SID sub-TLV, SRv6 End.X SID sub-TLV, SRv6 LAN End.X SID sub-TLV) to identify this SID
- TLV such as SRv6 End SID sub-TLV, SRv6 End.X SID sub-TLV, SRv6 LAN End.X SID sub-TLV
- the issued SID contains a compressible SID carrying COC32 Flavor, which is used to identify the X-SID with the SID 32 behind the SID.
- a compressible SID carrying COC32 Flavor which is used to identify the X-SID with the SID 32 behind the SID.
- A:k:1:: SID Structure Sub-sub-TLV must also be carried when publishing. Assuming that the length of Common Prefix(A) is 64, the length of X-SID is 32 (Node ID length is 16, Function ID length is 16), and Argument length is 32, then the SID of the published SID Structure Sub-sub-TLV The length of Locator Block is 64, the length of Node ID is 16, the length of Function is 16, and the length of Argument is 32.
- the prefix A1:: is a prefix that does not support compressed SID, so A1::5:1 is an incompressible SID. It will also carry SID Structure Sub-sub-TLV when it is released, where the length of Locator Block is 64, the length of Node ID is 16, and the length of Function is 48.
- the device sends the node's ability to support compression, the compressed SID and the newly added SID carrying COC32 Flavor to the controller through BGP-LS for the controller to calculate the path.
- the SID List contains a total of 10SIDs:
- the destination address "A:1:1::” hits the COC Flavor END.X SID issued by the node in the Local SID table.
- the destination address is A:2:1::3.
- Node 5 is a normal SRv6 node, so normal SRv6 forwarding is performed, and "A:6:1::” is copied to the DA and forwarded to the next node.
- the destination address "A:6:1::” hits the COC Flavor END.X SID issued locally by the node in the Local SID table.
- the destination address is "A:7:1::3".
- node 7 and node 8 receive the data packet, they process the COC Flavor SID, update the destination address, and forward the data packet.
- the node 10 processes according to the normal VPN SID.
- the SID List contains a total of 10SIDs:
- the Flavor of SID is COC, which indicates that the next SID encapsulation format is 32bits X-SID.
- the node will update the corresponding X-SID to DA based on the values of SL and DA.XI, and look up the table and forward.
- the DA is "A:10:10::”, which is a SID without a COC Flavor (the VPN SID itself does not have such a Flavor), and the VPN SID processing is executed.
- an embodiment of the present disclosure further provides a node, and the node 1400 includes:
- the obtaining module 1401 is configured to obtain first information and second information of a first SID, where the first information is used to indicate the position of the container in which the first SID is located in the SID list of the data packet, and the second information Used to indicate the position of the first SID in the container;
- the processing module 1402 is configured to obtain the position of the first SID in the SID list according to the first information and the second information;
- the sending module 1403 is configured to copy the first SID to the destination address of the data packet, and send the data packet.
- the obtaining module 1401 is configured to obtain third information and fourth information of the second SID, where the third information is used to indicate that the container in which the second SID is located is in the SID list of the data packet
- the fourth information is used to indicate the position of the second SID in the container; the first information and the first information of the first SID are obtained according to the third information and the fourth information of the second SID Second information; wherein, in the SID list, the second SID is the previous SID of the first SID.
- the obtaining module 1401 is configured to: obtain the third information of the second SID from the SRH of the data packet; obtain the index of the second SID from the destination address of the data packet, so The index of the second SID includes: fourth information.
- the acquiring module 1401 is configured to determine whether the first SID and the second SID are in the same container according to the fourth information of the second SID or according to the attribute information of the second SID. Medium; if the first SID and the second SID are in the same container, the first information of the first SID is the same as the third information of the second SID, and according to the second SID Fourth information, obtain the second information of the first SID; or, if the first SID and the second SID are not in the same container, obtain the second information of the second SID according to the third information of the second SID The first information of the first SID, and the second information of the first SID is determined according to the SID type of the first SID.
- the SID type of the first SID is indicated by the attribute information of the second SID.
- the node 1400 further includes: an update module configured to update the first information of the first SID to the SRH of the data packet; and use the second information of the first SID as the The index of the first SID is updated to the destination address of the data packet.
- the obtaining module 1401 is configured to obtain third, fourth, and fifth information of the second SID, where the third information is used to indicate that the container in which the second SID is located is in the data packet.
- the position in the SID list of the SID, the fourth information is used to indicate the position of the second SID in the container, and the fifth information is used to indicate the SID type of the second SID and/or indicate the Whether the second SID is compressed; according to the third information, fourth information, and fifth information of the second SID, the first information and the second information of the first SID are obtained; wherein, in the SID list, The second SID is the previous SID of the first SID.
- the obtaining module 1401 is configured to: obtain the third information of the second SID from the SRH of the data packet; obtain the index of the second SID from the destination address of the data packet, so The index of the second SID includes: fourth information and fifth information.
- the acquiring module 1401 is configured to determine whether the first SID and the second SID are in the same container according to the SID type of the second SID and the SID type of the first SID; If the first SID and the second SID are in the same container, the first information of the first SID is the same as the third information of the second SID, and according to the fourth information of the second SID Information to obtain the second information of the first SID; or, if the first SID and the second SID are not in the same container, obtain the first SID according to the third information of the second SID The first information of the SID, and the second information of the first SID is determined according to the SID type of the first SID.
- the container is used to hold a plurality of compressed SIDs
- the compressed SIDs include: a node identifier and a value of the function of the node.
- the sending module 1403 is configured to copy the first SID to the destination address of the data packet, and the first SID and the common prefix or address block in the destination address form a new destination. Address, and forward the data packet to the next node according to the new destination address; or, copy the first SID and second information to the destination address of the data packet, the first SID and the second Information and the public prefix or address block in the destination address to obtain a new destination address, and forward the data packet to the next node according to the new destination address; or, the first SID and the first SID Second, the information is copied to the destination address of the data packet, and the data packet is forwarded to the next node.
- the node provided in the above embodiment performs data packet processing
- only the division of the above-mentioned program modules is used as an example.
- the above-mentioned processing can be allocated by different program modules as needed, namely The internal structure of the node is divided into different program modules to complete all or part of the processing described above.
- the node provided in the above-mentioned embodiment and the method embodiment of data packet processing belong to the same concept. For the specific implementation process, please refer to the method embodiment, which will not be repeated here.
- the node 1500 includes: a transceiver 1501, a processor 1502, and a memory 1503 for storing computer programs that can run on the processor 1502;
- the transceiver 1501 sends and receives data under the control of the processor 1502;
- the processor 1502 reads the computer program in the memory 1503, it executes the steps of the data packet processing method described in the foregoing embodiment of the present disclosure.
- the memory 1503 may be a volatile memory or a non-volatile memory, and may also include both volatile and non-volatile memory.
- non-volatile memory can be Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (Erasable Programmable Read-Only Memory) , EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Magnetic Random Access Memory (FRAM), Flash Memory, Magnetic Surface Memory , CD-ROM, or CD-ROM (Compact Disc Read-Only Memory, CD-ROM); magnetic surface memory can be disk storage or tape storage.
- the volatile memory may be random access memory (Random Access Memory, RAM), which is used as an external cache.
- RAM static random access memory
- SRAM static random access memory
- SSRAM synchronous static random access memory
- dynamic random access memory dynamic random access memory.
- Memory Dynamic Random Access Memory, DRAM
- SDRAM Synchronous Dynamic Random Access Memory
- DDRSDRAM Double Data Rate Synchronous Dynamic Random Access Memory
- ESDRAM Enhanced Synchronous Dynamic Random Access Memory
- SLDRAM synchronous connection dynamic random access memory
- DRAM direct memory bus random access memory
- DRRAM Direct Rambus Random Access Memory
- the method disclosed in the foregoing embodiment of the present invention may be applied to the processor 1502 or implemented by the processor 1502.
- the processor 1502 may be an integrated circuit chip with signal processing capabilities. In the implementation process, the steps of the foregoing method can be completed by an integrated logic circuit of hardware in the processor 1502 or instructions in the form of software.
- the aforementioned processor 1502 may be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, and the like.
- the processor 1502 may implement or execute various methods, steps, and logical block diagrams disclosed in the embodiments of the present invention.
- the general-purpose processor may be a microprocessor or any conventional processor or the like.
- the steps of the method disclosed in the embodiments of the present invention can be directly embodied as execution and completion by a hardware decoding processor, or execution and completion by a combination of hardware and software modules in the decoding processor.
- the software module may be located in a storage medium, and the storage medium is located in the memory 1503.
- the processor 1502 reads the information in the memory 1503, and completes the steps of the foregoing method in combination with its hardware.
- the node may be configured by one or more application specific integrated circuits (Application Specific Integrated Circuit, ASIC), DSP, Programmable Logic Device (PLD), Complex Programmable Logic Device (Complex Programmable Logic Device). Device, CPLD), Field-Programmable Gate Array (FPGA), general-purpose processor, controller, microcontroller (Micro Controller Unit, MCU), microprocessor (Microprocessor), or other electronic components , Used to perform the aforementioned method.
- ASIC Application Specific Integrated Circuit
- DSP Programmable Logic Device
- PLD Programmable Logic Device
- Complex Programmable Logic Device Complex Programmable Logic Device
- FPGA Field-Programmable Gate Array
- controller controller
- microcontroller Micro Controller Unit
- MCU microprocessor
- Microprocessor Microprocessor
- the embodiment of the present invention also provides a computer-readable storage medium, such as a memory 1503 including a computer program, which can be executed by the processor 1502 of the node 1500 to complete the steps described in the foregoing method.
- the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disk, or CD-ROM; it may also be various devices including one or any combination of the foregoing memories.
- the embodiment of the present disclosure also provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the foregoing data packet processing method in the embodiment of the present disclosure are implemented .
- the steps of the method or algorithm described in conjunction with the disclosure of the present disclosure may be implemented in a hardware manner, or may be implemented in a manner of executing software instructions on a processor.
- the software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM, flash memory, ROM, EPROM, EEPROM, registers, hard disks, mobile hard disks, read-only optical disks, or any other form of storage medium known in the art.
- An exemplary storage medium is coupled to the processor, so that the processor can read information from the storage medium and write information to the storage medium.
- the storage medium may also be an integral part of the processor.
- the processor and storage medium can be carried in an ASIC.
- the ASIC can be carried in the core network interface device.
- the processor and the storage medium may also exist as discrete components in the core network interface device.
- Computer-readable media include computer storage media and communication media, where communication media includes any media that facilitates the transfer of a program from one place to another.
- the storage medium may be any available medium that can be accessed by a general-purpose or special-purpose computer.
- the embodiments of the present disclosure may be provided as methods, systems, or program products. Therefore, the embodiments of the present disclosure may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present disclosure may adopt the form of a program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device. Realize the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
- program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, thereby executing instructions on the computer or other programmable equipment Provides steps for realizing the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
| SID Flavor类型 | 功能描述 |
| None | 不增加Flavor;SID的默认Flavor指示第一SID是128bits SRv6 SID |
| COC32 | 标识下一个节点(第一SID)是32bit的压缩SID |
| COC16 | 标识下一个节点(第一SID)是16bit的压缩SID |
| SID Flavor类型 | 功能描述 |
| None | 不增加Flavor,SID的默认Flavor指示下一个是128bits SRv6 SID |
| COC32 | 标识下一个是32bit的压缩SID |
| COC16 | 标识下一个是16bit的压缩SID |
| SID | Block | Node | Function | Arg | Padding | 备注 |
| A:k:1:: | 64 | 16 | 16 | 32 | 0 | 可压缩,COC32 Flavor |
| A:k:2:: | 64 | 16 | 16 | 32 | 0 | 可压缩,None COC Flavor |
| A1:5::1 | 64 | 16 | 48 | 0 | 0 | 不可压缩,A1前缀 |
| A:10:10:: | 64 | 16 | 16 | 32 | 0 | 可压缩VPN SID |
Claims (14)
- 一种数据包处理的方法,包括:获取第一段标识SID的第一信息和第二信息,所述第一信息用于指示所述第一SID所在的容器在数据包的SID列表中的位置,所述第二信息用于指示所述第一SID在所述容器中的位置;根据所述第一信息和第二信息,得到所述第一SID在SID列表中的位置;将所述第一SID复制到数据包的目的地址中,发送所述数据包。
- 根据权利要求1所述的方法,其中,所述获取第一SID的第一信息和第二信息,包括:获取第二SID的第三信息和第四信息,所述第三信息用于指示所述第二SID所在的容器在所述数据包的SID列表中的位置,所述第四信息用于指示所述第二SID在所述容器中的位置;根据所述第二SID的第三信息和第四信息,得到所述第一SID的第一信息和第二信息。
- 根据权利要求2所述的方法,其中,所述获取第二SID的第三信息和第四信息,包括:从所述数据包的段路由头SRH中获取所述第二SID的第三信息;从所述数据包的目的地址中获取所述第二SID的索引,所述第二SID的索引包括:第四信息。
- 根据权利要求2所述的方法,其中,所述根据所述第二SID的第三信息和第四信息,得到所述第一SID的第一信息和第二信息,包括:根据所述第二SID的第四信息或根据所述第二SID的属性信息,确定所述第一SID与所述第二SID是否在同一个容器中;如果所述第一SID与所述第二SID在同一个容器中,则所述第一SID 的第一信息与所述第二SID的第三信息相同,以及根据所述第二SID的第四信息,得到所述第一SID的第二信息;或者,如果所述第一SID与所述第二SID不在同一个容器中,则根据所述第二SID的第三信息,得到所述第一SID的第一信息,以及根据所述第一SID的SID类型,确定所述第一SID的第二信息。
- 根据权利要求4所述的方法,其中,所述第一SID的SID类型是由所述第二SID的属性信息指示的。
- 根据权利要求1所述的方法,其中,所述方法还包括:将所述第一SID的第一信息更新到所述数据包的SRH中;将所述第一SID的第二信息作为所述第一SID的索引更新到所述数据包的目的地址中。
- 根据权利要求1所述的方法,其中,所述将所述第一SID复制到数据包的目的地址中,发送所述数据包,包括:将所述第一SID复制到数据包的目的地址中,所述第一SID与所述目的地址中的公共前缀或地址块组成得到一个新的目的地址,并根据所述新的目的地址将所述数据包转发给下一个节点;或者,将所述第一SID和第二信息复制到数据包的目的地址中,所述第一SID和第二信息与所述目的地址中的公共前缀或地址块组成得到一个新的目的地址,并根据所述新的目的地址将所述数据包转发给下一个节点;或者,将所述第一SID和第二信息复制到数据包的目的地址中,将所述数据包转发给下一个节点。
- 根据权利要求1所述的方法,其中,所述获取第一SID的第一信息和第二信息,包括:获取第二SID的第三信息、第四信息和第五信息,所述第三信息用于指示所述第二SID所在的容器在所述数据包的SID列表中的位置,所述第 四信息用于指示所述第二SID在所述容器中的位置,所述第五信息用于指示所述第二SID的SID类型和/或指示所述第二SID是否压缩;根据所述第二SID的第三信息、第四信息和第五信息,得到所述第一SID的第一信息和第二信息;其中,在所述SID列表中所述第二SID为所述第一SID的上一个SID。
- 根据权利要求8所述的方法,其中,所述获取第二SID的第三信息、第四信息和第五信息,包括:从所述数据包的SRH中获取所述第二SID的第三信息;从所述数据包的目的地址中获取所述第二SID的索引,所述第二SID的索引包括:第四信息和第五信息。
- 根据权利要求8所述的方法,其中,所述根据所述第二SID的第三信息、第四信息和第五信息,得到所述第一SID的第一信息和第二信息,包括:根据所述第二SID的SID类型和所述第一SID的SID类型,确定所述第一SID与所述第二SID是否在同一个容器中;如果所述第一SID与所述第二SID在同一个容器中,则所述第一SID的第一信息与所述第二SID的第三信息相同,以及根据所述第二SID的第四信息,得到所述第一SID的第二信息;或者,如果所述第一SID与所述第二SID不在同一个容器中,则根据所述第二SID的第三信息,得到所述第一SID的第一信息,以及根据所述第一SID的SID类型,确定所述第一SID的第二信息。
- 根据权利要求1所述的方法,其中,所述容器用于容纳一个标准SID或者多个压缩SID,所述压缩SID包括:节点标识和所述节点的功能function的取值。
- 一种节点,包括:获取模块,配置为获取第一SID的第一信息和第二信息,所述第一信息用于指示所述第一SID所在的容器在数据包的SID列表中的位置,所述第二信息用于指示所述第一SID在所述容器中的位置;处理模块,配置为根据所述第一信息和第二信息,得到所述第一SID在SID列表中的位置;发送模块,配置为将所述第一SID复制到数据包的目的地址中,发送所述数据包。
- 一种节点,包括:收发机、处理器和用于存储能够在处理器上运行的计算机程序的存储器;所述收发机用于在所述处理器的控制下发送和接收数据;所述处理器用于读取所述存储器中的计算机程序时,执行如权利要求1至11中任一项所述的数据包处理的方法的步骤。
- 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现包括如权利要求1至11中任一项所述的数据包处理的方法的步骤。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022564475A JP7653451B2 (ja) | 2020-04-24 | 2021-04-23 | データパッケージ処理方法及び機器 |
| US17/920,892 US20230188463A1 (en) | 2020-04-24 | 2021-04-23 | Data packet processing method and device |
| EP21792084.2A EP4138349B1 (en) | 2020-04-24 | 2021-04-23 | Data packet processing method and device |
| CA3176658A CA3176658C (en) | 2020-04-24 | 2021-04-23 | Data packet processing method and device |
| AU2021261819A AU2021261819B2 (en) | 2020-04-24 | 2021-04-23 | Data packet processing method and device |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010334603.0 | 2020-04-24 | ||
| CN202010334603.0A CN113556284B (zh) | 2020-04-24 | 2020-04-24 | 数据包处理的方法及设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2021213507A1 true WO2021213507A1 (zh) | 2021-10-28 |
Family
ID=78101369
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2021/089362 Ceased WO2021213507A1 (zh) | 2020-04-24 | 2021-04-23 | 数据包处理的方法及设备 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US20230188463A1 (zh) |
| EP (1) | EP4138349B1 (zh) |
| JP (1) | JP7653451B2 (zh) |
| CN (1) | CN113556284B (zh) |
| AU (1) | AU2021261819B2 (zh) |
| WO (1) | WO2021213507A1 (zh) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113824638B (zh) * | 2020-06-18 | 2025-03-11 | 华为技术有限公司 | 一种转发报文的方法、设备和系统 |
| US11757759B2 (en) * | 2020-08-31 | 2023-09-12 | Ciena Corporation | Hop limit/TTL propagation mode aware relayed MPLS/SRv6 traceroute |
| CN111930757B (zh) * | 2020-09-24 | 2021-01-12 | 南京中兴软件有限责任公司 | 数据处理方法、系统、封装节点和解封装节点 |
| CN114531386B (zh) * | 2020-11-23 | 2023-05-09 | 中国移动通信有限公司研究院 | 报文转发的方法、装置、设备及可读存储介质 |
| US12261769B2 (en) * | 2021-07-20 | 2025-03-25 | Nokia Solutions And Networks Oy | Source route compression |
| CN114285907B (zh) * | 2021-12-03 | 2023-05-26 | 中国联合网络通信集团有限公司 | 数据传输方法、装置、电子设备及存储介质 |
| CN116489065A (zh) * | 2022-01-13 | 2023-07-25 | 华为技术有限公司 | 一种生成段标识的方法、网络设备和系统 |
| CN116527642B (zh) * | 2022-01-20 | 2025-10-14 | 北京华为数字技术有限公司 | 一种报文处理方法及相关设备 |
| CN116846804A (zh) * | 2022-03-24 | 2023-10-03 | 中国移动通信有限公司研究院 | 一种信息发布及信息获取方法、装置、通信设备 |
| CN115314562A (zh) * | 2022-08-09 | 2022-11-08 | 中国电信股份有限公司 | 跨域传输SRv6数据报文的头压缩方法、装置、设备及介质 |
| CN116192968B (zh) * | 2023-01-10 | 2024-02-13 | 广东云下汇金科技有限公司 | 一种基于SRv6的IPv6报文数据处理方法和通信方法 |
| CN118827826B (zh) * | 2023-07-21 | 2025-10-03 | 中国移动通信有限公司研究院 | SRv6报文处理实例的确定方法、装置、电子设备及存储介质 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150326675A1 (en) * | 2014-05-12 | 2015-11-12 | Telefonaktiebolaget L M Ericsson (Publ) | Scalable segment identifier allocation in segment routing |
| CN109379359A (zh) * | 2018-10-19 | 2019-02-22 | 盛科网络(苏州)有限公司 | SRv6数据包的处理方法和装置 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2523405A4 (en) * | 2010-01-08 | 2016-09-07 | Nec Corp | COMMUNICATION SYSTEM, FORWARDING NOTIFICATION, PATH MANAGEMENT SERVER AND COMMUNICATION PROCESS |
| US10506083B2 (en) * | 2017-06-27 | 2019-12-10 | Cisco Technology, Inc. | Segment routing gateway storing segment routing encapsulating header used in encapsulating and forwarding of returned native packet |
| CN109218189B (zh) * | 2017-07-03 | 2022-04-29 | 中兴通讯股份有限公司 | 跨域的路径的标识信息的确定方法、装置及存储介质 |
| US10404600B2 (en) * | 2017-09-12 | 2019-09-03 | Google Llc | Mechanism and apparatus for path protection when using compressed segment routing label stacks |
| CN113839871B (zh) * | 2017-09-25 | 2024-10-22 | 华为技术有限公司 | 一种报文转发的方法及网络设备 |
| CN110557329A (zh) * | 2018-05-30 | 2019-12-10 | 中兴通讯股份有限公司 | 一种报文转发的方法、装置和节点 |
| CN110636001B (zh) * | 2018-06-25 | 2021-12-03 | 华为技术有限公司 | 发送网络性能参数、计算网络性能的方法和网络节点 |
| US10812374B2 (en) * | 2018-09-21 | 2020-10-20 | Cisco Technology, Inc. | Segment routing with fast reroute for container networking |
| US11134002B2 (en) * | 2018-10-22 | 2021-09-28 | Cisco Technology, Inc. | Packet network interworking including segment routing |
| CN112583745A (zh) * | 2019-09-27 | 2021-03-30 | 华为技术有限公司 | 一种在sr网络中转发报文的方法、设备和系统 |
| CN113438160B (zh) * | 2020-03-23 | 2024-05-31 | 中兴通讯股份有限公司 | 路由方法、路由装置及计算机可读存储介质 |
-
2020
- 2020-04-24 CN CN202010334603.0A patent/CN113556284B/zh active Active
-
2021
- 2021-04-23 US US17/920,892 patent/US20230188463A1/en active Pending
- 2021-04-23 EP EP21792084.2A patent/EP4138349B1/en active Active
- 2021-04-23 JP JP2022564475A patent/JP7653451B2/ja active Active
- 2021-04-23 AU AU2021261819A patent/AU2021261819B2/en active Active
- 2021-04-23 WO PCT/CN2021/089362 patent/WO2021213507A1/zh not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150326675A1 (en) * | 2014-05-12 | 2015-11-12 | Telefonaktiebolaget L M Ericsson (Publ) | Scalable segment identifier allocation in segment routing |
| CN109379359A (zh) * | 2018-10-19 | 2019-02-22 | 盛科网络(苏州)有限公司 | SRv6数据包的处理方法和装置 |
Non-Patent Citations (5)
| Title |
|---|
| C. WEIQIANG CHINA MOBILE G. MIRSKY ZTE CORP. P. SHAOFU L. AIHUA ZTE CORPORATION W. XIAOLAN NEW H3C TECHNOLOGIES CO. LTD C. WEI CEN: "Unified Identifier in IPv6 Segment Routing Networks; draft-mirsky-6man-unified-id-sr-06.txt", UNIFIED IDENTIFIER IN IPV6 SEGMENT ROUTING NETWORKS; DRAFT-MIRSKY-6MAN-UNIFIED-ID-SR-06.TXT; INTERNET-DRAFT: NETWORK, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205 GENEVA, SWITZERLAN, no. 06, 14 March 2020 (2020-03-14), Internet Society (ISOC) 4, rue des Falaises CH- 1205 Geneva, Switzerland , pages 1 - 24, XP015138711 * |
| CHENG WEIQIANG, YISONG LIU, WENYING JIANG, GENG ZHANG: "Research and application of G-SRv6 head compressions optimization technology", DIANXIN KEXUE - TELECOMMUNICATIONS SCIENCE, RENMIN YOUDIAN CHUBANSHE, BEIJING, CN, vol. 36, no. 8, 20 August 2020 (2020-08-20), CN , pages 22 - 27, XP055860622, ISSN: 1000-0801, DOI: 10.11959/j.issn.1000−0801.2020254 * |
| See also references of EP4138349A4 * |
| W. CHENG CHINA MOBILE Z. LI C. LI HUAWEI TECHNOLOGIES C. XIE C. LI CHINA TELECOM H. TIAN F. ZHAO CAICT: "Generalized SRv6 Network Programming; draft-cl-spring-generalized-srv6-np-00.txt", GENERALIZED SRV6 NETWORK PROGRAMMING; DRAFT-CL-SPRING-GENERALIZED-SRV6-NP-00.TXT; INTERNET-DRAFT: SPRING WORKING GROUP, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205 GENEVA, SWITZERL, no. 00, 11 February 2020 (2020-02-11), Internet Society (ISOC) 4, rue des Falaises CH- 1205 Geneva, Switzerland , pages 1 - 30, XP015137699 * |
| W. CHENG CHINA MOBILE Z. LI C. LI HUAWEI TECHNOLOGIES F. CLAD CISCO SYSTEMS, INC A. LIU ZTE CORPORATION C. XIE CHINA TELECOM Y. LI: "Generalized SRv6 Network Programming for SRv6 Compression; draft-cl-spring-generalized-srv6-for-cmpr-00.txt", GENERALIZED SRV6 NETWORK PROGRAMMING FOR SRV6 COMPRESSION; DRAFT-CL-SPRING-GENERALIZED-SRV6-FOR-CMPR-00.TXT; INTERNET-DRAFT: SPRING WORKING GROUP, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISE, no. 00, 19 May 2020 (2020-05-19), Internet Society (ISOC) 4, rue des Falaises CH- 1205 Geneva, Switzerland , pages 1 - 15, XP015139641 * |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4138349A4 (en) | 2024-04-10 |
| AU2021261819A1 (en) | 2022-12-22 |
| AU2021261819B2 (en) | 2024-04-18 |
| CA3176658A1 (en) | 2021-10-28 |
| JP7653451B2 (ja) | 2025-03-28 |
| CN113556284A (zh) | 2021-10-26 |
| CN113556284B (zh) | 2023-01-10 |
| JP2023522466A (ja) | 2023-05-30 |
| EP4138349A1 (en) | 2023-02-22 |
| US20230188463A1 (en) | 2023-06-15 |
| EP4138349B1 (en) | 2025-08-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2021213507A1 (zh) | 数据包处理的方法及设备 | |
| CN113259238B (zh) | 分段标识的处理方法及设备 | |
| US12166667B2 (en) | Packet processing method, apparatus, and system | |
| CN116319617B (zh) | 一种在sr网络中转发报文的方法、设备和系统 | |
| CN113206787B (zh) | 分段标识的处理方法及设备 | |
| US12537760B2 (en) | Packet forwarding method and apparatus, network device, and storage medium | |
| CN112448888A (zh) | 一种在sr网络中转发报文的方法、设备和系统 | |
| CN111988266A (zh) | 一种处理报文的方法 | |
| JP7547635B2 (ja) | メッセージ転送方法、装置、通信機器及び可読記憶媒体 | |
| CN112769738A (zh) | DetNet数据包处理方法及装置 | |
| WO2023088145A1 (zh) | 一种报文处理方法、装置及设备 | |
| JP2024506089A (ja) | パケット転送方法、装置、およびシステム | |
| WO2023246118A1 (zh) | 报文的转发方法、装置、存储介质及电子装置 | |
| CA3176658C (en) | Data packet processing method and device | |
| CN116800663A (zh) | 数据传输方法、数据传输装置、电子设备及存储介质 | |
| CN116418739A (zh) | 一种报文处理方法、装置及网络设备 | |
| HK40080216B (zh) | 数据包处理的方法及设备 | |
| HK40080216A (zh) | 数据包处理的方法及设备 | |
| JP2024545521A (ja) | ノード保護方法、装置、電子機器及び媒体 | |
| HK40092472A (zh) | 报文转发的方法、装置、通信设备及可读存储介质 |
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: 21792084 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2022564475 Country of ref document: JP Kind code of ref document: A |
|
| ENP | Entry into the national phase |
Ref document number: 3176658 Country of ref document: CA |
|
| ENP | Entry into the national phase |
Ref document number: 2021792084 Country of ref document: EP Effective date: 20221117 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2021261819 Country of ref document: AU Date of ref document: 20210423 Kind code of ref document: A |
|
| WWG | Wipo information: grant in national office |
Ref document number: 11202254377S Country of ref document: SG |
|
| WWG | Wipo information: grant in national office |
Ref document number: 202217064149 Country of ref document: IN |
|
| WWG | Wipo information: grant in national office |
Ref document number: 2021792084 Country of ref document: EP |

