WO2021056945A1 - 一种在sr网络中转发报文的方法、设备和系统 - Google Patents
一种在sr网络中转发报文的方法、设备和系统 Download PDFInfo
- Publication number
- WO2021056945A1 WO2021056945A1 PCT/CN2020/073785 CN2020073785W WO2021056945A1 WO 2021056945 A1 WO2021056945 A1 WO 2021056945A1 CN 2020073785 W CN2020073785 W CN 2020073785W WO 2021056945 A1 WO2021056945 A1 WO 2021056945A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- identifier
- identifiers
- pointer
- segment
- value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 150
- 238000012545 processing Methods 0.000 claims abstract description 76
- 230000006870 function Effects 0.000 claims description 47
- 238000004590 computer program Methods 0.000 claims description 17
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 239000003550 marker Substances 0.000 claims 6
- 230000005540 biological transmission Effects 0.000 abstract description 10
- 230000008569 process Effects 0.000 description 44
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 9
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100256918 Caenorhabditis elegans sid-2 gene Proteins 0.000 description 1
- 240000001973 Ficus microcarpa Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/127—Shortest path evaluation based on intermediate node capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
- H04L45/566—Routing instructions carried by the data packet, e.g. active networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/741—Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/256—Routing or path finding in ATM switching fabrics
- H04L49/258—Grouping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9015—Buffering arrangements for supporting a linked list
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/325—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
Definitions
- This application relates to the field of communications, and in particular to a method, network equipment and system for forwarding messages in an SR network.
- Segment routing is a protocol designed based on the concept of source routing to forward data packets on the network. It supports the explicit designation of the data packet forwarding path at the source node.
- IPv6 Internet Protocol Version 6
- SRv6 IPv6 segment routing
- SRv6 extends the segment routing header (SRH) on the basis of IPv6.
- the SRH includes a segment identification list (segment identification list, SID list).
- the SID list includes a plurality of segment identifications (SIDs) arranged in sequence, each representing a plurality of segments, and each segment is an instruction or a set of instructions for processing a message.
- the SRH is encapsulated in a message, and the SR network's processing process for the message is carried by the segment identifier list in it.
- the length of each SID in the SRv6 network is 128 bits (bit), and every time an 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 large amount of network resources, such as bandwidth, to be occupied during the forwarding process.
- the SRH needs to include 100 SIDs.
- the length of the SID list is as high as 1600 bytes, and the length of the SID list is too long, which reduces the efficiency of message transmission in the SR network.
- too long SRH length will increase the difficulty of message processing.
- the length of the message window read by a node at one time is limited, such as 128 bytes, while the length of SRH is 1600 bytes, which is much longer than the length of the message window read at one time.
- the entire SRH reading process needs to pass The read operation can be completed multiple times, which reduces the efficiency of message processing.
- the present application provides a method, device, and system for forwarding messages, which are used to solve the technical problem that the length of the segment identifier list is too long, and the network transmission efficiency is reduced and the processing efficiency is reduced.
- this application provides a method for processing messages.
- the method is applied to a segmented routing SR network, and includes: receiving a message, the message header of the message includes a destination address field, a first pointer, a second pointer, and a list for processing the message, the list It includes multiple identifiers arranged in sequence, the multiple identifiers are mapped to multiple segments in the SR network one by one, and the value of the first pointer and the value of the second pointer together indicate that the multiple identifiers The position of the first identifier in the list; the first identifier is determined according to the value of the first pointer and the value of the second pointer; the first identifier is copied to the destination address field.
- This method sets a newly added first pointer in the message header, and the segment left (SL) pointer, that is, the second pointer, together to form a two-dimensional pointer, indicating the compressed segment identifier (Compressed SID, C-SID) The position in the SID list.
- the list includes multiple identifiers arranged in sequence, specifically: the list includes at least one element arranged in sequence, and the at least one element includes The first element, the first element includes at least two identifiers of the plurality of identifiers, the at least two identifiers are arranged in sequence, the first identifier is one of the at least two identifiers; the first The value of a pointer and the value of the second pointer together indicate the position of the first identifier of the plurality of identifiers in the list, specifically: the value of the second pointer is used to determine the first element In the position in the list, the value of the first pointer is used to determine the position of the first identifier in the first element.
- This method uses C-SID instead of 128-bit SID to represent segments when generating the SID list, so for the same number of segments, the length of the SID list formed by C-SID is much smaller than the length of the SID list formed by SID . Thereby reducing the length of the message and improving the transmission efficiency and processing efficiency of the network.
- the first pointer includes the first indicator in the at least two identifiers. IDs.
- the value of the first pointer is used to determine that the first identifier is located at all
- the position in the first element is specifically: the value of the first pointer indicates the position of the second identifier in the first element, and the second identifier is the first identifier in the plurality of identifiers The previous identifier of the; said determining the first identifier according to the value of the first pointer and the value of the second pointer includes: modifying the value of the first pointer in the header of the message to So that the value of the first pointer after the modification indicates the position of the first identifier in the first element; the first pointer is determined according to the value of the first pointer after the modification and the value of the second pointer One logo.
- the value of the first pointer is used to determine that the first identifier is located at all
- the position in the first element is specifically: the value of the first pointer indicates the position of the first identifier in the first element; the copying the first identifier into the destination address field
- the method further includes: modifying the value of the first pointer in the header of the message, so that the modified value of the first pointer indicates the value of the second identifier in the first element Location, the second identifier is the latter identifier of the first identifier in the at least two identifiers.
- the value of the second pointer is used to determine whether the first element is located at all
- the position in the list is specifically: the value of the second pointer indicates the position of the second element in the at least one element in the list, and the second element is the position of the first element in the at least one element.
- the previous element in an element; the value of the first pointer is used to determine the position of the first identifier in the first element, specifically: the value of the first pointer indicates that the second identifier is in the The position in the second element, the second identifier is the previous identifier of the first identifier in the plurality of identifiers, the second element includes at least one identifier of the plurality of identifiers, and the at least one identifier The identifiers are arranged in order, the second identifier is one of the at least one identifier, and the destination address field includes a second identifier; the determining the value of the first pointer and the value of the second pointer
- the first identifier includes: determining that the second identifier is the last identifier in the at least one identifier; modifying the value of the second pointer in the header of the message so that the modified second identifier
- the value of the pointer indicates the position of the first element in the list; the value of the first pointer in the header
- the value of the second pointer is used to determine whether the first element is located at all
- the position in the list is specifically: the value of the second pointer indicates the position of the first element in the list; the value of the first pointer is used to determine that the first identifier is in the first
- the position in the element is specifically: the value of the first pointer indicates the position of the first identifier in the first element; after the first identifier is copied to the destination address field,
- the method further includes: determining that the first identifier is the last of the at least two identifiers; modifying the value of the second pointer in the header of the message, so that the modified first identifier
- the value of the second pointer indicates the position of the second element in the list, and the second element is the next element of the first element in the at least one element; modifying the position in the message header of the message The value of the first pointer, so that the modified value of
- the multiple segments are mapped to multiple segment identifiers one by one, and the multiple Each identifier is mapped to the plurality of segment identifiers one by one, and each segment identifier of the plurality of segment identifiers includes a first part and a second part, and the first part is before the second part, and the plurality of The first part of all the segment identifiers in the identifier is the same, and each identifier in the plurality of identifiers includes the second part of the segment identifier to which each identifier is mapped.
- the destination address field includes the first part.
- the length of the element is 128 bits, 64 bits, or 32 bits.
- the multiple segments are mapped to multiple segment identifiers one by one, and the multiple identifiers are mapped to the multiple segment identifiers one by one, so
- Each segment identifier in the plurality of segment identifiers includes a first part, a second part, and a third part arranged in sequence, and the first part of all the segment identifiers in the plurality of segment identifiers is the same.
- the third part of all segment identifiers is the same, and each identifier in the plurality of identifiers includes the second part of the segment identifier to which each identifier is mapped.
- the total length of the first part, the second part, and the third part is 128 bits.
- the method further includes: receiving structure information of the destination address field, where the structure information indicates that the first identifier is at the destination address Adding position in the field; the copying the first identifier to the destination address field includes: according to the structure information, copying the first identifier to the first identifier in the destination address field The added location in.
- the receiving the structure information of the destination address field includes: receiving a control message, the control message including the structure information, and the The control message is an intermediate system-to-intermediate system IS-IS protocol message, an open shortest path first OSPF protocol message, or a border gateway protocol BGP protocol message.
- the length of each of the multiple identifiers is 32 bits or 16 bits.
- this application provides a method for forwarding messages.
- the method is applied to a segmented routing SR network, and includes: receiving a message; generating a message header and encapsulating the message header into the message, the message header including a first pointer, a second pointer, and processing
- the list of messages the list includes a plurality of identifiers arranged in sequence, the plurality of identifiers are mapped to a plurality of segments in the SR network one by one, the value of the first pointer and the second pointer
- the value of collectively indicates the position of the first identifier in the plurality of identifiers in the list; the message encapsulated with the message header is sent.
- This method sets a newly added first pointer in the message header, and the SL pointer, that is, the second pointer, together constitute a two-dimensional pointer, indicating the position of the C-SID in the SID list.
- the multiple segments are mapped to multiple segment identifiers one by one, and the multiple identifiers are mapped to the multiple segment identifiers one by one, so Each segment identifier in the plurality of segment identifiers includes a first part and a second part, the first part is before the second part, the first part of all the segment identifiers in the plurality of segment identifiers is the same, and the multiple Each of the identifiers includes the second part of the segment identifier to which the each identifier is mapped.
- this method uses compressed segment identifiers instead of 128-bit SIDs to represent segments, so that the 128-bit element pointed to by the SL pointer in the segment identifier list can accommodate multiple segments corresponding to multiple segments.
- a compressed segment identifier Thereby reducing the length of the message and improving the transmission efficiency and processing efficiency of the network.
- the generating the message header includes: the second part of the segment identifier to which each segment of the plurality of segments is mapped As the identifier to which each segment is mapped to generate the list; and generate the message header according to the list.
- the generating the packet header includes: receiving the list, and Each identifier of the plurality of identifiers in the list includes the second part of the segment identifier to which the segment to which each identifier is mapped is mapped.
- the length of the first part is X bits, X is an integer, and X is greater than or equal to 1 and less than 128, the length of each of the plurality of identifiers is 128-X bits.
- the list does not include the first part.
- the message header further includes a destination address field, and the message is generated.
- the header and encapsulating the header into the message further include: adding the first part to the destination address field; and copying the first identification of the plurality of identifications into the destination address field.
- the list includes multiple identifiers arranged in sequence, specifically: the list Includes at least one element arranged in sequence, the first element of the at least one element includes at least two identifiers of the plurality of identifiers, the at least two identifiers are arranged in sequence, and the first identifier is the at least One of two identifiers; the value of the first pointer and the value of the second pointer together indicate the position of the first identifier of the plurality of identifiers in the list, specifically: the second pointer The value of indicates the position of the first element in the list, and the value of the first pointer indicates the position of the first identifier in the first element.
- the first pointer includes the first indicator in the at least two identifiers. IDs.
- the list includes a first paragraph identifier, and the first paragraph identifier is located at all Before the first identifier of the plurality of identifiers, the first segment identifier is mapped to a segment in the SR network, and the length of the first segment identifier is 128 bits.
- the first paragraph identifier and the first one of the multiple identifiers are adjacent, and the first segment identifier includes a start identifier, and the start identifier is used to indicate that the next identifier of the first segment identifier in the list is the first identifier of the plurality of identifiers.
- the first segment identifier includes a function field and a parameter field, and the function The field includes the start flag, and the parameter field includes the first pointer and a number flag, and the number flag is used to indicate the number of the multiple flags.
- the list includes a second paragraph identifier, and the second paragraph identifier is After the last identifier of the plurality of identifiers, the first segment identifier is mapped to a segment in the SR network, and the length of the first segment identifier is 128 bits.
- the second paragraph identifier is the last one of the multiple identifiers
- the identifiers are adjacent, and the second segment identifier includes an end identifier, and the end identifier is used to indicate that the previous identifier of the second segment identifier in the list is the last identifier of the plurality of identifiers.
- the multiple segments are mapped to multiple segment identifiers one by one, and the multiple identifiers are mapped to the multiple segment identifiers one by one, so
- Each segment identifier in the plurality of segment identifiers includes a first part, a second part, and a third part arranged in sequence, and the first part of all the segment identifiers in the plurality of segment identifiers is the same.
- the third part of all segment identifiers is the same, and each identifier in the plurality of identifiers includes the second part of the segment identifier to which each identifier is mapped.
- the total length of the first part, the second part, and the third part is 128 bits.
- the message header further includes a destination address field
- the message header is generated and encapsulated into the message
- the method further includes: adding the first part and the third part to the destination address field; and copying the first identification of the plurality of identifications to the destination address field.
- the method further includes: sending structure information to an intermediate network device, the structure information indicating that the first identifier is in the destination address field Where to add.
- the length of each of the multiple identifiers is 32 bits or 16 bits.
- this application provides a network device that executes the first aspect or any one of the possible implementation methods of the first aspect.
- the network device includes a unit for executing the method in the first aspect or any one of the possible implementation manners of the first aspect.
- this application provides a network device that executes the second aspect or any one of the possible implementation methods of the second aspect.
- the network device includes a unit for executing the second aspect or the method in any one of the possible implementation manners of the second aspect.
- this application provides a network device, which includes a processor, a network interface, and a memory.
- the network interface can be a transceiver.
- the memory may be used to store program code, and the processor is used to call the program code in the memory to enable the network device to execute the foregoing first aspect or any one of the possible implementation manners of the first aspect, which will not be repeated here.
- this application provides a network device, which includes a processor, a network interface, and a memory.
- the network interface can be a transceiver.
- the memory may be used to store program code, and the processor is used to call the program code in the memory to make the network device execute the foregoing second aspect or any one of the possible implementation manners of the second aspect, which will not be repeated here.
- this application provides a network system that includes the network device provided in the foregoing third aspect and the network device provided in the fourth aspect, or the network system includes the network device provided in the foregoing fifth aspect and the sixth aspect.
- the network equipment provided by the above.
- the present application provides a computer-readable storage medium having instructions stored in the computer-readable storage medium, which when run on a computer, cause the computer to execute the methods described in the foregoing aspects.
- this application provides a computer program product including computer program instructions, when the computer program product is run on a network device, the network device can execute any of the first aspect, the second aspect, and the first aspect A possible implementation manner or a method provided in any one of the possible implementation manners of the second aspect.
- the present application provides a chip including a memory and a processor, the memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that the chip executes the first aspect and its On the one hand, the method in any possible implementation manner; or, the processor is used to call and run the computer program from the memory, so that the chip executes the second aspect or the method in any possible implementation manner of the second aspect.
- the above-mentioned chip only includes a processor, and the processor is used to read and execute a computer program stored in the memory.
- the chip executes the method in the first aspect or any possible implementation of the first aspect
- the chip executes the second aspect or the method in any possible implementation manner of the second aspect.
- FIG. 1 is a schematic diagram of an application scenario provided by an embodiment of the application
- FIG. 2A is a schematic diagram of a format of a segment identifier provided by an embodiment of this application.
- 2B is a schematic diagram of a message format provided by an embodiment of this application.
- FIG. 3 is a schematic flowchart of a method for processing a message according to an embodiment of the application
- FIG. 4A is a schematic diagram of a format of a compressed segment identifier provided by an embodiment of this application.
- FIG. 4B is a schematic diagram of a message format provided by an embodiment of this application.
- 4C is a schematic diagram of a format of a compressed segment identifier provided by an embodiment of the application.
- 4D is a schematic diagram of the format of a compressed segment identifier provided by an embodiment of this application.
- FIG. 5A is a schematic diagram of a message format provided by an embodiment of this application.
- FIG. 5B is a schematic diagram of a format of a compressed segment identifier provided by an embodiment of this application.
- FIG. 5C is a schematic diagram of a message format provided by an embodiment of this application.
- FIG. 5D is a schematic diagram of a format of a compressed segment identifier provided by an embodiment of this application.
- FIG. 6 is a schematic structural diagram of a network device provided by an embodiment of this application.
- FIG. 7 is a schematic structural diagram of a network device provided by an embodiment of this application.
- FIG. 8 is a schematic structural diagram of a network device provided by an embodiment of this application.
- FIG. 9 is a schematic structural diagram of a network device provided by an embodiment of this application.
- FIG. 10 is a schematic structural diagram of a network system provided by an embodiment of this application.
- FIG. 1 shows a possible application scenario of an embodiment of the present application.
- This scenario includes an SR network, and the SR network includes network equipment S, network equipment 1, network equipment 2, network equipment 3, network equipment 4, network equipment 5, network equipment 6, and network equipment 7.
- These network devices can be switches, routers or repeaters.
- These network devices can also be virtual machines.
- the network device S may be an entrance device of the network.
- the network may also include a controller, which is not shown in FIG. 1.
- the controller can generate the SID list corresponding to the forwarding path of the packet and send it to the network entry device.
- the controller can send control messages containing network configuration information to other network devices in the network.
- the message processing process in the SR network consists of multiple segments, and each segment is an instruction or a set of instructions for processing the message.
- Each segment has a corresponding segment identifier, namely SID.
- the segment identifier includes two types: node segment identifier (node SID) and adjacent segment identifier (adjacent SID).
- Fig. 2A shows the format of the SID in the SRv6 network. As shown in Fig. 2A, each SID may include a location (Locator) field and a function (Function) field.
- the location field in the SID is used to locate the specific network device that executes the instruction or instruction set included in the segment.
- the location field includes a prefix (Prefix) part and a sequence number (Node ID) part.
- Prefix a prefix
- Node ID a sequence number
- the prefix part of the SID of all network devices is the same.
- sequence number part of the SID of each network device is different, and each sequence number part is used to uniquely identify a network device in the domain.
- the network device that is uniquely determined by the sequence number part of the SID is the network device that executes the segment indicated by the SID.
- the function field in the SID is used to indicate the specific content of the instruction or instruction set included in the segment, that is, the function in the SRv6 network.
- the functions in the SRv6 network may also involve parameters, which are represented by the Argument field in the SID (not shown in Figure 2). When the function does not involve parameters, the parameter field may not be included in the SID.
- the total length of the SID in the SRv6 network is 128 bits.
- the location field and the function field are respectively specific lengths, and these specific lengths can be changed through network settings.
- the position field is 48 bits and the function field is 80 bits, or the position field is 64 bits and the function field is 64 bits, or the position field is 48 bits, the function field is 64 bits, and the parameter field is 16 bits.
- FIG. 2B shows the format of the message in the SRv6 network.
- the header of the message includes an IPv6 header and SRH.
- the IPv6 header includes a destination address (DA) field.
- the SRH includes a SID list, and the SID list includes multiple SIDs arranged in sequence.
- the SRH also includes a segment left (segments left, SL) pointer, and the SL pointer is used to indicate the number of remaining segments to be processed.
- each value of the SL pointer corresponds to a specific number of remaining segments to be processed. For example, the value of the SL pointer is 3, which means that the number of remaining segments to be processed is 4.
- the SL pointer points to the SID currently to be processed, that is, the fourth SID from the bottom, and the value of the SL pointer is 0, then It means that the number of remaining segments to be processed is one, and it can also be understood that the SL pointer points to the SID currently to be processed, that is, the last SID.
- the network device After determining the current SID to be processed according to the SL pointer, the network device copies the SID to the DA field in the IPv6 packet header, and processes the packet according to the content in the DA field, for example, forwards the packet.
- the value of the SL pointer is updated every time a segment is executed.
- the position of the SL pointer in the SID list is offset by the length of the SID, that is, 128 bits.
- the multiple segments represented by multiple SIDs are executed sequentially, and the value of the SL pointer is constantly updated to ensure that the SL pointer always points to the currently pending SID.
- the forwarding path of the message is from the network device S to the network device 1, passing through the network device 2 in turn.
- Network equipment 3, network equipment 4, network equipment 5, network equipment 6, reach network equipment 7.
- the forwarding path also includes network device 1 to network device 7, a total of 7 network devices.
- Packets are forwarded at each network device.
- the forwarding processing behavior at each network device corresponds to a segment, which means that the SID list of the entire packet forwarding process includes 7 SIDs.
- the length of each SID is 128 bits, and the length of the SID list is 112 bytes, which leads to an increase in the length of the message and reduces the transmission efficiency and processing efficiency of the network.
- the embodiment of the present application provides a method for processing a message, and a device and system based on the method. These methods, equipment and systems are based on the same inventive concept. The principles of the method, device and system for solving the problem are similar. Therefore, the embodiments of the method, device and system can be referred to each other, and the same or similar parts will not be repeated.
- the embodiment of the present invention provides a method for processing a message.
- This method is applied to an SR network and involves network equipment 301 and network equipment 302.
- the network device 301 may be a network entry device, which is used to encapsulate the SID list in a message, for example, the network device S shown in FIG. 1.
- the network device 302 may be a forwarding device in the network for processing packets according to the SID list, for example, the network device 1, the network device 2, the network device 3, the network device 4, the network device 5, and the network device 6 shown in FIG. 1 Or network equipment 7.
- the compressed segment identifier (Compressed SID, C-SID) is used instead of the 128-bit SID to represent the segment, and the CL pointer is set in the message header, and the SL pointer forms two
- the dimension pointer indicates the position of the C-SID in the SID list, so for the same number of segments, the length of the SID list formed by the C-SID is much smaller than the length of the SID list formed by the SID. Thereby reducing the length of the message and improving the transmission efficiency and processing efficiency of the network.
- Fig. 3 shows the flow of the method, and the method includes:
- S310 The network device 301 receives the message.
- the network device 301 may receive a message sent by the host, and the message may be a service message.
- the host can be a terminal device such as a personal computer, a mobile phone or a tablet computer.
- the network device 301 generates a message header and encapsulates the message header into the message.
- the message header includes a first pointer, a second pointer, and a list for processing the message, and the list includes a sequential arrangement
- the multiple identifiers are mapped to multiple segments in the SR network one by one, and the value of the first pointer and the value of the second pointer together indicate that the first identifier of the multiple identifiers is The position in the list.
- the message header includes an IPv6 message header and SRH, and the list is the SID list in the SRH.
- the network device 301 For the received message, the network device 301 generates a message header including the SID list and encapsulates the message header into the received message, so as to facilitate processing of the message.
- each segment used to process a message has a specific segment identifier, that is, an SID, that is, the multiple segments used to process the message are mapped to multiple SIDs one by one.
- each SID may include a location field and a function field, and the location field includes a prefix part and a serial number part. The sum of the length of the location field and the function field may be 128 bits.
- the prefix part of the SID of all network devices is the same, and the sequence number part of the SID of each network device is different, and each sequence number part is used to uniquely identify a network device in the domain.
- each SID can be divided into two parts, the first part includes a prefix part, and the second part includes a serial number part and a function field.
- the first part of all SIDs is the same, while the second part of each SID is different.
- the sum of the length of the first part and the second part is 128 bits. Therefore, in order to reduce the length of the SID list, you can omit the first part above, that is, omit the prefix part of the position field of the SID, and use the second part, the sequence number part and the function field, as the compressed segment identifier, that is, the C-SID, as shown in Fig. Shown in 4A. Therefore, the SID list includes multiple C-SIDs arranged in sequence, and each C-SID is mapped to a segment in the SR network.
- the SID of the network device 1 may be A1::0001:1111, the length of the SID is 128 bits, and "::" represents all 0 bytes.
- A1::0001 is the position field
- the length is 112 bits
- A1/96 is the prefix part
- "/96” represents the 96-bit mask
- 0001 is the serial number part
- the length is 16 bits.
- 1111 is a function field with a length of 16 bits.
- the first part of the SID is A1, and the second part is 0001:1111.
- the second part is taken as the C-SID, that is, the C-SID is 0001:1111 and the length is 32 bits.
- the SIDs of network device 2, network device 3, network device 4, network device 5, network device 6, or network device 7 can be A1::0002:2222, A1::0003:3333, A1::0004, respectively: 4444,A1::0005:5555,A1::0006:6666,A1::0007:7777.
- the C-SID of these network devices can be 0002:2222,0003:3333,0004:4444,0005:5555,0006:6666,0007:7777, and the length is 32 bits.
- the C-SID includes the serial number part and function field of the SID, and the length of the C-SID is determined by the sum of the serial number part and the length of the function field of the SID.
- the length of the C-SID is the same as the sum of the sequence number part of the SID and the length of the function field.
- the length of the C-SID may be 32 bits, or the length of the C-SID may be 16 bits.
- each SID can also be divided into three parts, where the first part includes the prefix part, the second part includes the serial number part and the function field, and the third part is padding.
- Content (padding).
- the third part of all SIDs is the same, filled with the same content, such as all 0s.
- the sum of the length of the first part, the second part and the third part is 128 bits, and the sum of the length of the first part and the second part is less than 128 bits.
- the SID of the network device 1 may be A1::0001:1111::, the length of the SID is 128 bits, and "::" represents all 0 bytes.
- A1::0001 is the position field and the length is 64 bits
- A1/48 is the prefix part
- "/48” represents the 48-bit mask
- 0001 is the serial number part
- the length is 16 bits.
- 1111 is a function field with a length of 16 bits. That is, the first part of the SID includes A1 with a length of 48 bits, the second part includes 0001:1111 with a length of 32 bits, and the third part includes a part of all 0s with a length of 48 bits.
- the second part is taken as the C-SID, that is, the C-SID is 0001:1111 and the length is 32 bits.
- some devices may not be able to process 128-bit data at a time.
- some ASIC chips can only process 80-bit data at a time.
- each SID is set to include the filling content in the third part.
- the third part in the DA field may not be processed, but only the first part and the second part are processed. Therefore, the data length that needs to be processed expands the adaptation range of network equipment.
- FIG. 4B shows a structure of a message encapsulated with a message header, where the message header includes an IPv6 message header and an SRH, and the SRH includes an SID list.
- the SID list corresponding to the forwarding path may include 7 C-SIDs as shown in FIG. 4B.
- the length of each C-SID is 32 bits, and the length of 7 C-SIDs is 224 bits.
- the length of the SID list is greatly reduced, which improves the transmission efficiency and processing efficiency of the network.
- the C-SID of each network device can be released through the extended control plane protocol.
- the prefix part of the SID in the SRv6 network domain can also be advertised through the extended control plane protocol.
- Control plane protocols that can be used such as Interior Gateway Protocol (IGP), Border Gateway Protocol (Border Gateway Protocol, BGP), Border Gateway Protocol link state (Border Gateway Protocol link state, BGP-LS) or path calculation communication Protocol (Path Computation Element Communication Protocol, PCEP) and so on.
- the SID list including the C-SID can be generated by the controller or by the network portal device.
- the controller calculates the forwarding path of the message, generates an SID list corresponding to the forwarding path, the SID list includes the C-SID, and the controller sends the SID list to the network entrance device.
- the network entry device calculates the forwarding path of the message, and generates an SID list corresponding to the forwarding path, and the SID list includes the C-SID.
- the controller calculates the forwarding path of the message and generates an SID list corresponding to the forwarding path.
- the SID list includes the SID but not the C-SID, and the controller sends the SID list to the network entrance device, and the network entrance device A new SID list is generated according to the received SID list, and the new SID list includes the C-SID.
- the control plane protocol for sending the SID list may be Border Gateway Protocol (BGP) or Path Computation Element Communication Protocol (PCEP) and so on.
- BGP Border Gateway Protocol
- PCEP Path Computation Element Communication Protocol
- the above-mentioned control plane protocol can be extended to send an SID list including C-SID.
- the above-mentioned control plane protocol can also be extended with a new attribute to identify that the SID list including SIDs can be converted to a SID list including C-SIDs, or to identify that the SID list including SIDs should be converted to a SID list including C-SIDs. For example, after the controller calculates the forwarding path of the message, it generates an SID list corresponding to the forwarding path.
- the SID list includes the SID but not the C-SID, and the controller sends the SID list to the network entry device, and
- the new attribute identifiers extended by the control plane protocol can be converted into a SID list including C-SID.
- the network portal device generates a new SID list according to the received SID list of the attribute, and the new SID list includes the C-SID.
- the network device 301 can advertise its own capability attributes to other network devices through a control plane protocol.
- the capability attributes are used to identify that the network device 301 has the capability to be compatible with C-SIDs, for example, to publish the C-SID mapped to the segment, Generate an SID list including C-SID, encapsulate the SID list including C-SID into a message, process the message according to the C-SID, and so on.
- the foregoing control plane protocol may be, for example, Interior Gateway Protocol (IGP), Border Gateway Protocol (Border Gateway Protocol, BGP), Path Computation Element Communication Protocol (PCEP), and so on.
- the network device 301 adds the first part of the omitted SID to the DA field.
- multiple C-SIDs in the SID list are mapped to multiple segments one by one. Further, the multiple segments are mapped to multiple SIDs one by one.
- the first part of the SID is omitted. That is, the prefix part of the location field of the SID is omitted, and only the second part of the SID, that is, the serial number part and the function field, are stored in the SID list as the C-SID.
- the C-SID may be included in the SID list, and the prefix part corresponding to the C-SID may not be included.
- the network device 301 adds the first part of the SID in the destination address field, that is, the prefix part of the location field, and the network device 301 copies the currently pending C-SID among the multiple C-SIDs in the SID list to DA field.
- the first part in the DA field and the C-SID currently to be processed constitute the SID currently to be processed, so that the network device can still process the message according to the content of the DA field.
- the network device 301 copies the first C-SID of the plurality of C-SIDs, that is, C-SID1, into the DA field.
- the prefix part in the DA field and the C-SID1 form a multiple
- the network device 301 processes the message according to the first SID, for example, forwards the message.
- the network device 301 When the SID in the network includes the aforementioned third part containing padding content, the network device 301 also adds the third part of the omitted SID to the DA field.
- the above-mentioned first part, second part and third part are arranged in order in the DA field according to their positions in the SID. Therefore, the network device 301 adds the first part to the front of the DA field, and the first bit of the first part is aligned with the first bit of the DA field; the network device 301 adds the third part At the end of the DA field, the last bit of the third part is aligned with the last bit of the DA field.
- the first part, the current C-SID to be processed, and the third part in the DA field constitute the current SID to be processed, so that subsequent network devices on the message forwarding path can still receive the message according to The content of the DA field processes the message.
- the network device 301 or the controller in the network can advertise the structure information of the DA field to other network devices through the control plane protocol, so that other network devices Able to correctly parse the contents of the DA field.
- the structure information indicates the addition position of the C-SID in the DA field, that is, the structure information indicates the addition position of the second part of the SID in the DA field.
- the first part, the second part and the third part are sequentially arranged in the DA field according to their positions in the SID, and the structure information indicates the position of the second part in the SID in the SID.
- the structure information may include the length of the first part and the length of the second part, that is, the length of the prefix part and the length of the C-SID are advertised.
- the structure information may also include the length of the first part and the length of the third part, or the structure information may also include the length of the first part, the length of the second part, and the length of the third part, and so on.
- the control plane protocol for notifying the structural information may be an Intermediate System to Intermediate System (IS-IS) protocol, an Open Shortest Path First (OSPF) protocol or a Border Gateway Protocol (Border Gateway). Protocol, BGP) protocol and so on.
- IS-IS Intermediate System to Intermediate System
- OSPF Open Shortest Path First
- Border Gateway Border Gateway Protocol
- BGP Border Gateway Protocol
- the SL pointer is included in the SRH, which is used to indicate the number of remaining segments to be processed.
- the position pointed to in the SID list is offset by the length of one SID, that is, 128 bits.
- the original space for storing one SID can store multiple C-SIDs. Therefore, after each update of the SL, the position pointed to in the SID list will be offset by the length of multiple C-SIDs, and it is impossible to accurately locate each C-SID.
- the space in the SID list is divided into multiple elements, and the SL points to different elements after each update. Furthermore, a new pointer can be set to determine the C-SID currently to be processed in each element. This new pointer may be called a CL pointer, and the CL pointer and the SL pointer form a two-dimensional pointer.
- the value of the SL pointer is used to determine the position of the element currently to be processed in the SID list
- the value of the CL pointer is used to determine the position of the current C-SID to be processed in the element, thus, according to the value of the SL pointer and
- the value of the CL pointer can determine the position of the C-SID currently to be processed in the SID list, that is, the value of the SL pointer and the value of the CL pointer together indicate the position of the C-SID in the SID list.
- each SID can be divided into one element, that is, the length of each element is 128 bits, and the position pointed to by the SL pointer in the SID list is still offset by 128 bits after each update.
- the first element in the SID list includes 4 C-SIDs, and the second element includes 3 C-SIDs. Therefore, 7 C-SIDs occupy two elements in the SID list.
- the value of the CL pointer also needs to be updated to ensure that the value of the CL pointer is always used to determine the current pending C-SID in the element. position.
- the update method of the CL pointer is associated with the initial value of the CL pointer.
- the initial value of the CL pointer can be 0, which is used to indicate the first C-SID in the element.
- the value of the CL pointer is increased by 1, that is, the value of the CL pointer is updated to 1, 2, and 3 in sequence, which are used to indicate the second, third, and fourth C-SIDs in the element in turn.
- the value of the CL pointer will be subtracted by one each time it is updated, that is, the value of the CL pointer will be updated to 2, 1 in turn And 0 are used to indicate the second, third, and fourth C-SIDs in the element in turn.
- the CL pointer has a specific position in the message header.
- the CL pointer may be included in the C-SID.
- Fig. 4C shows a structure of C-SID. Referring to FIG. 4C, the last part of the fields in the C-SID can be divided out as candidate fields for the CL pointer.
- the candidate field can be set to a specific length, for example, 3 bits.
- the value of the candidate field may be set to a specific initial value, for example, set to all zeros.
- a specific candidate field in the C-SID can be selected as the CL pointer in each element in the SID list, and the candidate field in the specific C-SID The value of is used to determine the position of the current C-SID to be processed in this element.
- the candidate fields of other C-SIDs in this element remain the initial values.
- the specific C-SID is the C-SID located at the edge of each element.
- the specific C-SID may be the first C-SID in the element, such as C-SID1 as shown in FIG. 4B, which includes the CL pointer, and the italic font indicates that this is an optional implementation.
- the candidate field of the first C-SID is used as the CL pointer, and the value of the CL pointer is modified according to the position of the current C-SID to be processed in the element.
- the value of the candidate field of other C-SIDs in this element remains the initial value, for example, it is still all 0s.
- the specific C-SID may also be the last C-SID in the element.
- the CL pointer may be a field divided from SRH, which is not shown in FIG. 4B. For example, a part divided from the flag (Flags) field, the last entry (Last Entry) field, or the tag (Tag) field.
- the CL pointer can be set to a specific length, for example, 3 bits.
- the CL pointer may be a part of the DA field in the IPv6 packet header. Specifically, the CL pointer is located in the last part of the DA field, that is, the last part of the C-SID in the DA field, as shown in the figure As shown in 4B, the italic font indicates that this is an optional implementation.
- the CL pointer can be set to a specific length, for example, 3 bits. Modify the value of the CL pointer in the DA field according to the position of the current C-SID to be processed in the element. At this time, the format of the C-SID still includes the aforementioned candidate field, and the length of the candidate field is the same as the length of the CL pointer, but the initial value of all the candidate fields of the C-SID in the SID list remains unchanged.
- the network device 301 can notify other network devices that it has the ability to process C-SID.
- the network device When a network device that does not have the ability to be compatible with C-SID is located in the forwarding path of the message, the network device will also process the message according to the segment.
- the network device does not have the ability to be compatible with C-SID, and does not publish the C-SID mapped to the segment, but only publishes the SID mapped to the segment. Therefore, the SID mapped to the segment will be included in the corresponding forwarding path SID list.
- the SID list corresponding to the forwarding path will include both C-SID and SID.
- FIG. 5A shows a structure of a message encapsulated with a message header.
- the message header includes an IPv6 message header and an SRH.
- the SRH includes an SID list, and the SID list includes both C-SID and SID.
- the SID list may include the SID before the C-SID, may also include the SID after the C-SID, or may include both before the C-SID and after the C-SID.
- the C-SID may refer to multiple C-SIDs, and the SIDs before or after the C-SID may refer to multiple SIDs.
- the corresponding actual network situation is that the forwarding path of the message can pass through the incompatible C-SID network domain before the C-SID compatible network domain, or it can pass through the incompatible C-SID network domain after the C-SID compatible network domain.
- the SID network domain can also pass through the C-SID compatible network domain before the C-SID compatible network domain, and pass the C-SID compatible network domain after the C-SID compatible network domain.
- the C-SID compatible network domain may include multiple network devices, and the C-SID incompatible network domain may also include multiple network devices.
- the forwarding path of the message can also pass through other network devices that are not compatible with C-SID. These devices are not compatible with C-SID.
- the capable network device may be located between the network device S and the network device 1, and located behind the network device 7, both of which are not shown in FIG. 1.
- the SID list can still be sent through the aforementioned extended control plane protocol.
- a start flag can be set in the message header to indicate the start of the C-SID.
- the segments executed by all network devices with compatible C-SID capabilities are represented by C-SID in the SID list, and the start flag may be included in the last SID before the first C-SID.
- the start flag may be a specific function in SRv6, which is stored in the function field of the last SID.
- the first segment is still represented by a 128-bit SID in the SID list, and the remaining segments are represented by C-SID.
- the start flag may be included in the SID mapped in the first segment, and this SID may also be called a special SID.
- Figure 5B shows the format of the special SID.
- the SID includes location field, function field and parameter field, namely Locator, Function and Argument.
- the location field includes a prefix part and a sequence number part, namely Prefix-1 and NodeID.
- the Prefix-1 and the Prefix in the SID to which the C-SID is mapped are different.
- the parameter field includes a quantity flag and a CL pointer, and the quantity flag is represented by L.
- FIG. 5C shows a message including the above-mentioned special SID in the SID list, where the SPECIAL SID is the characteristic SID.
- the space occupied by the C-SID can be divided into one element, the length of the element may be greater than 128 bits, and the space occupied by each of the remaining SIDs is divided into one element, and the length of these elements is 128 bits . Therefore, the length of all spaces is not necessarily the same, and the length of the offset of the position pointed to in the SID list after each update of the SL pointer is not necessarily the same.
- the elements of the SID list including all C-SIDs include 7 C-SIDs, and the length is greater than 128 bits.
- the CL pointer in the special SID is used to determine the currently to-be-processed C-SID among the elements including the C-SID.
- the value of the CL pointer is updated to ensure that the value of the CL pointer is always used to determine the position of the currently pending C-SID in the element .
- the value of the CL pointer in the special SID can be 7 different values, such as 0-6.
- the value of the quantity flag is used to indicate the quantity of all C-SIDs.
- the value of the quantity flag is used to determine the offset position when the SL pointer is updated when multiple C-SIDs are over. With reference to the message shown in FIG. 5C, when multiple C-SIDs are over, the offset position of the SL pointer can be 224 bits, thereby pointing to the first SID after the multiple C-SIDs.
- the value of the function field in the special SID is used to indicate a specific function in the SRv6 network, and the quantity flag and the CL pointer are used as parameters of the specific function.
- the specific function is used to copy the prefix part of the SID mapped by the C-SID, that is, the above-mentioned Prefix, into the DA field when the value of the CL pointer is the initial value, that is, when multiple C-SIDs in the SID list start, And copy the first C-SID of the plurality of C-SIDs into the DA field.
- the network device 301 can obtain the SID and C-SID about the same segment, including the above-mentioned special SID. These SIDs and C-SIDs can be issued by the network equipment that executes the segment. When generating the SID list, among the multiple segments that can be represented by C-SID, the first segment should use the above-mentioned special SID instead of C-SID.
- an end flag can also be set in the message header to indicate the end of the C-SID.
- the network device can determine the last C-SID of the multiple C-SIDs according to the end flag, and copy the 128 bits after the last C-SID to the DA field, that is, copy the SID after the last C-SID to the DA Field.
- an end flag is set after the multiple C-SIDs to indicate the end of the multiple C-SIDs.
- the end flag may be a type field with the same length as the C-SID, and the value of the end flag is a specific value, for example, all 0s.
- the end mark can be represented by EOC, and the italic font indicates that this is an optional implementation.
- an end flag is set in the last C-SID of the multiple C-SIDs to indicate the end of the multiple C-SIDs. As shown in FIG. 5A, the end flag can be included in C-SID7.
- the end flag may be a specific function in SRv6, which is stored in the function field of the last C-SID.
- the end flag may be a specific field in the C-SID.
- the last part of the fields in the C-SID can be divided and used as candidate fields for the CL pointer.
- a part of the fields before the candidate field of the CL pointer can be divided and used as the candidate field of the end flag.
- FIG. 5D shows the format of the C-SID including the candidate field of the end flag and the candidate field of the CL pointer.
- the candidate field of the end flag is represented by S.
- the candidate field of the end flag can be set to a specific length, for example, 1 bit.
- the value of the candidate field of the end flag can be set to a specific initial value, for example, set to 0.
- the value of the candidate field of the end flag in the last C-SID in the SID list is set to 1, indicating the end of the C-SID.
- the value of the candidate field of the end flag in the remaining C-SID remains the initial value.
- the update method of the CL pointer is the same as the previously introduced method, and will not be repeated here.
- the network device 301 can obtain C-SIDs of different formats for the same segment, including the above-mentioned C-SID format of the candidate field including the end flag and the candidate field of the CL pointer. These C-SIDs in different formats can be issued by the network equipment that executes the segment.
- the last C-SID in each element of the SID list can select the format of the above-mentioned C-SID including the candidate field of the end flag and the candidate field of the CL pointer.
- the candidate field of the CL pointer can be used as the CL pointer to determine the C-SID currently to be processed in the element, when the last C-SID in the element is the last C-SID in all C-SIDs.
- the end flag can be used to indicate the end of the C-SID.
- S320 The network device 301 sends the message encapsulated with the message header.
- the network device 301 copies the first C-SID in the SID list to the DA field.
- the first part of the SID in the DA field and the first C-SID reconstitute the SID, and the network device 301 sends the package with the The message in the message header.
- the network device 301 processes the message according to the SRv6 network function indicated by the function field in the SID, and the processing process is determined by a specific instruction in the SRv6 network function.
- the processing procedure may include sending the message, for example, the network device 301 sends the message to the network device 302.
- the network device 302 receives the message.
- the message header of the message includes a destination address field, a first pointer, a second pointer, and a list for processing the message.
- the list includes a plurality of identifiers arranged in sequence, and the plurality of identifiers are mapped one by one. To multiple segments in the SR network, the value of the first pointer and the value of the second pointer together indicate the position of the first identifier of the multiple identifiers in the list.
- the network device 302 determines the first identifier according to the value of the first pointer and the value of the second pointer.
- the network device 302 copies the first identifier into the destination address field.
- the network device 302 receives the SID list containing the C-SID, determines the C-SID currently to be processed according to the SL pointer and the CL pointer, and copies the C-SID into the DA field.
- the C-SID can cover the original C-SID in the DA field, and combine with the prefix part in the DA field to form an SID. Subsequent network devices on the message forwarding path can process the message according to the SID.
- the network device 302 learns the specific position of the second part in the DA field according to the structure information of the SID advertised by the network device 301 or the controller in the network . Therefore, the network device 302 can copy the currently to-be-processed C-SID to the corresponding position of the second part in the DA field according to the specific position of the second part in the DA field, so that the C-SID covers the DA field.
- the original C-SID in the middle That is, the network device 302 updates the second part in the DA field, but does not update the first part and the third part in the DA field.
- the updated second part is combined with the first and third parts to form an SID.
- Subsequent network devices on the message forwarding path can process the message according to the SID.
- the current waiting sequence is determined according to the SL pointer and the CL pointer.
- the space including the C-SID in the SID list can be divided into multiple elements or one element.
- the current to-be-processed is determined according to the SL pointer and the CL pointer.
- C-SID also has different implementation methods.
- the network device 302 may be the network device 1 in FIG. 1.
- the network device 1 receives the message sent by the network device S.
- the message header of the message is shown in FIG. 4.
- the message header includes the DA field, the SL pointer, the CL pointer, and SID list, SID list includes multiple C-SIDs.
- the DA field includes the prefix part and C-SID 1, where the prefix part is A1, C-SID 1 is 0001:1111, and the combination of the prefix part and C-SID 1 is A1:0001:1111, that is, the network device 1’s SID.
- the value of the SL pointer in the message header is 1, indicating the position of the first element in the SID list. See Figure 4.
- the first element includes 4 C-SIDs, namely C-SID 1, C- SID 2, C-SID 3, C-SID 4.
- the value of the CL pointer in the message header is 1, indicating the position of the first C-SID in the line in the element, that is, C-SID 1.
- the network device 1 first updates the value of the CL pointer, for example, changes the value of the CL pointer to 2, indicating the position of the second C-SID in the row in the element.
- the network device 1 obtains the second C-SID in the first element, namely C-SID 2, according to the indication of the SL pointer and the CL pointer, and copies the C-SID 2 to the DA field in the message header, instead of the DA field
- the DA field includes a combination of the prefix part and C-SID2, that is, A1:0002:2222, which is the SID of network device 2.
- the network device 1 queries the forwarding entry according to the SID of the network device 2 in the DA field, and sends the message to the network device 2 according to the query result.
- the network device 302 may also be the network device 2 in FIG. 1.
- the network device 2 receives the message sent by the network device 1.
- the DA field in the message header of the message includes the prefix part and the C-SID 2, namely A1 :0002:2222, which is the SID of network device 2.
- the value of the SL pointer in the message header is 1, and the value of the CL pointer is 2, indicating the position of the second C-SID in the element in the first element, that is, C-SID 2.
- the network device 2 first updates the value of the CL pointer, for example, changes the value of the CL pointer to 3, indicating the position of the third C-SID in the row in the element.
- the network device 2 obtains the third C-SID in the first element, namely C-SID 3, according to the indication of the SL pointer and the CL pointer, and copies the C-SID 3 to the DA field in the message header, instead of the DA field
- the DA field includes the combination of the prefix part and the C-SID 3, that is, A1:0003:3333, which is the SID of the network device 3.
- the network device 2 queries the forwarding entry according to the SID of the network device 3 in the DA field, and sends the message to the network device 3 according to the query result.
- the network device 302 may also be the network device 3 in FIG.
- the execution sequence is to first copy the C-SID and then update the value of the CL pointer, and the space including the C-SID in the SID list can be divided into multiple elements, then in the message received by the network device 1, the CL pointer The value of is already 2, indicating the position of the second C-SID in the element.
- the network device 1 obtains the second C-SID in the first element, namely C-SID 2, according to the indication of the SL pointer and the CL pointer, and copies the C-SID 2 to the DA field in the message header, instead of the DA field
- the network device 1 updates the value of the CL pointer, for example, changes the value of the CL pointer to 3, indicating the position of the third C-SID in the row in the element.
- the DA field includes the combination of the prefix part and the C-SID 2, namely A1:0002:2222, which is the SID of the network device 2.
- the network device 1 queries the forwarding entry according to the SID of the network device 2 in the DA field, and sends the message to the network device 2 according to the query result.
- Other execution processes can be derived by analogy from the above description, and will not be repeated here.
- the network device 302 judges whether the C-SID in the current DA field is the last C-SID in the elements of the SID list, and if the C-SID in the current DA field is the last C in the elements of the SID list -SID, the network device 302 needs to update the value of the SL pointer and the value of the CL pointer.
- Multiple network devices on the message forwarding path sequentially process multiple C-SIDs in the SID list. When the C-SID in one element of the SID list is processed, continue to process the C-SID in the next element.
- both the value of the CL pointer and the value of the SL pointer need to be modified to ensure that the current to-be-processed C-SID can still be determined according to the value of the CL pointer and the value of the SL pointer.
- the execution sequence is still to update the value of the SL pointer and the value of the CL pointer and then copy the C-SID as an example for description.
- the network device 302 may be the network device 4 in FIG. 1, and the network device 4 receives a message sent by the network device 3.
- the DA field in the header of the message includes the prefix part and C-SID 4, namely A1:0004:4444, which is the SID of the network device 4.
- the value of the SL pointer in the message header is 1, and the value of the CL pointer is 4, indicating the position of the fourth C-SID in the element in the first element, that is, C-SID 4.
- the network device 4 determines that the C-SID 4 in the current DA field is the last C-SID in the elements of the SID list, and the network device 4 needs to update the value of the SL pointer and the value of the CL pointer. Specifically, the network device 4 first updates the value of the SL pointer, for example, changes the value of the SL pointer to 0 to indicate the second element in the SID list. The second element includes three C-SIDs, which are C-SIDs. 5. C-SID 6, C-SID 7. The network device 4 then updates the value of the CL pointer, for example, changes the value of the CL pointer to 1, indicating the position of the first C-SID in the element, that is, the position of the C-SID 5 in the element.
- the network device 4 obtains the first C-SID in the second element, namely C-SID 5, according to the indication of the SL pointer and the CL pointer, and copies the C-SID 5 to the DA field in the message header, instead of the DA field
- the DA field includes the combination of the prefix part and the C-SID 5, that is, A1:0005:5555, which is the SID of the network device 5.
- the network device 4 queries the forwarding entry according to the SID of the network device 5 in the DA field, and sends the message to the network device 5 according to the query result.
- the execution process can be derived by analogy based on the above description, and will not be repeated here.
- the network device 302 may also be the network device 5, the network device 6, or the network device 7 in FIG. 1.
- the packet processing process of these network devices is similar to the above description, and will not be repeated here.
- each forwarding process corresponds to a segment, thus representing the overall message forwarding process.
- the SID list includes 7 SIDs.
- those skilled in the art can easily anticipate that in the process of processing the message, the message may also be processed multiple times at some network equipment. These processing include forwarding processing and non-forwarding processing.
- the behavior corresponds to one segment, so in the application scenario shown in FIG. 1, the SID list representing the entire message forwarding process may include more than 7 SIDs, for example, 10 SIDs.
- FIG. 6 shows a schematic diagram of a possible structure of the network device involved in the foregoing embodiment.
- the network device 600 can implement the function of the network device 301 in the embodiment shown in FIG. 3.
- the network device 600 includes: a receiving unit 601 and a processing unit 602. These units can perform the corresponding functions of the network device in the above method. for example,
- the receiving unit 601 is configured to receive messages
- the processing unit 602 is configured to generate a message header and encapsulate the message header into the message, the message header including a first pointer, a second pointer, and a list for processing the message, the list It includes multiple identifiers arranged in sequence, the multiple identifiers are mapped to multiple segments in the SR network one by one, and the value of the first pointer and the value of the second pointer together indicate that the multiple identifiers The position of the first identifier in the list, and the message encapsulated with the message header is processed according to the list.
- FIG. 7 shows another possible structural schematic diagram of the network device 301 involved in the foregoing embodiment.
- the network device 700 includes a processor 702, a network interface 703, and a memory 701. among them,
- the memory 701 is used to store instructions; in the case of implementing the embodiment shown in FIG. 6 and each unit described in the embodiment of FIG. 6 is realized by software, it is required to perform the functions of the processing unit 602 in FIG. 6
- the software or program code of the software is stored in the memory 701.
- the processor 702 is configured to execute instructions in the memory 701, and execute the foregoing method for processing packets in the embodiment shown in FIG. 3.
- the network interface 703 is used to communicate with other network devices.
- the network interface 703, the processor 702, and the memory 701 are connected to each other.
- the network interface 703, the processor 702, and the memory 701 are connected to each other via a bus; the bus may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus Wait.
- PCI peripheral component interconnect
- EISA extended industry standard architecture
- the bus can be divided into an address bus, a data bus, a control bus, and so on. For ease of representation, only one thick line is used in FIG. 7, but it does not mean that there is only one bus or one type of bus.
- the processor 702 is configured to receive a message through the network interface 703, generate a message header, and encapsulate the message header into the message, and the message header includes a first pointer, a second pointer, and A list for processing the message, the list includes a plurality of identifiers arranged in sequence, the plurality of identifiers are mapped to a plurality of segments in the SR network one by one, the value of the first pointer and the The value of the second pointer collectively indicates the position of the first identifier of the plurality of identifiers in the list, and the message encapsulated with the message header is processed according to the list.
- the processor 702 please refer to the detailed description of the processes S310, S315, and S320 in the embodiment shown in FIG. 3, which will not be repeated here.
- the network interface 703 is used for the network device 700 to receive and send messages through the network system.
- S310 in the embodiment shown in FIG. 3, which will not be repeated here.
- FIG. 8 shows a schematic diagram of a possible structure of the network device involved in the foregoing embodiment.
- the network device 800 can implement the function of the network device 302 in the embodiment shown in FIG. 3.
- the network device 800 includes: a receiving unit 801 and a processing unit 802. This unit can perform the corresponding functions of the network device in the above method. for example,
- the receiving unit 801 is configured to receive a message.
- the message header of the message includes a destination address field, a first pointer, a second pointer, and a list for processing the message, and the list includes a plurality of
- the multiple identifiers are mapped to multiple segments in the SR network one by one, and the value of the first pointer and the value of the second pointer together indicate that the first identifier of the multiple identifiers is in all the segments.
- the processing unit 802 is configured to determine the first identifier according to the value of the first pointer and the value of the second pointer, and copy the first identifier to the destination address field.
- FIG. 9 shows a schematic diagram of a possible structure of the network device involved in the foregoing embodiment.
- the network device 900 includes a processor 902, a network interface 903, and a memory 901. among them,
- the memory 901 is used to store instructions; in the case of implementing the embodiment shown in FIG. 8 and the units described in the embodiment in FIG. 8 are realized by software, it is required to execute the function of the 8 sending unit 801 in FIG. 8
- the software or program code of the software is stored in the memory 901.
- the processor 902 is configured to execute instructions in the memory 901, and execute the foregoing method for processing packets in the embodiment shown in FIG. 3.
- the network interface 903 is used to communicate with other network devices.
- the network interface 903, the processor 902, and the memory 901 are connected to each other.
- the network interface 903, the processor 902, and the memory 901 are connected to each other through a bus; the bus may be a PCI bus or an EISA bus.
- the bus can be divided into an address bus, a data bus, a control bus, and so on. For ease of presentation, only one thick line is used in FIG. 9, but it does not mean that there is only one bus or one type of bus.
- the processor 902 is configured to receive a message through the network interface 903, and the message header of the message includes a destination address field, a first pointer, a second pointer, and a list for processing the message,
- the list includes a plurality of identifiers arranged in sequence, and the plurality of identifiers are mapped to a plurality of segments in the SR network one by one, and the value of the first pointer and the value of the second pointer together indicate the plurality of segments.
- the position of the first identifier in the two identifiers in the list, the first identifier is determined according to the value of the first pointer and the value of the second pointer, and the first identifier is copied to the destination address Field.
- the processes S325, S330, and S335 in the embodiment shown in FIG. 3, which will not be repeated here.
- the network interface 903 is used for the network device 900 to send and receive messages through the network system.
- the network interface 903 is used for the network device 900 to send and receive messages through the network system.
- S325 for the specific process, please refer to the detailed description of S325 in the embodiment shown in FIG. 3, which will not be repeated here.
- the aforementioned memory 701 and memory 901 may be random-access memory (RAM), flash memory (flash), read only memory (ROM), erasable programmable read-only memory (erasable programmable read only memory). memory, EPROM), electrically erasable programmable read-only memory (electrically erasable programmable read only memory, EEPROM), register, hard disk, mobile hard disk, CD-ROM or any other form of storage known to those skilled in the art medium.
- RAM random-access memory
- flash flash
- ROM read only memory
- ROM erasable programmable read-only memory
- EPROM electrically erasable programmable read-only memory
- register hard disk, mobile hard disk, CD-ROM or any other form of storage known to those skilled in the art medium.
- the aforementioned processor 702 and processor 902 may be, for example, a central processing unit (CPU), a general-purpose processor, a digital signal processor (digital signal processor, DSP), a field programmable gate array (FPGA). ) Or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logical blocks, modules, and circuits described in conjunction with the disclosure of this application.
- the processor may also be a combination of computing functions, for example, a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and so on.
- the above-mentioned network interface 703 and network interface 903 may be, for example, an interface card, etc., and may be an ethernet interface or an asynchronous transfer mode (ATM) interface.
- the aforementioned network interface 703 and network interface 903 may be wired interfaces or wireless interfaces.
- the aforementioned processor 702 and processor 902 may be, for example, an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- the processor 702 and the processor 902 execute the above-mentioned method applied to the message processing in the embodiment shown in FIG. 3 according to their own circuits. That is, at this time, the memory 701 and the memory 901 do not need to store the instructions executed by the processor 702 and the processor 902, and the processor 702 and the processor 902 no longer execute the instructions in the memory 701 and the memory 901.
- the network device may not include the memory 701 or the memory 901 at this time.
- FIG. 10 shows a schematic diagram of a possible structure of a network system provided by an embodiment of the present invention.
- the network system 1000 includes a first network device 1001 and a second network device 1002.
- the first network device 1001 in the network system can execute the processing steps of the network device 301 in the embodiment shown in FIG. 3, and the second network device 1002 in the network system can execute the network device 302 in the embodiment shown in FIG. 3 ⁇ Processing steps.
- the first network device 1001 in the network system may be the network device 600 in the embodiment shown in FIG. 6, and the second network device 1002 may be the network device 800 in the embodiment shown in FIG. 8, or corresponding
- the first network device 1001 in the network system may be the network device 700 in the embodiment shown in FIG. 7, and the second network device 1002 may be the network device 900 in the embodiment shown in FIG. 9.
- the first network device is configured to receive a message, generate a message header, and encapsulate the message header into the message, and the message header includes a first pointer, a second pointer, and processing
- the list of messages the list includes a plurality of identifiers arranged in sequence, the plurality of identifiers are mapped to a plurality of segments in the SR network one by one, the value of the first pointer and the second pointer
- the value of collectively indicates the position of the first identifier of the plurality of identifiers in the list, and the message encapsulated with the message header is processed according to the list.
- the second network device is configured to receive a message, and the message header of the message includes a destination address field, a first pointer, a second pointer, and a list for processing the message, and the list includes the sequence
- the multiple identifiers are mapped to multiple segments in the SR network one by one, and the value of the first pointer and the value of the second pointer together indicate the first of the multiple identifiers
- the position of the identifier in the list is determined, the first identifier is determined according to the value of the first pointer and the value of the second pointer, and the first identifier is copied into the destination address field.
- the embodiment of the present invention also provides a non-transitory storage medium for storing the software instructions used in the foregoing embodiment, which includes a program for executing the method shown in the foregoing embodiment, when it is on a computer or network device When executed, the computer or network device shown is caused to execute the method in the foregoing method embodiment.
- the embodiment of the present invention also provides a computer program product including computer program instructions, which when the computer program product runs on a computer, causes a network node to execute the method in the foregoing method embodiment.
- the disclosed system, device, and method may be implemented in other ways.
- the device embodiments described above are merely illustrative, for example, the division of units is only a logical business division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or integrated. To another system, or some features can be ignored, or not implemented.
- the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
- service units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
- the above-mentioned integrated unit can be implemented in the form of hardware or software business unit.
- the integrated unit is implemented in the form of a software business unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
- the technical solution of the present application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods in the various embodiments of the present application.
- the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disks or optical disks and other media that can store program codes. .
- the services described in the present invention can be implemented by hardware, software, firmware, or any combination thereof.
- these services can be stored in a computer-readable medium or transmitted as one or more instructions or codes on the computer-readable medium.
- the computer-readable medium includes a computer storage medium and a communication medium, where the communication medium includes any medium that facilitates the transfer of a computer program from one place to another.
- the storage medium may be any available medium that can be accessed by a general-purpose or special-purpose computer.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
Claims (71)
- 一种处理报文的方法,所述方法应用于分段路由SR网络,其特征在于,所述方法包括:接收报文,所述报文的报文头包括目的地址字段、第一指针、第二指针和用于处理所述报文的列表,所述列表包括依次排列的多个标识,所述多个标识一一映射到所述SR网络中的多个段,所述第一指针的值和所述第二指针的值共同指示所述多个标识中的第一标识在所述列表中的位置;根据所述第一指针的值和所述第二指针的值确定所述第一标识;将所述第一标识拷贝至所述目的地址字段中。
- 根据权利要求1所述的方法,其特征在于,所述列表包括依次排列的多个标识,具体为:所述列表包括依次排列的至少一个元素,所述至少一个元素包括第一元素,所述第一元素包括所述多个标识中的至少两个标识,所述至少两个标识依次排列,所述第一标识是所述至少两个标识中的一个;所述第一指针的值和所述第二指针的值共同指示所述多个标识中的第一标识在所述列表中的位置,具体为:所述第二指针的值用于确定所述第一元素在所述列表中的位置,所述第一指针的值用于确定所述第一标识在所述第一元素中的位置。
- 根据权利要求2所述的方法,其特征在于,所述第一指针包括在所述至少两个标识中的第一个标识中。
- 根据权利要求2或3所述的方法,其特征在于,所述第一指针的值用于确定所述第一标识在所述第一元素中的位置,具体为:所述第一指针的值指示第二标识在所述第一元素中的位置,所述第二标识是所述第一标识在所述多个标识中的前一个标识;所述根据所述第一指针的值和所述第二指针的值确定所述第一标识包括:修改所述报文的报文头中所述第一指针的值,以使得修改后的所述第一指针的值指示所述第一标识在所述第一元素中的位置;根据修改后的所述第一指针的值和所述第二指针的值确定所述第一标识。
- 根据权利要求2或3所述的方法,其特征在于,所述第一指针的值用于确定所述第一标识在所述第一元素中的位置,具体为:所述第一指针的值指示所述第一标识在所述第一元素中的位置;所述将所述第一标识拷贝至所述目的地址字段中之后,所述方法还包括:修改所述报文的报文头中所述第一指针的值,以使得修改后的所述第一指针的值指示第二标识在所述第一元素中的位置,所述第二标识是所述第一标识在所述至少两个标识中 的后一个标识。
- 根据权利要求2或3所述的方法,其特征在于,所述第二指针的值用于确定所述第一元素在所述列表中的位置,具体为:所述第二指针的值指示所述至少一个元素中的第二元素在所述列表中的位置,所述第二元素是所述第一元素在所述至少一个元素中的前一个元素;所述第一指针的值用于确定所述第一标识在所述第一元素中的位置,具体为:所述第一指针的值指示第二标识在所述第二元素中位置,所述第二标识是所述第一标识在所述多个标识中的前一个标识,所述第二元素包括所述多个标识中的至少一个标识,所述至少一个标识依次排列,所述第二标识是所述至少一个标识中的一个,所述目的地址字段包括第二标识;所述根据所述第一指针的值和所述第二指针的值确定所述第一标识包括:确定所述第二标识是所述至少一个标识中的最后一个标识;修改所述报文的报文头中所述第二指针的值,以使得修改后的所述第二指针的值指示所述第一元素在所述列表中的位置;修改所述报文的报文头中所述第一指针的值,以使得修改后的所述第一指针的值指示所述第一标识在所述第一元素中的位置;根据修改后的所述第一指针的值和修改后的所述第二指针的值确定所述第一标识。
- 根据权利要求2或3所述的方法,其特征在于,所述第二指针的值用于确定所述第一元素在所述列表中的位置,具体为:所述第二指针的值指示所述第一元素在所述列表中的位置;所述第一指针的值用于确定所述第一标识在所述第一元素中的位置,具体为:所述第一指针的值指示所述第一标识在所述第一元素中位置;在所述将所述第一标识拷贝至所述目的地址字段中之后,所述方法还包括:确定所述第一标识是所述至少两个标识中的最后一个标识;修改所述报文的报文头中所述第二指针的值,以使得修改后的所述第二指针的值指示第二元素在所述列表中的位置,所述第二元素是所述第一元素在所述至少一个元素中的后一个元素;修改所述报文的报文头中所述第一指针的值,以使得修改后的所述第一指针的值指示第二标识在所述第二元素中的位置,所述第二标识是所述第一标识在所述多个标识中的后一个标识,所述第二元素包括所述第二标识。
- 根据权利要求1-7任一项所述的方法,其特征在于,所述多个段一一映射到多个段标识,所述多个标识一一映射到所述多个段标识,所述多个段标识中的每个段标识包括第一部分和第二部分,所述第一部分在所述第二部分之前,所述多个段标识中的所有段标识的第一部分相同,所述多个标识中的每个标识包括所述每个标识所映射到的段标识的第二部分。
- 根据权利要求8所述的方法,其特征在于,所述目的地址字段中包括所述第一部分。
- 根据权利要求1-9任一项所述的方法,其特征在于,所述元素的长度为(N*32)比特,其中N为大于等于1的整数。
- 根据权利要求1-7任一项所述的方法,其特征在于,所述多个段一一映射到多个段标识,所述多个标识一一映射到所述多个段标识,所述多个段标识中的每个段标识包括依次排列的第一部分、第二部分和第三部分,所述多个段标识中的所有段标识的第一部分相同,所述多个段标识中的所有段标识的第三部分相同,所述多个标识中的每个标识包括所述每个标识所映射到的段标识的第二部分。
- 根据权利要求11所述的方法,其特征在于,所述第一部分、所述第二部分和所述第三部分的总长度为128比特。
- 根据权利要求1或11所述的方法,其特征在于,所述方法还包括:接收所述目的地址字段的结构信息,所述结构信息指示所述第一标识在所述目的地址字段中的添加位置;所述将所述第一标识拷贝至所述目的地址字段中,包括:根据所述结构信息,将所述第一标识拷贝至所述第一标识在所述目的地址字段中的所述添加位置。
- 根据权利要求13所述的方法,其特征在于,所述接收所述目的地址字段的结构信息包括:接收控制报文,所述控制报文包括所述结构信息,所述控制报文是中间系统到中间系统IS-IS协议报文、开放式最短路径优先OSPF协议报文或者边界网关协议BGP协议报文。
- 根据权利要求1至14任一项所述的方法,其特征在于,所述多个标识中的每个标识的长度为32比特或16比特。
- 一种转发报文的方法,所述方法应用于分段路由SR网络,其特征在于,所述方法包括:接收报文;生成报文头并封装所述报文头至所述报文,所述报文头包括第一指针、第二指针和用于处理所述报文的列表,所述列表包括依次排列的多个标识,所述多个标识一一映射到所述SR网络中的多个段,所述第一指针的值和所述第二指针的值共同指示所述多个标识中的第一标识在所述列表中的位置;发送封装有所述报文头的所述报文。
- 根据权利要求16所述的方法,其特征在于,所述多个段一一映射到多个段标识,所述多个标识一一映射到所述多个段标识,所述多个段标识中的每个段标识包括第一部分和第二部分,所述第一部分在所述第二部分之前,所述多个段标识中的所有段标识的第一部分相同,所述多个标识中的每个标识包括所述每个标识所映射到的段标识的第二部分。
- 根据权利要求17所述的方法,其特征在于,所述生成所述报文头包括:将所述多个段中的每个段所映射到的段标识的第二部分作为所述每个段所映射到的标识以生成所述列表;根据所述列表生成所述报文头。
- 根据权利要求17所述的方法,其特征在于,所述生成所述报文头包括:接收所述列表,所述列表中的所述多个标识中的每个标识包括所述每个标识所映射到的段所映射到的段标识的第二部分。
- 根据权利要求17所述的方法,其特征在于,所述第一部分的长度为X比特,X为整数,X大于等于1且小于128,所述多个标识中的每个标识的长度为128-X比特。
- 根据权利要求17所述的方法,其特征在于,所述列表不包括所述第一部分。
- 根据权利要求17-21任一项所述的方法,其特征在于,所述报文头还包括目的地址字段,所述生成所述报文头并封装所述报文头至所述报文还包括:在所述目的地址字段添加所述第一部分;将所述多个标识中的第一个标识拷贝至所述目的地址字段中。
- 根据权利要求16或17所述的方法,其特征在于,所述列表包括依次排列的多个标识,具体为:所述列表包括依次排列的至少一个元素,所述至少一个元素中的第一个元素包括所述多个标识中的至少两个标识,所述至少两个标识依次排列,所述第一标识是所述至少两个标识中的一个;所述第一指针的值和所述第二指针的值共同指示所述多个标识中的第一标识在所述列表中的位置,具体为:所述第二指针的值指示所述第一个元素在所述列表中的位置,所述第一指针的值指示所述第一标识在所述第一元素中的位置。
- 根据权利要求23所述的方法,其特征在于,所述第一指针包括在所述至少两个标识中的第一个标识中。
- 根据权利要求16或17所述的方法,其特征在于,所述列表包括第一段标识,所述第一段标识在所述多个标识中的第一个标识之前,所述第一段标识映射到所述SR网络 中的段,所述第一段标识的长度为128比特。
- 根据权利要求25所述的方法,其特征在于,所述第一段标识与所述多个标识中的第一个标识相邻,所述第一段标识包括开始标志,所述开始标志用于指示所述第一段标识在所述列表中的后一个标识是所述多个标识中的第一个标识。
- 根据权利要求26所述的方法,其特征在于,所述第一段标识包括功能字段和参数字段,所述功能字段包括所述开始标志,所述参数字段包括所述第一指针和数量标志,所述数量标志用于指示所述多个标识的数量。
- 根据权利要求16或17所述的方法,其特征在于,所述列表包括第二段标识,所述第二段标识在所述多个标识中的最后一个标识之后,所述第一段标识映射到所述SR网络中的段,所述第一段标识的长度为128比特。
- 根据权利要求28所述的方法,其特征在于,所述第二段标识与所述多个标识中的最后一个标识相邻,所述第二段标识包括结束标志,所述结束标志用于指示所述第二段标识在所述列表中的前一个标识是所述多个标识中的最后一个标识。
- 根据权利要求16所述的方法,其特征在于,所述多个段一一映射到多个段标识,所述多个标识一一映射到所述多个段标识,所述多个段标识中的每个段标识包括依次排列的第一部分、第二部分和第三部分,所述多个段标识中的所有段标识的第一部分相同,所述多个段标识中的所有段标识的第三部分相同,所述多个标识中的每个标识包括所述每个标识所映射到的段标识的第二部分。
- 根据权利要求30所述的方法,其特征在于,所述第一部分、所述第二部分和所述第三部分的总长度为128比特。
- 根据权利要求30或31所述的方法,其特征在于,所述报文头还包括目的地址字段,所述生成所述报文头并封装所述报文头至所述报文还包括:在所述目的地址字段添加所述第一部分和所述第三部分;将所述多个标识中的第一个标识拷贝至所述目的地址字段中。
- 根据权利要求30-32任一项所述的方法,其特征在于,所述方法还包括:向中间网络设备发送结构信息,所述结构信息指示所述第一标识在所述目的地址字段中的添加位置。
- 根据权利要求16-33任一项所述的方法,其特征在于,所述多个标识中的每个标识的长度为32比特或16比特。
- 一种网络设备,所述网络设备位于分段路由SR网络,其特征在于,所述网络设备包括:接收单元,用于接收报文,所述报文的报文头包括目的地址字段、第一指针、第二指针和用于处理所述报文的列表,所述列表包括依次排列的多个标识,所述多个标识一一映射到所述SR网络中的多个段,所述第一指针的值和所述第二指针的值共同指示所述多个标识中的第一标识在所述列表中的位置;处理单元,用于根据所述第一指针的值和所述第二指针的值确定所述第一标识,将所述第一标识拷贝至所述目的地址字段中。
- 根据权利要求35所述的网络设备,其特征在于,所述列表包括依次排列的多个标识,具体为:所述列表包括依次排列的至少一个元素,所述至少一个元素包括第一元素,所述第一元素包括所述多个标识中的至少两个标识,所述至少两个标识依次排列,所述第一标识是所述至少两个标识中的一个;所述第一指针的值和所述第二指针的值共同指示所述多个标识中的第一标识在所述列表中的位置,具体为:所述第二指针的值用于确定所述第一元素在所述列表中的位置,所述第一指针的值用于确定所述第一标识在所述第一元素中的位置。
- 根据权利要求36所述的网络设备,其特征在于,所述第一指针包括在所述至少两个标识中的第一个标识中。
- 根据权利要求36或37所述的网络设备,其特征在于,所述第一指针的值用于确定所述第一标识在所述第一元素中的位置,具体为:所述第一指针的值指示第二标识在所述第一元素中的位置,所述第二标识是所述第一标识在所述多个标识中的前一个标识;所述处理单元,还用于修改所述报文的报文头中所述第一指针的值,以使得修改后的所述第一指针的值指示所述第一标识在所述第一元素中的位置,根据修改后的所述第一指针的值和所述第二指针的值确定所述第一标识。
- 根据权利要求36或37所述的网络设备,其特征在于,所述第一指针的值用于确定所述第一标识在所述第一元素中的位置,具体为:所述第一指针的值指示所述第一标识在所述第一元素中的位置;所述处理单元,还用于修改所述报文的报文头中所述第一指针的值,以使得修改后的所述第一指针的值指示第二标识在所述第一元素中的位置,所述第二标识是所述第一标识在所述至少两个标识中的后一个标识。
- 根据权利要求36或37所述的网络设备,其特征在于,所述第二指针的值用于确定所述第一元素在所述列表中的位置,具体为:所述第二指针的值指示所述至少一个元素中的第二元素在所述列表中的位置,所述第二元素是所述第一元素在所述至少一个元素中的前一个元素;所述第一指针的值用于确定所述第一标识在所述第一元素中的位置,具体为:所述第一指针的值指示第二标识在所述第二元素中位置,所述第二标识是所述第一标识在所述多个标识中的前一个标识,所述第二元素包括所述多个标识中的至少一个标识,所述至少一个标识依次排列,所述第二标识是所述至少一个标识中的一个,所述目的地址字段包括第二标识;所述处理单元,还用于确定所述第二标识是所述至少一个标识中的最后一个标识,修改所述报文的报文头中所述第二指针的值,以使得修改后的所述第二指针的值指示所述第一元素在所述列表中的位置,修改所述报文的报文头中所述第一指针的值,以使得修改后的所述第一指针的值指示所述第一标识在所述第一元素中的位置,根据修改后的所述第一指针的值和修改后的所述第二指针的值确定所述第一标识。
- 根据权利要求36或37所述的网络设备,其特征在于,所述第二指针的值用于确定所述第一元素在所述列表中的位置,具体为:所述第二指针的值指示所述第一元素在所述列表中的位置;所述第一指针的值用于确定所述第一标识在所述第一元素中的位置,具体为:所述第一指针的值指示所述第一标识在所述第一元素中位置;所述处理单元,还用于确定所述第一标识是所述至少两个标识中的最后一个标识,修改所述报文的报文头中所述第二指针的值,以使得修改后的所述第二指针的值指示第二元素在所述列表中的位置,所述第二元素是所述第一元素在所述至少一个元素中的后一个元素,修改所述报文的报文头中所述第一指针的值,以使得修改后的所述第一指针的值指示第二标识在所述第二元素中的位置,所述第二标识是所述第一标识在所述多个标识中的后一个标识,所述第二元素包括所述第二标识。
- 根据权利要求35-41任一项所述的网络设备,其特征在于,所述多个段一一映射到多个段标识,所述多个标识一一映射到所述多个段标识,所述多个段标识中的每个段标识包括第一部分和第二部分,所述第一部分在所述第二部分之前,所述多个段标识中的所有段标识的第一部分相同,所述多个标识中的每个标识包括所述每个标识所映射到的段标识的第二部分。
- 根据权利要求42所述的网络设备,其特征在于,所述目的地址字段中包括所述第一部分。
- 根据权利要求35-43任一项所述的方法,其特征在于,所述元素的长度为(N*32)比特,其中N为大于等于1的整数。
- 根据权利要求35-41任一项所述的网络设备,其特征在于,所述多个段一一映射到多个段标识,所述多个标识一一映射到所述多个段标识,所述多个段标识中的每个段标 识包括依次排列的第一部分、第二部分和第三部分,所述多个段标识中的所有段标识的第一部分相同,所述多个段标识中的所有段标识的第三部分相同,所述多个标识中的每个标识包括所述每个标识所映射到的段标识的第二部分。
- 根据权利要求45所述的网络设备,其特征在于,所述第一部分、所述第二部分和所述第三部分的总长度为128比特。
- 根据权利要求35或45所述的网络设备,其特征在于,所述处理单元,还用于接收所述目的地址字段的结构信息,所述结构信息指示所述第一标识在所述目的地址字段中的添加位置;根据所述结构信息,将所述第一标识拷贝至所述第一标识在所述目的地址字段中的所述添加位置。
- 根据权利要求47所述的网络设备,其特征在于,所述处理单元,还用于接收控制报文,所述控制报文包括所述结构信息,所述控制报文是中间系统到中间系统IS-IS协议报文、开放式最短路径优先OSPF协议报文或者边界网关协议BGP协议报文。
- 根据权利要求35-48任一项所述的网络设备,其特征在于,所述多个标识中的每个标识的长度为32比特或16比特。
- 一种网络设备,所述网络设备位于分段路由SR网络,其特征在于,所述网络设备包括:接收单元,用于接收报文;处理单元,用于生成报文头并封装所述报文头至所述报文,所述报文头包括第一指针、第二指针和用于处理所述报文的列表,所述列表包括依次排列的多个标识,所述多个标识一一映射到所述SR网络中的多个段,所述第一指针的值和所述第二指针的值共同指示所述多个标识中的第一标识在所述列表中的位置;发送封装有所述报文头的所述报文。
- 根据权利要求50所述的网络设备,其特征在于,所述多个段一一映射到多个段标识,所述多个标识一一映射到所述多个段标识,所述多个段标识中的每个段标识包括第一部分和第二部分,所述第一部分在所述第二部分之前,所述多个段标识中的所有段标识的第一部分相同,所述多个标识中的每个标识包括所述每个标识所映射到的段标识的第二部分。
- 根据权利要求51所述的网络设备,其特征在于,所述处理单元,还用于将所述多个段中的每个段所映射到的段标识的第二部分作为所述每个段所映射到的标识以生成所述列表,根据所述列表生成所述报文头。
- 根据权利要求51所述的网络设备,其特征在于,所述处理单元,还用于接收所述列表,所述列表中的所述多个标识中的每个标识包括所述每个标识所映射到的段所映射到的段标识的第二部分。
- 根据权利要求51所述的网络设备,其特征在于,所述第一部分的长度为X比特,X为整数,X大于等于1且小于128,所述多个标识中的每个标识的长度为128-X比特。
- 根据权利要求51所述的网络设备,其特征在于,所述列表不包括所述第一部分。
- 根据权利要求51-55任一项所述的网络设备,其特征在于,所述报文头还包括目的地址字段,所述处理单元,还用于在所述目的地址字段添加所述第一部分,将所述多个标识中的第一个标识拷贝至所述目的地址字段中。
- 根据权利要求50或51所述的网络设备,其特征在于,所述列表包括依次排列的多个标识,具体为:所述列表包括依次排列的至少一个元素,所述至少一个元素中的第一个元素包括所述多个标识中的至少两个标识,所述至少两个标识依次排列,所述第一标识是所述至少两个标识中的一个;所述第一指针的值和所述第二指针的值共同指示所述多个标识中的第一标识在所述列表中的位置,具体为:所述第二指针的值指示所述第一个元素在所述列表中的位置,所述第一指针的值指示所述第一标识在所述第一元素中的位置。
- 根据权利要求57所述的网络设备,其特征在于,所述第一指针包括在所述至少两个标识中的第一个标识中。
- 根据权利要求50或51所述的网络设备,其特征在于,所述列表包括第一段标识,所述第一段标识在所述多个标识中的第一个标识之前,所述第一段标识映射到所述SR网络中的段,所述第一段标识的长度为128比特。
- 根据权利要求59所述的网络设备,其特征在于,所述第一段标识与所述多个标识中的第一个标识相邻,所述第一段标识包括开始标志,所述开始标志用于指示所述第一段标识在所述列表中的后一个标识是所述多个标识中的第一个标识。
- 根据权利要求60所述的网络设备,其特征在于,所述第一段标识包括功能字段和参数字段,所述功能字段包括所述开始标志,所述参数字段包括所述第一指针和数量标志,所述数量标志用于指示所述多个标识的数量。
- 根据权利要求50或51所述的网络设备,其特征在于,所述列表包括第二段标识, 所述第二段标识在所述多个标识中的最后一个标识之后,所述第一段标识映射到所述SR网络中的段,所述第一段标识的长度为128比特。
- 根据权利要求62所述的网络设备,其特征在于,所述第二段标识与所述多个标识中的最后一个标识相邻,所述第二段标识包括结束标志,所述结束标志用于指示所述第二段标识在所述列表中的前一个标识是所述多个标识中的最后一个标识。
- 根据权利要求50所述的网络设备,其特征在于,所述多个段一一映射到多个段标识,所述多个标识一一映射到所述多个段标识,所述多个段标识中的每个段标识包括依次排列的第一部分、第二部分和第三部分,所述第一部分在所述第二部分之前,所述多个段标识中的所有段标识的第一部分相同,所述多个段标识中的所有段标识的第三部分相同,所述多个标识中的每个标识包括所述每个标识所映射到的段标识的第二部分。
- 根据权利要求64所述的网络设备,其特征在于,所述第一部分、所述第二部分和所述第三部分的总长度为128比特。
- 根据权利要求64或65所述的网络设备,其特征在于,所述报文头还包括目的地址字段,所述处理单元,还用于在所述目的地址字段添加所述第一部分和所述第三部分,将所述多个标识中的第一个标识拷贝至所述目的地址字段中。
- 根据权利要求64-66任一项所述的网络设备,其特征在于,所述处理单元,还用于向中间网络设备发送结构信息,所述结构信息指示所述第一标识在所述目的地址字段中的添加位置。
- 根据权利要求19至23任一项所述的网络设备,其特征在于,所述多个标识中的每个标识的长度为32比特或16比特。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在处理器上运行时,实现权利要求1-34任一项所述的方法。
- 一种计算机程序产品,其特征在于,所述计算机程序产品存储在存储器上,当所述计算机程序产品在处理器上运行时,实现权利要求1-34任一项所述的方法。
- 一种网络系统,其特征在于,包括第一网络设备和第二网络设备,所述第一网络设备包括权利要求35-49任一项所述的网络设备,所述第二网络设备包括权利要求50-68任一项所述的网络设备。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020227010885A KR20220052371A (ko) | 2019-09-27 | 2020-01-22 | Sr 네트워크에서 패킷을 전달하는 방법, 장치 및 시스템 |
CA3175941A CA3175941A1 (en) | 2019-09-27 | 2020-01-22 | Method for forwarding packet on sr network, device, and system |
BR112022005853A BR112022005853A2 (pt) | 2019-09-27 | 2020-01-22 | Método para encaminhar pacote em rede de sr, dispositivo, e sistema |
CN202080050898.7A CN114365464B (zh) | 2019-09-27 | 2020-01-22 | 一种在sr网络中转发报文的方法、设备和系统 |
EP20867794.8A EP4020909B1 (en) | 2019-09-27 | 2020-01-22 | Method for forwarding message in sr network, device, and system |
EP23220203.6A EP4373048A3 (en) | 2019-09-27 | 2020-01-22 | Method for forwarding packet on sr network, device, and system |
JP2022519200A JP7481436B2 (ja) | 2019-09-27 | 2020-01-22 | Srネットワークでパケットを転送する方法、デバイス、及びシステム |
CN202310212314.7A CN116319524A (zh) | 2019-09-27 | 2020-01-22 | 一种在sr网络中转发报文的方法、设备和系统 |
US17/703,614 US20220217081A1 (en) | 2019-09-27 | 2022-03-24 | Method for forwarding packet on sr network, device, and system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910925974.3 | 2019-09-27 | ||
CN201910925974.3A CN112583745A (zh) | 2019-09-27 | 2019-09-27 | 一种在sr网络中转发报文的方法、设备和系统 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/703,614 Continuation US20220217081A1 (en) | 2019-09-27 | 2022-03-24 | Method for forwarding packet on sr network, device, and system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021056945A1 true WO2021056945A1 (zh) | 2021-04-01 |
Family
ID=75110553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/073785 WO2021056945A1 (zh) | 2019-09-27 | 2020-01-22 | 一种在sr网络中转发报文的方法、设备和系统 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20220217081A1 (zh) |
EP (2) | EP4020909B1 (zh) |
JP (1) | JP7481436B2 (zh) |
KR (1) | KR20220052371A (zh) |
CN (3) | CN112583745A (zh) |
BR (1) | BR112022005853A2 (zh) |
CA (1) | CA3175941A1 (zh) |
WO (1) | WO2021056945A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113347092A (zh) * | 2021-05-27 | 2021-09-03 | 大连理工大学 | 一种基于IPv6的SRv6数据处理方法 |
WO2023143585A1 (zh) * | 2022-01-30 | 2023-08-03 | 华为技术有限公司 | 路由通告的方法、网络设备和系统 |
AU2021261819B2 (en) * | 2020-04-24 | 2024-04-18 | China Mobile Communication Co., Ltd Research Institute | Data packet processing method and device |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259239A (zh) | 2020-02-10 | 2021-08-13 | 华为技术有限公司 | 一种在混合网络中转发报文的方法、设备和系统 |
CN114531386B (zh) * | 2020-11-23 | 2023-05-09 | 中国移动通信有限公司研究院 | 报文转发的方法、装置、设备及可读存储介质 |
CN113242180B (zh) * | 2021-07-12 | 2021-12-14 | 广东省新一代通信与网络创新研究院 | 报文转发方法、装置、设备、可读存储介质及程序产品 |
CN114285907B (zh) * | 2021-12-03 | 2023-05-26 | 中国联合网络通信集团有限公司 | 数据传输方法、装置、电子设备及存储介质 |
WO2023216622A1 (zh) * | 2022-05-11 | 2023-11-16 | 华为技术有限公司 | 报文处理方法、设备、系统及计算机可读存储介质 |
CN115499358B (zh) * | 2022-09-14 | 2024-05-14 | 中国电信股份有限公司 | SRv6-TE报文转发方法和转发设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105282028A (zh) * | 2014-06-05 | 2016-01-27 | 中兴通讯股份有限公司 | 一种报文传输方法、节点及路径管理服务器 |
CN105471737A (zh) * | 2014-09-05 | 2016-04-06 | 华为技术有限公司 | 一种标签栈的压缩方法及装置、标签栈的解压缩方法及装置 |
CN108429685A (zh) * | 2018-04-28 | 2018-08-21 | 电子科技大学 | 一种基于分段路由技术的服务功能链寻路方法 |
US20180375766A1 (en) * | 2017-06-27 | 2018-12-27 | Cisco Technology, Inc. | Enhanced Segment Routing Processing of Packets |
CN109981457A (zh) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | 一种报文处理的方法、网络节点和系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5699939B2 (ja) | 2010-01-08 | 2015-04-15 | 日本電気株式会社 | 通信システム、転送ノード、経路管理サーバおよび通信方法 |
KR20140034951A (ko) * | 2012-08-28 | 2014-03-21 | 한국전자통신연구원 | 무선 메쉬 네트워크에서 컨텍스트 기반의 IPv6 헤더 압축을 위한 컨텍스트 테이블 관리 방법 |
US9049233B2 (en) * | 2012-10-05 | 2015-06-02 | Cisco Technology, Inc. | MPLS segment-routing |
US9559954B2 (en) | 2013-03-11 | 2017-01-31 | Cisco Technology, Inc. | Indexed segment ID |
US9537718B2 (en) * | 2013-03-15 | 2017-01-03 | Cisco Technology, Inc. | Segment routing over label distribution protocol |
US9537769B2 (en) * | 2013-03-15 | 2017-01-03 | Cisco Technology, Inc. | Opportunistic compression of routing segment identifier stacks |
US9762488B2 (en) * | 2014-03-06 | 2017-09-12 | Cisco Technology, Inc. | Segment routing extension headers |
CN106411738A (zh) * | 2015-07-30 | 2017-02-15 | 中兴通讯股份有限公司 | Ipv6报文封装的处理方法和装置 |
CN109218189B (zh) * | 2017-07-03 | 2022-04-29 | 中兴通讯股份有限公司 | 跨域的路径的标识信息的确定方法、装置及存储介质 |
US10404600B2 (en) * | 2017-09-12 | 2019-09-03 | Google Llc | Mechanism and apparatus for path protection when using compressed segment routing label stacks |
US11245617B1 (en) * | 2018-12-28 | 2022-02-08 | Juniper Networks, Inc. | Compressed routing header |
US11412071B2 (en) * | 2019-05-13 | 2022-08-09 | Juniper Networks, Inc. | Compressed routing header information for networks |
-
2019
- 2019-09-27 CN CN201910925974.3A patent/CN112583745A/zh active Pending
-
2020
- 2020-01-22 BR BR112022005853A patent/BR112022005853A2/pt unknown
- 2020-01-22 CA CA3175941A patent/CA3175941A1/en active Pending
- 2020-01-22 EP EP20867794.8A patent/EP4020909B1/en active Active
- 2020-01-22 WO PCT/CN2020/073785 patent/WO2021056945A1/zh active Application Filing
- 2020-01-22 KR KR1020227010885A patent/KR20220052371A/ko not_active Application Discontinuation
- 2020-01-22 EP EP23220203.6A patent/EP4373048A3/en active Pending
- 2020-01-22 JP JP2022519200A patent/JP7481436B2/ja active Active
- 2020-01-22 CN CN202310212314.7A patent/CN116319524A/zh active Pending
- 2020-01-22 CN CN202080050898.7A patent/CN114365464B/zh active Active
-
2022
- 2022-03-24 US US17/703,614 patent/US20220217081A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105282028A (zh) * | 2014-06-05 | 2016-01-27 | 中兴通讯股份有限公司 | 一种报文传输方法、节点及路径管理服务器 |
CN105471737A (zh) * | 2014-09-05 | 2016-04-06 | 华为技术有限公司 | 一种标签栈的压缩方法及装置、标签栈的解压缩方法及装置 |
US20180375766A1 (en) * | 2017-06-27 | 2018-12-27 | Cisco Technology, Inc. | Enhanced Segment Routing Processing of Packets |
CN109981457A (zh) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | 一种报文处理的方法、网络节点和系统 |
CN108429685A (zh) * | 2018-04-28 | 2018-08-21 | 电子科技大学 | 一种基于分段路由技术的服务功能链寻路方法 |
Non-Patent Citations (2)
Title |
---|
R BONICA , JUNIPER NETWORKS , N SO , F XU , RELIANCE JIO , G CHEN BAIDU , Y ZHU , G YANG , CHINA TELECOM , Y ZHOU , BYTEDANCE: "The IPv6 Compressed Routing Header (CRH) draft-bonica-6man-comp-rtg-hdr-03", INTERNET-DRAFT, 23 March 2019 (2019-03-23), pages 1 - 16, XP015132053, DOI: 20200517143412A * |
Z LI , C LI , S PENG , Z WANG , B LIU , HUAWEI TECHNOLOGIES: "Compressed SRv6 Network Programming draft-li-spring-compressed-srv6-np-00", INTERNET DRAFT, 22 July 2019 (2019-07-22), pages 1 - 15, XP015134411 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2021261819B2 (en) * | 2020-04-24 | 2024-04-18 | China Mobile Communication Co., Ltd Research Institute | Data packet processing method and device |
CN113347092A (zh) * | 2021-05-27 | 2021-09-03 | 大连理工大学 | 一种基于IPv6的SRv6数据处理方法 |
WO2023143585A1 (zh) * | 2022-01-30 | 2023-08-03 | 华为技术有限公司 | 路由通告的方法、网络设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
JP7481436B2 (ja) | 2024-05-10 |
EP4020909A1 (en) | 2022-06-29 |
EP4373048A2 (en) | 2024-05-22 |
EP4020909A4 (en) | 2022-10-12 |
CA3175941A1 (en) | 2021-04-01 |
CN114365464B (zh) | 2023-03-24 |
EP4020909B1 (en) | 2024-01-03 |
EP4373048A3 (en) | 2024-07-17 |
KR20220052371A (ko) | 2022-04-27 |
US20220217081A1 (en) | 2022-07-07 |
CN116319524A (zh) | 2023-06-23 |
CN112583745A (zh) | 2021-03-30 |
BR112022005853A2 (pt) | 2022-06-21 |
JP2022550343A (ja) | 2022-12-01 |
CN114365464A (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021056945A1 (zh) | 一种在sr网络中转发报文的方法、设备和系统 | |
WO2020164473A1 (zh) | 一种路径计算方法、装置及设备 | |
WO2020224503A1 (zh) | SRv6网络生成段列表、报文转发的方法、设备和系统 | |
US20240250906A1 (en) | Method for Forwarding Packet in Hybrid Network, Device, and System | |
CN112787927B (zh) | 一种分段路由报文转发方法、装置及预设逻辑电路单元 | |
EP3944569A1 (en) | Data processing method based on srv6, and related network device | |
EP3742685B1 (en) | Packet processing method and device | |
WO2021036328A1 (zh) | 一种在sr网络中转发报文的方法、设备和系统 | |
WO2021043232A1 (zh) | 主机网络性能需求可编程化的方法、设备和系统 | |
CN112448888A (zh) | 一种在sr网络中转发报文的方法、设备和系统 | |
WO2021227746A1 (zh) | 发送和转发报文的方法、头节点、转发节点、存储介质 | |
WO2021088629A1 (zh) | DetNet数据包处理方法及装置 | |
CN113141338B (zh) | 一种消息生成方法、处理方法及装置 | |
WO2023088226A1 (zh) | 转发报文的方法以及相关设备 | |
CN114978986A (zh) | 一种数据传输方法、装置及存储介质 | |
CN111147379A (zh) | 数据传输方法、系统和相关设备 | |
CN112019417B (zh) | 传输报文的方法与设备 | |
CN113765794B (zh) | 数据发送的方法、装置、电子设备及介质 | |
CN113055268A (zh) | 隧道流量负载均衡的方法、装置、设备及介质 | |
WO2023216622A1 (zh) | 报文处理方法、设备、系统及计算机可读存储介质 | |
CN116827860A (zh) | 一种SRv6报文传输方法、装置、节点以及存储介质 |
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: 20867794 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022519200 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 122023001093 Country of ref document: BR |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 20227010885 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2020867794 Country of ref document: EP Effective date: 20220325 |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112022005853 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 112022005853 Country of ref document: BR Kind code of ref document: A2 Effective date: 20220328 |
|
ENP | Entry into the national phase |
Ref document number: 3175941 Country of ref document: CA |