CN117478591A - Message processing method, network equipment and system - Google Patents

Message processing method, network equipment and system Download PDF

Info

Publication number
CN117478591A
CN117478591A CN202211303162.3A CN202211303162A CN117478591A CN 117478591 A CN117478591 A CN 117478591A CN 202211303162 A CN202211303162 A CN 202211303162A CN 117478591 A CN117478591 A CN 117478591A
Authority
CN
China
Prior art keywords
sid
network device
service
compressed
forwarding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211303162.3A
Other languages
Chinese (zh)
Inventor
张卡
胡志波
李臣习
李呈
夏阳
师伟娣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN117478591A publication Critical patent/CN117478591A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing

Landscapes

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

Abstract

The application discloses a message processing method, network equipment and a system, wherein first network equipment acquires SID list and service SID of a corresponding message forwarding path. Wherein the SID list includes a forwarding SID. The first network device judges whether the service SID and the forwarding SID meet preset conditions, if so, the service SID and the forwarding SID are compressed to obtain a compressed service SID and a compressed forwarding SID. The first network device encapsulates the compressed service SID and the compressed forwarding SID in the message and sends the message to the second network device. That is, by the technical scheme provided by the application, when the service SID and the forwarding SID meet the compression condition, the service SID and the forwarding SID are compressed respectively so as to encapsulate the compressed service SID and the compressed forwarding SID in the message, thereby reducing the overhead of the message header and improving the message transmission efficiency.

Description

