Packet forwarding method, packet processing method, and device

JP7644246B2Active Publication Date: 2025-03-11HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023545951
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-01-29
Filing Date
2021-08-16
Publication Date
2025-03-11
Estimated Expiration
2041-08-16

Smart Images

  • Figure 0007644246000001
    Figure 0007644246000001
  • Figure 0007644246000002
    Figure 0007644246000002
  • Figure 0007644246000003
    Figure 0007644246000003
Patent Text Reader

Abstract

The embodiments of the present application provide a packet forwarding method, a packet processing method, and a device for determining a network slice that corresponds to a packet and belongs to a transport network, to transmit the packet by using a corresponding network slice of the transport network. The packet forwarding method includes the following steps: a first device obtains a first packet; the first device is a network device in an access network or a mobile core network; the first device determines network slice mapping information based on the first packet; the first device generates a second packet based on the first packet; the second packet includes the network slice mapping information; the first device transmits the second packet to a second device; the second device is a network device in the transport network; the network slice mapping information is used to forward the second packet and to determine a network slice that belongs to the transport network.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This application claims priority to Chinese Patent Application No. 202110130482.2, entitled “PACKET FORWARDING METHOD, PACKET PROCESSING METHOD, AND DEVICE,” filed with the State Intellectual Property Office on January 29, 2021, the entirety of which is incorporated herein by reference.

[0002] [Technical field] The present application relates to the field of communication technologies, and in particular to a packet forwarding method, a packet processing method, and a device. [Background technology]

[0003] Network slice technology is a technology for dividing a network into multiple independent networks, and is a key technology of the 5th generation mobile network (5G). By using network slice technology, one network device can have multiple mutually isolated network slices. Different network slices may have different transmission characteristics. In this way, during data transmission, the network device can select an appropriate network slice for transmitting data based on the characteristics of the data to be transmitted to provide mutually isolated network environments for different application scenarios, so that the network functions and features can be customized for different application scenarios based on their respective requirements to ensure different service requirements.

[0004] The existing 5G network includes an access network (AN), a transport network (TN), and a mobile core network (CN). The network devices include a network device in an access network, a network device in a transport network, and a network device in a mobile core network. The network device in the access network may receive a packet sent by a terminal device and send the packet to a network device in a mobile core network by using a network device in the transport network. Correspondingly, the network device in the mobile core network may also send a packet to a network device in an access network by using a network device in the transport network, and then the network device in the access network sends the packet to the terminal device. When the transport network is divided into multiple network slices, after receiving a packet, the network device in the transport network needs to determine the network slice corresponding to the packet to send the packet by using the network slice that matches the packet and is of the transport network. Summary of the Invention

[0005] Embodiments of the present application provide a packet forwarding method, a packet processing method, and a device for determining a network slice that corresponds to a packet and belongs to a transport network, in order to transmit the packet by using the corresponding network slice of the transport network.

[0006] According to a first aspect, a packet forwarding method is provided. The method is applied to a first device, and the first device is a network device in an access network or a network device in a mobile core network. The method specifically includes the following steps: The first device obtains a first packet through the access network or the mobile core network. The first packet is a packet that needs to be transmitted to a network device in a mobile core network or a network device in an access network through a transport network. The first device determines network slice mapping information based on the first packet. The network slice mapping information is used by a network device in the transport network to determine a network slice that corresponds to the first packet and is of the transport network. For example, the network slice mapping information may include information about the access network or the mobile core network, or may include information about a network slice of the transport network. After determining the network slice mapping information, the first device may generate a second packet including the network slice mapping information based on the first packet and the network slice mapping information, and transmit the second packet to a second device. The second device is a network device in the transport network. Before the packet is transmitted to a network device in the transport network, the network device in the access network or the mobile core network may pre-determine network slice mapping information for forwarding the packet and determining a network slice that is of the transport network, and include the network slice mapping information in a second packet transmitted to the second device.In this way, after receiving a packet, a network device in the transport network may determine a corresponding network slice of the transport network based on the network slice mapping information to transmit a second packet by using the corresponding network slice of the transport network.

[0007] In a possible design, the network slice mapping information may include a first network slice identifier, or may include any one or more of a Quality of Service (QoS) parameter, a Virtual Private Network (VPN) identifier, a QoS parameter ID, a service slice identifier, a resource slice identifier, and a transport network slice identifier. The first network slice identifier identifies a network slice transmitting the first packet and belonging to an access network, or identifies a network slice transmitting the first packet and belonging to a core network. The first network slice identifier may be a Single Network Slice Selection Assistance Information (S-NSSAI) identifier, a network slice instance (NSI) identifier, a network slice subnet instance (NSSI) identifier, etc. The quality of service parameter is a parameter describing a quality of service required by the access network, the mobile core network, or the network slice network transmitting the first packet. The quality of service parameter identifier is an identifier of a quality of service parameter. The VPN identifier is an identifier of the VPN used by the first packet. The transport network slice identifier identifies a network slice that corresponds to the first packet and is of the transport network. The service slice identifier identifies a service slice that transmits the second packet and is of the transport network. The resource slice identifier identifies a resource slice that transmits the second packet and is of the transport network.

[0008] The first network device may determine the network slice mapping information in the following three possible implementations.

[0009] Implementation form 1: A first device determines network slice mapping information based on a first network slice identifier. The first network slice identifier transmits a first packet and identifies a network slice of an access network, or transmits the first packet and identifies a network slice of a core network. Specifically, the first device first determines the first network slice identifier based on the first packet, and then determines network slice mapping information based on the first network slice identifier.

[0010] Optionally, how the first device determines the first network slice identifier in implementation form 1 may be specifically that the first network device determines the first network slice identifier based on one or more of a service identifier, a flow identifier, and a user identifier of the first packet. The first device may further determine the first network slice identifier based on attribute information or requirement information of the first packet.

[0011] Optionally, the first network device stores a correspondence between the first network slice identifier and the network slice mapping information. In implementation form 1, how the first device determines the network slice mapping information based on the network slice identifier may be specifically that the first device determines the network slice mapping information based on the first network slice identifier and the correspondence.

[0012] Embodiment 2: The first device determines network slice mapping information based on attribute information of the first packet. The attribute information of the first packet represents an attribute of the first packet, and may include, for example, any one or more of the following: a QoS level of the first packet, a port number of a network port used by the first device to receive the first packet, and a network segment to which the first packet belongs.

[0013] Implementation 3: A first device determines network slice mapping information based on requirement information for transmitting a first packet. The requirement information of the first packet indicates a quality of service required by the first packet, and may include, for example, a bandwidth required for transmitting the first packet, a maximum delay corresponding to transmitting the first packet, and a maximum packet loss rate corresponding to the first packet.

[0014] The above three possible implementation forms do not constitute limitations to the embodiments of the present application, and those skilled in the art can design the implementation forms based on actual situations.

[0015] In a possible design, the second packet includes any one or more of an Internet Protocol Version 6 (IPv6) extension header, an IPv6 base header, an Ethernet header, and a Multi-Protocol Label Switching (MPLS) header. Any one or more of the IPv6 extension header, the IPv6 base header, the Ethernet header, and the MPLS header carry network slice mapping information.

[0016] In a possible design, the IPv6 extension headers include one or more of a Hop by Hop Options Header, a Destination Options Header, a Routing Header, and a Segment Routing Header.

[0017] In a possible design, the network slice mapping information is carried in a Type-length-value (TLV) field of an IPv6 extension header.

[0018] In a possible design, the network slice mapping information is carried in one or more of the source address (SA) field, the destination address (DA) field, or the flow label field of the IPv6 base header.

