WO2021213507A1 - 数据包处理的方法及设备 - Google Patents

数据包处理的方法及设备 Download PDF

Info

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
Application number
PCT/CN2021/089362
Other languages
English (en)
French (fr)
Inventor
程伟强
李晗
段晓东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
Research Institute of China Mobile Communication Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
Research Institute of China Mobile Communication Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, Research Institute of China Mobile Communication Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to JP2022564475A priority Critical patent/JP7653451B2/ja
Priority to US17/920,892 priority patent/US20230188463A1/en
Priority to EP21792084.2A priority patent/EP4138349B1/en
Priority to CA3176658A priority patent/CA3176658C/en
Priority to AU2021261819A priority patent/AU2021261819B2/en
Publication of WO2021213507A1 publication Critical patent/WO2021213507A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/748Address table lookup; Address filtering using longest matching prefix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet 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

本公开实施例公开了一种数据包处理的方法及设备,该方法包括:获取第一段标识(SID)的第一信息和第二信息,第一信息用于指示第一SID所在的容器在数据包的SID列表中的位置,所述第二信息用于指示第一SID在所述容器中的位置;根据第一信息和第二信息,得到第一SID在SID列表中的位置;将第一SID复制到数据包的目的地址中,发送数据包。

Description

数据包处理的方法及设备
相关申请的交叉引用
本公开基于申请号为202010334603.0、申请日为2020年04月24日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此以引入方式并入本公开。
技术领域
本公开涉及通信技术领域,具体涉及一种数据包处理的方法及设备。
背景技术
运营商网络中对分段路由(Segment Routing,SR)标签层数要求较高。以第五移动通信技术(5th Generation,5G)承载网为例,随着5G核心网集中化部署,基站的流量需要穿过城域网以及互联网协议(Internet Protocol,IP)骨干网。典型场景下,在城域网中,接入环有8-10个节点,汇聚环有4-8个节点,核心环也有4-8个节点;在IP骨干网,流量还需穿过多个路由器节点。同时,由于网络切片、高可靠服务等级协议(Service-Level Agreement,SLA)、可管可控的要求,运营商网络需要能够指定显式路径,端到端SR隧道会有10跳甚至以上。因此,目前国内外多数部署多协议标签交换(Multi-Protocol Label Switching,MPLS)-SR的运营商都要求支持8层以上段标识(Segment ID,SID)标签。
当前,SRv6是基于互联网协议第6版(Internet Protocol Version 6,IPv6)扩展的SR解决方案,SRv6方案基于分段路由头(Segment Routing Header,SRH)实现转发,其SID长度为128比特(bit)。按照8层SID,为数据包带来128字节(Byte)的开销,对于平均长度256Byte的应用净荷,SRv6 带来的开销超过1/3,带宽利用率则下降为67%以下。而相同场景下,SR-MPLS的开销只有32Byte,带宽利用率仍有89%。SRv6和SR-MPLS在SID个数从1-10时承载效率的对比分析如图1所示(仅简单对比SRH和SR-MPLS SID的开销)。
开销的增大一方面造成了网络利用率的降低,另一方面为支持深层数据包深层负载均衡、带内遥测(In-Band Telemetry)、网络服务包头(Network Service Header,NSH)带来更大挑战。
另外,SRv6部署必然会和SR-MPLS网络共存,由于网络利用率的不同可能会导致网络边界接口不平衡的问题,从而导致投资浪费。在SR-MPLS网络与SRv6网络域对接时,考虑100G链路,256byte数据包,8层SID的情况,由于链路利用率差异较大,SR-MPLS域中的1个100GE链路在SRv6域中可能需要2条100千兆以太网(Gigabit Ethernet,GE)链路才能匹配。
在运营商应用中,SRv6需要在网络芯片在数据包中插入超过128Byte长度的字段,相当于32层MPLS-SR标签深度,超出了已部署网络芯片的能力,如果在芯片内部采用环回的解决方案,将大幅降低网络性能并引入更高的时延和抖动。在重新设计的网络芯片中,支持SRv6需要进一步扩大内部处理总线带宽,其是芯片成本和功耗的关键因素。
SRv6在中间节点要求网络芯片读取完整SRH,然后根据指针指示的位置提取需要处理的Segment并进行转发。对比MPLS-SR仅需读取最外层标签,引入的复杂性进一步增加网络芯片的处理时延。
低功耗和低时延是运营商5G解决方案的关键因素,SRv6复杂性对网络芯片带来的功耗、成本、时延的增加为其落地应用带来挑战。
根据以上分析,现有SRv6数据包开销较大,增加网络芯片的复杂性和难以平滑升级,导致SRv6难以快速部署到运营商网络中,需要在SRv6技术基础上进一步进行演进。
发明内容
本公开实施例的一个目的在于提供一种数据包处理的方法及设备,解决现有SRv6数据包开销较大的问题。
第一方面,本公开实施例提供一种数据包处理的方法,包括:获取第一段标识(SID)的第一信息和第二信息,所述第一信息用于指示所述第一SID所在的容器在数据包的SID列表中的位置,所述第二信息用于指示所述第一SID在所述容器中的位置;根据所述第一信息和第二信息,得到所述第一SID在SID列表中的位置;将所述第一SID复制到数据包的目的地址中,发送所述数据包。
在本公开的一些可选实施例中,所述获取第一SID的第一信息和第二信息,包括:获取第二SID的第三信息和第四信息,所述第三信息用于指示所述第二SID所在的容器在所述数据包的SID列表中的位置,所述第四信息用于指示所述第二SID在所述容器中的位置;根据所述第二SID的第三信息和第四信息,得到所述第一SID的第一信息和第二信息。
在本公开的一些可选实施例中,所述获取第二SID的第三信息和第四信息,包括:从所述数据包的段路由头(SRH)中获取所述第二SID的第三信息;从所述数据包的目的地址中获取所述第二SID的索引,所述第二SID的索引包括:第四信息。
在本公开的一些可选实施例中,所述根据所述第二SID的第三信息和第四信息,得到所述第一SID的第一信息和第二信息,包括:根据所述第二SID的第四信息或根据所述第二SID的属性信息,确定所述第一SID与所述第二SID是否在同一个容器中;如果所述第一SID与所述第二SID在同一个容器中,则所述第一SID的第一信息与所述第二SID的第三信息相同,以及根据所述第二SID的第四信息,得到所述第一SID的第二信息;或者,如果所述第一SID与所述第二SID不在同一个容器中,则根据所述 第二SID的第三信息,得到所述第一SID的第一信息,以及根据所述第一SID的SID类型,确定所述第一SID的第二信息。
在本公开的一些可选实施例中,所述第一SID的SID类型是由所述第二SID的属性信息指示的。
在本公开的一些可选实施例中,所述方法还包括:将所述第一SID的第一信息更新到所述数据包的SRH中;将所述第一SID的第二信息作为所述第一SID的索引更新到所述数据包的目的地址中。
在本公开的一些可选实施例中,所述将所述第一SID复制到数据包的目的地址中,发送所述数据包,包括:将所述第一SID复制到数据包的目的地址中,所述第一SID与所述目的地址中的公共前缀或地址块组成得到一个新的目的地址,并根据所述新的目的地址将所述数据包转发给下一个节点;或者,将所述第一SID和第二信息复制到数据包的目的地址中,所述第一SID和第二信息与所述目的地址中的公共前缀或地址块组成得到一个新的目的地址,并根据所述新的目的地址将所述数据包转发给下一个节点;或者,将所述第一SID和第二信息复制到数据包的目的地址中,将所述数据包转发给下一个节点。
在本公开的一些可选实施例中,所述获取第一SID的第一信息和第二信息,包括:获取第二SID的第三信息、第四信息和第五信息,所述第三信息用于指示所述第二SID所在的容器在所述数据包的SID列表中的位置,所述第四信息用于指示所述第二SID在所述容器中的位置,所述第五信息用于指示所述第二SID的SID类型和/或指示所述第二SID是否压缩;根据所述第二SID的第三信息、第四信息和第五信息,得到所述第一SID的第一信息和第二信息;其中,在所述SID列表中所述第二SID为所述第一SID的上一个SID。
在本公开的一些可选实施例中,所述获取第二SID的第三信息、第四 信息和第五信息,包括:从所述数据包的SRH中获取所述第二SID的第三信息;从所述数据包的目的地址中获取所述第二SID的索引,所述第二SID的索引包括:第四信息和第五信息。
在本公开的一些可选实施例中,所述根据所述第二SID的第三信息、第四信息和第五信息,得到所述第一SID的第一信息和第二信息,包括:根据所述第二SID的SID类型和所述第一SID的SID类型,确定所述第一SID与所述第二SID是否在同一个容器中;如果所述第一SID与所述第二SID在同一个容器中,则所述第一SID的第一信息与所述第二SID的第三信息相同,以及根据所述第二SID的第四信息,得到所述第一SID的第二信息;或者,如果所述第一SID与所述第二SID不在同一个容器中,则根据所述第二SID的第三信息,得到所述第一SID的第一信息,以及根据所述第一SID的SID类型,确定所述第一SID的第二信息。
在本公开的一些可选实施例中,所述容器用于容纳一个标准SID或者多个压缩SID,所述压缩SID包括:节点标识和所述节点的功能(function)的取值。
第二方面,本公开实施例还提供一种节点,包括:
获取模块,配置为获取第一SID的第一信息和第二信息,所述第一信息用于指示所述第一SID所在的容器在数据包的SID列表中的位置,所述第二信息用于指示所述第一SID在所述容器中的位置;
处理模块,配置为根据所述第一信息和第二信息,得到所述第一SID在SID列表中的位置;
发送模块,配置为将所述第一SID复制到数据包的目的地址中,发送所述数据包。
第三方面,本公开实施例还提供一种节点,包括:收发机、处理器和用于存储能够在处理器上运行的计算机程序的存储器;
所述收发机用于在所述处理器的控制下发送和接收数据;
所述处理器用于读取所述存储器中的计算机程序时,执行本公开前述第一方面实施例的数据包处理方法的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现包括如本公开实施例第一方面所述的数据包处理的方法的步骤。
在本公开实施例中,SID列表中至少包括压缩SID,在更新数据包的目的地址时,通过将压缩SID和当前目的地址中的公共前缀拼接形成新的SID,继续查表转发,从而实现数据包的压缩,有效的减少数据包的报头开销。此外,还可以通过将标准SID和压缩SID混合编排在SID列表中,从而支持压缩节点与普通节点混合编程,实现存量演进,平滑升级。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本公开的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为净荷长度256字节(B)时不同SID个数SR承载效率对比分析示意图;
图2为标准的SRv6扩展头的封装格式示意图;
图3为本公开实施例的中的数据包处理的方法的流程示意图;
图4为支持网络可编程标准SRv6 SID格式示意图;
图5为支持网络可编程典型SRv6 Locator示意图;
图6为本公开实施例中的支持压缩的SRv6 SID格式示意图;
图7为本公开实施例中32-bits压缩SID Container格式示意图;
图8为本公开实施例中128bit SRv6 SID和32bit X-SID混合编程在 X-SRH中的格式示意图;
图9为本公开实施例中128bit SRv6 SID和32bit X-SID混编在X-SRH中的编码示意图;
图10为本公开实施例中XI的示意图;
图11为本公开实施例中X-SID的更新示意图;
图12为本公开实施例中混编场景中数据包的转发示意图;
图13为本公开实施例中纯压缩场景中数据包的转发示意图;
图14为本公开实施例的节点的示意图之一;
图15为本公开实施例的节点的示意图之二。
具体实施方式
SR是一种源路由技术,基于软件定义网络(Software Defined Network,SDN)理念,构成面向路径连接的网络架构,支撑未来网络多层次的可编程需求,可以满足5G超大连接和切片的应用场景下的连接需求。SR-MPLS是基于当前主流MPLS转发面形成的SR解决方案。
SRv6是基于IPv6扩展的SR解决方案。IPv6技术成是新一代网络的主体技术,基于IPv6的SRv6长远考虑是未来网络的演进趋势,关于SRv6技术的机制研究是业界热点。
标准SRv6的128比特(bit)SID采用IPv6地址格式的SID,相比MPLS标签(Label)格式的SID具备可路由属性,简化域间路径创建,实现在IPv6网络中简化建立端到端路径的能力。同时,SRv6 SID支持可编程能力,能够满足灵活的网络和业务功能处理,结合集中式和分布式控制平面的协同支持,能灵活满足各种业务和网络功能的需求,适应网络和业务发展的需要。
SR通过头结点封装一系列的指令来引导数据包通过网络,在SRv6架构中,一个指令是一个128比特的IPv6地址,参见图2,为标准SRv6扩展头的 封装格式。其中,对于IPv6头,包括:版本(Version)字段、流量类型(Traffic Class)字段、流标签(Flow Label)字段、有效净荷长度(Payload Length)字段、下一报头(Next Header)字段、跳数限制(Hop Limit)字段、源地址(Source Address)字段以及目的地址(Destination Address)字段。对于SRH扩展头,包括:下一报头(Next Header)字段、Hdr Ext len字段(表示SRH头的长度)、路由类型(Routing Type)字段、段剩余(Segment left)字段(表示到达目的节点前应当访问的中间节点数)、最后一项(Last Entry)字段(表示分段列表中包含分段列表的最后一个元素的索引)、标记(Flags)字段(表示数据包的一些标识)、标签(Tag)字段(用于标识同组数据包)、分段列表(Segment list)字段(包含128bit的IPv6地址)、可选TLV(Optional TLV)对象字段(可变的)和有效净荷(Payload)字段。
通过SRv6扩展头封装格式可知,SRv6扩展头封装长度为:40Byte(IPv6头)+8Byte(SRH固定头)+16×N Byte(Segment List)。所以,随着SRv6指定的SID数量增加,SRv6扩展头封装带来的额外的开销就会越大。为了解决这个问题,需要实现SRv6扩展头缩短的功能。
标准SRv6虽然具备上述诸多优点,但是缺点同样明显。SRv6技术在网络中实际部署当前主要面临二个方面的挑战:一是SRv6数据包开销大、网络链路带宽利用率低,256byte包长8层SID的情况下带宽利用率只有60%左右;二是SRv6数据包处理对芯片要求高,现网设备难以支持深度的SRH头的复制和操作,并且128bit的SRH头处理会降低现有芯片的处理效率。
针对标准SRv6技术存在的问题,发明人发现可以通过对标准SRv6的SRH进行压缩优化,采用更简洁短小的X-SID,如典型的32bit SID标识,以优化SRv6的SID,将标准128bit的SID采用32bit的X-SID来表示并替代其在SRH头中的封装,从而将标准SRv6的SRH封装开销优化,在支持SRv6功能的同时大大优化SRv6的性能,支持SRv6技术规模部署。
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
本公开实施例的说明书和权利要求书中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,说明书以及权利要求中使用“和/或”表示所连接对象的至少其中之一,例如A和/或B,表示包含单独A,单独B,以及A和B都存在三种情况。
在本公开实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本文所描述的技术不限于5G系统以及后续演进通信系统,以及不限于长期演进(Long Term Evolution,LTE)/LTE的演进(LTE-Advanced,LTE-A)系统,并且也可用于各种无线通信系统,诸如码分多址(Code Division Multiple Access,CDMA)、时分多址(Time Division Multiple Access,TDMA)、频分多址(Frequency Division Multiple Access,FDMA)、正交频分多址(Orthogonal Frequency Division Multiple Access,OFDMA)、单载波频分多址(Single-carrier Frequency-Division Multiple Access,SC-FDMA)和其他系统。
术语“系统”和“网络”常被可互换地使用。CDMA系统可实现诸如 CDMA2000、通用地面无线电接入(Universal Terrestrial Radio Access,UTRA)等无线电技术。UTRA包括宽带CDMA(Wideband Code Division Multiple Access,WCDMA)和其他CDMA变体。TDMA系统可实现诸如全球移动通信系统(Global System for Mobile Communication,GSM)之类的无线电技术。OFDMA系统可实现诸如超移动宽带(Ultra Mobile Broadband,UMB)、演进型UTRA((Evolution-UTRA,E-UTRA))、IEEE 802.11((Wi-Fi))、IEEE 802.16((WiMAX))、IEEE 802.20、Flash-OFDM等无线电技术。UTRA和E-UTRA是通用移动电信系统(Universal Mobile Telecommunications System,UMTS)的部分。LTE和更高级的LTE(如LTE-A)是使用E-UTRA的新UMTS版本。UTRA、E-UTRA、UMTS、LTE、LTE-A以及GSM在来自名为“第三代伙伴项目”(3rd Generation Partnership Project,3GPP)的组织的文献中描述。CDMA2000和UMB在来自名为“第三代伙伴项目2”(3GPP2)的组织的文献中描述。本文所描述的技术既可用于以上提及的系统和无线电技术,也可用于其他系统和无线电技术。
参见图3,本公开实施例提供一种数据包处理的方法,该方法的执行主体可以为节点,例如SRv6节点,该方法包括:
步骤301:获取第一SID的第一信息和第二信息,所述第一信息用于指示所述第一SID所在的容器在数据包的SID列表中的位置,所述第二信息用于指示所述第一SID在所述容器中的位置。
在一些可选实施例中,第一信息也可以是段剩余(Segment Left,SL)信息,标识剩余Segment的数量;第二信息可以是索引(Index)信息,索引(Index)信息也可称为SID Index信息,在本公开实施例中对其不做限定。
容器(或者称为SID Container)中可以包括一个或多个第一SID,比如容器为128bit,该容器可以包括:一个标准SID(128bit的SID),或者多个 压缩SID,也就是说,上述第一SID可以是标准SID,或者也可以是压缩SID,该压缩SID可以是32bits的压缩SID或者16bits的压缩SID,本实施例中不限于此。
以32bits的压缩SID为例,在一个128bit的容器中可以包括:三个32bits的压缩SID和一个用于补齐128bit的填充(padding),或者包括:两个32bits的压缩SID和两个用于补齐128bit的padding,或者包括:一个32bits的压缩SID和三个用于补齐128bit的padding,或者包括:四个32bits的压缩SID。可以理解的是,上述第一SID不包括用于补齐128bit的填充。
以一个128bit的容器中包括三个32bits的压缩SID和一个用于补齐128bit的padding为例,从左到右依次可以为:padding、32bits的压缩SID、32bits的压缩SID、32bits的压缩SID和32bits的压缩SID,各自的第二信息可以分别为:0、1、2、3。
以一个128bit的容器中包括:128bit的标准SID为例,该容器中只有一个标准SID,该标准SID的第二信息可以为空或者为预设值。
以SID列表(SID list)包括五个容器为例,该容器在SID列表中的位置由下至上可以表示为:SL=0、SL=1、SL=2、SL=3和SL=4,可以理解的是在本公开实施例中对“容器在SID列表中的位置”的具体表达形式不做具体限定。
步骤302:根据所述第一信息和第二信息,得到所述第一SID在SID列表中的位置。
示例性的,如果第一SID为压缩SID,则可以根据该压缩SID的SL与Index在SID列表中定位得到对应的一个压缩SID,则如果该第一SID为128bit的SID,该第二信息可以为空,则可以根据该第一SID的SL在SID列表中定位得到对应的一个128bit的SID。
步骤303:将所述第一SID复制(或更新)到数据包的目的地址中,发送所述数据包。
方式1:将第一SID复制到数据包的目的地址中,所述第一SID与所述目的地址中的公共前缀或地址块组成得到一个新的目的地址,并根据所述新的目的地址将所述数据包转发给下一个节点;
比如,第一SID可以为压缩SID,基于该压缩SID的SL与Index,可以在SID列表中定位得到对应的一个压缩SID,将该压缩SID复制到数据包的目的地址中,与公共前缀或地址块组成得到一个新的目的地址,根据新的目的地址将该数据包转发给下一个节点。
方式2:将所述第一SID和第二信息复制到数据包的目的地址中,所述第一SID和第二信息与所述目的地址中的公共前缀或地址块组成得到一个新的目的地址,并根据所述新的目的地址将所述数据包转发给下一个节点;
比如,第一SID可以为压缩SID,基于该压缩SID的SL与Index,可以在SID列表中定位得到对应的一个压缩SID,将该压缩SID和Index复制到数据包的目的地址中,与公共前缀或地址块组成得到一个新的目的地址,根据新的目的地址将该数据包转发给下一个节点。
方式3:将所述第一SID和第二信息复制到数据包的目的地址中,将所述数据包转发给下一个节点。比如,该第一SID为128bitSID,基于该128bitSID的SL与Index,可以在SID列表中定位得到对应的一个128bitSID,将该128bitSID复制到数据包的目的地址中,并将该数据包转发给下一个节点。
在本公开的一些可选实施例中,步骤301可以包括:
步骤3011:获取第二SID的第三信息和第四信息,所述第三信息用于指示所述第二SID所在的容器在所述数据包的SID列表中的位置,所述第四信息用于指示所述第二SID在所述容器中的位置。
在一些可选实施例中,第三信息也可以是段剩余(SL)信息,标识剩余Segment的数量;第四信息也可以是索引(Index)信息,在本公开实施例中对其不做限定。
步骤3012:根据所述第二SID的第三信息和第四信息,得到所述第一SID的第一信息和第二信息。
在一些可选实施例中,在所述SID列表中所述第二SID为所述第一SID的上一个SID,或者在该SID列表中第二SID排序在第一SID之前,第二SID和第一SID之间可以包括一个或多个Padding(比如用“0”表示),比如,SID列表中先后顺序为:第二SID、Padding、第一SID。
上述“所述第二SID为所述第一SID的上一个SID”可以理解为,第一SID为第二SID的下一个SID,也即,与第一SID匹配的节点是与第二SID匹配的节点的下一个节点,比如与第一SID匹配的节点为N3,与第二SID匹配的节点为N2。
在一些可选实施例中,在步骤3011之前,可以判断第二SID的下一个SID是否为padding,如果不是,则执行步骤3011,如果是,则默认第一SID是一个128bit的SID,此时该第一SID的第一信息可以基于第二SID的第三信息计算得到,并将该第一SID的第二信息设置为空。
示例性的,可以基于第二SID的属性信息识别第二SID的下一个SID是否为padding。也就是说,在本地SID(Local SID)表中命中到节点本地发布的END.X SID(第二SID),没有配置COC Flavor(该COC Flavor用于指示下一个SID的SID类型),则第二SID的下一个SID是否为padding。
在本公开的一些可选实施例中,步骤3011可以包括:
步骤30111:从所述数据包的SRH中获取所述第二SID的第三信息;
步骤30112:从所述数据包的目的地址中获取所述第二SID的索引,所述第二SID的索引包括:第四信息。也就是说,第二SID的索引中可以包括 一个指示比特或多个指示比特。在本公开实施例中对第二SID的索引的格式不做具体限定。
在本公开的一些可选实施例中,步骤3012可以包括:
步骤30121:根据所述第二SID的第四信息或根据所述第二SID的属性信息,确定所述第一SID与所述第二SID是否在同一个容器中。
一个示例中,如果第二SID的第四信息大于零,则表示第一SID与所述第二SID在同一个容器中;如果第二SID的第四信息等于零,则表示第一SID与所述第二SID不在同一个容器中。
另一个示例中,第二SID的属性信息没有指示下一个SID的SID类型,则表示第一SID与所述第二SID不在同一个容器中。也就是说,在Local SID表中命中到节点本地发布的END.X SID(第二SID),没有配置COC Flavor(该COC Flavor用于指示下一个SID的SID类型),则默认指示下一个SID(第一SID)是128bit的SID,也即,第二SID和第一SID之间可以包括:一个Padding。
步骤30122:如果所述第一SID与所述第二SID在同一个容器中,则所述第一SID的第一信息与所述第二SID的第三信息相同(即SL相同),以及根据所述第二SID的第四信息,得到所述第一SID的第二信息,比如第二SID的第四信息(Index)减一,得到第一SID的第二信息(Index);或者,
如果所述第一SID与所述第二SID不在同一个容器中,则根据所述第二SID的第三信息,得到所述第一SID的第一信息,比如第二SID的第三信息减一(SL-1),得到第一SID的第一信息(SL),以及根据所述第一SID的SID类型,确定所述第一SID的第二信息。
示例性的,第一SID的SID类型为32bit,则第一SID的第二信息为“3”。
在本公开的一些可选实施例中,所述第一SID的SID类型可以是由所述第二SID的属性信息(COC Flavor)指示的,可以理解的是,第二SID的属性信息可以在当前节点的本地SID表中查表得到,如表所示。
表1
SID Flavor类型 功能描述
None 不增加Flavor;SID的默认Flavor指示第一SID是128bits SRv6 SID
COC32 标识下一个节点(第一SID)是32bit的压缩SID
COC16 标识下一个节点(第一SID)是16bit的压缩SID
在本公开的一些可选实施例中,所述方法还包括:将所述第一SID的第一信息更新到所述数据包的SRH中;将所述第一SID的第二信息作为所述第一SID的索引更新到所述数据包的目的地址中。
在本公开的一些可选实施例中,步骤301可以包括:
步骤3013:获取第二SID的第三信息、第四信息和第五信息,所述第三信息用于指示所述第二SID所在的容器在所述数据包的SID列表中的位置,所述第四信息用于指示所述第二SID在所述容器中的位置,所述第五信息用于指示所述第二SID的SID类型和/或指示所述第二SID是否压缩。
示例性的,SID类型可以包括8bit、16bit、32bit、64bit或者128bit等。
在一些可选实施例中,第五信息可以包括一个指示比特或多个指示比特。
步骤3014:根据所述第二SID的第三信息、第四信息和第五信息,得到所述第一SID的第一信息和第二信息。
其中,在所述SID列表中所述第二SID为所述第一SID的上一个SID,或者在该SID列表中第二SID排序在第一SID之前,第二SID和第一SID之间可以包括一个或多个Padding(比如用“0”表示)。
在本公开的一些可选实施例中,步骤3013可以包括:
步骤30131:从所述数据包的SRH中获取所述第二SID的第三信息;
步骤30132:从所述数据包的目的地址中获取所述第二SID的索引,所述第二SID的索引包括:第四信息和第五信息。
在一些可选实施例中,第二SID的索引中可以包括一个指示比特或多个指示比特。
在本公开的一些可选实施例中,步骤3014可以包括:
步骤30141:根据所述第二SID的SID类型和所述第一SID的SID类型,确定所述第一SID与所述第二SID是否在同一个容器中。
示例性的,如果第二SID的SID类型为32bit,第一SID的SID类型为32bit,则确定所述第一SID与所述第二SID在同一个容器中;如果第二SID的SID类型为32bit,第一SID的SID类型为128bit,则确定所述第一SID与所述第二SID不同一个容器中。
步骤30142:如果所述第一SID与所述第二SID在同一个容器中,则所述第一SID的第一信息与所述第二SID的第三信息相同(即SL相同),以及根据所述第二SID的第四信息,得到所述第一SID的第二信息,比如第二SID的第四信息减一(Index-1),得到第一SID的第二信息;或者,
如果所述第一SID与所述第二SID不在同一个容器中,则根据所述第二SID的第三信息,得到所述第一SID的第一信息,比如第二SID的第三信息减一,得到第一SID的第一信息,以及根据所述第一SID的SID类型,确定所述第一SID的第二信息。
示例性的,第一SID的SID类型为32bit,则第一SID的第二信息为“3”,即第一SID的Index为3。
在本公开实施例中,所述容器用于容纳一个标准SID或者多个压缩SID,所述压缩SID包括:节点标识和所述节点的功能(function)的取值。
在本公开实施例中SID列表中至少包括压缩SID。在更新数据包中的目的地址时,通过将压缩SID和当前目的地址中的公共前缀拼接形成新的SID,继续查表转发,从而实现数据包的压缩,有效的减少数据包的报头开销。
此外,在本公开实施例中,还可以通过将标准SID和压缩SID混合编排 在SID列表中,从而在SRv6路径中支持压缩节点与普通节点混合编程,实现存量演进,平滑升级。同时在多域的场景中,因为地址规划受限,无法保证多个域的SID有公共前缀,通过混编则可以方便地实现建立跨多域的SRv6路径。
下面以IPv6的场景为例进行介绍,当然可以理解的是,本公开实施例也可以适用于其他版本的IP技术(比如,IPv5、IPv7、IPv9、IPv10等),而不仅限于IPv6技术,适用于其他版本的IP技术的方式与此类似,在此不再敷述。
当SRv6部署中,需要通过地址规划划分一个地址块,用于SID的分配,该地址块可以称为SID空间(Space)。因此,在一个SRv6域中,从SID Space分配的SID可以具有公共前缀(Common Prefix)。通常情况下,SRH中的SID均具有相同的前缀,而这部分内容是冗余的,去除这部分冗余的信息,可以有效的减少SRv6报头开销。
因此,在本公开实施例中将SID列表(SID List)中SID的Common Prefix移除,仅携带变化的压缩SID(或者称为短SID,或者称为X-SID)。在替换目的地址时,通过将压缩SID和当前IPv6目的地址中的公共前缀拼接(Stitching)形成新的SID,继续查表转发,从而实现SRv6的压缩。
此外,在本公开实施例中,还通过将传统SRv6 SID和压缩SID混合编排在SRv6(比如,该SRv6称为X-SRv6)中,从而在SRv6路径中支持压缩节点与普通SRv6节点混合编程,实现存量演进,平滑升级。同时在多域的场景中,因为地址规划受限,无法保证多个域的SID有公共前缀,通过混编则可以方便地实现建立跨多域的SRv6路径。
(一)关于标准128bit SRv6 SID格式的介绍:
SRv6 Segment Identifier:用于标识SRv6 Segment的ID,标准SRv6 SID是一个128bit的IPv6地址,如果考虑支持SRv6网络可编程,它通常由三部分组成,如图4所示。
(1)位置(Locator)是网络拓扑中分配给一个网络节点的标识,用于路由和转发数据包到该节点,Locator标识位置信息。Locator对应的路由会被节点通过内部网关协议(Interior Gateway Protocol,IGP)发布到网络中,用于帮助其他设备将数据包转发到发布该Locator的节点。在SRv6 SID中,Locator长度可变,用于适配不同规模的网络。
(2)功能(Function)用来表达该指令要执行的转发动作,相当于计算机指令的操作码。在SRv6网络编程中,不同的转发行为由不同的Function来表达,如转发数据包到指定链路,或在指定表中查表转发等。
(3)变量(Arguments)(以下简称Args)是一个可选字段。它是指令在执行时对应的参数,这些参数可能包含流,服务或任何其他相关的信息。
进一步的,参见图5,Locator又可以细分为B:N,其中“B”标识SRv6 SID块(Block),一般由运营商分配给某个子网,通常用前缀(Prefix)来表示;“N”表示该子网内区分节点的标识。因此在一个SRv6网络中SID都具有共同的共同前缀B,所以在一个SID List中SID的B部分都是重复冗余的。
(二)关于压缩SRv6 SID格式的介绍:
根据标准SRv6 SID的格式,可以看出在一个典型的支持SRv6网络可编程的应用中,其SID格式是有规律的,充分利用SID格式的规律可以实现标准SRv6 SID格式优化。
本公开实施例定义典型的32bit SRv6压缩SID格式,该压缩SID可以是由标准128bit SID中的Node ID和Function ID组成。
标准128bit SID格式可以称为完整SID,其定义沿用标准SRv6 SID;32bit SID为压缩SID(或者称为X-SID),其是完整SID的变化部分。格式如图6所示。
类似的,也可以定义16bits的压缩SID。下面以32bits的压缩SID为例描述,可以理解的是,16bits的压缩SID的实现方式与32bits的压缩SID的实现 方式类似,在此不再敷述。
完整SID和压缩SID的转换关系可以根据SRv6 Locator的规律,可以采用如下方式:
完整SID=B(Block,即通用Prefix)+N(节点ID)+F(Function)+A(Args)(可选)+Padding(可选);
压缩SID=N(节点ID)+F(Function)。
由此可见,压缩SID加上公共前缀/地址块(Block),可以完整的组成一个SID。
为支持压缩,需要规划支持压缩的SRv6 SID格式。比如Common Prefix为96bits,压缩SID为32bits;比如Common Prefix为64bits,紧跟压缩SID为32bits,剩余低32位为0。为标识特定的SRv6 SID为可压缩SID,需要扩展对应的控制面协议,将可压缩SID发布出去,发布SID可压缩的能力以及SID的结构信息。
(三)关于容纳压缩SID和标准SID的容器(Container)格式的介绍:
当压缩SID和标准SID被编排在SRH SID List中时,为准确定位压缩SID,需要满足压缩SID按照128bit对齐的方式来编排,即一行128bit需要放4个32bits压缩SID,或多个其他长度的缩短压缩SID。如果排不满,则需要补齐填充(Padding),对齐128bit。
为方便理解,在本公开实施例中定义SID Container的概念,其是一个128bit。一个SID Container可以包括:
(1)一个SRv6标准SID;
(2)多个压缩SID(X-SID),比如,4个32bits的压缩SID或者8个16bits的压缩SID。
当多种SID混编时,需要保证128bit对齐。当压缩SID无法排满128bit时,需要补齐Padding。以32bits的压缩SID为例,SID Container可能的格式如图7 所示。
由于SRv6 SRH中可以编码多种类型的SID Container,所以这个SRH可以称之为压缩SRH。是一种新型SRv6的实现,可以称之为压缩SRv6。下面内容介绍数据面压缩SRv6的方案细节。
(四)关于压缩SRv6数据面方案:压缩SRH的介绍:
压缩SRH与SRH[RFC8754]格式保持一致,没有对其格式和字段语义进行改动,但支持将128bit的SID和32bit的压缩SID混合编程在压缩SRH中。其格式如图8所示,包括:下一报头(Next Header)字段、Hdr Ext len字段、路由类型(Routing Type)字段、段剩余(Segment left)字段、最后一项(Last Entry)字段、标记(Flags)字段、标签(Tag)字段、X-SID容器(X-SID Container)字段(包含128bit value)和可选TLV(Optional TLV)对象字段(可变的)。
当128bit的SID和32bit X-SID混编在X-SRH中时,其编码示例如图9所示。
一段压缩SRv6路径可能由SRv6子路径和SRv6压缩子路径组成。SRv6子路径由SRv6 SID编码。SRv6压缩子路径由一个支持压缩的128bit SRv6 SID引导开始,并由随后跟随的多个压缩SID组成。在压缩SID List结束时,需以128bit为界结束,下一个可以为标准的128bit SRv6 SID或者下一段不同前缀的SRv6压缩子路径。
为标识SID list中SRv6压缩路径的起始和结束,也即128bits SID和32bits的SID之间的边界,需要再新增若干种类型的属性(Flavor),并发布对应Flavor的SID。COC32属性(COC32 Flavor)相关行为(Behavior)的值详见表2,COC16相关暂不定义。
表2
SID Flavor类型 功能描述
None 不增加Flavor,SID的默认Flavor指示下一个是128bits SRv6 SID
COC32 标识下一个是32bit的压缩SID
COC16 标识下一个是16bit的压缩SID
因此当目的地址(Destination Address,DA)中SID携带COC32 Flavor时,表示需要将下一个32bit的压缩SID更新到目的地址。当DA中SID为不携带COC Flavor SID时,表示将“SL--”(SL减一),将下一个128bit的SID更新到目的地址(SL>0时)。其中,SL可以定位到128比特Container的位置。
因此压缩SRv6在SID List中的编码规则包括:
(1)一段压缩SRv6路径的开始由一个128bits的COC32 Flavor SID指示,其包含COC32 Flavor SID。此SID携带了完整的SID信息,包含Common Prefix等信息,可用于与后续的压缩SID恢复完整的下一个SID;
(2)压缩路径中间的压缩SID均为携带COC32的压缩SID,指示下一个是32bit的压缩SID;
(3)压缩路径的最后一个压缩SID需为无COC Flavor的32bits的压缩SID,用于指示压缩路径结束。其在DA中组合成的SRv6 SID按照128bits的SID的处理规则处理。
需要说明的是,最后一个SID为无COC Flavor SID的原因在于:其被更新到目的地址之后,DA中的SID由于无COC Flavor,所以其将被节点按照128bits的SID来处理,与当前SRv6处理一致。因此它可以起到标识这段压缩路径结束,从32bits的压缩SID切换到128bits的SID处理的作用。
可以理解的是,这种设计可以很好的支持以下两个场景:
(1)混编场景中压缩路径结束,从32bit切换到128bit的场景;
(2)纯压缩场景中,最后一个SID为无COC Flavor,因此最后一跳的处理与当前SRv6一致,更兼容。
此外,在压缩路径中,为了定位下一个压缩SID,可以新增压缩SID的索引(X-SID Index,以下简称XI)来定位其在SID Container中的位置。进 一步地,该索引还可以指示SID是否压缩或者指示SID的SID类型。
定位的基本思路:
1.下一个压缩SID由SL+XI定位,SL定位到128比特container的位置,XI定位到128位container中具体的X-SID的位置;
2.在混编场景下,如何定位SID长度变化的边界:
(1)通过SID的“下一个SID的SID类型”与当前SID的SID类型对比来确认SID的类型是否发生改变;比如:SID的“下一个SID的SID类型”若为32bit,而当前的SID的类型为128bit,则到达了边界;
(2)对目的地址中的XI进行相应的改变,以定位下一个SID/X-SID;
(3)若下一个SID的SID类型是32bit,则将下一个32bit的X-SID更新到IPv6目的地址对应的X-SID位置,X-SID可以由SRH[SL][XI]来定位。
比如,索引可以放置在目的地址中的压缩的SID之后,示例性地,索引放在128bit的最低2bit位置,参见图10。在发布压缩SID时,需预留空间给索引,其值为0。在转发的过程中,XI的数值是压缩的SID的位置属性,指示其在X-SID Container中的位置。
比如:通过COC32 Flavor SID指示更新下一个32bits的压缩SID到目的地址,压缩SID位置可以由SL与XI定位。
以32bits的压缩SID为例,节点(Endpoint)收到数据包的处理伪代码如下:
Figure PCTCN2021089362-appb-000001
Figure PCTCN2021089362-appb-000002
处理流程由COC Flavor SID的触发,操作数据也局限在COC Flavor SID之内,不影响已有SRv6主流程,对已有SID以及SRH的处理毫无影响。格式上兼容SRH,处理上兼容已有SRv6。其中XI在DA的压缩的SID之后。以纯压缩路径+128bit VPN SID为例,编码与X-SID更新示例如图11所示。
(五)关于混编场景中数据包转发流程。
在部署SRv6压缩方案时,需要进行地址规划,然后升级控制面和数据面支持SRv6压缩。
首先,节点通过置位IGP等协议的SRv6 Capabilities TLV的扩展C-flag来标识本节点支持压缩能力。
节点实例化可以支持压缩的SRv6 SID,并将通过IGP/BGP/BGP-LS等协议发布到网络中或上送给控制器。节点在实例化SID之后,将会生成对应的SID转发表项。
参见图12,节点k可以发布两套SID,两套SID都携带C-Flag,均支持压缩,一套携带COC32 Flavor,另一套不携带Flavor。比如A:k:1::为绑定到某接口的携带COC32的END.X SID,A:k:2::为绑定到同样接口的不携带COC32 Flavor的END.X SID。根据这个规划,A:1:1::为COC32 Flavor End.X SID,A:4:2::为无COC Flavor的SID。
在发布SID时,需要置位SID 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::以及A:10:10::(格式支持压缩的VPN SID,方便纯压缩案例演示)对应的TLV(如SRv6 End SID sub-TLV、SRv6 End.X SID sub-TLV、SRv6 LAN End.X SID sub-TLV)中的C-flag来标识本SID的格式支持压缩。
在发布的SID中,包含有携带COC32 Flavor的可压缩SID,用于标识SID 后面的SID是32的X-SID。比如下例的多个SID A:k:1::。
A:k:1::在发布时还需要携带SID Structure Sub-sub-TLV。假设Common Prefix(A)的长度是64,X-SID的长度是32(Node ID长度是16,Function ID长度是16),Argument的长度是32,则发布的SID的SID Structure Sub-sub-TLV中Locator Block的长度是64,Node ID的长度是16,Function的长度是16,Argument长度为32。
图中A1::前缀是不支持压缩SID的前缀,所以A1::5:1为不可压缩的SID。它在发布时也会携带SID Structure Sub-sub-TLV,其中Locator Block的长度是64,Node ID的长度是16,Function的长度是48。
设备通过BGP-LS将节点支持压缩的能力,支持压缩的SID和新增的携带COC32 Flavor的SID上送给控制器,用于控制器计算路径使用。
控制器算路完成之后,可以通过BGP SR Policy下发包含压缩SID的SID List,此时需要在SID list的Segment sub-TLV之间插入描述SID格式的sub-TLV。比如以下示例中的10个SID,需要在A:2:1::,A:7:1::之前插入SID encoding sub-TLV,Start为Common Prefix的长度(图中为63),End为Common Prefix+32(图中为95)。还需要在A1::5:1,A:10:10::之前插入SID encoding sub-TLV,其Start=0,End=127。
表3
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
示例中,SID List总共包含了10SIDs:
A:1:1::END.X(COC32)
A:2:1::END.X(COC32)
A:3:1::END.X(COC32)
A:4:2::END.X
A1::5:1END.X      不支持压缩的SID
A:6:1::END.X(COC32)
A:7:1::END.X(COC32)
A:8:1::END.X(COC32)
A:9:2::END.X
A:10:10::END.DT4 VPN SID(不参与压缩)
经过简化(Reduced)模式以及压缩编码之后,SID List如图12示例。其中END.X SID A:1:1::未被编码在SID List中。
(1)当节点1收到数据包时,目的地址“A:1:1::”在Local SID表中命中到节点本地发布的COC Flavor END.X SID,此时SRH中SL=5,DA.XI=0,因此SL--,DA.XI=3,指向2:1,将X-SID 2:1更新到DA中,转发到下一个节点2。此时目的地址为A:2:1::3。
(2)当节点2收到数据包时,目的地址“A:2:1:3::”在Local SID表中命中匹配到节点本地发布的COC Flavor END.X SID,此时SL=4,由于DA.XI为3,大于0,所以节点将DA.XI--,将SRH[SL][DA.XI]指向的下一个X-SID 3:1更新(或称为复制)到DA中,转发到下一个节点。此时目的地址为“A:3:1::2”。
(3)当节点3收到数据包时,目的地址“A:3:1:2::”在Local SID表中命中到节点本地发布的COC Flavor END.X SID,此时SRH中SL=4,DA.XI=2,大于0,所以DA.XI--,指向4:2,将X-SID 4:2更新到DA中,转发到下一个节点。此时目的地址为“A:4:2::1”。
(4)当节点4收到数据包时,目的地址“A:4:2:1::”在Local SID表中命中到节点本地发布的END.X SID,因为无COC Flavor,所以默认指示下一个SID是128bit的SID,因此,SL=SL-1=3,将“A1::5:1”复制到DA中进行转发。
(5)节点5是一个普通SRv6节点,所以执行普通SRv6转发,将“A:6:1::” 复制到DA中,转发到下一个节点。
(6)节点6收到数据包时,目的地址“A:6:1::”在Local SID表中命中到节点本地发布的COC Flavor END.X SID,此时SRH中SL=2,DA.XI=0,所以SL--,DA.XI=3,指向7:1,将X-SID 7:1更新到DA中,转发到下一个节点。此时目的地址为“A:7:1::3”。
可以理解的是“7:1”相当于第一SID,“A:6:1::”相当于第二SID。
(7)同理,节点7,节点8收到数据包时,处理COC Flavor SID,更新目的地址,转发数据包。
(8)节点9收到数据包之后,步骤同节点4,由于DA中SID在Local SID表中命中无COC Flavor的SID,所以SL--=0,将VPN SID复制到DA中转发到节点10。
(9)节点10按照正常VPN SID处理。
(六)关于纯压缩场景中的数据包转发流程:
参见图13,控制面流程原理,拓扑信息和SID信息同混编案例。在下发SR策略(SR Policy)时,BGP SR Policy的SID list里面需要插入对应的SID Encoding sub-TLV描述格式。以下例为例:
需要在A:2:1::之前插入SID encoding sub-TLV,Start为Common Prefix的长度(图中为63),End为Common Prefix+32(图中为95)。
示例中,SID List总共包含了10SIDs:
A:1:1::END.X(COC32)
A:2:1::END.X(COC32)
A:3:1::END.X(COC32)
A:4:1::END.X(COC32)
A:5:1::END.X(COC32)
A:6:1::END.X(COC32)
A:7:1::END.X(COC32)
A:8:1::END.X(COC32)
A:9:1::END.X(COC32)
A:10:10::END.DT4VPN SID(参与压缩)。
经过Reduced模式以及压缩编码之后,SID List如图13所示。其中END.X SID A:1:1::未被编码在SID List中。
(1)节点0封装好数据包之后,将数据包发送给下一跳节点1,此时SRH中SL=3,DA.XI=0。SID的Flavor为COC,标识下一个SID封装格式为32bits的X-SID。
(2)当节点1收到数据包时,目的地址“A:1:1::”是本地发布的一个格式支持压缩的COC Flavor END.X,指示下一个SID是32bits的X-SID,而此时的SL=3,DA.XI=0,所以SL--,DA.XI=3,指向2:1,将2:1复制到DA更新X-SID,然后基于新的DA进行查表转发。
可以理解的是,“2:1”相当于第一SID,“1:1”相当于第二SID。
(3)后续节点2、3、4、5、6、7、8、9同理,节点基于SL和DA.XI的值将对应X-SID被更新到DA,查表转发。
(4)节点10收到数据包时,DA为“A:10:10::”,其是一个不带COC Flavor的SID(VPN SID本身也无此类Flavor),执行VPN SID处理。
参见图14,本公开实施例还提供一种节点,该节点1400包括:
获取模块1401,配置为获取第一SID的第一信息和第二信息,所述第一信息用于指示所述第一SID所在的容器在数据包的SID列表中的位置,所述第二信息用于指示所述第一SID在所述容器中的位置;
处理模块1402,配置为根据所述第一信息和第二信息,得到所述第一SID在SID列表中的位置;
发送模块1403,配置为将所述第一SID复制到数据包的目的地址中,发送所述数据包。
在一些实施方式中,获取模块1401配置为:获取第二SID的第三信息和第四信息,所述第三信息用于指示所述第二SID所在的容器在所述数据包的SID列表中的位置,所述第四信息用于指示所述第二SID在所述容器中的位置;根据所述第二SID的第三信息和第四信息,得到所述第一SID的第一信息和第二信息;其中,在所述SID列表中所述第二SID为所述第一SID的上一个SID。
在一些实施方式中,获取模块1401配置为:从所述数据包的SRH中获取所述第二SID的第三信息;从所述数据包的目的地址中获取所述第二SID的索引,所述第二SID的索引包括:第四信息。
在一些实施方式中,获取模块1401配置为:根据所述第二SID的第四信息或根据所述第二SID的属性信息,确定所述第一SID与所述第二SID是否在同一个容器中;如果所述第一SID与所述第二SID在同一个容器中,则所述第一SID的第一信息与所述第二SID的第三信息相同,以及根据所述第二SID的第四信息,得到所述第一SID的第二信息;或者,如果所述第一SID与所述第二SID不在同一个容器中,则根据所述第二SID的第三信息,得到所述第一SID的第一信息,以及根据所述第一SID的SID类型,确定所述第一SID的第二信息。
在一些实施方式中,所述第一SID的SID类型是由所述第二SID的属性信息指示的。
在一些实施方式中,该节点1400还包括:更新模块,配置为将所述第一SID的第一信息更新到所述数据包的SRH中;将所述第一SID的第二信息作为所述第一SID的索引更新到所述数据包的目的地址中。
在一些实施方式中,获取模块1401配置为:获取第二SID的第三信息、第四信息和第五信息,所述第三信息用于指示所述第二SID所在的容器在所述数据包的SID列表中的位置,所述第四信息用于指示所述第二SID在所述容器中的位置,所述第五信息用于指示所述第二SID的SID类型和/或指示所述第二SID是否压缩;根据所述第二SID的第三信息、第四信息和第五信息,得到所述第一SID的第一信息和第二信息;其中,在所述SID列表中所述第二SID为所述第一SID的上一个SID。
在一些实施方式中,获取模块1401配置为:从所述数据包的SRH中获取所述第二SID的第三信息;从所述数据包的目的地址中获取所述第二SID的索引,所述第二SID的索引包括:第四信息和第五信息。
在一些实施方式中,获取模块1401配置为:根据所述第二SID的SID类型和所述第一SID的SID类型,确定所述第一SID与所述第二SID是否在同一个容器中;如果所述第一SID与所述第二SID在同一个容器中,则所述第一SID的第一信息与所述第二SID的第三信息相同,以及根据所述第二SID的第四信息,得到所述第一SID的第二信息;或者,如果所述第一SID与所述第二SID不在同一个容器中,则根据所述第二SID的第三信息,得到所述第一SID的第一信息,以及根据所述第一SID的SID类型,确定所述第一SID的第二信息。
在一些实施方式中,所述容器用于容纳多个压缩SID,所述压缩SID包括:节点标识和所述节点的function的取值。
在一些实施方式中,发送模块1403配置为:将所述第一SID复制到数据包的目的地址中,所述第一SID与所述目的地址中的公共前缀或地址块组成得到一个新的目的地址,并根据所述新的目的地址将所述数据包转发给下一个节点;或者,将所述第一SID和第二信息复制到数据包的目的地址中,所述第一SID和第二信息与所述目的地址中的公共前缀或地址块组成得到 一个新的目的地址,并根据所述新的目的地址将所述数据包转发给下一个节点;或者,将所述第一SID和第二信息复制到数据包的目的地址中,将所述数据包转发给下一个节点。
需要说明的是:上述实施例提供的节点在进行数据包处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将节点的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的节点与数据包处理的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参见图15,本公开实施例还提供一种节点,该节点1500包括:收发机1501、处理器1502和用于存储能够在处理器1502上运行的计算机程序的存储器1503;
所述收发机1501在所述处理器1502的控制下发送和接收数据;
所述处理器1502读取所述存储器1503中的计算机程序时,执行本公开前述实施例所述的数据包处理的方法的步骤。
可以理解,存储器1503可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(Random Access Memory, RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static Random Access Memory,SRAM)、同步静态随机存取存储器(Synchronous Static Random Access Memory,SSRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)、同步动态随机存取存储器(Synchronous Dynamic Random Access Memory,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced Synchronous Dynamic Random Access Memory,ESDRAM)、同步连接动态随机存取存储器(SyncLink Dynamic Random Access Memory,SLDRAM)、直接内存总线随机存取存储器(Direct Rambus Random Access Memory,DRRAM)。本发明实施例描述的存储器1503旨在包括但不限于这些和任意其它适合类型的存储器。
上述本发明实施例揭示的方法可以应用于处理器1502中,或者由处理器1502实现。处理器1502可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1502中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1502可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器1502可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器1503,处理器1502读取存储器1503中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,节点可以被一个或多个应用专用集成电路 (Application Specific Integrated Circuit,ASIC)、DSP、可编程逻辑器件(Programmable Logic Device,PLD)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器(Micro Controller Unit,MCU)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
在示例性实施例中,本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器1503,上述计算机程序可由节点1500的处理器1502执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本公开实施例前述数据包处理的方法的步骤。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
结合本公开公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以由在处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、EPROM、EEPROM、寄存器、硬盘、移动硬盘、只读光盘或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以携带在ASIC中。另外,该ASIC可以携带在核心网接口设备中。当然,处理器和存储介质也 可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本公开所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施方式而已,并不用于限定本公开的保护范围,凡在本公开的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本公开的保护范围之内。
本领域内的技术人员应明白,本公开实施例可提供为方法、系统、或程序产品。因此,本公开实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的程序产品的形式。
本公开实施例是参照根据本公开实施例的方法、设备(系统)、和程序产品的流程图和/或方框图来描述的。应理解可由程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的 功能的装置。
这些程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本公开实施例进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开实施例的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

