[go: up one dir, main page]

WO2022007702A1 - 一种报文处理方法及网络设备 - Google Patents

一种报文处理方法及网络设备 Download PDF

Info

Publication number
WO2022007702A1
WO2022007702A1 PCT/CN2021/104000 CN2021104000W WO2022007702A1 WO 2022007702 A1 WO2022007702 A1 WO 2022007702A1 CN 2021104000 W CN2021104000 W CN 2021104000W WO 2022007702 A1 WO2022007702 A1 WO 2022007702A1
Authority
WO
WIPO (PCT)
Prior art keywords
network device
packet
network
mpls
indication information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2021/104000
Other languages
English (en)
French (fr)
Inventor
董杰
胡志波
陈昀
胡永健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202011022649.5A external-priority patent/CN113973082B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to MX2023000301A priority Critical patent/MX2023000301A/es
Priority to EP21838070.7A priority patent/EP4161002A4/en
Priority to JP2022581598A priority patent/JP7674401B2/ja
Publication of WO2022007702A1 publication Critical patent/WO2022007702A1/zh
Priority to US18/150,698 priority patent/US20230155930A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • H04L45/507Label distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/563Software download or update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a message processing method and network device.
  • Segment Routing is a source routing technology.
  • the SR can use Multi-Protocol Label Switching (MPLS) as the data plane technology.
  • MPLS Multi-Protocol Label Switching
  • the SID of the SR is encapsulated and carried by 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.
  • prefix-SID prefix-SID
  • adjacency SID adjacency SID
  • the solution to realize network slicing based on SR-MPLS is to use different SR SIDs to identify different network slices to which nodes and links belong.
  • each node needs to assign different prefix-SIDs to different network slices, as the identification of the node in different network slices.
  • each node also needs to allocate different adj-SIDs in different network slices for a connected link to identify resources allocated to different network slices on the same link. That is to say, for different nodes and links in the same network slice, and for the same nodes and links in different network slices, different MPLS labels are required for identification.
  • the embodiments of the present application provide a packet processing method and network device.
  • encapsulating an MPLS packet header for a packet on an MPLS data plane and using different indication information in the MPLS packet header to respectively indicate the network corresponding to the packet Slicing and forwarding paths, so that each network device on the forwarding path can forward packets normally according to the unified network slicing indication information, without the need for each network device on the forwarding path to assign different MPLS labels to the same network slice as the network Slice identification can effectively save MPLS label resources.
  • SID resources can also be effectively saved.
  • a first aspect of the present application provides a packet processing method, including: acquiring a packet by a first network device, where the first network device may be a network device in an MPLS network or an SR-MPLS network; the first network device is in the The first indication information and the second indication information are added to the message to obtain the updated message, and the first indication information and the second indication information are located in the MPLS header of the updated message, wherein,
  • the first indication information may include, for example, an identifier of a network slice, which is used to indicate a network slice corresponding to the packet, and the second indication information is used to indicate a forwarding path of the packet; the first network device Send the updated message to the second network device.
  • the packet acquired by the first network device already includes an MPLS packet header, then the first network device adds the first indication information and the second indication information to the existing MPLS packet header, to obtain an updated message; in another possible situation, if the message obtained by the first network device does not include an MPLS header, the first network device may newly add an MPLS header, and the first network device may add an MPLS header.
  • the indication information and the second indication information are in the newly added MPLS packet header, so as to obtain the updated packet.
  • the adding positions of the first indication information and the second indication information may be set in, for example, the MPLS label stack or the MPLS extension header according to the specific design.
  • the first network device capable of performing the operation of adding indication information may be the head node of the MPLS network.
  • the MPLS header is encapsulated for the message on the MPLS data plane, and the corresponding network slice and forwarding path of the message are indicated in the MPLS header with different indication information, so that the network device can be based on the same
  • the indication information of the network slicing can realize the normal forwarding of packets, and 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. Effectively save MPLS label resources.
  • SID resources can also be effectively saved.
  • 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 the
  • the second label field includes the second indication information
  • the second label field includes the second indication information.
  • the first indication information and the second indication information are respectively carried by different label fields in the MPLS label stack, which can improve the scalability of the solution.
  • the first label field includes an extension label (Extension Label, EL) and an extended special purpose label (Extended Special Purpose Label, ESPL).
  • extension label Extension Label, EL
  • extended special purpose label Extended Special Purpose Label, ESPL
  • the MPLS packet header includes an MPLS special-purpose label
  • a reserved field in the MPLS special-purpose label includes the first indication information
  • the MPLS special-purpose label includes an entropy label or a flow label (Flow-ID) label.
  • the reserved field includes one or more of a priority (Traffic Class, TC) field and a time to live (Time to Live, TTL) field.
  • TC Traffic Class
  • TTL Time to Live
  • the MPLS packet header includes an MPLS extension header
  • the MPLS extension header carries the first indication information
  • the sending, by the first network device, the updated message to the second network device includes: determining, by the first network device, according to the network slice, for sending the updated message. forwarding resources of the updated message; the first network device sends the updated message by using the forwarding resources.
  • the forwarding resources include one or more of processing resources, outbound interface resources and queue resources of the first network device.
  • the updated message sent by the first network device to the second network device is a first message
  • the method further includes: the first network device Also update the message to obtain a second message, where the second message includes the first indication information and third indication information, where the third indication information is used to indicate the forwarding path of the second message ; the first network device sends the second packet to the third network device. That is, in addition to sending packets to the second network device, the first network device may also send packets to other neighboring network devices, so as to implement multi-path forwarding of the packets.
  • 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 acquired packet multiple times, such as at least copying to generate the first packet and the second packet, and adding a network for the first packet and the second packet respectively.
  • Slice indication information and forwarding path indication information may be the same.
  • the first packet and the second packet of the multicast replication packet of the packets obtained by the first network device can be shared.
  • the same network slice resource, but the indication information of the forwarding paths of the first packet and the second packet can be different, so as to respectively indicate that the first packet and the second packet, which are duplicate packets, are distributed along different forwarding paths, so as to realize grouping. High reliability guarantee for broadcast data distribution or network data distribution.
  • the indication information of the network slice of the first packet and the second packet may also be different.
  • the indication information of the forwarding paths of the first packet and the second packet may also be the same.
  • the first network device is a network device in an MPLS network or an SR-MPLS network.
  • a second aspect of the present application provides a packet processing method, including: a first network device receiving a packet sent by a second network device, where the 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 a network slice corresponding to the packet according to the first indication information; the first network device forwards the packet to a third network device by using the network slice For the updated message, the third network device is a device on the forwarding path of the message determined according to the second indication information.
  • the first network device may be any intermediate node device or tail node device in the MPLS network.
  • the first network device may parse the first indication information in the MPLS packet header, where the first indication information may be a unified identifier used to identify a network slice in the MPLS network.
  • the first network device may determine, according to the unified identifier, a network slice to be used for forwarding the packet.
  • different indication information is added to the MPLS packet header to indicate the corresponding network slice and forwarding path of the packet, so that each network device on the forwarding path can forward the packet normally according to the unified network slice indication information.
  • SID resources can also be effectively saved.
  • the first network device forwarding the updated packet to a third network device by using the network slice includes: the first network device according to the packet For the corresponding network slice, determine the forwarding resource allocated for the network slice; the first network device implements forwarding of the updated message to the third network device by using the forwarding resource.
  • a network slice may also be associated with a certain network topology.
  • the first network device uses the network slice to forward the updated
  • the packet includes: the first network device determines a network topology and/or forwarding resources corresponding to the network slice according to the network slice corresponding to the packet, and determines the network topology and/or forwarding resources corresponding to the network slice according to the network topology and/or forwarding resources forwarding the updated message to the third network device.
  • the forwarding resources include one or more of processing resources, outbound interface resources and queue resources of the first network device.
  • the updated packet includes the first indication information, or the packet includes updated first indication information, the updated first indication information It is determined according to the first indication information that the updated first indication information is used to indicate the network slice corresponding to the updated packet.
  • the updated message includes updated second indication information
  • the updated second indication information is used to indicate forwarding of the updated message path.
  • the method before the first network device forwards the packet according to the network slice corresponding to the packet, the method further includes: the first network device sends a The message is decapsulated to obtain a decapsulated message.
  • the decapsulated message does not include a packet sent by, for example, a head node (as described in the aforementioned first aspect, the first network device that can implement the role of the head node).
  • the added MPLS packet header information includes the indication information of the network slice and the indication information of the forwarding path.
  • the packet initially obtained by the head node does not include the MPLS packet header, and the head node may add the MPLS packet header including the MPLS packet header.
  • the first network device can remove the complete MPLS packet header as a whole through decapsulation operation; as another possible situation, before the head node adds MPLS header information to the packet, The packet initially acquired by the head node already includes the MPLS packet header, and the head node adds the corresponding MPLS packet header information to the existing MPLS packet header, then the first network device can decapsulate at least the MPLS packet header.
  • the MPLS packet header information that remains in the packet header and is added by the head node is stripped, but the original MPLS packet header that is included when the head node initially obtains the packet is retained.
  • the first network device may be a tail node of the MPLS network.
  • the MPLS packet header information stripped through the decapsulation operation may include, for example, the indication information of the network slice added by the head node, and the indication information of the forwarding path added by the head node that is not in the intermediate node. Popup information (such as tail node labels).
  • 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 the
  • the second label field includes the second indication information
  • the second label field includes the second indication information
  • the first tag includes an extended tag and an extended special function tag.
  • the MPLS packet header includes an MPLS special-purpose label
  • a reserved field in the MPLS special-purpose label includes the first indication information
  • the MPLS special label includes an entropy label or a flow label label.
  • the reserved field includes one or more of a priority field and a lifetime field.
  • the MPLS packet header includes an MPLS extension header
  • the MPLS extension header carries the first indication information
  • the first network device is a network device in an MPLS network or a segment routing-based multi-protocol label switching SR-MPLS network.
  • a third aspect of the present application provides a network device, where the network device is a first network device, including: an acquisition unit, configured to acquire a message; and a processing unit, configured to add first indication information and second information to the message indication information to obtain an updated message, the first indication information and the second indication information are located in the multi-protocol label switching MPLS header of the updated message, wherein the first indication information is used for indicating the network slice corresponding to the message, the second indication information is used for indicating the forwarding path of the message; the transceiver unit is used for sending the updated message to the second network device.
  • the network device is a first network device, including: an acquisition unit, configured to acquire a message; and a processing unit, configured to add first indication information and second information to the message indication information to obtain an updated message, the first indication information and the second indication information are located in the multi-protocol label switching MPLS header of the updated message, wherein the first indication information is used for indicating the network slice corresponding to the message, the second indication information is used for
  • 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 the
  • the second label field includes the second indication information
  • the second label field includes the second indication information
  • the first tag field includes an extended tag EL and an extended special function tag ESPL.
  • the MPLS packet header includes an MPLS special-purpose label
  • a reserved field in the MPLS special-purpose label includes the first indication information
  • the MPLS special-purpose label includes an entropy label or a flow label Flow-ID label.
  • the reserved field includes one or more of a priority TC field and a lifetime TTL field.
  • the MPLS packet header includes an MPLS extension header
  • the MPLS extension header carries the first indication information
  • the processing unit is further configured to determine a forwarding resource for sending the updated message according to the network slice; the processing unit is specifically configured to use the The forwarding resource sends the updated message.
  • the forwarding resources include one or more of processing resources, outbound interface resources and queue resources of the first network device.
  • the processing unit is further configured to update the message to obtain a second message, where the second message includes the first indication information and the third indication information, the third indication information is used to indicate the forwarding path of the second packet; the transceiver unit is further configured to send the second packet to a third network device.
  • the first network device is a network device in an MPLS network or a segment routing-based multi-protocol label switching SR-MPLS network.
  • a fourth aspect of the present application provides a network device, where the network device is a first network device, and includes: a transceiver unit configured to receive a packet sent by the second network device, where the packet includes a multi-protocol label switching (MPLS) packet header , the MPLS packet header includes first indication information and second indication information; a processing unit is configured to determine the network slice corresponding to the packet according to the first indication information; the transceiver unit is further configured to use the The network slice forwards the updated message to a third network device, where the third network device is a device on a forwarding path of the message determined according to the second indication information.
  • MPLS multi-protocol label switching
  • the processing unit is further configured to determine forwarding resources allocated for the network slice according to the network slice corresponding to the packet; the transceiver unit is specifically configured to The forwarding of the updated message to the third network device is implemented by using the forwarding resource.
  • the forwarding resources include one or more of processing resources, outbound interface resources and queue resources of the first network device.
  • the updated packet includes the first indication information, or the packet includes updated first indication information, the updated first indication information It is determined according to the first indication information that the updated first indication information is used to indicate the network slice corresponding to the updated packet.
  • the updated message includes updated second indication information
  • the updated second indication information is used to indicate forwarding of the updated message path.
  • the processing unit is further configured to perform decapsulation processing on the packet to obtain a decapsulated packet.
  • 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 the
  • the second label field includes the second indication information
  • the second label field includes the second indication information
  • the first tag includes an extended tag and an extended special function tag.
  • the MPLS packet header includes an MPLS special-purpose label
  • a reserved field in the MPLS special-purpose label includes the first indication information
  • the MPLS special label includes an entropy label or a flow label label.
  • the reserved field includes one or more of a priority field and a lifetime field.
  • the MPLS packet header includes an MPLS extension header
  • the MPLS extension header carries the first indication information
  • the first network device is a network device in an MPLS network or a segment routing-based multi-protocol label switching SR-MPLS network.
  • a fifth aspect of the present application provides a network device, where the network device includes: a processor, configured to enable the network device to implement the method described in any possible implementation manner of the foregoing first aspect.
  • the device may further include a memory, the memory is coupled to the processor, and when the processor executes the instructions stored in the memory, the network device can implement the method described in any possible implementation manner of the foregoing first aspect.
  • the device may also include a communication interface for the apparatus to communicate with other devices, for example, the communication interface may be a transceiver, circuit, bus, module or other type of communication interface.
  • a sixth aspect of the present application provides a network device, the network device comprising: a processor, configured to enable the network device to implement the method described in any possible implementation manner of the foregoing second aspect.
  • the device may further include a memory, and the memory is coupled to the processor, and when the processor executes the instructions stored in the memory, the network device can implement the method described in any possible implementation manner of the foregoing second aspect.
  • the device may also include a communication interface for the apparatus to communicate with other devices, for example, the communication interface may be a transceiver, circuit, bus, module or other type of communication interface.
  • the instructions in the memory may be stored in advance, or may be downloaded from the Internet and stored after using the network device.
  • This application does not specifically limit the source of the instructions in the memory.
  • the coupling in this application is an indirect coupling or connection between devices, units or modules, which may be in electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.
  • a seventh aspect of the present application provides a computer storage medium, which may be non-volatile; computer-readable instructions are stored in the computer storage medium, and the first aspect is implemented when the computer-readable instructions are executed by a processor or the method described in any possible implementation manner of the second aspect.
  • An eighth aspect of the present application provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method as described in any of the possible implementations of the first aspect or the second aspect.
  • a ninth aspect of the present application provides a network system, where the network system includes the network device described in any implementation manner of the foregoing third aspect and the network device described in any implementation manner of the foregoing fourth aspect; or, the The network system includes the network device described in any implementation manner of the foregoing fifth aspect and the network device described in any implementation manner of the foregoing sixth aspect.
  • the number of network devices included in the network system as described in any implementation manner of the fourth aspect or the sixth aspect may be multiple.
  • FIG. 1(a) is a schematic structural diagram of a network according to an embodiment of the present application.
  • FIG. 1(b) is a schematic structural diagram of a network slice provided by an embodiment of the present application.
  • FIG. 1(c) is a schematic structural diagram of another network slicing provided by an embodiment of the present application.
  • FIG. 1(d) is a schematic structural diagram of another network slicing provided by an embodiment of the present application.
  • FIG. 2 is a schematic flowchart of a packet processing method 200 provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a message forwarding provided by an embodiment of the present application.
  • FIG. 4 is a schematic structural diagram of an MPLS label provided by an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of another MPLS label provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a format of an MPLS packet header provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of the format of an extension header provided by an embodiment of the present application.
  • FIG. 8 is a schematic flowchart of a packet processing method 800 provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a network device 900 according to an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a network device 1000 according to an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of a network system 1100 according to an embodiment of the present application.
  • the naming or numbering of the 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, and the named or numbered process steps can be implemented according to the The technical purpose is to change the execution order, as long as the same or similar technical effects can be achieved.
  • the division of units in this application is a logical division. In practical applications, there may be other division methods. For example, multiple units may be combined or integrated into another system, or some features may be ignored. , or not implemented, in addition, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, and the indirect coupling or communication connection between units may be electrical or other similar forms. There are no restrictions in the application.
  • 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, and some or all of them may be selected according to actual needs. unit to achieve the purpose of the scheme of this application.
  • enhanced mobile broadband enhanced mobile broadband
  • eMBB enhanced mobile broadband
  • massive machine type communication mMTC
  • uRLLC ultra-reliable and low latency communications
  • Network slicing refers to the logical network customized according to different business requirements on the physical or virtual network infrastructure.
  • Network slicing can be a complete end-to-end network including an access network, a transmission network, a core network, and an application server, which can provide complete communication services and have certain network capabilities.
  • Network slicing can also be any combination of access network, transport network, core network and application server.
  • a network slice can often be thought of as an instantiated 5G network.
  • Such a network structure allows operators to provide the network as a service to users, and can freely combine physical networks according to indicators such as rate, capacity, coverage, delay, reliability, security, and availability to meet the needs of different users. Require.
  • the SR technology controls packet forwarding by adding an ordered list of instructions to the packet, which can be called a segment list.
  • Each label in the Segment List can identify a link or node, and the entire label stack identifies a forwarding path from the top of the stack to the bottom of the stack.
  • Each label can be called a Segment Identifier (SID).
  • SID Segment Identifier
  • the corresponding link is searched according to the top label of the label stack and the packet is forwarded. After all labels in the label stack are popped, the packet arrives at the destination.
  • the SR can use MPLS as the data plane technology (called SR-MPLS).
  • SR-MPLS the data plane technology
  • the SID of the SR is encapsulated and carried by 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.
  • prefix-SID prefix-SID
  • adjacency SID adjacency SID
  • the source routing function of SR can be implemented through the SID list obtained by combining the two SIDs.
  • the solution to realize network slicing based on SR-MPLS is to use different SR SIDs to identify different network slices to which nodes and links belong.
  • each node needs to assign different prefix-SIDs to different network slices, as the identification of the node in different network slices.
  • each node also needs to assign a different adj-SID to a connected link, which is used to identify resources allocated to different network slices on the same link.
  • FIG. 1( a ) is a schematic structural diagram of a network provided by an embodiment of the present application.
  • the network architecture is an SR-MPLS network architecture
  • the SR-MPLS network architecture includes a plurality of network devices, which are network device 1 to network device 9 respectively.
  • FIG. 1(b) is a schematic structural diagram of a network slice provided by an embodiment of the present application.
  • the network device 1 to the network device 5 and the network device 7 to the network device 9 in the SR-MPLS network architecture together constitute a 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 identification in network slice 1; A connected link is assigned a corresponding adj-SID, which is used to identify the resources allocated for network slice 1 on the link.
  • a prefix-SID for example, 101 to 105 and 107 to 109
  • FIG. 1( c ) is a schematic structural diagram of another network slicing provided by this embodiment of the present application.
  • network device 2 to network device 4 and network device 6 to network device 9 in the SR-MPLS network architecture together constitute network slice 2 .
  • each network device in network slice 2 is assigned a prefix-SID (for example, 202 to 204 and 206 to 209) as its identification in network slice 2;
  • a connected link is assigned a corresponding adj-SID, which is used to identify the resources allocated for network slice 2 on the link.
  • network slice 1 and network slice 2 respectively correspond to different network topologies, that is, the network topologies corresponding to different network slices may be different. In some cases, different network slices may also correspond to the same network topology, that is, one network topology may correspond to multiple network slices.
  • FIG. 1(d) is a schematic structural diagram of another network slicing provided by this embodiment of the present application. Wherein, as shown in FIG. 1( d ), the network device 2 to the network device 4 and the network device 6 to the network device 9 in the SR-MPLS network architecture together constitute the network slice 3 .
  • the network topology corresponding to network slice 3 is the same as the network topology corresponding to network slice 2 in FIG. 1( c ).
  • each network device in network slice 3 also needs to be assigned a prefix-SID (for example, 302 to 304 and 306 to 309) as its identification in network slice 3;
  • a connected link is allocated a corresponding adj-SID, which is used to identify the resources allocated for the network slice 3 on the link.
  • different network slices can be formed 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.
  • each network device needs to assign different prefix-SIDs to different network slices, as well as assign different adj-SIDs to a link to which it is connected, that is, the number of prefix-SIDs and adj-SIDs that need to be assigned is the same as The number of network slices has a positive correlation.
  • MPLS labels are carried in MPLS labels.
  • a single MPLS label can be used to identify network slices and forwarding paths.
  • the network slices are the same and the links are different, and the network slices are different and the links are the same, different MPLS labels are required for identification. 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.
  • an embodiment of the present application provides a method for processing a packet, by encapsulating an MPLS packet header for the packet on the MPLS data plane, and indicating the corresponding packet of the packet through different indication information in the MPLS packet header.
  • Network slicing and forwarding paths so that network devices can forward packets normally based on network slicing, instead of simultaneously identifying network slicing and forwarding paths based on MPLS labels, which can effectively save MPLS label resources.
  • SID resources can also be effectively saved.
  • FIG. 2 is a schematic flowchart of a packet processing method 200 provided by an embodiment of the present application.
  • the packet processing method 200 can be applied to the network structure shown in FIG. 1( a ).
  • the packet processing method 200 at least includes the following steps.
  • Step 201 the first network device obtains the message.
  • the first network device may be a network device in an MPLS network or an SR-MPLS network.
  • the manner in which the first network device obtains the packet may be by receiving packets sent by other network devices, such as receiving data packets sent by network devices located outside the MPLS network, or by generating packets by itself, or by sending packets from the access side.
  • the user equipment received the packet.
  • Step 202 the first network device adds first indication information and second indication information to the message to obtain an updated message, where the first indication information and the second indication information are located in the MPLS header of the updated message.
  • the first indication information is used to indicate the network slice corresponding to the packet
  • the second indication information is used to indicate the forwarding path of the packet.
  • the first network device updates the packet, so that the MPLS packet header in the updated packet includes the first indication information and the second indication information.
  • the packet acquired by the first network device may include an MPLS packet header, and the first network device adds the first indication information and the second indication information to the MPLS packet header to obtain an updated packet.
  • the packet obtained by the first network device may not include an MPLS header, and the first network device adds an MPLS packet header including the first indication information and the second indication information to the packet to obtain an updated packet Arts.
  • the first network device for performing the operation of adding the first indication information and the second indication information may be a head node in the MPLS network, and the head node may be, for example, a tunnel end node or a network border node.
  • the first network device may determine the network slice corresponding to the packet and the forwarding path of the packet, so as to determine the first indication information and the second indication information. 2. Instruction information.
  • the first network device may determine the network slice corresponding to the packet according to information carried in the packet, or the first network device may determine the network slice according to resource information used to receive the packet The network slice corresponding to the packet.
  • a policy for determining network slices may be pre-configured in the first network device, and the first network device may, under the instruction of the policy, determine the packet according to the source address, destination address or protocol number in the packet.
  • the corresponding network slice that is, the network slice used to forward the packet.
  • the source address may be, for example, a source Internet (Internet Protocol, IP) address or a source media access control (Media Access Control, MAC) address for sending the message, such as the address of a user host or a base station.
  • the destination address may be, for example, the destination IP address or destination MAC address of the packet.
  • the first network device may also be based on some other fields in the message, for example, the Internet Protocol Version 6 (Internet Protocol Version 6, IPv4) or the Differentiated Services Code Point (Differentiated Services Code Point, DSCP) field in the IPv6 message header Or traffic class (Traffic Class) field, virtual local area network identifier (Virtual Local Area Network identifier, VLAN ID) in the Ethernet header, etc., to determine the network slice corresponding to the packet.
  • the first network device may specifically determine the network slice to which the packet belongs according to one of the above fields (eg, source address, destination address, protocol number, DSCP field or TC field, etc.), or a combination of certain fields.
  • the first network device may establish a correspondence between the source address of the device that sends the service packet and the network slice according to the service requirement on the user side. In this way, after receiving the service packet sent by the user side, the first network device can determine the corresponding network slice according to the source address in the service packet.
  • the first network device may also pre-establish a correspondence between destination addresses and network slices, and after receiving the service packet, the first network device may determine the corresponding network slice according to the destination address in the service packet .
  • the protocol number in the packet may indicate the data protocol adopted by the data carried in the packet.
  • the first network device may also determine the network slice corresponding to the packet according to the protocol number in the packet.
  • the first network device may also determine the network slice corresponding to the packet according to resource information used to receive the packet, such as physical interface information or logical interface information of the packet received by the first network device. For example, when a network slice corresponding to the ingress interface of the first network device is configured, other network devices can forward the packet to the first network device according to the network slice to which the packet belongs when forwarding the packet to the first network device. on the ingress interface corresponding to the first network device. Therefore, the first network device may determine the network slice corresponding to the packet according to the inbound interface information of the received packet.
  • resource information used to receive the packet such as physical interface information or logical interface information of the packet received by the first network device. For example, when a network slice corresponding to the ingress interface of the first network device is configured, other network devices can forward the packet to the first network device according to the network slice to which the packet belongs when forwarding the packet to the first network device. on the ingress interface corresponding to the first network device. Therefore, the first network device may determine the network slice corresponding to
  • the first network device may generate first indication information.
  • the first indication information may include an identifier of a network slice to indicate a network slice corresponding to the packet.
  • the network device that receives the packet may determine the network slice corresponding to the packet according to the identifier of the network slice in the first indication information.
  • the first network device may determine the forwarding path of the packet in the MPLS network according to the destination address of the packet, and generate the second indication information according to the forwarding path of the packet in the MPLS network.
  • the second indication information may indicate the forwarding path of the packet in various ways.
  • the second indication information may indicate the complete forwarding path of the packet in the MPLS network.
  • the second indication information may include information of all nodes that need to pass through in the forwarding process of the packet.
  • network device 1 can determine that the forwarding path of the packet in the MPLS network is "network device 1--network device 2--network device 3-- Network Device 4--Network Device 5".
  • an MPLS label switching path may be established in advance through control signaling; the indication information generated by the network device 1 may only carry an MPLS label identifying the path , and in the forwarding process of the packet, the node devices along the route exchange MPLS labels hop by hop (for example, replace MPLS label A with MPLS label B).
  • the MPLS label A in the packet received by the node device is a label allocated by the node for the path to the destination node.
  • the corresponding MPLS label B can be obtained by looking up the table locally. and the outgoing interface for sending the packet, MPLS label B is a label assigned by the next hop node for the path to the same destination node.
  • the indication information generated by the network device 1 may carry the information of the network device 2, the network device 3, the network device 4, and the network device 5, so as to Indicates the complete forwarding path of the packet on the MPLS network.
  • network device 1 can carry the identities of network device 2 to network device 5 through multiple MPLS labels; in an SR-MPLS network, network device 1 can carry segment list through MPLS label stack. It includes a plurality of SIDs respectively used to indicate the network device 2 to the network device 5 .
  • the second indication information may indicate part of the forwarding path of the packet in the MPLS network.
  • the second indication information may include information of some nodes that need to be passed through in the forwarding process of the packet.
  • the network in Fig. 1(a) as an example, when network device 1 determines that the forwarding path of the packet in the MPLS network is "network device 1--network device 2--...--network device 5", network device 1
  • the generated instruction information may only carry the information of network device 2 and network device 5 to indicate the network devices that the message needs to pass through in the MPLS network (that is, the message needs to pass through the specified network device 2 and network device 5).
  • the second indication information can only indicate the tail node that the packet passes through in the MPLS network.
  • the second indication information may only include the information of the tail node that needs to be passed in the forwarding process of the packet.
  • each network device that receives the packet can forward the packet based on the default forwarding policy (for example, the shortest path forwarding policy) according to the tail node indicated in the second indication information.
  • the second indication information may indicate the forwarding path of the packet by indicating the tail node that the packet needs to pass through, and the forwarding path of the packet is the default path when the head node and the tail node are specified. Also taking the network in FIG.
  • the network device 1 determines to use the default path to forward the packet. Therefore, the indication information generated by the network device 1 may only carry the information of the network device 5 to indicate the tail node that the packet needs to pass through in the MPLS network. In this way, during the packet forwarding process, each network device that receives the packet forwards the packet to the next network device on the default path according to the default forwarding policy, so that the packet can be sent based on the default path. Implement forwarding.
  • the second indication information may indicate the indication information of the first part of the path and the latter part of the path information in the complete path.
  • the second indication information generated by the first network device may only indicate the first part of the complete path of the packet, and the second indication information may also indicate Other nodes on the forwarding path of the message update the latter part of the path of the message.
  • the network device can determine that the forwarding path of the message is "network device 1--network device 2--network device 3-- Network Device 4--Network Device 5".
  • the indication information generated by the network device 1 the information of the network device 2 and the network device 3 may be carried to indicate the forwarding path of the previous part of the packet in the MPLS network.
  • the indication information may also carry information for instructing the network device 3 to update the path information, for example, the indication information carries a binding segment identifier (binding segment identifier, binding-sid), and the binding-sid indicates that the report
  • the subsequent path information of the message the network device 3 can update its subsequent path information in the message based on the binding-sid.
  • the binding-sid may indicate a tunnel label stack in a domain, and the tunnel label stack may carry subsequent path information of the packet. That is to say, the indication information generated by the network device 1 may carry the identification information of the network device 2 and the network device 3 through multiple MPLS labels, and the indication information may also carry the binding-sid to indicate the network device 3 Update subsequent forwarding paths.
  • the subsequent path information is indicated by binding-sid, which can reduce the number of label stack layers encapsulated by the network device.
  • Step 203 the first network device sends an updated message to the second network device.
  • the first network device may send the 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 is a neighbor network device of the first network device.
  • the first network device may determine a forwarding resource for sending the updated message according to the network slice; the first network device sends the updated message by using the forwarding resource.
  • the forwarding resources may include one or more of processing resources, outbound interface resources and queue resources of the first network device.
  • the processing resource may refer to a resource used by the first network device to search for a forwarding entry for forwarding a message, and the more processing resources, the higher the efficiency of the first network device to search for a forwarding entry. Therefore, for network slices with low latency requirements, more processing resources can be configured.
  • the outbound interface resource may refer to an outbound interface used by the first network device to forward a packet
  • the queue resource may refer to a forwarding queue into which the packet can enter when the first network device forwards the packet.
  • different forwarding resources can be configured for different network slices in the network device to meet the requirements of network slices. That is, the correspondence between network slices and forwarding resources may be pre-configured in the network device, so that the network device can determine the forwarding resource for forwarding the packet according to the network slice corresponding to the packet.
  • the first network device may also send packets to other neighbor network devices.
  • the first network device may copy multiple copies of the payload and/or other necessary data information in the obtained packet, and add multiple copies to the multiple packets generated by the copy.
  • Corresponding network slice indication information and forwarding path indication information so that the multiple packets are respectively forwarded along respective forwarding paths and using corresponding network slice resources.
  • the updated packet sent by the first network device to the second network device may be the first packet.
  • the first network device may also update the packet to obtain the second packet, and the second packet may include third indication information, where the third indication information is used to indicate a forwarding path of the second packet.
  • the second packet may further include the same first indication information as the first packet, and the second packet and the first packet may use the same network slicing resource.
  • the first network device sends the second packet to the third network device. That is to say, the first network device can determine multiple paths for forwarding packets, and can generate multiple packets according to the information of the network devices on each corresponding path. Different packets carry different path indication information to indicate packet forwarding on different paths.
  • FIG. 3 is a schematic diagram of packet forwarding according to an embodiment of the present application.
  • the network device 1 can determine the network slice (for example, network slice 1) corresponding to the packet 1, which is used to forward the two paths of the packet 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".
  • the network device 1 may generate the packet 2 according to the path 1, and send the packet 2 to the network device 2.
  • the packet 2 includes the identifier of the network slice 1 and the information indicating the path 1 (for example, the identifiers of the network device 2 to the network device 5).
  • the network device 1 can generate the packet 3 according to the path 2 and send the packet 3 to the network device 7 .
  • the packet 3 includes the identifier of the network slice 1 and the information indicating the path 2 (for example, the identifiers of the network device 7 to the network device 9 and the network device 5). In this way, network device 1 can generate packet 2 and packet 3 by copying packet 1, and then by adding the same network slice information and adding different path information respectively, indicating that packet 2 and packet 3 use the same network slice
  • the resources of 1 are forwarded along path 1 and path 2 respectively.
  • the above example takes the first packet and the second packet carrying the same network slice indication information as an example.
  • packet 2 and packet 3 carry the same network slice 1 identifier, that is, network device 1 indicates path 2 respectively. and the network device that receives packets 2 and 3 on path 3, use the same network slice 1 to forward packets; and network device 1 can also use the same network slice resources to forward packets 2 and 3, for example , when the forwarding resource corresponding to the network slice is the processing resource allocated by the network device 1 to realize packet forwarding, the processing resource used by the network device 1 to forward the packet 2 to the network device 2 is the same as the processing resource used by the network device 1 to forward the packet to the network device 7.
  • the processing resources of text 3 can be the same.
  • the network device that the first network device carries when forwarding the packet to different neighbor network devices may also be different, and the network slice resources used by the first network device may also be different.
  • the forwarding resource corresponding to the network slice is an interface resource
  • the interface resource used to forward the first packet to the second network device in the first network device and the interface resource used to forward the second packet to the third network device can be different.
  • the above describes the process that the network device forwards the packet by adding the first indication information to the packet.
  • the network device forwards the packet by adding the first indication information to the packet.
  • how to carry the first indication information in the MPLS packet header will be described in detail below with reference to specific examples.
  • the MPLS packet header may carry the first indication information corresponding to the packet through an MPLS label stack or an MPLS extension header.
  • the MPLS packet header may include an MPLS label stack, the MPLS label stack includes first label information and second label information, and the first label information is used to indicate that the second label information carries the identification information corresponding to the network slice , the second label information carries the first identification information.
  • the first label information and the second label information are both located 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 may determine that the second label information located after the first label information is used to carry the identification information corresponding to the network slice.
  • the first label information includes an extension label (Extension Label, EL) and an extended special function label (Extended Special Purpose Label, ESPL).
  • the extended tag may be located above the extended special function tag, and the value of the extended tag may be a value defined in a relevant standard, such as 15, to indicate that the tag located after the extended special function tag is an extended special function tag.
  • the value of the extended special function label may be a predefined value to indicate that the label located after the extended special function label carries the identification information corresponding to the network slice. Labels after extended special function labels can also be called network slice labels.
  • extended labels, extended special function labels and network slice labels can be included.
  • the extended special function label is placed after the extended special function label
  • the network slice label is placed after the extended special function label. It can be understood that the extended label, the extended special function label and the network slice label are three adjacent labels, and these three adjacent labels may be located at any position in the entire MPLS label stack.
  • each tag may also include a priority (Traffic Class, TC) field, a stack bottom field, and a Time to Live (TTL) field.
  • TC Traffic Class
  • TTL Time to Live
  • the TC field is used to indicate the packet 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 bottommost label, and when the value of the stack bottom field S is 1, the label is the bottommost label.
  • the TTL field is used to indicate the lifetime of the label.
  • the network device When the network device reads the label stack, the network device can first read the extended label of the upper layer, and can determine that the next layer of the extended label is the extended special function label according to the value of the extended label 15. When the network device reads the extended special function label, it can determine the next layer label of the extended special function label as a network slice label according to the value of the extended special function label as a predefined value. Finally, the network device obtains the identifier corresponding to the network slice by reading the network slice label, so as to determine the network slice corresponding to the packet.
  • the MPLS packet header includes an MPLS special-purpose label
  • the reserved field in the MPLS special-purpose label includes the first indication information.
  • the MPLS special-purpose label may be a pre-defined label in a relevant standard, such as an entropy label (Entropy Label, EL), a router alert (Router Alert Label) label, and a flow label (Flow-ID Label) label.
  • the MPLS special-purpose label has a reserved field, that is, a field reserved in advance and without practical use, which can be used to carry the first indication information.
  • the reserved field may include one or more of a tag value field (ie, a field used to indicate a specific value of the tag), a TC field, and a TTL field.
  • FIG. 5 is a schematic structural diagram of another MPLS label according to an embodiment of the present application.
  • the MPLS packet header includes an entropy label indicator (Entropy Label Indicator, ELI) and an entropy label.
  • the entropy label indicates that the label is the previous label of the entropy label, and its label value can be 7, which is used to indicate the position of the entropy label, that is, when the network device reads the entropy label, it can determine the entropy label.
  • the label is the entropy label.
  • the format of the tag value field of the entropy tag can be modified to carry the identifier of the network slice.
  • a 20-bit (bit) tag value field 12 bits in the tag value field can be used to represent the identification of network slices, which can support representing 4,000 network slices; the remaining 8 bits of the tag value field are used for payload. Sharing, that is, the network device performs hash calculation according to the value represented by the 8 bits in the tag value field, and the obtained result can be used to select one of multiple equal-cost paths for forwarding. Since different packets have different hash results, network devices will choose different paths to forward packets, so as to share and forward traffic among multiple paths.
  • the 3-bit TC field and the 8-bit TTL field in the entropy tag can also be directly used to represent the identifier of the network slice.
  • a field in the entropy tag indication tag as the identifier to indicate that the entropy tag carries the identifier of the network slice.
  • it can be identified by a special value or a bit of the TC field in the entropy tag indicating the tag.
  • the network device may determine, based on a special value or a bit of the TC field in the entropy tag indication tag, that the tag value field of the entropy tag has been modified to be an identifier for representing a network slice.
  • the MPLS packet header includes an MPLS extension header (Extension Header), and the MPLS extension header carries the first indication information.
  • MPLS extension header Extension Header
  • one or more MPLS extension headers may be included, and the MPLS extension header is located below the MPLS label stack and above the upper layer protocol header or the packet payload.
  • the MPLS extension header carrying the first indication information may be a newly defined MPLS extension header, which is specially 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 is carried by defining a new type length value (type length value, TLV) in the defined MPLS extension header information.
  • FIG. 6 is a schematic diagram of a format of an MPLS packet header provided by an embodiment of the present application.
  • the MPLS packet header includes a label stack, an extension header and a payload (Payload).
  • the label stack includes multiple MPLS labels, and the multiple MPLS labels include an extension header label (Extension Header Label), and the extension header label is used to indicate that there is an MPLS extension header in the MPLS packet header.
  • extension headers Header or Extension Headers
  • Multiple extension headers Extension Header 1 to Extension Header N.
  • the extension header carrying the first indication information may be one of extension headers 1 to N, such as an extension header already defined in a relevant standard or a newly defined extension header.
  • the first indication information may be carried by carrying a new TLV in the defined MPLS extension header.
  • FIG. 7 is a schematic diagram of the format of an extension header provided by an embodiment of the present application.
  • an extension header may include a header length (Header Length), a header specific data (Header Specific Data) and a TLV field, and the TLV field may indicate the identifier of the network slice to carry the first an instruction message.
  • the process of forwarding the packet by the head node is described in detail, and the process of forwarding the packet by the intermediate node and the tail node will be described in detail below.
  • FIG. 8 is a schematic flowchart of a packet processing method 800 provided by an embodiment of the present application.
  • the packet processing method 800 includes the following steps.
  • Step 801 The first network device receives a packet sent by the second network device, where the packet includes an MPLS packet header, and the MPLS packet header includes first indication information and second indication information.
  • the first network device may be an intermediate node or a tail node in an MPLS network or an SR-MPLS network
  • the second network device may be a head node or an intermediate node in an MPLS network or an SR-MPLS network.
  • the packet received by the first network device includes first indication information and second indication information, the first indication information is used to indicate the network slice corresponding to the packet, and the second indication information is used to indicate the packet. The corresponding forwarding path of the text.
  • the second indication information carried in the packet received by the first network device may be complete path indication information initially added in the packet by the second network device, for example, the second network device may is the head node. For example, if the first network device is the next network device on the forwarding path determined by the second network device, taking FIG.
  • the network device 2 is the packet 2 determined by the network device 1
  • the second indication information received by the network device 2 to indicate the forwarding path is the addition of the network device 1 to indicate the path 1
  • the complete information can be the information used to indicate the hop-by-hop forwarding path in the MPLS network as described above, or the information indicating the forwarding of some designated nodes along the path, or the information indicating the tail node information, etc.
  • the second network device is an intermediate node
  • the first network device is the next network device located after the second network device on the forwarding path
  • the second indication information may be partial route indication information, that is, partial route information indicating the first network device to the destination device.
  • network device 1 is the head node
  • network device 2 is the next network device on path 1 of packet 2 forwarding determined by network device 1, that is, the first intermediate node on path 1.
  • Device 3 is the next network device located after network device 2 on path 1, that is, the second intermediate node on path 1.
  • the second indication information for indicating the forwarding path received by the network device 2 may be the complete information added by the network device 1 for indicating the path 1, and the complete information may be used to indicate the hop-by-hop in the SR-MPLS network
  • the information of the forwarding path for example, the complete information includes the identifier 2 indicating the network device 2 , the identifier 3 indicating the network device 3 , and the identifier 4 indicating the network device 4 .
  • the second indication information for indicating the forwarding path received by the network device 3 may be partial information indicating the path 1, and the partial information may be used to indicate the hop-by-hop from the network device 3 to the network device 4 in the SR-MPLS network Forwarding path information.
  • the second indication information in the packet received by the network device 3 may be It includes the identification 3 indicating the network device 3 and the identification 4 indicating the network device 4 , that is, part of the information indicating the path 1 .
  • the first network device is not the first intermediate node, it can also receive the complete path information added by the head node.
  • a network device receives a packet including the second indication information from the previous intermediate node, other intermediate nodes including the previous intermediate node do not update the second indication information added by the head node, so in this case The second indication information included in the packet received by the first network device is still the complete path information added by the head node.
  • the first network device may also be a tail node.
  • the second indication information received by the tail node may include the identity of the tail node itself.
  • the tail node may be an end node of a certain tunnel, or an end node of some spliced tunnels, or a domain boundary node of a network domain or a management domain.
  • Step 802 The first network device determines the network slice corresponding to the packet according to the first indication information.
  • the first indication information may include an identifier of a network slice to indicate a network slice corresponding to the packet. After receiving the packet, the first network device may determine the network slice corresponding to the packet according to the identifier of the network slice in the first indication information. For the manner of carrying the first indication information in the message, reference may be made to the description of the foregoing embodiment, which will not be repeated here.
  • Step 803 The first network device forwards the updated message to a third network device by using the network slice, where the third network device is a device on the forwarding path of the message determined according to the second indication information.
  • the first network device may determine the third network device as the next network device on the forwarding path according to the packet forwarding path indicated by the second indication information. Therefore, the first network device can determine the forwarding resources corresponding to the packet according to the network slice, that is, the forwarding resources allocated by the first network device to the network slice corresponding to the packet, and use the forwarding resources corresponding to the network slice.
  • the resource forwards the updated message to the third network device.
  • the forwarding resources may include one or more of processing resources, outbound interface resources and queue resources of the first network device.
  • the process of determining the forwarding resource corresponding to the network slice by the first network device and forwarding the message by using the forwarding resource is similar to the above-mentioned embodiment in FIG.
  • the first network device may also determine other information related to the packet forwarding, such as network topology information, according to the network slice, so as to forward the packet according to the determined other information.
  • the second indication information may include not only a tunnel label for identifying a node or link on the forwarding path, but also a service label for identifying a service, such as a virtual private network (Virtual Private Network, VPN) label.
  • the tail node may determine the third network device according to the second indication information by determining the outbound interface for forwarding the service packet and the next-hop network device (that is, the third network device) according to the VPN label. equipment.
  • the first network device updates the received message to obtain an updated message.
  • the updated message includes the first indication information, or the updated message includes the 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 the network slice corresponding to the updated packet.
  • network devices in multiple network domains can form a complete network slice, wherein multiple network slices in multiple network domains
  • the amount or type of resources allocated can be the same or different. But no matter which of the above specific situations, the network slice identifiers used in different network domains may be different, even though the resources configured for network slices in different network domains are the same. Therefore, when the first network device is a border device in a certain network domain that is connected to another network domain, the first network device may update the first indication information in the received packet to obtain updated first indication information , the updated first indication information is used to indicate the corresponding network slice identifier in the next network domain.
  • the network devices in network domain 1 and network domain 2 form a complete network slice 1, the network slice ID corresponding to network slice 1 in network domain 1 is "001", and the network slice 1 in network domain 2 is identified as "001". The corresponding network slice is identified as "002".
  • the first network device is a border device connected to the network domain 2 in the network domain 1 .
  • the first network device receives the packet 1 forwarded by the network device in the network domain 1, where the packet 1 carries the network slice identifier "001".
  • the first network device may update the packet 1 to obtain the updated packet 1.
  • the updated packet 1 includes an updated network slice identifier, and the updated network slice identifier is "002".
  • the updated packet includes updated second indication information
  • the updated second indication information is used to indicate a forwarding path of the updated packet.
  • the packet sent by the second network device includes the second indication information
  • the second indication information indicates the indication information of the first part of the path and the latter part of the path information in the complete path
  • the first network device can follow the second indication
  • the indication information of the latter part of the path information indicated in the information is updated to the second indication information to obtain updated second indication information, where the updated second indication information is used to indicate the forwarding path of the updated packet.
  • the updated message includes the updated second indication information to indicate the subsequent forwarding path of the updated message.
  • the first network device may also be a tail node in an MPLS network or an SR-MPLS network.
  • the first network device may decapsulate the packet to obtain the decapsulated packet, and decapsulate the packet.
  • the message does not include the MPLS header added by the head node. That is to say, when the first network device is the tail node in the MPLS network or the SR-MPLS network, the first network device needs to forward the packet outside the MPLS network or the SR-MPLS network. Therefore, the first network device needs to forward the packet outside the MPLS network or the SR-MPLS network.
  • the device can decapsulate the packet to remove the MPLS header in the packet, so as to prevent network devices outside the MPLS network or the SR-MPLS network from being unable to identify the packet.
  • the packet may already carry the MPLS label stack before entering the MPLS network.
  • 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 packet.
  • the tail node decapsulates the packet, it only decapsulates the MPLS label stack added by the head node, and retains the original MPLS label stack in the packet. Therefore, the decapsulated packet obtained after the tail node decapsulation process still includes the MPLS label stack carried before the packet enters the MPLS network.
  • the packet that the tail node performs decapsulation processing and forwards still includes the MPLS packet header carrying the original MPLS label stack.
  • the first network device may not perform the above steps 802 and 803, but after performing step 801, add the MPLS packet header to the head node.
  • the information is stripped, and then according to other information carried in the packet, such as the destination IP address, etc., the device that receives the packet is found and determined, and the packet is forwarded to the device.
  • the device that receives the message may be, for example, a device on the user access side.
  • the first network device is an MPLS network or a network device in an SR-MPLS network as an example
  • the scenarios in which the packet processing methods provided in the embodiments of the present application are applied are described. It is understandable that the packet processing method provided by the embodiment of the present application can also be applied to a network scenario in which a network slice corresponding to a packet needs to be indicated, and the network scenario applied by the embodiment of the present application is not uniquely limited here.
  • FIG. 9 is a schematic structural diagram of a network device 900 according to an embodiment of the present application.
  • network device 900 includes one or more processing units (cpus) 901, a network interface 902, a programming interface 903, memory 904, and one or more communication buses 905 for connecting various component interconnection.
  • processing units cpus
  • network interface 902 a network interface 902
  • programming interface 903 a programming interface 903
  • memory 904 a communication bus 905 for connecting various component interconnection.
  • the network device 900 may also omit or add some functional components or units based on the foregoing examples.
  • the network interface 902 is used, among other things, to connect with one or more other network devices/servers in the network system.
  • the communication bus 905 includes circuitry that interconnects and controls communication between system components.
  • Memory 904 may include non-volatile memory such as read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM) , Electrically Erasable Programmable Read-Only Memory (electrically EPROM, EEPROM) or flash memory.
  • Memory 904 may also include volatile memory, which may be random access memory (RAM), which acts as an external cache.
  • memory 904 or a non-transitory computer-readable storage medium of memory 904 stores the following programs, modules, and data structures, or subsets thereof, including, for example, a transceiving unit (not shown), acquiring unit 9041, and processing Unit 9042.
  • the network device 900 may have any function of the first network device in the above method 200 or the first network device in the method 800.
  • the transceiver unit in the network device 900 is used for executing the above-mentioned step 203, step 801 or step 803; the obtaining unit 9041 is used for executing the above-mentioned step 201; the processing unit 9042 is used for executing the above-mentioned step 202 or step 802.
  • the network device 900 corresponds to the first network device in the above method embodiments, and each module in the network device 900 and the above other operations and/or functions are respectively implemented to implement the first network device in the above method embodiments.
  • each module in the network device 900 and the above other operations and/or functions are respectively implemented to implement the first network device in the above method embodiments.
  • the function of the above transceiver unit can be realized by the processor calling the program code in the memory, and cooperate with the network interface 902 when needed; it can also be the network interface 902 on the network device 900 to complete the data transceiver operation .
  • the network device 900 is configured to execute the service processing method provided by the embodiment of the present application, for example, execute the packet processing method corresponding to the embodiment shown in FIG. 2 or FIG. 8 .
  • the embodiments of the present application further provide a network device, and the hardware structure of the network device is introduced below.
  • FIG. 10 is a schematic structural diagram of a network device 1000 according to an embodiment of the present application.
  • the network device 1000 may be configured as the first network device in the foregoing method embodiments.
  • the network device 1000 may correspond to the first network device in the above method embodiments, and each hardware, module, and other operations and/or functions in the network device 1000 are respectively implemented to implement the first network device in the method embodiments.
  • each step of the above-mentioned method 200 or method 800 is completed by an integrated logic circuit of hardware in the processor of the network device 1000 or an instruction in the form of software.
  • the steps of the methods disclosed in conjunction with the embodiments of the present application may be directly embodied as executed by a hardware processor, or executed by a combination of hardware and software modules in the processor.
  • the software modules may be located in random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other storage media mature in the art.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware. To avoid repetition, detailed description is omitted here.
  • the network device 1000 may also correspond to the network device 900 in the foregoing virtual appliance embodiment, and each functional module in the network device 900 is implemented by software and hardware of the network device 1000 .
  • the functional modules included in the network device 900 are generated after the processor of the network device 1000 reads the program code stored in the memory, or the processor of the network device 1000 reads the program code stored in the memory, and It is realized together with the communication interface.
  • the network device 1000 includes: a main control board 1010 and an interface board 1030 .
  • the main control board 1010 is also called a main processing unit (MPU) or a route processing card (route processor card).
  • the main control board 1010 controls and manages various components in the network device 1000, including route calculation, Equipment maintenance, protocol processing functions.
  • the main control board 1010 includes: a central processing unit 1011 and a memory 1012 .
  • the interface board 1030 is also called a line processing unit (LPU), a line card (line card) or a service board.
  • the interface board 1030 is used to provide various service interfaces and realize data packet forwarding.
  • the service interface includes but is not limited to an Ethernet interface, a POS (Packet over SONET/SDH) interface, etc.
  • the Ethernet interface is, for example, a flexible Ethernet service interface (Flexible Ethernet Clients, FlexE Clients).
  • the interface board 1030 includes: a central processing unit 1031 , a network processor 1032 , a forwarding table entry memory 1034 and a physical interface card (ph10sical interface card, PIC) 1033 .
  • the central processing unit 1031 on the interface board 1030 is used to control and manage the interface board 1030 and communicate with the central processing unit 1011 on the main control board 1010 .
  • the network processor 1032 is used to implement packet forwarding processing.
  • the form of the network processor 1032 may be a forwarding chip.
  • the processing of the uplink packet includes: processing of the incoming interface of the packet, and searching of the forwarding table; processing of the downlink packet: searching of the forwarding table, and so on.
  • the physical interface card 1033 is used to realize the interconnection function of the physical layer, the original traffic enters the interface board 1030 through this, and the processed packets are 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 the FlexE physical interface in the system architecture.
  • the physical interface card 1033 is also called a daughter card, which can be installed on the interface board 1030 and is responsible for converting the optoelectronic signal into a message and forwarding the message to the network processor 1032 for processing after checking the validity of the message.
  • the central processing unit 1031 of the interface board 1003 can also perform the functions of the network processor 1032 , such as implementing software forwarding based on a general-purpose CPU, so that the network processor 1032 is not required in the physical interface card 1033 .
  • the network device 1000 includes multiple interface boards, for example, the network device 1000 further includes an interface board 1040 , and the interface board 1040 includes a central processing unit 1041 , a network processor 1042 , a forwarding table entry storage 1044 and a physical interface card 1043 .
  • the network device 1000 further includes a switch fabric board 1020 .
  • the switch fabric unit 1020 may also be referred to as a switch fabric unit (switch fabric unit, SFU).
  • SFU switch fabric unit
  • the switching network board 1020 is used to complete data exchange between the interface boards.
  • the interface board 1030 and the interface board 1040 may communicate through the switch fabric board 1020 .
  • the main control board 1010 and the interface board 1030 are coupled.
  • the main control board 1010, the interface board 1030, the interface board 1040, and the switch fabric board 1020 are connected to the system backplane through a system bus to implement intercommunication.
  • an inter-process communication (inter-process communication, IPC) channel is established between the main control board 1010 and the interface board 1030, and the main control board 1010 and the interface board 1030 communicate through the IPC channel.
  • IPC inter-process communication
  • the network device 1000 includes a control plane and a forwarding plane
  • the control plane includes the main control board 1010 and the central processing unit 1031
  • the forwarding plane includes various components that perform forwarding, such as the forwarding entry storage 1034, the physical interface card 1033 and the network processing device 1032.
  • the control plane performs functions such as routers, generating forwarding tables, processing signaling and protocol packets, configuring and maintaining device status, etc.
  • the control plane delivers the generated forwarding tables to the forwarding plane.
  • the network processor 1032 is based on the control plane.
  • the delivered forwarding table forwards the packets received by the physical interface card 1033 by looking up the table.
  • the forwarding table issued by the control plane may be stored in the forwarding table entry storage 1034 .
  • the control plane and forwarding plane may be completely separate and not on the same device.
  • the network device 1000 is configured as the first network device in the method 200, it can be implemented as the central processing unit 1011 to obtain the message; adding the first indication information and the second indication information to the message to obtain an updated message; the network The processor 1032 triggers the physical interface card 1033 to send the updated packet to the second network device.
  • the network device 1000 is configured as the first network device in the method 800, it can be implemented as the central processor 1011 to obtain the packet; determine the network slice corresponding to the packet according to the first indication information in the packet; the network processor 1032 triggers the physical The interface card 1033 sends the updated message to the second network device.
  • the transceiver unit in the network device 900 may be equivalent to the physical interface card 1033 or the physical interface card 1043 in the network device 1000 ; the acquiring unit 9041 and the processing unit 9042 in the network device 900 may be equivalent to the central processing unit in the network device 1000 1011 or the central processing unit 1031.
  • the operations on the interface board 1040 in this embodiment of the present application are the same as the operations on the interface board 1030, and for brevity, details are not repeated here.
  • the network device 1000 in this embodiment may correspond to the first network device or the second network device in the foregoing method embodiments, and the main control board 1010 , the interface board 1030 and/or the interface board 1040 in the network device 1000
  • the functions and/or various steps performed by the first network device or the second network device in the foregoing method embodiments can be implemented, which are not repeated here for brevity.
  • main control boards there may be one or more main control boards, and when there are multiple main control boards, they may include the main main control board and the backup main control board.
  • a network device may have at least one switching network board, and the switching network board realizes data exchange between multiple interface boards, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of network devices in a distributed architecture are greater than those in a centralized architecture.
  • the form of the network device can also be that there is only one board, that is, there is no switching network board, and the functions of the interface board and the main control board are integrated on this board.
  • the central processing unit on the board can be combined into a central processing unit on this board to perform the functions of the two superimposed, the data exchange and processing capacity of this form of equipment is low (for example, low-end switches or routers and other networks. equipment).
  • the specific architecture used depends on the specific networking deployment scenario, and is not uniquely limited here.
  • the above-mentioned first network device or second network device may be implemented as a virtualized device.
  • the virtualization device may be a virtual machine (English: Virtual Machine, VM) running a program for sending a message, and the virtual machine is deployed on a hardware device (for example, a physical server).
  • a virtual machine refers to a complete computer system with complete hardware system functions simulated by software and running in a completely isolated environment.
  • the virtual machine can be configured as a first network device or a second network device.
  • the first network device or the second network device may be implemented based on a general-purpose physical server in combination with a network function virtualization (Network Functions Virtualization, NFV) technology.
  • Network Functions Virtualization Network Functions Virtualization
  • the first network device or the second network device 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 functions on a general physical server in combination with the NFV technology. It will not be repeated here.
  • network devices in the above-mentioned various product forms respectively have any functions of the first network device or the second network device in the above method embodiments, and details are not described herein again.
  • An embodiment of the present application provides a computer program product, which, when the computer program product runs on a network device, enables the network device to execute the method performed by the first network device in the foregoing method 200 or method 800 .
  • an embodiment of the present application provides a network system 1100 .
  • the system 1100 includes a network device 1101 and a network device 1102 .
  • the network device 1101 may be the first network device in the method 200, the above-mentioned network device 900, and the network device 1000, and the network device 1101 may be the head node in the network;
  • the network device 1102 may be the first network device in the method 800.
  • the network device, the above-mentioned network device 900, the network device 1000, and the network device 1102 may be intermediate nodes in the network.
  • the system 1100 may further include a network device 1103, the network device 1103 may be the above-mentioned network device 900 and the network device 1000, and the network device 1103 may be a tail node in the network.
  • Embodiments of the present application further provide a chip, including a processor and an interface circuit, where the interface circuit is configured to receive instructions and transmit them to the processor.
  • the processor is coupled to a memory, and the memory is used to store programs or instructions, and when the programs or instructions are executed by the processor, the chip system enables the method in any of the foregoing method embodiments.
  • the number of processors in the chip system may be one or more.
  • the processor can be implemented by hardware or by software.
  • the processor may be a logic circuit, an integrated circuit, or the like.
  • the processor may be a general-purpose processor implemented by reading software codes stored in memory.
  • the memory may be integrated with the processor, or may be provided separately from the processor, which is not limited in this application.
  • the memory can be a non-transitory processor, such as a read-only memory ROM, which can be integrated with the processor on the same chip, or can be provided on different chips.
  • the setting method of the processor is not particularly limited.
  • the system-on-chip may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or a system on chip (SoC), It can also be a central processing unit (CPU), a network processor (NP), a digital signal processing circuit (DSP), or a microcontroller (microcontroller).
  • controller unit, MCU it can also be a programmable logic device (PLD) or other integrated chips.
  • B corresponding to A means that B is associated with A, and B can be determined according to A.
  • determining B according to A does not mean that B is only determined according to A, and B may also be determined according to A and/or other information.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of units is only a logical function division.
  • there may be other division methods for example, multiple units or components may be combined or integrated. to another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • Units described as separate components may or may not be physically separated, and components shown as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated unit if implemented as a software functional unit and sold or used as a stand-alone product, may be stored in a computer-readable storage medium.
  • the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions to cause a computer device (which may be a personal computer, a server, or a network device/server, etc.) to execute all or part of the steps of the methods of the various embodiments of the present application.
  • the aforementioned storage medium includes: a U disk, a removable hard disk, a read-only memory, a random access memory, a magnetic disk or an optical disk and other media that can store program codes.

