Network slice arrangement method for programmable data plane network
By optimizing the network slice orchestration method of VNF mapping and routing path selection, the problem of insufficient resource utilization in the prior art is solved, and the flexibility and efficiency of network slice deployment and resource allocation are realized.
Patent Information
- Application Number
- CN202510405408.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-02
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2045-04-02
AI Technical Summary
The existing network slicing orchestration method for programmable data planes is difficult to make full use of resources in a multi-tenant shared network slicing environment, resulting in limited resource flexibility and efficiency.
A network slice orchestration method for programmable data plane network is proposed, and the flexible and efficient use of resources is achieved by optimizing the mapping of virtual network functions (VNF) and the selection of routing paths. This method uses the configured network cost function, combines the depth-first search algorithm and three-stage heuristic algorithm to optimize VNF deployment and routing paths, and generates the optimal path combination and VNF deployment information.
It significantly improves the flexibility and efficiency of network slicing deployment and resource allocation, and can collaboratively optimize resource allocation, path selection and service quality assurance.
Smart Images

Figure CN119906644A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of network slicing orchestration, and in particular, to a network slicing orchestration method for a programmable data plane network. Background Art
[0002] Network slicing in a programmable data plane network is based on a single physical network infrastructure. Through logical isolation and resource allocation, it supports the creation of multiple independent logical network instances, thereby achieving efficient coexistence of heterogeneous services in a unified network environment. The core goal of this technology is to provide customized network solutions for applications and services with different requirements without having to build a separate physical network for each service. Currently, advances in programmable data plane devices make it possible to offload the implementation of network slicing to programmable switches. This technology uses programmable switches to achieve logical isolation directly at the data plane level, tightly coupling packet forwarding with packet processing, which can significantly reduce data processing latency.
[0003] Existing network slicing orchestration methods for programmable data planes mainly include three network slicing orchestration methods based on programmable switches: table slicing, program slicing, and hardware slicing. These three network slicing orchestration methods all allocate physical resources based on network slicing as the basic granularity. However, in a multi-tenant shared network slicing environment, this method is difficult to fully utilize resources, resulting in limited flexibility and efficiency in resource allocation. Summary of the invention
[0004] The purpose of the embodiments of the present application is to provide a network slicing orchestration method for a programmable data plane network, so that resource allocation, path selection and service quality assurance can be coordinated and optimized, significantly improving the flexibility and efficiency of network slicing deployment and resource allocation.
[0005] In a first aspect, a network slice orchestration method for a programmable data plane network is provided, wherein the programmable data plane network includes a plurality of nodes connected by links, the nodes being programmable switches, each programmable switch allowing deployment of VNF instances of multiple VNF types, the method may include: Obtain service requests corresponding to different network slices to be orchestrated, where the corresponding service requests include a sequence of VNF types to be traversed to process the corresponding service, a required maximum routing delay, and a source node and a destination node of each network slice to be orchestrated; For any service request, the configured network cost function, the VNF type sequence to be traversed and the VNF instance of the corresponding VNF type corresponding to the service request, the required maximum routing delay, and the source node and destination node of each network slice to be orchestrated are used to perform node deployment on the VNF of the corresponding VNF type to obtain the optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined according to the total number cost of instance deployment of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated; Based on the optimal routing path and VNF deployment information corresponding to the service request, a corresponding orchestration file is generated, and the orchestration file is distributed to each switch in the programmable data plane network to perform orchestration of the network slice corresponding to the service request.
[0006] In one possible implementation, the network cost function of the configuration is expressed as:
[0007] Wherein, N is a set of programmable switches in the programmable data plane network, i is the i-th programmable switch in N; M is a set of VNF types, j is the j-th VNF type in M; represents the set of all instances of the j-th VNF deployment, is the total number of instances of the j-th VNF; represents the deployment status of the total number of instances s of the j-th VNF deployed on the j-th programmable switch; F is the set of network slices to be orchestrated, and k is the k-th network slice to be orchestrated in F; is the path of the kth network slice to be orchestrated, which is a sequence of programmable switches; For path Link delay between adjacent programmable switches; Indicates that the kth network slice to be orchestrated passes The routing status of the path; and is the weight coefficient.
[0008] In a possible implementation, for any service request, the configured network cost function, the VNF type sequence to be traversed corresponding to the service request and the VNF instance of the corresponding VNF type, the maximum routing delay, and the source node and the destination node of each network slice to be orchestrated are used to deploy the VNF of the corresponding VNF type on the node, and obtain the optimal routing path and VNF deployment information corresponding to the service request, including: A depth-first search algorithm is used to process multiple nodes with link connections and the source and destination nodes corresponding to each service request to obtain multiple feasible paths corresponding to each network slice to be orchestrated. By randomly combining multiple feasible paths corresponding to each network slice to be orchestrated, an initial path solution set C corresponding to different network slices to be orchestrated is obtained; the initial path solution set C includes path combinations of different feasible paths corresponding to different network slices to be orchestrated; Traverse any path combination in the initial path solution set C, and randomly adjust the current path combination based on the current path combination, the VNF type sequence corresponding to each network slice to be orchestrated, and the VNF instance of the corresponding VNF type, to obtain the VNF deployment information of each network slice to be orchestrated under the adjusted path combination; Using the configured network cost function, the cost of the VNF deployment information of each network slice to be orchestrated under the adjusted path combination is calculated to obtain the cost value corresponding to the VNF deployment information under the adjusted path combination that meets the constraint conditions; A preset three-stage heuristic algorithm is used to process the adjusted path combination corresponding to the target cost value in the obtained cost value to obtain the optimal path combination and corresponding VNF deployment information.
[0009] In a possible implementation, based on the current initial path combination, the VNF type sequence corresponding to each network slice to be orchestrated, and the VNF instance of the corresponding VNF type, the path combination is randomly adjusted to obtain the VNF deployment information of each network slice to be orchestrated under the adjusted path combination, including: According to the number of VNF instances contained in each network slice to be orchestrated, the network slices to be orchestrated are sorted from large to small to obtain a sequence of network slices to be orchestrated; Traverse all VNF instances involved in the network slice sequence to be orchestrated and perform the following steps: Deploy the VNF instances involved in the first network slice to be orchestrated in the sequence of network slices to be orchestrated on different nodes according to the path order in the current initial path combination; Check whether the current VNF instances involved in other network slices to be orchestrated except the first network slice to be orchestrated are the same as the deployed VNF instances; If yes, the current VNF instance is deployed on a node that satisfies the order constraint; the node is located after the node of the previously deployed VNF instance; If not, the current VNF instance is deployed on a deployable node corresponding to a degree higher than the preset degree value according to the link connection between nodes, the degree of the nodes, and the usage frequency of the current VNF instance in the sequence of network slices to be orchestrated; After traversing all VNF instances involved in the sequence of network slices to be orchestrated, obtain the VNF deployment information of each network slice to be orchestrated under the adjusted path combination.
[0010] In a possible implementation, the target cost value is a preset number of low cost values among the obtained cost values; The preset three-stage heuristic algorithm is used to process the adjusted path combination corresponding to the target cost value in the obtained cost value to obtain the optimal path combination and corresponding VNF deployment information, including: If the number of target cost values is less than a preset number threshold, a new path combination solution set is obtained, and the new path combination solution set includes the adjusted path combination corresponding to the target cost value and the adjusted path combination corresponding to the increased target cost value.
[0011] In a possible implementation, the corresponding service request also includes a target bandwidth of the corresponding network slice to be orchestrated; and the constraint condition includes: The total resource consumption of the VNF instances deployed on each node cannot exceed the initial capacity of the node, and the bandwidth consumption of any adjacent node on the corresponding routing path for the data packets of the service requests for each network slice to be orchestrated cannot exceed the available bandwidth of the corresponding link on the routing path.
[0012] In one possible implementation, the method further includes: The optimal routing path is allocated to the source node of each network slice after the orchestration to guide the routing of the data packet of the corresponding service request; the header of the data packet includes the identifier of the network slice corresponding to the corresponding service request, the VNF instance identifier involved in the corresponding network slice and blank source routing information; Among them, when the current node is a source node, the switch fills the optimal routing path into the blank source routing information. When the current node is an intermediate source node, the switch guides the data packet to the VNF function module deployed on the switch to execute the corresponding VNF instance, and the corresponding VNF instance identifier in the data packet will be removed after execution.
[0013] In a second aspect, a network slice orchestration device for a programmable data plane network is provided, wherein the programmable data plane network includes a plurality of nodes connected by links, the nodes are programmable switches, each programmable switch allows deployment of VNF instances of multiple VNF types, and the device may include: An acquisition unit is used to acquire service requests corresponding to different network slices to be orchestrated, where the corresponding service requests include a sequence of VNF types to be traversed to process the corresponding service, a required maximum routing delay, and a source node and a destination node of each network slice to be orchestrated; A deployment unit is used to deploy nodes of VNFs of corresponding VNF types for any service request by using a configured network cost function, a sequence of VNF types to be traversed corresponding to the service request and VNF instances of corresponding VNF types, a maximum routing delay, and a source node and a destination node of each network slice to be orchestrated, so as to obtain an optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined according to the total number cost of instance deployments of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated; An orchestration unit is used to generate a corresponding orchestration file based on the optimal routing path and VNF deployment information corresponding to the service request, and distribute the orchestration file to each switch in the programmable data plane network to perform orchestration of the network slice corresponding to the service request.
[0014] In a third aspect, an electronic device is provided, the electronic device comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; Memory, used to store computer programs; The processor is used to implement any method step described in the first aspect when executing the program stored in the memory.
[0015] In a fourth aspect, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, any method step described in the first aspect is implemented.
[0016] The present application provides a network slice orchestration method for a programmable data plane network, including: obtaining service requests corresponding to different network slices to be orchestrated, the corresponding service requests including the VNF type sequence to be traversed for processing the corresponding service, the required maximum routing delay, the source node and destination node of each network slice to be orchestrated; for any service request, using the configured network cost function, the VNF type sequence to be traversed corresponding to the service request and the VNF instance of the corresponding VNF type, the required maximum routing delay, and the source node and destination node of each network slice to be orchestrated, the VNF of the corresponding VNF type is deployed to obtain the optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined according to the total number cost of instance deployment of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated; based on the optimal routing path and VNF deployment information corresponding to the service request, the corresponding orchestration file is generated, and the orchestration file is distributed to each switch in the programmable data plane network to perform the orchestration of the network slice corresponding to the service request. This method enables the coordinated optimization of resource allocation, path selection and service quality assurance, significantly improving the flexibility and efficiency of network slice deployment and resource allocation. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments of the present application will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0018] Figure 1 A flowchart of a network slicing orchestration method for a programmable data plane network provided in an embodiment of the present application; Figure 2 A schematic diagram of a programmable data plane network provided in an embodiment of the present application; Figure 3 A schematic diagram of a processing flow for a data packet entering a network slice in a programmable switch provided in an embodiment of the present application; Figure 4 A schematic diagram of the structure of a network slice orchestration device for a programmable data plane network provided in an embodiment of the present application; Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0019] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments of the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present application. Unless otherwise defined, the technical terms or scientific terms used in this application should be the usual meanings understood by people with general skills in the field to which the present invention belongs. The "first", "second" and similar words used in this application do not indicate any order, quantity or importance, but are only used to distinguish different components. "Including" or "including" and other similar words mean that the elements or objects appearing before the word cover the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connect", "couple" or "connected" and other similar words are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect.
[0020] There are currently three mainstream network slicing methods based on programmable switches: table slicing, program slicing, and hardware slicing. Table slicing achieves separation by allocating independent table entries to different logical networks in the P4 table, while the overall structure of the table remains unchanged. Its advantage is that the table entries can be dynamically updated without modifying the P4 code, simplifying the implementation process. Program slicing allows independent processing logic to be designed for each logical network, including specific table structures and actions, providing a high degree of flexibility and suitable for networks with large differences in processing logic. Hardware slicing achieves separation by allocating independent hardware resources to different logical networks. For example, different slices are implemented using different programmable switches, which enables each logical network to run independently with minimal performance interference, especially suitable for networks with significantly different processing requirements.
[0021] Traditional server-based network slicing: Since the traditional server-based network slicing method uses data plane devices to implement data forwarding, but uses servers to implement data processing, the two are separated, which will cause extremely high latency. Programmable data plane slicing solution based on table slicing: This solution will occupy more memory when the number of network slices increases, affecting performance and energy consumption. Programmable data plane slicing solution based on program slicing: In this method, due to the isolation requirements of network slicing, the resources allocated to a slice cannot be reused by other network slices. At the same time, when the processing path becomes very complicated, the latency increases, affecting the overall performance. Programmable data plane slicing solution based on hardware slicing: Like program slicing, the resources allocated to a slice cannot be reused by other network slices. At the same time, this method has poor scalability. When new slices are added, new physical hardware needs to be expanded for implementation.
[0022] It can be found that the existing network slice orchestration methods for programmable data planes usually allocate physical resources based on slices as the basic granularity. However, in a network slice environment shared by multiple tenants, this method is difficult to fully utilize resources, resulting in limited flexibility and efficiency in resource allocation.
[0023] To this end, this application proposes a network slice orchestration method for a programmable data plane network, which is applied to an orchestrator with orchestration function in a server. By reasonably deploying the Service Function Chain (SFC) in the programmable data plane network, more efficient network slice resource management is achieved. Specifically, the method optimizes the mapping of virtual network functions (VNFs) and the selection of routing paths, and refines the logical network requirements in a single physical network to a single VNF as the basic granularity for orchestration, thereby achieving flexible and efficient resource utilization in a multi-tenant environment.
[0024] The programmable data plane network is modeled as an undirected connected graph In this model, represents the set of programmable switches, that is, each programmable switch is a node of the programmable data plane network, and E represents the set of physical links connecting these switches. The network consists of N programmable switches, and the initial capacity of each switch is the same, denoted as .if If the link is directly connected Each physical link has a bandwidth of and link delay etc. to characterize the properties.
[0025] VNF instances of various VNF types can be deployed on each programmable switch. The set of VNF types is denoted as . Represents the set of all instances of the j-th type VNF deployment. VNF type The total number of instances of Indicates. s is the quantity.
[0026] Since the resource consumption of the same type of VNF varies in different network slices, specific resource requirements are allocated to each VNF instance. For example, Indicates a VNF instance The amount of resources consumed.
[0027] The current set of network slice instances that need to be processed is recorded as , that is, a total of 5 services, where R represents the total number of network slices that need to be processed. In this model, each network slice is regarded as an independent instance of the SFC instance. Therefore, Represents the kth network slice instance and its corresponding traffic request. The request is represented as a five-tuple: .
[0028] in: Indicates the sequence of VNF types that the data flow must traverse in sequence; and denote the target bandwidth and target maximum routing delay that meet the quality of service requirements of the kth network slice respectively; and They represent the source node and destination node of the kth network slice respectively.
[0029] The preferred embodiments of the present application are described below in conjunction with the drawings in the specification. It should be understood that the preferred embodiments described herein are only used to illustrate and explain the present application, and are not used to limit the present application. In addition, the embodiments and features in the embodiments of the present application may be combined with each other if there is no conflict.
[0030] Figure 1 A flowchart of a network slice orchestration method for a programmable data plane network provided in an embodiment of the present application. Figure 1 As shown, the method may include: Step S110: Obtain service requests corresponding to different network slices to be orchestrated.
[0031] The service request corresponding to each network slice to be orchestrated may include the VNF type sequence that needs to be traversed to process the corresponding service, the source node and destination node of each network slice to be orchestrated, and the target bandwidth and required maximum routing delay of the service quality requirements of the network slice to be orchestrated.
[0032] Step S120: For any service request, the configured network cost function, the VNF type sequence and VNF instance of the corresponding VNF type that need to be traversed corresponding to the corresponding service request, the required maximum routing delay, and the source node and destination node of each network slice to be orchestrated are used to perform node deployment on the VNF of the corresponding VNF type to obtain the optimal routing path and VNF deployment information corresponding to the corresponding service request.
[0033] The network cost function is determined based on the total number cost of all VNF type instance deployments in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated. The network cost function can be expressed as:
[0034] Wherein, N is a set of programmable switches in the programmable data plane network, i is the i-th programmable switch in N; M is a set of VNF types, j is the j-th VNF type in M; represents the set of all instances of the j-th VNF deployment, is the total number of instances of the j-th VNF; represents the deployment status of the total number of instances s of the j-th VNF deployed on the j-th programmable switch; F is the set of network slices to be orchestrated, and k is the k-th network slice to be orchestrated in F; is the path of the kth network slice to be orchestrated, which is a sequence of programmable switches; For path Link delay between adjacent programmable switches; Indicates that the kth network slice to be orchestrated passes The routing status of the path; and is the weight coefficient. Considering the magnitude difference between path delay (in milliseconds) and VNF deployment cost, the weight coefficient in the function should be designed by the network administrator (such as setting α=0.99, β=0.01). When the algorithm cannot meet the service quality requirements of any network slice, the system will impose a penalty on the total cost (such as adding a penalty value of 10).
[0035] In the specific implementation, this application proposes an innovative heuristic algorithm, that is, Figure 4 The chained hypergeneration algorithm (CHG algorithm) shown in Figure 1 solves the orchestration problem of network slices by jointly optimizing VNF deployment and routing paths, including: The depth-first search algorithm (DFS) is used to process multiple nodes with link connections and the source and destination nodes corresponding to each service request to obtain multiple feasible paths corresponding to each network slice to be orchestrated. By randomly combining multiple feasible paths corresponding to each network slice to be orchestrated, an initial path solution set C corresponding to different network slices to be orchestrated is obtained; the initial path solution set C includes path combinations of different feasible paths corresponding to different network slices to be orchestrated; Traverse any path combination in the initial path solution set C, and randomly adjust the current path combination based on the current path combination, the VNF type sequence corresponding to each network slice to be orchestrated, and the VNF instance of the corresponding VNF type, to obtain the VNF deployment information of each network slice to be orchestrated under the adjusted path combination; The configured network cost function is used to calculate the cost of the VNF deployment information of each network slice to be orchestrated under the adjusted path combination, and the cost value corresponding to the VNF deployment information under the adjusted path combination that meets the constraint conditions is obtained; wherein the constraint conditions may include: the total resource consumption of the VNF instance deployed at each node cannot exceed the initial capacity of the node; the bandwidth consumption of the data packet of the service request for each network slice to be orchestrated at any adjacent node on the corresponding routing path does not exceed the available bandwidth of the corresponding link on the routing path; the data flow must be strictly in the order specified by the slice in the process of passing through the VNF.
[0036] Afterwards, the preset three-stage heuristic algorithm is used to process the adjusted path combination corresponding to the target cost value in the obtained cost value to obtain the optimal path combination. and corresponding VNF deployment information.
[0037] Specifically, a preset three-stage heuristic algorithm is used to dynamically adjust the path combination through the following three stages to obtain the optimal path combination, including: Exploration phase: Calculate the path cost based on VNF deployment, randomly adjust the path combination, and optimize the low-cost path to improve the quality of the solution.
[0038] Copying phase: retain path combinations with lower costs, eliminate inefficient solutions, and increase the diversity of the solution set through copying operations.
[0039] Genetic stage: The path combination is further optimized through crossover and mutation operations to improve the global optimality of the solution.
[0040] Among them, the total cost of each path combination is calculated according to the new path combination generated in the exploration phase, and the total cost of each path combination obtained by calculation is calculated by the formula: To calculate the cost variance. Where |c| is the total number of path combinations, is the total cost of the ith path combination, It is the average total cost of all existing path combinations.
[0041] Each path combination can be represented by a position vector, which can map the corresponding path combination to a point in the solution space. Then, according to the formula: To calculate the position variance, is the position vector of the ith path combination, is the mean of the position vectors.
[0042] In order to balance global search and local optimization, after each round of exploration, the cost variance of the path combination is calculated. and location variance , and dynamically adjust the search step size and the number of local optimization steps .
[0043] Due to the cost variance It can measure the degree of dispersion of the total cost of all current path combinations. A high cost variance means that the cost of the corresponding path combination is very different, so the algorithm should narrow the search range and reduce the number of local optimization steps to focus on low-cost areas; low cost variance means that the cost is similar, and the search range should be expanded and the number of local optimization steps should be increased for more extensive exploration. Similarly, the position variance reflects the degree of aggregation or dispersion of the distribution of path combinations in the solution space. Each path combination is represented by a position vector in the solution space; a high position variance indicates that the path combination is dispersed, and the local search accuracy should be improved; a low position variance indicates that the path combination is aggregated, and the search range should be expanded to avoid premature convergence. When the algorithm reaches the maximum number of iterations, or no significant improvement is obtained within the specified iteration number, the algorithm terminates and outputs the final optimized solution.
[0044] Furthermore, the target cost value is a preset number of low-cost values among the obtained cost values, that is, some path combinations with lower costs are retained, such as 1 / 2 of all path combinations with lower costs. At this time, if the number of target cost values is less than the preset number threshold, a new path combination solution set is obtained, and the new path combination solution set includes the adjusted path combination corresponding to the target cost value and the adjusted path combination corresponding to the increased target cost value, that is, the diversity of the solution set is increased by the copy operation.
[0045] Step S130: Generate a corresponding orchestration file based on the optimal routing path and VNF deployment information corresponding to the service request, and distribute the orchestration file to each switch in the programmable data plane network to perform orchestration of the network slice corresponding to the service request. The orchestration file may be a P4 configuration file.
[0046] In some embodiments, any path combination in the initial path solution set C is traversed, and based on the current path combination, the VNF type sequence corresponding to each network slice to be orchestrated, and the VNF instance of the corresponding VNF type, the current path combination is randomly adjusted to obtain VNF deployment information of each network slice to be orchestrated under the adjusted path combination, including: In this regard, the present application proposes a VNF deployment strategy based on dual-sequence load perception. First, according to the number of VNF instances contained in each network slice to be orchestrated, the network slices to be orchestrated are sorted from large to small to obtain a sequence of network slices to be orchestrated; for example, the sequence of network slices to be orchestrated may include, in sequence, 8 VNF instances in the first network slice, 5 VNF instances in the second network slice, and 3 VNF instances in the third network slice. Afterwards, all VNF instances involved in the sequence of network slices to be orchestrated are traversed, and the following steps are performed: Deploy the VNF instances involved in the first network slice to be orchestrated in the network slice sequence to be orchestrated on different nodes according to the path order in the current initial path combination; check whether the current VNF instances involved in other network slices to be orchestrated except the first network slice to be orchestrated are the same as the deployed VNF instances; If yes, the current VNF instance is deployed on a node that meets the order constraint; the node is located after the node of the previously deployed VNF instance; if no, the current VNF instance is deployed on a deployable node corresponding to a degree higher than the preset degree value according to the link connection between nodes, the degree of the node, and the frequency of use of the current VNF instance in the sequence of network slices to be orchestrated; thus, after traversing all VNF instances involved in the sequence of network slices to be orchestrated, the VNF deployment information of each network slice to be orchestrated under the adjusted path combination is obtained. Specifically, for all slices except the first slice, check in turn whether the current VNF can reuse the deployed instance. The reuse rule requires that the current VNF must be deployed on a node that meets the order constraint, that is, the current node must be located after the previously deployed VNF node. If a node that meets the conditions is found, the existing instance is reused directly to avoid repeated deployment; if not found, proceed to the next step. For VNF instances that cannot be reused, according to the connectivity of the node and the frequency of use of the VNF in multiple slices, it is preferentially deployed on a high-connectivity node to maximize instance reuse while meeting the order constraint.
[0047] In some embodiments, the method further comprises: Allocate the optimal routing path to the source node of each orchestrated network slice to guide the routing of data packets requested by the corresponding service; The header of the data packet may include the identifier of the network slice corresponding to the corresponding service request (Slicenumbers), the VNF instance identifier (NF1 and NF2) involved in the corresponding network slice and blank source routing information (SourceRouting), as well as other header information (Other headers); wherein, when the current node is a source node, the switch fills the blank source routing information with the optimal routing path. When the current node is an intermediate source node, the switch guides the data packet to the VNF function module deployed on the switch to execute the corresponding VNF instance, and the corresponding VNF instance identifier in the data packet will be removed after execution.
[0048] Specifically: After the data plane network orchestration completes the network slice, in the designed data plane network, for each network slice instance, the first switch where its data packet enters the network is defined as the source node of the slice, and the last switch where the data flows out of the network is defined as the destination node of the slice. Figure 2 As shown, when each data packet is sent, the end-side host or end-side network card clearly identifies the network slice number to which it belongs and the VNF sequence to be processed according to the type of network slice to which it belongs and the type of VNF contained in the SFC corresponding to the slice.
[0049] Since data packets can access the programmable data plane network from any node, a node may play the role of source node, intermediate node or destination node in different slicing scenarios. This design allows flexible and efficient orchestration of network slice instances, supporting dynamic traffic requirements and service path management of different slices.
[0050] like Figure 3 As shown in the figure, when a data packet of a slice enters the switch, it is first processed by the parser. The parser extracts the header information related to Ethernet, IPv4, TCP / UDP, SFC and VNF by gradually parsing the protocol type and header field of the data packet, and transfers to the next parsing state according to predefined conditions in each parsing state until all headers are parsed. After the parsing is completed, a table for determining the node type will be entered. The table can use the header information related to SFC and VNF to determine the switch type of the current switch for the data packet, that is, whether it is the source node, destination node or intermediate node for the data packet.
[0051] When it is determined to be a source node, after the data packet enters the forwarding path of the switch, the control logic retrieves the predefined source routing path issued by the orchestrator based on the extracted SFC information, that is, the optimal routing path, and fills the blank part of the source routing header of the data packet with the path information. Subsequently, the data packet is matched through the routing forwarding table, the next hop port is determined according to the source routing header information, and the egress port of the data packet is specified through the egress_spec field. After completing the forwarding logic, the data packet is re-encapsulated by the reassembler into a complete data packet format containing an updated header for subsequent indication of the routing path.
[0052] When a data packet of a slice enters an intermediate node that is not a source node or a destination node, the processing logic still starts from the parser, by gradually extracting Ethernet, IPv4, TCP / UDP, SFC and VNF-related header information, parsing and obtaining the necessary fields. Then, based on the parsing results, the node type played by the current switch for the data packet is determined.
[0053] When the switch is confirmed to be an intermediate node, the data packet will first be imported into the control table, which is different from the processing logic of the source node. The control table generates metadata to indicate the specific processing flow based on the SFC information and the VNF information that currently needs to be executed. Under the guidance of the metadata, the data packet is directed to the corresponding VNF functional module deployed on the node. Each VNF functional module performs specific operations based on the matching logic of the data packet field, such as address rewriting, data packet forwarding, or data packet discarding. After the processing action is completed, the VNF-related header in the data packet will be updated accordingly, the completed VNF identifier will be removed, and the VNF identifier that needs to be executed in the next step will be ensured to always be exposed at the outermost layer.
[0054] Since the programmable switch adopts a pipeline architecture, after each corresponding action is completed, the metadata needs to be dynamically updated to identify whether the data packet still needs to be processed at the current node, or whether the VNF execution of the node has been completed and is ready to be forwarded to the next programmable switch. For traffic that has not yet been processed, the data packet will be reallocated to the next VNF functional module for further processing, while the data packet that has been processed will directly enter the forwarding logic. Finally, the data packet determines the next hop port based on its source routing header information and is re-encapsulated into a complete data packet containing the updated header information through the reassembler. Through such a data plane design, multiple VNFs can be deployed in a single switch, and the network functions that need to be executed on the current programmable switch can be freely selected according to the type of slice and the stage it is in.
[0055] This application abstracts the network slice of the programmable data plane as an SFC instance, and provides a complete mathematical modeling framework by accurately describing the VNF sequence and routing requirements required for the slice service. This modeling method unifies the deployment and optimization problems of slices under a comprehensive objective function, so that resource allocation, path selection and service quality assurance can be optimized collaboratively, significantly improving the flexibility and efficiency of slice deployment and resource allocation. And by clarifying the reception of slice requests, the optimization calculation of resource allocation, and the deployment process of orchestration results, the problem of insufficient adaptability of the traditional network slicing framework in the programmable data plane environment is effectively solved. At the same time, VNFs are efficiently deployed through a two-stage process of priority sorting and reuse inspection, significantly reducing resource overhead and redundant deployment. In addition, the present invention designs a chained super generation (CHG) algorithm based on this strategy, combining random adjustment, cost evaluation and genetic algorithm ideas to solve the joint optimization problem of VNF deployment and routing selection. This method can achieve flexible and efficient resource orchestration in a multi-tenant network slicing scenario, while ensuring slice service isolation and service quality requirements.
[0056] Corresponding to the above method, the embodiment of the present application also provides a network slice orchestration device for a programmable data plane network, such as Figure 4 As shown, the device comprises: The acquisition unit 410 is used to acquire service requests corresponding to different network slices to be orchestrated, where the corresponding service requests include a sequence of VNF types to be traversed to process the corresponding service, a required maximum routing delay, and a source node and a destination node of each network slice to be orchestrated; The deployment unit 420 is used to deploy nodes of the VNF of the corresponding VNF type using the configured network cost function, the VNF type sequence to be traversed and the VNF instance of the corresponding VNF type corresponding to the service request, the maximum routing delay, and the source node and the destination node of each network slice to be orchestrated, for any service request, to obtain the optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined according to the total number cost of instance deployment of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated; The orchestration unit 430 is used to generate a corresponding orchestration file based on the optimal routing path and VNF deployment information corresponding to the service request, and distribute the orchestration file to each switch in the programmable data plane network to perform orchestration of the network slice corresponding to the service request.
[0057] The functions of the various functional units of the network slicing orchestration device for a programmable data plane network provided in the above embodiments of the present application can be implemented through the above method steps. Therefore, the specific working process and beneficial effects of the various units in the network slicing orchestration device for a programmable data plane network provided in the embodiments of the present application will not be repeated here.
[0058] The present application also provides an electronic device, such as Figure 5 As shown, it includes a processor 510 , a communication interface 520 , a memory 530 and a communication bus 540 , wherein the processor 510 , the communication interface 520 , and the memory 530 communicate with each other via the communication bus 540 .
[0059] Memory 530, for storing computer programs; The processor 510 is used to execute the program stored in the memory 530 to implement the following steps: Obtain service requests corresponding to different network slices to be orchestrated, where the corresponding service requests include a sequence of VNF types to be traversed to process the corresponding service, a maximum routing delay, and a source node and a destination node of each network slice to be orchestrated; For any service request, the configured network cost function, the VNF type sequence to be traversed corresponding to the service request and the VNF instance of the corresponding VNF type, the maximum routing delay, and the source node and the destination node of each network slice to be orchestrated are used to perform node deployment on the VNF of the corresponding VNF type to obtain the optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined according to the total number cost of instance deployment of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated; Based on the optimal routing path and VNF deployment information corresponding to the service request, a corresponding orchestration file is generated, and the orchestration file is distributed to each switch in the programmable data plane network to perform orchestration of the network slice corresponding to the service request.
[0060] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
[0061] The communication interface is used for communication between the above electronic device and other devices.
[0062] The memory may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0063] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0064] The implementation methods and beneficial effects of the components of the electronic device in the above embodiments to solve the problems can be seen in Figure 1 The various steps in the illustrated embodiment are implemented, therefore, the specific working process and beneficial effects of the electronic device provided by the embodiment of the present application are not repeated here.
[0065] In another embodiment provided in the present application, a computer-readable storage medium is also provided, in which instructions are stored. When the computer-readable storage medium is executed on a computer, the computer executes the network slicing orchestration method for a programmable data plane network described in any of the above embodiments.
[0066] In another embodiment provided in the present application, a computer program product comprising instructions is also provided. When the computer is executed on a computer, the computer executes the network slicing orchestration method for a programmable data plane network described in any of the above embodiments.
[0067] Those skilled in the art will appreciate that the embodiments in the present application can be provided as methods, systems, or computer program products. Therefore, the embodiments in the present application can be in the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments in the present application can be in the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0068] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented 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 generate instructions for implementing the processes in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0069] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0070] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0071] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the embodiments of the present application.
[0072] Obviously, those skilled in the art can make various changes and modifications to the embodiments in the present application without departing from the spirit and scope of the embodiments in the present application. Thus, if these modifications and variations of the embodiments in the present application fall within the scope of the claims and their equivalents in the embodiments of the present application, the embodiments of the present application are also intended to include these modifications and variations.
Claims
1. A network slice orchestration method for a programmable data plane network, characterized in that: The programmable data plane network includes a plurality of nodes connected by links, the nodes are programmable switches, each programmable switch allows deployment of VNF instances of multiple VNF types, and the method includes: Obtain service requests corresponding to different network slices to be orchestrated, where the corresponding service requests include a sequence of VNF types to be traversed to process the corresponding service, a required maximum routing delay, and a source node and a destination node of each network slice to be orchestrated; For any service request, the configured network cost function, the VNF type sequence to be traversed and the VNF instance of the corresponding VNF type corresponding to the service request, the required maximum routing delay, and the source node and the destination node of each network slice to be orchestrated are used to perform node deployment on the VNF instance of the corresponding VNF type to obtain the optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined according to the total number cost of instance deployment of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated; Based on the optimal routing path and VNF deployment information corresponding to the service request, a corresponding orchestration file is generated, and the orchestration file is distributed to each switch in the programmable data plane network to perform orchestration of the network slice corresponding to the service request.
2. The method according to claim 1, characterized in that The configured network cost function is expressed as: Wherein, N is a set of programmable switches in the programmable data plane network, i is the i-th programmable switch in N; M is a set of VNF types, j is the j-th VNF type in M; represents the set of all instances of the j-th type of VNF deployment, is the total number of instances of the j-th VNF; represents the deployment status of the total number of instances s of the j-th VNF deployed on the j-th programmable switch; F is the set of network slices to be orchestrated, and k is the k-th network slice to be orchestrated in F; is the path of the kth network slice to be orchestrated, which is a sequence of programmable switches; For path Link delay between adjacent programmable switches; Indicates that the kth network slice to be orchestrated passes The routing status of the path; and is the weight coefficient.
3. The method according to claim 1, characterized in that For any service request, the configured network cost function, the VNF type sequence to be traversed and the VNF instance of the corresponding VNF type corresponding to the service request, the required maximum routing delay, and the source node and destination node of each network slice to be orchestrated are used to deploy the VNF of the corresponding VNF type on the node to obtain the optimal routing path and VNF deployment information corresponding to the service request, including: A depth-first search algorithm is used to process multiple nodes with link connections and the source and destination nodes corresponding to each service request to obtain multiple feasible paths corresponding to each network slice to be orchestrated. By randomly combining multiple feasible paths corresponding to each network slice to be orchestrated, an initial path solution set corresponding to different network slices to be orchestrated is obtained; the initial path solution set includes path combinations of different feasible paths corresponding to different network slices to be orchestrated; Traverse any path combination in the initial path solution set, and randomly adjust the current path combination based on the current path combination, the VNF type sequence corresponding to each network slice to be orchestrated, and the VNF instance of the corresponding VNF type, to obtain the VNF deployment information of each network slice to be orchestrated under the adjusted path combination; Using the configured network cost function, the cost of the VNF deployment information of each network slice to be orchestrated under the adjusted path combination is calculated to obtain the cost value corresponding to the VNF deployment information under the adjusted path combination that meets the constraint conditions; A preset three-stage heuristic algorithm is used to process the adjusted path combination corresponding to the target cost value in the obtained cost value to obtain the optimal path combination and corresponding VNF deployment information.
4. The method according to claim 3, characterized in that Based on the current initial path combination, the VNF type sequence corresponding to each network slice to be orchestrated, and the VNF instance of the corresponding VNF type, the path combination is randomly adjusted to obtain the VNF deployment information of each network slice to be orchestrated under the adjusted path combination, including: According to the number of VNF instances contained in each network slice to be orchestrated, the network slices to be orchestrated are sorted from large to small to obtain a sequence of network slices to be orchestrated; Traverse all VNF instances involved in the network slice sequence to be orchestrated and perform the following steps: Deploy the VNF instances involved in the first network slice to be orchestrated in the sequence of network slices to be orchestrated on different nodes according to the path order in the current initial path combination; Check whether the current VNF instances involved in other network slices to be orchestrated except the first network slice to be orchestrated are the same as the deployed VNF instances; If yes, the current VNF instance is deployed on a node that satisfies the order constraint; the node is located after the node of the previously deployed VNF instance; If not, the current VNF instance is deployed on a deployable node corresponding to a degree higher than the preset degree value according to the link connection between nodes, the degree of the nodes, and the usage frequency of the current VNF instance in the sequence of network slices to be orchestrated; After traversing all VNF instances involved in the sequence of network slices to be orchestrated, obtain the VNF deployment information of each network slice to be orchestrated under the adjusted path combination.
5. The method according to claim 3, characterized in that The target cost value is a preset number of low cost values among the obtained cost values; The preset three-stage heuristic algorithm is used to process the adjusted path combination corresponding to the target cost value in the obtained cost value to obtain the optimal path combination and corresponding VNF deployment information, including: If the number of target cost values is less than a preset number threshold, a new path combination solution set is obtained, and the new path combination solution set includes the adjusted path combination corresponding to the target cost value and the adjusted path combination corresponding to the increased target cost value.
6. The method according to claim 3, characterized in that The corresponding service request also includes a target bandwidth of the corresponding network slice to be orchestrated; and the constraint conditions include: The total resource consumption of the VNF instances deployed on each node cannot exceed the initial capacity of the node, and the bandwidth consumption of any adjacent node on the corresponding routing path for the data packets of the service requests for each network slice to be orchestrated cannot exceed the available bandwidth of the corresponding link on the routing path.
7. The method according to claim 1, characterized in that The method further comprises: The optimal routing path is allocated to the source node of each network slice after the orchestration to guide the routing of the data packet of the corresponding service request; the header of the data packet includes the identifier of the network slice corresponding to the corresponding service request, the VNF instance identifier involved in the corresponding network slice and blank source routing information; Among them, when the current node is a source node, the switch fills the optimal routing path into the blank source routing information; when the current node is an intermediate source node, the switch guides the data packet to the VNF functional module deployed on the switch to execute the corresponding VNF instance. After execution, the corresponding VNF instance identifier in the data packet will be removed.
8. A network slice orchestration device for a programmable data plane network, characterized in that: The programmable data plane network includes a plurality of nodes connected by links, the nodes are programmable switches, each programmable switch allows deployment of VNF instances of multiple VNF types, and the device includes: An acquisition unit is used to acquire service requests corresponding to different network slices to be orchestrated, where the corresponding service requests include a sequence of VNF types to be traversed to process the corresponding service, a required maximum routing delay, and a source node and a destination node of each network slice to be orchestrated; A deployment unit is used to deploy nodes of VNFs of corresponding VNF types for any service request by using a configured network cost function, a sequence of VNF types to be traversed corresponding to the service request and VNF instances of corresponding VNF types, a maximum routing delay, and a source node and a destination node of each network slice to be orchestrated, so as to obtain an optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined according to the total number cost of instance deployments of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated; An orchestration unit is used to generate a corresponding orchestration file based on the optimal routing path and VNF deployment information corresponding to the service request, and distribute the orchestration file to each switch in the programmable data plane network to perform orchestration of the network slice corresponding to the service request.
9. An electronic device, characterized in that: The electronic device comprises a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; Memory, used to store computer programs; A processor, for implementing any of the methods described in claims 1-7 when executing a program stored in a memory.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Network slice selection in network systems
CN108432286A
RAN slice deployment method and device based on multiple paths and multiple copies and network controller
CN112165717A
Method and device for deploying network slices
CN112822050A
Network slice arrangement, backup and deployment method capable of ensuring reliability and delay demand
CN116389259A
Intelligent calculation fusion network function unloading method based on energy perception
CN119011392A