WO2022111606A1 - Procédé de transmission de message, procédé de génération de liste de segments, procédé d'acquisition d'identifiant de segment compressé, et appareils - Google Patents

Procédé de transmission de message, procédé de génération de liste de segments, procédé d'acquisition d'identifiant de segment compressé, et appareils Download PDF

Info

Publication number
WO2022111606A1
WO2022111606A1 PCT/CN2021/133327 CN2021133327W WO2022111606A1 WO 2022111606 A1 WO2022111606 A1 WO 2022111606A1 CN 2021133327 W CN2021133327 W CN 2021133327W WO 2022111606 A1 WO2022111606 A1 WO 2022111606A1
Authority
WO
WIPO (PCT)
Prior art keywords
length
network device
compressed segment
identifier
segment
Prior art date
Application number
PCT/CN2021/133327
Other languages
English (en)
Chinese (zh)
Inventor
平善明
薛奇
刘立杰
方晟
沈凯强
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022111606A1 publication Critical patent/WO2022111606A1/fr

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
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed 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

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a method and device for message transmission, segment list generation, and compressed segment identifier acquisition.
  • the segment routing (SR) protocol is a source routing protocol.
  • the source node specifies the path for the application packet, and converts the path into an ordered segment (Segment) list and encapsulates it in the packet header. Intermediate nodes only need to forward according to the path specified in the packet header.
  • the basic idea of SR is to divide the network into different segments (Segments), and guide packets to be forwarded according to the specified path by splicing these segments together. Specifically, segment identity (SID) is used to identify a segment.
  • IPv6 segment routing (SRv6) When SR is deployed on the Internet Protocol Version 6 (IPv6) data plane, it is called IPv6 segment routing (SRv6).
  • forwarding path information is carried by a segment routing header (SRH) that includes a segment identification list (SID list).
  • SID list includes multiple segment identifiers (SIDs) arranged in sequence, respectively representing multiple segments, and each segment is an instruction or instruction set for processing the message.
  • the SRH is encapsulated in the packet, and the segment ID list in the packet carries the processing process of the packet by the SR network.
  • the length of each SID in the SRv6 network is 128 bits, and each time a SID is added to the SID list, the length of the SRH will increase by 128 bits, and the length of the message will also increase by 128 bits.
  • the increase of the packet length will cause a lot of network resources to be occupied during the forwarding process, resulting in low utilization of network link bandwidth.
  • the length of the SRH is too long, it will increase the difficulty of packet processing, making it difficult for existing devices to effectively process the SRH.
  • the embodiments of the present application provide a method and device for message transmission, segment list generation, and compressed segment identifier acquisition, which can solve the problem that the length of the SRH is too long and affects the transmission efficiency of the SRv6 message.
  • a method for transmitting a packet includes: a second network device receives a first packet sent by the first network device, where the first packet includes a packet corresponding to A segment list of the forwarding path of the first packet, where the segment list includes multiple compressed segment identifiers arranged in sequence, and the length of each compressed segment identifier in the multiple compressed segment identifiers is less than or equal to 128 bits; the second network The device reads the content to be copied in the segment list according to the encoding rule, and the encoding rule is used to indicate the encoding rule corresponding to the content to be copied; the second network device updates the first packet according to the content to be copied to generate the second packet; the second network device sends the second packet.
  • the second network device reads the content to be copied in the segment list according to an encoding rule, including: determining, by the second network device, a starting position, where the starting position is used for Indicates the starting position corresponding to the content to be copied; the second network device determines the length of the content to be copied according to the encoding rule and the starting position.
  • the lengths of the compressed segment identifiers included in the segment list may be different, when reading the content to be copied (the next segment identifier or the next compressed segment identifier) from the segment list, first determine the content to be copied The corresponding starting position, and then the length of the content to be copied is determined from the starting position according to the encoding rule, that is, the content to be copied is read.
  • the second network device determines the length of the content to be copied according to the encoding rule and the starting position, including: the second network device obtains the first parameter set and/or the first parameter set and/or the first parameter set and/or the first parameter set. Two parameter sets, the first parameter set includes the first initial length and the first increment length corresponding to the node identifier in the compressed segment identifier, and the second parameter set includes the first parameter corresponding to the function identifier in the compressed segment identifier. Two initial lengths and second incremental lengths; the second network device determines the length of the content to be copied according to the encoding rule, the first parameter set and/or the second parameter set, and the starting position.
  • the first initial length and the first increment length corresponding to the node identifier and the second initial length and the first increment corresponding to the function identifier are obtained.
  • Two incremental lengths Since the encoding rule is related to the above four lengths, the second network device reads the content to be copied according to the above four lengths, the encoding rule and the starting position, that is, determines the length of the content to be copied.
  • the compressed segment identifier generated according to the encoding rule may only include two parts, the node identifier and the function identifier, and does not include other information, such as marker bits, to increase the compression rate of the segment identifier.
  • the compressed segment identifiers generated according to the encoding rules may be continuous. For example, taking the variable length of the function identifier as an example, the node identifier is 001 and the length of the function identifier is 3 bits, then the compressed segment identifier generated according to the encoding rule can be are 001000, 001001, 001010, 001011, etc.
  • both the first initial length and the first increment length are multiples of 8 bits, and/or the second initial length and the second increment length are both 8 multiples of bits.
  • the first initial length and the first increment length and the second initial length and the second increment length corresponding to the node identifier can be multiples of 8 bits, so that the formed compressed segment identifier can achieve 8-bit alignment .
  • the first initial length, the first incremental length, the second initial length and the second incremental length can be set according to actual requirements.
  • the first packet further includes an extension pointer, where the extension pointer is used to sequentially indicate each compressed segment identifier in the multiple compressed segment identifiers, and the second network device determines The starting position includes: determining, by the second network device, a starting position of the content to be copied in the segment list according to the extension pointer.
  • the first message may also carry an extension pointer, so as to determine the starting position of the content to be copied in the segment list through the extension pointer.
  • the extension pointer indicates the starting position of the compressed segment identifier corresponding to the second network device
  • the second network device determines that the content to be copied is in the segment list according to the extension pointer , including: the second network device updates the value of the extension pointer according to the length of the compressed segment identifier corresponding to the second network device, so that the updated value of the extension pointer corresponds to the to-be-copied value
  • the starting position of the content in the segment list when the extension pointer indicates the starting position of the compressed segment identifier corresponding to the current network device (the second network device), since the second network device can determine the length of its own compressed segment identifier, the value of the extension pointer can be increased.
  • the extension pointer may be updated at the first network device first, and when the second network device receives the first packet, the extension pointer points to the starting position of the content to be copied in the segment list.
  • the second network device updates the destination address DA in the first packet according to the content to be copied, so as to generate a second packet, including: the second network device according to The content to be copied and the prefix corresponding to the content to be copied update the destination address DA in the first message to generate a second message.
  • the destination address DA in the first message is updated by using the prefix corresponding to the content to be copied and the content to be copied, thereby obtaining the second message.
  • the second network device updates the destination address DA in the first packet according to the content to be copied, so as to generate a second packet, including: the second network device utilizes The to-be-copied content updates information other than the prefix in the destination address DA of the first packet to generate a second packet.
  • the information other than the prefix in the destination address DA can be directly updated using the content to be copied, Thereby, the second message is obtained.
  • the plurality of compressed segment identifiers include a compressed segment identifier of a first length and a compressed segment identifier of a second length, and the first length and the second length are different.
  • the lengths of each compressed segment identifier may be different. Compared with the implementation in which all the compressed segment identifiers have the same length, the lengths of all the compressed segment identifiers do not need to be maintained. Consistent, the length of some compressed segment identifiers can be compressed to a shorter length. For example, for network devices with a small number of functions, the corresponding compressed segment identifiers are shorter, which can greatly improve the compression rate of segment identifiers and reduce resource consumption. occupied.
  • a packet transmission method includes: a first network device generates a first packet, where the first packet includes forwarding corresponding to the first packet A segment list of the path, the segment list includes multiple compressed segment identifiers arranged in sequence, the length of each compressed segment identifier in the multiple compressed segment identifiers is less than or equal to 128 bits, and the multiple compressed segment identifiers include the first A compressed segment identifier of one length and a compressed segment identifier of a second length, the first length and the second length are different, and each of the multiple compressed segment identifiers includes a prefix code; the first network The device sends the first packet according to the segment list.
  • the first network device after obtaining the segment list, the first network device generates a first packet including the segment list, and sends the first packet according to the segment list.
  • each compressed segment identifier includes a variable-length portion, and the length of the variable-length portion of the compressed segment identifier of the first length is different from the length of the compressed segment identifier of the second length.
  • the length of the variable-length part is different, the variable-length part includes the prefix code, and the length of the variable-length part is determined according to the encoding rule of the variable-length part.
  • each compressed segment identifier includes a variable length portion, and the lengths of the variable length portions of the compressed segment identifiers of different lengths are different.
  • each compressed segment identifier includes a function identifier, and the function identifier is the prefix code.
  • the variable length portion is the function identifier. That is, the length of the function identifier can be extended for the increase in the number of functions, so that when the number of functions of a certain network device is large, the function identifier can be carried through the variable-length compressed segment identifier to support capacity expansion.
  • each compressed segment identifier includes a node identifier, and the node identifier is the prefix code. That is, in response to the increase in the number of network devices, network capacity expansion can be supported by extending the length of the node identifiers, and capacity expansion can be supported without changing the assigned node identifiers.
  • the first packet further includes an extension pointer, where the extension pointer is used to sequentially indicate each compressed segment identifier in the multiple compressed segment identifiers.
  • the compressed segment identifier of the first length and the compressed segment identifier of the second length respectively correspond to the same prefix, or the compressed segment identifier of the first length and the second length
  • the compressed segment identifiers of , respectively, correspond to different prefixes.
  • the first packet is an IPv6-based segment routing SRv6 packet
  • the segment list is located in the segment routing header SRH.
  • a method for generating a segment list includes: a first network device determines a forwarding path of a packet; the first network device generates a segment list corresponding to the forwarding path,
  • the segment list includes multiple compressed segment identifiers arranged in sequence, each of the multiple compressed segment identifiers has a length of less than or equal to 128 bits, and the multiple compressed segment identifiers include a compressed segment of a first length An identifier and a compressed segment identifier of a second length, the first length and the second length are different, and each compressed segment identifier of the plurality of compressed segment identifiers includes a prefix code.
  • each compressed segment identifier includes a variable-length portion, and the length of the variable-length portion of the compressed segment identifier of the first length is different from the length of the compressed segment identifier of the second length.
  • the length of the variable-length part is different, the variable-length part includes the prefix code, and the length of the variable-length part is determined according to the encoding rule of the variable-length part.
  • the first network device is a controller in the network, and the method further includes: the first network device sends the segment list to an ingress device of the forwarding path.
  • the first network device is an ingress device of the forwarding path, and the method further includes: the first network device generates a packet including the segment list; the first network device The network device sends a message including the segment list.
  • a method for obtaining a compressed segment identifier includes: a first network device obtains a compressed segment identifier of a first length, where the compressed segment identifier of the first length includes a first variable A variable-length part, the first variable-length part belongs to a first resource pool, and the first resource pool includes a plurality of the first variable-length parts; based on insufficient resources of the first resource pool, the first variable-length part is A network device obtains a compressed segment identifier of a second length, the second length is greater than or equal to the first length, the compressed segment identifier of the second length includes a second variable length part, and the second variable length part belong to the second resource pool, the second resource pool includes a plurality of the second variable length parts; the first network device sends the compressed segment identifier of the first length and the compressed segment identifier of the second length , the compressed segment identifier of the first length and the compressed segment identifier of the second length
  • the compressed segment identifier of the first length and the compressed segment identifier of the second length include function identifiers
  • the first variable length part and the second variable length part are For the function identifier
  • the first resource pool and the second resource pool are resource pools corresponding to the function identifier.
  • the method further includes: based on insufficient resources of the nth resource pool, the first network device obtains the compressed segment identifier of the n+1th length, where the n+1th length is greater than or equal to The nth length, the compressed segment identifier of the n+1th length includes the n+1th variable length part, the n+1th variable length part belongs to the n+1th resource pool, and the n+1th resource
  • the pool includes a plurality of the n+1th variable length parts; wherein, the n is a natural number greater than 1.
  • the coding rule corresponding to the i-th resource pool is that the first i bit is 1, the i+1-th bit is 0, and the subsequent (i+1)*2 bits are 0 or 1 can take any value.
  • the coding rule corresponding to the i-th resource pool is that the first i bit is 0, the i+1-th bit is 1, and the subsequent (i+1)*2 bits are 0 or 1 can take any value.
  • both the initial length and the increment length are multiples of 8 bits.
  • a message transmission device including: a receiving unit, a processing unit, and a sending unit.
  • a receiving unit configured to receive a first packet sent by the first network device, where the first packet includes a segment list corresponding to a forwarding path of the first packet, and the segment list includes a sequence of multiple There are several compressed segment identifiers, and the length of each compressed segment identifier in the multiple compressed segment identifiers is less than or equal to 128 bits.
  • a processing unit configured to read the content to be copied in the segment list according to an encoding rule, where the encoding rule is used to indicate an encoding rule corresponding to the content to be copied.
  • the processing unit is further configured to update the destination address DA in the first message according to the content to be copied, so as to generate a second message.
  • a sending unit configured to send the second message.
  • the processing unit is specifically configured to determine a starting position, where the starting position is used to indicate a starting position corresponding to the content to be copied; according to the encoding rule and the starting position The start position determines the length of the content to be copied.
  • the processing unit is specifically configured to acquire a first parameter set and/or a second parameter set, where the first parameter set includes a first initial parameter corresponding to the node identifier in the compressed segment identifier length and the first increment length, the second parameter set includes the second initial length and the second increment length corresponding to the function identifier in the compressed segment identifier; according to the encoding rule, the first parameter set and/or the The second parameter set and the starting position determine the length of the content to be copied.
  • the length of the function identifier of the to-be-copied content; the length of the to-be-copied content is obtained according to the length of the node identifier in the to-
  • both the first initial length and the first increment length are multiples of 8 bits, and/or the second initial length and the second increment length are both 8 multiples of bits.
  • the first packet further includes an extension pointer, where the extension pointer is used to sequentially indicate each compressed segment identifier in the multiple compressed segment identifiers, and the processing unit specifically uses determining the starting position of the content to be copied in the segment list according to the extension pointer.
  • the extension pointer indicates a starting position of the compressed segment identifier corresponding to the second network device
  • the processing unit is specifically configured to determine the length of the compressed segment identifier corresponding to the second network device according to the length of the compressed segment identifier corresponding to the second network device.
  • the value of the extension pointer is updated, so that the updated value of the extension pointer corresponds to the starting position of the content to be copied in the segment list.
  • the processing unit is specifically configured to update the destination address DA in the first packet according to the content to be copied and a prefix corresponding to the content to be copied, so as to generate a second packet arts.
  • the processing unit is specifically configured to update the information except the prefix in the destination address DA of the first packet by using the content to be copied, so as to generate the second packet.
  • the plurality of compressed segment identifiers include a compressed segment identifier of a first length and a compressed segment identifier of a second length, and the first length and the second length are different.
  • a message transmission device including: a processing unit and a sending unit.
  • a processing unit configured to generate a first packet, where the first packet includes a segment list corresponding to a forwarding path of the first packet, the segment list includes a plurality of compressed segment identifiers arranged in sequence, the multiple The length of each compressed segment identifier in the plurality of compressed segment identifiers is less than or equal to 128 bits, the multiple compressed segment identifiers include a compressed segment identifier of a first length and a compressed segment identifier of a second length, the first length and the The second lengths are different, and each of the multiple compressed segment identifiers includes a prefix code.
  • a sending unit configured to send the first packet according to the segment list.
  • each compressed segment identifier includes a variable-length portion, and the length of the variable-length portion of the compressed segment identifier of the first length is different from the length of the compressed segment identifier of the second length.
  • the length of the variable-length part is different, the variable-length part includes the prefix code, and the length of the variable-length part is determined according to the encoding rule of the variable-length part.
  • each compressed segment identifier includes a function identifier, and the function identifier is the prefix code.
  • each compressed segment identifier includes a node identifier, and the node identifier is the prefix code.
  • the first packet further includes an extension pointer, where the extension pointer is used to sequentially indicate each compressed segment identifier in the multiple compressed segment identifiers.
  • the compressed segment identifier of the first length and the compressed segment identifier of the second length respectively correspond to the same prefix, or the compressed segment identifier of the first length and the second length
  • the compressed segment identifiers of , respectively, correspond to different prefixes.
  • the first packet is an IPv6-based segment routing SRv6 packet
  • the segment list is located in the segment routing header SRH.
  • an apparatus for generating a segment list includes: a processing unit.
  • the processing unit is used to determine the forwarding path of the packet.
  • the processing unit is further configured to generate a segment list corresponding to the forwarding path, where the segment list includes multiple compressed segment identifiers arranged in sequence, and the length of each compressed segment identifier in the multiple compressed segment identifiers is less than or equal to 128 bit, the multiple compressed segment identifiers include a compressed segment identifier of a first length and a compressed segment identifier of a second length, the first length and the second length are different, and each of the multiple compressed segment identifiers
  • the compressed segment identification includes a prefix code.
  • each compressed segment identifier includes a variable-length portion, and the length of the variable-length portion of the compressed segment identifier of the first length is different from the length of the compressed segment identifier of the second length.
  • the length of the variable-length part is different, the variable-length part includes the prefix code, and the length of the variable-length part is determined according to the encoding rule of the variable-length part.
  • the apparatus is a controller in a network, and the apparatus further includes: a sending unit; and a sending unit, configured to send the segment list to an ingress device of the forwarding path.
  • the apparatus is an ingress device of the forwarding path, and the apparatus further includes: a sending unit; the processing unit, further configured to generate a packet including the segment list; the A sending unit, configured to send a message including the segment list.
  • an apparatus for obtaining a compressed segment identifier includes: a processing unit and a sending unit.
  • a processing unit configured to obtain a compressed segment identifier of a first length, where the compressed segment identifier of the first length includes a first variable length part, the first variable length part belongs to a first resource pool, and the first resource The pool includes a plurality of said first variable length portions.
  • the processing unit is further configured to obtain a compressed segment identifier of a second length based on insufficient resources of the first resource pool, where the second length is greater than or equal to the first length, and the compressed segment identifier of the second length includes the first length.
  • variable length parts the second variable length parts belong to a second resource pool, and the second resource pool includes a plurality of the second variable length parts.
  • a sending unit configured to send the compressed segment identifier of the first length and the compressed segment identifier of the second length, and the compressed segment identifier of the first length and the compressed segment identifier of the second length are used to indicate the The segment executed by the first network device.
  • the compressed segment identifier of the first length and the compressed segment identifier of the second length include function identifiers, and the first variable length part and the second variable length part are For the function identifier, the first resource pool and the second resource pool are resource pools corresponding to the function identifier.
  • the processing unit is further configured to obtain the compressed segment identifier of the n+1th length based on insufficient resources of the nth resource pool, where the n+1th length is greater than or equal to the nth length,
  • the compressed segment identifier of the n+1th length includes the n+1th variable length part, the n+1th variable length part belongs to the n+1th resource pool, and the n+1th resource pool includes multiple the n+1th variable length portion; wherein, the n is a natural number greater than 1.
  • the coding rule corresponding to the i-th resource pool is that the first i bit is 1, the i+1-th bit is 0, and the subsequent (i+1)*2 bits are 0 or 1 can take any value.
  • the coding rule corresponding to the i-th resource pool is that the first i bit is 0, the i+1-th bit is 1, and the subsequent (i+1)*2 bits are 0 or 1 can take any value.
  • both the initial length and the increment length are multiples of 8 bits.
  • a network system including a first network device and a second network device.
  • the first network device may execute the method described in the second aspect, the third aspect or the fourth aspect; the second network device may execute the method described in the first aspect.
  • a communication device in a tenth aspect of an embodiment of the present application, includes: a processor and a memory; the memory is used to store instructions or computer programs; the processor is used to execute the The instructions or computer program in memory cause the communication device to perform the method of the first aspect, the second aspect, the third aspect or the fourth aspect.
  • a computer-readable storage medium including instructions, which, when executed on a computer, cause the computer to execute the above first aspect, second aspect, third aspect or fourth aspect the method described.
  • the first packet received by the second network device includes a segment list corresponding to the forwarding path of the first packet, and the segment list includes multiple compressed segment identifiers arranged in sequence, wherein each The length of each compressed segment identifier is less than or equal to 128 bits.
  • the second network device reads the content to be copied from the segment list according to the encoding rule, and the network device corresponding to the content to be copied is the next-hop network device.
  • the encoding rule is a rule corresponding to the network device corresponding to the content to be copied generating the content to be copied.
  • the second network device updates the destination address DA in the first packet by using the read content to be copied, so as to generate a second packet, and forward the second packet.
  • FIG. 1 is a schematic diagram of an application scenario provided by an embodiment of the present application.
  • FIG. 2 is a schematic structural diagram of a SRv6 packet format according to an embodiment of the present application
  • Fig. 3 is a kind of SID structure schematic diagram provided for the implementation of this application.
  • FIG. 4 is a flowchart of a method for obtaining a compressed segment identifier provided by an embodiment of the present application
  • FIG. 5 is a schematic structural diagram of a segment list provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of another SRv6 packet structure provided by an embodiment of the present application.
  • FIG. 7 is a flowchart of a message transmission method provided by an embodiment of the present application.
  • FIG. 8a is a schematic diagram of another SRv6 packet structure provided by an embodiment of the present application.
  • FIG. 8b is a schematic diagram of another SRv6 packet structure provided by an embodiment of the present application.
  • FIG. 9 is a flowchart of another message transmission method provided by an embodiment of the present application.
  • FIG. 10 is a structural diagram of a message transmission apparatus provided by an embodiment of the present application.
  • FIG. 11 is a structural diagram of another message transmission apparatus provided by an embodiment of the application.
  • FIG. 12 is a structural diagram of an apparatus for generating a segment list provided by an embodiment of the present application.
  • FIG. 13 is a structural diagram of an apparatus for generating a compressed segment identification provided by an embodiment of the present application.
  • FIG. 14 is a structural diagram of a network device provided by an embodiment of the present application.
  • FIG. 15 is another structural diagram of a network device provided by an embodiment of the present application.
  • the packet processing process can be divided into several segments, and each segment is a specific processing behavior performed by a specific network device. Several segments are executed separately by network devices on the packet forwarding path, forming the entire packet processing process. Each segment has a corresponding segment identification, ie SID.
  • the SID adopts an IPv6 address format with a length of 128 bits, that is, the length of each SID is 128 bits.
  • Each SID may include a locator field and a function field.
  • the content of the locator field may also be referred to as a locator for short, which is an identifier allocated to a network node in the network topology and used to identify the network node in the network topology.
  • the SID may include two types of node segment identifier (node SID) and adjacent segment identifier (adjacent SID).
  • the locator in the SID is used to indicate the network device that executes the segment corresponding to the SID. For node segment identification, the network device executing the segment corresponding to the SID is the network node identified by the locator in the SID, and for the adjacent segment identification, the network device executing the segment corresponding to the SID is the network identified by the locator in the SID. node.
  • a network node and a network device have the same meaning, and both refer to a switch, a router, a virtual routing device, a virtual forwarding device, or other forwarding devices.
  • the network node publishes the routing information corresponding to the locator to the network through the network protocol, so that other network nodes in the network forward the data packet to the network node.
  • the length of the locator is variable, and the length of the locator is related to the size of the network. For example, when the network scale is larger, the number of network nodes included in the network topology is greater, and the length of the locator is longer in order to identify the greater number of network nodes. Conversely, when the network size is smaller, the length of the locator is also shorter.
  • the content of the function field can also be referred to as function for short, which is used to represent the instruction or instruction set for processing the message, which is equivalent to the opcode of the computer instruction.
  • function for short, which is used to represent the instruction or instruction set for processing the message, which is equivalent to the opcode of the computer instruction.
  • the instruction or instruction set represented by function When executed on the network node, it will cause the network node to perform the corresponding forwarding behavior (behavior). For example, forwarding data packets to a specified link, or looking up a table for forwarding in a specified table, etc.
  • Some SIDs may also include an argument field and/or a padding field after the function field.
  • the content of the argument field which can also be referred to as argument for short, is the parameter involved in the execution of the instruction or instruction set represented by the function.
  • the parameters are, for example, flow information, service information or other related information.
  • the SID is used to represent the corresponding segment.
  • the SID can indicate the network device that executes the segment, and the SID can indicate the packet processing behavior corresponding to the segment.
  • the SID can also indicate the execution of the above-mentioned packets. Parameters involved in handling the behavior.
  • the SID list can indicate the processing process of the message.
  • the arrangement order of several SIDs in the SID list is the execution order of several segments in the message processing process.
  • the SRH including the SID list is encapsulated in the packet, so that the processing of the packet by the SRv6 network can be carried in the packet and passed to the network devices on the packet forwarding path.
  • the network devices on the packet forwarding path execute in sequence Self-related packet processing behavior.
  • the application scenario includes an SRv6 network
  • the SRv6 network includes a network device S and network devices 1 to 5 .
  • each network device has a corresponding locator, that is, an identifier assigned to the network device in the network topology, which is used to identify the network device in the network topology.
  • the identifier of network device 1 is locator 1
  • the identifiers of network devices 2 to 5 are locator 2 to locator 5, respectively.
  • the dotted line in FIG. 1 shows a packet forwarding path
  • the head node of the forwarding path is the network device S, and then passes through the network devices 1 to 5 in sequence.
  • the head node on the forwarding path may also be an ingress node of the SRv6 network, also referred to as an ingress device or an ingress network device.
  • the packet processing process corresponding to the forwarding path includes a total of 5 segments, which are respectively the packet processing behaviors performed by the network devices 1 to 5 .
  • the function corresponding to the packet processing behavior on network device 1 is function 1
  • the functions corresponding to the packet processing behavior on network devices 2 to 5 are function 2 to function 5, respectively.
  • locator 1 and function 1 form SID 1, that is, SID 1 is used to indicate the segment executed by network device 1 during packet processing.
  • SID 2 to SID 5 are used to indicate network device 2. to 5 executed segments.
  • SID 1 to SID 5 are arranged in order to form a SID list corresponding to the above message processing process.
  • the arrangement order of the 5 SIDs in the SID list is the execution order of the corresponding 5 segments in the message processing process, that is, the arrangement order is SID 1 to SID 5.
  • Figure 2 shows a message in an SRv6 network encapsulated with a SID list.
  • the packet header of the packet includes an IPv6 packet header and an SRH.
  • the IPv6 packet header includes the Version field, the Traffic Type field, the Flow Label field, the Payload Length field, the Next Header field, and the hop count. Limit (Hop Limit) field, source address (Source Address) field and destination address (destination address, DA) field.
  • the meaning of each field can refer to the explanation in Request for Comments (RFC) 8200.
  • SRH includes the next header (Next Header) field, header extension length (Hdr Ext Len) field, routing type (Routing Type) field, segment left (Segment Left) field, last index (Last Entry) field, marker ( Flags) field, tag (Tag) field and SID list.
  • the meaning of each field can refer to the explanation in RFC8754.
  • the SL field is also called the SL pointer. During the message forwarding process, the SL pointer points to each element in the SID list in turn, that is, with the different SL values, segment[SL] is used to represent each element in the SID list .
  • the SID list consists of multiple elements segment list[0] to segment list[n] arranged in sequence, each element is a SID, and the length of each element is 128 bits.
  • the SIDs in the SID list can be arranged from back to front, segment list[0] corresponds to the last executed segment, segment list[1] corresponds to the penultimate segment to be executed, and so on.
  • the SID list includes 5 SIDs, segment list[n] is SID 1, and segment list[0] is SID 5.
  • the SRH including the SID list can be encapsulated in the packet by the head node on the forwarding path, and subsequent network devices on the packet forwarding path can process the packet according to the SID list.
  • the head node encapsulates the IPv6 packet header and the SRH outside the received data packet to form an SRv6 data packet.
  • the head node on the forwarding path may also set the value of the DA field in the IPv6 header of the packet to the SID corresponding to the first executed segment in the SID list.
  • the head node can also set the value of the SL field to N-1, where N is the number of SIDs included in the SID list, that is, segment[SL] is the first SID in the SID list, corresponding to the first executed segment . Then, the head node on the forwarding path sends the packet along the forwarding path.
  • N is the number of SIDs included in the SID list, that is, segment[SL] is the first SID in the SID list, corresponding to the first executed segment .
  • the head node on the forwarding path sends the packet along the forwarding path.
  • the SID list is encapsulated in the message by the network device S, and the network devices 1 to 5 process the message according to the SID list in the message.
  • the network device S copies the SID 1 corresponding to the first executed segment into the DA field in the IPv6 packet header.
  • the network device S sets the value of the SL field to 4.
  • the network device S searches the local forwarding table according to the content of the
  • network devices on the forwarding path can be divided into transit nodes and endpoint nodes.
  • the SID in the DA field of the IPv6 header of the packet is not the local SID, that is, the SID in the DA field is not configured locally to indicate a segment.
  • the SID in the DA field of the IPv6 header of the packet is the local SID, that is, the SID in the DA field is configured locally to indicate a segment.
  • the network device when it is determined that the SID in the DA field is not a local SID, the network device is the transit node on the packet forwarding path.
  • the transit node does not need to parse the content in the SRH, but only searches the local IPv6 routing table according to the content of the DA field, and forwards the packet. Can.
  • the transit node can also be a network device that does not support SRv6.
  • the network device is the endpoint node on the packet forwarding path.
  • the endpoint node searches the forwarding information base (FIB) according to the SID in the DA field, and matches the local instantiation SRv6 SID, executes the packet processing behavior corresponding to the SRv6 SID of the local embodiment.
  • the endpoint node decrements the value of the SL field in the packet SRH by 1, and copies the segment list[SL] into the DA field of the IPv6 packet header, that is, updates the content of the DA field. And, continue to forward the message according to the updated DA field.
  • network device 1 receives the message, determines that SID 1 in the DA field is the local SID, executes the message processing behavior corresponding to SID 1, and subtracts 1 from the value of the SL field, that is, the value of the SL field. If it is 3, copy segment list[3], that is, SID 2, into the DA field, and send the message to network device 2 according to SID 2.
  • the execution steps from the network device 2 to the network device 5 are similar to those of the network device 1, which constitute a complete packet processing process.
  • the SID in the SRv6 network has the routable attribute, and when used in the SID list, it can simplify the creation of inter-domain paths and quickly establish end-to-end paths in the network.
  • the functions in the SID support programmability, can flexibly meet the needs of various services and network functions, and adapt to the needs of service and network development.
  • a SID with a length of 128 bits will also bring about the problems of low utilization of network link bandwidth and high packet processing difficulty.
  • different network devices in the network have different network functions, and the required SID space is different. For network devices with a small number of network functions, using a long SID will waste space; for network devices with a large number of network functions. Using a fixed-length SID may result in insufficient space.
  • the locator field in the SID may further include a prefix and a node ID.
  • the prefix is usually assigned by the network operator to the subnet where the network device is located, and is used to identify the entire subnet.
  • a subnet can also be called a network segment. All SIDs in the entire subnet have the same prefix. It can be considered that all SIDs in the entire subnet form a SID block, and the prefix is also used to identify the SID block, so the prefix can also be called a block.
  • the node ID is used to distinguish nodes within a subnet. The node IDs in the SIDs of different nodes in the subnet are different.
  • the SIDs corresponding to the above multiple network devices in the SID list all carry the same prefix, resulting in repeated redundancy. Optimizing this part of redundant content can achieve the technical effect of reducing the length of the SID list. Specifically, only one SID with the same prefix is carried in the message, and different SIDs can be obtained by restoring the same prefix and different C-SIDs at each network device on the forwarding path.
  • the prefix can be placed in the DA field of the IPv6 header of the packet by the head node on the packet forwarding path, and the endpoint nodes on the packet forwarding path can respectively update different C-SIDs to the prefix content in the DA field After that, the C-SID updated later overwrites the C-SID updated earlier. Therefore, different C-SIDs can be combined with prefixes to restore the corresponding SIDs. That is, although only C-SIDs are included in the SID list, the corresponding SIDs are still present in the DA field. Therefore, when the network device on the forwarding path processes the message according to the content of the DA field in the message, the content of the DA field is still the SID, which is compatible with the standard SRv6 message processing mechanism.
  • the C-SID may include an argument field, and the content of the argument field is consistent with the content of the argument field in the SID. Therefore, the length of the argument field is also consistent with the length of the argument field in the SID.
  • each element with a length of 128 bits in the SID list may be defined as a container (container), and each container accommodates an integer number of C-SIDs.
  • the remaining space less than the length of one C-SID is padding.
  • the SID list includes multiple C-SIDs
  • these C-SIDs are sequentially arranged in at least one container according to the order in the SID list.
  • the C-SID can also be mixed with the SID and arranged in the SID list.
  • the SID corresponding to some network devices that do not support the C-SID function still adopts the 128-bit format.
  • the forwarding path involves a virtual private network (VPN)
  • VPN virtual private network
  • the corresponding VPN SID still adopts the 128-bit format.
  • the SID can be accommodated in a container.
  • the SRH that includes both a 128-bit SID and a C-SID less than 128 bits can be called generalized SRH (generalized SRH, G-SRH), and the corresponding SRv6 technology that supports G-SRH can be called generalized SRv6 (generalized SRv6, G-SRv6) technology.
  • generalized SRH generalized SRH, G-SRH
  • SRv6 generalized SRv6
  • the SID list of the G-SRH may also include other types of identifiers, such as MPLS labels and Internet Protocol Version 6 (IPv4) addresses.
  • IPv4 Internet Protocol Version 6
  • G-SID All the identifiers included in the SID list of G-SRH, such as SID, C-SID, MPLS label and IPv4 address, can be collectively referred to as G-SID. More descriptions of G-SRH and G-SRv6 can be found in draft-lc-6man-generalized-srh-00 entitled “Generalized Segment Routing Header” dated February 2020, and March 2020 entitled “Generalized Segment Routing Header” Generalized SRv6 Network Programming" draft-cl-spring-generalized-srv6-np-01, May 2020 draft-cl-spring-generalized-srv6-for-cmpr titled "Generalized SRv6 Network Programming for SRv6 Compression” -01, their entire contents are hereby incorporated by reference as if all stated.
  • the packet forwarding path corresponding to the SID list in which the C-SID and the SID are mixed can be called a G-SRv6 path, and the G-SRv6 path can include SRv6 sub-paths and SRv6 compression sub-paths.
  • Figure 5 shows a schematic structure of the SID list corresponding to the G-SRv6 path.
  • the G-SRv6 path includes two SRv6 subpaths and two SRv6 compression subpaths, SRv6 subpath 1 and SRv6 subpath 2, SRv6 compression subpath 1 and SRv6 compression subpath 2, respectively.
  • G-SRv6 path in the figure also includes parts corresponding to two SRv6 sub-paths (referred to as SRv6 sub-path 1 and SRv6 sub-path in the figure for short). path 2) and the parts corresponding to the two SRv6 compression sub-paths (referred to as SRv6 compression sub-path 1 and SRv6 compression sub-path 2 for short in the figure).
  • the part corresponding to SRv6 subpath 1 is similar in structure to the part corresponding to SRv6 subpath 2, and both may include at least one SID.
  • the part corresponding to the SRv6 compression sub-path 1 is similar in structure to the part corresponding to the SRv6 compression sub-path 2, and both may include at least one C-SID.
  • the part includes at least one container.
  • the first SID in this part can be stored in the SID list in the form of a complete SID, or can be stored in the SID list in the form of a C-SID.
  • the first SID in this part can be stored in the SID list in the form of a complete SID, that is, the first container can include a 128-bit SID to simplify the packet processing process. The processing for the first container will be described in detail below.
  • each container includes C-SIDs arranged in sequence.
  • the SID included in the first container can be divided into three parts: prefix 1, C-SID 1, and an optional argument field or padding field.
  • the second container includes 4 C-SIDs from C-SID 2 to C-SID5. Subsequent containers and so on.
  • the SID list in which the C-SID and the SID are mixed can include multiple SRv6 compression subpaths.
  • the multi-segment SRv6 compression sub-paths are located in different subnets, that is, the SIDs corresponding to the nodes in the multi-segment SRv6 compression sub-paths have different prefixes.
  • the G-SRv6 path further includes the SRv6 compression subpath 2 .
  • the part corresponding to SRv6 compression subpath 1 is similar in structure to the part corresponding to SRv6 compression subpath 2, but in the part corresponding to SRv6 compression subpath 2, the prefix part included in the SID included in the first container is prefix 2, which is different from the above prefix 1. That is to say, different SRv6 compression sub-paths are distinguished by whether the SID includes the same prefix, that is, whether the C-SID corresponds to the same prefix. Therefore, each node in the same segment of SRv6 compressed subpath belongs to the same subnet.
  • the forwarding path passes through the network device 1 to the network device 5 in sequence.
  • the segments executed by the network device 1 to the network device 4 can be represented by C-SID 1 to C-SID 4 respectively, and the length of each C-SID is 32 bits.
  • the segment executed by the network device 5 is represented by a VPN SID with a length of 128 bits.
  • the packet format including the SID list corresponding to the forwarding path is shown in Figure 6.
  • the SID list includes 2 containers, the first container includes C-SID 1 to C-SID 4, and the second container includes SID 5.
  • the total length of the SID list is 32 bytes.
  • the length of the SID list is greatly shortened and the network efficiency is improved.
  • the arrangement order of C-SIDs in the SID list can be arranged in positive order, as shown in Figure 6, or can be arranged in reverse order, such as replacing the arrangement in Figure 6 with C from top to bottom -SID4 to C-SID1.
  • the SRH includes the SL field.
  • the head node of the forwarding path sets the value of the SL field to N-1, where N is the number of SIDs included in the SID list.
  • the network device corresponding to each SID in the SID list of the SRH that is, the endpoint node on the forwarding path, sequentially decrements the value of the SL field in the SRH of the message by 1, that is, the value of the SL field is decremented by 1. value, and copy the segment list[SL] to the DA field of the IPv6 header of the packet, that is, update the content of the DA field.
  • the content of the SL field can also be called the SL pointer, which in turn points to each element in the SID list.
  • the network device on the forwarding path can locate each element in the SID list according to the SL pointer, so as to find the next SID to be processed, and update the DA field.
  • each element in the SID list may accommodate multiple C-SIDs due to the shorter length of the C-SID. Or it can be considered that the elements in the SID list can be further divided into multiple sub-elements. Therefore, for the original SL pointer, the SL pointer points to each element in the SID list in turn, and each element further includes multiple sub-elements, so it is impossible to precisely locate each sub-element only by relying on the SL pointer. If these sub-elements include C-SIDs, it is impossible to accurately locate each C-SID in them.
  • the existing SL pointer needs to be extended. Specifically, one-dimensional pointer and two-dimensional pointer can be adopted.
  • a new pointer in addition to the existing SL pointer, a new pointer can be added to the message.
  • the new pointer can be called SI, or it can also be called compressed segment identifier remaining (C-SID left, CL )pointer.
  • the first-dimensional pointer that is, the SL pointer
  • the second-dimensional pointer that is, SI
  • C-SIDs can be arranged in elements from front to back.
  • the value of SI corresponding to the C-SID executed first is m-1
  • the value of the SI corresponding to the C-SID executed last is m-1
  • the SI value of 0 is 0, and so on.
  • the value of the SI pointer is decremented by 1, and the SI is shifted to the next C-SID. Therefore, through the combination of SL pointer and SI, not only all elements in the SID list can be accurately located, but also all sub-elements in the SID list can be accurately located.
  • the segment list[SL][SI] can be used to represent all G in the SID list. -SID. Taking the message shown in Figure 6 as an example, segment list[1][3] can be used to represent C-SID 1, and segment list[1][0] can be used to represent C-SID 4.
  • the SI when the SI is offset within the element, in the process of updating the pointer, the SI can be decremented by 1, and the SL pointer can remain unchanged, that is, the SL pointer still points to the same element, And SI points to the next child element in the element; and when SI currently points to the last child element of the element, that is, when SI needs to move to the next element, in the process of updating the pointer, the SL pointer can be decremented by 1, SI is set to m-1, that is, the SL pointer points to the next element, and the SI points to the first child element of the next element.
  • the newly added second-dimensional pointer ie, SI
  • SI may be located in the SRH in the message, or may be located in the DA field.
  • SI may be located in the lowest two bits in the DA field, or in the lowest three bits in the DA field.
  • the least significant byte of the DA field can also be used to place the SI, which is convenient for hardware implementation and facilitates the expansion of future solutions.
  • the offset step size of the existing SL pointer can be adjusted to form a new pointer, which can be called a generalized SID index (SI), or can be Still called the SL pointer.
  • SI generalized SID index
  • the one-dimensional pointer, ie SI is used to indicate a certain G-SID in the SID list.
  • the offset step size of the existing SL pointer is the length of the element in the SID list, that is, 128 bits, and the SL pointer points to the next element in the SID list after each offset.
  • the offset step size of SI is the length of the sub-element in the SID list, such as 32 bits or 16 bits, then the SI points to the next sub-element in the SID list after each offset.
  • segment list[SI] can be used to represent all G-SIDs in the SID list. It should be noted that since the offset step size of SI decreases, when it needs to point to the next element in the SID list, for example, when two SIDs in the SID list are adjacent, in order to point to the next SID, SI needs to offset Multiple steps to achieve offset length by one element.
  • the new one-dimensional pointer, SI can be located in the SRH in the message or in the DA field.
  • SI is still in the SL field.
  • the least significant byte of the DA field can also be used to place the SI, which is convenient for hardware implementation and facilitates the expansion of future solutions.
  • the expanded one-dimensional pointer and the expanded two-dimensional pointer may be collectively referred to as an expanded pointer.
  • the embodiment of the present application provides a method for message transmission.
  • the method adopts a compressed segment identifier (compressed SID, C-SID) whose length is less than 128 bits. It improves network efficiency and reduces the difficulty of packet processing, and can also solve the problem of wasted space or insufficient space for fixed-length SIDs.
  • This embodiment of the present application provides the format of the C-SID, as shown in FIG. 3 . Omit the prefix of the locator field and the possible argument field and/or padding field in the SID, and combine the node ID and function fields of the locator field to form the C-SID. Therefore, the C-SID is composed of node ID and function field, and its length can be less than 128 bits. Only C-SIDs can be included in the SID list, thereby achieving the technical effect of reducing the length of the SID list.
  • variable length in the variable-length compressed C-SID may mean that the length of the node ID is variable, and/or the length of the function ID is variable.
  • the initial length NodeInitlen and the incremental length NodeIncrLen of the node ID can be preset.
  • the resources of the node ID resource pool corresponding to the initial length NodeInitlen When the resources of the node ID resource pool corresponding to the initial length NodeInitlen are insufficient, increase the length of the node ID by NodeIncrLen to obtain a new node ID resource pool, that is, the second resource pool, so as to continue to provide other resources in the network according to the second resource pool.
  • Network devices assign node IDs.
  • the resources of the nth resource pool are insufficient, the n+1th resource pool corresponding to the node ID can be continuously expanded, and the resources of the n+1th resource pool can be used to allocate the node ID to the newly added network device.
  • the length of the function is variable, the initial length FuncIniLen and the incremental length FunIncrLen of the function can be preset.
  • the initial length NodeInitlen and the incremental length NodeIncrLen corresponding to the node ID, and the specific values of the initial length FuncIniLen and the incremental length FunIncrLen corresponding to the function can be set according to the actual application.
  • the initial length NodeInitlen, the incremental length NodeIncrLen, the initial length FuncIniLen and the incremental length FunIncrLen are all multiples of 8 bits to implement byte alignment.
  • the node ID allocation is taken as an example for description, and further, the initial length NodeInitlen is 3 bits, and the incremental length NodeIncrLen is 3 bits as an example.
  • the length of the node ID is 3 bits.
  • the first bit can be fixed to 0, and the last two bits can be arbitrarily valued to obtain the first bit about the node ID.
  • it can be expanded for the first time.
  • the initial node ID length is 3 bits, and the expansion is 6 bits, so the node ID length is 9 bits; the first 3 bits can be fixed at 110, and the last 6 bits can be arbitrarily valued to obtain
  • the third resource pool, the size of the third resource pool is 2 6 64.
  • the initial node ID length is 3 bits
  • i*3bit is expanded
  • the node ID length is (i+1)*3bit
  • the first i+1 bits are fixed at 1...10 (the front There are i 1s)
  • the last (i+1)*2 bits take any value to obtain the i+1th resource pool
  • the size of the i+1th resource pool is 2 (2i+2) .
  • the set of the expanded node ID and the existing node ID is a prefix code and can coexist.
  • the prefix code means that the code with the prefix code characteristic is the prefix code
  • the prefix code characteristic means that when encoding the character set, it is required that the code of any character in the character set is not the prefix of the code of other characters.
  • the character set includes a/b/c, where the code corresponding to a is 0, the code corresponding to b is 10, and the code corresponding to c is 110, and the code corresponding to each character is not a prefix of the other two codes.
  • Prefix codes have a wide range of applications in the computer field.
  • the node ID when encoding the node ID, it can also be encoded according to the following rules.
  • the first bit can be fixed to 1, and the last two bits can be arbitrarily set to obtain the first resource pool.
  • the first expansion can be performed.
  • the second expansion can be performed.
  • the initial node ID length is 3 bits, and the expansion is 6 bits, so the node ID length is 9 bits; the first 3 bits can be fixed as 001, and the last 6 bits can be arbitrarily set to obtain
  • the initial node ID length is 3 bits
  • the node ID length is (i+1)*3bit
  • the first i+1 bits are fixed as 0...01 (the front There are i 0s)
  • the last (i+1)*2 bits take any value to obtain the i+1th resource pool
  • the size of the i+1th resource pool is 2 (2i+2 ).
  • the set of the expanded node ID and the existing node ID is a prefix code and can coexist.
  • the resource pool size corresponding to the i-th expansion is a coding space with a size of 2 (NodeInitLen+i*NodeIncrLen-i-1) .
  • the encoding rules corresponding to the function can refer to the above node ID encoding process.
  • the initial length FuncIniLen and the incremental length FunIncrLen are both 3 bits.
  • the first bit can be fixed to 0, and the last two bits can be arbitrarily set to obtain the first resource pool for the function ID.
  • the first expansion can be carried out.
  • the initial function ID length is 3 bits, and if the expansion is 3 bits, the function ID length is 6 bits; the first 2 bits are fixed at 10, and the last 4 bits can take any value.
  • the initial functionID length is 3bit
  • i*3bit is expanded
  • the function ID length is (i+1)*3bit
  • the first i+1 bits are fixed to 1...10 (preceded by i 1)
  • the following (i+1)*2 bits can be arbitrarily valued to obtain the i+1th resource pool
  • the size of the i+1th resource pool is 2 (2i+2) .
  • the first expansion can be performed.
  • the initial function ID length is 3 bits, and the length of the function ID is 6 bits.
  • the second expansion can be carried out.
  • the initial function ID length is 3 bits
  • the function ID length is (i+1)*3bit
  • the first i+1 bits are fixed as 0...01 (the front There are i 0s)
  • the following (i+1)*2 bits take any value to obtain the i+1th resource pool
  • the size of the i+1th resource pool is 2 (2i+2) .
  • the set of the expanded function ID and the existing function ID is a prefix code and can coexist.
  • the prefixes of all SIDs are the same, but the lengths of the node IDs in all SIDs are not the same.
  • the node ID corresponding to network device 1 is 000
  • the node ID corresponding to network device 2 is 001
  • the length is 3 bits
  • the node ID corresponding to network device 5 is 100000
  • the length is 6 bits.
  • the length of the function ID field in all SIDs is not the same.
  • the function ID in a SID corresponding to network device 1 is 000
  • the function ID in a SID corresponding to network device 2 is 001
  • the length is 3 bits
  • the function ID in a SID corresponding to network device 5 is 100000
  • the length is 6bit.
  • the expansion of the node ID resource pool is usually performed by the user multiple times according to the current network size, so as to assign a unique node ID to each network device in the network.
  • function IDs due to the different functions undertaken by different network devices, some network devices undertake more functions and require a larger number of function IDs, while other network devices undertake fewer functions and require The number of function IDs is small, so the expansion of function IDs can be performed by each network device.
  • the method may include:
  • the first network device obtains a compressed segment identifier of a first length, where the compressed segment identifier of the first length includes a first variable-length part, the first variable-length part belongs to a first resource pool, and the first resource pool includes a plurality of first variable length portions.
  • the corresponding compressed segment identifier can be obtained.
  • the compressed segment identifier includes node ID and function ID.
  • the first variable length part in the compressed segment identifier of the first length obtained by the first network device is the function identifier function ID, wherein the function ID in the compressed segment identifier of the first length belongs to the first resource pool, and the first The resource pool includes a plurality of first variable-length function IDs.
  • the first resource pool is [000, 001, 010, 011]
  • the first resource pool includes 4 function IDs of the first variable length, wherein 000 indicates function1, 001 indicates function2, 010 indicates function3, and 011 indicates function4.
  • the first network device Based on insufficient resources in the first resource pool, the first network device obtains a compressed segment identifier of a second length, where the second length is greater than or equal to the first length, and the compressed segment identifier of the second length includes a second variable length part,
  • the second variable length portion belongs to a second resource pool that includes a plurality of second variable length portions.
  • the first network device can be based on the preconfigured function IDs.
  • the initial length and incremental length of the ID expand the resource pool of the function ID to obtain a second variable-length function ID.
  • the first network device obtains the compressed segment identifier of the second length based on the node ID and the function ID of the second variable length.
  • the compressed segment identifier of the second length includes a second variable length part, that is, a function ID of the second variable length, and the second resource pool to which the second variable length part belongs may include a plurality of second variable lengths The function ID of .
  • the second resource pool is [100000, 100001, 100010, 100011], where 100000 indicates function5, 100001 indicates function6, 100010 indicates function7, and 100011 indicates function8.
  • the first network device may automatically generate the second resource pool through an interior gateway protocol (interior gateway protocol, IGP) and a preconfigured initial length and incremental length.
  • IGP interior gateway protocol
  • the first network device obtains the compressed segment identifier of the second length according to the generated second resource, and delivers the compressed segment identifier of the second length to the forwarding entry.
  • the first network device can also obtain a compressed segment identifier of a third length, where the third length is greater than or equal to the second length, and the compressed segment identifier of the third length is A third variable length portion is included, the third variable length portion belongs to a third resource pool, and the third resource pool includes a plurality of third variable length portions.
  • the first network device obtains the compressed segment identifier of the n+1th length, where the n+1th length is greater than or equal to the nth length.
  • the compressed segment identifier of the n+1th length includes the n+1th variable length part, the n+1th variable length part belongs to the n+1th resource pool, and the n+1th resource pool includes a plurality of nth +1 variable length part, where n is a natural number greater than 1. That is, when the number of functions corresponding to the first network device is large, the length of the function ID can be expanded multiple times to obtain compressed segment identifiers of different lengths. With the method provided in this embodiment, when the number of functions corresponding to the network device is small, a shorter function ID can be used to shorten the length of the C-SID and avoid using the space of a long SID.
  • a longer function ID can be used to increase the length of the C-SID to avoid the problem of insufficient space caused by the fixed-length SID.
  • the extended implementation of the function ID reference may be made to the description of the encoding rule for the function ID above, which will not be repeated in this embodiment.
  • the tolerance is equal to the difference between the second variable length part and the first variable length part, that is, the incremental length.
  • the length of the node ID is 8 bits
  • the initial length of the function ID is 8 bits
  • the increment length is 8 bits
  • the length of the C-SID of the first length is 16 bits
  • the length of the C-SID of the second length is 24 bits. bits
  • the difference between the lengths of the two is 8 bits.
  • the first network device sends the compressed segment identifier of the first length and the compressed segment identifier of the second length, where the compressed segment identifier of the first length and the compressed segment identifier of the second length are used to indicate the segment executed by the first network device .
  • the first network device may send the compressed segment identifier of the first length and the compressed segment identifier of the second length to other network devices according to the actual application situation. For example, information related to the identifier of the compressed segment can be flooded out through the IGP protocol. Other network devices obtain the compressed segment identifier sent by the first network device, thereby implementing network functions, for example, generating a forwarding entry according to the compressed segment identifier sent by the first network device, or generating a guide based on the compressed segment identifier sent by the first network device The segment identifier for packet forwarding.
  • the first network device sends compressed segment identifiers of different lengths, the two compressed segment identifiers of different lengths are both used to indicate segments executed by the first network device.
  • the first network device may send compressed segment identifiers of different lengths according to the function to be implemented. For example, if the function to be implemented by the first network device is function1, the compressed segment identifier of the first length is sent; when the function implemented by the first network device is function7, the compressed segment identifier of the second length is sent; The function is function 30, then the compressed segment identifier of the third length is sent.
  • the first network device may also send the synthesized locator and the initial length and increment length corresponding to the variable length part.
  • the variable length part includes the node identifier and the function identifier
  • the first network device sends the initial length NodeInitlen and the increment length NodeIncrLen corresponding to the node identifier and the initial length FuncIniLen and the increment length FunIncrLen corresponding to the function identifier.
  • the initial length and incremental length of the node identifier and the initial length and incremental length of the function identifier can be manually configured by the user when configuring the locator, and the parameters configured in the same sub-network domain are the same.
  • the length of the C-SID may be aligned with 8 bits, that is, the length of the C-SID is an integer multiple of 8 bits.
  • the length of the C-SID may be 32 bits or 16 bits.
  • the initial length NodeInitlen and the increment length NodeIncrLen corresponding to the node ID should both be multiples of 8 bits, and/or the initial length FuncIniLen and the increment length FunIncrLen corresponding to the function should both be multiples of 8 bits.
  • SRv6 SIDs that are conducive to compression.
  • a shorter function field can be used, or a shorter node ID can be used.
  • the prefix is 64 bits
  • the node ID is 16 bits
  • the function field is 16 bits
  • the corresponding C-SID is 32 bits.
  • the prefix is 64 bits
  • the node ID is 8 bits
  • the function field is 8 bits
  • the rest is the padding field, so the corresponding C-SID is 16 bits.
  • An embodiment of the present application proposes a method for forwarding a packet, and the method involves a network device on a packet forwarding path.
  • the first packet received by the second network device includes a segment list corresponding to the forwarding path of the first packet, and the segment list includes a plurality of compressed segment identifiers arranged in sequence, wherein each compressed segment identifier The length is less than or equal to 128 bits.
  • the second network device reads the content to be copied from the segment list according to the encoding rule, and the network device corresponding to the content to be copied is the next-hop network device.
  • the encoding rule is a rule corresponding to the network device corresponding to the content to be copied generating the content to be copied.
  • the encoding rules corresponding to the compressed segment identifiers in the same sub-domain are the same, and the same sub-domain means that the prefixes in the sub-domain are the same.
  • the second network device updates the destination address DA in the first packet by using the read content to be copied, so as to generate a second packet, and forward the second packet. That is, for the multiple compressed segment identifiers included in the segment list, it is not necessary to know the corresponding length of each compressed segment identifier in advance, but can be obtained according to the encoding rule corresponding to the sub-network domain to which the compressed segment identifier belongs.
  • C-SIDs of different lengths are mixed in the same SRv6 compression sub-path, it is compatible with the packet forwarding and processing process in the existing SRv6 network.
  • the method involves a network device 101 and a network device 102 .
  • the network device 101 is the head node on the packet forwarding path.
  • the network device 101 may be the network device S in the application scenario shown in FIG. 1.
  • the network device 102 is another network device except the head node on the packet forwarding path.
  • the network device 102 may be the network device 1 to the network device 5 in the application scenario shown in FIG. 1 .
  • the method can include:
  • S701 The network device 101 obtains a segment list of the forwarding path.
  • the network device 101 may be the network device S in FIG. 1 , and the network device S may be an ingress device of the SRv6 network.
  • the network device 101 obtains the segment list of the forwarding path, including the segment list of the forwarding path received by the network device 101 from the controller, or the segment list of the forwarding path generated by the network device 101.
  • the network device 101 When the network device 101 generates the segment list of the forwarding path, it first determines the forwarding path corresponding to the forwarding packet, and generates the segment list according to the forwarding path.
  • the segment list includes multiple compressed segment identifiers arranged in sequence, each of the multiple compressed segment identifiers has a length of less than 128 bits, and the multiple compressed segment identifiers include a compressed segment identifier of a first length and a first compressed segment identifier.
  • a two-length compressed segment identifier, the first length and the second length are different, and each compressed segment identifier includes a prefix code.
  • the compressed segment identifier includes a node identifier and a function identifier.
  • the length of the node identifier node ID and/or function identifier function ID can be expanded to meet the expansion of the network scale and the number of functions corresponding to each network device. expand.
  • each compressed segment identifier may include a variable length portion, wherein the length of the variable length portion of the compressed segment identifier of the first length and the length of the variable length portion of the compressed segment identifier of the second length are different, and the length of the variable length portion of the compressed segment identifier of the second length is different.
  • the variable-length part includes a prefix code and the length of the variable-length part can be determined according to the encoding rule of the variable-length part. Wherein, for the coding rules of the variable-length part, reference may be made to the description of the above-mentioned node ID and/or function ID coding rules, which will not be repeated in this embodiment.
  • variable length part can be the function ID function ID, which is the prefix code, or the variable length part is the node ID node ID, and the node ID is the prefix code.
  • the variable length part in the compressed segment identifier of the first length corresponds to the identifier type corresponding to the variable length part of the compressed segment identifier of the second length, for example, both are function identifiers or both are node identifiers.
  • the node identifiers in the compressed segment identifier of the first length and the compressed segment identifier of the second length may be the same or different.
  • the node identifiers in the compressed segment identifier of the first length and the compressed segment identifier of the second length are the same, it indicates that the compressed segment identifier of the first length and the compressed segment identifier of the second length indicate segments executed by the same network device, for example, Both the compressed segment identifier of the first length and the compressed segment identifier of the second length indicate segments executed by the network device 1 .
  • the compressed segment identifier of the first length and the compressed segment identifier of the second length respectively indicate segments executed by different network devices, for example
  • the compressed segment identifier of the first length is used to indicate the segment executed by the network device 1
  • the compressed segment identifier of the second length is used to indicate the segment executed by the network device 2 .
  • the segment list may include multiple compressed segment identifiers C-SIDs of different lengths, for example, C-SIDs of a first length and C-SIDs of a second length.
  • the prefix part of the prefix corresponding to the C-SID of the first length and the prefix corresponding to the C-SID of the second length may be the same.
  • the C-SID of the first length and the C-SID of the second length are located in the same segment of SRv6 in the subnet.
  • the prefix part of the prefix corresponding to the C-SID of the first length and the prefix part of the prefix part of the C-SID of the second length may also be different.
  • the prefix part corresponding to the C-SID of the first length is prefix1
  • the C-SID of the second length is prefix2. That is, the C-SID of the first length and the C-SID of the second length are located in different SRv6 subnets, respectively.
  • the packet processing process includes 5 segments
  • the total length of the 5 SIDs is 80 bytes.
  • the total length of C-SID is 20 bytes, and the compression effect is obvious.
  • first obtain the SID list including the SID then compress the SID in the SID list including the segment identifier, replace the SID in it with the corresponding C-SID, and obtain the SID including the SID list.
  • the SID list of the C-SID; or, the SID can also be compressed first to obtain the corresponding C-SID, and then the SID list including the C-SID is obtained according to the C-SID.
  • the segment list includes elements of length 128 bits, and the C-SID of the first length and the C-SID of the second length may be located in the same element in the segment list.
  • a segment list including C-SIDs of different lengths is shown in FIG. 8a, and the segments executed by network device 1-network device 4 can be identified by a C-SID with a length of 16 bits, that is, C - SID1 to C-SID4; the segment performed by the network device 5 can be represented by a C-SID with a length of 32 bits, ie C-SID5.
  • the segment list can include only 1 container.
  • the total length of the segment list shown in Figure 8a is reduced by 128 bits. It can be seen that when the SID list includes C-SIDs of different lengths, the length of some C-SIDs can be further shortened, so that the length of the entire SID list is further shortened and network efficiency is improved. When the number of C-SIDs in the SID list is larger, the effect of this technique will be more significant.
  • the network device 101 generates a first packet, where the first packet includes a segment list corresponding to a forwarding path of the first packet.
  • the network device 101 after the network device 101 generates or obtains the segment list corresponding to the message forwarding path, it can encapsulate the segment list SID List in the received data message to pass
  • the segment list indicates the forwarding path of the data packet.
  • the network device 101 encapsulates the IPv6 header and the SRH outside the received data packet to form an SRv6 data packet. That is, the first packet is an SRv6 data packet.
  • the network device 101 obtains a segment list corresponding to the forwarding path of the first packet, and encapsulates the segment list in the first packet, so as to process the first packet.
  • the process is carried in the message and transmitted to each network device on the forwarding path of the first message, so that each network device on the forwarding path executes its own related message processing behavior in sequence after receiving the first message.
  • the first packet may further include an extension pointer, so as to use the extension pointer to sequentially indicate each compressed segment identifier and/or segment identifier among the multiple compressed segment identifiers in the segment list.
  • the extended pointer may be a one-dimensional pointer or a two-dimensional pointer.
  • the first-dimensional pointer namely the SL pointer
  • the second-dimensional pointer namely the SI
  • the one-dimensional pointer is used to indicate a certain -SID in the SID list.
  • the extension pointer may be located in the SRH in the message, or may be located in the DA field.
  • the extension pointer may be located in a specific field in the SRH.
  • the least significant byte of the DA field can also be used to place the SI, which is convenient for hardware implementation and facilitates the expansion of future solutions.
  • the extended pointer may be added to the first packet by the network device 101, and the initial value of the extended pointer in the first packet is set.
  • the initial value of the SL pointer is set to N-1, where N is the number of containers included in the SID list, and the SL pointer points to each container in a decremented form.
  • the initial value of SI can be set to M, where M is the length of each container, that is, 128, and the SI pointer points to the bits in the container in a decremented form.
  • the initial value of SI can be set to 0, pointing to the bits in the container in incrementing form.
  • the initial value of SI is configured as N, where N is the total length of all G-SIDs included in the SID list.
  • the network device 101 may also place the prefix corresponding to the C-SID in the segment list in the DA field of the IPv6 packet header of the SRv6 data packet.
  • the network device 101 may place the first C-SID in the segment list after the prefix in the DA field.
  • the network device S places the prefix at the starting position of the DA field, and places the C-SID 1 after the prefix in the DA field, so that the Content prefix+C-SID 1 restores SID 1.
  • the value of the extension pointer may not be updated, that is, the network device 101 places the first G-SID in the SID list in the DA field
  • the value of the extended pointer is still the initial value. That is, for the first message, the G-SID in the SID list pointed to by the extended pointer is the G-SID included in the DA field.
  • the network device S places C-SID 1 in the DA field of the second message, and the The value of the SL pointer in the second packet is still the initial value of 0, and the value of the SI is still the initial value of 0 or 127.
  • the value range of SI is 0-127, which is used to indicate each bit.
  • the value of the extended pointer may be updated, that is, the network device 101 places the first G-SID in the segment list in the DA field
  • the value of the extension pointer is increased by the first G-SID length. That is, the extension pointer points to the second G-SID in the segment list.
  • the SID list only consists of SIDs.
  • the network device decrements the value of the SL field in the packet SRH by 1, and copies the segment list[SL] to the DA of the IPv6 header. field, that is, update the content of the DA field.
  • the C-SID is also included in the SID list, in order to be compatible with the packet forwarding process in the above-mentioned SRv6 network, the update method of the DA field by the network device will change.
  • the network device needs to know the starting position of the next compressed SID, read the node ID and function ID according to the coding rules from the starting position, combine the two to obtain the next compressed SID, and use the compressed SID to update the DA. field.
  • the initial length of the entire network configuration is 3 bits
  • the incremental length is 3 bits.
  • the locator of network device 1 is FFFF:001X::/19, where FFFF is the prefix part with a length of 16 bits, and 001 is a binary node ID with a length of 3 bits, that is, the sum of the length of the prefix part and the node id is 19 Bit, X represents a placeholder for all zeros, after the node id.
  • the SID is FFFF:001001X::, the length is 128 bits, FFFF is the prefix part, the length is 16 bits, 001 is the node ID in binary form, the length is 3 bits, 001 is the function ID in binary form, the length is 3 bits, X stands for an all-zero placeholder after the function ID, and the compressed SID is 001001.
  • the locator of network device 2 is FFFF:100001X::/22, where FFFF is the prefix part with a length of 16 bits, 100001 is a binary node ID with a length of 6 bits, that is, the sum of the length of the prefix part and the node id is 22 Bit, X represents a placeholder for all zeros, after the node id.
  • SID is FFFF:100001110010011X::, the length is 128 bits, FFFF is the prefix part, the length is 16 bits, 100001 is the node ID in binary form, the length is 6 bits, 110010011 is the function ID in binary form, the length is 9 bits, X stands for an all-zero placeholder after the function ID, and the compressed SID is 100001110010011.
  • the incoming DA is FFFF:001001X::20, and the SID list is [Y001001100001110010011Y], where Y identifies other content, such as the SIDs corresponding to other network devices.
  • the network device 1 is a pointer in hexadecimal form, that is, it points to the 32nd bit in an element with a length of 128 bits.
  • the network device 1 executes the function of FFFF:001001X, and at the same time, the network device 1 moves the SI pointer to the next compressed SID (6 bits) according to the length of its corresponding SID (6 bits).
  • the starting position 26 of the SID corresponding to the network device 2) indicates that the pointer points to the 38th bit in the element with a length of 128 bits, then the network device 1 starts from the position indicated by the pointer, according to the node ID encoding rules, first read 1 1 and 1 0, then read 3+1*3-1-1 bits as 0001, get the node ID code 100001; then, according to the function ID encoding rules, read 2 1s and 1 0, continue to read 3+2*3-2-1 bits as 010011, get the function ID as 110010011, merge the node ID and function ID to get 100001110010011, replace it on DA to get FFFF: 100001110010011X :26.
  • S703 The network device 101 sends the first packet according to the segment list.
  • the network device 101 after the network device 101 generates the first packet, it forwards the first packet according to the forwarding path indicated by the segment list. Specifically, the network device 101 determines the next-hop network device according to the DA field in the IPv6 header of the first packet, and then sends the first packet to the next-hop network device.
  • the network device S has placed the C-SID 1 in the prefix and the SID list in the DA of the first message.
  • the network device S can restore the SID 1 according to the content prefix+C-SID 1 in the DA field of the first message, and the network device S searches for the local forwarding entry according to the SID 1, and determines that the next hop network device is the network device 1.
  • the endpoint node on the packet forwarding path receives the packets sent by the previous hop network device in turn, updates the content of the DA field according to the segment list, and then forwards the packet according to the content of the DA field, so that the packet follows the forwarding path corresponding to the segment list. send out.
  • S704 The network device 102 receives the first packet.
  • the network device 102 may receive the first packet sent by the previous-hop network device, where the network device 102 is an endpoint node other than the head node on the packet forwarding path.
  • the network device 102 may be the network devices 1 to 5 in the application scenario shown in FIG. 1 .
  • the first packet received by the network device 1 is the packet sent by the network device S, that is, the SRv6 data packet after the network device S encapsulates the SID list.
  • the first packets received by the network devices 2 to 5 are the SRv6 data packets updated by the previous hop network device.
  • the network device 102 reads the content to be copied from the segment list according to the encoding rule.
  • the network device 102 can read the content to be copied from the segment list according to the encoding rule, so as to use the content to be copied to update the destination DA in the first packet and use the content to be copied.
  • the compressed segment identifier determines the next hop network device.
  • the content to be copied is the compressed segment identifier updated by the network device 102 to the DA field of the first packet.
  • the network device 102 reads the content to be copied in the segment list according to the encoding rule, which can be implemented by the following two steps:
  • the network device 102 determines the starting position, where the starting position is used to indicate the starting position corresponding to the content to be copied.
  • the network device 102 may use the extension pointer to determine the starting position of the content to be copied in the segment list. Specifically, if the value of the extension pointer is not updated after the network device 101 places the first G-SID in the SID list in the DA field, the extension pointer points to the first G-SID at this time. In this case, the network device 102 updates the value of the extension pointer according to the length of its corresponding compressed segment identifier, so that the value of the updated extension pointer corresponds to the second G-SID, that is, the start of the content to be copied in the segment list Location.
  • the segment list may include compressed segment identifiers of different lengths, and the value of the extension pointer updated by the network device 102 is also different.
  • the length of the corresponding compressed segment identifier is 16 bits
  • the extension pointer is offset by 16 bits
  • the length of the corresponding compressed segment identifier is 32 bits
  • the extension pointer is offset by 32 bits.
  • the adjustment process of the value of the extended pointer is different.
  • the adjustment process of the extended pointer includes: the network device 102 determines the value of SI according to the length of its corresponding compressed segment identifier, so that the value of SI is used to indicate the length of the content to be copied. is the position in the 128-bit element. Specifically, the network device 102 reads the original value of SI in the header of the first packet, and subtracts the updated value from the original value of SI to obtain the value of SI. That is, the length corresponding to the update value is the length of the SI offset, and the length corresponding to the update value is the length of the G-SID corresponding to the network device 102 .
  • the update value may be a value obtained by dividing the length of the local G-SID by the unit length. That is, the length corresponding to the update value is an integral multiple of the unit length, that is, the length of the SI offset is an integral multiple of the unit length. For example, when the unit length is 16 bits, and the length indicated by the local segment identifier is 16 bits, the update value is 1, and the length indicated by the local segment identifier is 32 bits, and the update value is 2.
  • the network device 102 determines the position of the content to be copied in the element with a length of 128 bits according to the value of SI, and determines the position of the element in the SID list according to the value of the SL pointer. It is worth noting that during this process, the value of the SL pointer may need to be adjusted. Also, after adjusting the value of the SL pointer, it may be necessary to set the value of SI to the initial value.
  • the SL needs to be adjusted at this time
  • the value of the pointer is set so that the SL pointer points to the next element, and the value of SI is set to the initial value, so that the SI points to the first bit in the next element.
  • the SI offset points to the padding part of the current element
  • the value of SI is 111, pointing to the 112th bit, and the remaining 16 bits in the element are all 0, or the value of SI is 95, pointing to When the 96th bit and the remaining 32 bits in the element are all 0s, the value of the SL pointer needs to be adjusted so that the SL pointer points to the next element.
  • the adjustment process of the extended pointer includes: the network device 102 determines the value of SI according to the length indicated by the local segment identifier, so that the value of SI is used to indicate the position of the content to be copied in the SID list. Specifically, the network device 102 reads the original value of SI in the header of the first packet, and subtracts the updated value from the original value of SI to obtain the value of SI.
  • the update value of SI is similar to the above description, and will not be repeated here.
  • the network device 102 writes the value of the extended pointer into the first packet. That is, the updated message header of the first message, that is, the message header of the second message described later, includes the value of the extended pointer.
  • the extension pointer If the value of the extension pointer is updated after the network device 101 places the first G-SID in the segment list in the DA field, the extension pointer now points to the second G-SID. That is, the value of the extension pointer at this time corresponds to the starting position of the content to be copied in the segment list.
  • the network device 102 determines the length of the content to be copied according to the encoding rule and the starting position.
  • the network device 102 may determine the length of the content to be copied according to the encoding rule and the starting position, that is, obtain the content to be copied.
  • the network device 102 obtains a first parameter set and/or a second parameter set, where the first parameter set includes the first initial length and the first incremental length corresponding to the node identifier, and the second parameter set includes the first parameter set corresponding to the function identifier. 2.
  • the initial length and the second incremental length; the network device 102 determines the length of the content to be copied according to the encoding rule, the first parameter set and/or the second parameter set, and the starting position.
  • both the first initial length and the first increment length may be multiples of 8 bits
  • both the second initial length and the second increment length may be multiples of 8 bits.
  • the length of the content to be copied is related to the number of expansions i or j, which can be specifically determined by the following steps:
  • the network device 102 reads N bits backward from the starting position, the first i bit in the N bits is 1, and the i+1th bit is 0 or the first among the N bits. The i bits are 0, and the i+1th bit is 1.
  • the value of i can also represent the number of times that the node identifier is expanded.
  • the network device 102 continues to read P bits backward, the first j bits in the P bits are 1, the j+1th bit is 0, or the first j among the P bits The bit is 0, and the j+1th bit is 1.
  • the Q second initial length+j*second increment length ⁇ j ⁇ 1 bits, and uses P+Q bits as the content to be copied.
  • the length of the feature ID is the length of the feature ID.
  • the value of j may also represent the number of times the function identifier is expanded.
  • the network device 102 obtains the length of the content to be copied according to the length of the node identifier in the content to be copied and the length of the function identifier in the content to be copied.
  • the compressed segment identifier of the second network device is "001001"
  • the extended pointer points to the first bit "0" of the compressed segment identifier of the second network device
  • the extension pointer is moved backward by 6 bits to point to the first bit of the content to be copied.
  • the network device 102 can determine whether the C-SID or SID value in the DA field in the first packet is the same as the local segment identifier SID, if they are the same , the operation of S706 is performed.
  • the network device 102 updates the destination address DA in the first packet according to the content to be copied, so as to generate a second packet.
  • the network device 102 uses the content to be copied to update the content of the destination address DA in the first message, and uses the message including the updated DA as the second message.
  • the network device 102 can directly use the content to be copied to update the information in the DA field except the prefix part, so as to obtain the updated information DA field.
  • S707 The network device 102 sends the second packet.
  • the network device 102 may determine the next-hop network device according to the content of the DA field in the second packet, and send the second packet to the next-hop network device. For example, when the network device 102 is the network device 1, the prefix+C-SID 2 in the DA field of the second packet restores the SID 2, and the network device 1 searches the local forwarding entry according to the SID 2 to determine the next hop network device For the network device 2, the second packet is sent to the network device 2. When the network device 102 is the network devices 2 to 5, the process of sending the second packet by the network device 102 according to the content of the destination address field is analogous, and details are not repeated here.
  • the network device may also update the DA field in the following manner.
  • the C-SID or SID may carry the continue of compression (COC) information, and the COC information is used to indicate the SID list Whether the C-SID continues to be arranged.
  • COC continue of compression
  • the C-SID in the current DA field includes COC information, it indicates that the next C-SID to be processed corresponds to the same prefix as the C-SID in the DA field, and the next C-SID to be processed is copied to the DA field After the prefix, the next C-SID to be processed and the prefix restore the next SID.
  • the C-SID in the current DA field does not include the COC message, it indicates that the prefix will change.
  • the network device uses the standard processing method to copy the 128-bit SID into the DA field.
  • the SID includes COC information, it indicates that the next C-SID to be processed corresponds to the same prefix as the SID, and the network device only needs to copy the next C-SID to be processed after the prefix in the DA field, and the next The pending C-SID and prefix restore the next SID.
  • the above COC information may be an attribute of SID or C-SID, also referred to as COC attribute.
  • the method relates to an implementation process of acquiring a segment list by the first network device, and the method may include:
  • S901 The first network device determines the forwarding path of the packet.
  • the first network device generates a segment list corresponding to the forwarding path.
  • the segment list includes multiple compressed segment identifiers arranged in sequence, each of the multiple compressed segment identifiers has a length of less than or equal to 128 bits, and the multiple compressed segment identifiers include a compressed segment identifier of a first length and The compressed segment identifier of the second length, the first length is different from the second length, and each compressed segment identifier of the plurality of compressed segment identifiers includes a prefix code.
  • each compressed segment identifier includes a variable length portion, and the length of the variable length portion of the compressed segment identifier of the first length is the same as the variable length of the compressed segment identifier of the second length.
  • the lengths of the parts are different, the variable-length part includes the prefix code, and the length of the variable-length part is determined according to the encoding rule of the variable-length part.
  • the first network device may be the network device S in the embodiment corresponding to FIG. 1 , and the network device S may be an ingress device of the SRv6 network. After generating the segment list corresponding to the forwarding path, the first network device may generate a segment list including segments list of messages. Alternatively, the first network device may also be a controller in the network. In this case, the first network device sends the segment list to the ingress device of the forwarding path, and the ingress device generates the first packet according to the segment list.
  • S701 For the specific implementation of determining the forwarding path and generating the segment list by the first network device, reference may be made to the detailed description of S701, and details are not described herein again in this embodiment.
  • FIG. 10 is a structural diagram of a message transmission apparatus provided by an embodiment of the present application.
  • the apparatus 1000 includes: a receiving unit 1001 , a processing unit 1002 , and a sending unit 1003 .
  • a receiving unit 1001 configured to receive a first packet sent by the first network device, where the first packet includes a segment list corresponding to a forwarding path of the first packet, and the segment list includes sequentially arranged Multiple compressed segment identifiers, each of the multiple compressed segment identifiers has a length of less than or equal to 128 bits.
  • the receiving unit 1001 reference may be made to the detailed description of S705.
  • the processing unit 1002 is configured to read the content to be copied in the segment list according to an encoding rule, where the encoding rule is used to indicate an encoding rule corresponding to the content to be copied.
  • an encoding rule is used to indicate an encoding rule corresponding to the content to be copied.
  • the processing unit 1002 is further configured to update the destination address DA in the first packet according to the content to be copied, so as to generate a second packet.
  • the processing unit 1002 reference may be made to the relevant description of S707.
  • a sending unit 1003, configured to send the second packet.
  • the sending unit 1003 reference may be made to the relevant description of S707.
  • the apparatus 1100 includes: a processing unit 1101 and a sending unit 1102 .
  • the processing unit 1101 is configured to generate a first packet, where the first packet includes a segment list corresponding to a forwarding path of the first packet, the segment list includes a plurality of compressed segment identifiers arranged in sequence, and the The length of each compressed segment identifier in the multiple compressed segment identifiers is less than or equal to 128 bits, and the multiple compressed segment identifiers include a compressed segment identifier of a first length and a compressed segment identifier of a second length, and the first length and The second lengths are different, and each of the plurality of compressed segment identifiers includes a prefix code.
  • the processing unit 1101 reference may be made to the relevant description of S703.
  • the sending unit 1102 is configured to send the first packet according to the segment list.
  • the sending unit 1102 reference may be made to the relevant description of S704.
  • the apparatus 1200 includes: a processing unit 1201 .
  • the processing unit 1201 is configured to determine the forwarding path of the packet.
  • the processing unit 1201 is further configured to generate a segment list corresponding to the forwarding path, where the segment list includes multiple compressed segment identifiers arranged in sequence, and the length of each compressed segment identifier in the multiple compressed segment identifiers less than or equal to 128 bits, the multiple compressed segment identifiers include a compressed segment identifier of a first length and a compressed segment identifier of a second length, the first length and the second length are different, the multiple compressed segment identifiers Each compressed segment identifier in includes a prefix code.
  • the processing unit 1101 reference may be made to the relevant descriptions of S701-S702.
  • the apparatus 1200 includes: a processing unit 1301 and a sending unit 1302 .
  • the processing unit 1301 is configured to obtain a compressed segment identifier of a first length, where the compressed segment identifier of the first length includes a first variable-length part, the first variable-length part belongs to a first resource pool, and the first The resource pool includes a plurality of said first variable length portions.
  • the processing unit 1301 reference may be made to the relevant description of S401.
  • the processing unit 1301 is further configured to obtain a compressed segment identifier of a second length based on insufficient resources of the first resource pool, where the second length is greater than or equal to the first length, and a compressed segment of the second length is
  • the identification includes a second variable length portion, the second variable length portion belongs to a second resource pool, the second resource pool includes a plurality of the second variable length portions.
  • the sending unit 1302 is configured to send the compressed segment identifier of the first length and the compressed segment identifier of the second length, where the compressed segment identifier of the first length and the compressed segment identifier of the second length are used to indicate the Describe the segment executed by the first network device.
  • the sending unit 1303 For the specific implementation of the sending unit 1303, reference may be made to the relevant description of S403.
  • an embodiment of the present application further provides a communication system, the system includes: a first network device and a second network device; wherein, the operations that can be performed by the first network device may refer to the first network device in the embodiment shown in FIG. 9 .
  • the operations that can be performed by the first network device may refer to the first network device in the embodiment shown in FIG. 9 .
  • the operations that can be performed by the second network device refer to the related description of the second network device in the example shown in FIG. 9 .
  • FIG. 14 is a schematic structural diagram of a network device according to an embodiment of the present application.
  • the network device may be the first network device or the second network device in the embodiment shown in FIG. 9 , or may also be the implementation shown in FIG. 10 .
  • the apparatus 1000 in the example, the apparatus 1100 in the embodiment shown in FIG. 11 , the apparatus 1200 in the embodiment shown in FIG. 12 , and the apparatus 1300 in the embodiment shown in FIG. 13 are implemented by equipment.
  • the network device 1400 includes at least a processor 1410 .
  • Network device 1400 may also include communication interface 1420 and memory 1430 .
  • the number of processors 1410 in the network device 1400 may be one or more, and one processor is taken as an example in FIG. 14 .
  • the processor 1410, the communication interface 1420, and the memory 1430 may be connected through a bus system or other manners, wherein the connection through the bus system 1440 is taken as an example in FIG. 14 .
  • Processor 1410 may be a CPU, NP, or a combination of CPU and NP.
  • the processor 1410 may further include hardware chips.
  • the above-mentioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof.
  • the above-mentioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general-purpose array logic (generic array logic, GAL) or any combination thereof.
  • the processor 1410 may execute the first network device in the foregoing method embodiment to obtain the compressed segment identifier of the first length and the compressed segment identifier of the second length, determine the forwarding path of the packet, and generate the corresponding For the segment list of the forwarding path, generating the first packet, etc.
  • the processor 1410 may perform related functions such as reading the content to be copied in the segment list according to the encoding rule and updating the destination address DA of the first packet according to the content to be copied in the above method example.
  • the communication interface 1420 is used for receiving and sending messages.
  • the communication interface 1420 may include a receiving interface and a sending interface.
  • the receiving interface may be used to receive packets, and the sending interface may be used to send packets.
  • the number of communication interfaces 1420 may be one or more.
  • the memory 1430 may include a volatile memory (English: volatile memory), such as random-access memory (RAM); the memory 1430 may also include a non-volatile memory (English: non-volatile memory), such as a fast memory Flash memory (English: flash memory), hard disk drive (HDD) or solid-state drive (solid-state drive, SSD); the memory 1430 may also include a combination of the above-mentioned types of memory.
  • volatile memory such as random-access memory (RAM)
  • non-volatile memory such as a fast memory Flash memory (English: flash memory), hard disk drive (HDD) or solid-state drive (solid-state drive, SSD)
  • HDD hard disk drive
  • SSD solid-state drive
  • the memory 1430 stores an operating system and programs, executable modules or data structures, or their subsets, or their extended sets, wherein the programs may include various operation instructions for implementing various operations.
  • the operating system may include various system programs for implementing various basic services and handling hardware-based tasks.
  • the processor 1410 may read the program in the memory 1430, and implement the method for message transmission, the method for generating a segment list, and the method for obtaining a compressed segment identifier provided by the embodiments of the present application.
  • the memory 1430 may be a storage device in the network device 1400 , or may be a storage device independent of the network device 1400 .
  • the bus system 1440 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, or the like.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus system 1440 can be divided into an address bus, a data bus, a control bus, and the like. For ease of presentation, only one thick line is shown in FIG. 14, but it does not mean that there is only one bus or one type of bus.
  • FIG. 15 is a schematic structural diagram of another network device 1500 provided by an embodiment of the present application.
  • the network device 1500 may be the first network device or the second network device in the embodiment shown in FIG. 9 , or may also be the implementation shown in FIG. 10 .
  • the apparatus 1000 in the example, the apparatus 1100 in the embodiment shown in FIG. 11 , the apparatus 1200 in the embodiment shown in FIG. 12 , and the apparatus 1300 in the embodiment shown in FIG. 13 are implemented by equipment.
  • the network device 1500 includes: a main control board 1510 and an interface board 1530 .
  • the main control board 1510 is also called the main processing unit (main processing unit, MPU) or the route processor card (route processor card).
  • the main control board 1510 controls and manages each component in the network device 1500 Equipment maintenance, protocol processing functions.
  • the main control board 1510 includes: a central processing unit 1511 and a memory 1512 .
  • the interface board 1530 is also referred to as a line processing unit (LPU), a line card or a service board.
  • the interface board 1530 is used to provide various service interfaces and realize data packet forwarding.
  • the service interface includes, but is not limited to, an Ethernet interface, a POS (Packet over SONET/SDH) interface, etc.
  • the Ethernet interface is, for example, a flexible Ethernet service interface (Flexible Ethernet Clients, FlexE Clients).
  • the interface board 1530 includes: a central processing unit 1531 , a network processor 1532 , a forwarding table entry memory 1534 and a physical interface card (ph8sical interface card, PIC) 1533 .
  • the central processing unit 1531 on the interface board 1530 is used to control and manage the interface board 1530 and communicate with the central processing unit 1511 on the main control board 1510 .
  • the network processor 1532 is used to implement packet forwarding processing.
  • the network processor 1532 may be in the form of a forwarding chip.
  • the processing of the uplink packet includes: processing of the incoming interface of the packet, and searching of the forwarding table; processing of the downlink packet: searching of the forwarding table, and so on.
  • the physical interface card 1533 is used to realize the interconnection function of the physical layer, the original traffic enters the interface board 1530 through this, and the processed packets are sent from the physical interface card 1533 .
  • the physical interface card 1533 includes at least one physical interface, which is also called a physical port.
  • the physical interface card 1533 is also called a daughter card, which can be installed on the interface board 1530, and is responsible for converting the photoelectric signal into a message, and after checking the validity of the message, it is forwarded to the network processor 1532 for processing.
  • the central processing unit 1531 of the interface board 1503 can also perform the functions of the network processor 1532 , such as implementing software forwarding based on a general-purpose CPU, so that the network processor 1532 is not required in the physical interface card 1533 .
  • the network device 1500 includes multiple interface boards.
  • the network device 1500 further includes an interface board 1540.
  • the interface board 1540 includes a central processing unit 1541, a network processor 1542, a forwarding table entry storage 1544, and a physical interface card 1543.
  • the network device 1500 further includes a switch fabric board 1520 .
  • the switch fabric unit 1520 may also be referred to as a switch fabric unit (switch fabric unit, SFU).
  • SFU switch fabric unit
  • the switching network board 1520 is used to complete data exchange between the interface boards.
  • the interface board 1530 and the interface board 1540 can communicate through the switch fabric board 1520 .
  • the main control board 1510 and the interface board 1530 are coupled.
  • the main control board 1510 , the interface board 1530 , the interface board 1540 , and the switch fabric board 1520 are connected to the system backplane through a system bus to implement intercommunication.
  • an inter-process communication (inter-process communication, IPC) channel is established between the main control board 1510 and the interface board 1530, and the main control board 1510 and the interface board 1530 communicate through the IPC channel.
  • IPC inter-process communication
  • the network device 1500 includes a control plane and a forwarding plane
  • the control plane includes the main control board 1510 and the central processing unit 1531
  • the forwarding plane includes various components that perform forwarding, such as the forwarding entry storage 1534, the physical interface card 1533 and the network processing device 1532.
  • the control plane performs functions such as routers, generating forwarding tables, processing signaling and protocol packets, configuring and maintaining device status, etc.
  • the control plane delivers the generated forwarding tables to the forwarding plane.
  • the network processor 1532 is based on the control plane.
  • the delivered forwarding table forwards the packets received by the physical interface card 1533 by looking up the table.
  • the forwarding table issued by the control plane may be stored in the forwarding table entry storage 1534 .
  • the control plane and forwarding plane may be completely separate and not on the same device.
  • the sending unit and the receiving unit in each embodiment of FIGS. 10-13 may be different physical interface cards.
  • the receiving unit 1001 corresponds to the physical interface card 1533 and the sending unit 1003 corresponds to the physical interface card 1534.
  • the processing unit 1002 in the apparatus 1000, the processing unit 1101 in the apparatus 1100, the processing unit 1201 in the apparatus 1200, the processing unit 1301 in the apparatus 1300, etc. may be equivalent to the central processing unit 1511, the central processing unit 1531, One or more of the central processing units 1541.
  • the operations on the interface board 1540 in this embodiment of the present application are the same as the operations on the interface board 1530 , and for brevity, details are not repeated here.
  • the network device 1500 in this embodiment may correspond to the first network device or the second network device in the foregoing method embodiments, and the main control board 1510 , the interface board 1530 and/or the interface board 1540 in the network device 1500
  • the functions and/or various steps performed by the first network device or the second network device in the foregoing method embodiments can be implemented, which are not repeated here for brevity.
  • main control boards there may be one or more main control boards, and when there are more than one main control board, it may include an active main control board and a backup main control board.
  • a network device may have at least one switching network board, and the switching network board realizes data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of network devices in a distributed architecture are greater than those in a centralized architecture.
  • the form of the network device can also be that there is only one board, that is, there is no switching network board, and the functions of the interface board and the main control board are integrated on this board.
  • the central processing unit on the board can be combined into a central processing unit on the board to perform the functions of the two superimposed, the data exchange and processing capacity of this form of equipment is low (for example, low-end switches or routers and other networks. equipment).
  • the specific architecture used depends on the specific networking deployment scenario.
  • the above-mentioned first network device or second network device may be implemented as a virtualized device.
  • the virtualization device may be a virtual machine (English: Virtual Machine, VM) running a program for sending a message function, and the virtual machine is deployed on a hardware device (for example, a physical server).
  • a virtual machine refers to a complete computer system with complete hardware system functions simulated by software and running in a completely isolated environment.
  • the virtual machine can be configured as a first network device or a second network device.
  • the first network device or the second network device may be implemented based on a general-purpose physical server in combination with a network function virtualization (Network Functions Virtualization, NFV) technology.
  • Network Functions Virtualization Network Functions Virtualization
  • the first network device or the second network device may be a virtual host, a virtual router or a virtual switch.
  • Those skilled in the art can virtualize a first network device or a second network device having the above functions on a general physical server in combination with the NFV technology by reading this application, and details are not described herein again.
  • network devices in the above-mentioned various product forms respectively have any functions of the first network device or the second network device in the above method embodiments, and details are not described herein again.
  • An embodiment of the present application also provides a chip, including a processor and an interface circuit, where the interface circuit is used to receive instructions and transmit them to the processor; the processor, for example, may be a specific implementation form of the apparatus 1000 shown in FIG. 10 . , which can be used to perform the above method of message transmission.
  • the processor is coupled to a memory, and the memory is used to store programs or instructions, and when the programs or instructions are executed by the processor, the chip system enables the method in any of the foregoing method embodiments.
  • the number of processors in the chip system may be one or more.
  • the processor can be implemented by hardware or by software.
  • the processor may be a logic circuit, an integrated circuit, or the like.
  • the processor may be a general-purpose processor implemented by reading software codes stored in memory.
  • the memory may be integrated with the processor, or may be provided separately from the processor, which is not limited in this application.
  • the memory can be a non-transitory processor, such as a read-only memory ROM, which can be integrated with the processor on the same chip, or can be provided on different chips.
  • the setting method of the processor is not particularly limited.
  • the system-on-chip may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or a system on chip (SoC), It can also be a central processing unit (CPU), a network processor (NP), a digital signal processing circuit (DSP), or a microcontroller (microcontroller).
  • controller unit, MCU it can also be a programmable logic device (PLD) or other integrated chips.
  • Embodiments of the present application further provide a computer-readable storage medium, including instructions or computer programs, which, when run on a computer, cause the computer to execute the packet transmission method, the segment list generation method, and the compressed segment identifier provided by the above embodiments get method.
  • the embodiments of the present application also provide a computer program product including an instruction or a computer program, which, when running on a computer, enables the computer to execute the message transmission method, the segment list generation method, and the compressed segment identifier acquisition method provided by the above embodiments .
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of units is only a logical business division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or integrated. to another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • Units described as separate components may or may not be physically separated, and components shown as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each service unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit may be implemented in the form of hardware, or may be implemented in the form of a software business unit.
  • the integrated unit if implemented as a software business unit and sold or used as a stand-alone product, may be stored in a computer-readable storage medium.
  • the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes .
  • the services described in the present invention may be implemented by hardware, software, firmware or any combination thereof.
  • the services may be stored on or transmitted over as one or more instructions or code on a computer-readable medium.
  • Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another.
  • a storage medium can be any available medium that can be accessed by a general purpose or special purpose computer.