[0019] In a possible design, the Ethernet header includes a Virtual Local Area Network (VLAN) Identifier (VLAN ID) field, and the slice mapping information is carried in the VLAN ID field.

[0020] In a possible design, when the first device is a network device in an access network, the first device is a base station or Customer Premises Equipment (CPE), and the second device is a router or a switch.

[0021] According to a second aspect, a packet processing method is provided. The method is applied to a second device, and the second device may be a network device in a transport network. The method includes the following steps: The second device receives a second packet from the first device. The second packet includes network slice mapping information. The first device is a network device in an access network or a mobile core network, and the second device is a network device in a transport network. The network slice mapping information is generated by the first device based on the first packet, and the second packet is generated by the first device based on the first packet and the network slice mapping information. The second device may determine a corresponding network slice of the transport network, i.e., a network slice that is of the transport network with which the second packet is transmitted, based on the network slice mapping information. After determining the network slice of the transport network, the second device transmits the second packet by using a network resource corresponding to the network slice of the transport network. In this way, the second packet received by the second device as a device in the transport network already includes network slice mapping information for determining a network slice of the transport network. After receiving the packet, the network device in the transport network may determine a corresponding network slice of the transport network based on the network slice mapping information to transmit a second packet by using the corresponding network slice of the transport network.

[0022] For possible implementations of the contents included in the network slice mapping information and the positions carried in the second packet, please refer to the above description. The details will not be described again here.

[0023] In a possible design, the first device may be a base station or customer premises equipment, and the second device may be a router or a switch.

[0024] In a possible design, the network resources may include any one or more of: bandwidth resources, cache resources, and queue resources.

[0025] According to a third aspect, a device is provided. The device is used in a network system including a plurality of devices. The plurality of network devices include a first device and a second device. The device is the first device. The device includes: an acquisition unit configured to acquire a first packet, the first device being a network device in an access network or a mobile core network; a processing unit configured to determine network slice mapping information based on the first packet and generate a second packet based on the first packet, the second packet including the network slice mapping information; and a transmission unit configured to transmit the second packet to the second device, the second device being a network device in a transport network, the network slice mapping information being used to forward the second packet and to determine a network slice of the transport network.

[0026] In a possible design, the network slice mapping information includes one or more of a quality of service parameter, a virtual private network identifier, a quality of service parameter identifier, a service slice identifier, a resource slice identifier, and a transport network slice identifier.

[0027] In a possible design, the network slice mapping information includes a first network slice identifier, which identifies a network slice through which the first packet is transmitted and which belongs to an access network, or which identifies a network slice through which the first packet is transmitted and which belongs to a core network.

[0028] In a possible design, the processing unit is configured to determine a first network slice identifier based on the first packet, where the first network slice identifier identifies a network slice for transmitting the first packet and that is of an access network, or identifies a network slice for transmitting the first packet and that is of a core network, and to determine network slice mapping information based on the first network slice identifier.

[0029] In one possible design, the first network device stores a correspondence between the first network slice identifier and the network slice mapping information, and the processing unit is configured to determine the network slice mapping information based on the first network slice identifier and the correspondence.

[0030] In a possible design, the processing unit is configured to determine the network slice mapping information based on attribute information of the first packet, or to determine the network slice mapping information based on requirement information for transmitting the first packet.

[0031] In a possible design, the processing unit is configured to determine the first network slice identifier based on one or more of a service identifier, a flow identifier, and a user identifier of the first packet.

[0032] For possible implementation forms of the location of the network slice mapping information carried in the second packet, please refer to the above description, and the details will not be described again here.

[0033] According to a fourth aspect, a device is provided. The device is used in a network system including a plurality of devices. The plurality of network devices include a first device and a second device. The device is the second device. The device includes: a receiving unit configured to receive a second packet from the first device, the second packet including network slice mapping information, the first device being a network device in an access network or a mobile core network, and the second device being a network device in a transport network; a processing unit configured to determine a corresponding network slice of the transport network based on the network slice mapping information; and a transmitting unit configured to transmit the second packet by using a network resource corresponding to the network slice of the transport network.

[0034] In a possible design, the network slice mapping information includes one or more of a VPN identifier, a quality of service parameter identifier, a service slice identifier, a resource slice identifier, and a transport network slice identifier.

[0035] In a possible design, the network slice mapping information includes one or more of a first network slice identifier and a quality of service parameter, the first network slice identifier identifying a network slice for transmitting the first packet and belonging to an access network or identifying a network slice for transmitting the first packet and belonging to a core network.

[0036] In a possible design, the processing unit is configured to determine a slice identifier of a corresponding network slice of the transport network based on the network slice mapping information and the correspondence. The correspondence is a correspondence between the network slice mapping information and the transport network slice identifier. The transport network slice identifier is a slice identifier of the network slice of the transport network. The sending unit is configured to send the second packet by using a network resource corresponding to the transport network slice identifier.

[0037] For possible implementation forms of the location of the network slice mapping information carried in the second packet, please refer to the above description, and the details will not be described again here.

[0038] In a possible design, the first device may be a base station or customer premises equipment, and the second device may be a router or a switch.

[0039] In a possible design, the network resources may include any one or more of: bandwidth resources, cache resources, and queue resources.

[0040] According to a fifth aspect, a device is provided. The device is for use in a network system including a plurality of devices. The plurality of devices includes a first device and a second device. The device is a first device, the first device including a processor and a network interface. The network interface is configured to receive and transmit packets. The processor is configured to perform a method according to the first aspect or any one of the possible designs of the first aspect.

[0041] In a possible design, the first device may further include a memory, the memory may be configured to store instructions or program code, and the processor may be configured to call instructions or program code in the memory to perform the method according to the first aspect or any one of the possible designs of the first aspect.

[0042] According to a sixth aspect, a device is provided. The device is for use in a network system including a plurality of devices. The plurality of devices includes a first device and a second device. The device is the second device, the second device includes a processor and a network interface. The network interface is configured to receive and transmit packets. The processor is configured to perform a method according to the second aspect or any one of the possible designs of the second aspect.

[0043] In a possible design, the second device may further include a memory, the memory may be configured to store instructions or program code, and the processor may be configured to call instructions or program code in the memory to perform the method according to the second aspect or any one of the possible designs of the second aspect.

[0044] According to a seventh aspect, there is provided a network system, the network system including a first device according to the third aspect and a second device according to the fourth aspect, or including a first device according to the fifth aspect or a second device according to the sixth aspect.

[0045] According to an eighth aspect, there is provided a computer readable storage medium comprising instructions, programs or codes which, when executed on a computer, enable the computer to perform a method according to any one of the possible implementations of the first or second aspect.

[0046] According to a ninth aspect, there is provided a computer program product comprising computer instructions, which when executed on a network device, enables the network device to perform a method according to any one of the possible implementations of the first or second aspect.

[0047] According to a tenth aspect, there is provided a chip including a memory and a processor. The memory is configured to store instructions or program code. The processor is configured to retrieve the instructions or program code from the memory and execute the instructions or program code to perform a method according to the first aspect or any one of the possible designs of the first aspect, or to perform a method according to the second aspect or any one of the possible designs of the second aspect.

[0048] According to an eleventh aspect, there is provided a chip. The chip includes a processor but does not include a memory. The processor is configured to read and execute instructions or program codes stored in a memory external to the chip. When the instructions or program codes are executed, the processor performs a method according to the first aspect or any one of the possible designs of the first aspect, or the processor performs a method according to the second aspect or any one of the possible designs of the second aspect. [Brief description of the drawings]

