A message processing method and network device

By adding network slice and forwarding path indication information to the MPLS packet header, the problem of label resource consumption when the number of network slices is large is solved, and efficient resource utilization is achieved.

CN113973082BActive Publication Date: 2025-10-14HUAWEI TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011022649.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-07-06
Filing Date
2020-09-25
Publication Date
2025-10-14
Estimated Expiration
2040-09-25

AI Technical Summary

Technical Problem

When the number and scale of network slices are large, the existing technology needs to allocate a large number of MPLS labels and SIDs to identify nodes and links, resulting in serious consumption of label resources and increased management complexity.

Method used

In the MPLS packet header, different indication information is used to indicate the network slice and the forwarding path respectively, so as to avoid simultaneously identifying the network slice and the forwarding path based on a single MPLS label. The MPLS label stack or extended header is used to carry the first indication information and the second indication information.

Benefits of technology

This effectively saves MPLS label resources and SID resources in SR-MPLS networks, simplifying label and SID management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113973082B_ABST
    Figure CN113973082B_ABST
Patent Text Reader

Abstract

A message processing method and a network device, the method comprising: a first network device obtaining a message; the first network device adding first indication information and second indication information in the message to obtain an updated message, the first indication information and the second indication information being located in a multiprotocol label switching (MPLS) message header of the updated message, wherein the first indication information is used to indicate a network slice corresponding to the message, and the second indication information is used to indicate a forwarding path of the message; and the first network device sending the updated message to a second network device. Different indication information in the MPLS message header is used to respectively indicate the network slice corresponding to the message and the forwarding path, so that the network device can realize normal forwarding of the message according to unified network slice indication information, without the need for each network device on the forwarding path to respectively allocate different MPLS labels for the same network slice, thereby effectively saving MPLS label resources.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on July 6, 2020, with application number 202010638513.0 and invention name “A method and device for carrying network slice identifiers”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of communication technology, and in particular to a message processing method and network equipment. Background Art

[0003] Segment Routing (SR) is a source routing technology. Its basic principle is to encapsulate one or more segment identifiers (SIDs) in the data packet header. Each SID indicates a specific node, link, or service function to be performed in the network, so that each node in the network selects the node, link, or service function that the packet needs to pass through in turn according to the SID in the packet header. SR can use Multi-Protocol Label Switching (MPLS) as the data plane technology. In this case, the SR SID is encapsulated and carried using the MPLS label stack on the data plane. The two basic SID types of SR-MPLS are prefix SID (prefix-SID) and adjacency SID (adj-SID), which are used to identify nodes and links in the SR network, respectively. The SID list obtained by combining these two SIDs can realize the function of indicating the forwarding path using SR.

[0004] Currently, the solution for implementing network slicing based on SR-MPLS is to use different SR SIDs to identify the different network slices to which nodes and links belong. Specifically, each node needs to be assigned different prefix-SIDs for different network slices as the identifier of the node in different network slices. In addition, each node needs to be assigned different adj-SIDs for a connected link in different network slices to identify the resources allocated to different network slices on the same link. In other words, different nodes and links in the same network slice, as well as the same node and link in different network slices, require different MPLS labels to identify them.

[0005] Therefore, when the number and scale of network slices are large, a large number of MPLS labels need to be allocated, resulting in serious consumption of MPLS label resources. Summary of the Invention

[0006] The embodiment of the present application provides a message processing method and network device, which encapsulates the message with an MPLS message header on the MPLS data plane, and indicates the network slice and forwarding path corresponding to the message through different indication information in the MPLS message header, so that each network device on the forwarding path can realize normal forwarding of the message according to the unified network slice indication information, without the need for each network device on the forwarding path to allocate different MPLS labels as network slice identifiers for the same network slice, which can effectively save MPLS label resources. Furthermore, when the message processing method is applied to an SR-MPLS network, SID resources can also be effectively saved.

[0007] The first aspect of the present application provides a message processing method, including: a first network device obtains a message, and the first network device can be a network device in an MPLS network or an SR-MPLS network; the first network device adds first indication information and second indication information to the message to obtain an updated message, and the first indication information and the second indication information are located in the MPLS message header of the updated message, wherein the first indication information may, for example, include an identifier of a network slice, used to indicate the network slice corresponding to the message, and the second indication information is used to indicate a forwarding path of the message; the first network device sends the updated message to the second network device.

[0008] In one possible scenario, if the message obtained by the first network device already includes an MPLS message header, the first network device may add first indication information and second indication information to the existing MPLS message header to obtain an updated message. In another possible scenario, if the message obtained by the first network device does not include an MPLS message header, the first network device may add a new MPLS message header, and the first indication information and second indication information may be added to the newly added MPLS message header to obtain an updated message. The location where the first indication information and second indication information are added may be set according to the specific design, such as in an MPLS label stack or an MPLS extension header. The first network device capable of performing the operation of adding indication information may be the head node of an MPLS network.

[0009] In this solution, an MPLS header is encapsulated for the message on the MPLS data plane, and different indication information is used in the MPLS header to indicate the network slice and forwarding path corresponding to the message, so that network devices can realize normal forwarding of messages based on the indication information of the same network slice. It is no longer necessary to identify the network slice and the nodes and links on the forwarding path based on a single MPLS label. In other words, there is no need to identify the network slice to which the node and link belong based on the MPLS label, which can effectively save MPLS label resources. When this message processing method is applied to an SR-MPLS network, it can also effectively save SID resources.

[0010] Optionally, in one possible implementation, the MPLS packet header includes an MPLS label stack, the MPLS label stack including a first label field and a second label field, the first label field being used to indicate that the second label field includes the second indication information, and the second label field including the second indication information. Carrying the first indication information and the second indication information separately in different label fields in the MPLS label stack can improve the scalability of the solution.

[0011] Optionally, in a possible implementation, the first label field includes an extension label (EL) and an extended special purpose label (ESPL).

[0012] Optionally, in a possible implementation manner, the MPLS packet header includes an MPLS special-purpose label, and a reserved field in the MPLS special-purpose label includes the first indication information.

[0013] Optionally, in a possible implementation manner, the MPLS special-purpose label includes an entropy label or a flow-ID label.

[0014] Optionally, in a possible implementation manner, the reserved field includes one or more of a priority (Traffic Class, TC) field and a lifetime (Time to Live, TTL) field.

[0015] Optionally, in a possible implementation manner, the MPLS packet header includes an MPLS extension header, and the MPLS extension header carries the first indication information.

[0016] Optionally, in a possible implementation, the first network device sends the updated message to the second network device, including: the first network device determines the forwarding resources for sending the updated message based on the network slice; and the first network device uses the forwarding resources to send the updated message.

[0017] Optionally, in a possible implementation manner, the forwarding resources include one or more of processing resources, outbound interface resources, and queue resources of the first network device.

[0018] Optionally, in a possible implementation, the updated message sent by the first network device to the second network device is a first message, and the method further includes: the first network device also updates the message to obtain a second message, the second message includes the first indication information and third indication information, and the third indication information is used to indicate the forwarding path of the second message; the first network device sends the second message to the third network device. That is, in addition to sending messages to the second network device, the first network device can also send messages to other neighboring network devices to achieve multi-path forwarding of messages. This implementation can be used in application scenarios such as high-reliability forwarding or multicast forwarding. The first network device copies the payload and / or other necessary data information of the obtained message multiple times, such as at least copying to generate the first message and the second message, and adds network slice indication information and forwarding path indication information to the first message and the second message, respectively. The indication information of the network slices of the first message and the second message can be the same. At this time, the first message and the second message, which are multicast copy messages of the message obtained by the first network device, can share the same network slice resources, but the indication information of the forwarding paths of the first message and the second message can be different, so as to respectively indicate that the first message and the second message as copy messages are distributed along different forwarding paths, thereby achieving high reliability guarantee of multicast data distribution or network data distribution.

[0019] In other possible scenarios, the network slice indication information of the first message and the second message may also be different. The forwarding path indication information of the first message and the second message may also be the same.

[0020] Optionally, in a possible implementation manner, the first network device is a network device in an MPLS network or an SR-MPLS network.

[0021] The second aspect of the present application provides a message processing method, including: a first network device receives a message sent by a second network device, the message including a Multi-Protocol Label Switching (MPLS) message header, the MPLS message header including first indication information and second indication information; the first network device determines the network slice corresponding to the message based on the first indication information; the first network device forwards the updated message to a third network device using the network slice, the third network device being a device on the forwarding path of the message determined based on the second indication information. The first network device can be any intermediate node device or tail node device in the MPLS network. In this solution, the first network device can parse the first indication information in the MPLS message header, and the first indication information can be a unified identifier for identifying a network slice in the MPLS network. The first network device can determine the network slice required to forward the message based on the unified identifier. This solution adds different indications to the MPLS packet header to indicate the network slice and forwarding path corresponding to the packet. This allows each network device along the forwarding path to forward the packet normally based on the unified network slice indication information, eliminating the need for each network device along the forwarding path to assign different MPLS labels to the same network slice as slice identifiers. This effectively conserves MPLS label resources. Furthermore, when this packet processing method is applied to an SR-MPLS network, it can also effectively conserve SID resources.

[0022] Optionally, in a possible implementation, the first network device forwards the updated message to the third network device using the network slice, including: the first network device determines the forwarding resources allocated to the network slice according to the network slice corresponding to the message; and the first network device forwards the updated message to the third network device using the forwarding resources. In other possible scenarios, in addition to being associated with forwarding resources, network slices may also be associated with a certain network topology. In this case, the first network device forwards the updated message to the third network device using the network slice, including: the first network device determines the network topology and / or forwarding resources corresponding to the network slice according to the network slice corresponding to the message, and forwards the updated message to the third network device according to the network topology and / or forwarding resources.