Landscapes

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

Abstract

L'invention concerne un procédé de transmission de message, un procédé de génération de liste de segments, un procédé d'acquisition d'identifiant de segment compressé, ainsi que des appareils. Un premier message reçu par un second dispositif réseau comprend une liste de segments correspondant à un premier trajet de transfert de message, la liste de segments comprenant une pluralité d'identifiants de segments compressés qui sont agencés en séquence, et la longueur de chaque identifiant de segment compressé étant inférieure ou égale à 128 bits ; le second dispositif réseau lit le contenu à copier à partir de la liste de segments et selon une règle de codage, la règle de codage étant une règle correspondant à un dispositif réseau correspondant audit contenu lors de la génération dudit contenu ; et le second dispositif réseau met à jour une adresse de destination (DA) dans le premier message à l'aide du contenu lu afin de générer un second message, puis transmet le second message. Autrement dit, par rapport à une pluralité d'identifiants de segments compressés inclus dans une liste de segments, il n'est pas nécessaire d'apprendre la longueur de chaque identifiant de segment compressé à l'avance, et la longueur de l'identifiant de segment compressé peut être apprise selon une règle de codage correspondant à l'identifiant de segment compressé afin de lire l'identifiant de segment compressé à partir de la liste de segments.
PCT/CN2021/133327 2020-11-30 2021-11-26 Procédé de transmission de message, procédé de génération de liste de segments, procédé d'acquisition d'identifiant de segment compressé, et appareils WO2022111606A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011377914.1 2020-11-30
CN202011377914.1A CN114640616A (zh) 2020-11-30 2020-11-30 一种报文传输、段列表生成、压缩段标识获取方法及装置