Claims (14)

  1. 一种数据包处理的方法,包括:
    获取第一段标识SID的第一信息和第二信息,所述第一信息用于指示所述第一SID所在的容器在数据包的SID列表中的位置,所述第二信息用于指示所述第一SID在所述容器中的位置;
    根据所述第一信息和第二信息,得到所述第一SID在SID列表中的位置;
    将所述第一SID复制到数据包的目的地址中,发送所述数据包。
  2. 根据权利要求1所述的方法,其中,所述获取第一SID的第一信息和第二信息,包括:
    获取第二SID的第三信息和第四信息,所述第三信息用于指示所述第二SID所在的容器在所述数据包的SID列表中的位置,所述第四信息用于指示所述第二SID在所述容器中的位置;
    根据所述第二SID的第三信息和第四信息,得到所述第一SID的第一信息和第二信息。
  3. 根据权利要求2所述的方法,其中,所述获取第二SID的第三信息和第四信息,包括:
    从所述数据包的段路由头SRH中获取所述第二SID的第三信息;
    从所述数据包的目的地址中获取所述第二SID的索引,所述第二SID的索引包括:第四信息。
  4. 根据权利要求2所述的方法,其中,所述根据所述第二SID的第三信息和第四信息,得到所述第一SID的第一信息和第二信息,包括:
    根据所述第二SID的第四信息或根据所述第二SID的属性信息,确定所述第一SID与所述第二SID是否在同一个容器中;
    如果所述第一SID与所述第二SID在同一个容器中,则所述第一SID 的第一信息与所述第二SID的第三信息相同,以及根据所述第二SID的第四信息,得到所述第一SID的第二信息;或者,
    如果所述第一SID与所述第二SID不在同一个容器中,则根据所述第二SID的第三信息,得到所述第一SID的第一信息,以及根据所述第一SID的SID类型,确定所述第一SID的第二信息。
  5. 根据权利要求4所述的方法,其中,所述第一SID的SID类型是由所述第二SID的属性信息指示的。
  6. 根据权利要求1所述的方法,其中,所述方法还包括:
    将所述第一SID的第一信息更新到所述数据包的SRH中;
    将所述第一SID的第二信息作为所述第一SID的索引更新到所述数据包的目的地址中。
  7. 根据权利要求1所述的方法,其中,所述将所述第一SID复制到数据包的目的地址中,发送所述数据包,包括:
    将所述第一SID复制到数据包的目的地址中,所述第一SID与所述目的地址中的公共前缀或地址块组成得到一个新的目的地址,并根据所述新的目的地址将所述数据包转发给下一个节点;
    或者,将所述第一SID和第二信息复制到数据包的目的地址中,所述第一SID和第二信息与所述目的地址中的公共前缀或地址块组成得到一个新的目的地址,并根据所述新的目的地址将所述数据包转发给下一个节点;
    或者,将所述第一SID和第二信息复制到数据包的目的地址中,将所述数据包转发给下一个节点。
  8. 根据权利要求1所述的方法,其中,所述获取第一SID的第一信息和第二信息,包括:
    获取第二SID的第三信息、第四信息和第五信息,所述第三信息用于指示所述第二SID所在的容器在所述数据包的SID列表中的位置,所述第 四信息用于指示所述第二SID在所述容器中的位置,所述第五信息用于指示所述第二SID的SID类型和/或指示所述第二SID是否压缩;
    根据所述第二SID的第三信息、第四信息和第五信息,得到所述第一SID的第一信息和第二信息;
    其中,在所述SID列表中所述第二SID为所述第一SID的上一个SID。
  9. 根据权利要求8所述的方法,其中,所述获取第二SID的第三信息、第四信息和第五信息,包括:
    从所述数据包的SRH中获取所述第二SID的第三信息;
    从所述数据包的目的地址中获取所述第二SID的索引,所述第二SID的索引包括:第四信息和第五信息。
  10. 根据权利要求8所述的方法,其中,所述根据所述第二SID的第三信息、第四信息和第五信息,得到所述第一SID的第一信息和第二信息,包括:
    根据所述第二SID的SID类型和所述第一SID的SID类型,确定所述第一SID与所述第二SID是否在同一个容器中;
    如果所述第一SID与所述第二SID在同一个容器中,则所述第一SID的第一信息与所述第二SID的第三信息相同,以及根据所述第二SID的第四信息,得到所述第一SID的第二信息;或者,
    如果所述第一SID与所述第二SID不在同一个容器中,则根据所述第二SID的第三信息,得到所述第一SID的第一信息,以及根据所述第一SID的SID类型,确定所述第一SID的第二信息。
  11. 根据权利要求1所述的方法,其中,所述容器用于容纳一个标准SID或者多个压缩SID,所述压缩SID包括:节点标识和所述节点的功能function的取值。
  12. 一种节点,包括:
    获取模块,配置为获取第一SID的第一信息和第二信息,所述第一信息用于指示所述第一SID所在的容器在数据包的SID列表中的位置,所述第二信息用于指示所述第一SID在所述容器中的位置;
    处理模块,配置为根据所述第一信息和第二信息,得到所述第一SID在SID列表中的位置;
    发送模块,配置为将所述第一SID复制到数据包的目的地址中,发送所述数据包。
  13. 一种节点,包括:收发机、处理器和用于存储能够在处理器上运行的计算机程序的存储器;
    所述收发机用于在所述处理器的控制下发送和接收数据;
    所述处理器用于读取所述存储器中的计算机程序时,执行如权利要求1至11中任一项所述的数据包处理的方法的步骤。
  14. 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现包括如权利要求1至11中任一项所述的数据包处理的方法的步骤。
PCT/CN2021/089362 2020-04-24 2021-04-23 数据包处理的方法及设备 Ceased WO2021213507A1 (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 中兴通讯股份有限公司 路由方法、路由装置及计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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