Landscapes

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

Abstract

一种报文处理方法及网络设备,该方法包括:第一网络设备获取报文;第一网络设备在报文中添加第一指示信息和第二指示信息,以获取更新的报文,第一指示信息和第二指示信息位于更新的报文的多协议标签交换MPLS报文头中,其中,第一指示信息用于指示与报文对应的网络切片,第二指示信息用于指示报文的转发路径;第一网络设备向第二网络设备发送更新的报文。在MPLS报文头中通过不同的指示信息分别指示该报文对应的网络切片以及转发路径,以使得网络设备能够根据统一的网络切片指示信息实现报文的正常转发,而无需转发路径上的各网络设备分别为同一网络切片分配不同的MPLS标签,能够有效地节省MPLS标签资源。

Description

一种报文处理方法及网络设备
本申请要求于2020年7月6日提交中国专利局、申请号为202010638513.0、发明名称为“一种携带网络切片标识的方法和设备”的中国专利申请的优先权和于2020年9月25日提交中国专利局、申请号为202011022649.5、发明名称为“一种报文处理方法及网络设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种报文处理方法及网络设备。
背景技术
分段路由(Segment Routing,SR)是一种源路由(Source Routing)技术,其基本原理是在数据报文头部封装一个或多个段标识(Segment ID,SID),每个SID指示网络中的特定节点、链路或需要执行的业务功能,从而使得网络中的各节点按照报文头中的SID的指示来依次选择报文需要经过的节点、链路或者选择执行的业务功能。SR可以使用多协议标签交换(Multi-Protocol Label Switching,MPLS)作为数据面技术,这时SR的SID在数据面使用MPLS标签栈进行封装携带。SR-MPLS的两种基本SID类型是前缀SID(prefix-SID)和邻接SID(adj-SID),分别用于标识SR网络中的节点和链路。通过这两种SID组合得到的SID列表,可以实现利用SR指示转发路径的功能。
目前,基于SR-MPLS来实现网络切片的方案是使用不同的SR SID来标识节点和链路所属的不同网络切片。具体来说,每个节点需要为不同的网络切片分配不同的prefix-SID,作为该节点在不同网络切片中的标识。此外,每个节点还需要为所连接的一条链路在不同的网络切片中分配不同的adj-SID,用于标识同一链路上为不同网络切片分配的资源。也就是说,对于相同网络切片中的不同节点和链路,以及不同网络切片中的相同节点和链路,均需要不同的MPLS标签来标识。
因此,在网络切片的数量和规模较大时,需要分配大量的MPLS标签,导致MPLS标签资源消耗严重。
发明内容
本申请实施例提供了一种报文处理方法及网络设备,通过在MPLS数据面为报文封装MPLS报文头,并且在MPLS报文头中通过不同的指示信息分别指示该报文对应的网络切片以及转发路径,以使得转发路径上的各网络设备能够根据统一的网络切片指示信息实现报文的正常转发,而无需转发路径上的各网络设备分别为同一网络切片分配不同的MPLS标签作为网络切片标识,能够有效地节省MPLS标签资源。进一步地,在该报文的处理方法应用于SR-MPLS网络时,也可以有效地节省SID资源。
本申请第一方面提供一种报文处理方法,包括:第一网络设备获取报文,第一网络设备可以为MPLS网络或SR-MPLS网络中的网络设备;所述第一网络设备在所述报文中添加第一指示信息和第二指示信息,以获取更新的报文,所述第一指示信息和所述第二指示信息位于所述更新的报文的MPLS报文头中,其中,所述第一指示信息例如可以包括网络切片 的标识,用于指示与所述报文对应的网络切片,所述第二指示信息用于指示所述报文的转发路径;所述第一网络设备向第二网络设备发送所述更新的报文。
在一种可能的情形中,第一网络设备获取的报文中已包括MPLS报文头,则第一网络设备在该已存在的MPLS报文头中添加第一指示信息和第二指示信息,以获取更新的报文;在另一种可能的情形中,第一网络设备获取的报文中并未包括MPLS报文头,则第一网络设备可以新添加MPLS报文头,并且该第一指示信息和第二指示信息在该新添加的MPLS报文头中,以获取更新的报文。该第一指示信息和第二指示信息的添加位置可以根据具体设计设置在诸如MPLS标签栈或MPLS扩展头等。能够执行添加指示信息操作的第一网络设备可以为MPLS网络的头节点。
本方案中,通过在MPLS数据面为报文封装MPLS报文头,并且在MPLS报文头中通过不同的指示信息分别指示该报文对应的网络切片以及转发路径,以使得网络设备能够根据相同的网络切片的指示信息实现报文的正常转发,不再基于单个MPLS标签同时标识网络切片和转发路径上的节点和链路,即无需基于MPLS标签来标识节点和链路所属的网络切片,能够有效地节省MPLS标签资源。在该报文的处理方法应用于SR-MPLS网络时,也可以有效地节省SID资源。
可选地,在一种可能的实现方式中,所述MPLS报文头包括MPLS标签栈,所述MPLS标签栈包括第一标签字段和第二标签字段,所述第一标签字段用于指示所述第二标签字段包括所述第二指示信息,所述第二标签字段包括所述第二指示信息。通过MPLS标签栈中的不同标签字段来分别携带第一指示信息和第二指示信息,能够提高方案的可扩展性。
可选地,在一种可能的实现方式中,所述第一标签字段包括扩展标签(Extension Label,EL)和扩展特殊功能标签(Extended Special Purpose Label,ESPL)。
可选地,在一种可能的实现方式中,所述MPLS报文头包括MPLS特殊用途标签,所述MPLS特殊用途标签中的预留字段包括所述第一指示信息。
可选地,在一种可能的实现方式中,所述MPLS特殊用途标签包括熵标签或流标记(Flow-ID)标签。
可选地,在一种可能的实现方式中,所述预留字段包括优先级(Traffic Class,TC)字段和生存期(Time to Live,TTL)字段中的一个或多个。
可选地,在一种可能的实现方式中,所述MPLS报文头包括MPLS扩展头,所述MPLS扩展头携带所述第一指示信息。
可选地,在一种可能的实现方式中,所述第一网络设备向第二网络设备发送所述更新的报文,包括:所述第一网络设备根据所述网络切片确定用于发送所述更新的报文的转发资源;所述第一网络设备利用所述转发资源发送所述更新的报文。
可选地,在一种可能的实现方式中,所述转发资源包括所述第一网络设备的处理资源、出接口资源和队列资源中的一个或多个。
可选地,在一种可能的实现方式中,所述第一网络设备向第二网络设备发送的所述更新的报文为第一报文,所述方法还包括:所述第一网络设备还更新所述报文以获取第二报文,所述第二报文包括所述第一指示信息和第三指示信息,所述第三指示信息用于指示所 述第二报文的转发路径;所述第一网络设备向第三网络设备发送所述第二报文。也就是说,除了向第二网络设备发送报文之外,第一网络设备还可以向其他的邻居网络设备发送报文,以实现报文的多路径转发。该实现方式可以用于诸如高可靠性转发或组播转发等应用场景。第一网络设备将所获取报文的载荷和/或其他必要数据信息复制多份,如至少复制生成第一报文和第二报文,并分别为第一报文和第二报文添加网络切片的指示信息和转发路径指示信息。第一报文和第二报文的网络切片的指示信息可以相同,此时同为第一网络设备所获取的报文的组播复制报文的第一报文和第二报文,可以共享同一网络切片资源,但第一报文和第二报文的转发路径的指示信息可以不同,以分别指示作为复制报文的第一报文和第二报文沿不同转发路径分发,从而实现组播数据分发或网络数据分发的高可靠性保障。
在其他可能的情形中,第一报文和第二报文的网络切片的指示信息也可以不同。第一报文和第二报文的转发路径的指示信息也可以相同。
可选地,在一种可能的实现方式中,所述第一网络设备为MPLS网络或SR-MPLS网络中的网络设备。
本申请第二方面提供一种报文处理方法,包括:第一网络设备接收第二网络设备发送的报文,所述报文包括多协议标签交换MPLS报文头,所述MPLS报文头包括第一指示信息和第二指示信息;所述第一网络设备根据所述第一指示信息确定所述报文对应的网络切片;所述第一网络设备利用所述网络切片向第三网络设备转发更新的所述报文,所述第三网络设备为根据所述第二指示信息确定的所述报文的转发路径上的设备。该第一网络设备可以是MPLS网络中的任意中间节点设备或尾节点设备。在本方案中,第一网络设备可以解析MPLS报文头中的第一指示信息,该第一指示信息可以是MPLS网络中用于标识一个网络切片的统一标识。第一网络设备可以根据该统一标识确定转发报文所需使用的网络切片。本方案通过在MPLS报文头中添加不同的指示信息分别指示该报文对应的网络切片以及转发路径,以使得转发路径上的各网络设备能够根据统一的网络切片指示信息实现报文的正常转发,而无需转发路径上的各网络设备分别为同一网络切片分配不同的MPLS标签作为切片标识,能够有效地节省MPLS标签资源。进一步地,在该报文的处理方法应用于SR-MPLS网络时,也可以有效地节省SID资源。
可选地,在一种可能的实现方式中,所述第一网络设备利用所述网络切片向第三网络设备转发更新的所述报文,包括:所述第一网络设备根据所述报文对应的网络切片,确定为所述网络切片分配的转发资源;所述第一网络设备利用所述转发资源实现所述更新的所述报文向所述第三网络设备的转发。在其他可能的情形中,网络切片除了与转发资源相关联之外,还可以与某个网络拓扑相关联,此时,所述第一网络设备利用所述网络切片向第三网络设备转发更新的所述报文,包括:所述第一网络设备根据所述报文对应的网络切片,确定与所述网络切片对应的网络拓扑和/或转发资源,并根据所述网络拓扑和/或转发资源将所述更新的报文转发至所述第三网络设备。
可选地,在一种可能的实现方式中,所述转发资源包括所述第一网络设备的处理资源、出接口资源和队列资源中的一个或多个。
可选地,在一种可能的实现方式中,所述更新的所述报文包括所述第一指示信息,或所述报文包括更新的第一指示信息,所述更新的第一指示信息根据所述第一指示信息确定,所述更新的第一指示信息用于指示所述更新的所述报文对应的所述网络切片。
可选地,在一种可能的实现方式中,所述更新的所述报文包括更新的第二指示信息,所述更新的第二指示信息用于指示所述更新的所述报文的转发路径。
可选地,在一种可能的实现方式中,所述第一网络设备根据所述报文对应的网络切片,转发所述报文之前,所述方法还包括:所述第一网络设备对所述报文进行解封装处理,得到解封装的报文,所述解封装的报文不包括由例如头节点(如由前述第一方面描述的、可以实现头节点角色的第一网络设备)所添加的MPLS报文头信息,该MPLS报文头信息包括网络切片的指示信息和转发路径的指示信息。在该场景中,作为一种可能的情形,在头节点为报文添加MPLS报文头信息之前,由头节点初始获取的报文中不包括MPLS报文头,头节点可以添加包括MPLS报文头信息的完整MPLS报文头,则第一网络设备可以通过解封装操作将该完整MPLS报文头整体去除;作为另一种可能的情形,在头节点为报文添加MPLS报文头信息之前,由头节点初始获取的报文中已经包括MPLS报文头,头节点在该已存在的MPLS报文头中添加相应的MPLS报文头信息,则第一网络设备可以通过解封装操作至少将该MPLS报文头中还残留的、由头节点添加的MPLS报文头信息剥离,但保留头节点初始获取报文时即包括的原始MPLS报文头。该第一网络设备可以是MPLS网络的尾节点。该第一网络设备实现尾节点角色时,通过解封装操作剥离的MPLS报文头信息例如可以包括由头节点添加的网络切片的指示信息,以及由头节点添加的转发路径的指示信息中未在中间节点弹出的信息(如尾节点标签)。
可选地,在一种可能的实现方式中,所述MPLS报文头包括MPLS标签栈,所述MPLS标签栈包括第一标签字段和第二标签字段,所述第一标签字段用于指示所述第二标签字段包括所述第二指示信息,所述第二标签字段包括所述第二指示信息。
可选地,在一种可能的实现方式中,所述第一标签包括扩展标签和扩展特殊功能标签。
可选地,在一种可能的实现方式中,所述MPLS报文头包括MPLS特殊用途标签,所述MPLS特殊用途标签中的预留字段包括所述第一指示信息。
可选地,在一种可能的实现方式中,所述MPLS特殊标签包括熵标签或流标记标签。
可选地,在一种可能的实现方式中,所述预留字段包括优先级字段和生存期字段中的一个或多个。
可选地,在一种可能的实现方式中,所述MPLS报文头包括MPLS扩展头,所述MPLS扩展头携带所述第一指示信息。
可选地,在一种可能的实现方式中,所述第一网络设备为MPLS网络或基于分段路由的多协议标签交换SR-MPLS网络中的网络设备。
本申请第三方面提供一种网络设备,该网络设备为第一网络设备,包括:获取单元,用于获取报文;处理单元,用于在所述报文中添加第一指示信息和第二指示信息,以获取更新的报文,所述第一指示信息和所述第二指示信息位于所述更新的报文的多协议标签交 换MPLS报文头中,其中,所述第一指示信息用于指示与所述报文对应的网络切片,所述第二指示信息用于指示所述报文的转发路径;收发单元,用于向第二网络设备发送所述更新的报文。
可选地,在一种可能的实现方式中,所述MPLS报文头包括MPLS标签栈,所述MPLS标签栈包括第一标签字段和第二标签字段,所述第一标签字段用于指示所述第二标签字段包括所述第二指示信息,所述第二标签字段包括所述第二指示信息。
可选地,在一种可能的实现方式中,所述第一标签字段包括扩展标签EL和扩展特殊功能标签ESPL。
可选地,在一种可能的实现方式中,所述MPLS报文头包括MPLS特殊用途标签,所述MPLS特殊用途标签中的预留字段包括所述第一指示信息。
可选地,在一种可能的实现方式中,所述MPLS特殊用途标签包括熵标签或流标记Flow-ID标签。
可选地,在一种可能的实现方式中,所述预留字段包括优先级TC字段和生存期TTL字段中的一个或多个。
可选地,在一种可能的实现方式中,所述MPLS报文头包括MPLS扩展头,所述MPLS扩展头携带所述第一指示信息。
可选地,在一种可能的实现方式中,所述处理单元,还用于根据所述网络切片确定用于发送所述更新的报文的转发资源;所述处理单元,具体用于利用所述转发资源发送所述更新的报文。
可选地,在一种可能的实现方式中,所述转发资源包括所述第一网络设备的处理资源、出接口资源和队列资源中的一个或多个。
可选地,在一种可能的实现方式中,所述处理单元,还用于更新所述报文以获取第二报文,所述第二报文包括所述第一指示信息和第三指示信息,所述第三指示信息用于指示所述第二报文的转发路径;所述收发单元,还用于向第三网络设备发送所述第二报文。
可选地,在一种可能的实现方式中,所述第一网络设备为MPLS网络或基于分段路由的多协议标签交换SR-MPLS网络中的网络设备。
本申请第四方面提供一种网络设备,该网络设备为第一网络设备,包括:收发单元,用于接收第二网络设备发送的报文,所述报文包括多协议标签交换MPLS报文头,所述MPLS报文头包括第一指示信息和第二指示信息;处理单元,用于根据所述第一指示信息确定所述报文对应的网络切片;所述收发单元,还用于利用所述网络切片向第三网络设备转发更新的所述报文,所述第三网络设备为根据所述第二指示信息确定的所述报文的转发路径上的设备。
可选地,在一种可能的实现方式中,所述处理单元,还用于根据所述报文对应的网络切片,确定为所述网络切片分配的转发资源;所述收发单元,具体用于利用所述转发资源实现所述更新的所述报文向所述第三网络设备的转发。
可选地,在一种可能的实现方式中,所述转发资源包括所述第一网络设备的处理资源、出接口资源和队列资源中的一个或多个。
可选地,在一种可能的实现方式中,所述更新的所述报文包括所述第一指示信息,或所述报文包括更新的第一指示信息,所述更新的第一指示信息根据所述第一指示信息确定,所述更新的第一指示信息用于指示所述更新的所述报文对应的所述网络切片。
可选地,在一种可能的实现方式中,所述更新的所述报文包括更新的第二指示信息,所述更新的第二指示信息用于指示所述更新的所述报文的转发路径。
可选地,在一种可能的实现方式中,所述处理单元,还用于对所述报文进行解封装处理,得到解封装的报文。
可选地,在一种可能的实现方式中,所述MPLS报文头包括MPLS标签栈,所述MPLS标签栈包括第一标签字段和第二标签字段,所述第一标签字段用于指示所述第二标签字段包括所述第二指示信息,所述第二标签字段包括所述第二指示信息。
可选地,在一种可能的实现方式中,所述第一标签包括扩展标签和扩展特殊功能标签。
可选地,在一种可能的实现方式中,所述MPLS报文头包括MPLS特殊用途标签,所述MPLS特殊用途标签中的预留字段包括所述第一指示信息。
可选地,在一种可能的实现方式中,所述MPLS特殊标签包括熵标签或流标记标签。
可选地,在一种可能的实现方式中,所述预留字段包括优先级字段和生存期字段中的一个或多个。
可选地,在一种可能的实现方式中,所述MPLS报文头包括MPLS扩展头,所述MPLS扩展头携带所述第一指示信息。
可选地,在一种可能的实现方式中,所述第一网络设备为MPLS网络或基于分段路由的多协议标签交换SR-MPLS网络中的网络设备。
本申请第五方面提供一种网络设备,该网络设备包括:处理器,用于使得网络设备实现如前述第一方面的任一可能的实现方式中描述的方法。该设备还可以包括存储器,存储器与处理器耦合,处理器执行存储器中存储的指令时,可以使得网络设备实现前述第一方面任一种可能的实现方式描述的方法。该设备还可以包括通信接口,通信接口用于该装置与其它设备进行通信,示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。
本申请第六方面提供一种网络设备,该网络设备包括:处理器,用于使得网络设备实现如前述第二方面的任一可能的实现方式中描述的方法。该设备还可以包括存储器,存储器与处理器耦合,处理器执行存储器中存储的指令时,可以使得网络设备实现前述第二方面任一种可能的实现方式描述的方法。该设备还可以包括通信接口,通信接口用于该装置与其它设备进行通信,示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。
本申请中存储器中的指令可以预先存储也可以使用该网络设备时从互联网下载后存储,本申请对于存储器中指令的来源不进行具体限定。本申请中的耦合是装置、单元或模块之间的间接耦合或连接,其可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。
本申请第七方面提供一种计算机存储介质,该计算机存储介质可以是非易失性的;该计算机存储介质中存储有计算机可读指令,当该计算机可读指令被处理器执行时实现第一方面或第二方面的任一可能的实现方式中描述的方法。
本申请第八方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面或第二方面的任一可能的实现方式中描述的方法。
本申请第九方面提供一种网络系统,该网络系统包括如前述第三方面任一实现方式中所述的网络设备以及如前述第四方面任一实现方式中所述的网络设备;或者,该网络系统包括如前述第五方面任一实现方式中所述的网络设备以及如前述第六方面任一实现方式中所述的网络设备。
可选地,在一种可能的实现方式中,该网络系统中包括的如前述第四方面或第六方面任一实现方式中所述的网络设备的个数可以为多个。
上述第三方面至第九方面提供的方案,用于实现或配合实现上述第一方面至第二方面提供的方法,因此可以与第一方面至第二方面达到相同或相应的有益效果,此处不再进行赘述。
附图说明
图1(a)为本申请实施例提供的一种网络的结构示意图;
图1(b)为本申请实施例提供的一种网络切片的结构示意图;
图1(c)为本申请实施例提供的另一种网络切片的结构示意图;
图1(d)为本申请实施例提供的另一种网络切片的结构示意图;
图2为本申请实施例提供的一种报文处理方法200的流程示意图;
图3为本申请实施例提供的一种报文转发的示意图;
图4为本申请实施例提供的一种MPLS标签的结构示意图;
图5为本申请实施例提供的另一种MPLS标签的结构示意图;
图6为本申请实施例提供的一种MPLS报文头的格式示意图;
图7为本申请实施例提供的一种扩展头的格式示意图;
图8为本申请实施例提供的一种报文处理方法800的流程示意图;
图9为本申请实施例提供的一种网络设备900的结构示意图;
图10为本申请实施例提供的一种网络设备1000的结构示意图;
图11为本申请实施例提供的一种网络系统1100的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别 类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的单元的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分布到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本申请方案的目的。
在5G网络中,多样化的业务需求对网络在速度、性能、安全、可靠性、时延等方面的需求各不相同。例如,增强移动宽带(enhanced mobile broadband,eMBB)场景(例如虚拟现实,增强现实等场景),对带宽要求较高,需要xGbps级的带宽。再例如,海量机器类通信(massive machine type communication,mMTC)场景(例如可穿戴场景,智能电网等场景),需要支持海量的设备接入,例如需要支持数亿或数十亿的设备接入。再例如,超可靠低时延(ultrareliable and low latency communications,uRLLC)场景(例如自动驾驶,远程手术,工业控制等场景),需要支持1ms的超低时延。面对不同的场景、不同的要求以及极致体验的需求,网络切片应运而生,它可以基于不同的场景和需求灵活构建不同特征的网络。
网络切片,是指在物理或者虚拟的网络基础设施上,根据不同的业务需求而定制的逻辑网络。网络切片可以是一个包括了接入网、传输网、核心网以及应用服务器的完整的端到端网络,能够提供完整的通信服务,具有一定网络能力。网络切片也可以是接入网、传输网、核心网和应用服务器的任意组合。
一个网络切片通常可以视为一个实例化的5G网络。这样的网络结构允许运营商将网络作为一种服务提供给用户,并可以根据速率、容量、覆盖性、延迟、可靠性、安全性和可用性等指标对实体网络进行自由组合,从而满足不同用户的要求。
SR技术通过在报文中添加一段有序的指令列表来控制报文转发,该指令列表可以称为段列表(Segment List)。Segment List中的每一个标签可以标识一条链路或节点,整个标签栈从栈顶到栈底标识了一条转发路径,其中的每一个标签可以称为段标识(Segment Identifier,SID)。在报文转发的过程中,根据标签栈的栈顶标签查找对应的链路并转发报文,将标签栈中的所有标签弹出后,报文到达目的地。
SR可以使用MPLS作为数据面技术(称为SR-MPLS),这时SR的SID在数据面使用MPLS 标签栈进行封装携带。SR-MPLS的两种基本SID类型是前缀SID(prefix-SID)和邻接SID(adj-SID),分别用于标识SR网络中的节点和链路。通过这两种SID组合得到的SID列表,可以实现SR的源路由功能。
目前,基于SR-MPLS来实现网络切片的方案是使用不同的SR SID来标识节点和链路所属的不同网络切片。具体来说,每个节点需要为不同的网络切片分配不同的prefix-SID,作为该节点在不同网络切片中的标识。此外,每个节点还需要为所连接的一条链路分配不同的adj-SID,用于标识同一链路上为不同网络切片分配的资源。
示例性地,可以参阅图1(a),图1(a)为本申请实施例提供的一种网络的结构示意图。如图1(a)所示,该网络架构为SR-MPLS网络架构,该SR-MPLS网络架构中包括有多个网络设备,分别为网络设备1至网络设备9。
可以参阅图1(b),图1(b)为本申请实施例提供的一种网络切片的结构示意图。如图1(b)所示,SR-MPLS网络架构中的网络设备1至网络设备5以及网络设备7至网络设备9共同构成了网络切片1。因此,网络切片1中的每个网络设备均分配有一个prefix-SID(例如101至105以及107至109),以作为其在网络切片1中的标识;并且,每个网络设备还需要为所连接的一条链路分配相应的adj-SID,用于标识该一链路上为网络切片1分配的资源。
可以参阅图1(c),图1(c)为本申请实施例提供的另一种网络切片的结构示意图。如图1(c)所示,SR-MPLS网络架构中的网络设备2至网络设备4以及网络设备6至网络设备9共同构成了网络切片2。类似地,网络切片2中的每个网络设备均分配有一个prefix-SID(例如202至204以及206至209),以作为其在网络切片2中的标识;并且,每个网络设备还需要为所连接的一条链路分配相应的adj-SID,用于标识该一链路上为网络切片2分配的资源。
如图1(b)和图1(c)所示,网络切片1和网络切片2分别对应不同的网络拓扑,即不同的网络切片所对应的网络拓扑可以是不同的。在一些情况下,不同的网络切片也可以是对应相同的网络拓扑,即在一个网络拓扑下可以对应多个网络切片。可以参阅图1(d),图1(d)为本申请实施例提供的另一种网络切片的结构示意图。其中,如图1(d)所示,SR-MPLS网络架构中的网络设备2至网络设备4以及网络设备6至网络设备9共同构成了网络切片3。也就是说,网络切片3对应的网络拓扑与图1(c)中的网络切片2对应的网络拓扑是相同的。类似地,网络切片3中的每个网络设备同样需要分配一个prefix-SID(例如302至304以及306至309),以作为其在网络切片3中的标识;并且,每个网络设备还需要为所连接的一条链路分配相应的adj-SID,用于标识该一链路上为网络切片3分配的资源。
基于以上的描述可知,在网络中,可以通过划分不同的网络拓扑来构成不同的网络切片,并且相同的网络拓扑还可以对应多个不同的网络切片。因此,基于实际需求,可以在网络中形成大量的网络切片。此外,每个网络设备都需要为不同的网络切片分配不同的prefix-SID,以及为其所连接的一条链路分配不同的adj-SID,即需要分配的prefix-SID和adj-SID的数量与网络切片的数量具有正相关的关系。也就是说,在网络切片的数量较 多的情况,采用目前的SR-MPLS数据面封装技术来实现网络切片,需要分配大量的prefix-SID和adj-SID来标识不同网络切片的中的节点和链路,SID资源消耗严重,增加了SID规划和管理的复杂度。并且,由于每个网络设备上能够分配的SID是有限的,在网络切片的数量较多的情况下,将会消耗该网络设备上大量的SID资源,从而影响了SID资源的正常分配。
此外,由于SID携带于MPLS标签中,单个MPLS标签可以用于标识网络切片和转发路径。在网络切片相同且链路不同,以及网络切片不同且链路相同的情况下,均需要不同的MPLS标签来标识。因此,在网络切片的数量和规模较大时,需要分配大量的MPLS标签,导致MPLS标签资源消耗严重。
有鉴于此,本申请实施例提供一种报文的处理方法,通过在MPLS数据面为报文封装MPLS报文头,并且在MPLS报文头中通过不同的指示信息分别指示该报文对应的网络切片以及转发路径,以使得网络设备能够根据网络切片实现报文的正常转发,不再基于MPLS标签同时标识网络切片和转发路径,能够有效地节省MPLS标签资源。进一步地,在该报文的处理方法应用于SR-MPLS网络时,也能够有效地节省SID资源。
可以参阅图2,图2为本申请实施例提供的一种报文处理方法200的流程示意图。该报文处理方法200可以应用于图1(a)所示的网络结构中。
如图2所示,该报文处理方法200至少包括以下步骤。
步骤201,第一网络设备获取报文。
本实施例中,第一网络设备可以为MPLS网络或SR-MPLS网络中的网络设备。第一网络设备获取报文的方式可以是接收其他网络设备发送的报文,例如接收位于MPLS网络之外的网络设备所发送的数据报文,或者是自身生成报文,或者是从接入侧的用户设备接收报文。
步骤202,第一网络设备在报文中添加第一指示信息和第二指示信息,以获取更新的报文,第一指示信息和第二指示信息位于更新的报文的MPLS报文头中。其中,第一指示信息用于指示与报文对应的网络切片,第二指示信息用于指示报文的转发路径。
本实施例中,第一网络设备在获取到报文之后,对报文进行更新,以使得更新的报文中的MPLS报文头中包括第一指示信息和第二指示信息。其中,在第一网络设备获取到的报文中可以包括有MPLS报文头,第一网络设备在该MPLS报文头中添加第一指示信息和第二指示信息,以得到更新的报文。在第一网络设备获取到的报文中也可以不包括MPLS头,第一网络设备在该报文中添加包括有第一指示信息和第二指示信息的MPLS报文头,以得到更新的报文。该执行添加第一指示信息和第二指示信息操作第一网络设备可以是MPLS网络中的头节点,该头节点例如可以是隧道端节点或网络边界节点等。
在第一网络设备在报文中添加第一指示信息和第二指示信息之前,第一网络设备可以确定该报文对应的网络切片以及该报文的转发路径,以确定第一指示信息和第二指示信息。
在一个可能的实施例中,第一网络设备可以根据该报文中所携带的信息确定该报文对应的网络切片,或者第一网络设备可以根据用于接收该报文的资源信息来确定该报文对应 的网络切片。
示例性地,在第一网络设备中可以预先配置有确定网络切片的策略,第一网络设备可以在该策略的指示下,根据报文中的源地址、目的地址或者协议号,确定该报文对应的网络切片,即用于转发该报文的网络切片。该源地址例如可以为发送报文的源互联网(Internet Protocol,IP)地址或者源媒体接入控制(Media Access Control,MAC)地址,如用户主机或基站的地址。该目的地址例如可以为报文的目的IP地址或目的MAC地址。第一网络设备也可以是根据报文中的其他一些字段,例如互联网协议第4版(Internet Protocol Version 6,IPv4)或IPv6报文头中的差分服务代码点(Differentiated Services Code Point,DSCP)字段或流量等级(Traffic Class)字段,以太头中的虚拟局域网标识(Virtual Local Area Network identifier,VLAN ID)等,来确定报文所对应的网络切片。第一网络设备具体可以是根据上述字段中的某一个字段(例如源地址、目的地址、协议号、DSCP字段或者TC字段等),或者某几个字段的组合来确定报文所属的网络切片。
第一网络设备可以根据用户侧的业务需求,建立发送业务报文的设备源地址与网络切片之间的对应关系。这样,第一网络设备在接收到用户侧发送的业务报文之后,可以根据该业务报文中的源地址确定对应的网络切片。
类似地,第一网络设备也可以预先建立有目的地址与网络切片之间的对应关系,第一网络设备在接收到业务报文之后,可以根据该业务报文中的目的地址确定对应的网络切片。
此外,报文中的协议号可以指示该报文携带的数据所采用的数据协议。在预先建立有数据协议与网络切片之间的对应关系的情况下,第一网络设备也可以根据报文中的协议号来确定该报文对应的网络切片。
示例性地,第一网络设备还可以是根据第一网络设备接收报文的物理接口信息或逻辑接口信息等用于接收该报文的资源信息,来确定报文对应的网络切片。例如,在配置了第一网络设备的入接口所对应的网络切片的情况下,其他网络设备在向第一网络设备转发报文时,可以根据报文所属的网络切片,将该报文转发至第一网络设备对应的入接口上。因此,第一网络设备可以根据接收报文的入接口信息,确定该报文对应的网络切片。
第一网络设备在确定了该报文对应的网络切片之后,可以生成第一指示信息。该第一指示信息可以包括网络切片的标识,以指示该报文对应的网络切片。接收到该报文的网络设备可以根据第一指示信息中的网络切片的标识,确定该报文对应的网络切片。
在一个可能的实施例中,第一网络设备可以根据报文的目的地址,确定报文在MPLS网络中的转发路径,并且根据报文在MPLS网络中的转发路径,生成第二指示信息。
第二指示信息可以通过多种方式来指示报文的转发路径。
方式1、第二指示信息可以指示报文在MPLS网络中完整的转发路径。
示例性地,第二指示信息中可以包括有该报文转发过程中需要经过的所有节点的信息。以图1(a)中的网络为例,网络设备1在接收到报文之后,可以确定报文在MPLS网络中的转发路径为“网络设备1--网络设备2--网络设备3--网络设备4--网络设备5”。 在本申请实施例提供的方法应用于传统的MPLS网络时,可以通过控制信令预先建立好一条MPLS标签交换路径;在网络设备1所生成的指示信息中可以只携带标识该路径的一个MPLS标签,并且在该报文的转发过程中,沿途节点设备逐跳进行MPLS标签的交换(例如将MPLS标签A替换为MPLS标签B)。对于报文沿途的节点设备,节点设备接收到的报文中的MPLS标签A是本节点为到目的节点的路径分配的一个标签,根据该MPLS标签A可以在本地查表得到对应的MPLS标签B以及报文发送的出接口,MPLS标签B则是下一跳节点为到同一目的节点的路径所分配的一个标签。
在本申请实施例提供的方法应用于SR-MPLS网络时,在网络设备1所生成的指示信息中,则可以携带有网络设备2、网络设备3、网络设备4以及网络设备5的信息,以指示该报文在MPLS网络中完整的转发路径。例如,在MPLS网络中,网络设备1可以通过多个MPLS标签分别携带网络设备2至网络设备5的标识;在SR-MPLS网络中,网络设备1可以通过MPLS标签栈携带segment list,segment list中包括多个分别用于指示网络设备2至网络设备5的SID。
方式2、第二指示信息可以指示报文在MPLS网络中的部分转发路径。
示例性地,第二指示信息中可以包括有该报文转发过程中需要经过的部分节点的信息。以图1(a)中的网络为例,在网络设备1确定报文在MPLS网络中的转发路径为“网络设备1--网络设备2--…--网络设备5”时,网络设备1所生成的指示信息中,可以仅携带有网络设备2和网络设备5的信息,以指示该报文在MPLS网络中需要经过的网络设备(即报文需要经过指定的网络设备2和网络设备5)。
方式3、第二指示信息仅可以指示报文在MPLS网络中所经过的尾节点。
示例性地,第二指示信息中可以仅包括该报文转发过程中需要经过的尾节点的信息。这样,在该报文的沿途转发过程中,接收到该报文的各个网络设备,可以根据第二指示信息中所指示的尾节点,基于默认的转发策略(例如最短路径转发策略)转发该报文。也就是说,在第二指示信息可以通过指示报文需要经过的尾节点,来指示报文的转发路径,该报文的转发路径即为指定头节点和尾节点情况下的缺省路径。同样以图1(a)中的网络为例,在网络设备1接收到报文之后,网络设备1确定采用缺省路径来转发该报文。因此,在网络设备1所生成的指示信息中,可以仅携带网络设备5的信息,以指示该报文在MPLS网络中需要经过的尾节点。这样,在报文的转发过程中,每个接收到报文的网络设备均按照默认的转发策略将报文转发至缺省路径上的下一个网络设备上,最终使得报文能够基于缺省路径实现转发。
方式4、第二指示信息可以指示完整路径中的前一部分路径以及后一部分路径信息的指示信息。
示例性地,在报文的转发路径较长的情况下,第一网络设备所生成的第二指示信息可以仅指示该报文的完整路径中的前一部分路径,该第二指示信息还可以指示该报文的转发路径上的其他节点更新该报文的后一部分路径。同样以图1(a)中的网络为例,在网络设备1接收到报文之后,网络设备可以确定该报文的转发路径为“网络设备1--网络设备2--网络设备3--网络设备4--网络设备5”。在网络设备1所生成的指示信息中,则可以携带 有网络设备2和网络设备3的信息,以指示该报文在MPLS网络中的前一部分转发路径。并且,在该指示信息中还可以携带有用于指示网络设备3更新路径信息的信息,例如该指示信息中携带有绑定段标识(binding segment identifier,binding-sid),该binding-sid指示该报文后续的路径信息,网络设备3基于该binding-sid可以在报文中更新其后续的路径信息。其中,binding-sid可以指示一个域内的隧道标签栈,该隧道标签栈中可以携带报文的后续路径信息。也就是说,在网络设备1所生成的指示信息中可以通过多个MPLS标签来携带网络设备2和网络设备3的标识信息,该指示信息中还可以携带有binding-sid,以指示网络设备3更新后续的转发路径。通过binding-sid来指示后续的路径信息,可以减少网络设备所封装的标签栈层数。
步骤203,第一网络设备向第二网络设备发送更新的报文。
第一网络设备在报文中添加了第一指示信息和第二指示信息之后,可以向转发路径上的下一个网络设备发送更新的报文。其中,第二网络设备可以为第一网络设备所确定的转发路径中的网络设备,且第二网络设备为第一网络设备的邻居网络设备。
在一个可能的实施例中,第一网络设备可以根据网络切片确定用于发送更新的报文的转发资源;第一网络设备利用转发资源发送更新的报文。转发资源可以包括第一网络设备的处理资源、出接口资源和队列资源中的一个或多个。其中,处理资源可以是指第一网络设备用于查找用于转发报文的转发表项的资源,处理资源越多,则第一网络设备查找转发表项的效率越高。因此,对于具有低时延需求的网络切片,可以配置有较多的处理资源。出接口资源可以是指第一网络设备用于转发报文的出接口,队列资源则可以是指第一网络设备转发报文时,该报文能够进入的转发队列。
可以理解的是,由于不同的网络切片对应不同的业务需求,因此在网络设备中可以给不同的网络切片配置不同的转发资源,以满足网络切片的需求。也就是说,在网络设备中可以预先配置网络切片与转发资源之间的对应关系,从而使得网络设备能够根据报文对应的网络切片来确定用于转发该报文的转发资源。
在一个可能的实施例中,除了向第二网络设备发送报文之外,第一网络设备还可以向其他的邻居网络设备发送报文。例如,在高可靠性或组播分发等场景中,第一网络设备可以将获取的报文中的载荷和/或其他必要数据信息复制多份,并分别为复制生成的多个报文分别添加相应的网络切片指示信息和转发路径指示信息,以使得该多个报文分别沿各自的转发路径并使用相应的网络切片资源进行转发。
示例性地,第一网络设备向第二网络设备发送的更新的报文可以为第一报文。第一网络设备还可以更新报文以获取第二报文,第二报文可以包括第三指示信息,第三指示信息用于指示第二报文的转发路径。第二报文还可以包括与第一报文相同的第一指示信息,则第二报文和第一报文可以使用相同的网络切片资源。第一网络设备向第三网络设备发送第二报文。也就是说,第一网络设备可以确定多条用于转发报文的路径,并且可以根据各相应路径上的网络设备的信息,生成多个报文。不同的报文中携带有不同的路径指示信息,以指示报文在不同路径上的转发。
可以参阅图3,图3为本申请实施例提供的一种报文转发的示意图。如图3所示,网 络设备1在接收到报文1之后,可以确定报文1对应的网络切片(例如为网络切片1),用于转发报文1的两条路径。两条路径分别可以为路径1“网络设备1--网络设备2--网络设备3--网络设备4--网络设备5”以及路径2“网络设备1--网络设备7--网络设备8--网络设备9--网络设备5”。网络设备1可以根据路径1生成报文2,并且向网络设备2发送报文2。报文2中包括网络切片1的标识,以及指示路径1的信息(例如网络设备2至网络设备5的标识)。网络设备1可以根据路径2生成报文3,并且向网络设备7发送报文3。报文3中包括网络切片1的标识,以及指示路径2的信息(例如网络设备7至网络设备9以及网络设备5的标识)。如此,网络设备1可以通过复制报文1生成报文2和报文3,然后通过添加相同的网络切片信息,以及分别添加不同的路径信息,指示报文2和报文3利用相同的网络切片1的资源分别沿路径1和路径2进行转发。
上述示例以第一报文和第二报文携带相同的网络切片的指示信息为例,例如,报文2和报文3携带相同的网络切片1的标识,也即网络设备1分别指示路径2和路径3上接收报文2和报文3的网络设备,利用相同的网络切片1进行报文转发;并且,网络设备1也可以使用相同的网络切片资源转发报文2和报文3,例如,当网络切片对应的转发资源为网络设备1上为实现报文转发而分配的处理资源时,网络设备1用于向网络设备2转发报文2的处理资源与用于向网络设备7转发报文3的处理资源可以是相同的。
在其他可能的情形中,在第一网络设备确定了多条转发路径,并且向多个邻居网络设备转发报文的情况下,第一网络设备向不同的邻居网络设备转发报文时携带的网络切片指示信息也可以是不同的,并且第一网络设备所使用的网络切片资源也可以是不同的。例如,当网络切片对应的转发资源为接口资源时,第一网络设备中用于向第二网络设备转发第一报文的接口资源与用于向第三网络设备转发第二报文的接口资源可以是不同的。
以上描述了网络设备通过在报文中添加第一指示信息以转发报文的过程。为了便于理解,以下将结合具体例子详细描述如何在MPLS报文头中携带第一指示信息。
本实施例中,在MPLS报文头中可以通过MPLS标签栈或MPLS扩展头来携带该报文对应的第一指示信息。
通过MPLS标签栈来携带该报文对应的网络切片的标识的方式可以有多种。
在一个可能的实施例中,MPLS报文头可以包括MPLS标签栈,MPLS标签栈包括第一标签信息和第二标签信息,第一标签信息用于指示第二标签信息携带网络切片对应的标识信息,第二标签信息携带第一标识信息。其中,第一标签信息和第二标签信息均位于MPLS标签栈中。并且,在MPLS标签栈中,第一标签信息可以位于第二标签信息的上方。这样,网络设备在读取到第一标签信息之后,可以确定位于第一标签信息之后的第二标签信息是用于携带网络切片对应的标识信息。
在一个示例中,第一标签信息包括扩展标签(Extension Label,EL)和扩展特殊功能标签(Extended Special Purpose Label,ESPL)。该扩展标签可以位于该扩展特殊功能标签的上方,该扩展标签的值可以为相关标准中所定义的值,例如为15,以指示位于扩展标签之后的标签为扩展特殊功能标签。该扩展特殊功能标签的值可以是预先定义的值,以指 示位于该扩展特殊功能标签之后的标签携带网络切片对应的标识信息。位于扩展特殊功能标签之后的标签也可以称为网络切片标签。
也就是说,在MPLS标签栈中,可以包括扩展标签、扩展特殊功能标签和网络切片标签。扩展特殊功能标签位于扩展标签之后,网络切片标签则位于扩展特殊功能标签之后。可以理解的是,扩展标签、扩展特殊功能标签和网络切片标签为相邻的三个标签,这三个相邻的标签可以位于整个MPLS标签栈中的任意位置。
示例性地,可以参阅图4,图4为本申请实施例提供的一种MPLS标签的结构示意图。如图4所示,扩展标签的下一层为扩展特殊功能标签,扩展特殊功能标签的下一层为网络切片标签。每个标签中除了包括标签值字段之外,还可以包括优先级(Traffic Class,TC)字段、栈底字段和生存期(Time to Live,TTL)字段。其中,TC字段用于表示从0到7的报文优先级。栈底字段表示该标签在标签栈中的位置,当栈底字段S的值为0时,该标签非最底层标签,当栈底字段S的值为1时,该标签为最底层标签。TTL字段用于表示该标签的生存周期。
在网络设备读取标签栈时,网络设备可以先读取到上层的扩展标签,并且可以根据扩展标签的值为15,确定该扩展标签的下一层标签为扩展特殊功能标签。在网络设备读取到扩展特殊功能标签时,可以根据扩展特殊功能标签的值为预先定义的值,确定扩展特殊功能标签的下一层标签为网络切片标签。最后,网络设备通过读取网络切片标签来获取网络切片对应的标识,从而确定该报文对应的网络切片。
在另一个可能的实施例中,MPLS报文头包括MPLS特殊用途标签,MPLS特殊用途标签中的预留字段包括第一指示信息。该MPLS特殊用途标签可以为相关标准中预先定义的标签,例如熵标签(Entropy Label,EL)、路由器告警(Router Alert Label)标签、流标记(Flow-ID Label)标签。该MPLS特殊用途标签中具有预留字段,即预先保留且无实际用途的字段,可以用于携带第一指示信息。该预留字段可以包括标签值字段(即用于指示标签具体取值的字段)、TC字段和TTL字段中的一个或多个。
以MPLS特殊用途标签为熵标签为例,可以参阅图5,图5为本申请实施例提供的另一种MPLS标签的结构示意图。如图5所示,MPLS报文头中包括熵标签指示标签(Entropy Label Indicator,ELI)和熵标签。熵标签指示标签为熵标签的前一个标签,其标签值可以为7,用于指示熵标签的位置,即网络设备在读取到熵标签指示标签时,可以确定该熵标签指示标签的下一个标签为熵标签。
在熵标签中,可以修改熵标签的标签值字段的格式,以携带网络切片的标识。示例性地,对于20比特位(bit)的标签值字段,标签值字段中的12bit可以用于表示网络切片的标识,可支持表示4千个网络切片;标签值字段剩余的8bit则用于负载分担,即网络设备根据标签值字段中该8bit所表示的值进行哈希计算,得到的结果可用于在多条等价路径选择其中一条进行转发。由于不同的报文的哈希结果不同,因此网络设备会选择不同的路径来转发报文,从而实现在多条路径之间对流量的分担转发。此外,也可以直接利用熵标签中3bit的TC字段以及8bit的TTL字段来表示网络切片的标识。
在通过修改熵标签的标签值字段的格式,以携带网络切片的标识的情况下,还可以是 在熵标签指示标签中使用一个字段作为标识,以指示熵标签中携带了网络切片的标识。示例性地,可以通过熵标签指示标签中的TC字段的一个特殊取值或一个bit来标识。这样,网络设备可以基于熵标签指示标签中的TC字段的一个特殊取值或一个bit,确定熵标签的标签值字段已被修改为用于表示网络切片的标识。
在另一个可能的实施例中,MPLS报文头包括MPLS扩展头(Extension Header),MPLS扩展头携带第一指示信息。在MPLS报文头中,可以包括一个或多个MPLS扩展头,MPLS扩展头位于MPLS标签栈的下面,以及上层协议头或报文有效载荷的上面。携带有第一指示信息的MPLS扩展头可以是新定义的MPLS扩展头,专门用于携带第一指示信息。携带有第一指示信息的MPLS扩展头也可以是相关标准中已定义的MPLS扩展头,通过在已定义的MPLS扩展头中定义新的类型长度值(type length value,TLV)来携带第一指示信息。
可以参阅图6,图6为本申请实施例提供的一种MPLS报文头的格式示意图。如图6所示,MPLS报文头中包括有标签栈、扩展头和有效载荷(Payload)。标签栈包括有多个MPLS标签,该多个MPLS标签中包括扩展头标签(Extension Header Label),该扩展头标签用于指示MPLS报文头中存在有MPLS扩展头。在标签栈和有效载荷之间,包括有扩展头头部(Header or Extension Headers)和多个扩展头(扩展头1至扩展头N)。携带有第一指示信息的扩展头可以是扩展头1至扩展头N中的一个扩展头,例如相关标准中已定义的扩展头或新定义的扩展头。在已定义的MPLS扩展头中可以通过携带一个新的TLV来携带第一指示信息。
可以参阅图7,图7为本申请实施例提供的一种扩展头的格式示意图。如图7所示,在一个扩展头中,可以包括有头部长度(Header Length)、头部特定数据(Header Specific Data)以及TLV字段,在TLV字段中可以指示网络切片的标识,以携带第一指示信息。
以上以第一网络设备可以为头节点为例,详细介绍了头节点转发报文的过程,以下将详细介绍中间节点和尾节点转发报文的过程。
可以参阅图8,图8为本申请实施例提供的一种报文处理方法800的流程示意图。
如图8所示,报文处理方法800包括以下步骤。
步骤801、第一网络设备接收第二网络设备发送的报文,该报文包括MPLS报文头,MPLS报文头包括第一指示信息和第二指示信息。
第一网络设备可以是MPLS网络或SR-MPLS网络中的中间节点或尾节点,第二网络设备可以为MPLS网络或SR-MPLS网络中的头节点或中间节点。第一网络设备所接收到的报文中包括有第一指示信息和第二指示信息,该第一指示信息用于指示该报文对应的网络切片,该第二指示信息则用于指示该报文对应的转发路径。
在一种可能的情形中,第一网络设备接收到的报文中携带的第二指示信息可以是第二网络设备在报文中初始添加的完整的路径指示信息,该第二网络设备例如可以为头节点。例如,如果第一网络设备为第二网络设备确定的转发路径上的下一个网络设备,以图3为例,如果网络设备1为头节点,则网络设备2为网络设备1确定的报文2的转发路径1上的下一个网络设备,即路径1上的第一个中间节点,则网络设备2接收到的用于指示转发 路径的第二指示信息即为网络设备1添加的用于指示路径1的完整信息,该完整信息可以是如前描述的用于指示MPLS网络中的逐跳转发路径的信息,也可以是指示沿路径上的部分指定节点转发的信息,也可以是指示尾节点的信息等。
在另一种可能的情形中,第二网络设备为中间节点,第一网络设备为转发路径上位于第二网络设备之后的下一个网络设备,第一网络设备接收到的报文中携带的第二指示信息可以是部分路径指示信息,即指示由第一网络设备前往目的设备的部分路径信息。以图3为例,如果网络设备1为头节点,则网络设备2为网络设备1确定的报文2的转发路径1上的下一个网络设备,即路径1上的第一个中间节点,网络设备3为路径1上位于网络设备2之后的下一个网络设备,即路径1上的第二个中间节点。其中,网络设备2接收到的用于指示转发路径的第二指示信息可以为网络设备1添加的用于指示路径1的完整信息,该完整信息可以是用于指示SR-MPLS网络中的逐跳转发路径的信息,例如该完整信息包括了指示网络设备2的标识2、指示网络设备3的标识3以及指示网络设备4的标识4。网络设备3接收到的用于指示转发路径的第二指示信息可以为指示路径1的部分信息,该部分信息可以是用于指示SR-MPLS网络中的从网络设备3前往网络设备4的逐跳转发路径的信息。例如,在网络设备2剥离了报文中用于指示网络设备2的标识,再向网络设备3发送该报文的情况下,网络设备3接收到的报文中的第二指示信息则可以是包括指示网络设备3的标识3以及指示网络设备4的标识4,即指示路径1的部分信息。
在另一种可能的情形中,虽然第一网络设备不是第一个中间节点,但也可以接收到头节点添加的完整的路径信息,例如头节点添加的为仅指示尾节点的指示信息,则第一网络设备虽然从上一个中间节点接收到包括第二指示信息的报文,但包括上一个中间节点在内的其他中间节点并不会对头节点添加的第二指示信息进行更新,因而此情形中第一网络设备接收到的报文中包括的第二指示信息仍然为头节点添加的完整的路径信息。
在其他可能的情形中,第一网络设备还可以是尾节点。尾节点接收到的第二指示信息可以包括尾节点自身的标识。该尾节点可以是某段隧道的端节点,或者拼接的某几段隧道的端节点,或者网络域、管理域的域边界节点。
步骤802、第一网络设备根据第一指示信息确定报文对应的网络切片。
该第一指示信息可以包括网络切片的标识,以指示该报文对应的网络切片。第一网络设备在接收到该报文后,可以根据第一指示信息中的网络切片的标识,确定该报文对应的网络切片。其中,在该报文中携带第一指示信息的方式可以参阅上述实施例的描述,此处不再赘述。
步骤803、第一网络设备利用网络切片向第三网络设备转发更新的报文,第三网络设备为根据第二指示信息确定的报文的转发路径上的设备。
本实施例中,第一网络设备可以根据第二指示信息所指示的报文转发路径,确定第三网络设备为转发路径上的下一个网络设备。因此,第一网络设备可以根据该网络切片确定该报文对应的转发资源,即所述第一网络设备为所述报文对应的网络切片所分配的转发资源,并且利用该网络切片对应的转发资源向第三网络设备转发更新的报文。转发资源可以包括第一网络设备的处理资源、出接口资源和队列资源中的一个或多个。其中,第一网络 设备确定网络切片对应的转发资源,以及利用转发资源转发报文的过程与上述图2的实施例类似,具体可以参考上述的实施例,此处不再赘述。在其他可能的情形中,第一网络设备也可以根据网络切片确定与该报文转发相关的其他信息,如网络拓扑信息等,从而根据确定的该其他信息进行报文转发。
第二指示信息既可以包括用于标识转发路径上的节点或链路的隧道标签,也可以包括用于标识业务的业务标签,如虚拟专用网(Virtual Private Network,VPN)标签。当第一网络设备为尾节点时,尾节点根据第二指示信息确定第三网络设备的方式可以是根据VPN标签确定用于转发业务报文的出接口和下一跳网络设备(即第三网络设备)的。
在一个可能的实施例中,第一网络设备更新所接收到的报文,得到更新的报文。更新的报文包括第一指示信息,或更新的报文包括更新的第一指示信息。更新的第一指示信息根据第一指示信息确定,更新的第一指示信息用于指示更新的报文对应的网络切片。
在报文转发经过多个网络域的情况下,例如转发经过多个MPLS网络,多个网络域中的网络设备可以组成一个完整的网络切片,其中,为多个网络域中的多个网络切片分配的资源的多少或类型可以相同,也可以不同。但无论上述哪种具体情形,在不同的网络域中所采用的网络切片标识可能是不一样的,即使在不同网络域中为网络切片配置的资源是相同的。因此,在第一网络设备为某一网络域中连接另一网络域的边界设备时,第一网络设备可以对接收到的报文中的第一指示信息更新,以得到更新的第一指示信息,该更新的第一指示信息用于指示下一个网络域中对应的网络切片标识。
例如,网络域1和网络域2中的网络设备组成了一个完整的网络切片1,该网络切片1在网络域1中所对应的网络切片标识为“001”,该网络切片1在网络域2中所对应的网络切片标识为“002”。第一网络设备为网络域1中连接网络域2的边界设备。第一网络设备接收到网络域1中的网络设备所转发的报文1,该报文1中携带有网络切片标识“001”。在第一网络设备向网络域2中的网络设备转发该报文1之前,第一网络设备可以对该报文1更新,得到更新的报文1。该更新的报文1包括更新的网络切片标识,该更新的网络切片标识为“002”。
在一个可能的实施例中,更新的报文包括更新的第二指示信息,更新的第二指示信息用于指示更新的报文的转发路径。在第二网络设备所发送的报文包括第二指示信息,且该第二指示信息指示完整路径中的前一部分路径以及后一部分路径信息的指示信息时,第一网络设备可以根据该第二指示信息中所指示的后一部分路径信息的指示信息对该第二指示信息更新,得到更新的第二指示信息,该更新的第二指示信息用于指示更新的报文的转发路径。这样,第一网络设备在转发更新的报文时,该更新的报文中包括更新的第二指示信息,以指示该更新的报文后续的转发路径。
在一个可能的实施例中,第一网络设备还可以是MPLS网络或SR-MPLS网络中的尾节点。在第一网络设备为尾节点时,第一网络设备在根据报文对应的网络切片,转发报文之前,第一网络设备可以对报文进行解封装处理,得到解封装的报文,解封装的报文不包括由头节点所添加的MPLS报文头。也就是说,在第一网络设备为MPLS网络或SR-MPLS网络中的尾节点的情况下,第一网络设备需要将该报文转发至MPLS网络或SR-MPLS网络之外, 因此第一网络设备可以对该报文解封装,以去掉该报文中的MPLS报文头,以避免MPLS网络或SR-MPLS网络之外的网络设备无法识别该报文。
在一些情况下,报文在进入MPLS网络之前可能已经带有MPLS标签栈。此时,MPLS网络的头节点在原有的MPLS标签栈中添加新的MPLS标签栈,以表示报文对应的网络切片以及转发路径。在这种情况下,尾节点对报文进行解封装处理时,仅对头节点所添加的MPLS标签栈进行解封装处理,而保留报文中原有的MPLS标签栈。因此,尾节点解封装处理后所得到的解封装的报文中,仍然包括有报文进入MPLS网络前所携带的MPLS标签栈。此时尾节点执行解封装处理并转发出去的报文仍包括携带该原有的MPLS标签栈的MPLS报文头。
在另一实施例中,如果第一网络设备承担的角色为尾节点,则第一网络设备也可以不执行上述步骤802和803,而是在执行步骤801后,对头节点添加的MPLS报文头信息进行剥离操作,然后根据报文中携带的其他信息,如目的IP地址等,查找并确定接收报文的设备,并向该设备转发该报文。该接收报文的设备例如可以是用户接入侧的设备。
以上各实施例虽然以第一网络设备为MPLS网络或SR-MPLS网络中的网络设备为例,对本申请实施例提供的报文处理方法所应用的场景进行了说明。可以理解地,本申请实施例提供的报文处理方法还可以应用于需要指示报文对应的网络切片的网络场景,在此并不对本申请实施例所应用的网络场景做唯一限定。
为了实现上述实施例,本申请还提供了一种网络设备。可以参阅图9,图9为本申请实施例提供的一种网络设备900的结构示意图。
图9所示的网络设备900尽管示出了某些特定特征,但是本领域的技术人员将从本申请实施例中意识到,为了简洁起见,图9未示出各种其他特征,以免混淆本申请实施例所公开的实施方式的更多相关方面。为此,作为示例,在一些实现方式中,网络设备900包括一个或多个处理单元(cpu)901、网络接口902、编程接口903、存储器904和一个或多个通信总线905,用于将各种组件互连。在另一些实现方式中,网络设备900也可以在上述示例基础上省略或增加部分功能部件或单元。
在一些实现方式中,网络接口902除其他用途外,用于在网络系统中和一个或多个其他的网络设备/服务器连接。在一些实现方式中,通信总线905包括互连和控制系统组件之间的通信的电路。存储器904可以包括非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器904也可以包括易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。
在一些实现中,存储器904或存储器904的非暂时性计算机可读存储介质存储以下程序、模块和数据结构,或其子集,例如包括收发单元(图中未示出)、获取单元9041和处理单元9042。
在一个可能的实施例中,该网络设备900可以具有上述方法200中的第一网络设备或 方法800中的第一网络设备的任意功能。该网络设备900中的收发单元用于执行上述的步骤203、步骤801或步骤803;获取单元9041用于执行上述的步骤201;处理单元9042用于执行上述的步骤202或步骤802。
应理解,网络设备900对应于上述方法实施例中的第一网络设备,网络设备900中的各模块和上述其他操作和/或功能分别为了实现上述方法实施例中的第一网络设备所实施的各种步骤和方法,具体细节可参见上述方法200或方法800,为了简洁,在此不再赘述。
应理解,以上的收发单元的功能可以是由处理器调用存储器中的程序代码来实现,并在需要时配合网络接口902;也可以是由网络设备900上的网络接口902来完成数据的收发操作。
在各种实现中,网络设备900用于执行本申请实施例提供的业务处理方法,例如是执行上述图2或图8所示的实施例所对应的报文处理方法。
与本申请提供的方法实施例以及虚拟装置实施例相对应,本申请实施例还提供了一种网络设备,下面对网络设备的硬件结构进行介绍。
可以参阅图10,图10为本申请实施例提供的一种网络设备1000的结构示意图,该网络设备1000可以配置为上述方法实施例中的第一网络设备。
网络设备1000可以对应于上述方法实施例中的第一网络设备,网络设备1000中的各硬件、模块和上述其他操作和/或功能分别为了实现方法实施例中的第一网络设备所实施的各种步骤和方法,关于网络设备1000如何转发报文的详细流程,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。其中,上述方法200或方法800的各步骤通过网络设备1000处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
网络设备1000也可以对应于上述虚拟装置实施例中的网络设备900,网络设备900中的每个功能模块采用网络设备1000的软硬件实现。作为可能的实现方式,网络设备900包括的功能模块为网络设备1000的处理器读取存储器中存储的程序代码后生成的,或者为网络设备1000的处理器读取存储器中存储的程序代码,以及配合通信接口共同实现的。
网络设备1000包括:主控板1010和接口板1030。
主控板1010也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板1010对网络设备1000中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板1010包括:中央处理器1011和存储器1012。
接口板1030也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板。接口板1030用于提供各种业务接口并实现数据包的转发。业务接口包括但不 限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板1030包括:中央处理器1031、网络处理器1032、转发表项存储器1034和物理接口卡(ph10sical interface card,PIC)1033。
接口板1030上的中央处理器1031用于对接口板1030进行控制管理并与主控板1010上的中央处理器1011进行通信。
网络处理器1032用于实现报文的转发处理。网络处理器1032的形态可以是转发芯片。具体而言,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
物理接口卡1033用于实现物理层的对接功能,原始的流量由此进入接口板1030,以及处理后的报文从该物理接口卡1033发出。物理接口卡1033包括至少一个物理接口,物理接口也称物理口,物理接口卡1033对应于系统架构中的FlexE物理接口。物理接口卡1033也称为子卡,可安装在接口板1030上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器1032处理。在一些实施例中,接口板1003的中央处理器1031也可执行网络处理器1032的功能,比如基于通用CPU实现软件转发,从而物理接口卡1033中不需要网络处理器1032。
可选地,网络设备1000包括多个接口板,例如网络设备1000还包括接口板1040,接口板1040包括:中央处理器1041、网络处理器1042、转发表项存储器1044和物理接口卡1043。
可选地,网络设备1000还包括交换网板1020。交换网板1020也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板1030的情况下,交换网板1020用于完成各接口板之间的数据交换。例如,接口板1030和接口板1040之间可以通过交换网板1020通信。
主控板1010和接口板1030耦合。例如,主控板1010、接口板1030和接口板1040,以及交换网板1020之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板1010和接口板1030之间建立进程间通信协议(inter-process communication,IPC)通道,主控板1010和接口板1030之间通过IPC通道进行通信。
在逻辑上,网络设备1000包括控制面和转发面,控制面包括主控板1010和中央处理器1031,转发面包括执行转发的各个组件,比如转发表项存储器1034、物理接口卡1033和网络处理器1032。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器1032基于控制面下发的转发表对物理接口卡1033收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器1034中。在有些实施例中,控制面和转发面可以完全分离,不在同一设备上。
如果网络设备1000被配置为方法200中的第一网络设备,可以实现为中央处理器1011获取报文;在报文中添加第一指示信息和第二指示信息,以得到更新的报文;网络处理器1032触发物理接口卡1033向第二网络设备发送更新的报文。
如果网络设备1000被配置为方法800中的第一网络设备,可以实现为中央处理器1011获取报文;根据报文中的第一指示信息确定报文对应的网络切片;网络处理器1032触发物理接口卡1033向第二网络设备发送更新的报文。
应理解,网络设备900中的收发单元可以相当于网络设备1000中的物理接口卡1033或物理接口卡1043;网络设备900中的获取单元9041和处理单元9042可以相当于网络设备1000中的中央处理器1011或中央处理器1031。
应理解,本申请实施例中接口板1040上的操作与接口板1030的操作一致,为了简洁,不再赘述。应理解,本实施例的网络设备1000可对应于上述各个方法实施例中的第一网络设备或第二网络设备,该网络设备1000中的主控板1010、接口板1030和/或接口板1040可以实现上述各个方法实施例中的第一网络设备或第二网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做唯一限定。
在一些可能的实施例中,上述第一网络设备或第二网络设备可以实现为虚拟化设备。例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(英文:Virtual Machine,VM),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机配置为第一网络设备或第二网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(Network Functions Virtualization,NFV)技术来实现第一网络设备或第二网络设备。第一网络设备或第二网络设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的第一网络设备或第二网络设备。此处不再赘述。
应理解,上述各种产品形态的网络设备,分别具有上述方法实施例中第一网络设备或第二网络设备的任意功能,此处不再赘述。
本申请实施例提供了一种计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行上述方法200或方法800中第一网络设备执行的方法。
参见图11,本申请实施例提供了一种网络系统1100,系统1100包括:网络设备1101和网络设备1102。可选的,网络设备1101可以为方法200中的第一网络设备、上述的网络设备900、网络设备1000,网络设备1101可以为网络中的头节点;网络设备1102可以为方法800中的第一网络设备、上述的网络设备900、网络设备1000,网络设备1102可以为网络中的中间节点。可选的,系统1100还可以包括网络设备1103,网络设备1103可以为上述的网络设备900、网络设备1000,网络设备1103可以为网络中的尾节点。
本申请实施例还提供了一种芯片,包括处理器和接口电路,接口电路,用于接收指令并传输至处理器。其中,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
以上对本申请实施例进行了详细介绍,本申请实施例方法中的步骤可以根据实际需要进行顺序调度、合并或删减;本申请实施例装置中的模块可以根据实际需要进行划分、合并或删减。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。 另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备/服务器等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (28)

  1. 一种报文处理方法,其特征在于,包括:
    第一网络设备获取报文;
    所述第一网络设备在所述报文中添加第一指示信息和第二指示信息,以获取更新的报文,所述第一指示信息和所述第二指示信息位于所述更新的报文的多协议标签交换MPLS报文头中,其中,所述第一指示信息用于指示与所述报文对应的网络切片,所述第二指示信息用于指示所述报文的转发路径;
    所述第一网络设备向第二网络设备发送所述更新的报文。
  2. 根据权利要求1所述的报文处理方法,其特征在于,所述MPLS报文头包括MPLS标签栈,所述MPLS标签栈包括第一标签字段和第二标签字段,所述第一标签字段用于指示所述第二标签字段包括所述第一指示信息,所述第二标签字段包括所述第一指示信息。
  3. 根据权利要求2所述的报文处理方法,其特征在于,所述第一标签字段包括扩展标签EL和扩展特殊功能标签ESPL。
  4. 根据权利要求1所述的报文处理方法,其特征在于,所述MPLS报文头包括MPLS特殊用途标签,所述MPLS特殊用途标签中的预留字段包括所述第一指示信息。
  5. 根据权利要求4所述的报文处理方法,其特征在于,所述MPLS特殊用途标签包括熵标签或流标记Flow-ID标签。
  6. 根据权利要求4或5所述的报文处理方法,其特征在于,所述预留字段包括优先级TC字段和生存期TTL字段中的一个或多个。
  7. 根据权利要求1所述的报文处理方法,其特征在于,所述MPLS报文头包括MPLS扩展头,所述MPLS扩展头携带所述第一指示信息。
  8. 根据权利要求1至7任意一项所述的报文处理方法,其特征在于,所述第一网络设备向第二网络设备发送所述更新的报文,包括:
    所述第一网络设备根据所述网络切片确定用于发送所述更新的报文的转发资源;
    所述第一网络设备利用所述转发资源发送所述更新的报文。
  9. 根据权利要求8所述的报文处理方法,其特征在于,所述转发资源包括所述第一网络设备的处理资源、出接口资源和队列资源中的一个或多个。
  10. 根据权利要求1至9任意一项所述的报文处理方法,其特征在于,所述第一网络设 备向第二网络设备发送的所述更新的报文为第一报文,所述方法还包括:
    所述第一网络设备还更新所述报文以获取第二报文,所述第二报文包括所述第一指示信息和第三指示信息,所述第三指示信息用于指示所述第二报文的转发路径;
    所述第一网络设备向第三网络设备发送所述第二报文。
  11. 根据权利要求1至10任意一项所述的报文处理方法,其特征在于,所述第一网络设备为MPLS网络或基于分段路由的多协议标签交换SR-MPLS网络中的网络设备。
  12. 一种报文处理方法,其特征在于,包括:
    第一网络设备接收第二网络设备发送的报文,所述报文包括多协议标签交换MPLS报文头,所述MPLS报文头包括第一指示信息和第二指示信息;
    所述第一网络设备根据所述第一指示信息确定所述报文对应的网络切片;
    所述第一网络设备利用所述网络切片向第三网络设备转发更新的所述报文,所述第三网络设备为根据所述第二指示信息确定的所述报文的转发路径上的设备。
  13. 根据权利要求12所述的报文处理方法,其特征在于,所述第一网络设备利用所述网络切片向第三网络设备转发更新的所述报文,包括:
    所述第一网络设备根据所述报文对应的网络切片,确定所述第一网络设备为所述网络切片分配的转发资源;
    所述第一网络设备利用所述转发资源实现所述更新的所述报文向所述第三网络设备的转发。
  14. 根据权利要求13所述的报文处理方法,其特征在于,所述转发资源包括所述第一网络设备的处理资源、出接口资源和队列资源中的一个或多个。
  15. 根据权利要求12至14任意一项所述的报文处理方法,其特征在于,所述更新的所述报文包括所述第一指示信息,或所述报文包括更新的第一指示信息,所述更新的第一指示信息根据所述第一指示信息确定,所述更新的第一指示信息用于指示所述更新的所述报文对应的网络切片。
  16. 根据权利要求15所述的报文处理方法,其特征在于,所述更新的所述报文包括更新的第二指示信息,所述更新的第二指示信息用于指示所述更新的所述报文的转发路径。
  17. 根据权利要求12至16任意一项所述的报文处理方法,其特征在于,所述第一网络设备根据所述报文对应的网络切片,转发所述报文之前,所述方法还包括:
    所述第一网络设备对所述报文进行解封装处理,得到解封装的报文。
  18. 根据权利要求12至17任意一项所述的报文处理方法,其特征在于,所述MPLS报文头包括MPLS标签栈,所述MPLS标签栈包括第一标签字段和第二标签字段,所述第一标签字段用于指示所述第二标签字段包括所述第二指示信息,所述第二标签字段包括所述第二指示信息。
  19. 根据权利要求18所述的报文处理方法,其特征在于,所述第一标签包括扩展标签和扩展特殊功能标签。
  20. 根据权利要求12至17任意一项所述的报文处理方法,其特征在于,所述MPLS报文头包括MPLS特殊用途标签,所述MPLS特殊用途标签中的预留字段包括所述第一指示信息。
  21. 根据权利要求20所述的报文处理方法,其特征在于,所述MPLS特殊标签包括熵标签或流标记标签。
  22. 根据权利要求20或21所述的报文处理方法,其特征在于,所述预留字段包括优先级字段和生存期字段中的一个或多个。
  23. 根据权利要求12至22任意一项所述的报文处理方法,其特征在于,所述MPLS报文头包括MPLS扩展头,所述MPLS扩展头携带所述第一指示信息。
  24. 根据权利要求12至23任意一项所述的报文处理方法,其特征在于,所述第一网络设备为MPLS网络或基于分段路由的多协议标签交换SR-MPLS网络中的网络设备。
  25. 一种网络设备,其特征在于,包括:处理器、存储器;存储器用于存储指令;处理器用于执行存储器中的指令,使得所述网络设备执行如权利要求1至11任意一项所述的方法。
  26. 一种网络设备,其特征在于,包括:处理器、存储器;存储器用于存储指令;处理器用于执行存储器中的指令,使得所述网络设备执行如权利要求12至24任意一项所述的方法。
  27. 一种网络系统,其特征在于,包括:如权利要求25所述的网络设备以及如权利要求26所述的网络设备。
  28. 一种计算机可读存储介质,其特征在于,所述计算机存储介质中存储有计算机可读指令,当该计算机可读指令被处理器执行时实现如权利要求1至24任意一项所述的方法。