Publications (1)

Publication Number Publication Date
WO2022111606A1 true WO2022111606A1 (fr) 2022-06-02

Family

ID=81755318

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/133327 WO2022111606A1 (fr) 2020-11-30 2021-11-26 Procédé de transmission de message, procédé de génération de liste de segments, procédé d'acquisition d'identifiant de segment compressé, et appareils

Country Status (2)

Country Link
CN (1) CN114640616A (fr)
WO (1) WO2022111606A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499358A (zh) * 2022-09-14 2022-12-20 中国电信股份有限公司 SRv6-TE报文转发方法和转发设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024000136A1 (fr) * 2022-06-28 2024-01-04 新华三技术有限公司 Envoi de messages
CN117527693A (zh) * 2022-08-03 2024-02-06 华为技术有限公司 报文转发方法、设备、系统及存储介质
CN116192968B (zh) * 2023-01-10 2024-02-13 广东云下汇金科技有限公司 一种基于SRv6的IPv6报文数据处理方法和通信方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3643022A1 (fr) * 2017-07-14 2020-04-29 Huawei Technologies Co., Ltd. Procédé d'établissement d'un routage de segment pour un tunnel ipv6
CN111628995A (zh) * 2020-05-26 2020-09-04 新华三信息安全技术有限公司 基于SRv6的SID压缩方法、装置、设备及存储介质
CN111917640A (zh) * 2019-05-09 2020-11-10 华为技术有限公司 SRv6网络生成段列表、报文转发的方法、设备和系统
CN113824638A (zh) * 2020-06-18 2021-12-21 华为技术有限公司 一种转发报文的方法、设备和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3643022A1 (fr) * 2017-07-14 2020-04-29 Huawei Technologies Co., Ltd. Procédé d'établissement d'un routage de segment pour un tunnel ipv6
CN111917640A (zh) * 2019-05-09 2020-11-10 华为技术有限公司 SRv6网络生成段列表、报文转发的方法、设备和系统
CN111628995A (zh) * 2020-05-26 2020-09-04 新华三信息安全技术有限公司 基于SRv6的SID压缩方法、装置、设备及存储介质
CN113824638A (zh) * 2020-06-18 2021-12-21 华为技术有限公司 一种转发报文的方法、设备和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
B. DECRAENE ORANGE R. RASZUK BLOOMBERG: "SRv6 vSID: Network Programming extension for variable length SIDs; draft-decraene-spring-srv6-vlsid-02.txt", SRV6 VSID: NETWORK PROGRAMMING EXTENSION FOR VARIABLE LENGTH SIDS; DRAFT-DECRAENE-SPRING-SRV6-VLSID-02.TXT, no. 2, 5 February 2020 (2020-02-05), pages 1 - 17, XP015137598 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499358A (zh) * 2022-09-14 2022-12-20 中国电信股份有限公司 SRv6-TE报文转发方法和转发设备
CN115499358B (zh) * 2022-09-14 2024-05-14 中国电信股份有限公司 SRv6-TE报文转发方法和转发设备

