Data transmission method, device, equipment and storage medium based on network slicing
By carrying slice identifiers in the Flow Label field of IPv6 packets, combined with the preset slice division strategy and slice forwarding strategy, the problem of resource isolation and excessive resource utilization of Flex-Algo technology in the network slicing field is solved, and the network is realized Effective support for slice function.
Patent Information
- Application Number
- CN202110518635.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-05-12
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2041-05-12
AI Technical Summary
Flex-Algo technology has insufficient port-level coarse-grained slice function and extended control surface protocols in the field of network slicing, resulting in excessive resource usage, which cannot support application scenarios of large-scale slices.
By carrying slice identifiers in the Flow Label field of IPv6 packets, combining preset slice division policies and slice forwarding policies, the resource subinterface of data packets is determined, thereby realizing the network slice function.
Resource isolation is realized, overcoming the problem of excessive resource occupation caused by the traditional Flex-Algo extension control surface protocol, supporting application scenarios of large-scale slices, and implementing network slice functions in forwarding surfaces.
Smart Images

Figure CN115348202B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data transmission, and in particular to a data transmission method, apparatus, device and storage medium based on network slicing. Background Art
[0002] Network slicing is one of the key technologies of 5G (fifth generation mobile communications). It refers to the diversion management of network data similar to traffic management. Its essence is to divide the existing physical network into multiple virtual networks of different types at the logical level. According to the service needs of different users, it is divided according to indicators such as latency, bandwidth, reliability, etc., so as to cope with complex and changing application scenarios. Through network slicing, mobile network operators can divide users into different types, each of which has different service requests, and manage the slice types and services that each user is eligible to use according to the service level agreement (SLA).
[0003] The 5G bearer network is part of the 5G end-to-end service path. The bearer network slice virtualizes the network topology resources (such as links, nodes, ports and internal resources of network elements) and divides multiple logical virtual transmission subnets in the transmission hardware facilities. The virtual transmission subnet has independent management plane, control plane and forwarding plane, and independently supports various services, so as to achieve isolation between different services.
[0004] Flex-Algo (Flexible-Algorithm) extends IGP (interior Gateway Protocols) Segment Routing to assign different SIDs (Security Identifiers) to the same device to represent different Flex-Algo planes, and in each Flex-Algo plane, Metric-Type (metric type), Calc-Type (calculation type) and Link-Color (link color) are combined to perform SPF (Shortest Path First) calculations to form independent routing forwarding entries. Flex-Algo does not modify the forwarding mechanism and can inherit the current SR (segment routing) and SRv6 (SR based on IPv6) forwarding mechanisms.
[0005] Flex-Algo can divide the physical network into multiple virtual networks. These virtual networks can be physically "isolated", for example Figure 1As shown: different nodes or links are added to different Flex-Algo planes. Logical "isolation" can also be achieved, for example Figure 2 As shown: path calculation based on latency, path calculation based on IGP Metric (Internal Gateway Protocol Metric) value, and path calculation based on TEMetric (Traffic Engineering Metric) value. Different virtual networks are used to achieve differentiated business demands.
[0006] In the related technologies, the application of Flex-Algo technology in the field of network slicing has the following defects:
[0007] (1) Flex-Algo can only implement coarse-grained slicing at the port level. For the same physical link in different logical topologies, resources are shared, and true resource isolation is not achieved;
[0008] (2) Flex-Algo extended control plane protocol requires planning an independent address space for each slice and performing independent SPF (shortest path first) calculation for each slice. The number of routes increases linearly with the number of slices, and the convergence performance decreases linearly with the number of slices. Each slice occupies a large amount of resources and cannot support application scenarios with a large number of slices. Summary of the invention
[0009] In view of this, the embodiments of the present application provide a data transmission method, apparatus, device and storage medium based on network slicing, aiming to reliably implement the network slicing function during data transmission.
[0010] The technical solution of the embodiment of the present application is implemented as follows:
[0011] In a first aspect, an embodiment of the present application provides a data transmission method based on network slicing, which is applied to a first network device, and the method includes:
[0012] receiving a first data message to be forwarded;
[0013] Determine a slice identifier of a network slice of the first data packet based on a service identifier of the first data packet and a preset slice partitioning strategy;
[0014] Determining a physical outbound interface for the first data message;
[0015] Determine a resource sub-interface of the first data message based on the slice identifier, the physical outbound interface, and a preset slice forwarding strategy;
[0016] Generate a second data message based on the first data message encapsulation, and forward the second data message based on the resource sub-interface;
[0017] The second data packet is an IPv6 (Internet Protocol Version 6) packet, and the flow label field of the second data packet carries the slice identifier.
[0018] In the above scheme, the method further includes:
[0019] Receiving the preset slice partitioning strategy;
[0020] Among them, the preset slice division strategy is used to allocate slice identifiers based on the service identifier; the service identifier is a virtual local area network (VLAN) identifier, a virtual private network (VPN) identifier or a differentiated services code point (DSCP) identifier.
[0021] In the above scheme, the method further includes:
[0022] Receiving the preset slice forwarding strategy;
[0023] Among them, the preset slice forwarding strategy is used to allocate a resource sub-interface of the physical output interface based on the slice identifier; the resource sub-interface is a sub-interface of the physical output interface based on the metropolitan area transport network (G.MTN, abbreviated as MTN: Metro Transport Network), flexible Ethernet (Flex Ethernet, FlexE), quality of service (Quality of Service, QoS) or VLAN technology.
[0024] In the above scheme, the second data packet also carries indication information for indicating whether to carry the slice identifier.
[0025] In the above scheme, the communication classification field of the second data message carries the indication information.
[0026] In a second aspect, an embodiment of the present application further provides a data transmission method based on network slicing, which is applied to a second network device, and the method includes:
[0027] Receive a second data packet to be forwarded, where the second data packet is an IPv6 packet, and a flow label field of the second data packet carries a slice identifier indicating a network slice of the second data packet;
[0028] Determining a physical outgoing interface for the second data message;
[0029] Determine a resource sub-interface of the second data message based on the slice identifier, the physical outbound interface, and a preset slice forwarding strategy;
[0030] The second data packet is forwarded based on the resource sub-interface.
[0031] In the above solution, the second data message further carries indication information for indicating whether to carry the slice identifier, and the method further includes:
[0032] Determining that the second data packet carries the slice identifier based on the indication information, then determining the resource sub-interface of the second data packet based on the slice identifier, the physical output interface and the preset slice forwarding strategy and forwarding the second data packet based on the resource sub-interface; or,
[0033] If it is determined based on the indication information that the second data packet does not carry the slice identifier, the second data packet is forwarded based on the IPv6 forwarding mechanism or the SRv6 (Segment Routing IPv6, segment routing based on IPv6) forwarding mechanism.
[0034] In the above scheme, the communication classification field of the second data message carries the indication information.
[0035] In the above scheme, the method further includes:
[0036] Receiving the preset slice forwarding strategy;
[0037] Among them, the preset slice forwarding strategy is used to allocate the resource sub-interface of the physical output interface based on the slice identifier; the resource sub-interface is a sub-interface implemented on the physical output interface based on G.MTN, FlexE, QoS or VLAN technology.
[0038] In a third aspect, an embodiment of the present application further provides a data transmission device based on network slicing, which is applied to a first network device, including:
[0039] A first receiving module, used for receiving a first data message to be forwarded;
[0040] A first determination module, used to determine a slice identifier of a network slice of the first data message based on a service identifier of the first data message and a preset slice division strategy;
[0041] A second determining module, used to determine the physical outgoing interface of the first data message;
[0042] A third determination module, used to determine the resource sub-interface of the first data message based on the slice identifier, the physical outbound interface and a preset slice forwarding strategy;
[0043] A first forwarding module, configured to generate a second data message based on the first data message encapsulation, and forward the second data message based on the resource sub-interface;
[0044] The second data packet is an IPv6 packet, and the flow label field of the second data packet carries the slice identifier.
[0045] In a fourth aspect, an embodiment of the present application further provides a data transmission device based on network slicing, which is applied to a second network device, including:
[0046] A second receiving module is used to receive a second data packet to be forwarded, where the second data packet is an IPv6 packet, and a flow label field of the second data packet carries a slice identifier indicating a network slice of the second data packet;
[0047] A fourth determining module, used to determine the physical outgoing interface of the second data message;
[0048] A fifth determination module, used to determine the resource sub-interface of the second data message based on the slice identifier, the physical outbound interface and a preset slice forwarding strategy;
[0049] The second forwarding module is used to forward the second data message based on the resource sub-interface.
[0050] In a fifth aspect, an embodiment of the present application further provides a first network device, comprising: a first communication interface, a first processor, and a first memory for storing a computer program that can be run on the processor, wherein the first processor, when running the computer program, executes the steps of the method described in the first aspect of the embodiment of the present application.
[0051] In the sixth aspect, an embodiment of the present application also provides a second network device, comprising: a second communication interface, a second processor and a memory for storing a computer program that can be run on the second processor, wherein the second processor, when running the computer program, executes the steps of the method described in the second aspect of the embodiment of the present application.
[0052] In a seventh aspect, an embodiment of the present application further provides a data transmission system, comprising the first network device described in the embodiment of the present application and the second network device described in the embodiment of the present application.
[0053] In an eighth aspect, an embodiment of the present application further provides a storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method described in the embodiment of the present application are implemented.
[0054] The technical solution provided by the embodiment of the present application determines the slice identifier of the network slice of the first data packet based on the service identifier of the first data packet and the preset slice division strategy; determines the resource sub-interface of the first data packet based on the slice identifier of the first data packet, the physical output interface and the preset slice forwarding strategy; generates a second data packet based on the encapsulation of the first data packet, and forwards the second data packet based on the resource sub-interface; wherein the second data packet is an IPv6 packet, and the flow label field of the second data packet carries the slice identifier. The embodiment of the present application can match the corresponding link resources based on the slice identifier carried in the flow label field of the IPv6 packet, thereby realizing the network slicing function on the forwarding plane, overcoming the limitation of the traditional Flex-Algo extended control plane protocol that is difficult to support application scenarios with a large number of slices, and based on the matching of the slice identifier and the resource sub-interface, it can not only realize resource isolation between physical ports, but also realize resource isolation within the same physical port. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] Figure 1 It is a schematic diagram of physical isolation based on Flex-Algo in the related technology;
[0056] Figure 2 It is a schematic diagram of logical isolation based on Flex-Algo in the related art;
[0057] Figure 3 This is a structural diagram of a data transmission system in an application example of the present application;
[0058] Figure 4 This is a flowchart of a data transmission method based on network slicing on the first network device side of an embodiment of the present application;
[0059] Figure 5 This is a schematic diagram of the header structure of an IPv6 message in an embodiment of the present application;
[0060] Figure 6 This is a schematic diagram of carrying a slice ID in the Flow Label field in an embodiment of the present application;
[0061] Figure 7 This is a flow chart of a data transmission method based on network slicing on the second network device side of an embodiment of the present application;
[0062] Figure 8 This is a schematic diagram of the data transmission process based on network slicing in the data transmission system of the application embodiment of the present application;
[0063] Fig. 9 This is one of the structural schematic diagrams of a data transmission device based on network slicing in an embodiment of the present application;
[0064] Fig.10This is the second structural diagram of the data transmission device based on network slicing in an embodiment of the present application;
[0065] Fig.11 This is a schematic diagram of the structure of the first network device in an embodiment of the present application;
[0066] Fig.12 This is a schematic diagram of the structure of the second network device in the embodiment of the present application;
[0067] Fig.13 This is a schematic diagram of the structure of the data transmission system according to an embodiment of the present application. DETAILED DESCRIPTION
[0068] The present application is further described in detail below in conjunction with the accompanying drawings and embodiments.
[0069] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein in the specification of this application are only for the purpose of describing specific embodiments and are not intended to limit this application.
[0070] In the related technologies, since Flex-Algo technology is applied in the field of network slicing, it can only realize coarse-grained slicing functions at the port level, and the Flex-Algo extended control plane protocol needs to plan an independent address space for each slice and perform independent SPF calculation for each slice, resulting in the limitation of being unable to support application scenarios with a large number of slices.
[0071] Based on this, in various embodiments of the present application, a method for realizing network slicing function in the forwarding plane is proposed. Through unified planning and configuration, a slice ID (Slice ID, also known as a slice ID) is globally allocated and associated with the link resources of the forwarding device. The slice ID is carried in the Flow Label field of the IPv6 message. The forwarding device identifies the slice ID and matches the corresponding link resources, combined with the corresponding hard slicing technology, and finally realizes the end-to-end network slicing function of the bearer network.
[0072] It should be noted that communication routing is often divided into a control plane and a data plane to achieve isolation between the control plane and the data plane. The control plane is responsible for determining how the forwarding plane works; the forwarding plane is responsible for forwarding data packets.
[0073] Before introducing the data transmission method based on network slicing in the embodiment of the present application, the data transmission system in the embodiment of the present application is first exemplarily described, and the data transmission system includes: a customer edge device (Customer Edge, referred to as CE), a service provider edge router (Provider Edge, referred to as PE) and a service provider router (Provider, referred to as P). Figure 3 As shown, as an exemplary but not limiting explanation, the user edge devices in the data transmission system include: CE1, CE2, CE3, CE11, CE21, CE31, the service provider edge router includes: PE1, PE2, and the service provider router includes: P1, P2. CE1, CE2 and CE3 are all connected to PE1 and connected to PE2 via P1 and P2 in turn, and CE11, CE21, CE31 are all connected to PE2. It can be understood that PE1 serves as a bridge connecting CE1, CE2 and CE3 with P1, and PE2 serves as a bridge connecting CE11, CE21, CE31 with P2. In other embodiments, the number of user edge devices, server edge routers, and service provider routers in the backbone network can be reasonably set according to demand, and this application does not limit this.
[0074] Exemplarily, before applying the data transmission method based on network slicing in the application embodiment, an SDN (Software Defined Network) controller or a network management system can be used to globally plan a slice ID according to the user's service identifier, assign it to the corresponding user service, and associate the slice ID with the actual physical resources on the forwarding device.
[0075] Here, the service identifier may be a VLAN identifier, a VPN identifier or a DSCP identifier, which is not limited in the present embodiment. The service identifier may be associated with the slice ID based on a preset slice partitioning strategy (eg, a slice partitioning table).
[0076] Exemplarily, the physical port can be resource-divided based on the bandwidth resources of each slice network, and the slice ID can be associated with the actual physical resources. Here, the physical port can be divided into sub-interfaces with link resource isolation based on technologies such as G.MTN, FlexE, QoS or VLAN, and the slice ID can be associated with the corresponding sub-interface based on a preset slice forwarding strategy (such as a slice forwarding table).
[0077] It is understandable that the corresponding slice partitioning table and slice forwarding table need to be sent to the service provider's edge router, and the corresponding slice forwarding table needs to be sent to the service provider's router.
[0078] For example, Figure 3Taking PE1 shown as an example, assuming that the service identifier is a VPN identifier, the SDN controller or network management system can configure a preset slice division strategy for PE1, for example, sending a slice division table shown in Table 1 to PE1.
[0079] Table 1 Slice partition table
[0080] VPN ID Slice ID Resource Information VPN1 1 BW:10G VPN2 2 BW:20G VPN3 3 BW:30G
[0081] Among them, the VPN ID of CE1 is VPN1, the slice ID is 1, and the corresponding bandwidth resource BW is 10G; the VPN ID of CE2 is VPN2, the slice ID is 2, and the corresponding bandwidth resource BW is 20G; the VPN ID of CE3 is VPN3, the slice ID is 3, and the corresponding bandwidth resource BW is 30G.
[0082] Exemplarily, assuming that bandwidth is divided for physical port GE1 / 0 / 0 of PE1 based on G.MTN, a corresponding G.MTN sub-interface is generated to form a slice forwarding table as shown in Table 2, and the SDN controller or network management system configures the slice forwarding table for PE1.
[0083] Table 2 Slice forwarding table
[0084]
[0085]
[0086] It is understandable that the SDN controller or network management system can also Figure 3 P1 and P2 shown below send corresponding slice forwarding tables. For details, please refer to the configuration method of PE1, which will not be repeated here.
[0087] The embodiment of the present application provides a data transmission method based on network slicing, which is applied to a first network device, where the first network device can be a service provider edge router (e.g. Figure 3 PE1), such as Figure 4 As shown, the method includes:
[0088] Step 401: Receive a first data message to be forwarded.
[0089] Exemplarily, PE1 receives a first data packet sent by CE1, CE2 or CE3. The first data packet may be an IPv4 packet or an IPv6 packet, which is not limited in the embodiment of the present application.
[0090] Step 402: Determine the slice identifier of the network slice of the first data packet based on the service identifier of the first data packet and the preset slice division strategy.
[0091] Exemplarily, PE1 can determine the slice ID of the network slice of the first data packet based on the switching partition table shown in the aforementioned Table 1.
[0092] For example, if PE1 receives a first data packet sent by CE1, and the VPN ID of the first data packet is VPN1, it can be determined that the slice ID of the first data packet is 1.
[0093] Step 403: determine the physical outbound interface of the first data message.
[0094] Exemplarily, PE1 may determine the physical outbound interface of the first data packet based on the routing forwarding table.
[0095] Step 404, determine the resource sub-interface of the first data packet based on the slice identifier, the physical output interface and the preset slice forwarding strategy.
[0096] Exemplarily, PE1 can query the switching forwarding table shown in Table 2 above based on the slice ID and physical outbound interface of the first data packet to determine the resource sub-interface for forwarding the first data packet. For example, the resource sub-interface corresponding to slice ID1 under the physical outbound interface GE1 / 0 / 0 is GE1 / 0 / 0.MTN1.
[0097] Step 405: Generate a second data packet based on the first data packet encapsulation, and forward the second data packet based on the resource sub-interface.
[0098] Here, the second data packet is an IPv6 packet, and the Flow Label field of the second data packet carries a slice identifier.
[0099] Figure 5The structure of the IPv6 packet header is shown, wherein the Version field (4-bit) indicates the IP version; the Traffic Class field (8-bit) indicates the traffic classification or priority, which is similar to the TOS (Type of Service) field of the IPv4 packet header; the Flow Label field (20-bit) is used to mark a flow of IPv6 data packets; the Payload Length field (16-bit) indicates the length of the effective load, and the extended header is also counted in the Payload length; the Next Header field (8-bit) indicates a new way of processing option fields, segmentation, security, mobility, loose source routing, record routing, etc.; the Hop Limit field (8-bit) is used to define the maximum number of hops that an IP data packet can go through, and this value is reduced by 1 for each hop; the Source Address field (128-bit) indicates the source address of the IP data packet; and the Destination Address field (128-bit) indicates the destination address of the IP data packet.
[0100] According to RFC8200, the Flow Label field in the IPv6 message occupies 20 bits to mark traffic characteristics in order to distinguish different messages at the network layer. RFC6437 and RFC6438 stipulate that the Flow Label field is used for traffic load sharing. This embodiment of the application uses the Flow Label field to carry the slice ID. The main advantages are as follows:
[0101] 1) Currently, the 20 bits specified in the Flow Label field are not actually used in most chips. Some fields can be divided to carry the slice ID. The specific field length can be determined based on the number of slices and the number of bits used in the chip Flow Label field. For example, some chips currently use the lower 12 bits of the Flow Label field, so the upper 8 bits of the FlowLabel field can be used to carry the slice ID, such as Figure 6 shown.
[0102] 2) Even if the device chip in the network uses all 20 bits of the Flow Label field for load sharing, the solution of the embodiment of the present application is forward compatible. By reducing the number of load sharing HASH bits, it only affects the degree of load sharing dispersion, reduces the flow load sharing effect to a certain extent, and will not affect the actual flow reception and transmission.
[0103] 3) The Flow Label field in the IPv6 packet header has a hop-by-hop attribute, which not only meets the requirements of slice-by-hop processing, but also enables efficient parsing, thus avoiding the addition of slice IDs that would reduce packet processing efficiency.
[0104] It can be understood that the embodiment of the present application associates the slice ID with the physical link resource based on the forwarding plane to achieve resource isolation under the same physical interface. The forwarding plane adds a slice information table lookup forwarding process, which does not involve other operations and has little impact on system performance. The number of physical slices supported depends on the number of bits that can be occupied by the Flow Label field. Taking 8 bits as an example, 256 physical slices can be supported.
[0105] Exemplarily, the first network device may also receive a preset slice partitioning strategy, such as receiving a slice partitioning table issued by an SDN controller or a network management system. The specific details of the slice partitioning strategy may be found in the above description and will not be repeated here.
[0106] Exemplarily, the first network device may also receive a preset slice forwarding strategy, such as receiving a slice forwarding table issued by an SDN controller or a network management system. The specific details of the slice forwarding strategy may be found in the above description and will not be repeated here.
[0107] Exemplarily, the second data packet may also carry indication information for indicating whether to carry the slice identifier.
[0108] The data transmission method of the embodiment of the present application can be compatible with the IPv6 basic protocol. If the forwarding device does not support the slicing function, the Flow Label field retains the existing meaning and can be forwarded according to the existing IPv6 forwarding mechanism without compatibility issues. If the forwarding device supports the slicing function, a specific identification bit can be used to determine whether to perform slice ID resolution on the FlowLabel field.
[0109] Exemplarily, the communication classification field (Traffic Class) of the second data packet carries the indication information, for example, a certain bit in the Traffic Class field of the IPv6 packet can be selected according to the plan to indicate whether to carry the slice ID.
[0110] The embodiment of the present application also provides a data transmission method based on network slicing, which is applied to a second network device, where the second network device can be a service provider router (e.g. Figure 3 P1, P2), such as Figure 7 As shown, the method includes:
[0111] Step 701: receive a second data packet to be forwarded, where the second data packet is an IPv6 packet, and the flow label field of the second data packet carries a slice identifier indicating a network slice of the second data packet.
[0112] It can be understood that the second data packet received by the second network device can be the second data packet forwarded by the aforementioned first network device (for example, P1 receives the data packet from PE1), or it can be the second data packet forwarded by other second network devices (for example, P2 receives the data packet from P1), and the present application does not limit this.
[0113] Here, the second network device can extract the slice ID carried by the Flow Label field based on the header of the IPv6 message.
[0114] Step 702: determine the physical outbound interface of the second data packet.
[0115] The second network device may determine a physical outbound interface of the second data packet based on the routing forwarding table.
[0116] Step 703, determine the resource sub-interface of the second data packet based on the slice identifier, the physical output interface and the preset slice forwarding strategy.
[0117] Here, the second network device can search the slice forwarding table based on the slice ID and physical output interface of the second data packet to determine the resource sub-interface.
[0118] Step 704: forward the second data message based on the resource sub-interface.
[0119] Here, the second network device can forward the second data packet based on the determined resource sub-interface, so that the slice ID can be associated with the physical link resource, which can not only achieve resource isolation between physical ports, but also achieve resource isolation within the same physical port.
[0120] In some embodiments, the second data packet further carries indication information for indicating whether to carry the slice identifier, and the method further includes:
[0121] Determining that the second data packet carries the slice identifier based on the indication information, then determining the resource sub-interface of the second data packet based on the slice identifier, the physical output interface and the preset slice forwarding strategy and forwarding the second data packet based on the resource sub-interface; or,
[0122] If it is determined based on the indication information that the second data packet does not carry the slice identifier, the second data packet is forwarded based on the IPv6 forwarding mechanism or the SRv6 forwarding mechanism.
[0123] It should be noted that in order to implement SRv6 forwarding in IPv6 packets, it is necessary to introduce an SRv6 extension header (Routing Type is 4) in the IPv6 packet header, called Segment Routing Header (SRH), which is used to programmatically combine segments to form an SRv6 path.
[0124] It is understandable that the data transmission method of the embodiment of the present application is compatible with the IPv6 basic protocol, and a specific identification bit can be used to determine whether to perform slice ID parsing on the Flow Label field. If the forwarding device does not support the slicing function, the Flow Label field retains the existing meaning and can be forwarded according to the existing IPv6 forwarding mechanism without compatibility issues.
[0125] In some embodiments, the communication classification field of the second data message carries the indication information.
[0126] In some embodiments, the second network device can receive the preset slice forwarding strategy; for example, receive the slice forwarding table issued by the SDN controller or the network management system. The specific slice forwarding strategy can be found in the above description and will not be repeated here.
[0127] The present application is further described in detail below in conjunction with an application example.
[0128] like Figure 8 As shown, in this application embodiment, SRv6 forwarding is taken as an example to illustrate the processing process of the forwarding plane of each forwarding device.
[0129] The data transmission method of PE1 includes the following steps:
[0130] PE1 receives a first data message from a user edge device CE1, CE2 or CE3;
[0131] PE1 searches the slice planning table shown in Table 1 according to the VPN identifier, obtains the slice ID, encapsulates it into the Flow Label field of the IPv6 message header, and generates a second data message;
[0132] PE1 searches the SR forwarding table for the physical outbound interface based on the SRv6 forwarding mechanism.
[0133] PE1 obtains the resource interface according to the physical outbound interface and the slice forwarding table shown in Table 2, and forwards the encapsulated second data message according to the resource information.
[0134] The data transmission method of P1 includes the following steps:
[0135] P1 receives the second data message from PE1;
[0136] P1 searches the SR forwarding table for the physical outbound interface based on the SRv6 forwarding mechanism.
[0137] P1 parses the slice ID in the IPv6 message header, searches the slice forwarding table according to the physical outbound interface and the slice ID, obtains the resource interface, and forwards the second data message according to the resource information.
[0138] The data transmission method of P2 includes the following steps:
[0139] P2 receives the second data message from P1;
[0140] P2 searches the SR forwarding table based on the SRv6 forwarding mechanism and confirms the physical outbound interface.
[0141] P2 parses the slice ID in the IPv6 message header, searches the slice forwarding table according to the physical outbound interface and the slice ID, obtains the resource interface, and forwards the second data message according to the resource information.
[0142] PE2 receives the second data packet forwarded by P2, decapsulates the packet according to the SRv6 forwarding mechanism, and forwards the packet to the user edge device CE11, CE12 or CE13.
[0143] From the above description, we can know that by associating slice IDs with physical link resources based on the forwarding plane, resource isolation is achieved under the same physical interface. The forwarding plane adds a slice ID lookup table forwarding process, which does not involve other operations and has little impact on system performance. The number of physical slices supported depends on the number of bits that can be occupied by the Flow Label field. Taking 8 bits as an example, 256 physical slices can be supported.
[0144] In order to implement the data transmission method of the embodiment of the present application, the embodiment of the present application also provides a data transmission device applied to the first network device, which corresponds to the data transmission method on the first network device side mentioned above, and each step in the embodiment of the data transmission method on the first network device side mentioned above is also fully applicable to the embodiment of the present data transmission device.
[0145] like Fig. 9As shown, the data transmission device includes: a first receiving module 901, a first determining module 902, a second determining module 903, a third determining module 904 and a first forwarding module 905. The receiving module 901 is used to receive a first data message to be forwarded; the first determining module 902 is used to determine the slice identifier of the network slice of the first data message based on the service identifier of the first data message and the preset slice division strategy; the second determining module 903 is used to determine the physical output interface of the first data message; the third determining module 904 is used to determine the resource sub-interface of the first data message based on the slice identifier, the physical output interface and the preset slice forwarding strategy; the first forwarding module 905 is used to generate a second data message based on the encapsulation of the first data message, and forward the second data message based on the resource sub-interface; wherein the second data message is an IPv6 message, and the flow label field of the second data message carries the slice identifier.
[0146] In some embodiments, the first receiving module 901 is further configured to receive the preset slice partitioning strategy;
[0147] Among them, the preset slice division strategy is used to allocate a slice identifier based on the service identifier; the service identifier is a VLAN identifier, a VPN identifier or a DSCP identifier.
[0148] In some embodiments, the first receiving module 901 is further used to receive the preset slice forwarding strategy;
[0149] Among them, the preset slice forwarding strategy is used to allocate a resource sub-interface of the physical output interface based on the slice identifier; the resource sub-interface is a sub-interface implemented on the physical output interface based on G.MTN, FlexE, QoS or VLAN technology.
[0150] In some embodiments, the second data packet also carries indication information for indicating whether to carry the slice identifier.
[0151] In some embodiments, the communication classification field of the second data message carries the indication information.
[0152] In actual application, the first receiving module 901, the first determining module 902, the second determining module 903, the third determining module 904 and the first forwarding module 905 can be implemented by a processor in the data transmission device. Of course, the processor needs to run the computer program in the memory to implement its function.
[0153] In order to implement the data transmission method of the embodiment of the present application, the embodiment of the present application also provides a data transmission device applied to the second network device, which corresponds to the data transmission method on the second network device side mentioned above, and each step in the embodiment of the data transmission method on the second network device side mentioned above is also fully applicable to the embodiment of the present data transmission device.
[0154] like Fig.10 As shown, the data transmission device includes: a second receiving module 1001, a fourth determining module 1002, a fifth determining module 1003 and a second forwarding module 1004. The second receiving module 1001 is used to receive a second data message to be forwarded, the second data message is an IPv6 message, and the flow label field of the second data message carries a slice identifier indicating the network slice of the second data message; the fourth determining module 1002 is used to determine the physical output interface of the second data message; the fifth determining module 1003 is used to determine the resource sub-interface of the second data message based on the slice identifier, the physical output interface and the preset slice forwarding strategy; the second forwarding module 1004 is used to forward the second data message based on the resource sub-interface.
[0155] In some embodiments, the second data packet also carries indication information for indicating whether it carries the slice identifier, and the data transmission device also includes: a judgment module 1005, used to judge whether the second data packet carries the slice identifier based on the indication information, and if so, the fifth determination module 1003 determines the resource sub-interface of the second data packet based on the slice identifier, the physical output interface and the preset slice forwarding strategy, and the second forwarding module 1004 forwards the second data packet based on the resource sub-interface; if not, the second forwarding module 1004 forwards the second data packet based on the IPv6 forwarding mechanism or the SRv6 forwarding mechanism.
[0156] In actual application, the second receiving module 1001, the fourth determining module 1002, the fifth determining module 1003, the second forwarding module 1004 and the judging module 1005 can be implemented by a processor in the data transmission device. Of course, the processor needs to run the computer program in the memory to implement its functions.
[0157] It should be noted that: the data transmission device provided in the above embodiment only uses the division of the above program modules as an example when performing data transmission. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above. In addition, the data transmission device provided in the above embodiment and the data transmission method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
[0158] Based on the hardware implementation of the above program modules, and in order to implement the method of the embodiment of the present application, the embodiment of the present application also provides a first network device. Fig.11 Only an exemplary structure of the first network device is shown, not all structures, and can be implemented as needed. Fig.11 Partial or complete structure shown.
[0159] like Fig.11 As shown, the first network device 1100 provided in the embodiment of the present application includes: at least one first processor 1101, a first memory 1102 and at least one first communication interface 1103. The various components in the first network device 1100 are coupled together through a first bus system 1104. It can be understood that the first bus system 1104 is used to realize the connection and communication between these components. In addition to the data bus, the first bus system 1104 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, in Fig.11 In the figure, various buses are labeled as a first bus system 1104 .
[0160] The first memory 1102 in the embodiment of the present application is used to store various types of data to support the operation of the first network device. Examples of such data include: any computer program used to operate on the first network device.
[0161] The data transmission method disclosed in the embodiment of the present application can be applied to the first processor 1101, or implemented by the first processor 1101. The first processor 1101 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the data transmission method can be completed by the hardware integrated logic circuit or software instructions in the first processor 1101. The above-mentioned first processor 1101 may be a general-purpose processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The first processor 1101 can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiment of the present application. The general-purpose processor may be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiment of the present application, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium, which is located in the first memory 1102. The first processor 1101 reads the information in the first memory 1102 and completes the steps of the data transmission method provided in the embodiment of the present application in combination with its hardware.
[0162] In an exemplary embodiment, the first network device may be implemented by one or more application specific integrated circuits (ASIC), DSP, programmable logic device (PLD), complex programmable logic device (CPLD), field programmable gate array (FPGA), general purpose processor, controller, microcontroller (MCU), microprocessor, or other electronic components to execute the aforementioned method.
[0163] Based on the hardware implementation of the above program modules and in order to implement the method of the embodiment of the present application, the embodiment of the present application also provides a second network device. Fig.12 Only an exemplary structure of the second network device is shown, not all structures, and can be implemented as needed. Fig.12 Partial or complete structure shown.
[0164] like Fig.12 As shown, the second network device 1200 provided in the embodiment of the present application includes: at least one second processor 1201, a second memory 1202 and at least one second communication interface 1203. The various components in the second network device 1200 are coupled together through a second bus system 1204. It can be understood that the second bus system 1204 is used to realize the connection and communication between these components. In addition to the data bus, the second bus system 1204 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, in Fig.12 Various buses are labeled as a second bus system 1204.
[0165] The second memory 1202 in the embodiment of the present application is used to store various types of data to support the operation of the second network device. Examples of such data include: any computer program used to operate on the second network device.
[0166] The data transmission method disclosed in the embodiment of the present application can be applied to the second processor 1201, or implemented by the second processor 1201. The second processor 1201 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the data transmission method can be completed by the hardware integrated logic circuit or software instructions in the second processor 1201. The above-mentioned second processor 1201 can be a general-purpose processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The second processor 1201 can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiment of the present application. The general-purpose processor can be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiment of the present application, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium, which is located in the second memory 1202. The second processor 1201 reads the information in the second memory 1202 and completes the steps of the data transmission method provided in the embodiment of the present application in combination with its hardware.
[0167] In an exemplary embodiment, the second network device 1200 may be implemented by one or more ASICs, DSPs, PLDs, CPLDs, FPGAs, general processors, controllers, MCUs, Microprocessors, or other electronic components to perform the aforementioned methods.
[0168] It can be understood that the first memory 1102 and the second memory 1202 can be volatile memory or non-volatile memory, and can also include both volatile and non-volatile memory. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM); the magnetic surface memory can be a disk memory or a tape memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), synchronous static random access memory (SSRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM, SyncLink Dynamic Random Access Memory), and direct RAMbus random access memory (DRRAM, Direct Rambus Random Access Memory).The memories described in the embodiments of the present application are intended to include, but are not limited to, these and any other suitable types of memories.
[0169] The present application also provides a data transmission system. Fig.13 As shown, it includes the first network device 1100 and the second network device 1200 of the embodiment of the present application. The specific data transmission method can refer to the above description and will not be repeated here.
[0170] In an exemplary embodiment, the embodiment of the present application further provides a storage medium, namely a computer storage medium, which may be a computer-readable storage medium, for example, including a first memory 1102 storing a computer program, which may be executed by a first processor 1101 of a first network device 1100 to complete the steps described in the first network device side method of the embodiment of the present application; for another example, including a second memory 1202 storing a computer program, which may be executed by a second processor 1201 of a second network device 1200 to complete the steps described in the second network device side method of the embodiment of the present application. The computer-readable storage medium may be a memory such as a ROM, a PROM, an EPROM, an EEPROM, a Flash Memory, a magnetic surface memory, an optical disk, or a CD-ROM.
[0171] It should be noted that: "first", "second", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0172] In addition, the technical solutions described in the embodiments of the present application can be combined arbitrarily without conflict.
[0173] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A data transmission method based on network slicing, characterized in that: Applied to a first network device, the method comprises: receiving a first data message to be forwarded; Determine a slice identifier of a network slice of the first data packet based on a service identifier of the first data packet and a preset slice partitioning strategy; Determining a physical outbound interface for the first data message; Determine a resource sub-interface of the first data message based on the slice identifier, the physical outbound interface, and a preset slice forwarding strategy; Generate a second data message based on the first data message encapsulation, and forward the second data message based on the resource sub-interface; The second data packet is an IPv6 packet, and the flow label field of the second data packet carries the slice identifier; the resource sub-interface is obtained by dividing the resources of the physical outbound interface based on the bandwidth resources of each network slice; The second data packet also carries indication information for indicating whether it carries the slice identifier; the second network device receiving the second data packet determines that the second data packet carries the slice identifier based on the indication information, then determines the resource sub-interface of the second data packet based on the slice identifier, the physical output interface and the preset slice forwarding strategy, and forwards the second data packet based on the resource sub-interface; or, If it is determined based on the indication information that the second data packet does not carry the slice identifier, the second data packet is forwarded based on the IPv6 forwarding mechanism or the SRv6 forwarding mechanism.
2. The method according to claim 1, characterized in that The method further comprises: Receiving the preset slice partitioning strategy; Among them, the preset slice division strategy is used to allocate a slice identifier based on the service identifier; the service identifier is a virtual local area network VLAN identifier, a virtual private network VPN identifier or a differentiated service code point DSCP identifier.
3. The method according to claim 1, characterized in that The method further comprises: Receiving the preset slice forwarding strategy; Among them, the preset slice forwarding strategy is used to allocate a resource sub-interface of the physical output interface based on the slice identifier; the resource sub-interface is a sub-interface implemented on the physical output interface based on the metropolitan area transport network G.MTN, flexible Ethernet FlexE, quality of service QoS or virtual local area network VLAN technology.
4. The method according to claim 1, characterized in that: The communication classification field of the second data message carries the indication information.
5. A data transmission method based on network slicing, characterized in that: Applied to the second network device, the method comprises: Receive a second data packet to be forwarded, where the second data packet is an IPv6 packet, and a flow label field of the second data packet carries a slice identifier indicating a network slice of the second data packet; Determining a physical outgoing interface for the second data message; Determine a resource sub-interface of the second data message based on the slice identifier, the physical outbound interface, and a preset slice forwarding strategy; Forwarding the second data message based on the resource sub-interface; The resource sub-interface is obtained by dividing the resources of the physical outbound interface based on the bandwidth resources of each network slice; The second data message further carries indication information for indicating whether to carry the slice identifier, and the method further includes: Determining that the second data packet carries the slice identifier based on the indication information, then determining the resource sub-interface of the second data packet based on the slice identifier, the physical output interface and the preset slice forwarding strategy and forwarding the second data packet based on the resource sub-interface; or, If it is determined based on the indication information that the second data packet does not carry the slice identifier, the second data packet is forwarded based on the IPv6 forwarding mechanism or the SRv6 forwarding mechanism.
6. The method according to claim 5, characterized in that The communication classification field of the second data message carries the indication information.
7. The method according to claim 5, characterized in that The method further comprises: Receiving the preset slice forwarding strategy; Among them, the preset slice forwarding strategy is used to allocate a resource sub-interface of the physical output interface based on the slice identifier; the resource sub-interface is a sub-interface implemented on the physical output interface based on the metropolitan area transport network G.MTN, flexible Ethernet FlexE, quality of service QoS or virtual local area network VLAN technology.
8. A data transmission device based on network slicing, characterized in that: Applied to a first network device, comprising: A first receiving module, used for receiving a first data message to be forwarded; A first determination module, used to determine a slice identifier of a network slice of the first data message based on a service identifier of the first data message and a preset slice division strategy; A second determining module, used to determine the physical outgoing interface of the first data message; A third determination module, used to determine the resource sub-interface of the first data message based on the slice identifier, the physical outbound interface and a preset slice forwarding strategy; A first forwarding module, configured to generate a second data message based on the first data message encapsulation, and forward the second data message based on the resource sub-interface; Among them, the second data packet is an IPv6 packet, and the flow label field of the second data packet carries the slice identifier; the resource sub-interface is obtained by dividing the resources of the physical output interface based on the bandwidth resources of each network slice; the second data packet also carries indication information for indicating whether the slice identifier is carried; the second network device receiving the second data packet determines that the second data packet carries the slice identifier based on the indication information, and then determines the resource sub-interface of the second data packet based on the slice identifier, the physical output interface and the preset slice forwarding strategy, and forwards the second data packet based on the resource sub-interface; or, If it is determined based on the indication information that the second data packet does not carry the slice identifier, the second data packet is forwarded based on the IPv6 forwarding mechanism or the SRv6 forwarding mechanism.
9. A data transmission device based on network slicing, characterized in that: Applied to the second network device, comprising: A second receiving module is used to receive a second data packet to be forwarded, where the second data packet is an IPv6 packet, and a flow label field of the second data packet carries a slice identifier indicating a network slice of the second data packet; A fourth determining module, used to determine the physical outgoing interface of the second data message; A fifth determination module, used to determine the resource sub-interface of the second data message based on the slice identifier, the physical outbound interface and a preset slice forwarding strategy; A second forwarding module, configured to forward the second data message based on the resource sub-interface; The resource sub-interface is obtained by dividing the resources of the physical outbound interface based on the bandwidth resources of each network slice; The second data message also carries indication information for indicating whether the slice identifier is carried, and the data transmission device further includes: a judgment module, configured to judge whether the second data message carries the slice identifier based on the indication information; The fifth determination module is also used to determine, based on the indication information, that the second data packet carries the slice identifier, and then execute the steps of determining the resource sub-interface of the second data packet based on the slice identifier, the physical output interface and the preset slice forwarding strategy and forwarding the second data packet based on the resource sub-interface; or, If it is determined based on the indication information that the second data packet does not carry the slice identifier, the second data packet is forwarded based on the IPv6 forwarding mechanism or the SRv6 forwarding mechanism.
10. A first network device, characterized in that: include: a first communication interface, a first processor, and a first memory for storing a computer program that can be run on the first processor, wherein: The first processor is used to execute the steps of the method according to any one of claims 1 to 4 when running a computer program.
11. A second network device, characterized in that: include: a second communication interface, a second processor, and a second memory for storing a computer program that can be run on the second processor, wherein: The second processor is used to execute the steps of the method according to any one of claims 5 to 7 when running a computer program.
12. A data transmission system, characterized in that: The method comprises the first network device as claimed in claim 10 and the second network device as claimed in claim 11.
13. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Data transmission control method and device
CN112491713A