PCT/CN2021/104000 2020-07-06 2021-07-01 一种报文处理方法及网络设备 Ceased WO2022007702A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
MX2023000301A MX2023000301A (es) 2020-07-06 2021-07-01 Metodo de procesamiento de paquetes y dispositivo de red.
EP21838070.7A EP4161002A4 (en) 2020-07-06 2021-07-01 MESSAGE PROCESSING METHOD AND NETWORK DEVICE
JP2022581598A JP7674401B2 (ja) 2020-07-06 2021-07-01 パケット処理方法およびネットワークデバイス
US18/150,698 US20230155930A1 (en) 2020-07-06 2023-01-05 Packet Processing Method and Network Device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202010638513 2020-07-06
CN202010638513.0 2020-07-06
CN202011022649.5 2020-09-25
CN202011022649.5A CN113973082B (zh) 2020-07-06 2020-09-25 一种报文处理方法及网络设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/150,698 Continuation US20230155930A1 (en) 2020-07-06 2023-01-05 Packet Processing Method and Network Device

Publications (1)

Publication Number Publication Date
WO2022007702A1 true WO2022007702A1 (zh) 2022-01-13

Family

ID=79553510

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/104000 Ceased WO2022007702A1 (zh) 2020-07-06 2021-07-01 一种报文处理方法及网络设备