[0023] Optionally, in a possible implementation manner, the forwarding resources include one or more of processing resources, outbound interface resources, and queue resources of the first network device.

[0024] Optionally, in a possible implementation, the updated message includes the first indication information, or the message includes updated first indication information, the updated first indication information is determined based on the first indication information, and the updated first indication information is used to indicate the network slice corresponding to the updated message.

[0025] Optionally, in a possible implementation manner, the updated message includes updated second indication information, and the updated second indication information is used to indicate a forwarding path of the updated message.

[0026] Optionally, in a possible implementation, before the first network device forwards the message according to the network slice corresponding to the message, the method further includes: the first network device decapsulates the message to obtain a decapsulated message, and the decapsulated message does not include MPLS message header information added by, for example, a head node (such as the first network device that can realize the role of the head node as described in the first aspect above), and the MPLS message header information includes indication information of the network slice and indication information of the forwarding path. In this scenario, as one possible scenario, before the head node adds MPLS header information to the message, the message initially obtained by the head node does not include an MPLS header. The head node can add a complete MPLS header including the MPLS header information, and the first network device can remove the complete MPLS header in its entirety through a decapsulation operation. As another possible scenario, before the head node adds MPLS header information to the message, the message initially obtained by the head node already includes an MPLS header. The head node adds corresponding MPLS header information to the existing MPLS header. The first network device can remove at least the remaining MPLS header information added by the head node from the MPLS header through a decapsulation operation, but retain the original MPLS header included when the head node initially obtained the message. The first network device can be the tail node of the MPLS network. When the first network device implements the tail node role, the MPLS packet header information stripped through the decapsulation operation may, for example, include the indication information of the network slice added by the head node, and the information in the indication information of the forwarding path added by the head node that is not popped up in the intermediate node (such as the tail node label).

[0027] Optionally, in a possible implementation, the MPLS packet header includes an MPLS label stack, the MPLS label stack includes a first label field and a second label field, the first label field is used to indicate that the second label field includes the second indication information, and the second label field includes the second indication information.

[0028] Optionally, in a possible implementation manner, the first tag includes an extension tag and an extended special function tag.

[0029] Optionally, in a possible implementation manner, the MPLS packet header includes an MPLS special-purpose label, and a reserved field in the MPLS special-purpose label includes the first indication information.

[0030] Optionally, in a possible implementation manner, the MPLS special label includes an entropy label or a flow label.

[0031] Optionally, in a possible implementation manner, the reserved field includes one or more of a priority field and a lifetime field.

[0032] Optionally, in a possible implementation manner, the MPLS packet header includes an MPLS extension header, and the MPLS extension header carries the first indication information.

[0033] Optionally, in a possible implementation manner, the first network device is a network device in an MPLS network or a segment routing-based multi-protocol label switching SR-MPLS network.

[0034] The third aspect of the present application provides a network device, which is a first network device, including: an acquisition unit, used to acquire a message; a processing unit, used to add first indication information and second indication information to the message to obtain an updated message, the first indication information and the second indication information are located in the multi-protocol label switching MPLS message header of the updated message, wherein the first indication information is used to indicate the network slice corresponding to the message, and the second indication information is used to indicate the forwarding path of the message; a transceiver unit, used to send the updated message to the second network device.

[0035] Optionally, in a possible implementation, the MPLS packet header includes an MPLS label stack, the MPLS label stack includes a first label field and a second label field, the first label field is used to indicate that the second label field includes the second indication information, and the second label field includes the second indication information.

[0036] Optionally, in a possible implementation manner, the first label field includes an extended label EL and an extended special function label ESPL.

[0037] Optionally, in a possible implementation manner, the MPLS packet header includes an MPLS special-purpose label, and a reserved field in the MPLS special-purpose label includes the first indication information.

[0038] Optionally, in a possible implementation, the MPLS special-purpose label includes an entropy label or a Flow-ID label.

[0039] Optionally, in a possible implementation, the reserved field includes one or more of a priority TC field and a lifetime TTL field.

[0040] Optionally, in a possible implementation, the MPLS packet header includes an MPLS extension header, and the MPLS extension header carries the first indication information.

[0041] Optionally, in a possible implementation, the processing unit is further configured to determine a forwarding resource for sending the updated packet according to the network slice; and the processing unit is specifically configured to send the updated packet by using the forwarding resource.

[0042] Optionally, in a possible implementation, the forwarding resource includes one or more of a processing resource, an out-interface resource, and a queue resource of the first network device.

[0043] Optionally, in a possible implementation, the processing unit is further configured to update the packet to obtain a second packet, the second packet including the first indication information and third indication information, the third indication information being used to indicate a forwarding path of the second packet; and the transceiver is further configured to send the second packet to a third network device.

[0044] Optionally, in a possible implementation, the first network device is a network device in an MPLS network or a Segment Routing-based Multiprotocol Label Switching (SR-MPLS) network.

[0045] The fourth aspect of the present application provides a network device, which is a first network device, and includes: a transceiver configured to receive a packet sent by a second network device, the packet including a Multiprotocol Label Switching (MPLS) packet header, the MPLS packet header including first indication information and second indication information; and a processing unit configured to determine a network slice corresponding to the packet according to the first indication information; and the transceiver is further configured to forward an updated packet to a third network device by using the network slice, the third network device being a device on a forwarding path of the packet determined according to the second indication information.

[0046] Optionally, in a possible implementation, the processing unit is further configured to determine a forwarding resource allocated to the network slice according to the network slice corresponding to the packet; and the transceiver is specifically configured to implement the forwarding of the updated packet to the third network device by using the forwarding resource.

[0047] Optionally, in a possible implementation manner, the forwarding resource includes one or more of a processing resource, an out-interface resource, and a queue resource of the first network device.

[0048] Optionally, in a possible implementation manner, the updated message includes the first indication information, or the message includes updated first indication information, the updated first indication information being determined according to the first indication information, and the updated first indication information being used to indicate the network slice corresponding to the updated message.

[0049] Optionally, in a possible implementation manner, the updated message includes updated second indication information, the updated second indication information being used to indicate a forwarding path of the updated message.

[0050] Optionally, in a possible implementation manner, the processing unit is further configured to perform decapsulation processing on the message to obtain a decapsulated message.

[0051] Optionally, in a possible implementation manner, the MPLS message header includes an MPLS label stack, the MPLS label stack including a first label field and a second label field, the first label field being used to indicate that the second label field includes the second indication information, and the second label field including the second indication information.

[0052] Optionally, in a possible implementation manner, the first label includes an extended label and an extended special-function label.

[0053] Optionally, in a possible implementation manner, the MPLS message header includes an MPLS special-purpose label, a reserved field in the MPLS special-purpose label including the first indication information.

[0054] Optionally, in a possible implementation manner, the MPLS special label includes an entropy label or a flow label.

[0055] Optionally, in a possible implementation manner, the reserved field includes one or more of a priority field and a lifetime field.

[0056] Optionally, in a possible implementation manner, the MPLS message header includes an MPLS extension header, the MPLS extension header carrying the first indication information.

[0057] Optionally, in a possible implementation manner, the first network device is a network device in an MPLS network or a Segment Routing-based Multiprotocol Label Switching (SR-MPLS) network.

[0058] The fifth aspect of the present application provides a network device, comprising: a processor configured to enable the network device to implement the method described in any possible implementation manner of the first aspect. The device can further comprise a memory coupled to the processor, and the processor can execute instructions stored in the memory to enable the network device to implement the method described in any possible implementation manner of the first aspect. The device can further comprise a communication interface configured to enable the device to communicate with other devices, and the communication interface can be a transceiver, a circuit, a bus, a module or other types of communication interfaces.

[0059] The sixth aspect of the present application provides a network device, comprising: a processor configured to enable the network device to implement the method described in any possible implementation manner of the second aspect. The device can further comprise a memory coupled to the processor, and the processor can execute instructions stored in the memory to enable the network device to implement the method described in any possible implementation manner of the second aspect. The device can further comprise a communication interface configured to enable the device to communicate with other devices, and the communication interface can be a transceiver, a circuit, a bus, a module or other types of communication interfaces.

[0060] The instructions in the memory in the present application can be pre-stored or downloaded from the Internet and stored when the network device is used. The source of the instructions in the memory is not specifically limited in the present application. The coupling between the devices, units or modules in the present application is indirect coupling or connection, which can be electrical, mechanical or other forms, and is used for information interaction between the devices, units or modules.

[0061] The seventh aspect of the present application provides a computer storage medium, which can be non-volatile. The computer storage medium stores computer readable instructions, and the computer readable instructions are executed by a processor to implement the method described in any possible implementation manner of the first aspect or the second aspect.

[0062] The eighth aspect of the present application provides a computer program product comprising instructions, which, when executed on a computer, cause the computer to perform the method described in any possible implementation manner of the first aspect or the second aspect.

[0063] The ninth aspect of the present application provides a network system, comprising the network device described in any implementation manner of the third aspect and the network device described in any implementation manner of the fourth aspect; or the network system comprises the network device described in any implementation manner of the fifth aspect and the network device described in any implementation manner of the sixth aspect.

[0064] Optionally, in a possible implementation, the number of network devices as described in any implementation of the fourth or sixth aspect included in the network system may be multiple.

[0065] The solutions provided in the third to ninth aspects are used to implement or cooperate with the methods provided in the first to second aspects, and therefore can achieve the same or corresponding beneficial effects as the first to second aspects, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0066] FIG1( a ) is a schematic diagram of a network structure provided in an embodiment of the present application;