[0049] [Figure 1] 1 is a schematic diagram of the structure of a system 100 according to an embodiment of the present application. [Diagram 2] FIG. 2 is a signaling interaction diagram of a packet forwarding method according to an embodiment of the present application; [Diagram 3] FIG. 2 is a schematic diagram of a possible format of a packet header that does not include an MPLS header according to an embodiment of the present application. [Figure 4] 2 is a schematic diagram of a possible format of a packet header including an MPLS header according to an embodiment of the present application; [Diagram 5]FIG. 2 is a schematic diagram of the structure of a first device according to an embodiment of the present application. [Figure 6] FIG. 2 is a schematic diagram of the structure of a second device according to an embodiment of the present application. [Figure 7] FIG. 1 is a schematic diagram of the structure of a network system according to an embodiment of the present application. [Figure 8] FIG. 1 is a schematic diagram of the structure of a device according to an embodiment of the present application. [Figure 9] FIG. 1 is a schematic diagram of the structure of a device according to an embodiment of the present application. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0050] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS With reference to the accompanying drawings, the following describes a packet forwarding method and a packet processing method provided in the prior art and the embodiments of the present application.

[0051] First, an access network, a transport network, and a mobile core network will be described with reference to FIG.

[0052] 1 is a schematic diagram of the structure of a system 100 according to an embodiment of the present application. The system 100 includes a terminal device 111, a terminal device 112, a terminal device 113, a base station 121, a base station 122, a network device 131, a network device 132, a network device 133, a network device 134, a gateway device 141, a network device 142, and a server 150. The base station 121 is connected to the terminal device 111 and the network device 131. The base station 122 is connected to the terminal device 112, the terminal device 113, and the network device 133. The network device 131 is connected to the network device 132. The network device 133 is connected to the network device 134. The gateway device 141 is connected to the network device 132, the network device 134, and the network device 142. The server 150 is connected to the network device 142.

[0053] In this embodiment of the present application, the base station 121 and the base station 122 are network devices in the access network. The network device 131, the network device 132, the network device 133, and the network device 134 are network devices in the transport network. The gateway device 141 and the network device 142 are network devices in the mobile core network. Correspondingly, in this embodiment of the present application, the access network 120 includes a network between the base station 121 and the terminal device 111, a network between the base station 122 and the terminal device 112, and a network between the base station 122 and the terminal device 113. The transport network 130 includes a network between the network device 131 and the network device 132 and a network between the network device 133 and the network device 134. The mobile core network 140 includes a network between the gateway device 141 and the network device 142. Optionally, when any one of terminal device 111, terminal device 112, and terminal device 113 is connected to a network device in an access network via a wireless network, the network between the terminal device and the network device in the access network may be referred to as a radio access network (RAN).

[0054] The following describes a packet forwarding process in the network shown in FIG. 1 by using an example in which the terminal device 111 sends a packet to the server 150. The terminal device 111 first sends a packet to the base station 121 through the access network 120, and the base station 121 forwards the packet to the network device 131. The network device 131 may send the packet to the network device 132 through the transport network 130, and the network device 132 may forward the packet to the gateway device 141, and the gateway device 141 may send the packet to the network device 142 through the mobile core network 140, and finally, the network device 142 sends the packet to the server 150. Similarly, in the process in which the server 150 needs to send a packet to the terminal device 111, the packet may pass through a network device in the mobile core network, a network device in the transport network, and a network device in the access network in sequence.

[0055] It can be seen that the transport network is located between the access network and the mobile core network and is used to transmit packets between the access network and the mobile core network. A network device in the transport network that communicates with a network device in the access network may receive a packet transmitted by a network device in the access network and transmit the packet to a network device in the mobile core network. A network device in the transport network that communicates with a network device in the mobile core network may receive a packet transmitted by a network device in the mobile core network and transmit the packet to a network device in the access network. In the transport network, the network devices connected to the network devices in the access network and the network devices connected to the network devices in the mobile core network may be referred to as edge network devices in the transport network, and the edge network devices may communicate with each other by using another network device. For example, in FIG. 1, network device 131, network device 132, network device 133, and network device 134 are edge network devices in the transport network. Network device 131 and network device 132, and network device 133 and network device 134 may communicate with each other by using another network device, which is not shown in FIG. 1.

[0056] In technologies such as 5G, by using network slicing technology, a network may be divided into multiple network slices to ensure normal data transmission within the network. Different network slices may have different transmission characteristics and meet different service requirements. For example, network slice A may be characterized by low latency and small bandwidth. In this case, network slice A may be used to transmit data of a service with high latency requirements but low bandwidth requirements, such as data generated by financial services and vehicle Internet services. Network slice B may be characterized by large bandwidth and high data latency. In this case, network slice B may be used to transmit data of a service with high bandwidth requirements but low latency requirements, such as data generated by file transfer services. In this way, the network may be divided into multiple network slices based on network transmission characteristics, and the most appropriate network slice based on the service characteristics may be selected to transmit the data of the service, improving service quality.

[0057] When a transport network is divided into multiple network slices, a device in the transport network may select a network slice of the transport network for forwarding a packet in order to forward the packet by using an appropriate network resource. However, when an edge network device in the transport network receives a packet transmitted by a network device in an access network (or a mobile core network), the edge network device cannot determine the network slice in which the packet needs to be transmitted and which is of the transport network.

[0058] In order to solve the above problem, an embodiment of the present application provides a packet processing method. After receiving a first packet, networkA network device in the transport network may determine network slice mapping information for the first packet and transmit a second packet including the network slice mapping information to a network device in the transport network. In this manner, the network device in the transport network may determine a corresponding network slice of the transport network based on the network slice mapping information to transmit the second packet by using the corresponding network slice of the transport network.

[0059] The packet processing method provided in this embodiment of the present application can be applied to the network architecture shown in FIG.

[0060] In this embodiment of the application, a terminal device, such as terminal device 111, terminal device 112, or terminal device 113, may also be referred to as user equipment (UE), mobile station (MS), mobile terminal (MT), terminal, etc., and is a device that provides voice and / or data connectivity to a user, or a chip located within the device, for example, a handheld device or a vehicle-mounted device with wireless connectivity capabilities. Currently, for example, terminal devices include mobile phones, desktop computers, tablet computers, notebook computers, palmtop computers, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, residential gateway devices supporting 5G access (5G-residential gateway, 5G-RG), etc.

[0061] In the embodiment shown in FIG. 1, the network devices in the access network include base station 121 and base station 122. In some other implementations, the network devices in the access network may alternatively be another device, for example, customer premises equipment. Network device 131, network device 132, network device 133, or network device 134 are network devices in the transport network and may be entity devices supporting routing functions, for example, routers or switches, or may be servers in which virtual routers or virtual switches are deployed. Network devices in the mobile core network include gateway device 141 and network device 142. Gateway devices may also be called inter-network connectors or protocol converters, and may be used in computer systems or devices that provide the service of data conversion between the transport network and the mobile core network. Network device 142 may be a device such as a router or switch. Server 150 may be, for example, a server in a data center (DC).

[0062] 2 is a signaling interaction diagram of a packet forwarding method according to an embodiment of the present application. The packet forwarding method provided in this embodiment of the present application may include the following steps:

[0063] S201: A first device receives a first packet.

[0064] In this embodiment of the present application, the first device may be a network device in an access network or a network device in a mobile core network, such as the network device in FIG. 131 , network devices 132, gateway device 141, or network device 142. The first packet may be a packet that needs to be transmitted to a network device in a transport network by using the first device. For example, when the first device is a network device in an access network, the first packet may be a packet transmitted by a terminal device to the first device and then transmitted by the first device to a network device in a transport network. When the first device is a network device in a mobile core network, the first packet may be a packet transmitted by a network device or a server in another mobile core network to the first device and then transmitted by the first device to a network device in a transport network.