Country Status (5)

Country Link
US (1) US20230155930A1 (zh)
EP (1) EP4161002A4 (zh)
JP (1) JP7674401B2 (zh)
MX (1) MX2023000301A (zh)
WO (1) WO2022007702A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023231442A1 (zh) * 2022-05-31 2023-12-07 中兴通讯股份有限公司 业务传输方法、设备和存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11956306B1 (en) * 2022-03-30 2024-04-09 Nvidia Corporation Multicast-reduction assisted by network devices
WO2025095829A1 (en) * 2023-11-02 2025-05-08 Telefonaktiebolaget Lm Ericsson (Publ) Radio acess network nodes, intermediate node and methods for handling packet streams in a ran transport network
WO2025095828A1 (en) * 2023-11-02 2025-05-08 Telefonaktiebolaget Lm Ericsson (Publ) Network nodes, intermediate node and methods for handling packets in a backhaul/midhaul transport network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104113482A (zh) * 2014-07-23 2014-10-22 华为技术有限公司 流表更新的方法、装置和系统
WO2017088190A1 (zh) * 2015-11-27 2017-06-01 华为技术有限公司 一种获取路径信息的方法及装置
CN107306222A (zh) * 2016-04-25 2017-10-31 华为技术有限公司 标签交换路径上的流量工程隧道建立的方法和设备
CN110535766A (zh) * 2018-05-25 2019-12-03 华为技术有限公司 一种生成路由的方法和设备
CN110912795A (zh) * 2018-09-14 2020-03-24 中兴通讯股份有限公司 一种传输控制方法、节点、网络系统及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020048493A1 (en) * 2018-09-05 2020-03-12 Huawei Technologies Co., Ltd. Segment routing in mpls network
CN111385207B (zh) * 2018-12-29 2022-08-19 中兴通讯股份有限公司 一种业务数据的转发方法、网络设备及网络系统
CN110932895B (zh) * 2019-11-26 2022-07-15 中国联合网络通信集团有限公司 一种网络切片的报文转发方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104113482A (zh) * 2014-07-23 2014-10-22 华为技术有限公司 流表更新的方法、装置和系统
WO2017088190A1 (zh) * 2015-11-27 2017-06-01 华为技术有限公司 一种获取路径信息的方法及装置
CN107306222A (zh) * 2016-04-25 2017-10-31 华为技术有限公司 标签交换路径上的流量工程隧道建立的方法和设备
CN110535766A (zh) * 2018-05-25 2019-12-03 华为技术有限公司 一种生成路由的方法和设备
CN110912795A (zh) * 2018-09-14 2020-03-24 中兴通讯股份有限公司 一种传输控制方法、节点、网络系统及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HOMMA, S. ET AL.: "User Plane Protocol and Architectural Analysis on 3GPP 5G System draft-ietf-dmm-5g-uplane-analysis-03", IETF DRAFT, no. 3, 4 November 2019 (2019-11-04), pages 1 - 39, XP015136195 *
See also references of EP4161002A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023231442A1 (zh) * 2022-05-31 2023-12-07 中兴通讯股份有限公司 业务传输方法、设备和存储介质