[0067] Figure 1(b) is a schematic diagram of the structure of a network slice provided in an embodiment of the present application;

[0068] Figure 1(c) is a schematic diagram of the structure of another network slice provided in an embodiment of the present application;

[0069] Figure 1(d) is a schematic diagram of the structure of another network slice provided in an embodiment of the present application;

[0070] Figure 2 A flowchart of a message processing method 200 provided in an embodiment of the present application;

[0071] Figure 3 A schematic diagram of message forwarding provided in an embodiment of the present application;

[0072] Figure 4 A schematic diagram of the structure of an MPLS label provided in an embodiment of the present application;

[0073] Figure 5 A schematic diagram of the structure of another MPLS label provided in an embodiment of the present application;

[0074] Figure 6 A schematic diagram of the format of an MPLS message header provided in an embodiment of the present application;

[0075] Figure 7 A schematic diagram of the format of an extension header provided in an embodiment of the present application;

[0076] Figure 8 A flowchart of a message processing method 800 provided in an embodiment of the present application;

[0077] Figure 9 A schematic diagram of the structure of a network device 900 provided in an embodiment of the present application;

[0078] Figure 10 A schematic diagram of the structure of a network device 1000 provided in an embodiment of the present application;

[0079] Figure 11 A schematic diagram of the structure of a network system 1100 provided in an embodiment of the present application. DETAILED DESCRIPTION

[0080] In order to make the purpose, technical solutions and advantages of this application more clearly understood, the following describes the embodiments of this application in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of this application, rather than all the embodiments. It is known to those skilled in the art that with the emergence of new application scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0081] The terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or modules is not necessarily limited to those steps or modules clearly listed, but may include other steps or modules that are not clearly listed or that are inherent to these processes, methods, products or devices. The naming or numbering of steps in this application does not mean that the steps in the method flow must be executed in the time / logical sequence indicated by the naming or numbering. The process steps that have been named or numbered can be changed in the execution order according to the technical purpose to be achieved, as long as the same or similar technical effects can be achieved. The division of units in this application is a logical division. In actual application, there may be other division methods. For example, multiple units can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between each other shown or discussed can be through some interfaces, and the indirect coupling or communication connection between units can be electrical or other similar forms, which are not limited in this application. Moreover, the units or sub-units described as separate components may or may not be physically separated, may or may not be physical units, or may be distributed into multiple circuit units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this application.

[0082] In 5G networks, diverse service demands place varying demands on network speed, performance, security, reliability, and latency. For example, enhanced mobile broadband (eMBB) scenarios (such as virtual reality and augmented reality) require high bandwidth, demanding xGbps-level bandwidth. Massive machine type communication (mMTC) scenarios (such as wearables and smart grids) require support for massive device access, potentially hundreds of millions or even billions. Ultra-reliable and low latency communications (uRLLC) scenarios (such as autonomous driving, remote surgery, and industrial control) demand ultra-low latency of 1ms. To address diverse scenarios, requirements, and the need for an optimal user experience, network slicing has emerged, enabling the flexible construction of networks with diverse characteristics tailored to specific scenarios and needs.

[0083] Network slicing refers to the creation of logical networks tailored to specific business needs within physical or virtual network infrastructure. A network slice can be a complete end-to-end network encompassing the access network, transport network, core network, and application servers, providing comprehensive communications services and possessing specific network capabilities. A network slice can also be any combination of the access network, transport network, core network, and application servers.

[0084] A network slice can generally be considered an instantiated 5G network. This network structure allows operators to provide the network as a service to users and freely combine physical networks based on indicators such as speed, capacity, coverage, latency, reliability, security, and availability to meet the requirements of different users.

[0085] SR technology controls packet forwarding by adding an ordered list of instructions to the packet, called a segment list. Each label in the segment list identifies a link or node. The entire label stack, from the top to the bottom, identifies a forwarding path. Each label in the stack is called a segment identifier (SID). During packet forwarding, the corresponding link is searched based on the top label in the label stack and the packet is forwarded. After all labels in the label stack are popped off, the packet reaches its destination.

[0086] SR can use MPLS as the data plane technology (called SR-MPLS). In this case, the SR SID is encapsulated and carried in an MPLS label stack on the data plane. The two basic SID types in SR-MPLS are prefix SIDs (prefix-SIDs) and adjacency SIDs (adj-SIDs), which are used to identify nodes and links in the SR network, respectively. The SID list generated by combining these two SIDs implements SR source routing.

[0087] Currently, network slicing based on SR-MPLS uses different SR SIDs to identify the network slices to which nodes and links belong. Specifically, each node needs to be assigned a different prefix-SID for each network slice, which serves as the node's identifier within that network slice. Furthermore, each node needs to be assigned a different adj-SID for each connected link to identify the resources allocated to different network slices on the same link.

[0088] For example, please refer to Figure 1(a), which is a schematic diagram of the structure of a network provided in an embodiment of the present application. As shown in Figure 1(a), the network architecture is an SR-MPLS network architecture, which includes multiple network devices, namely network devices 1 to 9.

[0089] Please refer to Figure 1(b), which is a schematic diagram of the structure of a network slice provided in an embodiment of the present application. As shown in Figure 1(b), network devices 1 to 5 and network devices 7 to 9 in the SR-MPLS network architecture together constitute network slice 1. Therefore, each network device in network slice 1 is assigned a prefix-SID (for example, 101 to 105 and 107 to 109) as its identifier in network slice 1; and each network device also needs to allocate a corresponding adj-SID for a connected link to identify the resources allocated to network slice 1 on the link.

[0090] Please refer to Figure 1(c), which is a schematic diagram of the structure of another network slice provided in an embodiment of the present application. As shown in Figure 1(c), network devices 2 to 4 and network devices 6 to 9 in the SR-MPLS network architecture together constitute network slice 2. Similarly, each network device in network slice 2 is assigned a prefix-SID (for example, 202 to 204 and 206 to 209) as its identifier in network slice 2; and each network device also needs to allocate a corresponding adj-SID for a connected link to identify the resources allocated to network slice 2 on the link.

[0091] As shown in FIG. 1(b) and FIG. 1(c), the network slice 1 and the network slice 2 correspond to different network topologies respectively, that is, the network topologies corresponding to different network slices can be different. In some cases, different network slices can also correspond to the same network topology, that is, multiple network slices can correspond to one network topology. Please refer to FIG. 1(d), which is another structure diagram of network slice provided by an embodiment of the present application. As shown in FIG. 1(d), the network devices 2 to 4 and the network devices 6 to 9 in the SR-MPLS network architecture jointly constitute the network slice 3. That is, the network topology corresponding to the network slice 3 is the same as the network topology corresponding to the network slice 2 in FIG. 1(c). Similarly, each network device in the network slice 3 also needs to be allocated a prefix-SID (for example, 302 to 304 and 306 to 309) as its identifier in the network slice 3; and each network device also needs to allocate a corresponding adj-SID for a connected link, which is used to identify the resources allocated for the network slice 3 on the link.

[0092] Based on the above description, it can be known that in the network, different network slices can be constituted by dividing different network topologies, and the same network topology can also correspond to multiple different network slices. Therefore, based on actual needs, a large number of network slices can be formed in the network. In addition, each network device needs to allocate different prefix-SIDs for different network slices, and different adj-SIDs for a connected link, that is, the number of prefix-SIDs and adj-SIDs to be allocated has a positive correlation with the number of network slices. That is, in the case of a large number of network slices, using the current SR-MPLS data plane encapsulation technology to implement network slices requires a large number of prefix-SIDs and adj-SIDs to be allocated to identify nodes and links in different network slices, which causes serious consumption of SID resources and increases the complexity of SID planning and management. Moreover, since the number of SIDs that can be allocated on each network device is limited, in the case of a large number of network slices, a large number of SID resources on the network device will be consumed, thereby affecting the normal allocation of SID resources.

[0093] In addition, since the SID is carried in the MPLS label, a single MPLS label can be used to identify a network slice and a forwarding path. In the case of the same network slice and different links, and the different network slices and the same links, different MPLS labels are needed to identify. Therefore, when the number and scale of network slices are large, a large number of MPLS labels need to be allocated, which causes serious consumption of MPLS label resources.

[0094] In view of this, an embodiment of the present application provides a method for processing a message, which encapsulates an MPLS message header for the message on the MPLS data plane, and indicates the network slice and forwarding path corresponding to the message through different indication information in the MPLS message header, so that the network device can realize normal forwarding of the message according to the network slice, and no longer needs to simultaneously identify the network slice and forwarding path based on the MPLS label, which can effectively save MPLS label resources. Furthermore, when the message processing method is applied to the SR-MPLS network, it can also effectively save SID resources.

[0095] See Figure 2 , Figure 2 The flowchart of a message processing method 200 provided in an embodiment of the present application is shown. The message processing method 200 can be applied to the network structure shown in FIG1(a).

[0096] like Figure 2 As shown, the message processing method 200 includes at least the following steps.

[0097] Step 201: A first network device obtains a message.

[0098] In this embodiment, the first network device may be a network device in an MPLS network or an SR-MPLS network. The first network device may obtain the message by receiving a message sent by another network device, such as receiving a data message sent by a network device outside the MPLS network, or by generating the message itself, or by receiving the message from a user device on the access side.

[0099] In step 202, the first network device adds first indication information and second indication information to the message to obtain an updated message, wherein the first indication information and the second indication information are located in the MPLS message header of the updated message. The first indication information is used to indicate the network slice corresponding to the message, and the second indication information is used to indicate the forwarding path of the message.