[0065] FIG. 1 is used as an example for explanation. Suppose the terminal device 111 sends a request packet to the server 150. The request packet may pass through the base station 121, the network device 131, the network device 132, the gateway device 141, and the network device 142 successively, and finally reaches the server 150. After receiving the request packet, the server 150 may generate a response packet and send the response packet to the network device 142. The response packet is sent to the gateway device 141, the network device 132, the network device 131, and the base station 121. 121 and finally reaches the server 150.

[0066] It can be seen that during the transmission of the request packet, the base station 121 may send the request packet to the network device 131 as a network device in the transport network. In this case, the base station 121 may function as a first device that obtains the request packet as a first packet. However, during the transmission of the response packet, the gateway device 141 may send the response packet to the network device 132 as a network device in the transport network. In this case, the gateway device 141 may function as a first device that obtains the response packet as a first packet.

[0067] S202: A first device determines network slice mapping information for a first packet.

[0068] After obtaining the first packet, the first device may determine network slice mapping information of the first packet. The network slice mapping information is used to determine a network slice that corresponds to the first packet and is of a transport network. In this embodiment of the present application, the network slice mapping information may include information about an access network or a mobile core network, or may include information about a network slice of a transport network. The following describes the two cases separately.

[0069] The case where the network slice mapping information includes information about an access network or a mobile core network will be described first. Specifically, the information about the access network or the mobile core network may be a first network slice identifier and / or a quality of service parameter.

[0070] The first network slice identifier identifies a network slice of an access network or a network slice of a core network. When the first device is a network device in an access network, the first network slice identifier transmits the first packet and identifies a network slice of the access network. When the first device is a network device in a mobile core network, the first network slice identifier transmits the first packet and identifies a network slice of the mobile core network. In this embodiment of the present application, the first network slice identifier may be a Single Network Slice Selection Assistance Information (S-NSSAI) identifier, a network slice instance (NSI) identifier, a network slice subnet instance (NSSI) identifier, etc.

[0071] The quality of service parameters are parameters that describe the quality of service required by the network or network slice to transmit the first packet. In this embodiment of the present application, the quality of service parameters of the first packet may include parameters such as isolation level, packet delay budget (PDB), jitter, and maximum packet loss rate. The quality of service parameters may alternatively be quality of service profile parameters. The following describes the quality of service parameters in detail.

[0072] The isolation level of the first packet indicates an isolation status between the network slice corresponding to the first packet and another network slice. An example is used for illustration. If the value of the isolation level of the first packet is 2, it indicates that the isolation status between the network slice corresponding to the first packet and another network slice is Logical Isolation. If the value of the isolation level is 1, it indicates that the isolation status between the network slice corresponding to the first packet and another network slice is Physical Isolation. The value of the packet delay budget of the first packet is an upper limit of the delay of transmitting a data packet in the network slice corresponding to the first packet, i.e., the total duration from the time the first packet is transmitted by the terminal device to the time the destination device of the first packet receives the packet. The value of the jitter of the first packet is the maximum value of the delay difference between any two adjacent data frames forwarded by the network slice corresponding to the first packet. The maximum packet loss rate of the first packet is the ratio of packets that may be discarded when the network slice corresponding to the first packet transmits a data flow to all packets.

[0073] For a detailed description of each parameter in the quality of service parameters, please refer to the Global System for Mobile Communications Alliance (GSMA) Generic Network Slice Template protocol, which will not be described again in detail here.

[0074] The above describes the definition of the first network slice identifier and the quality of service parameter. The following separately describes a method for determining the network slice mapping information by the first device in two cases: when the network slice mapping information includes the first network slice identifier and when the network slice mapping information includes the quality of service parameter.

[0075] When the network slice mapping information includes a first network slice identifier, the first device may obtain the network slice mapping information by using two different methods.

[0076] In a first possible implementation, the first packet includes a first network slice identifier. In this case, when determining the network slice mapping information, the first device may parse the first packet and extract the first network slice identifier carried in the first packet to obtain the network slice mapping information.

[0077] In a second possible implementation form, the first packet does not include the first network slice identifier. In this case, when determining the network slice mapping information, the first device may determine the first network slice identifier based on any one or more of the attribute information of the first packet, the requirement information for transmitting the first packet, the service identifier of the first packet, the flow identifier of the first packet, and the user identifier of the first packet. Details will be described later.

[0078] The attribute information of the first packet represents an attribute of the first packet, and may include, for example, any one or more of a QoS level of the first packet, a port number of a network port used by the first device to receive the first packet, and a network segment to which the first packet belongs. When the first packet includes the attribute information of the first packet, the first device may pre-store a correspondence between the attribute information of the packet and the first network slice identifier. After receiving the first packet, the first device may determine the attribute information of the first packet, and determine the first network slice identifier based on the attribute information of the first packet and the correspondence to obtain network slice mapping information.

[0079] The requirement information for transmitting the first packet indicates a quality of service required by the first packet, and may include, for example, a bandwidth required for transmitting the first packet, a maximum delay corresponding to transmitting the first packet, and a maximum packet loss rate corresponding to the first packet. When the first packet includes the requirement information for transmitting the first packet, the first device may pre-store a correspondence between the requirement information and the first network slice identifier. After receiving the first packet, the first device may determine the requirement information for transmitting the first packet, and determine a first network slice identifier based on the requirement information for transmitting the first packet and the correspondence to obtain network slice mapping information.

[0080] The service identifier of the first packet may be an identifier of a service instance to which the first packet belongs, and indicates the service instance from which the first packet was generated. The service instance is a service type running on the terminal device, and may include, for example, audio / video services and non-audio / video services. Optionally, based on the service instance to which the first packet belongs, the service identifier of the first packet may be added to the first packet by the device generating the first packet. When the first packet includes the service identifier of the first packet, the first device may pre-store a correspondence between the service identifier of the packet and the first network slice identifier. After receiving the first packet, the first device may determine the service identifier of the first packet, and determine the first network slice identifier based on the service identifier of the first packet and the correspondence to obtain network slice mapping information.

[0081] The flow identifier of the first packet is an identifier of a data flow to which the first packet belongs, and indicates the data flow to which the first packet belongs. Optionally, based on the service flow to which the first packet belongs, the flow identifier of the first packet may be added to the first packet by the device generating the first packet. When the first packet includes the flow identifier of the first packet, the first device may pre-store a correspondence between the flow identifier of the packet and the first network slice identifier. After receiving the first packet, the first device may determine the flow identifier of the first packet, and determine the first network slice identifier based on the flow identifier of the first packet and the correspondence to obtain network slice mapping information.

[0082] The user identifier of the first packet may be an identifier of a device generating the first packet, for example, an IP address or a Media Access Control (MAC) address of a terminal device generating the first packet, indicating a device where the first packet is generated. The user identifier of the first packet may alternatively be a user identifier of an application generating the first packet, and the application may be installed on the device generating the first packet. Optionally, the user identifier of the first packet may be added to the first packet by the device generating the first packet when generating the first packet. When the first packet includes the user identifier of the first packet, the first device may pre-store a correspondence between the user identifier and the first network slice identifier. After receiving the first packet, the first device may determine the user identifier of the first packet, and determine the first network slice identifier based on the user identifier of the first packet and the correspondence to obtain network slice mapping information.

[0083] It should be noted that the reason why the first packet does not include the first network slice identifier may be that a network device in the access network (or a network device in the mobile core network) does not add an identifier of the network slice of the access network (or mobile core network) to the first packet, or that the access network (or mobile core network) is not divided into network slices.

[0084] The above describes a method for determining network slice mapping information by a first device when the network slice mapping information includes a first network slice identifier. The following describes a method for determining network slice mapping information by a first device when the network slice mapping information includes a quality of service parameter.

[0085] When the network slice mapping information includes a quality of service parameter, the first device may determine the network slice mapping information by using two different methods.