Also Published As

Publication number Publication date
MX2023000301A (es) 2023-02-09
EP4161002A1 (en) 2023-04-05
US20230155930A1 (en) 2023-05-18
EP4161002A4 (en) 2023-12-20
JP2023532737A (ja) 2023-07-31
JP7674401B2 (ja) 2025-05-09

Similar Documents

Publication Publication Date Title
CN113973082B (zh) 一种报文处理方法及网络设备
CN111510379B (zh) Evpn报文处理方法、设备及系统
JP7674401B2 (ja) パケット処理方法およびネットワークデバイス
WO2022048418A1 (zh) 一种转发报文的方法、设备和系统
CN112532563B (zh) 报文的发送方法和装置
WO2022001835A1 (zh) 发送报文的方法、装置、网络设备、系统及存储介质
US20230412508A1 (en) Packet processing method and related apparatus
CN113660164A (zh) 一种报文转发方法及网络设备
CN113542111A (zh) 一种报文转发方法及网络设备
CN115550252A (zh) 路由发布和转发报文的方法、装置、设备和存储介质
CN114338518B (zh) 一种路由处理方法及网络设备
US12058027B2 (en) Packet transmission method, correspondence obtaining method, apparatus, and system
CN116418628A (zh) 一种vxlan报文传输方法、网络设备及系统
WO2022188530A1 (zh) 一种路由处理方法及网络设备
CN113542112B (zh) 一种报文转发方法及网络设备
EP4525393A1 (en) Message control method and related device
CN114301839A (zh) 一种组播报文传输方法及装置
JP7536993B2 (ja) ネットワーク内のトラフィック・エンジニアリング・トンネルの数を削減するためのデータ処理方法、装置、媒体、およびコンピュータプログラム
CN114760244B (zh) 一种传输绑定段标识bsid的方法、装置和网络设备
CN117097656A (zh) 一种报文处理的方法及相关设备
CN117097818A (zh) 一种报文处理的方法及相关设备
EP4525400A1 (en) Message sending method, network device and system
CN114143142B (zh) 一种报文传输方法及装置
WO2023125774A1 (zh) 一种vxlan报文传输方法、网络设备及系统
WO2024007762A1 (zh) 一种路由发布方法、通信方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21838070

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022581598

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2021838070

Country of ref document: EP

Effective date: 20230102

NENP Non-entry into the national phase

Ref country code: DE