[0100] In this embodiment, after obtaining a message, the first network device updates the message so that the MPLS message header in the updated message includes the first indication information and the second indication information. The message obtained by the first network device may include an MPLS message header, and the first network device adds the first indication information and the second indication information to the MPLS message header to obtain an updated message. The message obtained by the first network device may also not include an MPLS header, and the first network device adds the MPLS message header including the first indication information and the second indication information to the message to obtain an updated message. The first network device that performs the operation of adding the first indication information and the second indication information may be a head node in an MPLS network, and the head node may be, for example, a tunnel end node or a network boundary node.

[0101] Before the first network device adds the first indication information and the second indication information to the message, the first network device can determine the network slice corresponding to the message and the forwarding path of the message to determine the first indication information and the second indication information.

[0102] In a possible embodiment, the first network device can determine the network slice corresponding to the message based on the information carried in the message, or the first network device can determine the network slice corresponding to the message based on the resource information used to receive the message.

[0103] Exemplarily, a policy for determining network slices may be pre-configured in the first network device. Under the instruction of the policy, the first network device may determine the network slice corresponding to the message according to the source address, destination address or protocol number in the message, that is, the network slice used to forward the message. The source address may be, for example, the source Internet Protocol (IP) address or the source Media Access Control (MAC) address of the message, such as the address of the user host or base station. The destination address may be, for example, the destination IP address or the destination MAC address of the message. The first network device may also determine the network slice corresponding to the message based on other fields in the message, such as the Differentiated Services Code Point (DSCP) field or the Traffic Class field in the Internet Protocol Version 6 (IPv4) or IPv6 message header, the Virtual Local Area Network identifier (VLAN ID) in the Ethernet header, etc. The first network device can specifically determine the network slice to which the message belongs based on one of the above fields (such as source address, destination address, protocol number, DSCP field or TC field, etc.), or a combination of several fields.

[0104] The first network device can establish a correspondence between the source address of the device sending the service message and the network slice according to the service requirements of the user side. In this way, after receiving the service message sent by the user side, the first network device can determine the corresponding network slice according to the source address in the service message.

[0105] Similarly, the first network device can also pre-establish a correspondence between the destination address and the network slice. After receiving the service message, the first network device can determine the corresponding network slice based on the destination address in the service message.

[0106] In addition, the protocol number in the message can indicate the data protocol used by the data carried by the message. In the case where a correspondence between the data protocol and the network slice is pre-established, the first network device can also determine the network slice corresponding to the message based on the protocol number in the message.

[0107] Exemplarily, the first network device may also determine the network slice corresponding to the message based on resource information used to receive the message, such as the physical interface information or logical interface information used by the first network device to receive the message. For example, if the network slice corresponding to the inbound interface of the first network device is configured, when other network devices forward a message to the first network device, they may forward the message to the inbound interface corresponding to the first network device based on the network slice to which the message belongs. Therefore, the first network device can determine the network slice corresponding to the message based on the inbound interface information of the received message.

[0108] After determining the network slice corresponding to the message, the first network device may generate first indication information. The first indication information may include an identifier of the network slice to indicate the network slice corresponding to the message. The network device that receives the message may determine the network slice corresponding to the message based on the identifier of the network slice in the first indication information.

[0109] In a possible embodiment, the first network device may determine a forwarding path of the message in the MPLS network according to a destination address of the message, and generate the second indication information according to the forwarding path of the message in the MPLS network.

[0110] The second indication information can indicate the forwarding path of the message in multiple ways.

[0111] Mode 1: The second indication information may indicate a complete forwarding path of the message in the MPLS network.

[0112] For example, the second indication information may include information about all nodes that the message needs to pass through during forwarding. Taking the network in Figure 1(a) as an example, after receiving the message, network device 1 can determine that the forwarding path of the message in the MPLS network is "network device 1--network device 2--network device 3--network device 4--network device 5". When the method provided in the embodiment of the present application is applied to a traditional MPLS network, an MPLS label switching path can be pre-established through control signaling; the indication information generated by network device 1 can only carry an MPLS label identifying the path, and during the forwarding process of the message, the node devices along the way exchange MPLS labels hop by hop (for example, replacing MPLS label A with MPLS label B). For the node devices along the message, the MPLS label A in the message received by the node device is a label assigned by the node for the path to the destination node. According to the MPLS label A, the corresponding MPLS label B and the outbound interface of the message can be obtained by looking up the local table. MPLS label B is a label assigned by the next hop node for the path to the same destination node.

[0113] When the method provided in the embodiment of the present application is applied to an SR-MPLS network, the indication information generated by network device 1 may include information about network devices 2, 3, 4, and 5 to indicate the complete forwarding path of the packet in the MPLS network. For example, in an MPLS network, network device 1 may carry the identifiers of network devices 2 through 5 using multiple MPLS labels; in an SR-MPLS network, network device 1 may carry a segment list using an MPLS label stack, where the segment list includes multiple SIDs that indicate network devices 2 through 5, respectively.

[0114] Mode 2: The second indication information may indicate a portion of the forwarding path of the message in the MPLS network.

[0115] Exemplarily, the second indication information may include information about some of the nodes that the message needs to traverse during forwarding. Taking the network in Figure 1(a) as an example, when network device 1 determines that the message's forwarding path in the MPLS network is "network device 1 -- network device 2 -- ... -- network device 5," the indication information generated by network device 1 may only carry information about network devices 2 and 5, indicating the network devices the message needs to traverse in the MPLS network (i.e., the message needs to traverse the specified network devices 2 and 5).

[0116] Mode 3: The second indication information may only indicate the egress node that the message passes through in the MPLS network.

[0117] For example, the second indication information may only include information about the tail node that the message needs to pass through during forwarding. In this way, during the forwarding process of the message, each network device that receives the message can forward the message based on the default forwarding policy (e.g., the shortest path forwarding policy) according to the tail node indicated in the second indication information. In other words, the second indication information can indicate the forwarding path of the message by indicating the tail node that the message needs to pass through. The forwarding path of the message is the default path when the head node and tail node are specified. Taking the network in Figure 1(a) as an example, after network device 1 receives the message, network device 1 determines to use the default path to forward the message. Therefore, the indication information generated by network device 1 can only carry information about network device 5 to indicate the tail node that the message needs to pass through in the MPLS network. In this way, during the forwarding process of the message, each network device that receives the message forwards the message to the next network device on the default path according to the default forwarding policy, ultimately enabling the message to be forwarded based on the default path.

[0118] Mode 4: The second indication information may indicate indication information of the first part of the path and the second part of the path information in the complete path.

[0119] For example, when the forwarding path of a message is long, the second indication information generated by the first network device may only indicate the first portion of the message's complete path. The second indication information may also instruct other nodes on the message's forwarding path to update the latter portion of the message's path. Again, taking the network in Figure 1(a) as an example, after network device 1 receives a message, the network device may determine that the message's forwarding path is "network device 1 -- network device 2 -- network device 3 -- network device 4 -- network device 5." The indication information generated by network device 1 may carry information about network devices 2 and 3 to indicate the first portion of the message's forwarding path in the MPLS network. Furthermore, the indication information may also carry information for instructing network device 3 to update path information. For example, the indication information may carry a binding segment identifier (binding-sid), which indicates the message's subsequent path information. Based on the binding-sid, network device 3 may update its subsequent path information in the message. The binding-sid can indicate a tunnel label stack within a domain, which can carry the packet's subsequent path information. In other words, the indication information generated by network device 1 can carry the identification information of network devices 2 and 3 via multiple MPLS labels. This indication information can also carry a binding-sid to instruct network device 3 to update the subsequent forwarding path. Using the binding-sid to indicate subsequent path information can reduce the number of label stack layers encapsulated by network devices.

[0120] Step 203: The first network device sends an updated message to the second network device.

[0121] After adding the first indication information and the second indication information to the message, the first network device may send an updated message to the next network device on the forwarding path. The second network device may be a network device in the forwarding path determined by the first network device, and the second network device may be a neighboring network device of the first network device.

[0122] In one possible embodiment, the first network device may determine forwarding resources for sending updated messages based on the network slice; the first network device uses the forwarding resources to send the updated messages. The forwarding resources may include one or more of the processing resources, outbound interface resources, and queue resources of the first network device. Among them, the processing resources may refer to the resources used by the first network device to search for forwarding table entries for forwarding messages. The more processing resources, the more efficient the first network device is in searching for forwarding table entries. Therefore, for network slices with low latency requirements, more processing resources can be configured. The outbound interface resources may refer to the outbound interface used by the first network device to forward messages, and the queue resources may refer to the forwarding queue that the message can enter when the first network device forwards the message.

[0123] It is understandable that, because different network slices correspond to different service requirements, different forwarding resources can be configured for different network slices in the network device to meet the needs of the network slice. In other words, the correspondence between network slices and forwarding resources can be pre-configured in the network device, so that the network device can determine the forwarding resource used to forward the message based on the network slice corresponding to the message.

[0124] In one possible embodiment, in addition to sending messages to the second network device, the first network device may also send messages to other neighboring network devices. For example, in scenarios such as high reliability or multicast distribution, the first network device may replicate the payload and / or other necessary data information in the obtained message multiple times, and add corresponding network slice indication information and forwarding path indication information to each of the multiple replicated messages, so that the multiple messages are forwarded along their respective forwarding paths and using corresponding network slice resources.

[0125] Exemplarily, the updated message sent by the first network device to the second network device may be the first message. The first network device may also update the message to obtain the second message, and the second message may include third indication information, and the third indication information is used to indicate the forwarding path of the second message. The second message may also include the same first indication information as the first message, so that the second message and the first message can use the same network slice resources. The first network device sends the second message to the third network device. That is, the first network device can determine multiple paths for forwarding messages, and can generate multiple messages based on the information of the network devices on each corresponding path. Different messages carry different path indication information to indicate the forwarding of messages on different paths.