[0086] In a first possible implementation form, the first device may determine a quality of service parameter based on the first network slice identifier. Specifically, the first device may pre-store a correspondence between the first network slice identifier and the quality of service parameter. After the first device receives the first packet, when the first packet includes the first network slice identifier, the first device may parse the first packet to obtain the first network slice identifier, and further determine a quality of service parameter corresponding to the first network slice identifier based on the pre-stored correspondence. When the first packet does not include the first network slice identifier, the first device may determine the first network slice identifier based on one or more of a service identifier, a flow identifier, a user identifier, attribute information, requirement information, etc. in the first packet, and then determine a quality of service parameter corresponding to the first network slice identifier based on the pre-stored correspondence. For a specific method for determining the first network slice identifier by the first device, please refer to the foregoing description. Details will not be described again here.

[0087] In a second possible implementation form, the first device may determine a quality of service parameter based on the attribute information of the first packet or the requirement information for transmitting the first packet. For the description of the attribute information and the requirement information, please refer to the above description. The details will not be described again here.

[0088] When determining a quality of service parameter based on the attribute information of the first packet, the first device may parse the attribute information of the first packet, determine a quality of service required for transmitting the first packet based on the attribute information of the first packet to obtain the quality of service parameter, and obtain network slice mapping information.

[0089] When determining the quality of service parameter based on the requirement information for transmitting the first packet, the first device may determine the quality of service required for transmitting the first packet by sorting the requirement information for transmitting the first packet to obtain the quality of service parameter, and obtain network slice mapping information.

[0090] The above describes a case where the network slice mapping information includes information about an access network or a mobile core network. Hereinafter, a case where the network slice mapping information includes information about a network slice of a transport network will be described.

[0091] In this embodiment of the present application, the information about the network slice of the transport network may include any one or more of a quality of service parameter identifier, a VPN identifier, a network slice identifier of the transport network, a service slice identifier, a resource slice identifier, etc. Each piece of information will be described below.

[0092] The quality of service parameter identifier is an identifier of a quality of service parameter. One quality of service parameter identifier may identify a group of quality of service parameters, and the group of quality of service parameters may include one or more quality of service parameters. The quality of service parameter identifier may correspond to a network slice of the transport network and indicate a quality of service level of the network slice of the transport network. When the quality of service parameter is a quality of service summary parameter, the quality of service parameter identifier is a quality of service summary identifier.

[0093] An example is used for illustration. It is assumed that the transport network includes three network slices of the transport network: transport network network slice 1, transport network network slice 2, and transport network network slice 3. The packet delay budget of each of the transport network network slice 1 and the transport network network slice 2 is 1 millisecond, and the packet delay budget of the transport network network slice 3 is 2 milliseconds. In this case, the quality of service parameter identifier corresponding to the transport network network slice 1 and the transport network network slice 2 may be A, indicating that the transport network network slice 1 and the transport network network slice 2 are network slices of the transport network having a high quality of service level. The quality of service parameter identifier corresponding to the transport network network slice 3 may be B, indicating that the transport network network slice 1 and the transport network network slice 2 are network slices of the transport network having a low quality of service level. In this case, if the packet delay budget of the first packet is 1 millisecond, the quality of service parameter identifier of the first packet is A. If the packet delay budget of the first packet is 2 milliseconds, the quality of service parameter identifier of the first packet is B.

[0094] When the first packet is a packet transmitted through a VPN, the first packet may include a VPN identifier for transmitting the first packet, where the VPN identifier is an identifier of the VPN used by the first packet.

[0095] When a transport network is divided into multiple network slices, the transport network may be divided into multiple service slices based on the service type corresponding to the network slices, or the transport network may be divided into multiple resource slices based on the network resources occupied by the network slices, or the transport network may be divided into multiple network slices based on principles other than the service type and network resources.

[0096] When the transport network is not divided into service slices and resource slices, the network slice mapping information corresponding to the first packet may include a transport network slice identifier. The transport network slice identifier identifies a network slice that corresponds to the first packet and is of the transport network. When the transport network is divided into multiple service slices, the network slice mapping information may include a service slice identifier indicating a service slice in which a second packet corresponding to the first packet needs to be transmitted. When the transport network is divided into multiple resource slices, the network slice mapping information may include a resource slice identifier indicating a resource slice in which a second packet corresponding to the first packet needs to be transmitted. Optionally, the resource slice identifier is used to specify a transport network underlay network corresponding to the first packet.

[0097] The above describes information about a network slice of a transport network. The following describes a method for determining network slice mapping information by a first device when the network slice mapping information includes information about a network slice of a transport network.

[0098] When the network slice mapping information includes information about a network slice of a transport network, the first device may determine the network slice mapping information by using two different methods.

[0099] In a first possible implementation form, the first device may determine the network slice mapping information based on the first network slice identifier. Specifically, the first device may pre-store a correspondence relationship between the first network slice identifier and the network slice mapping information, and determine the network slice mapping information by referring to the correspondence relationship.

[0100] An example in which the network slice mapping information includes a transport network slice identifier is used for description. The first device may pre-store a correspondence relationship between the transport network slice identifier and the first network slice identifier, that is, a correspondence relationship between an identifier of a network slice of a transport network and an identifier of a network slice of an access network (or a mobile core network). After receiving the first packet, the first device may determine a transport network slice identifier corresponding to the first network slice identifier based on the pre-stored correspondence relationship. For a specific method for obtaining the first network slice identifier by the first device, please refer to the foregoing description. Details will not be described again here.

[0101] In a second possible implementation form, the first device may determine the network slice mapping information based on the attribute information of the first packet or the requirement information for transmitting the first packet. For a description of the attribute information and the requirement information, please refer to the above description. The details will not be described again here. Optionally, the first device may pre-store a correspondence relationship between the attribute information of the first packet and the network slice mapping information, or a correspondence relationship between the requirement information for transmitting the first packet and the network slice mapping information. After the first packet is received, the attribute information of the first packet or the requirement information for transmitting the first packet may be determined, and then the network slice mapping information is obtained with reference to the correspondence relationship.

[0102] The above possible implementations do not constitute limitations on the technical solutions in the embodiments of the present application, and those skilled in the art can design the implementations based on actual situations.

[0103] S203: The first device generates a second packet based on the first packet.

[0104] After determining the network slice mapping information of the first packet, the first device may generate a second packet based on the first packet. The second packet includes the network slice mapping information. Optionally, the first device may add the network slice mapping information to a packet header of the first packet and use the new packet as the second packet. Of course, the first device may alternatively generate a new packet header and encapsulate the data carried in the first packet and the new packet header in the second packet. The specific method for generating the second packet by the first device based on the first packet is not limited in this embodiment of the present application.

[0105] In this embodiment of the present application, the network slice mapping information may be carried in one or more of an IPv6 extension header, an IPv6 base header, an Ethernet extension header, or an MPLS header of the second packet.

[0106] The following describes four cases.

[0107] In a first possible implementation form, the network slice mapping information is carried in an IPv6 extension header of the second packet. The IPv6 extension header may include any one or more of a Hop by Hop Options Header, a Destination Options Header, a Routing Header, and a Segment Routing Header.

[0108] In this embodiment of the present application, the network slice mapping information may be carried in any one of the aforementioned IPv6 extension headers. Optionally, when the network slice mapping information is carried in the IPv6 extension header of the second packet, the network slice mapping information may be carried in a TLV field of the IP extension header.

[0109] In a second possible implementation, the network slice mapping information is carried in an IPv6 base header of the second packet. The IPv6 base header may include a source address (SA) field, a destination address (DA) field, and a flow label field. The network slice mapping information may be carried in one or more of the three fields.