Message processing method, network equipment and system
The present application claims priority from chinese patent application No. 202210892257.7, entitled "a method, network device, and system for implementing SRv6 Policy and service SID concatenation," filed on 7.27, 2022, the entire contents of which are incorporated herein by reference.
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a method, a network device, and a system for processing a message.
Background
Segment routing (Segment RoutingIPv6, SRv 6) based on internet protocol version 6 (Internet Protocol Version 6, IPv 6) is a protocol designed based on source routing concepts to forward IPv6 packets over a network. SRv6 by inserting a segment route extension header (Segment Routing Header, SRH) into the IPv6 message, pressing an explicit IPv6 address stack into the SRH, and continuously performing the operations of updating the destination address and offset address stack by the intermediate node, the hop-by-hop forwarding is completed. Among these, the element for forwarding in SRv is a segment identifier (Segment Identifier, SID). The SIDs are in an IPv6 address format of 128 bits in length, i.e., each SID is 128 bits in length.
In SRv network, SRv6 Policy header nodes will forward the IPv6 header and the SRH extended header on the packet, which brings about a certain header overhead. And when the number of SRv SIDs is large, the length of the SRH extension header will further increase, which may cause problems of reduced payload and low transmission efficiency. In order to increase the length of the SRH header and increase the forwarding efficiency of SRv6, SRv header compression is proposed.
In actual forwarding, in addition to the forwarding SID of SRv Policy, the forwarding packet needs to encapsulate a service SID, for example, a virtual private network (Virtual Private Network, VPN) SID. The current technology does not support efficient compression of SRv6 Policy paths and VPN SIDs, resulting in lower message transmission efficiency.
Disclosure of Invention
The application provides a message processing method, network equipment and a system, which are used for compressing service SIDs and SIDs list of corresponding forwarding paths, reducing message header overhead and improving message transmission efficiency.
In a first aspect of the present application, a method for processing a message is provided, where the method includes: the first network equipment acquires a segment list (segment identifier list, SID list) corresponding to a message forwarding path and a service segment identifier SID, wherein the SID list comprises forwarding SIDs; the first network equipment determines whether the forwarding SID and the service SID meet preset conditions, and if so, compresses the service SID and the forwarding SID; the first network device sends a message to the second network device, wherein the message encapsulates the compressed service SID and the compressed forwarding SID. In the implementation manner, after the first network device obtains the forwarding SID and the service SID, if the forwarding SID and the service SID meet preset conditions, the first network device compresses the service SID and the forwarding SID and encapsulates the compressed service SID and the forwarding SID into the message, thereby reducing the overhead of the message header and improving the message transmission efficiency.
Wherein, meeting the preset condition may include the following cases:
one means, determining that a first Block (Block) field value corresponding to a service SID is the same as a second Block field corresponding to a forwarding SID; and the other is that the service SID and the forwarding SID are determined to support compression, and the first Block field value corresponding to the service SID is the same as the second Block field value corresponding to the forwarding SID.
In some embodiments, the SID list includes a plurality of forwarding SIDs, and when the plurality of forwarding SIDs correspond to different Block values, the satisfaction of the preset condition refers to determining that the first Block field value is the same as the Block field value corresponding to the last forwarding SID of the SID list. Since the service SID is usually encapsulated after the last forwarding SID in the SID list, when determining whether the service SID and the forwarding SID meet the preset conditions, it is determined whether the Block field value corresponding to the service SID is the same as the Block field value corresponding to the last forwarding SID in the SID list.
Whether the first Block field value corresponding to the service SID is the same as the second Block field value corresponding to the forwarding SID can be determined directly, or whether the first resource identifier corresponding to the first Block field value is the same as the second resource identifier corresponding to the second Block field value can be determined directly. If the first resource identifier corresponding to the first Block field value is the same as the second resource identifier corresponding to the second Block field value, determining that the first Block field value is the same as the second Block field value. In the implementation manner, when the first Block field value and the second Block field value are larger, whether the two are identical or not can be determined by comparing the resource identifiers corresponding to the two, so that the comparison time is saved.
The first resource identifier corresponding to the service SID and the second resource identifier corresponding to the forwarding SID may be determined by the following method: the first network equipment determines a first resource identifier according to a first position (Locator) field value corresponding to the service SID and a next hop address corresponding to the service SID; and the first network equipment determines a second resource identifier according to the second Locator field value corresponding to the forwarding SID and the destination address corresponding to the message.
In some embodiments, the first network device determining whether the traffic SID and the forwarding SID support compression may be implemented by: the first network device obtains a first tail node behavior (endpoint behavior) field value corresponding to the service SID and a second endpoint behavior field value corresponding to the forwarding SID; the first network device determines that the service SID supports compression according to the first encouraging field value, and determines that the forwarding SID supports compression according to the second endpoint behavior field value.
Wherein, the first endpoint behavior field value corresponding to the service SID is sent to the first network device by the second network device. The second network device is a device corresponding to the service SID, and the first endpoint behavior field value is generated by the second network device according to the flag field value corresponding to the compression supporting type. Accordingly, the second network device defines a flag type of the service SID as next & replay, indicating that the service SID supports compression.
In some embodiments, after determining that the traffic SID and the forwarding SID support compression, and before determining that the first Block field value is the same as the second Block field value, the first network device further comprises: the first network equipment acquires a first length occupied by a first Block field value and a second length occupied by a second Block field value; if the first length is the same as the second length, the first network device determines whether the first Block field value is the same as the second Block field value. That is, since it takes longer time to compare whether the first Block field value is identical to the second Block field value, in order to improve the processing efficiency, before comparing whether the two Block field values are identical, whether the lengths occupied by the two Block field values are identical is compared, and if so, whether the two Block field values are identical is compared; if the occupied lengths are different, the two Block field values are different, comparison is not needed, time is saved, and processing efficiency is improved.
In general, the lengths of the uncompressed service SID and the uncompressed forwarding SID are 128 bits, and the lengths of the compressed service SID and the compressed forwarding SID are less than or equal to 32 bits, so as to reduce the occupation of the header.
In some embodiments, the compressing the service SID by the first network device may specifically include: the first network equipment determines the compression length corresponding to the service SID; the first network device performs compression processing according to the service SID corresponding to the compression length, and obtains the compressed service SID. Wherein the length of the compressed service SID is equal to the compressed length. That is, in this implementation, when compressing the service SID, the compressed length is first determined so that the compression process is performed on the service SID according to the compressed length.
The first network device determines a compression length corresponding to the service SID, including: when the type corresponding to the service SID is the target type, the first network equipment determines that the compressed length of the service SID is a first compressed length; or when the type corresponding to the service SID is a non-target type, the first network equipment acquires the length value of the node part and the length value of the function part corresponding to the service SID; when the sum of the length value of the node part and the length value of the function part is the second compressed length, the first network device determines that the compressed length of the service SID is the second compressed length. For example, when the type corresponding to the service SID is a next & play type, it indicates that the service SID supports 16bit compression, and the first compression length is 16 bits. And when the type corresponding to the service SID is not next & playback type, acquiring the length value of the node part and the length value of the function part corresponding to the service SID. If the sum of the length value of the node part and the length value of the function part is 32, it indicates that the service SID supports 32bit compression, and the second compression length is 32 bits.
In some embodiments, the first network device compresses the service SID according to the compression length to obtain the compressed service SID, which includes the following implementation manners:
the first network device extracts the node part and the function part from the service SID, and takes the node part and the function part as the compressed service SID. The length of the compressed service SID is the determined compressed length. For example, if the service SID supports 32bit compression, the first network device extracts a node part and a function word part from the service SID, and uses the node part and the function part as compressed SID, where the length of the compressed service SID is 32 bits.
When the SID list contains the node SID of the second network device or contains the adjacent SID pointing to the second network device, the first network device takes the function part in the service SID as the compressed service SID. The second network device is a device indicated by the service SID, namely, a tail node, when the SID list contains the node SID of the second network device or contains an adjacent SID pointing to the second network device, the forwarding SID points to the tail node, and the length of the compressed service SID is the determined compression length. For example, the service SID supports 16bit compression and the forwarding SID points to the tail node, and the first network device may extract only the function portion from the service SID without including the node portion in the compressed service SID, and use the function portion as the compressed service SID, where the compressed service SID is 16bit.
When the SID list does not contain the node SID of the second network device or does not contain the adjacent SID pointing to the second network device, the first network device takes the node part of the service SID as the node part of the compressed service SID, and takes the function part of the service SID as the function part of the compressed service SID. Wherein the length of the compressed service SID is the determined compressed length. For example, the traffic SID supports 16bit compression and the forwarding SID is not directed to the tail node (second network device), then the traffic SID needs to encapsulate the node portion for routing to the tail node, and encapsulate the function portion for table lookup forwarding, so the first network device extracts the node portion and function portion from the traffic SID, takes the extracted node portion as the node portion of the compressed traffic SID, and takes the extracted function portion as the function portion of the compressed traffic SID. The node part and the function part in the compressed service SID are both 16 bits.
It should be noted that the compressed length supported by the service SID is the same as the compressed length supported by the forwarding SID. For example, both the traffic SID and the forwarding SID support 32bit compression, or both the traffic SID and the forwarding SID support 16bit compression.
When the first network device encapsulates the compressed service SID and the forwarding SID in the message, the compressed service SID and the compressed forwarding SID may be encapsulated in a destination address field of a header of the message. Further, the message does not include a segment routing header (segment routing header, SRH).
In some embodiments, the first network device obtains a service SID of a corresponding packet, including: the first network device receives the service SID transmitted by the second network device. The first network device is a head node corresponding to the forwarding path, the second network device is a tail node corresponding to the forwarding path, and the service SID is a node SID corresponding to the second network device.
In some embodiments, the first network device obtains a segment list SID list corresponding to the packet forwarding path, including: the first network device obtains a Segment Routing (SR) policy. Wherein the SR policy includes a SIDlist of forwarding paths. Specifically, the SR policy may be a SRv policy.
In some embodiments, the traffic SID is a virtual private network (virtual private network, VPN) SID.
In some embodiments, before sending the message, the first network device further includes: when the SID list does not contain the node SID of the second network device or does not contain the adjacent SID pointing to the second network device, the first network device determines the encapsulation position of the compressed service SID according to the Block field value corresponding to the last forwarding SID in the SID list; the first network device sequentially encapsulates the node portion of the compressed service SID and the function portion of the compressed service SID in the message according to the encapsulation position.
The first network device determines the encapsulation position of the compressed service SID according to the Block field value corresponding to the last forwarding SID in the SID list, and includes: when the last forwarding SID in the SID list contains a Block field, the first network equipment encapsulates the node part of the compressed service SID in the low bit of the corresponding SID in the SID list, and encapsulates the function part of the compressed service SID in the high bit of the corresponding SID in the SID list; or when the last forwarding SID in the SID list does not contain a Block field, the first network device encapsulates the node part of the compressed service SID in the high bit of the corresponding SID in the SID list, and encapsulates the function part of the compressed service SID in the low bit of the corresponding SID in the SID list. That is, when the last forwarding SID in the SID list carries a Block field value, the encapsulation direction of the compressed service SID is from the left side to the right side of the message; when the last forwarding SID in the SID list does not carry a Block field value, the encapsulation direction of the compressed service SID is encapsulation from the right side to the left side of the message.
In a second aspect of the present application, there is provided a network device, which is a first network device in a network, comprising:
An obtaining unit, configured to obtain a segment list SID list and a service segment identifier SID of a corresponding packet forwarding path, where the SIDlist includes a forwarding SID;
the processing unit is used for determining that the forwarding SID and the service SID meet preset conditions by the first network equipment and compressing the service SID and the forwarding SID;
and the sending unit is used for sending the message to the second network equipment, and the compressed service SID and the compressed forwarding SID are packaged in the message.
In some embodiments, the satisfaction of the preset condition refers to determining that a first Block field value corresponding to the service SID is the same as a second Block field value corresponding to the forwarding SID, or,
the step of meeting the preset condition is to determine that the service SID and the forwarding SID both support compression, and the first Block field value corresponding to the service SID is the same as the second Block field value corresponding to the forwarding SID.
In some embodiments, the SID list includes a plurality of forwarding SIDs, where the forwarding SIDs correspond to different Block values, and the meeting the preset condition refers to determining that the first Block field value is the same as a Block field value corresponding to a last forwarding SID in the SID list.
In some embodiments, the determining that the first Block field value corresponding to the service SID is the same as the second Block field value corresponding to the forwarding SID includes: and determining that the first resource identifier corresponding to the first Block field value is the same as the second resource identifier corresponding to the second Block field value.
In some embodiments, the network device further comprises: a determination unit;
the determining unit is configured to determine the first resource identifier according to a first location identifier field value corresponding to the service SID and a next hop address corresponding to the service SID;
the determining unit is further configured to determine the second resource identifier according to a second Locator field value corresponding to the forwarding SID and a destination address corresponding to the message.
In some embodiments, the processing unit is specifically configured to obtain a first tail node behavior endpoint behavior field value corresponding to the service SID and a second endpoint behavior field value corresponding to the forwarding SID; and determining that the service SID supports compression according to the first endpoint behavior field value, and determining that the forwarding SID supports compression according to the second encontabehavir field value.
In some embodiments, the network device further comprises: a receiving unit;
The receiving unit is configured to receive a first encouraging field value corresponding to the service SID sent by the second network device, where the second network device is a device corresponding to the service SID, and the first endpoint behavior field value is generated by the second network device according to a flag field value corresponding to a compression supporting type.
In some embodiments, the processing unit is further configured to obtain, after determining that the service SID and the forwarding SID both support compression and before determining that the first Block field value is the same as the second Block field value, a first length occupied by the first Block field value and a second length occupied by the second Block field value; and if the first length is the same as the second length, determining whether the first Block field value is the same as the second Block field value.
In some embodiments, the compressed service SID and the compressed forwarding SID are each less than or equal to 32 bits in length.
In some embodiments, the processing unit is specifically configured to determine a compression length corresponding to the service SID; and compressing the service SID according to the compression length to obtain a compressed service SID, wherein the length of the compressed service SID is equal to the compression length.
In some embodiments, the processing unit is specifically configured to determine, when a type corresponding to the service SID is a target type, that a compressed length of the service SID is a first compressed length; or when the type corresponding to the service SID is not the target type, the first network device obtains a length value of a node part and a length value of a function part corresponding to the service SID, wherein the sum of the length value of the node part and the length value of the function part is a second compressed length, and determines that the compressed length of the service SID is the second compressed length.
In some embodiments, the processing unit is specifically configured to extract a node part and a function part from the service SID, and use the node part and the function part as compressed service SID, where the length of the compressed service SID is the compressed length; or when the SID list contains a node SID of the second network device or contains an adjacent SID pointing to the second network device, taking a function part in the service SID as a compressed service SID, wherein the length of the compressed service SID is the compressed length; or when the SID list does not contain the node SID of the second network device or does not contain the adjacent SID pointing to the second network device, taking the node part of the service SID as a compressed service SID part, taking the function part of the service SID as a function part of the compressed service SID, wherein the length of the compressed service SID is the compressed length.
In some embodiments, the compressed service SID and the compressed forwarding SID are encapsulated in the destination address field of the header of the message.
In some embodiments, the message does not include a segment routing header SRH.
In some embodiments, the obtaining unit is specifically configured to receive a service SID sent by the second network device, where the first network device is a head node corresponding to a forwarding path, and the second network device is a tail node corresponding to the forwarding path.
In some embodiments, the obtaining unit is specifically configured to obtain a segment routing SR policy, where the SR policy includes a SID list of the forwarding path.
In some embodiments, the service SID is a virtual private network VPN SID.
In some embodiments, the network device further comprises: a determining unit and a packaging unit;
the determining unit is configured to determine, before sending the packet, an encapsulation location according to a Block field value corresponding to a last forwarding SID in the SID list when the SID list does not include a node SID of the second network device or does not include an adjacent SID for executing the second network device;
and the packaging unit is used for sequentially packaging the node part of the compressed service SID and the function part of the compressed service SID in the message according to the packaging position.
In some embodiments, the determining unit is specifically configured to encapsulate a node portion of the compressed service SID in a low bit of a SID corresponding to the SID list when the last forwarding SID in the SID list includes a Block field value, and encapsulate a function portion of the compressed service SID in a high bit of a SID corresponding to the SID in the SID list; or when the last forwarding SID in the SID list does not contain a Block field, encapsulating the node part of the compressed service SID in the high bit of the corresponding SID in the SID list, and encapsulating the function part of the compressed service SID in the low bit of the corresponding SID in the SID list.
In some embodiments, the compressed length of the traffic SID is the same as the compressed length of the compressed forwarding SID.
In a third aspect of the present application, there is provided a message processing system, the system comprising: a first network device and a second network device;
the first network device for performing the method of the first aspect or any of the possible designs of the first aspect;
the second network device is configured to receive a packet sent by the first network device, where the packet encapsulates a compressed service SID and a compressed forwarding SID.
In a fourth aspect of the present application, there is provided a network device, the device comprising: a processor and a memory;
the memory is used for storing instructions or computer programs;
the processor is configured to execute the instructions or computer program in the memory to cause the communication device to perform the method of the first aspect or any of the possible designs of the first aspect.
In a fifth aspect of the present application, there is provided a computer readable storage medium comprising instructions which, when run on a computer, cause the computer to perform the method of the first aspect or any of the possible designs of the first aspect.
In a sixth aspect of the present application, there is provided a computer program product comprising a program which, when run on a processor, causes a computer or network device to perform the method of the first aspect or any of the possible designs in the first aspect.
In a seventh aspect of the present application, there is provided a chip comprising: an interface circuit and a processor, the interface circuit and the processor being connected, the processor being configured to cause the chip to perform the method of the above first aspect or any of the possible designs of the first aspect.
Through the technical scheme provided by the application, the first network equipment acquires the SID list and the service SID of the corresponding message forwarding path. Wherein the SID list includes a forwarding SID. The first network device judges whether the service SID and the forwarding SID meet preset conditions, if so, the service SID and the forwarding SID are compressed to obtain a compressed service SID and a compressed forwarding SID. The first network device encapsulates the compressed service SID and the compressed forwarding SID in the message and sends the message to the second network device. That is, by the technical scheme provided by the application, when the service SID and the forwarding SID meet the compression condition, the service SID and the forwarding SID are compressed respectively so as to encapsulate the compressed service SID and the compressed forwarding SID in the message, thereby reducing the overhead of the message header and improving the message transmission efficiency.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings that are required to be used in the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1a is a schematic diagram of SID structure provided in an embodiment of the present application;
fig. 1b is a schematic diagram of an SR policy structure provided in an embodiment of the present application;
fig. 1c is a schematic diagram of a packet encapsulation structure according to an embodiment of the present application;
fig. 1d is a schematic diagram of an encapsulated compressed SID structure in a packet according to an embodiment of the present application;
fig. 1e is a schematic diagram of an SID structure of an encapsulated service in a packet according to an embodiment of the present application;
fig. 2 is a flow chart of a message processing method provided in an embodiment of the present application;
fig. 3a is a schematic diagram of endpoint behavior carrying corresponding to a service SID according to an embodiment of the present application;
fig. 3b is a schematic TLV structure diagram corresponding to a service SID according to an embodiment of the present application;
fig. 3c is a schematic TLV structure diagram corresponding to a forwarding SID according to an embodiment of the present application;
FIG. 4a is a schematic diagram of a 32bit compressed SID package according to an embodiment of the present application;
FIG. 4b is a schematic diagram of a 16bit compressed SID package according to an embodiment of the present application;
FIG. 4c is a schematic diagram of another 16bit compressed SID encapsulation provided in an embodiment of the present application;
fig. 4d is a schematic view of an application scenario provided in an embodiment of the present application;
FIG. 5a is a schematic diagram of a packaging method according to an embodiment of the present disclosure;
FIG. 5b is a schematic diagram of another embodiment of a package according to the present disclosure;
FIG. 5c is a schematic diagram of another embodiment of a packaging method according to the present disclosure;
fig. 6 is a structural diagram of a network device according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of another network device according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of another network device according to an embodiment of the present application.
Detailed Description
In order to make those skilled in the art better understand the solutions in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only some embodiments of the present application, but not all embodiments.
SRv6 SID consists of two parts, a location (Locator) field and a Function (Function) field, the format being Locator: function, where Locator occupies the upper bits of the IPv6 address and Function part occupies the remainder of the IPv6 address, as shown in FIG. 1 a. The Locator has a routing function, so is generally unique within the SR domain. Other nodes in the network can be positioned to the node through the Locator network segment route, and all SRv SIDs issued by the node can also reach through the Locator network segment route. Functions represent instructions (instructions) of the device, which are preset by the device, and the Function part is used to instruct the generating node of SRv SID to perform corresponding functional operations.
The Function part may also separate an optional parameter segment (fragments), where the SRv SID format is changed to a Locator, and the fragments occupy the low-order bits of the IPv6 address, and through the fragments field, some information such as flow and service of the message may be defined. One important application is the CE multi-homing scenario of EVPN VPLS, where the horizontal segmentation is achieved with the artifacts when forwarding BUM traffic. Both functions and artifacts are definable, which also reflects that the SRv SID structure is more advantageous for programming networks.
The two most common types of SRv SIDs are the End SID and the end.x SID. The End SID represents an Endpoint SID that identifies a certain destination address prefix in the network. The end.x SID represents an adjacency in the network and the instruction it gives to the device is to process SRH, update the IPv6 destination address field, and then forward the message from the outgoing interface specified by the end.x SID.
The segment routing strategy (SR Policy) is a new tunnel drainage technology developed on the basis of the SR technology. SR Policy uses < head node (color), tail node (End Point) > to globally uniquely identify one SRv Policy. The head node is a node generated by SRv6Policy, the color is used for supporting the service quality requirements of different services, and the tail node indicates a SRv destination node of the Policy. There may be multiple Candidate paths (Candidate paths) in the SR Policy, each Candidate Path may be associated with multiple Segment lists (Segment lists), and the Segment lists are used to indicate source routing paths that send traffic to an Endpoint. The load proportion of the traffic in a plurality of SR paths is controlled through the Weight attribute (Weight) attached to the Segment List, so that load sharing is realized. Typically, multiple Candidate paths (Candidate paths) are included in the SR Policy, each Candidate Path representing a particular way to transfer traffic from the head-end to the tail-end of the corresponding SR Policy. Each candidate path has a Preference value (Preference), the higher the Preference value of the path, the more preferred. The headend will select the optimal candidate path as the transmission path of the data packet according to the preference value of each candidate path.
Where a candidate path may include multiple segment lists (segments lists), called SID lists (segment id lists), each of which is used to indicate an SR path for traffic from a head node to a tail node. Each SID list includes one or more Segment Identifiers (SIDs) for indicating network devices (nodes) that need to be traversed during traffic transmission. As shown in fig. 1b, there are two Candidate paths (Candidate paths) for the SR policy, CP1 and CP2, respectively, wherein the preference value of CP1 is 100 and the preference value of CP2 is 90.CP1 includes 3 segment lists (segment lists), segment list 1 through segment list 3, and weights of the 3 segment lists are W1, W2, and W3, respectively, and represent a flow ratio through the 3 segment lists is W1: w2: w3. The CP2 includes 3 segment lists, namely, segment list 4 to segment list 6, and weights of the 3 segment lists are respectively W4, W5 and W6, which represent that the flow ratio passing through the 3 segment lists is W4: w5: w6. Each segment list includes a plurality of segment identifiers SID, and the paths corresponding to the segment identifiers are forwarding paths from head end to tail end, for example, segment list 1 includes SID1-SID8.
In practical application, when the head node encapsulates SRv Policy SID list in the message, the SID list is carried by expanding the message head in the message encapsulation SRH. Such as the encapsulation structure diagram shown in fig. 1c, the header of the message includes an IPv6 header and an SRH. The IPv6 Header includes a Version (Version) field, a traffic type (TrafficType) field, a Flow Label field, a Payload Length field, a Next Header field, a Hop Limit (Hop Limit) field, a Source Address (Source Address) field, and a destination Address (destination Address, DA) field. The meaning of the respective fields can be explained with reference to request comments (Request forComments, RFC) 8200. The SRH includes a Next Header (Next Header) field, a Header extension length (Hdr Ext Len) field, a Routing Type (Routing Type) field, a Segment remaining (Segment Left) field, a Last index (Last Entry) field, a Flags (Flags) field, a Tag (Tag) field, and a SID list. The meaning of the individual fields can be explained in RFC 8754. In the message forwarding process, the SL pointer sequentially points to each element in the SID list, that is, along with the difference of the SL values, the segment [ SL ] is used for representing each element in the SID list.
Wherein the SID list is composed of a plurality of elements segment list [0] to segment list [ n ] which are arranged in sequence, each element is a SID, and the length of each element is 128 bits. Also, SIDs in SID list may be arranged from back to front, segment list [0] corresponding to the last segment executed, segment list [1] corresponding to the next to last segment executed, and so on.
When the number of SIDs is large, the length of the SRH extension header will further increase, which will lead to the problems of reduced payload and low transmission efficiency. In order to reduce the length of the SRH header and improve the forwarding efficiency of SRv6, SRv compression technology is proposed. After SRv supporting compression, the structure of the SID is further divided into two parts, namely a block part and a node part, wherein the block part is used for identifying a network segment address, the node part is used for identifying a node, and the function part is used for identifying a function operation on the node. Thus, when forwarding SRv, the nodes of the same network segment have the same Block, and the same part of the address on these nodes can be extracted in the SRH, and each SID uses only the node part or the function part, or node: the function mode is used for packaging, so that the packaging efficiency of the message is improved.
In SRv6 compression technology, one technology that is commonly used is GSRv6, namely Generalized SRv6.GSRv6 extracts the public Block part in SID, and only puts a short mark at each SID position in SRH, the mark is 32bit Node and Function, or 16bit Node or 16bit Function.
Wherein, GSRv6 introduces two parameters on the forwarding plane: compressing the offset location (compression Left, CL) and continuing to Compress the flag (continue of Compress flavor, COC flag). Wherein, the COC flag may indicate an action (behavir) of the SID, where the action performed by the SID is a replay, and there is a compressed SID after the SID of the COC flag is set. For example, as shown in fig. 1d, in combination with the application scenario shown by 8 SIDs in the section list 1 in fig. 1b, compression processing is performed on the SIDs 1 to 8, and the compressed SIDs are encapsulated in the SRH header. The last SID of SRv6 PolicySegment List (e.g., SID 8) cannot set the COC flag, as defined by COC color.
Currently supported GSRv6 compression is compression for the SRv Policy path. In actual forwarding, in addition to SRv Policy forwarding SID, the forwarding message needs to encapsulate a service SID (e.g. VPN SID). If the Block of VPN SID is the same as the Block of the SID of the Segment List of SRv Policy, then VPN SID can also support compression with SRv Policy paths. However, the current compression technology does not support the simultaneous compression of SRv6Policy path and VPN SID, resulting in a large overhead of the header. In the encapsulation format shown in fig. 1e, the head node only compresses the SID identifying the forwarding path in the SRv policy, but cannot compress the VPN SID, and the SRH extension head needs to be added, which results in a larger number of bytes and occupies a larger bandwidth.
In the embodiment of the present application, the network node and the network device have the same meaning, and all refer to a switch, a router, a virtual routing device, a virtual forwarding device, or other forwarding devices. The network node issues the routing information corresponding to the locators to the network through a network protocol, so that other network nodes in the network forward the data packets to the network node.
Based on this, the embodiment of the application provides a message processing method, which is used for compressing a forwarding SID and a service SID, so as to reduce the overhead of a message header and improve the message transmission efficiency.
In order to facilitate understanding of the technical solutions corresponding to the embodiments of the present application, the following description will be given with reference to the accompanying drawings.
Referring to fig. 2, the flowchart of a message processing method provided in the embodiment of the present application, as shown in fig. 2, the method includes:
s201: the first network device obtains SID list and service SID of the corresponding message forwarding path.
In this embodiment, the first network device is used as a head node for forwarding a message, and obtains a forwarding path and a service SID corresponding to the message when obtaining the message to be forwarded. Wherein the forwarding path is determined by the forwarding SID included in the SID list. The forwarding SID may be a node SID or an adjacency SID. The length of the forwarding SID may be 128 bits, or the forwarding SID may be a compressed SID having a length less than 128 bits. Wherein the obtained SID list may obtain an SR policy for the first network device, the SR policy including the SID list of the forwarding path.
When the first network device acquires the SR policy, the first network device may generate the SR policy according to the network topology result, or receive the issuing of the controller. When the first network device acquires the service SID, the first network device is sent by the tail node corresponding to the service, namely the second network device. In particular, the second network device may allocate a service SID for the service using a static or dynamic allocation manner, and send the service SID to the head node, i.e. the first network device. When the traffic SID is a VPN SID, the VPN SID is assigned by the VPN instance of the second network device.
The SR policy includes a forwarding path corresponding to the forwarding packet, where the forwarding path is determined by the forwarding SID. For example, in the application scenario shown in fig. 1b, the first network device acquires an SR policy, and determines that the path of the forwarding packet is CP1 according to the preference value of the candidate path, where CP1 includes 3 segment lists SID list, and the 3 segment lists SID list implement load sharing, when the first network device encapsulates the segment list in the packet, the first network device encapsulates 1 segment list in the packet, if the first network device encapsulates segment list 1, where the segment list 1 includes 8 SIDs, and the 8 SIDs determine a forwarding path, and all the 8 SIDs are forwarding SIDs. The service SID is used to instruct the tail node to perform a certain service operation, such as decapsulation, routing table lookup, etc. Typically, the traffic SID is encapsulated after the forwarding SID. The SR policy may be a SRv policy, among others.
S202: the first network device determines that the service SID and the forwarding SID meet preset conditions, and compresses the service SID and the forwarding SID.
In this embodiment, after acquiring the service SID and the forwarding SID, the first network device determines whether the service SID and the forwarding SID meet a preset condition, and if the preset condition is met, which indicates that the service SID and the forwarding SID can be compressed at the same time, the first network device compresses the service SID and the forwarding SID to obtain the compressed service SID and the compressed forwarding SID. In general, the lengths of the forwarding SID and the service SID before compression are 128 bits, and the lengths of the forwarding SID after compression and the service SID after compression are both less than or equal to 32 bits. For example, the compressed length is 16 bits or 32 bits, etc.
The satisfaction of the preset condition may mean that the first Block field value corresponding to the service SID and the second Block field value corresponding to the forwarding SID are determined to be the same, or the satisfaction of the preset condition may mean that the service SID and the forwarding SID both support compression and the first Block field value corresponding to the service SID is determined to be the same as the second Block field value corresponding to the forwarding SID.
It should be noted that, in general, the Block field values corresponding to the forwarding SIDs included in the forwarding path are the same, that is, the network devices indicated by the forwarding SIDs belong to the same network segment. In some application scenarios, the forwarding paths may pass through different networks, and the Block fields corresponding to multiple forwarding SIDs in the forwarding paths may be different. For example, the forwarding path sequentially passes through the network 1 and the network 2, wherein the Block field value corresponding to the network 1 is Block1, and the Block field value corresponding to the network 2 is Block2, and since the service SID is encapsulated after the forwarding SID, it is necessary to compare whether the first Block field value in the service SID is identical to the second Block field value in the forwarding SID, and whether the first Block field value in the service SID is identical to the Block2 is required to be compared. Specifically, the SID list includes a plurality of forwarding SIDs, where the forwarding SIDs correspond to different Block values, and the satisfaction of the preset condition refers to determining that the first Block field value is the same as the Block field corresponding to the last forwarding SID in the SID list.
When the first network device determines whether the first Block field value of the service SID is the same as the second Block field value in the forwarding SID, the first network device may send the first Block field value and the second Block field value from the control plane to the data plane, and then compare whether the first Block field value is the same as the second Block field value in the forwarding SID in the data plane. However, since the Block field is a part of the SID, its length is sometimes long, possibly up to 88bits or more, and a relatively large space is required for issuing to the data plane, which affects judgment performance when reading data. Based on this, the embodiment of the present application provides a scheme, specifically, determining that a first Block field value corresponding to a service SID is the same as a second Block field value corresponding to a forwarding SID includes: and determining that the first resource identifier corresponding to the first Block field value is identical to the second resource identifier corresponding to the second Block field value. The space occupied by the second resource identifier corresponding to the Block field value is far smaller than the control occupied by the Block field value. For example, the resource identifier occupies 7bits.
The resource identifier may be obtained specifically by the following manner: the first network equipment determines a first resource identifier according to a first Locator field value corresponding to the service SID and a next hop address; and the first network equipment determines a second resource identifier according to a second Locator field value corresponding to the forwarding SID and a destination address corresponding to the message. If the first resource identifier is the same as the second resource identifier, the first network device determines that the first Block field value is the same as the second Block field value. That is, when judging whether the service SID and the forwarding SID can be compressed, only comparing whether the resource identifier applied by the service SID is the same as the resource identifier applied by the forwarding SID, if so, the service SID and the forwarding SID can be compressed; if it is different, the service SID and the forwarding SID cannot be compressed.
For example, in connection with the application scenario shown in FIG. 1b, the locator of VPN SID is A1:/64, the next hop is 2::2, and Block ID 1 is applied; the locator of the segmentation list 1 in the CP1 is A1:64, the destination address of the corresponding SRv Policy is 2:2, and the Block ID 1 is applied; the locator of the segmentation list 2 is A2:64, the destination address of the corresponding SRv Policy is 2:2, and Block ID 2 is applied; thus, the VPN SID can be compressed with segment list 1 and cannot be compressed with segment list 2.
In some embodiments, in determining whether the traffic SID and forwarding SID support compression, the compression capability may be identified by some field to which it corresponds, such as by the endpoint behavior field to which the traffic SID or forwarding SID corresponds. Specifically, the first network device acquires a first endpoint behavior field value corresponding to the service SID and a second endpoint behavior field value corresponding to the forwarding SID; the first network device determines that the traffic SID supports compression based on the first endpoint behavior field value and determines that the forwarding SID supports compression based on the second endpoint behavior field value. Specifically, when the first endpoint behavior field value is equal to a first preset threshold, determining that the service SID supports compression; when the second endpoint behavior field value is equal to the second preset threshold, it is determined that the forwarding SID supports compression.
Wherein, the first endpoint behavior field value corresponding to the service SID is sent by the second network device to the first network device. The second network device is a device corresponding to the service SID, and the first endpoint behavior field value is generated by the second network device according to the flag field value corresponding to the compression supporting type. Specifically, the second network device combines the flag field value supporting the compression type with the service SID to obtain a first endpoint behavior field value, and transmits the first endpoint behavior field value to the first network device. Accordingly, the second network device defines a flag type of the service SID as next & replay, indicating that the service SID supports compression. The second endpoint behavior field value corresponding to the forwarding SID may be issued by the controller to the first network device.
In some embodiments, to determine whether the service SID is capable of being compressed simultaneously with the forwarding SID, after the first network device determines that both the service SID and the forwarding SID support compression, and before determining that the first Block field value is the same as the second Block field value in the forwarding SID, the method further includes: the first network equipment acquires a first length occupied by a first Block field value and a second length occupied by a second Block field value; if the first length is the same as the second length, the first network device determines whether the first Block field value is the same as the second Block field value in the forwarding SID. That is, after determining that the service SID and the forwarding SID support compression, the first network device first determines whether the lengths occupied by the first Block field value corresponding to the service SID and the second Block field value corresponding to the forwarding SID are the same, if so, determines the subsequent Block field values, and if not, does not need to perform subsequent determination operations.
The carrying manner of the first endpoint behavior field corresponding to the service SID is shown in fig. 3a, and includes a service sub-structure type length value (type length value, TLV), a service sub-TLV length, a reserved bit, a service SID, a flag bit, an end node endpoint behavior field, a reserved bit, and a service data sub-TLV. The length of the first Block field value is defined in TLVs corresponding to the service SID, as shown in fig. 3b, including a Block length, a node length, a function length, an area length, and the like. The length of the second Block field value is defined in the TLV corresponding to the forwarding SID, and as shown in fig. 3c, includes a tail Node behavior endpoint behavior field, a Block length, a Node length, a function length, and an area length.
In some embodiments, when the first network device performs compression processing on the service SID, first determining a compression length corresponding to the service SID; the first network device compresses the service SID according to the compression length to obtain the compressed service SID. The length of the compressed service SID is equal to the compressed length, and the compressed service SID and the compressed forwarding SID do not comprise a Block field value.
In this embodiment, the forwarding SID may support a compression length of 16 bits or 32 bits, and in general, the compression length of the service SID is consistent with the compression length of the forwarding SID, so that the corresponding compression length is determined before the service SID is compressed. Specifically, the first network device determining the compressed length of the service SID may include the following implementations:
One is that when the type corresponding to the service SID is the target type, the first network device determines that the compressed length of the service SID is the first compressed length. The target type may be set according to an actual application, for example, when the type corresponding to the service SID is a next & replace type, the first network device determines that the compression length of the service SID supports 16bit compression.
When the type corresponding to the service SID is a non-target type, the first network equipment acquires the length value of the node part and the length value of the function part corresponding to the service SID; and if the sum of the length value of the node part and the length value of the function part is the second compressed length, the first network equipment determines that the compressed length of the service SID is the second compressed length. For example, when the sum of the length value of the node section and the length value of the function section is 32 bits, it indicates that the service SID supports compression of 32 bits, and the second compression length is 32 bits.
S203: the first network device sends a message to the second network device, wherein the message encapsulates the compressed service SID and the compressed forwarding SID.
In this embodiment, after the first network device obtains the compressed service SID and the compressed forwarding SID, the compressed service SID and the compressed forwarding SID are encapsulated in the corresponding packet, and the packet is sent to the second network device. Because the message comprises the compressed service SID and the compressed forwarding SID, the overhead of the message header is reduced, and the message transmission efficiency is improved. The second network device is a network device corresponding to the service SID.
In some embodiments, when compressing the service SID, it is further necessary to determine a compression method, where the compression method includes: the compressed service SID includes a function portion, or the compressed service SID includes a node portion and a function unseal. Specifically, see the following determination process:
one is that the first network device extracts the node part and the function part from the service SID, and takes the node part and the function part as the compressed service SID. The length of the compressed service SID is the compressed length determined by the first network device. For example, if the third compressed length is 32 bits, the compressed service SID is 32 bits.
For example, as shown in fig. 4a, where both the forwarding SID and the traffic SID support 32bit compression, the 128bit length field may include 4 compressed SIDs, with the compressed VPN SIDs located after all forwarding SIDs.
One is that when the SID list contains a node SID of the second network device or contains an adjacency SID pointing to the second network device, the first network device takes the function part in the service SID as a compressed service SID, the length of which is the compressed length determined by the first network device. Wherein the SID list comprises a node SID of the second network device or comprises an adjacency SID pointing to the second network device, indicating that the forwarding SID points to the tail node (second network device), without including a node part in the compressed service SID, so that the first network device extracts a function part from the service SID, and uses the function part as the compressed service SID. For example, the compression length is 16 bits, both the forwarding SID and the service SID in the forwarding path support 16bit compression, and the forwarding path points to the tail node, so that the node part is not required to be included in the compression of the service SID, and only the function part is required to be included.
For example, as shown in fig. 4b, both the forwarding SID and the service SID support 16bit compression, the 128bit length field may include 8 compressed SIDs, where the compressed service SID is vpn.
When the SID list does not contain the node SID of the second network device or does not contain the adjacent SID pointing to the second network device, the first network device takes the node part of the service SID as the node part of the compressed service SID, takes the function part of the service SID as the function part of the compressed service SID, and the length of the compressed service SID is the compression length determined by the first network device. Wherein the SID list does not contain a node SID of the second network device or does not contain an adjacency SID pointing to said second network device, indicating that the forwarding SID does not point to the tail node (second network device), and if the message is to be forwarded to the second network device, the compressed service SID needs to include a node portion and a function portion. The node part is used for routing to the tail node, and the function part is used for looking up a table and forwarding the next hop. Based on this, the first network device uses the node portion of the service SID as the node portion of the compressed service SID and uses the function portion of the service SID as the function portion of the compressed service SID. The compressed service SID includes a node portion and a function portion.
For example, as shown in fig. 4c, where both the forwarding SID and the service SID support 16bit compression, the 128bit length field may include 8 compressed SIDs, where the compressed service SIDs include vpn.function (16 bit) and vpn.node (16 bit). When the message is packaged, the VPN node is packaged first, and then the VPN function is packaged.
The fact that the forwarding SID points to the tail node means that the last forwarding SID in the SID list is the SID corresponding to the tail node, or the last forwarding SID is the adjacent SID pointing to the tail node. For example, in the application scenario shown in fig. 4d, a client edge device (CE) and a network edge device (PE) are included, and an intermediate transmission device P is included. Wherein, PE2 is the device corresponding to VPN SID, PE1 is the head node corresponding to the forwarding path, PE2 node sends VPN SID to PE1 node. When the forwarding SID included in the SID list is SID1 corresponding to PE1, SID2 corresponding to P1 and SID3 corresponding to PE4 respectively, the forwarding SID points to the tail node, and the next hop can be determined to be the PE2 node according to the SID 3; the fact that the forwarding SID does not point to the tail node means that the next hop node cannot be determined to be the PE2 node according to SID 3. When the forwarding SID included in the SID list is SID1 corresponding to PE1, SID2 corresponding to P1, SID3 corresponding to PE4, and SID4 of PE2, respectively, the forwarding SID points to the tail node PE2.
As can be seen from the above, the Block field values corresponding to the forwarding SIDs included in the forwarding path are the same, and in some application scenarios, the forwarding path may pass through different networks, and then the Block fields corresponding to the forwarding SIDs in the forwarding path may be different. In this case, the Block needs to be replaced during the compression process, and in the case of replacing the Block, the encapsulation position corresponding to the first network device when encapsulating the compressed service SID will be different from the encapsulation position corresponding to the case of not replacing the Block. Therefore, when the first network device encapsulates the node part and the function part in the compressed service SID in the message, determining the encapsulation position of the compressed service SID according to the Block field value corresponding to the last forwarding SID in the SID list; the first network device sequentially encapsulates the node part in the compressed service SID and the function part in the compressed service SID according to the encapsulation position. Since the compressed service SID is encapsulated after all the compressed forwarding SIDs, the encapsulation position is determined by determining the Block field value corresponding to the last forwarding SID.
Specifically, if the last forwarding SID in the SID list includes a Block field, the first network device encapsulates a node part of the compressed service SID in a low bit of the corresponding SID in the SID list, and encapsulates a function part of the compressed service SID in a high bit of the corresponding SID in the SID list; if the last forwarding SID in the SID list does not contain a Block field, the first network device determines to pack the node part of the compressed service SID in the high bit of the corresponding SID in the SID list, and pack the function part of the compressed service SID in the low bit of the corresponding SID in the SID list. That is, if the last forwarding SID carries a Block field, the encapsulation mode corresponding to the service SID is to encapsulate the node portion and the function portion in the compressed service SID from the left side of the message. For example, as shown in fig. 5a, SID1-SID6 corresponds to Block1, SID7 and SID8 corresponds to Block2, and SID8 is the last forwarding SID and contains Block2, then the encapsulation starts from left to right, vpn.node is encapsulated first in the low bit of the SID, and vpn.function is encapsulated in the high bit of the SID. For another example, as shown in fig. 4c, if the last forwarding SID does not carry a Block field, the vpn.node is encapsulated first in the high bit of the SID, and then the vpn.function is encapsulated in the low bit of the SID.
After the message is sent to the second network device, the second network device performs a decapsulation operation on the message, if the encapsulation direction is from left to right, the decapsulation is also from left to right, as shown in fig. 5a, and the decapsulation is performed to obtain a block2+vpn.node, and a tail node is determined; and then unpacking to obtain the Block2+VPN.function, and determining the corresponding output interface in the tail node. If the encapsulation direction is from right to right, the encapsulation is also from right to left, the block+VPN node is obtained by first decapsulation, and the tail node is determined; and then unpacking to obtain the block+VPN.function, and determining the corresponding output interface in the tail node.
In some embodiments, when the first network device encapsulates the compressed service SID and the compressed forwarding SID in the packet, the compressed service SID and the compressed forwarding SID may be encapsulated in the IPv6 header and the SRH extension header of the packet at the same time. For example, as shown in fig. 5b, the forwarding path includes 4 forwarding SIDs, which are SID1-SID4, respectively, each of which is 16 bits, and the VPN SID is also 16 bits, and the compressed forwarding SID and the compressed VPN SID are encapsulated in both the IPv6 header and the SRH extension header.
In order to further reduce the overhead of the header, when the total length of the compressed service SID and the compressed forwarding SID is less than or equal to 128 bits minus the length occupied by the Block field value, the SRH extension header may be deleted, and the compressed service SID and the compressed forwarding SID are encapsulated only in the destination address DA field of the IPv6 header. For example, as shown in fig. 5c, only the compressed VPN SID and the compressed forwarding SID encapsulated by the IPv6 message header are reserved, and the SRH extension header is not carried.
Through the technical scheme provided by the application, the first network equipment acquires the SID list and the service SID of the corresponding message forwarding path. Wherein the SID list includes a forwarding SID. The first network device judges whether the service SID and the forwarding SID meet preset conditions, if so, the service SID and the forwarding SID are compressed to obtain a compressed service SID and a compressed forwarding SID. The first network device encapsulates the compressed service SID and the compressed forwarding SID in the message and sends the message to the second network device. That is, by the technical scheme provided by the application, when the service SID and the forwarding SID meet the compression condition, the service SID and the forwarding SID are compressed respectively so as to encapsulate the compressed service SID and the compressed forwarding SID in the message, thereby reducing the overhead of the message header and improving the message transmission efficiency.
Based on the foregoing method embodiments, a network device provided in the embodiments of the present application will be described below with reference to the accompanying drawings.
Referring to fig. 6, a block diagram of a network device according to an embodiment of the present application is provided, where the network device 600 is capable of implementing the functions of the first network device in the method example described above in fig. 2. Or may implement the functionality of PE1 in the embodiment shown in fig. 4 d. The network device 600 may include: an acquisition unit 601, a processing unit 602, and a transmission unit 603. The above-mentioned units may perform the relevant functions of the first network device in the above-mentioned method embodiments.
The obtaining unit 601 may perform S201 in the embodiment shown in fig. 2 described above; the processing unit 602 may execute S202 in the embodiment shown in fig. 2; the transmission unit 603 may perform S203 in the embodiment shown in fig. 2. Wherein the processing unit 602 may also perform other processes performed by the first network device in the techniques described herein. Reference is made to the detailed description of the corresponding steps in the embodiment shown in fig. 2, and details are not repeated here. For example, the obtaining unit 601 is configured to perform the above method embodiment, where the first network device obtains a first endpoint behavior field value corresponding to a service SID and a second endpoint behavior field value corresponding to a forwarding SID; the processing unit 602 is configured to execute the above method example, where the first network device determines that a first Block field value corresponding to the service SID is equal to a second Block field value corresponding to the forwarding SID, and the first network device determines a first resource identifier and a second resource identifier.
Optionally, the network device 600 may further include: a receiving unit;
the receiving unit is configured to receive a first encouraging field value corresponding to the service SID sent by the second network device, where the second network device is a device corresponding to the service SID, and the first endpoint behavior field value is generated by the second network device according to a flag field value corresponding to a compression supporting type.
It should be noted that, in the embodiment of the present application, the division of the units is schematic, which is merely a logic function division, and other division manners may be implemented in actual practice. Each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. For example, in the above embodiment, the processing unit and the transmitting unit may be the same unit or may be different units. The integrated units may be implemented in hardware or in software functional units.
Fig. 7 is a schematic structural diagram of a network device provided in the embodiment of the present application, where the network device may be, for example, the first network device, the second network device in the embodiment of the method, or may also be a specific implementation of the network device 600 in the embodiment shown in fig. 6.
The network device 700 includes: processor 710, communication interface 720, and memory 730. Where the number of processors 710 in the communication device 700 may be one or more, one processor is illustrated in fig. 7. In the present embodiment, processor 710, communication interface 720, and memory 730 may be connected by a bus system or other means, such as by bus system 740 in fig. 7.
The processor 710 may be a CPU, an NP, or a combination of a CPU and NP. Processor 710 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof. The PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), general-purpose array logic (generic array logic, GAL), or any combination thereof.
Memory 730 may include volatile memory (RAM), such as random-access memory (RAM); memory 730 may also include non-volatile memory (non-volatile memory), such as flash memory (flash memory), hard disk (HDD) or Solid State Drive (SSD); memory 730 may also include a combination of the above types of memory. The memory 730 may store, for example, the aforementioned segment routing SR policies, etc.
Memory 730 optionally stores an operating system and programs, executable modules or data structures, or a subset thereof, or an extended set thereof, where the programs may include various operational instructions for performing various operations. The operating system may include various system programs for implementing various underlying services and handling hardware-based tasks. The processor 710 may read the program in the memory 730 to implement the message processing method provided in the embodiment of the present application.
The memory 730 may be a storage device in the communication device 700 or may be a storage device independent of the communication device 700.
The bus system 740 may be a peripheral component interconnect (peripheral component interconnect, PCI) bus, or an extended industry standard architecture (extended industry standard architecture, EISA) bus, among others. The bus system 740 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in fig. 7, but not only one bus or one type of bus.
Fig. 8 is a schematic structural diagram of a network device 800 provided in the embodiment of the present application, where the network device may be, for example, the first network device, the second network device in the embodiment of the method described above, or may also be a specific implementation of the device 600 in the embodiment shown in fig. 6.
The network device 800 includes: a main control board 810 and an interface board 830.
The main control board 810 is also called a main processing unit (main processing unit, MPU) or a routing processing card (routeprocessor card), and the main control board 810 controls and manages various components in the network device 800, including routing computation, device management, device maintenance, and protocol processing functions. The main control board 810 includes: a central processor 811 and a memory 812.
Interface board 830 is also referred to as a line interface unit card (line processing unit, LPU), line card, or service board. The interface board 830 is used to provide various service interfaces and to implement forwarding of data packets. The service interfaces include, but are not limited to, ethernet interfaces, such as flexible ethernet service interfaces (Flexible Ethernet Clients, flexE Clients), POS (Packet over SONET/SDH) interfaces, etc. The interface board 830 includes: a central processor 831, a network processor 832, a forwarding table entry memory 834, and a physical interface card (physical interface card, PIC) 833.
The central processor 831 on the interface board 830 is used to control and manage the interface board 830 and communicate with the central processor 811 on the main control board 810.
The network processor 832 is configured to implement forwarding processing of the message. The network processor 832 may be in the form of a forwarding chip. Specifically, the processing of the uplink message includes: processing a message input interface and searching a forwarding table; the processing of the downstream message includes forwarding table lookup and the like.
The physical interface card 833 is used to implement the docking function of the physical layer, from which the original traffic enters the interface board 830, and the processed messages are sent out from the physical interface card 833. The physical interface card 833 includes at least one physical interface, also referred to as a physical port. The physical interface card 833, also called a daughter card, may be mounted on the interface board 830, and is responsible for converting the photoelectric signal into a message, performing validity check on the message, and forwarding the message to the network processor 832 for processing. In some embodiments, the central processor 831 of the interface board 803 may also perform the functions of the network processor 832, such as implementing software forwarding based on a general purpose CPU, so that the network processor 832 is not required in the physical interface card 833.
Optionally, the network device 800 comprises a plurality of interface boards, e.g. the network device 800 further comprises an interface board 840, the interface board 840 comprising: central processor 841, network processor 842, forwarding table entry memory 844, and physical interface card 843.
Optionally, the network device 800 further comprises a switching network board 820. The switch fabric 820 may also be referred to as a switch fabric unit (switch fabric unit, SFU). In the case of a network device having a plurality of interface boards 830, the switch fabric 820 is used to complete the data exchange between the interface boards. For example, interface board 830 and interface board 840 may communicate through switch fabric 820.
The main control board 810 is coupled to the interface board 830. For example. The main control board 810, the interface board 830 and the interface board 840 are connected with the system backboard through a system bus to realize intercommunication. In one possible implementation, an inter-process communication protocol (inter-process communication, IPC) channel is established between the main control board 810 and the interface board 830, and communication is performed between the main control board 810 and the interface board 830 through the IPC channel.
Logically, network device 800 includes a control plane that includes a main control board 810 and a central processor 831, and a forwarding plane that includes various components that perform forwarding, such as a forwarding table entry memory 834, a physical interface card 833, and a network processor 832. The control plane performs the functions of router, generating forwarding table, processing signaling and protocol message, configuring and maintaining the state of the device, etc., and the control plane issues the generated forwarding table to the forwarding plane, where the network processor 832 forwards the message received by the physical interface card 833 based on the forwarding table issued by the control plane. The forwarding table issued by the control plane may be stored in forwarding table entry memory 834. In some embodiments, the control plane and the forwarding plane may be completely separate and not on the same device.
It should be understood that the operations on the interface board 840 are consistent with the operations of the interface board 830 in the embodiment of the present application, and are not repeated for brevity. It should be understood that the network device 800 of the present embodiment may correspond to the first network device in the foregoing method embodiments, and the main control board 810, the interface board 830, and/or the interface board 840 in the network device 800 may implement the various steps in the foregoing method embodiments, which are not described herein for brevity.
It should be understood that the master control board may have one or more pieces, and that the master control board may include a main master control board and a standby master control board when there are more pieces. The interface boards may have one or more, the more data processing capabilities the network device is, the more interface boards are provided. The physical interface card on the interface board may also have one or more pieces. The switching network board may not be provided, or may be provided with one or more blocks, and load sharing redundancy backup can be jointly realized when the switching network board is provided with the plurality of blocks. Under the centralized forwarding architecture, the network device may not need to exchange network boards, and the interface board bears the processing function of the service data of the whole system. Under the distributed forwarding architecture, the network device may have at least one switching fabric, through which data exchange between multiple interface boards is implemented, providing high-capacity data exchange and processing capabilities. Therefore, the data access and processing power of the network devices of the distributed architecture is greater than that of the devices of the centralized architecture. Alternatively, the network device may be in the form of only one board card, i.e. there is no switching network board, the functions of the interface board and the main control board are integrated on the one board card, and the central processor on the interface board and the central processor on the main control board may be combined into one central processor on the one board card, so as to execute the functions after stacking the two, where the data exchange and processing capability of the device in this form are low (for example, network devices such as a low-end switch or a router). Which architecture is specifically adopted depends on the specific networking deployment scenario.
In some possible embodiments, the network device may be implemented as a virtualized device. For example, the virtualized device may be a Virtual Machine (VM) running a program for sending message functions, the virtual machine deployed on a hardware device (e.g., a physical server). Virtual machines refer to complete computer systems that run in a completely isolated environment with complete hardware system functionality through software emulation. The virtual machine may be configured as a network device. For example, the network device may be implemented based on a generic physical server in combination with network function virtualization (network functions virtualization, NFV) technology. The network device is a virtual host, a virtual router, or a virtual switch. Those skilled in the art can virtually obtain the network device with the above functions on the general physical server by combining with the NFV technology through reading the present application, and details are not repeated here.
It should be understood that the network device in the above various product forms has any function of the first network device in the above method embodiment, which is not described herein.
The embodiment of the application also provides a chip, which comprises a processor and an interface circuit, wherein the interface circuit is used for receiving the instruction and transmitting the instruction to the processor; a processor, such as one specific implementation of the apparatus 600 shown in fig. 6, may be used to perform the above-described methods. Wherein the processor is coupled to a memory for storing programs or instructions which, when executed by the processor, cause the system-on-a-chip to implement the method of any of the method embodiments described above.
Alternatively, the processor in the system-on-chip may be one or more. The processor may be implemented in hardware or in software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, or the like. When implemented in software, the processor may be a general purpose processor, implemented by reading software code stored in a memory.
Alternatively, the memory in the system-on-chip may be one or more. The memory may be integral with the processor or separate from the processor, and is not limited in this application. For example, the memory may be a non-transitory processor, such as a ROM, which may be integrated on the same chip as the processor, or may be separately provided on different chips, and the type of memory and the manner of providing the memory and the processor are not specifically limited in this application.
The system-on-chip may be, for example, a field programmable gate array (field programmable gate array, FPGA), an application-specific integrated chip (ASIC), a system-on-chip (SoC), a central processing unit (central processor unit, CPU), a network processor (network processor, NP), a digital signal processing circuit (digital signalprocessor, DSP), a microcontroller (micro controller unit, MCU), a programmable controller (programmable logic device, PLD) or other integrated chip.
The embodiment of the application also provides a message processing system, which comprises a first network device and a second network device, wherein the first network device executes the message processing method provided by the embodiment; the second network device is configured to send a packet to the first network device, where the packet encapsulates the compressed service SDI and the compressed forwarding SID.
The embodiments of the present application also provide a computer readable storage medium including instructions or a computer program, which when run on a computer, causes the computer to perform the message processing method provided in the above embodiments.
The present application also provides a computer program product comprising instructions or a computer program which, when run on a computer, cause the computer to perform the message processing method provided in the above embodiments.
The terms "first," "second," "third," "fourth" and the like in the description and in the claims of this application and in the above-described figures, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments described herein may be implemented in other sequences than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, which are not repeated herein.
In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, e.g., the division of units is merely a logical service division, and there may be additional divisions in actual implementation, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each service unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software business units.
The integrated units, if implemented in the form of software business units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied in essence or a part contributing to the prior art or all or part of the technical solution in the form of a software product stored in a storage medium, including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods of the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Those of skill in the art will appreciate that in one or more of the examples described above, the services described herein may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the services may be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer.
The foregoing embodiments have been provided for the purpose of illustrating the objects, technical solutions and advantageous effects of the present application in further detail, and it should be understood that the foregoing embodiments are merely exemplary embodiments of the present application.
The above embodiments are only for illustrating the technical solution of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.