[0126] See Figure 3 , Figure 3 A schematic diagram of message forwarding provided in an embodiment of the present application. Figure 3As shown, after receiving message 1, network device 1 can determine the network slice corresponding to message 1 (for example, network slice 1) and the two paths for forwarding message 1. The two paths can be path 1 "network device 1--network device 2--network device 3--network device 4--network device 5" and path 2 "network device 1--network device 7--network device 8--network device 9--network device 5". Network device 1 can generate message 2 according to path 1 and send message 2 to network device 2. Message 2 includes the identifier of network slice 1 and information indicating path 1 (for example, the identifiers of network device 2 to network device 5). Network device 1 can generate message 3 according to path 2 and send message 3 to network device 7. Message 3 includes the identifier of network slice 1 and information indicating path 2 (for example, the identifiers of network device 7 to network device 9 and network device 5). In this way, network device 1 can generate message 2 and message 3 by copying message 1, and then instruct message 2 and message 3 to use the resources of the same network slice 1 to forward along path 1 and path 2 respectively by adding the same network slice information and different path information respectively.

[0127] The above example takes the first message and the second message carrying the indication information of the same network slice as an example. For example, message 2 and message 3 carry the same identifier of network slice 1, that is, network device 1 instructs the network devices receiving message 2 and message 3 on path 2 and path 3 respectively to use the same network slice 1 for message forwarding; and, network device 1 can also use the same network slice resources to forward message 2 and message 3. For example, when the forwarding resources corresponding to the network slice are the processing resources allocated on network device 1 to achieve message forwarding, the processing resources used by network device 1 to forward message 2 to network device 2 and the processing resources used to forward message 3 to network device 7 can be the same.

[0128] In other possible scenarios, when the first network device determines multiple forwarding paths and forwards messages to multiple neighboring network devices, the network slice indication information carried by the first network device when forwarding messages to different neighboring network devices may also be different, and the network slice resources used by the first network device may also be different. For example, when the forwarding resources corresponding to the network slice are interface resources, the interface resources used in the first network device to forward the first message to the second network device may be different from the interface resources used to forward the second message to the third network device.

[0129] The above describes the process of the network device forwarding a message by adding the first indication information in the message. For ease of understanding, the following will describe in detail how to carry the first indication information in the MPLS message header with reference to specific examples.

[0130] In this embodiment, the first indication information corresponding to the message may be carried in the MPLS message header through an MPLS label stack or an MPLS extension header.

[0131] There are many ways to carry the identifier of the network slice corresponding to the message through the MPLS label stack.

[0132] In one possible embodiment, an MPLS packet header may include an MPLS label stack, where the MPLS label stack includes first label information and second label information. The first label information is used to indicate that the second label information carries identification information corresponding to the network slice, and the second label information carries the first identification information. Both the first label information and the second label information are located in the MPLS label stack. Furthermore, in the MPLS label stack, the first label information may be located above the second label information. In this way, after reading the first label information, the network device can determine that the second label information located after the first label information is used to carry the identification information corresponding to the network slice.

[0133] In one example, the first label information includes an extension label (EL) and an extended special purpose label (ESPL). The extension label may be located above the extended special purpose label, and the value of the extension label may be a value defined in the relevant standard, such as 15, to indicate that the label after the extension label is an extended special function label. The value of the extended special function label may be a predefined value to indicate that the label after the extended special function label carries identification information corresponding to the network slice. The label after the extended special function label may also be called a network slice label.

[0134] That is, the MPLS label stack may include an extension label, an extended special function label, and a network slice label. The extended special function label is located after the extension label, and the network slice label is located after the extended special function label. It is understood that the extension label, the extended special function label, and the network slice label are three adjacent labels, and these three adjacent labels can be located at any position in the entire MPLS label stack.

[0135] For example, see Figure 4 , Figure 4 This is a schematic diagram of the structure of an MPLS label provided in an embodiment of the present application. Figure 4As shown, the next layer of the extended label is the extended special function label, and the next layer of the extended special function label is the network slice label. In addition to the label value field, each label may also include a priority (Traffic Class, TC) field, a stack bottom field, and a lifetime (Time to Live, TTL) field. Among them, the TC field is used to indicate the message priority from 0 to 7. The stack bottom field indicates the position of the label in the label stack. When the value of the stack bottom field S is 0, the label is not the bottom label. When the value of the stack bottom field S is 1, the label is the bottom label. The TTL field is used to indicate the lifetime of the label.

[0136] When a network device reads the label stack, it can first read the upper-layer extended tag and, based on the extended tag's value of 15, determine that the label below it is an extended special function tag. When the network device reads the extended special function tag, it can, based on the extended special function tag's value being a predefined value, determine that the label below it is a network slice tag. Finally, the network device obtains the identifier corresponding to the network slice by reading the network slice tag, thereby determining the network slice corresponding to the packet.

[0137] In another possible embodiment, the MPLS packet header includes an MPLS special-purpose label, and the reserved field in the MPLS special-purpose label includes the first indication information. The MPLS special-purpose label can be a label pre-defined in the relevant standard, such as an entropy label (EL), a router alert label, or a flow-ID label. The MPLS special-purpose label has a reserved field, i.e., a field that is reserved in advance and has no actual use, which can be used to carry the first indication information. The reserved field can include one or more of a label value field (i.e., a field used to indicate the specific value of the label), a TC field, and a TTL field.

[0138] Taking the MPLS special purpose label as an example, you can refer to Figure 5 , Figure 5 This is a schematic diagram of another MPLS label structure provided in an embodiment of the present application. Figure 5 As shown, the MPLS packet header includes an entropy label indicator (ELI) and an entropy label. The entropy label indicator is the label preceding the entropy label, and its label value can be 7. It is used to indicate the position of the entropy label. That is, when a network device reads the entropy label indicator, it can determine that the next label after the entropy label indicator is the entropy label.

[0139] In the entropy label, the format of the label value field of the entropy label can be modified to carry the identifier of the network slice. For example, for a 20-bit label value field, 12 bits in the label value field can be used to represent the identifier of the network slice, which can support the representation of 4,000 network slices; the remaining 8 bits of the label value field are used for load sharing, that is, the network device performs a hash calculation based on the value represented by the 8 bits in the label value field, and the result can be used to select one of multiple equal-cost paths for forwarding. Since the hash results of different messages are different, the network device will select different paths to forward messages, thereby realizing the shared forwarding of traffic between multiple paths. In addition, the 3-bit TC field and the 8-bit TTL field in the entropy label can also be directly used to represent the identifier of the network slice.

[0140] In the case of modifying the format of the tag value field of the entropy tag to carry the identifier of the network slice, a field can also be used as an identifier in the entropy tag indication tag to indicate that the entropy tag carries the identifier of the network slice. Exemplarily, it can be identified by a special value or a bit of the TC field in the entropy tag indication tag. In this way, the network device can determine that the tag value field of the entropy tag has been modified to represent the identifier of the network slice based on a special value or a bit of the TC field in the entropy tag indication tag.

[0141] In another possible embodiment, the MPLS message header includes an MPLS extension header, and the MPLS extension header carries the first indication information. The MPLS message header may include one or more MPLS extension headers, and the MPLS extension header is located below the MPLS label stack and above the upper layer protocol header or message payload. The MPLS extension header carrying the first indication information may be a newly defined MPLS extension header specifically used to carry the first indication information. The MPLS extension header carrying the first indication information may also be an MPLS extension header defined in a relevant standard, and the first indication information is carried by defining a new type length value (TLV) in the defined MPLS extension header.

[0142] See Figure 6 , Figure 6 A schematic diagram of the format of an MPLS message header provided in an embodiment of the present application. Figure 6As shown, the MPLS packet header includes a label stack, an extension header, and a payload. The label stack includes a plurality of MPLS labels, including an extension header label indicating that the MPLS packet header includes an MPLS extension header. Between the label stack and the payload, there are extension header headers and a plurality of extension headers (extension header 1 to extension header N). The extension header carrying the first indication information can be one of the extension header 1 to extension header N, such as an extension header defined in the relevant standard or a newly defined extension header. In the defined MPLS extension header, the first indication information can be carried by carrying a new TLV.

[0143] Reference can be made to Figure 7 , Figure 7 A format diagram of an extension header provided by an embodiment of the present application is shown. As shown in Figure 7 , in an extension header, a header length, header specific data, and a TLV field can be included, and the TLV field can indicate the identity of the network slice to carry the first indication information.

[0144] The above takes the first network device as an example of a head node to introduce in detail the process of forwarding a packet by the head node, and the process of forwarding a packet by an intermediate node and a tail node will be introduced in detail below.

[0145] Reference can be made to Figure 8 , Figure 8 A flow diagram of a packet processing method 800 provided by an embodiment of the present application is shown.

[0146] As shown in Figure 8 , the packet processing method 800 includes the following steps.

[0147] Step 801, the first network device receives a packet sent by a second network device, the packet including an MPLS packet header, the MPLS packet header including first indication information and second indication information.

[0148] The first network device can be an intermediate node or a tail node in an MPLS network or an SR-MPLS network, and the second network device can be a head node or an intermediate node in the MPLS network or the SR-MPLS network. The packet received by the first network device includes the first indication information and the second indication information, the first indication information indicating a network slice corresponding to the packet, and the second indication information indicating a forwarding path corresponding to the packet.