Also Published As

Publication number Publication date
CN114640616A (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
WO2022111606A1 (fr) Procédé de transmission de message, procédé de génération de liste de segments, procédé d'acquisition d'identifiant de segment compressé, et appareils
CN111512601B (zh) 分组的分段路由网络处理
US10320664B2 (en) Cloud overlay for operations administration and management
EP4009596A1 (fr) Procédé, dispositif et système de transfert de message dans un réseau sr
JP2023549797A (ja) Bierパケット転送方法、デバイス、及びシステム
EP4037267A1 (fr) Procédé, appareil et système d'envoi de message
JP2023515112A (ja) パケット送信方法、デバイス、およびシステム
CN112448888A (zh) 一种在sr网络中转发报文的方法、设备和系统
JP7448597B2 (ja) メッセージ生成方法および装置ならびにメッセージ処理方法および装置
CN116746129A (zh) 用于在网络头部中编码本地处理元数据的方法和装置
JP6525256B2 (ja) 仮想ネットワークシステムおよび仮想ネットワーク経路設定方法
WO2022007702A1 (fr) Procédé de traitement de message et dispositif de réseau
CN112532563B (zh) 报文的发送方法和装置
KR100636274B1 (ko) 네트워크 프로세서의 패킷 포워딩 장치 및 그 방법
CN115499366B (zh) 报文传输方法以及装置
CN114301839B (zh) 一种组播报文传输方法及装置
KR20230104716A (ko) 루트 광고 방법, 장치, 및 시스템
CN113285878A (zh) 负载分担的方法、第一网络设备
WO2023125774A1 (fr) Procédé de transmission de paquet vxlan, dispositif de réseau, et système
WO2023016110A1 (fr) Procédé et appareil de transmission d'informations lisibles par une couche réseau, dispositif, système et support
WO2023088145A1 (fr) Procédé, appareil et dispositif de traitement de paquets
WO2023125767A1 (fr) Procédé de transmission de message, dispositif de réseau et système
WO2023231438A1 (fr) Procédé d'envoi de messages, dispositif de réseau et système
WO2022083610A1 (fr) Procédé, appareil et système d'attribution d'adresses ip
CN116527642A (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: 21897106

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21897106

Country of ref document: EP

Kind code of ref document: A1