[0110] In a third possible implementation, the network slice mapping information is carried in an Ethernet header. Specifically, the Ethernet header may include a VLAN ID field and is used to carry the network slice mapping information. Optionally, if the length of the network slice mapping information is longer than the length of the VLAN ID field, the network slice mapping information may be carried in multiple adjacent VLAN ID fields. For example, assume that the network slice mapping information is an S-NSSAI. The S-NSSAI includes an 8-bit slice service type and a 24-bit slice differentiator (SD), i.e., the total length of the S-NSSAI is 32 bits. Since the length of each VLAN ID field is 12 bits, the network slice mapping information may be carried in three adjacent VLAN ID fields. Since the total length of the three VLAN ID fields is 36 bits, which is greater than the length of the network slice mapping information, the three VLAN ID fields may contain the network slice mapping information.

[0111] In a fourth possible implementation form, the network slice mapping information is carried in an MPLS header, which is a region for carrying an MPLS label in a packet header.

[0112] In this embodiment of the present application, when the network slice mapping information is carried in the MPLS header of the second packet, the MPLS header may include multiple MPLS labels for carrying the network slice mapping information. Optionally, when the length of the network slice mapping information is greater than the length of one MPLS label, the network slice mapping information may be carried in multiple adjacent MPLS labels. For example, assume that the length of the network slice mapping information is 32 bits, and the length of each MPLS label is 20 bits. Since the total length of the two MPLS labels is 40 bits, which is greater than the length of the network slice mapping information, the network slice mapping information may be carried in two adjacent MPLS labels.

[0113] Above, we have described the IPv6 extension headers, the IPv6 base header, the Ethernet header, and the MPLS header separately. Below, we will describe the possible locations of the fields in a packet that correspond to the IPv6 extension headers, the IPv6 base header, the Ethernet header, and the MPLS header.

[0114] 3 is a schematic diagram of possible formats of a packet header that does not include an MPLS header. As can be seen, the packet header may include an Application Protocol extension header, an IP (User) base header, a General Packet Radio Service (GPRS) Tunneling Protocol extension header, a User Datagram Protocol (UDP) extension header, an IPv6 extension header, and an Ethernet extension header. The IP base header is an IPv6 base header.

[0115] 4 is a schematic diagram of a possible format of a packet header including an MPLS header. As shown in the figure, the MPLS header may be located between the UDP extension header and the IPv6 extension header.

[0116] S204: The first device sends a second packet to the second device.

[0117] After generating the second packet, the first device may transmit the second packet to a second device, which may be a network device in a transport network, such as any one of network device 131, network device 132, network device 133, and network device 134 in FIG.

[0118] S205: The second device determines a network slice of the transport network based on the network slice mapping information.

[0119] After receiving the second packet, the second device may determine, based on the network slice mapping information, a network slice that corresponds to the first packet and belongs to the transport network. Optionally, based on the network slice mapping information, the second device may determine an identifier of a network slice of the transport network, i.e., a Transport Network Slice Identifier (TNSI), to determine a network slice that corresponds to the first packet and belongs to the transport network.

[0120] From the above description, it can be seen that the network slice mapping information may include information about an access network (or a mobile core network), or may include information about a network slice of a transport network. In the following, a method for determining a network slice of a transport network by a second device is described in detail.

[0121] In a first possible implementation form, the network slice mapping information includes information about the access network or the mobile core network, i.e., the network slice mapping information includes a first network slice identifier and / or a quality of service parameter. In this case, when determining the network slice of the transport network, the second device may determine the network slice of the transport network based on a pre-stored correspondence.

[0122] An example in which the network slice mapping information includes a quality of service parameter is used for explanation. The second device may pre-store a correspondence between the quality of service parameter and the transport network slice identifier. In this way, after receiving the second packet, the second device may parse the second packet, extract the quality of service parameter, and then determine a transport network slice identifier corresponding to the second packet based on the correspondence to determine a network slice that corresponds to the transport network slice identifier and is of the transport network.

[0123] In a second possible implementation form, the network slice mapping information includes information about a network slice of the transport network, i.e., the network slice mapping information includes any one or more of a quality of service parameter identifier, a VPN identifier, a transport network slice identifier, a service slice identifier, and a resource slice identifier. The second device may directly determine a corresponding network slice of the transport network based on the network slice mapping information.

[0124] An example in which the network slice mapping information includes a quality of service parameter identifier is used for explanation. When dividing the transport network into multiple network slices, the second device may analyze the quality of service parameters of each network slice of the transport network to determine a quality of service parameter identifier corresponding to each network slice of the transport network. In this way, after receiving the second packet, the second device may parse the second packet, extract the quality of service parameter identifier, and then determine a network slice that corresponds to the quality of service parameter identifier in the second packet and is of the transport network from the multiple network slices of the transport network.

[0125] S206: The second device sends the second packet to the third device by using a network resource corresponding to the network slice of the transport network.

[0126] After determining the network slice of the transport network, the second device may send the second packet to the third device by using a network resource corresponding to the network slice of the transport network. The third device may be a network device connected to the second device through the transport network, for example, may be another network device in the transport network. In this embodiment of the present application, when the second device is the network device 131 in FIG. 1, the third device may be the network device 132. When the second device is the network device 134, the third device may be the network device 133.

[0127] After determining the network slice of the transport network, the second device may send the second packet to the third device by using a network resource corresponding to the network slice of the transport network. The network resource may include any one or more of a bandwidth resource, a cache resource, and a queue resource.

[0128] In the packet forwarding method provided in this embodiment of the present application, before sending a packet to a second device functioning as a network device in a transport network, a first device functioning as a network device in an access network or a network device in a mobile core network may first determine network slice mapping information of the packet and carry the network slice mapping information in the packet. In this way, before a network device in a transport network receives a packet, the first device may predetermine a condition (i.e., network slice mapping information) that needs to be satisfied by a network slice that transmits the packet and is of the transport network, carry the condition in the packet, and send the packet to a network device in the transport network. After receiving the packet, the network device in the transport network may determine a condition that needs to be satisfied by a network slice that transmits the packet and is of the transport network based on the network slice mapping information carried in the packet. In this way, the network device in the transport network may select a network slice that satisfies the network slice mapping information and is of the transport network to forward the packet.

[0129] FIG. 5 is a schematic diagram of a possible structure of the first device in the aforementioned embodiment. The device 500 may provide the function of the first device in the example shown in FIG. 2. Please refer to FIG. 5. The network device 500 includes an obtaining unit 501, a processing unit 502, and a sending unit 503. These units may provide the corresponding function of the first device in the aforementioned method example. The obtaining unit 501 is configured to support the device 500 in performing S201 of FIG. 2. The processing unit 502 is configured to support the network device 500 in performing S202 and S203 of FIG. 2. The sending unit 503 is configured to support the network device 500 in performing S204 of FIG. 2. For example, acquisition The unit 501 is configured to obtain a first packet. The first device is a network device in an access network or a mobile core network. The processing unit 502 is configured to determine network slice mapping information based on the first packet, and generate a second packet based on the first packet. The second packet includes the network slice mapping information. The sending unit 503 is configured to send the second packet to a second device. The second device is a network device in a transport network. The network slice mapping information is used to forward the second packet and determine a network slice of the transport network. For a specific execution process, please refer to the detailed description of the corresponding steps in the aforementioned embodiment shown in FIG. 2. Details will not be described again here.