Claims (39)

1. A method for processing a message, comprising:
the method comprises the steps that first network equipment obtains a segment list SID list and a service segment identifier SID of a corresponding message forwarding path, wherein the SID list comprises forwarding SIDs;
the first network device determines that the forwarding SID and the service SID meet preset conditions, and compresses the service SID and the forwarding SID;
the first network device sends the message to the second network device, and the compressed service SID and the compressed forwarding SID are encapsulated in the message.
2. The method of claim 1, wherein the meeting a preset condition is determining that a first Block field value corresponding to the service SID is the same as a second Block field value corresponding to the forwarding SID, or,
the step of meeting the preset condition is to determine that the service SID and the forwarding SID both support compression, and the first Block field value corresponding to the service SID is the same as the second Block field value corresponding to the forwarding SID.
3. The method of claim 2, wherein the SID list includes a plurality of forwarding SIDs, the forwarding SIDs corresponding to different Block values, and wherein the satisfaction of the preset condition is to determine that the first Block field value is the same as the Block field value corresponding to the last forwarding SID in the SID list.
4. The method of claim 2 or 3, wherein the determining that the first Block field value corresponding to the service SID is the same as the second Block field value corresponding to the forwarding SID comprises:
and determining that the first resource identifier corresponding to the first Block field value is the same as the second resource identifier corresponding to the second Block field value.
5. The method according to claim 4, wherein the method further comprises:
the first network device determines the first resource identifier according to a first position Locator field value corresponding to the service SID and a next hop address corresponding to the service SID;
and the first network equipment determines the second resource identifier according to a second Locator field value corresponding to the forwarding SID and a destination address corresponding to the message.
6. The method according to any of claims 2-5, wherein the first network device determining that the forwarding SID and the traffic SID meet a preset condition comprises:
the first network device obtains a first tail node behavior endpoint behavior field value corresponding to the service SID and a second endpoint behavior field value corresponding to the forwarding SID;
the first network device determines that the traffic SID supports compression based on the first endpoint behavior field value and determines that the forwarding SID supports compression based on the second endpoint behavior field value.
7. The method of claim 6, wherein the method further comprises:
the first network device receives a first endpoint behavior field value corresponding to the service SID sent by the second network device, where the second network device is a device corresponding to the service SID, and the first endpoint behavior field value is generated by the second network device according to a flag field value corresponding to a compression supporting type.
8. The method of claim 6, wherein after the first network device determines that the traffic SID and the forwarding SID both support compression, and before determining that the first Block field value is the same as the second Block field value, the method further comprises:
the first network device obtains a first length occupied by the first Block field value and a second length occupied by the second Block field value;
and if the first length is the same as the second length, the first network device determines whether the first Block field value is the same as the second Block field value.
9. The method of any of claims 1-8, wherein the compressed service SID and the compressed forwarding SID are each less than or equal to 32 bits in length.
10. The method according to any of claims 1-9, wherein the first network device compresses the service SID, comprising:
the first network device determines a compression length corresponding to the service SID;
the first network device compresses the service SID according to the compressed length to obtain a compressed service SID, wherein the length of the compressed service SID is equal to the compressed length.
11. The method of claim 10, wherein the first network device determining the compressed length corresponding to the service SID comprises:
when the type corresponding to the service SID is a target type, the first network equipment determines that the compressed length of the service SID is a first compressed length; or,
when the type corresponding to the service SID is not the target type, the first network device obtains a length value of a node part corresponding to the service SID and a length value of a function part, wherein the sum of the length value of the node part and the length value of the function part is a second compressed length, and the first network device determines that the compressed length of the service SID is the second compressed length.
12. The method according to claim 10 or 11, wherein the first network device compresses the service SID according to the compression length to obtain a compressed service SID, including:
the first network device extracts a node part and a function part from the service SID, and takes the node part and the function part as compressed service SIDs, wherein the length of the compressed service SIDs is the compression length; or,
when the SID list comprises a node SID of the second network device or comprises an adjacent SID pointing to the second network device, the first network device takes a function part in the service SID as a compressed service SID, and the length of the compressed service SID is the compressed length; or,
when the SID list does not contain the node SID of the second network device or does not contain an adjacent SID pointing to the second network device, the first network device uses the node portion of the service SID as the node portion of the compressed service SID, uses the function portion of the service SID as the function portion of the compressed service SID, and the length of the compressed service SID is the compressed length.
13. The method according to any of claims 1-12, wherein the compressed service SID and the compressed forwarding SID are encapsulated in a destination address field of a header of the message.
14. The method of claim 13, wherein the message does not include a segment routing header SRH.
15. The method according to any one of claims 1-14, wherein the first network device obtaining a service segment identification SID of a corresponding message comprises:
the first network device receives the service SID sent by the second network device, the first network device is a head node corresponding to the forwarding path, and the second network device is a tail node corresponding to the forwarding path.
16. The method according to any one of claims 1-15, wherein the first network device obtaining a segment list SID list of a corresponding packet forwarding path, comprises:
the first network device obtains a segment routing, SR, policy that includes a SID list of a forwarding path.
17. The method according to any of claims 1-16, wherein the service SID is a virtual private network VPN SID.
18. The method according to any of claims 1-17, wherein prior to the first network device sending the message, the method further comprises:
When the SID list does not contain the node SID of the second network device or does not contain the adjacent SID pointing to the second network device, the first network device determines the encapsulation position of the compressed service SID according to the Block field value corresponding to the last forwarding SID in the SID list;
and the first network equipment sequentially encapsulates the node part of the compressed service SID and the function part of the compressed service SID in the message according to the encapsulation position.
19. The method of claim 18, wherein the first network device determining the encapsulation location of the compressed service SID according to the Block field value corresponding to the last forwarding SID in the SID list comprises:
when the last forwarding SID in the SID list contains a Block field, the first network device encapsulates a node part of the compressed service SID in a low bit of a corresponding SID in the SID list, and encapsulates a function part of the compressed service SID in a high bit of the corresponding SID in the SID list; or,
when the last forwarding SID in the SID list does not contain a Block field, the first network device encapsulates the node part of the compressed service SID in the high bit of the corresponding SID in the SID list, and encapsulates the function part of the compressed service SID in the low bit of the corresponding SID in the SID list.
20. The method of any of claims 1-19, wherein the compressed service SID has a same compression length as the compressed forwarding SID.
21. A network device, wherein the network device is a first network device in a network, comprising:
an obtaining unit, configured to obtain a segment list SID list and a service segment identifier SID of a corresponding packet forwarding path, where the SID list includes a forwarding SID;
the processing unit is used for determining that the forwarding SID and the service SID meet preset conditions by the first network equipment and compressing the service SID and the forwarding SID;
and the sending unit is used for sending the message to the second network equipment, and the compressed service SID and the compressed forwarding SID are packaged in the message.
22. The network device of claim 21, wherein the satisfaction of the preset condition is a determination that a first Block field value corresponding to the service SID is the same as a second Block field value corresponding to the forwarding SID, or,
the step of meeting the preset condition is to determine that the service SID and the forwarding SID both support compression, and the first Block field value corresponding to the service SID is the same as the second Block field value corresponding to the forwarding SID.
23. The network device of claim 22, wherein the SID list comprises a plurality of forwarding SIDs, wherein the forwarding SIDs correspond to different Block values, and wherein the satisfaction of the preset condition is a determination that the first Block field value is the same as the Block field value corresponding to the last forwarding SID in the SID list.
24. The network device of claim 22 or 23, wherein the determining that the first Block field value corresponding to the service SID is the same as the second Block field value corresponding to the forwarding SID comprises: and determining that the first resource identifier corresponding to the first Block field value is the same as the second resource identifier corresponding to the second Block field value.
25. The network device of claim 24, wherein the network device further comprises: a determination unit;
the determining unit is configured to determine the first resource identifier according to a first location identifier field value corresponding to the service SID and a next hop address corresponding to the service SID;
the determining unit is further configured to determine the second resource identifier according to a second Locator field value corresponding to the forwarding SID and a destination address corresponding to the message.
26. The network device according to any one of claims 22-25, wherein the processing unit is specifically configured to obtain a first tail node behavior endpoint behavior field value corresponding to the service SID and a second endpoint behavior field value corresponding to the forwarding SID; the traffic SID is determined to support compression based on the first endpoint behavior field value and the forwarding SID is determined to support compression based on the second endpoint behavior field value.
27. The network device of claim 26, wherein the network device further comprises: a receiving unit;
the receiving unit is configured to receive a first endpoint behavior field value corresponding to the service SID sent by the second network device, where the second network device is a device corresponding to the service SID, and the first endpoint behavior field value is generated by the second network device according to a flag field value corresponding to a supporting compression type.
28. The network device of claim 26, wherein the processing unit is further configured to obtain a first length occupied by the first Block field value and a second length occupied by the second Block field value after determining that the traffic SID and the forwarding SID both support compression and before determining that the first Block field value is the same as the second Block field value; and if the first length is the same as the second length, determining whether the first Block field value is the same as the second Block field value.
29. The network device of any of claims 21-28, wherein the compressed service SID and the compressed forwarding SID are each less than or equal to 32 bits in length.
30. The network device according to any of claims 21-29, wherein the processing unit is specifically configured to determine a compressed length corresponding to the service SID; and compressing the service SID according to the compression length to obtain a compressed service SID, wherein the length of the compressed service SID is equal to the compression length.
31. The network device of claim 30, wherein the processing unit is specifically configured to determine, when a type corresponding to the service SID is a target type, that a compressed length of the service SID is a first compressed length; or when the type corresponding to the service SID is not the target type, the first network device obtains a length value of a node part and a length value of a function part corresponding to the service SID, wherein the sum of the length value of the node part and the length value of the function part is a second compressed length, and determines that the compressed length of the service SID is the second compressed length.
32. The network device according to claim 30 or 31, wherein the processing unit is specifically configured to extract a node part and a function part from the service SID, and use the node part and the function part as a compressed service SID, where a length of the compressed service SID is the compressed length; or when the SID list contains a node SID of the second network device or contains an adjacent SID pointing to the second network device, taking a function part in the service SID as a compressed service SID, wherein the length of the compressed service SID is the compressed length; or when the SID list does not contain the node SID of the second network device or does not contain the adjacent SID pointing to the second network device, taking the node part of the service SID as a compressed service SID part, taking the function part of the service SID as a function part of the compressed service SID, wherein the length of the compressed service SID is the compressed length.
33. The network device according to any of claims 21-32, wherein the compressed service SID and the compressed forwarding SID are encapsulated in a destination address field of a header of the message.
34. The network device of claim 33, wherein the message does not include a segment routing header SRH.
35. The network device according to any one of claims 21-34, wherein the obtaining unit is specifically configured to receive a service SID sent by the second network device, where the first network device is a head node corresponding to a forwarding path, and the second network device is a tail node corresponding to the forwarding path.
36. A message processing system, the system comprising: a first network device and a second network device;
the first network device for performing the method of any of claims 1-20;
the second network device is configured to receive a packet sent by the first network device, where the packet encapsulates a compressed service SID and a compressed forwarding SID.
37. A network device, the device comprising: a processor and a memory;
the memory is used for storing instructions or computer programs;
the processor being configured to execute the instructions or computer program in the memory to cause the communication device to perform the method of any of claims 1-20.
38. A computer readable storage medium comprising instructions which, when run on a computer, cause the computer to perform the method of any of the preceding claims 1-20.
39. A computer program product comprising a program which, when run on a processor, causes a computer or network device to perform the method of any of the preceding claims 1-20.
CN202211303162.3A 2022-07-27 2022-10-24 Message processing method, network equipment and system Pending CN117478591A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2022108922577 2022-07-27
CN202210892257 2022-07-27