[0149] In a possible case, the second indication information carried in the packet received by the first network device can be complete path indication information initially added in the packet by the second network device, which can be a head node for example. For example, if the first network device is the next network device on the forwarding path determined by the second network device for the packet 2, i.e., the first intermediate node on the path 1, the second indication information for indicating the forwarding path received by the network device 2 can be complete information for indicating the path 1 added by the network device 1, which can be information for indicating a hop-by-hop forwarding path in an MPLS network as described above, information for indicating forwarding by a part of specified nodes on the path, information for indicating a tail node, or the like. Figure 3 For example, if the network device 1 is a head node, the network device 2 is the next network device on the forwarding path 1 determined by the network device 1 for the packet 2, i.e., the first intermediate node on the path 1, and the network device 3 is the next network device on the path 1 after the network device 2, i.e., the second intermediate node on the path 1. The second indication information for indicating the forwarding path received by the network device 2 can be complete information for indicating the path 1 added by the network device 1, which can be information for indicating a hop-by-hop forwarding path in an SR-MPLS network, e.g., the complete information includes an identifier 2 for indicating the network device 2, an identifier 3 for indicating the network device 3, and an identifier 4 for indicating the network device 4. The second indication information for indicating the forwarding path received by the network device 3 can be partial information for indicating the path 1, which can be information for indicating a hop-by-hop forwarding path from the network device 3 to the network device 4 in an SR-MPLS network. For example, in a case where the network device 2 strips the identifier for indicating the network device 2 in the packet and sends the packet to the network device 3, the second indication information in the packet received by the network device 3 can be the partial information including the identifier 3 for indicating the network device 3 and the identifier 4 for indicating the network device 4, i.e., the partial information for indicating the path 1.

[0150] In another possible case, the second network device is an intermediate node, and the first network device is the next network device on the forwarding path after the second network device. The second indication information carried in the packet received by the first network device can be partial path indication information, i.e., partial path information from the first network device to the destination device. For example, Figure 3 For example, if the network device 1 is a head node, the network device 2 is the next network device on the forwarding path 1 determined by the network device 1 for the packet 2, i.e., the first intermediate node on the path 1, and the network device 3 is the next network device on the path 1 after the network device 2, i.e., the second intermediate node on the path 1. The second indication information for indicating the forwarding path received by the network device 2 can be complete information for indicating the path 1 added by the network device 1, which can be information for indicating a hop-by-hop forwarding path in an SR-MPLS network, e.g., the complete information includes an identifier 2 for indicating the network device 2, an identifier 3 for indicating the network device 3, and an identifier 4 for indicating the network device 4. The second indication information for indicating the forwarding path received by the network device 3 can be partial information for indicating the path 1, which can be information for indicating a hop-by-hop forwarding path from the network device 3 to the network device 4 in an SR-MPLS network. For example, in a case where the network device 2 strips the identifier for indicating the network device 2 in the packet and sends the packet to the network device 3, the second indication information in the packet received by the network device 3 can be the partial information including the identifier 3 for indicating the network device 3 and the identifier 4 for indicating the network device 4, i.e., the partial information for indicating the path 1.

[0151] In another possible scenario, although the first network device is not the first intermediate node, it can also receive the complete path information added by the head node. For example, the head node adds indication information that only indicates the tail node. In this case, although the first network device receives a message including the second indication information from the previous intermediate node, other intermediate nodes including the previous intermediate node will not update the second indication information added by the head node. Therefore, in this case, the second indication information included in the message received by the first network device is still the complete path information added by the head node.

[0152] In other possible scenarios, the first network device may also be an egress node. The second indication information received by the egress node may include its own identifier. The egress node may be the end node of a tunnel segment, the end node of several concatenated tunnel segments, or a domain boundary node of a network domain or administrative domain.

[0153] Step 802: The first network device determines the network slice corresponding to the message based on the first indication information.

[0154] The first indication information may include a network slice identifier to indicate the network slice to which the message corresponds. After receiving the message, the first network device may determine the network slice to which the message corresponds based on the network slice identifier in the first indication information. The manner in which the first indication information is carried in the message can be found in the description of the above embodiment and will not be repeated here.

[0155] Step 803: The first network device uses the network slice to forward the updated message to the third network device, and the third network device is a device on the forwarding path of the message determined according to the second indication information.

[0156] In this embodiment, the first network device can determine that the third network device is the next network device on the forwarding path based on the message forwarding path indicated by the second indication information. Therefore, the first network device can determine the forwarding resources corresponding to the message based on the network slice, that is, the forwarding resources allocated by the first network device to the network slice corresponding to the message, and use the forwarding resources corresponding to the network slice to forward the updated message to the third network device. The forwarding resources may include one or more of the processing resources, outbound interface resources, and queue resources of the first network device. The process of the first network device determining the forwarding resources corresponding to the network slice and forwarding the message using the forwarding resources is the same as the above process. Figure 2 The embodiments are similar to those of , and the details can be referred to the above embodiments, which will not be repeated here. In other possible situations, the first network device can also determine other information related to the message forwarding based on the network slice, such as network topology information, and thus forward the message based on the determined other information.

[0157] The second indication information can include a tunnel label used to identify a node or a link on the forwarding path, or can include a service label used to identify a service, such as a Virtual Private Network (VPN) label. When the first network device is a tail node, the tail node can determine the third network device according to the second indication information, that is, determine an out interface and a next-hop network device (i.e., the third network device) used to forward a service packet according to the VPN label.

[0158] In one possible embodiment, the first network device updates the received packet to obtain an updated packet. The updated packet includes the first indication information, or the updated packet includes updated first indication information. The updated first indication information is determined according to the first indication information, and the updated first indication information is used to indicate a network slice corresponding to the updated packet.

[0159] In the case where a packet is forwarded through multiple network domains, for example, through multiple MPLS networks, network devices in the multiple network domains can form a complete network slice, and the amount or type of resources allocated to multiple network slices in the multiple network domains can be the same or different. However, in different network domains, the network slice identifier used can be different, even if the resources configured for the network slice in different network domains are the same. Therefore, when the first network device is a border device connecting another network domain in a certain network domain, the first network device can update the first indication information in the received packet to obtain updated first indication information, which is used to indicate the corresponding network slice identifier in the next network domain.

[0160] For example, network devices in network domain 1 and network domain 2 form a complete network slice 1, and the network slice identifier of the network slice 1 in network domain 1 is “001”, and the network slice identifier of the network slice 1 in network domain 2 is “002”. The first network device is a border device connecting network domain 2 in network domain 1. The first network device receives a packet 1 forwarded by a network device in network domain 1, and the packet 1 carries the network slice identifier “001”. Before the first network device forwards the packet 1 to a network device in network domain 2, the first network device can update the packet 1 to obtain an updated packet 1. The updated packet 1 includes an updated network slice identifier, which is “002”.

[0161] In one possible embodiment, the updated message includes updated second indication information, and the updated second indication information is used to indicate the forwarding path of the updated message. When the message sent by the second network device includes the second indication information, and the second indication information indicates the indication information of the first part of the path and the second part of the path information in the complete path, the first network device can update the second indication information according to the indication information of the second part of the path information indicated in the second indication information to obtain updated second indication information, and the updated second indication information is used to indicate the forwarding path of the updated message. In this way, when the first network device forwards the updated message, the updated second indication information is included in the updated message to indicate the subsequent forwarding path of the updated message.

[0162] In one possible embodiment, the first network device may also be the tail node in an MPLS network or an SR-MPLS network. When the first network device is the tail node, before forwarding the message according to the network slice corresponding to the message, the first network device may decapsulate the message to obtain a decapsulated message, and the decapsulated message does not include the MPLS message header added by the head node. That is to say, when the first network device is the tail node in an MPLS network or an SR-MPLS network, the first network device needs to forward the message outside the MPLS network or the SR-MPLS network, so the first network device may decapsulate the message to remove the MPLS message header in the message to avoid network devices outside the MPLS network or the SR-MPLS network from being unable to recognize the message.

[0163] In some cases, a message may already carry an MPLS label stack before entering the MPLS network. At this time, the head node of the MPLS network adds a new MPLS label stack to the original MPLS label stack to indicate the network slice and forwarding path corresponding to the message. In this case, when the tail node decapsulates the message, it only decapsulates the MPLS label stack added by the head node, while retaining the original MPLS label stack in the message. Therefore, the decapsulated message obtained after the tail node decapsulates the message still includes the MPLS label stack carried by the message before entering the MPLS network. At this time, the message that the tail node decapsulates and forwards still includes the MPLS message header carrying the original MPLS label stack.

[0164] In another embodiment, if the first network device plays the role of an egress node, the first network device may not perform steps 802 and 803. Instead, after performing step 801, the first network device may strip the MPLS message header information added by the head node, and then search and determine the device receiving the message based on other information carried in the message, such as the destination IP address, and forward the message to the device. The device receiving the message may be, for example, a device on the user access side.

[0165] Although the above embodiments take the first network device as a network device in an MPLS network or an SR-MPLS network as an example to illustrate the scenario in which the message processing method provided in the embodiments of the present application is applied, it is understandable that the message processing method provided in the embodiments of the present application can also be applied to network scenarios where it is necessary to indicate the network slice corresponding to the message, and the network scenarios in which the embodiments of the present application are applied are not limited here.

[0166] In order to implement the above embodiment, the present application also provides a network device. Figure 9 , Figure 9 A schematic diagram of the structure of a network device 900 provided in an embodiment of the present application.

[0167] Figure 9 Although the network device 900 shown shows certain specific features, those skilled in the art will appreciate from the embodiments of the present application that for the sake of brevity, Figure 9 Various other features are not shown to avoid obscuring more relevant aspects of the embodiments disclosed in the embodiments of this application. To this end, as an example, in some implementations, the network device 900 includes one or more processing units (CPUs) 901, a network interface 902, a programming interface 903, a memory 904, and one or more communication buses 905 for interconnecting the various components. In other implementations, the network device 900 may also omit or add some functional components or units based on the above examples.