[0130] 6 is a schematic diagram of a possible structure of the second device in the above embodiment. The device 600 may provide the functions of the second device in the example shown in FIG. 2. See FIG. 6. The network device 600 includes an acquiring unit 601, a processing unit 602, and a sending unit 603These units may provide the corresponding functions of the second device in the above method examples. For example, acquisition The unit 601 is configured to receive a second packet from a first device. The second packet includes network slice mapping information. The first device is a network device in an access network or a mobile core network, and the second device is a network device in a transport network. The processing unit 602 is configured to determine a corresponding network slice of the transport network based on the network slice mapping information. The sending unit is configured to send the second packet by using a network resource corresponding to the network slice of the transport network. For a specific execution process, please refer to the detailed description of the corresponding steps in the foregoing embodiment shown in Figure 2. The details will not be described again here.

[0131] It should be noted that in the embodiments of the present application, the division into units is an example and is merely a logical functional division. In actual implementation, there may be other division methods. The functional units in the embodiments of the present application may be integrated into one processing unit, each unit may exist physically alone, or two or more units may be integrated into one unit. For example, in the above-mentioned embodiments, the acquisition unit and the processing unit may be the same unit or different units. The integrated unit may be implemented in the form of hardware or in the form of a software functional unit.

[0132] Please refer to Fig. 7. An embodiment of the present invention provides a network system 700. The system 700 is configured to implement a packet forwarding method and a packet processing method in the embodiment of the aforementioned method. The system 700 includes a device 701 and a device 702. The device 701 may provide the function of the first device in the embodiment shown in Fig. 2, and the device 702 may provide the function of the second device in the embodiment shown in Fig. 2. For a specific execution process, please refer to the detailed description of the corresponding steps in the aforementioned embodiment shown in Fig. 2. The details will not be described again here.

[0133] Figure 8 is a schematic diagram of the structure of a device 800 according to an embodiment of the present application. The network device 500 of Figure 5 and the network device 600 of Figure 6 can be implemented by using the device shown in Figure 8. Please refer to Figure 8. The device 800 includes at least one processor 801, a communication bus 802, and at least one network interface 804. Optionally, the device 800 may further include a memory 803.

[0134] The processor 801 may be a general-purpose central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits (ICs) for controlling program execution of the solution of the present application. The processor may be configured to process packets to implement the packet forwarding method and the packet processing method provided in the embodiments of the present application. For example, when the first device of FIG. 2 is implemented by using the device shown in FIG. 8, the processor may be configured to obtain a first packet, determine network slice mapping information based on the first packet, generate a second packet based on the first packet, and send the second packet to a second device, where the second packet includes the network slice mapping information. The second device is a network device in a transport network. The network slice mapping information is used to forward the second packet and determine a network slice of the transport network. In another example, when the second device of Fig. 2 is implemented by using the device shown in Fig. 8, the processor may be configured to: receive a second packet from the first device, where the second packet includes network slice mapping information, and the first device is a network device in an access network or a mobile core network; determine a corresponding network slice of a transport network based on the network slice mapping information; and transmit the second packet by using a network resource corresponding to the network slice of the transport network. For specific functional implementation, please refer to the processing unit of the second device in the embodiment of the method.

[0135] The communication bus 802 is configured to transmit information between the processor 801 , the network interface 804 , and the memory 803 .

[0136] The memory 803 may be a read-only memory (ROM) or another type of static storage device that may store static information and instructions. The memory 803 may alternatively be a random access memory (RAM) or another type of dynamic storage device that may store information and instructions, or may be a compact disc read-only memory (CD-ROM) or another optical disk storage, optical disk storage (including compact disks, laser disks, optical disks, digital versatile disks, Blu-ray® disks, etc.), disk storage media or another magnetic storage device, or any other medium that may be configured to carry or store expected program code in the form of instructions or data structures and that may be accessed by a computer. However, the memory is not limited thereto. The memory 803 may exist independently and be connected to the processor 801 via the communication bus 802. Alternatively, the memory 803 and the processor 801 may be integrated together.

[0137] Optionally, the memory 803 is configured to store program codes or instructions for executing the solutions of the present application, and the processor 801 controls the execution. The processor 801 is configured to execute the program codes or instructions stored in the memory 803. The program codes may include one or more software modules. Optionally, the processor 801 may alternatively store program codes or instructions for executing the solutions of the present application. In this case, the processor 801 does not need to read the program codes or instructions from the memory 803.

[0138] The network interface 804 may be a device, such as a transceiver, configured to communicate with another device or a communication network. The communication network may be an Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc. In this embodiment of the application, the network interface 804 may be configured to receive packets sent by another node in the segment routing network, or may send packets to another node in the segment routing network. The network interface 804 may be an Ethernet interface, a fast Ethernet (FE) interface, a gigabit Ethernet (GE) interface, etc.

[0139] In a specific implementation, in one embodiment, device 800 may include multiple processors, such as processor 801 and processor 405 in FIG. 8. Each of the processors may be a single-core processor (single CPU) or a multi-core processor (multiple CPUs). A processor herein may be one or more devices, circuits, and / or processing cores configured to process data (e.g., computer program instructions).

[0140] FIG. 9 is a schematic diagram of the structure of a device 900 according to an embodiment of the present application. The first device and the second device of FIG. 2 may be implemented by the device shown in FIG. 9. As shown in the schematic diagram of the structure of the device shown in FIG. 9, the device 900 includes a main control board and one or more interface boards. The main control board is communicatively connected to the interface boards. The main control board is also called a main processing unit (MPU) or a route processor card. The main control board includes a CPU and a memory, and is responsible for controlling and managing each component in the device 900, including route calculation, and device management and maintenance functions. The interface boards are also called a line processing unit (LPU) or a line card, and are configured to receive and transmit packets. In some embodiments, the main control board communicates with the interface boards via a bus, or the interface boards communicate with each other via a bus. In some embodiments, the interface boards communicate with each other via a switching board. In this case, the device 900 also includes a switching board. The switching board is communicatively connected to the main control board and the interface board and configured to transfer data between the interface boards. The switching board may be referred to as a switch fabric unit (SFU). The interface board includes a CPU, a memory, a forwarding engine, and an interface card (IC). The interface card may include one or more network interfaces. The network interface may be an Ethernet interface, a FE interface, a GE interface, etc. The CPU is communicatively connected to the memory, the forwarding engine, and the interface card. The memory is configured to store a forwarding table.The forwarding engine is configured to forward the received packet based on the forwarding information table stored in the memory. If the destination address of the received packet is the IP address of the device 900, the forwarding engine sends the packet to the CPU of the main control board or the CPU of the interface board for processing. If the destination address of the received packet is not the IP address of the device 900, the forwarding engine searches the forwarding information table based on the destination address. If the next hop and outbound interface corresponding to the destination address are found from the forwarding information table, the forwarding engine forwards the packet to the outbound interface corresponding to the destination address. The forwarding engine may be a network processor (NP). The interface card may be called a sub card and installed on the interface board. The interface card is responsible for converting optical / electrical signals into data frames, checking the validity of the data frames, and forwarding the data frames to the forwarding engine or the CPU of the interface board for processing. In some embodiments, the CPU may also provide the functionality of a forwarding engine, such as implementing software forwarding based on a general-purpose CPU, so that a forwarding engine is not required on the interface board. In some embodiments, the forwarding engine may be implemented by using an ASIC or a field programmable gate array (FPGA). In some embodiments, the memory that stores the forwarding table may alternatively be integrated into the forwarding engine and used as part of the forwarding engine.

[0141] An embodiment of the present application further provides a chip system including a processor. The processor is coupled to a memory, and the memory is configured to store a program or instruction. When the program or instruction is executed by the processor, the chip system is capable of performing the method of the first device or the second device in the embodiment shown in FIG. 2.

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

[0143] Optionally, there may be one or more memories in the chip system. The memory may be integrated with the processor or may be located separately from the processor. This is not limited in this application. For example, the memory may be a non-transitory processor, such as a read-only memory (ROM). The memory and the processor may be integrated in the same chip or may be located separately in different chips. The type of memory and the manner of arranging the memory and the processor are not particularly limited in this application.

[0144] For example, the chip system may be an FPGA, an ASIC, a system on chip (SoC), a CPU, a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD), or another integrated chip.

[0145] It should be understood that the steps in the above-mentioned method embodiments can be completed by using instructions in the form of hardware integrated logic circuits or software in a processor. The steps of the method disclosed with reference to the embodiments of the present application may be directly executed by a hardware processor, or may be executed by a combination of hardware and software modules in a processor.

[0146] An embodiment of the present application further provides a computer-readable storage medium containing instructions, which when executed on a computer, enable the computer to perform the method in the aforementioned embodiment.

[0147] In the specification, claims, and accompanying drawings of this application, terms such as "first," "second," "third," "fourth," etc. are intended to distinguish between similar objects, but do not necessarily indicate a particular sequence or order. It should be understood that such referred data are interchangeable in appropriate circumstances, and thus the embodiments described herein may be implemented in an order other than that illustrated or described herein. In addition, the terms "include," "have," and any other variations thereof are intended to cover a non-exclusive inclusion. For example, a process, method, system, product, or device that includes a list of steps or units is not necessarily limited to the steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to the process, method, product, or device.

[0148] In this application, "at least one item" means one or more, and "a plurality of" means two or more. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of singular or plural items. For example, at least one of a, b, or c can represent a, b, c, a and b, a and c, b and c, or a, b, and c, where a, b, and c may be singular or plural. In this application, "A and / or B" is considered to include A only, B only, and A and B.

[0149] For the purpose of convenient and concise description, the detailed operation processes of the aforementioned systems, apparatuses, and units can be clearly understood by those skilled in the art to refer to the corresponding processes in the aforementioned method embodiments, and the details will not be described again here.

[0150] In some embodiments provided in the present application, it should be understood that the disclosed system, device, and method may be implemented in other manners. For example, the described device embodiment is merely an example. For example, the division into units is merely a logical module division, and may be other divisions in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not implemented. In addition, the shown or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. Indirect couplings or communication connections between devices or units may be implemented in electronic, mechanical, or other forms.

[0151] The units described as separate parts may or may not be physically separate, and the parts shown as units may or may not be physical units, and may be located in one location or distributed over multiple network units. Some or all of the units may be obtained based on the actual requirements to achieve the objectives of the solutions of the embodiments.

[0152] In addition, the module units in the embodiments of the present application may be integrated into one processing unit, each of the units may exist physically alone, or two or more units may be integrated into one unit. The integrated unit may be implemented in the form of hardware or in the form of a software module unit.

[0153] When the integrated unit is implemented in the form of a software module unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present application in essence, or the part that contributes to the prior art, or all or part of the technical solution may be implemented in the form of a software product. The computer software product is stored in a storage medium and includes some instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to execute all or some of the steps of the method described in the embodiments of the present application. The storage medium includes any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0154] Those skilled in the art should recognize that the functions described in the present invention in one or more of the above examples can be implemented by hardware, software, firmware, or any combination thereof. When the functions are implemented by software, the functions described above can be stored in a computer-readable medium or transmitted as one or more instructions or codes in a computer-readable medium. Computer-readable media include computer storage media and communication media, and communication media include any medium that allows a computer program to be transmitted from one place to another. Storage media can be any available medium accessible to a general-purpose or special-purpose computer.

[0155] The objectives, technical solutions and beneficial effects of the present invention will be described in more detail in the above specific implementations. It should be understood that the above description is only a specific implementation of the present invention.

[0156] In conclusion, the above embodiments are only intended to describe the technical solutions of the present application, and are not intended to limit the present application. Although the present application has been described in detail with reference to the above embodiments, it should be understood that those skilled in the art can still make modifications to the technical solutions described in the above embodiments, or make equivalent substitutions to some technical features thereof, without departing from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A packet forwarding method, comprising: obtaining a first packet by a first device, the first device being a network device in an access network or a mobile core network; determining, by the first device, network slice mapping information based on the first packet, comprising determining a first network slice identifier based on one or more of a service identifier, a flow identifier, and a user identifier of the first packet; generating, by the first device, a second packet based on the first packet, the second packet including the network slice mapping information including the first network slice identifier; transmitting, by the first device, the second packet to a second device, the second device being a network device in a transport network, the network slice mapping information being used by the second device to forward the second packet and to determine a network slice of the transport network; wherein the first network slice identifier identifies a network slice that is of the access network while transmitting the first packet, or identifies a network slice that is of the mobile core network while transmitting the first packet.

2. The network slice mapping information includes: Quality of service parameters, virtual private network (VPN) identifiers, quality of service parameter identifiers, service slice identifiers, resource slice identifiers, and transport network slice identifiers The method of claim 1 , comprising one or more of:

3. A packet forwarding method, comprising: obtaining a first packet by a first device, the first device being a network device in an access network or a mobile core network; determining, by the first device, network slice mapping information based on the first packet; generating, by the first device, a second packet based on the first packet, the second packet including the network slice mapping information; transmitting, by the first device, the second packet to a second device, the second device being a network device in a transport network, the network slice mapping information being used by the second device to forward the second packet and to determine a network slice of the transport network; and determining, by the first device, network slice mapping information, determining, by the first device, a first network slice identifier based on the first packet, the first network slice identifier identifying a network slice for transmitting the first packet and belonging to the access network, or identifying a network slice for transmitting the first packet and belonging to the mobile core network, the first device storing a correspondence between the first network slice identifier and the network slice mapping information; determining, by the first device, the network slice mapping information based on the first network slice identifier and the correspondence; A method comprising:

4. The step of determining, by the first device, network slice mapping information includes: determining, by the first device, the network slice mapping information based on attribute information of the first packet; or determining, by the first device, the network slice mapping information based on requirement information for transmitting the first packet; The method of claim 1 , comprising:

5. 5. The method of claim 1, wherein the second packet includes any one or more of an Internet Protocol version 6 (IPv6) extension header, an IPv6 base header, an Ethernet header, and a Multiprotocol Label Switching (MPLS) header, and the any one or more of the IPv6 extension header, the IPv6 base header, the Ethernet header, and the MPLS header carry the network slice mapping information.

6. The method of claim 5, wherein the network slice mapping information is carried in a Type-Length-Value (TLV) field of the IPv6 extension header.

7. 7. The method according to claim 5, wherein the network slice mapping information is carried in one or more of a source address field, a destination address field, a flow label field of the IPv6 base header, and a VLAN ID field in an Ethernet header.

8. The method of claim 1 , wherein the first device is a base station or customer premises equipment and the second device is a router or a switch.

9. A method for determining whether a first device is a network device in an access network or a mobile core network, comprising: receiving, by a second device, a second packet from a first device, the second packet including network slice mapping information, the first device being a network device in an access network or a mobile core network, and the second device being a network device in a transport network; determining, by the second device, a corresponding network slice of the transport network based on the network slice mapping information; transmitting, by the second device, the second packet by using network resources corresponding to the network slice of the transport network; The method of claim 1 further comprising:

10. A network device configured to carry out the method of any one of claims 1 to 8.

11. A network system comprising the first device configured to perform the method according to any one of claims 1 to 8 and the second device configured to perform the method according to claim 9.

12. 9. A computer readable storage medium comprising instructions, programs or codes which, when executed on a computer, enable the computer to perform the method of any one of claims 1 to 8.

Citation Information

Patent Citations

  • Communication control method

    JP2018186450A

  • Packet processing method and device

    JP2019518393A

  • Network slice control method and apparatus, and computer readable storage medium

    WO2020010957A1