A resource determination method, forwarding device, controller, system and medium
By analyzing the slice identification of data packets in the forwarding device and determining the target message processing resources, the problem of not being able to achieve slice resource isolation in different topology structures in the prior art is solved, and data processing resource isolation between different slices is achieved, improving network resource utilization efficiency and security.
Patent Information
- Application Number
- CN202110623404.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-04
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2041-06-04
AI Technical Summary
The slice function implemented by Flex-Algo in the 5G network can only realize coarse-grained slices at the port level, and cannot achieve isolation of slice resources in different topology structures at the data processing resource level.
By implementing the resource determination method in the forwarding device, the slice identification information is parsed and obtained after receiving the data packet, and the target message processing resources are determined based on the slice identification and association information, thereby realizing data processing resource isolation between different slices.
It realizes the true isolation of data processing resources between different slices in the 5G network, ensuring that the corresponding message processing resources of the slice identification of different data packets are different, thereby improving the utilization efficiency and security of network resources.
Smart Images

Figure CN115442304B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of information technology, and in particular to a resource determination method, forwarding device, controller, system and medium. Background Art
[0002] In the fifth generation of mobile communication technology (5 th In the 5G (5th Generation Mobile Communication Technology) network, the slicing technology is used to decouple the business processing process from physical resources. In practical applications, Flex-Algo (Flexible Algorithm) assigns different segment identifiers (Segment Identifier, SID) to the same physical resource through the Interior Gateway Protocols (IGP) Segment Routing (SR). Different SIDs represent different Flex-Algo planes. However, Flex-Algo can only implement coarse-grained slicing functions at the port level. For the same data processing resource, slices in different topologies share the data processing resource. Summary of the invention
[0003] Based on the above problems, embodiments of the present application provide a resource determination method, forwarding device, controller, system and medium.
[0004] Through the resource determination method provided in the embodiment of the present application, the forwarding device on the forwarding plane can determine the target message processing resource for actually processing the data message when receiving the data message, and the message processing resources corresponding to the slice identifiers of different data messages are different, thereby truly realizing the mutual isolation of data processing resources between different slices.
[0005] The technical solution provided by the embodiment of the present application is as follows:
[0006] An embodiment of the present application provides a resource determination method, which is applied to a forwarding device on a forwarding plane, and includes:
[0007] When a forwarding device that does not include a Provider Edge (PE) device receives a data message sent by any device, the data message is parsed to obtain forwarding identification information; wherein the forwarding identification information at least includes a slice identification of a slice used to process the data message; the forwarding identification information is set by the PE device in the data message; the forwarding identification information is determined by a controller of the control plane when receiving a data message sending request;
[0008] Acquire first association information; wherein the first association information includes at least association relationship information between the slice identifier and the message processing resource determined by the controller; the message processing resources corresponding to the slice identifiers of different data messages are different;
[0009] Based on the forwarding identification information and the first association information, a target message processing resource for processing the data message is determined.
[0010] In some implementations, parsing the data message to obtain forwarding identification information includes:
[0011] Determine identification location information; wherein the identification location information indicates location information of the forwarding identification information in the data message; the identification location information is determined by the PE device based on the field occupancy status in the data message; the forwarding identification information is set in the data message by the PE device based on the identification location information;
[0012] The field corresponding to the identification location information in the data message is parsed to obtain the forwarding identification information.
[0013] In some implementations, the identification location information includes location information of a header field of the data message; the identification location information is determined by the PE device based on an occupation status of the header field.
[0014] In some implementations, the identification position information includes unoccupied field position information in the flow label field determined by the PE device when the flow label field of the data packet is not fully occupied.
[0015] In some embodiments, the identification position information includes, when the flow label field of the data packet is fully occupied, the PE device reduces the flow label information in the flow label field to obtain a flow label information reduction result, and determines the unoccupied field position information in the flow label field based on the flow label information reduction result.
[0016] In some implementations, before determining a target message processing resource for processing the data message based on the forwarding identification information and the first association information, the method further includes:
[0017] Acquire data processing resources set by the controller for the forwarding device;
[0018] Based on the first association information, the data processing resources are associated and sliced to obtain a slicing result; wherein the slicing result includes multiple message processing resources actually used to process the data message in the forwarding device; the first association information is determined by the controller based on the second association information and the multiple message processing resources after determining the second association information, when the controller associates and configures the data processing resources based on the second association information to obtain multiple message processing resources; the second association information includes the association relationship information between the slice identifier and the resource requirement information.
[0019] In some implementations, determining a target message processing resource for processing the data message based on the forwarding identification information and the first association information includes:
[0020] Based on the forwarding identification information and the first association information, the target message processing resources are determined from the slicing result.
[0021] In some embodiments, the data packet includes at least one of an Internet Protocol version 6 (IPv6) packet and an SRv6 packet.
[0022] The embodiment of the present application further provides a resource determination method, which is applied to a controller of a control plane; the method includes:
[0023] When receiving a data message sending request, determine forwarding identification information so that the PE device sets the forwarding identification information in the data message; wherein the forwarding identification information at least includes a slice identification of a slice used to process the data message; when the forwarding device of the forwarding plane receives the data message sent by any device, it can parse the data message and obtain the forwarding identification information;
[0024] Determine the first association information and send the first association information to the forwarding device; wherein the forwarding device excluding the PE device can determine the target message processing resource for processing the data message based on the forwarding identification information and the first association information; the first association information at least includes the association relationship information between the slice identifier and the message processing resource; the message processing resources corresponding to the slice identifiers of different data messages are different.
[0025] In some implementations, determining the first association information includes:
[0026] Setting data processing resources for the forwarding device;
[0027] Determine second association information; wherein the second association information includes association relationship information between the slice identifier and the resource requirement information;
[0028] Based on the second association information, the data processing resources are associated and configured to obtain a plurality of message processing resources;
[0029] The first association information is determined based on the second association information and the plurality of message processing resources.
[0030] The embodiment of the present application further provides a forwarding device, which is applied to a forwarding plane; the device comprises: a first transceiver module, a first parsing module, and a first determination module; wherein:
[0031] The first transceiver module is used to receive a data message sent by any device;
[0032] The first parsing module is used to parse the data message to obtain forwarding identification information; wherein the forwarding identification information at least includes a slice identification of a slice used to process the data message; the forwarding identification information is set in the data message by a PE device; the forwarding identification information is determined by a controller of a control plane when receiving a request to send a data message;
[0033] The first transceiver module is used to obtain first association information; wherein the first association information at least includes association relationship information between the slice identifier and the message processing resource; the message processing resources corresponding to the slice identifiers of different data messages are different;
[0034] The first determination module is used to determine a target message processing resource for processing the data message based on the forwarding identification information and the first association information.
[0035] The embodiment of the present application further provides a controller, which is applied to a control plane; the controller includes a second determination module and a second transceiver module; wherein:
[0036] The second determination module is used to determine forwarding identification information when receiving a data message sending request; so that the PE device sets the forwarding identification information in the data message; wherein the forwarding identification information at least includes a slice identification of a slice used to process the data message; when the forwarding device of the forwarding plane receives the data message, the data message can be parsed to obtain the forwarding identification information;
[0037] The second determination module is further used to determine first association information; wherein the first association information at least includes association relationship information between the slice identifier and the message processing resource; the message processing resources corresponding to the slice identifiers of different data messages are different;
[0038] The second transceiver module is used to send the first association information to the forwarding device; wherein, the forwarding device that does not include the PE device can also determine the target message processing resource for processing the data message based on the forwarding identification information and the first association information, and forward the data message to the target message processing resource.
[0039] An embodiment of the present application further provides a resource determination system, which includes any of the foregoing forwarding devices applied to the forwarding plane, and any of the foregoing controllers applied to the control plane.
[0040] An embodiment of the present application further provides a computer-readable storage medium, in which a computer-executable program is stored; when the computer-executable program is executed by a processor of an electronic device, it can implement any of the resource determination methods described above.
[0041] The resource determination method for a forwarding device applied to a forwarding plane provided in an embodiment of the present application, after the forwarding device receives a data message, parses the data message to obtain forwarding identification information including a slice identification of a slice for processing the data message, and then determines the target message processing resource for processing the data message based on the matching relationship between the forwarding identification information and the first association information, and the message processing resources corresponding to the slice identifications of different data messages are different. In this way, after receiving any data message, the forwarding device on the forwarding plane can parse the data message, thereby determining the target message processing resource for processing the data message but not other data messages, thereby achieving the isolation of data message processing resources between data messages from different slices. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1A It is a schematic diagram of the principle of dividing the physical network through Flex-Algo in the related technology;
[0043] Figure 1B A schematic diagram of the principle of dividing a physical network based on transmission delay in the related art;
[0044] Figure 2 A schematic diagram of a flow chart of a first resource determination method applied to a forwarding device provided in an embodiment of the present application;
[0045] Figure 3 A schematic diagram of a flow chart of a second resource determination method applied to a forwarding device provided in an embodiment of the present application;
[0046] Figure 4 A schematic diagram of the field structure of the Internet Protocol version 6 (IPv6) message header in the related art;
[0047] Figure 5 A schematic diagram of setting the forwarding identification information in the Flow Label field provided in an embodiment of the present application;
[0048] Fig. 6A The embodiments of the present application provide Figure 1B Schematic diagram of the network structure for data packet forwarding when the Flex-Algo algorithm identifier is 128;
[0049] Figure 6B A schematic diagram of a network structure for forwarding data packets when the Flex-Algo algorithm identifier provided in an embodiment of the present application is 129;
[0050] Fig. 7A A schematic diagram of a process for setting forwarding identification information in a header field of an SRv6 data message provided in an embodiment of the present application;
[0051] Figure 7B A schematic diagram of a structure for setting forwarding identification information in a header field of an SRv6 data message;
[0052] Figure 8 A schematic diagram of a flow chart of a resource determination method for a controller applied to a control plane provided in an embodiment of the present application;
[0053] Fig. 9 A schematic diagram of the structure of a forwarding device provided in an embodiment of the present application;
[0054] Fig.10 A schematic diagram of the structure of a controller provided in an embodiment of the present application;
[0055] Fig.11 A schematic diagram of the structure of a resource determination system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0056] The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
[0057] It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0058] The present application relates to the field of information technology, and in particular to a resource determination method, forwarding device, controller, system and medium.
[0059] Network slicing is one of the core technologies of 5G. The way network slicing processes network data is similar to the diversion management method in traffic management. Its essence is to divide the physical network into multiple virtual networks of different types at the logical level according to the service needs of different users, and process the corresponding types of business data through these different types of virtual networks to meet different complex and changing application scenarios. Among them, the service needs of different users include data transmission latency, bandwidth size, reliability, etc.
[0060] For operators, network slicing can be used to divide users into different types, determine the service level agreement (SLA), and manage the network slices that each user can use based on the SLA, thereby realizing the processing of corresponding business data.
[0061] The 5G bearer network is part of the 5G end-to-end service path. The network slice of the bearer network virtualizes the links, nodes, ports and internal resources of the network elements in the bearer network, and divides multiple virtual transmission subnets in the hardware transmission facilities of the bearer network according to the results of virtualization. Each virtual transmission subnet has an independent management plane, control plane and forwarding plane. The management plane, control plane and forwarding plane in each virtual transmission subnet cooperate with each other to independently support the implementation of various services, thereby achieving isolation between different services.
[0062] In actual applications, Flex-Algo allocates different segment identifiers SIDs to the same physical resource through IGP SR. Different SIDs represent different Flex-Algo planes. In each Flex-Algo plane, MetricType, CalcType and LinkColor are combined to perform shortest path first (SPF), thereby dividing the physical network into multiple virtual networks.
[0063] Figure 1A The figure is a schematic diagram of the principle of dividing the physical network through Flex-Algo in the related technology. Figure 1A The physical network in may include nodes 1 to 6 and physical links between nodes 1 to 6. By calculating the above physical network through algorithm Flex-Algo128, a Flex-Algo plane including addresses A1::1, A2::1, A3::1 and A4::1 with LinkColor being red can be obtained. At the same time, by processing the above physical network through algorithm Flex-Algo129, a Flex-Algo plane including B1::1, B5::1, B6::1 and B4::1 with LinkColor being blue can be obtained.
[0064] from Figure 1A It can be seen that Flex-Algo can only achieve coarse-grained Flex-Algo plane division at the port level of the physical network.
[0065] Flex-Algo inherits the SR and SRv6 forwarding mechanisms. For example, based on the consideration of transmission delay, IGPMetricType is set and constrained to divide the physical network, thereby obtaining different virtual networks to achieve differentiated processing with the business.
[0066] Figure 1B A schematic diagram of the principle of dividing the physical network based on transmission delay in the related art.
[0067] like Figure 1B As shown, when MetricType is IGP Metric, the above physical network is calculated by algorithm Flex-Algo128, and the first Flex-Algo plane including addresses A1::1, A2::1, A3::1 and A4::1 can be obtained; at the same time, when MetricType is Traffic Engineering (TE) Metric, the above physical network is processed by algorithm Flex-Algo129, and the second Flex-Algo plane including B1::1, B5::1, B6::1, B3::1 and B4::1 can be obtained. Among them, the addresses A3::1 and A4::1 in the first Flex-Algo plane and the logical connection between them, and the addresses B3::1 and B4::1 in the second Flex-Algo plane and the logical connection between them, all share the physical links between device 3, device 4 and device 3 and device 4. That is to say, physical links in different topologies are shared by virtual links in different topologies. Therefore, virtual links in different topologies do not achieve isolation of data processing resources.
[0068] Based on the above problems, an embodiment of the present application provides a resource determination method, which is applied to a forwarding device on the forwarding plane. When the forwarding device receives any data packet, the data packet can be parsed to obtain forwarding identification information, and then combined with the first association information, the target packet processing resource for processing the data packet can be determined. The packet processing resources corresponding to the slice identifiers of different data packets are different, thereby truly realizing the isolation of packet processing resources of different slices.
[0069] In the embodiment of the present application, the resource determination method of the forwarding device applied to the forwarding plane can be implemented by the processor of the forwarding device, and the above-mentioned processor can be at least one of an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a central processing unit (CPU), a controller, a microcontroller, and a microprocessor. The above-mentioned processor can also be other, and the embodiment of the present application does not limit this.
[0070] Figure 2 The first method for determining resources applied to a forwarding device is provided in the embodiment of the present application. Figure 2 As shown, the method may include steps 201 to 203:
[0071] Step 201: When a forwarding device excluding a PE device receives a data message sent by any device, the data message is parsed to obtain forwarding identification information.
[0072] Among them, the forwarding identification information at least includes the slice identification of the slice used to process the data message; the forwarding identification information is set by the PE device in the data message; the forwarding identification information is determined by the controller of the control plane when receiving a data message sending request.
[0073] In an embodiment of the present application, the forwarding identification information may be set in a specified field in a data message; illustratively, the specified field for setting the forwarding identification information may be different for different types of data messages.
[0074] In one embodiment, the forwarding identification information may also include at least one information such as the service type corresponding to the data message and the resource requirement corresponding to the slice identifier.
[0075] In one implementation, the forwarding identification information may also include source information of the data message. Exemplarily, the source information may be an identifier of a device that sends the data message.
[0076] In one implementation, the forwarding identification information may be in a hexadecimal, binary, or other form; illustratively, in order to ensure the security of data message processing, the forwarding identification information may also be encrypted information.
[0077] In the embodiment of the present application, the PE device may determine a specific method of setting the forwarding identification information in the data message according to the type of the data message.
[0078] In an embodiment of the present application, a forwarding device that does not include a PE device can only parse a specified type of data message to obtain forwarding identification information; correspondingly, other types of data messages can be parsed and processed in a manner commonly used in related technologies.
[0079] In the embodiments of the present application, any device may include any type of edge computing device. For example, any device may include a user terminal device, and any device may include a user edge (Customer Edge, CE) device.
[0080] In one implementation, any device may include other forwarding devices, such as a PE device.
[0081] In practical applications, a PE device is a special forwarding device. A PE device may be the head node of a link including multiple forwarding devices. The PE device is used to set forwarding identification information in a data message. Other subsequent forwarding devices may forward the data message based on the forwarding identification information.
[0082] In one implementation, the forwarding identification information may be determined by a controller of the control plane upon receiving a message sending request sent by any device; illustratively, any device may include a forwarding device, such as a PE device.
[0083] Step 202: Obtain first association information.
[0084] Among them, the first association information at least includes the association relationship information between the slice identifier and the message processing resource determined by the controller; the message processing resources corresponding to the slice identifiers of different data messages are different.
[0085] In the embodiment of the present application, the message processing resources may include virtual network resources obtained by virtualizing actual physical network resources.
[0086] In one implementation, the message processing resources may also include physical network resources for actually processing messages.
[0087] In an embodiment of the present application, the first association information may include one-to-one association information between a slice identifier and a message processing resource; it may also include association information between a slice identifier and multiple message processing resources. In this case, for a data message carrying the above-mentioned slice identifier, it can be processed by multiple message processing resources.
[0088] In one embodiment, the first association information may only include the association relationship information between the specified slice identifier and the message processing resource.
[0089] In one implementation, the first association information may also include one-to-one association relationship information between slice identifiers, message processing resources, and actual message processing capabilities of the message processing resources.
[0090] In an embodiment of the present application, setting different slice identifiers to correspond to different message processing resources can be executed by a controller on the control plane.
[0091] In the embodiment of the present application, the order of step 201 and step 202 can be flexibly adjusted, and step 201 and step 202 can also be executed simultaneously, which is not limited in the embodiment of the present application.
[0092] Step 203: Determine a target message processing resource for processing the data message based on the forwarding identification information and the first association information.
[0093] In the embodiment of the present application, the target message processing resource may be determined by any of the following methods:
[0094] Obtain a slice identifier from the forwarding identifier information, judge the slice identifier, and when the slice identifier is a specified identifier, determine the target message processing resources based on the slice identifier and the first association information.
[0095] The forwarding identification information is analyzed, and when it is determined that the data packet comes from a designated device, the target packet processing resources are determined based on the slice identifier and the first association information in the forwarding identification information.
[0096] For data packets received within a specified time period, target packet processing resources are determined based on the forwarding identification information and the first association information.
[0097] When the data packet is a valid data packet, the slice identifier is obtained from the forwarding identifier information, and based on the matching relationship between the slice identifier and the slice identifier in the first association information, the message processing resource corresponding to the slice identifier is determined, and the message processing resource is used as the target message processing resource.
[0098] From the above, it can be seen that the resource determination method for the forwarding device applied to the forwarding plane provided in the embodiment of the present application, after the forwarding device receives the data packet, parses the data packet to obtain the forwarding identification information of the slice identification of the slice used to process the data packet, and then determines the target message processing resource for processing the data packet based on the matching relationship between the forwarding identification information and the first association information, and the message processing resources corresponding to the slice identifications of different data packets are different. In this way, after receiving any data packet, the forwarding device on the forwarding plane can parse the data packet, so as to determine the target message processing resource for processing the data packet but not for processing other data packets, and then realize the isolation of message processing resources between different data packets at the slice level.
[0099] Based on the foregoing embodiments, the embodiments of the present application further provide a second resource determination method for a forwarding device applied to a forwarding plane. Figure 3 A flow chart of a second method for determining resources of a forwarding device applied to a forwarding plane provided in an embodiment of the present application is shown as follows: Figure 3 As shown, the method may include steps 301 to 304:
[0100] Step 301: When a forwarding device excluding a PE device receives a data message sent by any device, determine identification location information.
[0101] Among them, the identification location information represents the location information of the forwarding identification information in the data message; the identification location information is determined by the PE device based on the field occupancy status in the data message; the forwarding identification information is set in the data message by the PE device based on the identification location information.
[0102] In the embodiment of the present application, the identification location information may be a fixed location in the data message.
[0103] In one embodiment, the identification location information may change with at least one factor such as the type of data packet, the amount of data carried by the data packet, the slice identifier for processing the data packet, the transmission time of the data packet in the network, and the source of the data packet.
[0104] In one implementation, the identification location information may be sent by a PE device to any forwarding device.
[0105] In one implementation, the identification location information may be set by the PE device in the transmission protocol according to the transmission requirements of the data message, so that any forwarding device may obtain the identification location information from the transmission protocol.
[0106] In one implementation, the fields of the data message indicated by the identification location information may be continuous, that is, the forwarding identification information is stored in continuous fields of the data message. Exemplarily, the fields of the data message indicated by the identification location information may be dispersed. Exemplarily, the forwarding identification information may be dispersedly set in at least two fields of the data message, or in several dispersed fields in one field.
[0107] In one implementation, the field occupancy status in the data message may include at least one of the following: whether each field in the data message is filled, the number of bits filled in each field in the data message, and the position and length of the free field in the data message.
[0108] In one implementation, the PE device may analyze the field occupancy status in the data message according to at least one factor such as the type, structure, message transmission protocol, and specific data transmission requirements of the data message to determine the identification location information.
[0109] In an embodiment of the present application, the above-mentioned identification location information includes location information of a header field of a data message.
[0110] In the embodiment of the present application, the identification location information is determined by the PE device based on the occupancy status of the header field.
[0111] In one implementation, the PE device may analyze the occupancy status of each header field of the data message, and determine the identification location information according to the analysis result.
[0112] In one implementation, the identification location information may be located in any subfield of the header field, or may be located in at least two subfields of the header field.
[0113] In actual applications, the header field of a data message carries various control information for data message transmission, and the header field can be divided into multiple subfields. In the communication protocol, the number of bits reserved for each subfield is sufficient, that is, in the actual data message transmission and processing process, some subfields in the header field are not fully occupied.
[0114] In an embodiment of the present application, the above-mentioned data message includes at least one of IPv6 and SRv6 messages.
[0115] Figure 4 Figure 1 is a schematic diagram of the IPv6 message header field structure. Figure 4As shown in the figure, the Version field in the IPv6 header field indicates the encapsulation protocol used by the data message, occupying 4 bits; the Traffic Class field indicates the corresponding IPv6 communication flow category or priority, occupying 8 bits; the Flow Label is the flow label field, which is a newly added field in the IPv6 header field and occupies 20 bits; the Payload Length field indicates the total length of the payload in the IPv6 data message, occupying 20 bits; the Next Header is used to indicate the header type of the next data message of the current data message, occupying 8 bits; the Hop Limit is the hop limit, and the information stored in this field specifies the number of times the current data message can be effectively forwarded, occupying 8 bits; the Source Address is the source address, indicating the IPv6 address of the source node that sends the current data message, occupying 128 bits; the Destination Address indicates the destination IPv6 address of the current data message, occupying 128 bits.
[0116] In one embodiment, the PE device can analyze the information filling status of each subfield in the header field of the IPv6 data packet to determine the subfield positions that are still not fully occupied, and set the unoccupied positions in these subfields as identification position information, and then set the forwarding identification information at the position corresponding to the identification position information.
[0117] In the embodiment of the present application, the above-mentioned identification position information includes unoccupied field position information in the flow label field determined by the PE device when the flow label field of the data message is not fully occupied.
[0118] Taking the data packet type as IPv6 as an example, the above flow label field can be Figure 4 The Flow Label field is shown.
[0119] According to the above description, the Flow Label field of the IPv6 datagram occupies 20 bits and is used to mark the message of a specific flow, so that the network layer can distinguish different data messages. In addition, Request For Comments (RFC) 6437 and RFC6438 stipulate that Flow Label is used for traffic load sharing, but in actual applications, the 20-bit field of Flow Label is not all used. Therefore, the forwarding identification information can be set in the unused field in the Flow Label field.
[0120] Figure 5 A schematic diagram of setting the forwarding identification information in the Flow Label field provided in an embodiment of the present application.
[0121] like Figure 5 As shown, in the Flow Label field of the IPv6 data packet, the effective traffic load is set in the lower 12 bits of the Flow Label field, and there are 8 bits in the Flow Label field that are not occupied. In this case, the PE device can set the forwarding identification information in the upper 8 bits of the Flow Label field that are not occupied by the effective traffic load.
[0122] In one implementation, the identification location information may be determined by the PE device analyzing the actual occupied status of each bit in the Flow Label field. In practical applications, the reserved 20 bits in the Flow Label field are not all occupied in most chips, so the PE device may divide part of the Flow Label field to set the forwarding identification information.
[0123] In one implementation, the PE device may determine the identification location information according to the actual number of slices and the actual number of bits occupied in the Flow Label field, such as Figure 5 As shown, some chips only use the lower 12 bits to carry traffic load in actual applications, so the upper 8 bits can be set as forwarding identification information. Exemplarily, when the forwarding identification information only includes a slice identifier, the slice identifier can be set in the field space corresponding to the identifier position information.
[0124] From the above, it can be seen that in the embodiment of the present application, the identification location information is determined by analyzing the occupied state of the Flow Label field. In this way, the idle fields in the Flow Label field can be fully utilized, so that efficient and accurate transmission of forwarding identification information can be achieved without increasing the data packet transmission load.
[0125] In an embodiment of the present application, the identification position information includes, when the flow label field of the data packet is fully occupied, the PE device reduces the flow label information in the flow label field to obtain a flow label information reduction result, and determines the unoccupied field position information in the flow label field based on the flow label information reduction result.
[0126] In actual applications, the transmission of data packets, the application and release of slices, etc. are ever-changing, so the 20 bits in the Flow Label field may also be used entirely for traffic load. In this case, the PE device can analyze the data packets and specific data packet transmission requirements to determine the strategy for reducing the number of bits of the traffic load, and reduce the number of bits of the traffic load according to the strategy to obtain the reduction result, and then determine the unoccupied field position information in the FlowLabel field based on the reduction result, and use the field position information as the identification position information.
[0127] In one implementation, when the type of the data message is IPv6, the flow label information may be a traffic load, that is, Figure 4 Flow Label in.
[0128] In one implementation, the flow label information reduction result may be obtained after the PE device reduces the original traffic load information carried in the Flow Label field.
[0129] In one implementation, the flow label information reduction result may be obtained by reducing the hash value obtained by hashing the original traffic load information by the PE device. Exemplarily, the reduction of the hash value may be a reduction in the number of bits of the hash. The reduction operation will only affect the discrete degree of load sharing, that is, it may reduce the sharing effect of the traffic load, but will not affect the actual traffic forwarding.
[0130] In practical applications, the Flow Label field of the IPv6 data packet has a hop-by-hop attribute. In this way, setting the forwarding identification information in the Flow Label field can, on the one hand, meet the requirements of slice hop-by-hop processing, and on the other hand, achieve efficient parsing of the IPv6 data packet transmission information, thereby maintaining the processing efficiency of the IPv6 data packet when the forwarding identification information is added.
[0131] From the above, it can be seen that in the embodiment of the present application, when the flow label field of the data message is occupied, the PE device can reduce the flow label information to determine the identification position information. In this way, in the resource determination method provided by the embodiment of the present application, regardless of whether the flow label field is fully occupied, the field position for storing the identification position information can be determined from the flow label field. On the one hand, the application scenario of the resource determination method provided by the embodiment of the present application is expanded, making the application of the method more flexible. On the other hand, when the forwarding identification information is set, the transmission efficiency of the data message is not reduced.
[0132] Step 302: parse the field corresponding to the identification location information in the data message to obtain forwarding identification information.
[0133] In one implementation, the forwarding identification information may be obtained by parsing a field corresponding to the identification position information in the data message to obtain the encrypted forwarding identification information, and then performing a decryption operation on the encrypted forwarding identification information.
[0134] Step 303: Obtain first associated information.
[0135] Among them, the first association information at least includes the association relationship information between the slice identifier and the message processing resources determined by the controller of the control plane; the message processing resources corresponding to the slice identifiers of different data messages are different.
[0136] In one implementation, the controller may determine different first association information for different forwarding devices, that is, the first association information acquired by forwarding devices in different Flex-Algo planes may be different.
[0137] Exemplarily, when the forwarding device includes a first forwarding device and a second forwarding device, the first association information acquired by the first forwarding device may be as shown in each row of Table 1A.
[0138] As shown in Table 1A, Table 1A may include six columns of data: outbound interface, Flex-Algo algorithm identifier, slice identifier, resource information, and message processing resources.
[0139] In Table 1A, when the first forwarding device receives a data packet with a Flex-Algo algorithm identifier of 128, slice identifiers of 1, 2, and 3, and resource information corresponding to the slice identifiers of 10G, 20G, and 30G, respectively, at the outgoing interface Gbit Ethernet (GE) 1 / 0 / 0, the forwarding device may sequentially allocate packet processing resources of GE1 / 0 / 0.MTN1, GE1 / 0 / 0.MTN2, and GE1 / 0 / 0.MTN3 for the data packet. Exemplarily, GE1 / 0 / 0.MTN1, GE1 / 0 / 0.MTN2, and GE1 / 0 / 0.MTN3 may be resource interfaces of packet processing resources for processing data packets; exemplary, the resource interfaces of the packet processing resources may be determined by the forwarding device using the G.MTN hard slicing technology to associate the target physical resource with the corresponding G.MTN sub-interface.
[0140] In Table 1A, when the first forwarding device receives a data packet with a Flex-Algo algorithm identifier of 129, slice identifiers of 4, 5, and 6 respectively, and resource information corresponding to the above slice identifiers of 10G, 20G, and 30G respectively at the outgoing interface GE1 / 0 / 1, the forwarding device can allocate message processing resources of GE1 / 0 / 1.MTN1, GE1 / 0 / 1.MTN2, and GE1 / 0 / 1.MTN3 for the data packet respectively.
[0141] Correspondingly, the first association information acquired by the second forwarding device may be as shown in each row of Table 1B.
[0142] As shown in Table 1B, Table 1B may include six columns of data, including outbound interface, Flex-Algo algorithm identifier, slice identifier, resource information, and message processing resources. There is a one-to-one correspondence between the above six types of data.
[0143] Table 1A
[0144] Outbound interface Flex-Algo algorithm identifier Slice identification Resource Information Message Processing Resources GE1 / 0 / 0 128 1 Bandwidth: 10G GE1 / 0 / 0.MTN1 GE1 / 0 / 0 128 2 Bandwidth: 20G GE1 / 0 / 0.MTN2 GE1 / 0 / 0 128 3 Bandwidth: 30G GE1 / 0 / 0.MTN3 GE1 / 0 / 1 129 4 Bandwidth: 10G GE1 / 0 / 1.MTN1 GE1 / 0 / 1 129 5 Bandwidth: 20G GE1 / 0 / 1.MTN2 GE1 / 0 / 1 129 6 Bandwidth: 30G GE1 / 0 / 1.MTN3
[0145] In Table 1B, when the second forwarding device receives a data packet with a Flex-Algo algorithm identifier of 128, slice identifiers of 1, 2, and 3 respectively, and resource information corresponding to the above slice identifiers of 10G, 20G, and 30G respectively at the outgoing interface GE1 / 0 / 0, the forwarding device can allocate message processing resources of GE1 / 0 / 0.MTN1, GE1 / 0 / 0.MTN2, and GE1 / 0 / 0.MTN3 for the data packet respectively.
[0146] Table 1B
[0147] Outbound interface Flex-Algo algorithm identifier Slice identification Resource Information Message Processing Resources GE1 / 0 / 0 128 1 Bandwidth: 10G GE1 / 0 / 0.MTN1 GE1 / 0 / 0 128 2 Bandwidth: 20G GE1 / 0 / 0.MTN2 GE1 / 0 / 0 128 3 Bandwidth: 30G GE1 / 0 / 0.MTN3 GE1 / 0 / 0 129 4 Bandwidth: 10G GE1 / 0 / 0.MTN1 GE1 / 0 / 0 129 5 Bandwidth: 20G GE1 / 0 / 0.MTN2 GE1 / 0 / 0 129 6 Bandwidth: 30G GE1 / 0 / 0.MTN3
[0148] In Table 1B, when the second forwarding device receives a data packet with a Flex-Algo algorithm identifier of 129, slice identifiers of 4, 5, and 6, and resource information corresponding to the above slice identifiers of 10G, 20G, and 30G, respectively, at the outbound interface GE1 / 0 / 0, the forwarding device can allocate message processing resources of GE1 / 0 / 0.MTN1, GE1 / 0 / 0.MTN2, and GE1 / 0 / 0.MTN3 to the data packet, respectively. In the resource determination method provided in the embodiment of the present application, before determining the target message processing resource for processing the data packet based on the forwarding identifier information and the first association information, steps A1 to A4 can also be performed:
[0149] Step A1: Obtain data processing resources set by the controller for the forwarding device.
[0150] In one implementation, the data processing resources may include at least one resource such as bandwidth, cache space, and processor.
[0151] In one implementation, the data processing resources may include actual physical resources or virtual network resources.
[0152] Step A2: Based on the first association information, the data processing resources are associated and sliced to obtain a slicing result.
[0153] Among them, the slicing result includes multiple message processing resources actually used to process data messages in the forwarding device; the first association information is determined based on the second association information and multiple message processing resources when the controller associates and configures the data processing resources based on the second association information to obtain multiple message processing resources after determining the second association information; the second association information includes the association relationship information between the slice identifier and the resource requirement information.
[0154] In one embodiment, the controller may plan slice identifiers as a whole according to specific business characteristics or business requirements, and assign the planned slice identifiers to corresponding business systems, and then generate second association information based on the assignment results.
[0155] In one implementation, the service characteristics may be reflected by any information such as virtual private network (VPN) information, virtual local area network (VLAN) information, and differentiated services code point (DSCP) information.
[0156] In one implementation, the controller may be a software defined network (SDN) or other network management device.
[0157] From the above, it can be seen that in Table 2, each second association information carries the one-to-one corresponding association relationship information between the slice identifier, Flex-Algo plane, VPN information and resource requirement information, thereby laying a data foundation for the accurate and efficient forwarding of data packets.
[0158] Exemplarily, the second association information can be embodied in the form of each row in Table 2. The four columns of data in Table 2 are Flex-Algo algorithm identifier, VPN information, slice identifier, and resource requirement information; the association relationship information between the above four types of data in each row in Table 2 constitutes a set of the second association information.
[0159] Among them, the second association information corresponding to the second row in Table 2 indicates that the Flex-Algo algorithm identifier value is 128, the VPN information is the first information, the slice identifier is 1, and the resource requirement information is 10G, which corresponds to one another; the second association information corresponding to the third row in Table 2 indicates that the Flex-Algo algorithm identifier value is 128, the VPN information is the second information, the slice identifier is 2, and the resource requirement information is 20G, which corresponds to one another; the second association information corresponding to the fourth row in Table 2 indicates that the Flex-Algo algorithm identifier value is 128, the VPN information is the third information, the slice identifier is 3, and the resource requirement information is 30G, which corresponds to one another. ; The second association information corresponding to the fifth row in Table 1 indicates the one-to-one corresponding association relationship information between the Flex-Algo algorithm identifier value of 129, the VPN information is the fourth information, the slice identifier is 4, and the resource requirement information is 10G; the second association information corresponding to the sixth row in Table 1 indicates the one-to-one corresponding association relationship information between the Flex-Algo algorithm identifier value of 129, the VPN information is the fourth information, the slice identifier is 5, and the resource requirement information is 20G; the second association information corresponding to the seventh row in Table 1 indicates the one-to-one corresponding association relationship information between the Flex-Algo algorithm identifier value of 129, the VPN information is the sixth information, the slice identifier is 6, and the resource requirement information is 30G.
[0160] In Table 2, by processing network resources through two Flex-Algo algorithms, two Flex-Algo planes can be obtained, wherein three slices with slice identifiers 1 to 3 belong to the first Flex-Algo plane; and three slices with slice identifiers 4 to 6 belong to the second Flex-Algo plane.
[0161] Table 2
[0162] Flex-Algo algorithm identifier VPN Information Slice identification Resource requirements information 128 First Information 1 Bandwidth: 10G 128 Second information 2 Bandwidth: 20G 128 Third Information 3 Bandwidth: 30G 129 Fourth Information 4 Bandwidth: 10G 129 Fifth Message 5 Bandwidth: 20G 129 The Sixth Message 6 Bandwidth: 30G
[0163] In one implementation, the controller may associate and configure the data processing resources set for the forwarding device according to the second association information in Table 2, thereby obtaining the first association information shown in Table 1A or 1B, and sending the first association information to the forwarding device.
[0164] In one embodiment, the controller can associate and configure data processing resources based on the number of slice identifiers in the second association information and the resource requirement information corresponding to each slice identifier to obtain the message processing resources corresponding to each slice identifier. Exemplarily, the message processing resources can match the resource requirement information.
[0165] In one embodiment, when data processing resources are abundant, the controller can associate and configure the data processing resources according to the resource demand information corresponding to each slice identifier in the second association information; when data processing resources are insufficient, the controller can count the resource demand information in the second association information, determine the ratio of resource demand between each slice identifier, and associate and configure the data processing resources according to the above ratio to obtain the first association information. It should be noted that the controller associates and configures the data processing resources allocated to the forwarding device according to the second association information, which is a preliminary division of the data processing resources set by the controller for the forwarding device, thereby obtaining the first association information; and the message processing resources actually used to process data messages in the forwarding device still require the forwarding device to slice the data processing resources based on the first association information to obtain them.
[0166] In one embodiment, the association configuration may be to configure the data processing resources set by the controller for the forwarding device accordingly based on the resource requirement information of each slice identifier in the second association information, and associate the configured message processing resources with the slice identifier. Exemplarily, the controller may associate the message processing resources with the second association information according to the slice identifier, thereby determining the first association information.
[0167] In one implementation, additional information required for forwarding data packets can be added based on the second association information, and the resource requirement information in the second association information can be replaced with packet processing resources to determine the first association information. Exemplarily, the additional information can include the outbound interfaces in Table 1A to Table 1B.
[0168] In one implementation, the forwarding device may first determine a slicing strategy, and then, according to the slicing strategy, associate and slice the data processing resources according to the slicing identifier in the first association information and the message processing resources corresponding to the slicing identifier, thereby obtaining a slicing result. Exemplarily, the slicing strategy may include hard slicing; the slicing result may include a message processing resource in Table 1A to Table 1B that corresponds to the message processing resources and that can actually process messages in the forwarding device.
[0169] In one implementation, the forwarding device may perform association slicing on the data processing resources completely according to the first association information sent by the controller, thereby obtaining a slicing result.
[0170] In one embodiment, the associated slicing operation of the forwarding device may be to slice the data processing resources that can actually be used by the forwarding device according to the slice identifier in the first associated information and the message processing resources corresponding to the slice identifier, thereby obtaining a slicing result. In this case, the slicing result is associated with the first associated information according to the slice identifier, so that the message processing resources in Table 1A to Table 1B can point to the message processing resources in the forwarding device that can actually process data messages. Exemplarily, the slicing result may represent a virtual resource or a physical resource.
[0171] From the above, it can be seen that in an embodiment of the present application, the controller can configure the data processing resources set for the forwarding device according to the second control information, obtain the message processing resources corresponding to the slice identifier, and then determine the first association information based on the second association information and the message processing resources; and the forwarding device can associate and slice the data processing resources according to the first association information and the data processing resources allocated by the controller, so as to obtain the message processing resources actually used to process the data message. Therefore, when the forwarding device receives the data message, it can quickly determine the target message processing resource for actually processing the data message according to the first association information, thereby improving the processing efficiency of the data message and realizing resource isolation on the same physical link.
[0172] Step 304: Determine a target message processing resource for processing the data message based on the forwarding identification information and the first association information.
[0173] In an embodiment of the present application, determining a target message processing resource for processing a data message based on the forwarding identification information and the first association information can be implemented in the following manner:
[0174] Based on the forwarding identification information and the first association information, determine the target message processing resources from the slicing result.
[0175] It can be known from the above embodiments that after the forwarding device completes the associated slicing, the slicing result can also be associated with the message processing resource in the first associated information, so that the message processing resource in the first associated information points to the processing resource in the forwarding device that can actually process the data message. In this way, based on the matching relationship between the forwarding identification information and the slice identification in the first associated information, the message processing resource can be determined from the first associated information, and then the target message processing resource for processing the data message can be determined from the slicing result according to the message processing resource.
[0176] It can be seen from Table 1A and Table 1B that, on the one hand, when any output interface of the forwarding device receives data packets from different slices, it can allocate corresponding message processing resources to each data packet; on the other hand, when the same output interface of the forwarding device receives data packets from different slices, it can still accurately allocate corresponding message processing resources to each data packet. That is to say, in the embodiment of the present application, when the forwarding device receives any data packet, it can allocate the corresponding target message processing resource to the data packet according to the slice identifier in the data packet and the first association information, thereby realizing the mutual isolation between the network data processing resources of the data packet at the slice level.
[0177] From the above, it can be seen that the resource determination method provided in the embodiment of the present application can parse the corresponding fields in the data message according to the identification location information when the forwarding device receives any data message, obtain the forwarding identification information, and then determine the target message processing resources actually used to process the data message in the forwarding device according to the forwarding identification information and the first association information, and the message processing resources corresponding to the slice identifiers of different data messages are different, thereby realizing the isolation of network resources between different slices.
[0178] Fig. 6A The embodiments of the present application provide Figure 1B Schematic diagram of the network structure for data packet forwarding when the Flex-Algo algorithm identifier is 128.
[0179] Fig. 6A The four nodes A1::1 to A4::1 and the links between the four nodes are sequentially connected with Figure 1BThe four nodes in the table and the links between the nodes correspond to each other. The slice identifiers of the slices requested by CE1, CE2 and CE3 are 1, 2 and 3 respectively. The message processing resources corresponding to the above slices can be determined by the controller association configuration and the forwarding device associating the slices according to the result of the controller association configuration. As shown in Table 2, the bandwidths corresponding to them can be 10G, 20G and 30G respectively. The data message from CE1 is processed by the slice with the slice identifier 1. A1::1 can be a PE device. When it receives a message sending request sent by any CE device, it can set the forwarding identifier information in the data message. When the three nodes A2::1 to A4::1 receive the data message from CE1, they will parse the data message, obtain the slice identifier carried in the data message, and determine the corresponding target message processing resource according to the first association information in each node, and then process the data message through the target message processing resource, and finally reach CE11. Exemplarily, the above processing can include transmission and calculation. The processing method of the data packets from CE2 and CE3 is the same as the processing method of the data packets from CE1, which will not be described again here.
[0180] Figure 6B A schematic diagram of a network structure for forwarding data packets when the Flex-Algo algorithm identifier provided in an embodiment of the present application is 129.
[0181] Figure 6B The five nodes B1::1 to B4::1 and the links between the five nodes are sequentially Figure 1B The five nodes in the network and the links between the nodes correspond to each other. The slice identifiers of the slices requested by CE4, CE5 and CE6 are 4, 5 and 6 respectively. The message processing resources corresponding to the above slices can be determined by the controller association configuration and the forwarding device associating the slices according to the result of the controller association configuration. As shown in Table 2, the bandwidths corresponding to them can be 10G, 20G and 30G respectively. The data message from CE4 is processed by the slice with the slice identifier 4. B1::1 can be a PE device. When it receives a message sending request sent by any CE device, it can set the forwarding identifier information in the data message. When the four nodes from B5::1 to B4::1 receive the data message from CE4, they will parse the data message, obtain the slice identifier carried in the data message, and determine the corresponding target message processing resource according to the first association information in each node, and then process the data message through the target message processing resource, and finally reach CE41. Exemplarily, the above processing can include transmission and calculation. The processing method of the data packets from CE5 and CE6 is the same as the processing method of the data packets from CE4, which will not be described again here.
[0182] From the above, it can be seen that in the resource determination method provided in the embodiment of the present application, no substantial changes are made to the transmission method of data packets in the 5G network. Instead, the isolation of packet processing resources in the data packet processing process is achieved while making full use of the free fields in the existing data packets.
[0183] In the above process, the controller of the control plane implements coarse-grained resource isolation, and the forwarding device of the forwarding plane can implement fine-grained resource isolation of link internal resources. In the actual data packet forwarding process, the forwarding device only adds the process of determining the target packet processing resources according to the slice identifier, which has little impact on network transmission. In addition, when the number of bits of the forwarding information identifier in the Flow Label is 8 bits, the packet processing resources corresponding to 256 slices can be realized.
[0184] In the related technology, after Flex-Algo extends the control plane protocol, it is necessary to plan an independent address space for each slice and perform SPF calculation for each slice separately. Therefore, the number of routes will increase linearly with the increase of the number of slices, while the convergence performance will decrease linearly with the increase of the number of slices. Therefore, the resource consumption corresponding to each slice is large, and the network system cannot support the scenario of a large number of slices.
[0185] It should be noted that the resource determination method provided in the embodiment of the present application can also set the forwarding identification information in the header field of the data message when the type of the data message is SRv6. Fig. 7A A schematic diagram of a process for setting forwarding identification information in a header field of an SRv6 data message provided in an embodiment of the present application. Figure 7B A schematic diagram of a structure for setting forwarding identification information in a header field of an SRv6 data message.
[0186] like Fig. 7A As shown, the process may include steps 701 to 705:
[0187] Step 701: Inherit the SRv6 Policy encapsulation mode and encapsulate the data message.
[0188] like Figure 7B As shown in the figure, the original data message only includes two parts: IP Header and Pay Load; after inheriting the SRv6Policy encapsulation method, the data message adds the IPv6 Header field of the IPv6 data message and the SRv6 extension header (Segment Routing Header, SRH).
[0189] Step 702: Encapsulate the slice identifier into the Flow Label field of the IPv6 data packet.
[0190] Exemplarily, the encapsulation process here may be the same as the method of setting the forwarding identification information in the Flow Label field of the IPv6 data packet in the aforementioned embodiment, and will not be described in detail here.
[0191] Exemplarily, the forwarding identification information in the embodiment of the present application may include only a slice identification.
[0192] Step 703: According to the SRv6 forwarding mechanism, decapsulate the data message and obtain the slice identifier.
[0193] Exemplarily, the above operations may be implemented in a forwarding device.
[0194] Step 704: Look up the SR forwarding table entry according to the slice identifier and confirm the physical outbound interface.
[0195] Exemplarily, the SR forwarding entry may be the first associated information shown in Table 1A or Table 1B, and the physical outbound interface may be the outbound interface in the first associated information shown in Table 1A or Table 1B.
[0196] Exemplarily, the message processing resources actually used to process data messages in the forwarding device can be determined based on the slice identifier and the first association information shown in Table 1A or Table 1B.
[0197] Step 705: Acquire data message processing resources, and forward data messages according to the data message processing resources.
[0198] Exemplarily, the target data packet processing resource can be determined according to the first association information, slice identifier and output interface shown in Table 1A or Table 1B, and then the data packet can be forwarded to the target data packet processing resource so that the target packet processing resource can further forward and parse the data packet.
[0199] Exemplarily, when the data message arrives at the target device, the data message may be decapsulated to obtain the original data message.
[0200] For example, Figure 7B The SRv6 datagram in corresponds to the transmission process of the datagram in the network. Figure 7B The original data message in the initial stage, after being transmitted through the network, reaches the target device, and the target device can extract the original data message from the SRv6 data message.
[0201] It should be noted that FIG. 7A to FIG. 7B The transmission process of SRv6 data packets can be as follows: Fig. 6A or Figure 6B As shown, no further description is given here.
[0202] From the above, it can be seen that the resource determination method provided in the embodiment of the present application can not only be applied in the transmission process of IPv6 data packets, but can also be flexibly applied in the transmission process of SRv6 data packets. Therefore, the resource determination method provided in the embodiment of the present application is highly flexible and has a wide range of applications, so that resource isolation between different slices can be achieved in a variety of application scenarios.
[0203] Based on the foregoing embodiments, an embodiment of the present application further provides a resource determination method for a controller applied to a control plane.
[0204] In the embodiment of the present application, the resource determination method applied to the controller of the control plane can be implemented by a processor of the controller, and the processor can be at least one of ASIC, DSP, DSPD, PLD, FPGA, CPU, controller, microcontroller, and microprocessor. The processor can also be other, which is not limited in the embodiment of the present application.
[0205] Figure 8 A schematic diagram of a flow chart of a resource determination method for a controller applied to a control plane according to an embodiment of the present application. Figure 8 As shown, the method may include steps 801 to 802:
[0206] Step 801: upon receiving a data message sending request, determine forwarding identification information so that the PE device can set the forwarding identification information in the data message.
[0207] Among them, the forwarding identification information at least includes the slice identification of the slice used to process the data message; when the forwarding device on the forwarding plane receives a data message sent by any device, it can parse the data message and obtain the forwarding identification information.
[0208] Step 802: Determine first association information, and send the first association information to a forwarding device.
[0209] Among them, the forwarding device excluding the PE device can determine the target message processing resources for processing the data message based on the forwarding identification information and the first association information; the first association information at least includes the association relationship information between the slice identifier and the message processing resource; the message processing resources corresponding to the slice identifiers of different data messages are different.
[0210] From the above, it can be seen that the resource determination method of the controller applied to the control plane provided in the embodiment of the present application is that after the controller determines the forwarding identification information, any device can set the forwarding identification information in the data packet, and when the forwarding device receives the data packet sent by any device, it can obtain the forwarding identification information from the data packet, so as to determine the target packet processing resource for processing the data packet, thereby realizing the isolation of data packet processing resources at the slice level.
[0211] In the embodiment of the present application, the resource determination method applied to the controller may further include steps B1 to B4:
[0212] Step B1: Set data processing resources for the forwarding device.
[0213] Step B2, determine the second association information; wherein the second association information includes the association relationship information between the slice identifier and the resource requirement information.
[0214] Step B3: Based on the second association information, the data processing resources are associated and configured to obtain multiple message processing resources.
[0215] Step B4: Determine the first association information based on the second association information and multiple message processing resources.
[0216] Based on the foregoing embodiments, the embodiments of the present application further provide a forwarding device 9, which is applied to a forwarding plane. Fig. 9 This is a schematic diagram of the structure of the forwarding device 9 provided in the embodiment of the present application. Fig. 9 As shown, the forwarding device 9 includes a first transceiver module 901, a first parsing module 902 and a first determination module 903; wherein:
[0217] The first transceiver module 901 is used to receive a data message sent by any device;
[0218] The first parsing module 902 is used to parse the data message when the data message is received, and obtain forwarding identification information; wherein the forwarding identification information at least includes the slice identification of the slice used to process the data message; the forwarding identification information is set in the data message by the PE device; the forwarding identification information is determined by the controller of the control plane when a data message sending request is received.
[0219] The first transceiver module 901 is used to obtain first association information; wherein the first association information at least includes association relationship information between the slice identifier and the message processing resource determined by the controller; the message processing resources corresponding to the slice identifiers of different data messages are different;
[0220] The first determination module 903 is used to determine a target message processing resource for processing the data message based on the forwarding identification information and the first association information.
[0221] In some implementations, the first determination module 903 is used to determine the identification location information; wherein the identification location information indicates the location information of the forwarding identification information set in the data message; the identification location information is determined by the PE device based on the field occupancy status in the data message; the forwarding identification information is set in the data message by the PE device based on the identification location information;
[0222] The first parsing module 902 is used to parse the field corresponding to the identification location information in the data message to obtain forwarding identification information.
[0223] In some implementations, the identification location information includes location information of a header field of a data message; the identification location information is determined by a PE device based on an occupation state of the header field.
[0224] In some implementations, the identification position information includes unoccupied field position information in the flow label field determined by the PE device when the flow label field of the data packet is not completely occupied.
[0225] In some embodiments, the identification position information includes, when the flow label field of the data packet is fully occupied, the PE device reduces the flow label information in the flow label field to obtain a flow label information reduction result, and determines the unoccupied field position information in the flow label field based on the flow label information reduction result.
[0226] In some implementations, the first transceiver module 901 is used to obtain data processing resources set by the controller for the forwarding device; obtain second association information; wherein,
[0227] The first parsing module 902 is used to associate and slice the data processing resources based on the first association information to obtain a slicing result; wherein the slicing result includes multiple message processing resources actually used to process data messages in the forwarding device; the first association information is determined based on the second association information and multiple message processing resources when the controller associates and configures the data processing resources based on the second association information after determining the second association information to obtain multiple message processing resources; the second association information includes the association relationship information between the slice identifier and the resource demand information.
[0228] In some embodiments, the first determination module 903 is used to determine the target message processing resources from the slicing results based on the forwarding identification information and the first association information.
[0229] In some implementations, the data packet includes at least one of an Internet Protocol (IPv6) packet and an SRv6 packet.
[0230] It should be noted that in actual applications, the first transceiver module 901, the first analysis module 902 and the first determination module 903 can be implemented using a processor in the forwarding device, and the above-mentioned processor can be at least one of ASIC, DSP, DSPD, PLD, FPGA, CPU, controller, microcontroller, and microprocessor.
[0231] Based on the above embodiments, the present application also provides a controller 10, which is applied to a control plane; Fig.10 Schematic diagram of the structure of the controller 10 provided in the embodiment of the present application. Fig.10 As shown, the controller 10 includes a second determination module 1001 and a second transceiver module 1002, wherein:
[0232] The second determination module 1001 is used to determine forwarding identification information when receiving a data message sending request, so that the PE device sets the forwarding identification information in the data message; wherein the forwarding identification information at least includes a slice identification of a slice used to process the data message; when the forwarding device of the forwarding plane receives the data message, the data message can be parsed to obtain the forwarding identification information;
[0233] The second determination module 1001 is further used to determine first association information; wherein the first association information at least includes association relationship information between the slice identifier and the message processing resource; the message processing resources corresponding to the slice identifiers of different data messages are different;
[0234] The second transceiver module 1002 is used to send the first associated information to the forwarding device; wherein the forwarding device excluding the PE device can also determine the target message processing resource for processing the data message based on the forwarding identification information and the first associated information, and forward the data message to the target message processing resource.
[0235] In some embodiments, the controller 10 further includes a second parsing module, wherein:
[0236] The second determination module 1001 is used to set data processing resources for the forwarding device and determine second association information; wherein the second association information includes association relationship information between the slice identifier and the resource requirement information;
[0237] The second parsing module is used to associate and configure the data processing resources to obtain multiple message processing resources;
[0238] The second determining module 1001 is configured to determine the first association information based on the second association information and a plurality of message processing resources.
[0239] It should be noted that in actual applications, the second determination module 1001, the second transceiver module 1002 and the second analysis module can be implemented using a processor in the controller, and the above processor can be at least one of ASIC, DSP, DSPD, PLD, FPGA, CPU, microcontroller, and microprocessor.
[0240] Fig.11 Schematic diagram of the structure of the resource determination system 11 provided in the embodiment of the present application. Fig.11 As shown, the system may include a forwarding device 9 applied to the forwarding plane and a controller 10 applied to the control plane.
[0241] Based on the foregoing embodiments, the embodiments of the present application further provide a computer-readable storage medium, in which a computer-executable program is stored; when the computer-executable program is executed by a processor of an electronic device, it can implement any of the foregoing resource determination methods.
[0242] The above description of various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced to each other, and for the sake of brevity, they will not be repeated herein.
[0243] The methods disclosed in the various method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0244] The features disclosed in the various product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0245] The features disclosed in the various method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.
[0246] It should be noted that the above-mentioned computer-readable storage medium 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 (Flash Memory), a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM) and other memories; it can also be various electronic devices including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0247] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0248] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0249] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus necessary general hardware nodes, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0250] The present application is described with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, and the combination of the process and / or box in the flowchart and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for realizing the function specified in one process or multiple processes in the flowchart and / or one box or multiple boxes in the block diagram.
[0251] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0252] These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0253] The above are only preferred embodiments of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A resource determination method, characterized in that: The method is applied to a forwarding device on a forwarding plane, and the method includes: When a forwarding device that does not include a Provider edge PE device receives a data message sent by any device, the data message is parsed to obtain forwarding identification information; wherein the forwarding identification information at least includes a slice identification of a slice used to process the data message; the forwarding identification information is set in the data message by the PE device; the PE device determines a specific method of setting the forwarding identification information in the data message according to the type of the data message; the forwarding identification information is determined by a controller of the control plane when receiving a data message sending request; Acquire first association information; wherein the first association information includes at least association relationship information between the slice identifier and the message processing resource determined by the controller; the message processing resources corresponding to the slice identifiers of different data messages are different; Based on the forwarding identification information and the first association information, a target message processing resource for processing the data message is determined.
2. The method according to claim 1, characterized in that The parsing of the data message to obtain forwarding identification information includes: Determine identification location information; wherein the identification location information indicates location information of the forwarding identification information in the data message; the identification location information is determined by the PE device based on the field occupancy status in the data message; the forwarding identification information is set in the data message by the PE device based on the identification location information; The field corresponding to the identification location information in the data message is parsed to obtain the forwarding identification information.
3. The method according to claim 2, characterized in that The identification location information includes location information of a header field of the data message; the identification location information is determined by the PE device based on an occupation status of the header field.
4. The method according to claim 3, characterized in that The identification position information includes unoccupied field position information in the flow label field determined by the PE device when the flow label field of the data message is not fully occupied.
5. The method according to claim 3, characterized in that: The identification position information includes, when the flow label field of the data message is fully occupied, the PE device reduces the flow label information in the flow label field to obtain a flow label information reduction result, and determines the unoccupied field position information in the flow label field based on the flow label information reduction result.
6. The method according to claim 1, characterized in that Before determining the target message processing resource for processing the data message based on the forwarding identification information and the first association information, the method further includes: Acquire data processing resources set by the controller for the forwarding device; Based on the first association information, the data processing resources are associated and sliced to obtain a slicing result; wherein the slicing result includes multiple message processing resources actually used to process the data message in the forwarding device; the first association information is determined by the controller based on the second association information and the multiple message processing resources after determining the second association information, when the controller associates and configures the data processing resources based on the second association information to obtain multiple message processing resources; the second association information includes the association relationship information between the slice identifier and the resource requirement information.
7. The method according to claim 6, characterized in that The determining, based on the forwarding identification information and the first association information, a target message processing resource for processing the data message includes: Based on the forwarding identification information and the first association information, the target message processing resources are determined from the slicing result.
8. The method according to claim 1, characterized in that The data message includes at least one of an Internet Protocol version 6 IPv6 message and an SRv6 message.
9. A resource determination method, characterized in that: The method is applied to a controller of a control plane; the method comprises: In the case of receiving a data message sending request, determining forwarding identification information so that the PE device sets the forwarding identification information in the data message; wherein the PE device determines a specific manner of setting the forwarding identification information in the data message according to the type of the data message, and the forwarding identification information at least includes a slice identification of a slice used to process the data message; when the forwarding device of the forwarding plane receives the data message sent by any device, it can parse the data message and obtain the forwarding identification information; Determine the first association information and send the first association information to the forwarding device; wherein the forwarding device excluding the PE device can determine the target message processing resource for processing the data message based on the forwarding identification information and the first association information; the first association information at least includes the association relationship information between the slice identifier and the message processing resource; the message processing resources corresponding to the slice identifiers of different data messages are different.
10. The method according to claim 9, characterized in that The determining of the first association information includes: Setting data processing resources for the forwarding device; Determine second association information; wherein the second association information includes association relationship information between the slice identifier and the resource requirement information; Based on the second association information, the data processing resources are associated and configured to obtain a plurality of message processing resources; The first association information is determined based on the second association information and the plurality of message processing resources.
11. A forwarding device, characterized in that: The forwarding device is applied to the forwarding plane; the device comprises: a first transceiver module, a first parsing module, and a first determination module; wherein: The first transceiver module is used to receive a data message sent by any device; The first parsing module is used to parse the data message to obtain forwarding identification information; wherein the forwarding identification information at least includes a slice identification for processing a slice of the data message; the forwarding identification information is set in the data message by a PE device; the PE device determines a specific manner of setting the forwarding identification information in the data message according to a type of the data message; the forwarding identification information is determined by a controller of a control plane when receiving a request to send a data message; The first transceiver module is used to obtain first association information; wherein the first association information at least includes association relationship information between the slice identifier and the message processing resource determined by the controller; the message processing resources corresponding to the slice identifiers of different data messages are different; The first determination module is used to determine a target message processing resource for processing the data message based on the forwarding identification information and the first association information.
12. A controller, characterized in that: The controller is applied to the control plane; the controller includes a second determination module and a second transceiver module; wherein: The second determination module is used to determine forwarding identification information when receiving a data message sending request, so that the PE device sets the forwarding identification information in the data message; wherein the PE device determines a specific manner of setting the forwarding identification information in the data message according to the type of the data message, and the forwarding identification information at least includes a slice identification of a slice used to process the data message; when the forwarding device of the forwarding plane receives the data message, the data message can be parsed to obtain the forwarding identification information; The second determination module is further used to determine first association information; wherein the first association information at least includes association relationship information between the slice identifier and the message processing resource; the message processing resources corresponding to the slice identifiers of different data messages are different; The second transceiver module is used to send the first association information to the forwarding device; wherein the forwarding device excluding the PE device can also determine the target message processing resource for processing the data message based on the forwarding identification information and the first association information, and forward the data message to the target message processing resource.
13. A resource determination system, characterized in that: The resource determination system comprises the forwarding device applied to the forwarding plane as claimed in claim 11, and the controller applied to the control plane as claimed in claim 12.
14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer-executable program; when the computer-executable program is executed by a processor of an electronic device, it can implement the resource determination method as described in any one of claims 1 to 8 or 9 to 10.
Citation Information
Patent Citations
Communication control method, controller, user equipment, and function instance
CN106550410A