[0168] In some implementations, the network interface 902 is used for connecting with one or more other network devices / servers in a network system, among other uses. In some implementations, the communication bus 905 includes circuitry that interconnects and controls communications between system components. The memory 904 can include non-volatile memory, such as read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically EPROM (EEPROM), or flash memory. The memory 904 can also include volatile memory, which can be random access memory (RAM), used as external cache.

[0169] In some implementations, the memory 904 or the non-transitory computer-readable storage medium of the memory 904 stores the following programs, modules, and data structures, or a subset thereof, such as a transceiver (not shown in the figure), an obtaining unit 9041, and a processing unit 9042.

[0170] In one possible embodiment, the network device 900 can have any function of the first network device in the method 200 or the first network device in the method 800 described above. The transceiver in the network device 900 is configured to perform the step 203, the step 801, or the step 803 described above; the obtaining unit 9041 is configured to perform the step 201 described above; and the processing unit 9042 is configured to perform the step 202 or the step 802 described above.

[0171] It should be understood that the network device 900 corresponds to the first network device in the method embodiments described above, and each module in the network device 900 and other operations and / or functions described above are respectively used to implement various steps and methods performed by the first network device in the method embodiments described above. For specific details, refer to the method 200 or the method 800 described above, which will not be described herein for brevity.

[0172] It should be understood that the functions of the transceiver described above can be implemented by the processor calling the program code in the memory and cooperating with the network interface 902 when needed, or the transceiver can be completed by the network interface 902 on the network device 900 to perform the data transceiving operation.

[0173] In various implementations, the network device 900 is configured to perform the service processing method provided by the embodiments of the present application, for example, the packet processing method corresponding to the embodiments shown in the method 200 or the method 800 described above. Figure 2 or Figure 8 The packet processing method shown in the embodiments.

[0174] Corresponding to the method embodiment and virtual device embodiment provided in the present application, the embodiment of the present application further provides a network device, and the hardware structure of the network device is introduced below.

[0175] See Figure 10 , Figure 10 This is a structural diagram of a network device 1000 provided in an embodiment of the present application. The network device 1000 can be configured as the first network device in the above method embodiment.

[0176] Network device 1000 may correspond to the first network device in the above-described method embodiment. The various hardware, modules, and other operations and / or functions in network device 1000 are respectively for implementing the various steps and methods implemented by the first network device in the method embodiment. For detailed information on how network device 1000 forwards messages, please refer to the above-described method embodiment. For the sake of brevity, these details are not repeated here. The steps of method 200 or method 800 are implemented by hardware integrated logic circuits or software instructions in the processor of network device 1000. The steps of the methods disclosed in the embodiments of the present application can be directly implemented by a hardware processor or by a combination of hardware and software modules in the processor. The software module can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in a memory, and the processor reads information in the memory and, in conjunction with its hardware, completes the steps of the above-described method. To avoid repetition, these steps are not described in detail here.

[0177] The network device 1000 may also correspond to the network device 900 in the aforementioned virtual device embodiment, and each functional module in the network device 900 is implemented using the software and hardware of the network device 1000. As a possible implementation, the functional modules included in the network device 900 are generated by the processor of the network device 1000 reading the program code stored in the memory, or are implemented by the processor of the network device 1000 reading the program code stored in the memory and cooperating with the communication interface.

[0178] The network device 1000 includes a main control board 1010 and an interface board 1030 .

[0179] Main control board 1010, also known as the main processing unit (MPU) or route processor card, controls and manages various components in network device 1000, including routing calculations, device management, device maintenance, and protocol processing. Main control board 1010 includes a central processing unit (CPU) 1011 and memory 1012.

[0180] The interface board 1030 is also called a line processing unit (LPU), a line card, or a service board. The interface board 1030 is configured to provide various service interfaces and implement forwarding of data packets. The service interfaces include, but are not limited to, an Ethernet interface, a POS (Packet over SONET / SDH) interface, and the like, and the Ethernet interface is, for example, a Flexible Ethernet Client (FlexE Client). The interface board 1030 includes a central processor 1031, a network processor 1032, a forwarding table entry memory 1034, and a physical interface card (PIC) 1033.

[0181] The central processor 1031 on the interface board 1030 is configured to control and manage the interface board 1030 and communicate with the central processor 1011 on the master board 1010.

[0182] The network processor 1032 is configured to implement forwarding processing of a packet. The network processor 1032 can be in the form of a forwarding chip. Specifically, processing of an uplink packet includes processing of a packet entry interface, forwarding table lookup, and the like, and processing of a downlink packet includes forwarding table lookup and the like.

[0183] The physical interface card 1033 is configured to implement a physical layer interface function, and original traffic enters the interface board 1030 through the physical interface card 1033, and a processed packet is sent from the physical interface card 1033. The physical interface card 1033 includes at least one physical interface, and the physical interface is also called a physical port. The physical interface card 1033 corresponds to a FlexE physical interface in the system architecture. The physical interface card 1033 is also called a daughter card and can be installed on the interface board 1030 and is responsible for converting an optical-electric signal into a packet and forwarding the packet to the network processor 1032 for processing after performing a legality check. In some embodiments, the central processor 1031 of the interface board 1003 can also perform the function of the network processor 1032, such as implementing software forwarding based on a general-purpose CPU, so that the network processor 1032 is not needed in the physical interface card 1033.

[0184] Optionally, the network device 1000 includes a plurality of interface boards, for example, the network device 1000 further includes an interface board 1040, and the interface board 1040 includes a central processor 1041, a network processor 1042, a forwarding table entry memory 1044, and a physical interface card 1043.

[0185] Optionally, the network device 1000 further includes a switch fabric 1020. The switch fabric 1020 can also be referred to as a switch fabric unit (SFU). In the case where the network device has multiple interface boards 1030, the switch fabric 1020 is used to complete data exchange between the interface boards. For example, the interface board 1030 and the interface board 1040 can communicate through the switch fabric 1020.

[0186] The master board 1010 is coupled with the interface board 1030. For example, the master board 1010, the interface board 1030, and the interface board 1040, and the switch fabric 1020 are connected through a system bus and a system backplane to realize intercommunication. In a possible implementation, an inter-process communication (IPC) channel is established between the master board 1010 and the interface board 1030, and the master board 1010 and the interface board 1030 communicate through the IPC channel.

[0187] In logic, the network device 1000 includes a control plane and a forwarding plane. The control plane includes the master board 1010 and the central processor 1031, and the forwarding plane includes various components that perform forwarding, such as the forwarding table entry memory 1034, the physical interface card 1033, and the network processor 1032. The control plane performs functions such as generating a forwarding table, processing signaling and protocol packets, configuring and maintaining the state of the device, and the like. The control plane distributes the generated forwarding table to the forwarding plane, and in the forwarding plane, the network processor 1032 performs table lookup and forwarding on the packets received by the physical interface card 1033 based on the forwarding table distributed by the control plane. The forwarding table distributed by the control plane can be stored in the forwarding table entry memory 1034. In some embodiments, the control plane and the forwarding plane can be completely separated and not on the same device.

[0188] If the network device 1000 is configured as the first network device in the method 200, the central processor 1011 can be implemented to obtain a packet; add first indication information and second indication information in the packet to obtain an updated packet; and the network processor 1032 triggers the physical interface card 1033 to send the updated packet to the second network device.

[0189] If the network device 1000 is configured as the first network device in the method 800, the central processor 1011 can be implemented to obtain a packet; determine a network slice corresponding to the packet according to the first indication information in the packet; and the network processor 1032 triggers the physical interface card 1033 to send the updated packet to the second network device.

[0190] It should be understood that the transceiving unit in the network device 900 can correspond to the physical interface card 1033 or the physical interface card 1043 in the network device 1000; the obtaining unit 9041 and the processing unit 9042 in the network device 900 can correspond to the central processor 1011 or the central processor 1031 in the network device 1000.

[0191] It should be understood that the operations on the interface board 1040 in the embodiments of the present application are consistent with the operations of the interface board 1030, and for the sake of brevity, will not be repeated. It should be understood that the network device 1000 in the embodiments can correspond to the first network device or the second network device in the various method embodiments described above, and the main control board 1010, the interface board 1030 and / or the interface board 1040 in the network device 1000 can implement the functions and / or various steps implemented by the first network device or the second network device in the various method embodiments described above, and for the sake of brevity, will not be repeated here.

[0192] It should be noted that the main control board can have one or more, and when there are multiple, it can include a main main control board and a backup main control board. The interface board can have one or more, and the stronger the data processing capability of the network device, the more interface boards it provides. The physical interface card on the interface board can also have one or more. The switching network board can have none or one or more, and when there are multiple, they can collectively implement load sharing and redundancy. Under the centralized forwarding architecture, the network device can not need a switching network board, and the interface board assumes the function of processing the entire system's service data. Under the distributed forwarding architecture, the network device can have at least one switching network board, and the data exchange between multiple interface boards is implemented through the switching network board, providing large-capacity data exchange and processing capability. Therefore, the data access and processing capability of the network device of the distributed architecture is greater than that of the device of the centralized architecture. Alternatively, the network device can also have only one board card, i.e., without a switching network board, the functions of the interface board and the main control board are integrated on the one board card, at which time the central processor on the interface board and the central processor on the main control board can be combined into one central processor to perform the functions of the two superimposed, and the data exchange and processing capability of such a form of device is relatively low (e.g., low-end switches or routers, etc. network devices). The specific architecture to be adopted depends on the specific networking deployment scenario, which is not uniquely limited here.

[0193] In some possible embodiments, the above-mentioned first network device or second network device can be implemented as a virtualized device. For example, the virtualized device can be a virtual machine (English: Virtual Machine, VM) running a program for sending message functions, and the virtual machine is deployed on a hardware device (for example, a physical server). A virtual machine refers to a complete computer system with complete hardware system functions simulated by software and running in a completely isolated environment. The virtual machine can be configured as the first network device or the second network device. For example, the first network device or the second network device can be implemented based on a general physical server in combination with Network Function Virtualization (NFV) technology. The first network device or the second network device is a virtual host, a virtual router or a virtual switch. Those skilled in the art can virtualize the first network device or the second network device with the above-mentioned functions on a general physical server in combination with NFV technology by reading this application. No further details will be given here.

[0194] It should be understood that the network devices in the various product forms mentioned above respectively have any functions of the first network device or the second network device in the above method embodiments, which will not be described in detail here.

[0195] An embodiment of the present application provides a computer program product. When the computer program product is run on a network device, the network device executes the method executed by the first network device in the above method 200 or method 800.

[0196] See also Figure 11 An embodiment of the present application provides a network system 1100, comprising: a network device 1101 and a network device 1102. Optionally, network device 1101 may be the first network device in method 200, the aforementioned network device 900, or the network device 1000, and network device 1101 may be a head node in the network; network device 1102 may be the first network device in method 800, the aforementioned network device 900, or the network device 1000, and network device 1102 may be an intermediate node in the network. Optionally, system 1100 may further comprise a network device 1103, and network device 1103 may be the aforementioned network device 900 or the network device 1000, and network device 1103 may be an end node in the network.

[0197] The present application also provides a chip including a processor and an interface circuit, wherein the interface circuit is configured to receive instructions and transmit them to the processor. The processor is coupled to a memory configured to store programs or instructions. When the program or instructions are executed by the processor, the chip system implements any of the above-described method embodiments.

[0198] Optionally, there may be one or more processors in the chip system. The processor may be implemented in hardware or software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, etc. When implemented in software, the processor may be a general-purpose processor implemented by reading software code stored in a memory.

[0199] Optionally, the memory in the chip system may be one or more memories. The memory may be integrated with the processor or may be provided separately from the processor, which is not limited in this application. For example, the memory may be a non-transient processor, such as a read-only memory (ROM), which may be integrated with the processor on the same chip or provided on different chips. This application does not specifically limit the type of memory or the configuration of the memory and the processor.

[0200] Exemplarily, the chip system can be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD) or other integrated chips.

[0201] The above describes the embodiments of the present application in detail. The steps in the method of the embodiments of the present application can be scheduled sequentially, merged or deleted according to actual needs; the modules in the device of the embodiments of the present application can be divided, merged or deleted according to actual needs.

[0202] It should be understood that the term "one embodiment" or "an embodiment" as used herein means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the application. The appearances of the phrase "in one embodiment" or "in an embodiment" in various places in the specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that the sequential arrangement of processes as described above in various embodiments of the application does not mean the execution order of the processes, and the execution order of the processes should be determined according to their functions and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the application.

[0203] The term "and / or", merely describes an associated relationship, which means that there can be three relationships, for example, A and / or B, which can represent the following three cases: A exists alone, A and B exist together, and B exists alone. In addition, the character " / " generally represents that the front and rear associated objects are in an "or" relationship.

[0204] It should be understood that in the embodiments of the application, "B corresponding to A" means that B is associated with A, and B can be determined according to A. However, it should also be understood that the determination of B according to A does not mean that B is determined only according to A, but B can also be determined according to A and / or other information.

[0205] Those skilled in the art can appreciate that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be realized by electronic hardware, computer software or a combination of both. In order to clearly illustrate the interchangeability of hardware and software, the components and steps of the examples have been described in the above description in general terms. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. The skilled person can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the application.

[0206] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, which will not be described here.

[0207] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.

[0208] Units described as separate components may or may not be physically separate, and components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0209] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0210] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device / server, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory, a random access memory, a magnetic disk, or an optical disk.

Claims

1. A message processing method, characterized in that: include: The first network device obtains the data packet; The first network device adds first indication information and second indication information to the data packet to obtain an updated data packet, where the first indication information and the second indication information are located in a multi-protocol label switching (MPLS) packet header of the updated data packet, wherein the first indication information is used to indicate a network slice corresponding to the data packet, and the second indication information is used to indicate a forwarding path for the data packet; The first network device sends the updated data packet to the second network device.

2. The message processing method according to claim 1, characterized in that: The MPLS packet header includes an MPLS label stack, and the MPLS label stack includes a first label field and a second label field. The first label field is used to indicate that the second label field includes the first indication information, and the second label field includes the first indication information.

3. The message processing method according to claim 2, characterized in that: The first tag field includes an extended tag EL and an extended special function tag ESPL.

4. The message processing method according to claim 1, wherein: The MPLS packet header includes an MPLS special-purpose label, and the reserved field in the MPLS special-purpose label includes the first indication information.

5. The message processing method according to claim 4, characterized in that: The MPLS special-purpose label includes an entropy label or a flow-ID label.

6. The message processing method according to claim 4 or 5, characterized in that: The reserved field includes one or more of a priority TC field and a lifetime TTL field.

7. The message processing method according to claim 1, characterized in that: The MPLS packet header includes an MPLS extension header, and the MPLS extension header carries the first indication information.

8. The message processing method according to any one of claims 1 to 7, characterized in that: The first network device sending the updated data message to the second network device includes: The first network device determines, according to the network slice, a forwarding resource for sending the updated data packet; The first network device sends the updated data packet using the forwarding resource.

9. The message processing method according to claim 8, characterized in that: The forwarding resources include one or more of processing resources, outbound interface resources, and queue resources of the first network device.

10. The message processing method according to any one of claims 1 to 9, characterized in that: The updated data message sent by the first network device to the second network device is a first message, and the method further includes: The first network device further updates the data message to obtain a second message, where the second message includes the first indication information and third indication information, and the third indication information is used to indicate a forwarding path of the second message; The first network device sends the second message to the third network device.

11. The message processing method according to any one of claims 1 to 10, characterized in that: The first network device is a network device in an MPLS network or a segment routing-based multi-protocol label switching SR-MPLS network.

12. A message processing method, characterized in that: include: The first network device receives a data packet sent by the second network device, where the data packet includes a multi-protocol label switching (MPLS) packet header, and the MPLS packet header includes first indication information and second indication information; The first network device determines, according to the first indication information, a network slice corresponding to the data packet; The first network device uses the network slice to forward the updated data packet to the third network device, and the third network device is a device on the forwarding path of the data packet determined according to the second indication information.

13. The message processing method according to claim 12, characterized in that: The first network device forwarding the updated data packet to the third network device using the network slice includes: The first network device determines, according to the network slice corresponding to the data packet, a forwarding resource allocated by the first network device to the network slice; The first network device uses the forwarding resource to forward the updated data message to the third network device.

14. The message processing method according to claim 13, characterized in that: The forwarding resources include one or more of processing resources, outbound interface resources, and queue resources of the first network device.

15. The message processing method according to any one of claims 12 to 14, characterized in that: The updated data packet includes the first indication information, or the data packet includes updated first indication information, the updated first indication information is determined based on the first indication information, and the updated first indication information is used to indicate the network slice corresponding to the updated data packet.

16. The message processing method according to claim 15, characterized in that: The updated data message includes updated second indication information, and the updated second indication information is used to indicate a forwarding path of the updated data message.

17. The message processing method according to any one of claims 12 to 16, characterized in that: Before the first network device forwards the data packet according to the network slice corresponding to the data packet, the method further includes: The first network device decapsulates the data message to obtain a decapsulated data message.

18. The message processing method according to any one of claims 12 to 17, characterized in that: The MPLS packet header includes an MPLS label stack, and the MPLS label stack includes a first label field and a second label field. The first label field is used to indicate that the second label field includes the second indication information, and the second label field includes the second indication information.

19. The message processing method according to claim 18, characterized in that: The first tag includes an extension tag and an extension special function tag.

20. The message processing method according to any one of claims 12 to 17, characterized in that: The MPLS packet header includes an MPLS special-purpose label, and the reserved field in the MPLS special-purpose label includes the first indication information.

21. The message processing method according to claim 20, characterized in that: The MPLS special-purpose label includes an entropy label or a flow label.

22. The message processing method according to claim 20 or 21, characterized in that: The reserved field includes one or more of a priority field and a lifetime field.

23. The message processing method according to any one of claims 12 to 22, characterized in that: The MPLS packet header includes an MPLS extension header, and the MPLS extension header carries the first indication information.

24. The message processing method according to any one of claims 12 to 23, characterized in that: The first network device is a network device in an MPLS network or a segment routing-based multi-protocol label switching SR-MPLS network.

25. A network device, characterized in that: include: Processor, memory; Memory is used to store instructions; The processor is configured to execute instructions in the memory, so that the network device executes the method according to any one of claims 1 to 11.

26. A network device, characterized in that: include: Processor, memory; Memory is used to store instructions; The processor is configured to execute instructions in the memory, so that the network device executes the method according to any one of claims 12 to 24.

27. A network system, characterized in that: include: The network device of claim 25 and the network device of claim 26.

28. A computer-readable storage medium, characterized in that The computer storage medium stores computer-readable instructions, which, when executed by a processor, implement the method according to any one of claims 1 to 24.

Citation Information

Patent Citations

  • Transmission control method, node, network system and storage medium

    CN110912795A