Publications (1)

Publication Number Publication Date
CN117478591A true CN117478591A (en) 2024-01-30

Family

ID=89631781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211303162.3A Pending CN117478591A (en) 2022-07-27 2022-10-24 Message processing method, network equipment and system

Country Status (1)

Country Link
CN (1) CN117478591A (en)

Similar Documents

Publication Publication Date Title
CN110557316B (en) Message transmission method, system, device and computer readable storage medium
CN113132229B (en) Segment identifier determination method and device
US20230300070A1 (en) Packet Sending Method, Device, and System
US20220255772A1 (en) Packet sending method, apparatus, and system
CN113973082A (en) Message processing method and network equipment
US20230198885A1 (en) Network layer reachable information transmission method, system, and apparatus and network device
US20240048479A1 (en) Packet Forwarding Method and Apparatus, Network Device, and Storage Medium
CN115065637A (en) Method and device for transmitting computing power resource information and electronic equipment
WO2022007702A1 (en) Message processing method and network device
CN112769738A (en) DetNet data packet processing method and device
JP2024504466A (en) Packet forwarding methods, packet processing methods, and devices
CN114095416A (en) Network layer reachable information transmission method, system, device and network equipment
WO2023213216A1 (en) Packet processing method and related device
CN114760244B (en) Method, device and network equipment for transmitting Binding Segment Identification (BSID)
CN117478591A (en) Message processing method, network equipment and system
WO2023125774A1 (en) Vxlan packet transmission method, network device, and system
WO2023125767A1 (en) Message transmission method, network device, and system
US20240356846A1 (en) Packet transmission method, network device, and system
EP4369690A1 (en) Method and apparatus for transmitting network layer readable information, device, system, and medium
CN114143142B (en) Message transmission method and device
WO2023088145A1 (en) Packet processing method, apparatus and device
CN116418628A (en) VXLAN message transmission method, network equipment and system
US20220174013A1 (en) Communication Method and Apparatus
CN116074235A (en) Message processing method, device and system
CN117061406A (en) Message processing method and related equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication