Method and apparatus for sdn controller deployment under mixed-band control
By optimizing the controller deployment of the SDN system through the improved NSGA-Ⅲ algorithm, the optimization problems of network latency, load difference and bootstrap time under the hybrid frequency band control mode are solved, and the deployment of low latency and load balancing SDN system is realized.
Patent Information
- Application Number
- CN202411623675.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-14
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2044-11-14
AI Technical Summary
Existing SDN systems with hybrid frequency band control modes are difficult to meet the actual application requirements in controller deployment and fail to effectively optimize network latency, load variability and bootstrap time.
The third-generation non-dominated sorting genetic algorithm (NSGA-Ⅲ) is combined with feasible solution construction algorithm, crossover mutation algorithm, isolated node removal algorithm, and random intervention and reference point update algorithm to optimize the controller deployment of SDN system. By taking network latency, load difference and bootstrapping time as optimization objectives and cost as constraint, the optimal solution of Pareto front is determined.
The deployment of the SDN controller has been effectively optimized to meet the requirements of low latency, load balancing and bootstrap time, thereby improving the overall performance of the system.
Smart Images

Figure CN119788526B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer network, and particularly relates to a SDN controller deployment method and device under hybrid frequency band control. BACKGROUND
[0002] With the continuous expansion of modern network scale, SDN (Software-Defined Networking) emerges as the times require. As a new type of network architecture, it separates network control and data forwarding, and uses software to realize network control. Delay and control model are two key elements of flow transmission in SDN. First, SDN technology needs to support high-performance data forwarding, which means that network devices must have high processing power and low delay. Second, SDN technology needs to support large-scale network environment, which means that network controllers must have strong scalability and high availability.
[0003] Among them, there are two control modes for traffic transmission between controllers and switches, which are in-band control and out-of-band control. The in-band control mode uses a service network to transmit control messages; the out-of-band control mode uses a separate control network to transmit control messages, and further transmits them to the service network through some direct links between the two networks. However, due to the limitations of the two control modes, the hybrid band control model based on the two models has better application prospects.
[0004] Under the hybrid frequency band control mode, part of the switches need to be directly connected to the control network. These switches send their control signals to the control network through the control service connection in the out-of-band control mode. Other switches are not directly connected to the control network, and their control signals are transmitted to the switches with control signal connection through the data plane, and further sent to the control network. In this mode, the deployment of the controller needs to be planned. However, the current research only defines a single target for optimization, which leads to the fact that the SDN system cannot meet the actual application requirements. SUMMARY
[0005] The present application provides a SDN controller deployment method and device under hybrid frequency band control, which solves the defect that the SDN system under the hybrid frequency band control mode in the prior art is difficult to meet the actual application requirements.
[0006] The present application provides a SDN controller deployment method under hybrid frequency band control, which comprises the following steps:
[0007] The network delay, load difference and bootstrap time of the SDN system are taken as optimization targets, and the cost is taken as a constraint condition to determine the objective function;
[0008] The third generation non-dominated sorting genetic algorithm, the feasible solution construction algorithm, the crossover mutation algorithm, the isolated node removal algorithm, and the random intervention and reference point updating algorithm are used to solve the target function, and the optimal solution of the Pareto front is determined.
[0009] The optimal solution of the Pareto front is used as the controller deployment scheme of the SDN system, and the controller of the SDN system is deployed.
[0010] Optionally, the third generation non-dominated sorting genetic algorithm, the feasible solution construction algorithm, the crossover mutation algorithm, the isolated node removal algorithm, and the random intervention and reference point updating algorithm are used to solve the target function, and the optimal solution of the Pareto front is determined, specifically including:
[0011] A first population is generated by the feasible solution construction algorithm, and each individual in the first population is represented by a set of decision variables;
[0012] A second population is obtained based on the crossover mutation algorithm and the first population;
[0013] The second population is non-dominantly sorted by the third generation non-dominated sorting genetic algorithm, and a reference point is selected based on the non-dominant sorting result, and the target function is standardized to create a reference set, and a third population is obtained based on the reference set;
[0014] The isolated nodes of the third population are removed by the isolated node removal algorithm and the random intervention and reference point updating algorithm, and random effects are intervened to join, and the obtained population is used as the updated first population;
[0015] When the termination condition is reached, the optimal solution of the Pareto front is obtained based on the updated first population; when the termination condition is not reached, the operation of obtaining the second population based on the crossover mutation algorithm and the first population, the non-dominant sorting of the second population by the third generation non-dominated sorting genetic algorithm, the selection of the reference point based on the non-dominant sorting result, the standardization of the target function, the creation of the reference set, and the obtaining of the third population based on the reference set, the removal of the isolated nodes of the third population by the isolated node removal algorithm and the random intervention and reference point updating algorithm, and the intervention of the random effects to join are repeated until the termination condition is reached, and the optimal solution of the Pareto front is obtained based on the updated first population.
[0016] Optionally, the network delay of the SDN system is calculated according to the following formula:
[0017] T t =T trans +T cal
[0018] In the formula, T t represents the network delay of the SDN system, T trans represents the transmission delay of data from the source node to the destination node in the SDN system, T cal represents the calculation delay required by the controller of the SDN system to process data after receiving the data.
[0019] The load difference degree of the SDN system is calculated according to the following formula:
[0020] L=Max(D i )-Min(D i )
[0021] In the formula, D i represents the load of the controller i, Max(D i ) represents the load value of the controller with the highest load, and Min(D i ) represents the load value of the controller with the lowest load.
[0022] The bootstrap time of the SDN system is calculated according to the following formula:
[0023] T B =a+k*Max(d ij )(i∈V S , j∈V C )
[0024] In the formula, T B represents the bootstrap time, a is the minimum delay, k is the linear correlation coefficient, d ij is the number of node hops passed by the shortest path from the controller j to the switch i in the SDN system, V S represents the set of switches of the SDN system, and V C represents the set of controllers of the SDN system.
[0025] Optionally, the first population is generated by a feasible solution construction algorithm, specifically including:
[0026] The topology graph of the SDN system is divided based on connectivity to obtain a set of connected subgraphs;
[0027] For any connected subgraph in the set of connected subgraphs, the number of controllers of the any connected subgraph is calculated according to the preset load and cost;
[0028] Based on the number of controllers of the any connected subgraph, a clustering algorithm is used to determine the controller deployment position of the any connected subgraph;
[0029] Based on the controller deployment position of each connected subgraph in the connected subgraph, the first population is generated.
[0030] Optionally, based on the crossover mutation algorithm and the first population, a second population is obtained, specifically comprising:
[0031] Two parent individuals are selected from the first population, and two offspring individuals are generated based on a crossover probability;
[0032] Based on a preset mutation weight reduction factor, polynomial mutation is performed on the two offspring individuals, and the gene values of the two offspring individuals are updated;
[0033] Based on a preset boundary value range, boundary checking is performed on the updated gene values of the offspring individuals, and the offspring individuals with gene values within the preset boundary value range are taken as individuals of the second population.
[0034] Optionally, by removing isolated nodes algorithm, isolated nodes of the third population are removed, specifically comprising:
[0035] Color information is assigned to each controller, and the connectivity between each controller and other controllers is checked, and the controller which is not connected with other controllers is determined as an isolated node;
[0036] All neighbor nodes of the isolated node are traversed, the isolated node is assigned the same color as any neighbor node, and the individuals in the third population are updated;
[0037] By random intervention and reference point updating algorithm, random influence is added to the third population, specifically comprising:
[0038] Randomly generated individuals are added to the third population;
[0039] After the randomly generated individuals and the third population are merged, the dominated solutions are removed, the non-dominated solutions are retained, and the reference set is updated based on the Das-Dennis method.
[0040] The application also provides an SDN controller deployment device under hybrid frequency band control, comprising the following modules:
[0041] A determination module is configured to determine a target function by taking network delay, load difference and bootstrap time of an SDN system as optimization targets and taking cost as a constraint condition;
[0042] A solution module is configured to solve the target function based on a third-generation non-dominated sorting genetic algorithm, a feasible solution construction algorithm, a crossover mutation algorithm, a remove isolated node algorithm and a random intervention and reference point updating algorithm, and determine optimal solutions of a Pareto front;
[0043] A deployment module is configured to take the optimal solutions of the Pareto front as a controller deployment scheme of the SDN system, and deploy the controllers of the SDN system.
[0044] The application further provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method for deploying an SDN controller under mixed frequency band control according to any one of the above methods when executing the program.
[0045] The application further provides a non-transitory computer readable storage medium, which stores a computer program, wherein the computer program is executable on a processor to implement the method for deploying an SDN controller under mixed frequency band control according to any one of the above methods.
[0046] The application further provides a computer program product, which comprises a computer program, wherein the computer program is executable on a processor to implement the method for deploying an SDN controller under mixed frequency band control according to any one of the above methods.
[0047] The application provides the method and device for deploying an SDN controller under mixed frequency band control, which takes the network delay, load difference degree and bootstrap time of an SDN system as optimization targets, takes cost as a constraint condition, determines a target function, and solves the target function based on a third-generation non-dominated sorting genetic algorithm, a feasible solution construction algorithm, a crossover mutation algorithm, a removal of isolated node algorithm, and a random intervention and reference point updating algorithm, and determines the optimal solution of a Pareto front, so that the SDN controller deployment problem under multi-objective conditions can be effectively optimized, and the requirements of low delay and load balancing can be met. BRIEF DESCRIPTION OF DRAWINGS
[0048] In order to more clearly illustrate the technical solutions in the application or the prior art, the following will briefly introduce the drawings needed in the embodiments or the prior art description. Obviously, the drawings in the following description are some embodiments of the application, and other drawings can be obtained by those skilled in the art without any creative effort on the basis of these drawings.
[0049] Figure 1 The schematic diagram of the mixed frequency band control scenario provided by the related art.
[0050] Figure 2 The flowchart of the method for deploying an SDN controller under mixed frequency band control provided by the application.
[0051] Figure 3 The flowchart of the algorithm RINSGA-III provided by the application.
[0052] Figure 4 The comparison diagram of the Tw topology delay provided by the application.
[0053] Figure 5 The comparison diagram of the Tw topology bootstrap time provided by the application.
[0054] Figure 6 A comparison diagram of load balancing of the Tw topology provided by the present application.
[0055] Figure 7 A comparison diagram of latency of the Cogentco topology provided by the present application.
[0056] Figure 8 A comparison diagram of boot-up time of the Cogentco topology provided by the present application.
[0057] Figure 9 A comparison diagram of load balancing of the Cogentco topology provided by the present application.
[0058] Figure 10 A structure diagram of the SDN controller deployment device under mixed frequency band control provided by the present application.
[0059] Figure 11 A structure diagram of the electronic device provided by the present application. DETAILED DESCRIPTION
[0060] In order to make the objectives, technical solutions and advantages of the present application clearer, the technical solutions in the present application will be described clearly and completely below with reference to the drawings in the present application. Obviously, the described embodiments are some embodiments but not all embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the protection scope of the present application.
[0061] Figure 1 A diagram of the mixed frequency band control scenario provided by the related art is shown in FIG. 1. As shown in FIG. 1, in the out-of-band control mode, all the switches are connected to the control network through the control service connection (dotted line). In the mixed band control mode, part of the switches are directly connected to the control network. This part of the switches sends their control signals to the control network through the control service connection (dotted line) in the out-of-band control mode. The other switches are not directly connected to the control network, and their control signals are transmitted to the switches with control signal connection through the data plane and further sent to the control network. Figure 1
[0062] In the embodiments of the present application, the optimization target is to minimize the total network delay, load difference and boot-up time, and the mode also considers the cost budget.
[0063] The main idea and basic method of the embodiments of the present application are as follows: placing the controller at a proper position, determining the management of the controller to the switches, selecting the switches in the out-of-band control mode, and selecting the nodes (switches or controllers) to be connected to the above switches in the mixed band control mode.
[0064] Figure 2 is a flowchart of the method for deploying the SDN controller under mixed frequency band control provided by the present application, as shown in Figure 2 The method comprises the following steps:
[0065] Step 200: Taking the network delay, load difference and bootstrap time of the SDN system as optimization targets, and taking the cost as a constraint condition, a target function is determined.
[0066] Step 201: Based on the third generation non-dominated sorting genetic algorithm, the feasible solution construction algorithm, the crossover mutation algorithm, the isolated node removal algorithm, and the random intervention and reference point updating algorithm, the target function is solved to determine the optimal solution of the Pareto front.
[0067] Step 202: The optimal solution of the Pareto front is taken as the controller deployment scheme of the SDN system, and the controller of the SDN system is deployed.
[0068] Specifically, in the embodiment of the present application, the network delay, load difference and bootstrap time of the SDN system are taken as optimization targets, and the cost is taken as a constraint condition.
[0069] In some embodiments, for the total network delay, it is a more perfect method to comprehensively consider the transmission delay and the processing delay. The transmission delay is determined by the path. For the processing delay, due to the burstiness of the message transmission, the arrival of the data packet in the network does not obey the Poisson distribution, but the arrival process of the session flow is a Poisson flow, so the arrival mode of the first packet of all flows is also a Poisson flow, and the Packet-in packet of each switch is the first data packet of all flows, so the arrival process of the Packet-in packet in each switch follows the Poisson distribution. The Packet-in packet flow at the input end of the controller is composed of the Packet-in packet flows sent by all routers, which can be regarded as the composition of multiple Poisson flows. Assuming that the Packet-in packet flows sent by each router are independent of each other, according to the Poisson flow composition theorem, the Packet-in packet flow of the controller is still a Poisson flow. Then the queuing theory model M / M / 1 can be applied to consider the processing time delay.
[0070] Alternatively, the network delay of the SDN system is calculated according to the following formula:
[0071] T t =T trans +T cal
[0072] In the formula, T t represents the network delay of the SDN system, T trans represents the transmission delay of the data from the source node to the destination node in the SDN system, and T calThis represents the computational latency required for the controller of an SDN system to process data after receiving it.
[0073] In some implementations, the load variability is generally measured by the number of switches handled by each controller. The overall system load variability f is obtained by subtracting the controller with the fewest load nodes from the controller with the most load nodes, as shown in the following formula:
[0074] f = Max(w) i )-Min(w i )
[0075] Among them, w i This represents the number of switching nodes controlled by controller i in the network.
[0076] In this embodiment of the invention, to comprehensively consider the load, it can be refined into the control traffic load brought to the controller by different switches in the system. In practical applications of SDN, the controller load mainly consists of processing Packet-In packets sent by switches, installing flow table entries, maintaining network views, and communication between controllers. Since processing Packet-In packets requires calculating forwarding paths, which is a very time-consuming and resource-intensive process, its load proportion is much larger than the other three parts. Therefore, this embodiment of the invention uses the number of Packet-In packets received by the controller from the switches per unit time as the controller load. The load D of controller j j As shown in the following formula:
[0077]
[0078] Among them, S i m is the number of Packet-In packets sent by switch i per unit time. j,i This indicates the membership relationship between switch i and controller j.
[0079] Optionally, the load differential of the SDN system is calculated according to the following formula:
[0080] L = Max(D) i )-Min(D i )
[0081] In the formula, D i This represents the load of controller i, Max(D) i Min(D) represents the highest load value of the controller. i ) indicates the controller load value with the lowest load.
[0082] In some embodiments, the boot-up time is not proposed as a measurement in previous research, but it is found to be an important indicator for choosing between in-band and out-of-band architecture in the present research.
[0083] When OpenFlow controls in in-band mode, the control traffic and data traffic of the deployed controller are transmitted on the same channel (in-band mode). It is complex to implement this in-band mode because the switch must search and establish a path to the controller through other switches in the network (i.e., boot-up). The boot-up time and the topology type are closely related. In the case of a given linear topology and mesh topology, the boot-up time and the number of node hops of the shortest path from the controller to the switch are linearly related. When the network topology is a star topology, the boot-up time changes within the limit of the processing capacity of the controller and can be ignored, and when the processing capacity of the controller is exceeded, the boot-up time increases exponentially, which is related to the processing accumulation of packet-in. Overall, it can be considered that the boot-up time of the controller is linearly related to the number of node hops of the shortest path from the controller to the switch.
[0084] Optionally, the boot-up time of the SDN system is calculated according to the following formula:
[0085] T B =a+k*Max(d ij )(i∈V S , j∈V C )
[0086] In the formula, T B represents the boot-up time, a is the minimum delay, k is the linear correlation coefficient, d ij is the number of node hops of the shortest path from the controller j to the switch i in the SDN system, V S represents the set of switches of the SDN system, and V C represents the set of controllers of the SDN system.
[0087] Therefore, the network delay, load difference, and boot-up time of the SDN system can be taken as optimization objectives, and the cost can be taken as a constraint condition to determine the objective function.
[0088] In order to solve the objective function, the third generation of non-dominated sorting genetic algorithm (Reference-point Based Non-dominated Sorting Genetic Algorithm, NSGA-III) is selected as the improved basic algorithm in the embodiments of the present application.
[0089] First, the algorithm process of NSGA-III is briefly introduced. The traditional NSGA-III algorithm includes the following steps:
[0090] 1. Initialize population: Randomly generate an initial population containing multiple individuals (solutions), each represented by a set of decision variables.
[0091] 2. Non-dominated sorting: Perform non-dominated sorting on the individuals in the initial population, dividing them into different ranks (levels), where the first rank contains non-dominated solutions on the Pareto front, the second rank contains solutions dominated by the first rank, and so on.
[0092] 3. Crossover and mutation: Use crossover operations to generate one or more offspring solutions from two parent solutions. Use mutation operations to make small random changes to the decision variables of individuals to increase the diversity of the population.
[0093] 4. Merge population: Merge the newly generated offspring population with the parent population to form a new population (size 2N).
[0094] 5. Environmental selection: If the size of the merged population exceeds the desired size (N), use a selection strategy to select N individuals from the merged population as the next generation population. NSGA-III uses a reference point-based selection mechanism that calculates the distance between individuals and reference points to select individuals to ensure uniform distribution of solutions on the Pareto front.
[0095] 6. Check termination condition: Check if the termination condition is met (such as reaching the maximum number of iterations or meeting other convergence criteria). If the termination condition is not met, return to step 2 and continue the next generation evolution.
[0096] 7. Output results: If the termination condition is met, output the set of high-quality solutions found on the Pareto front as the output of the algorithm.
[0097] The pseudo-code of the NSGA-III algorithm is as follows:
[0098]
[0099]
[0100] On the basis of traditional NSGA-III, the algorithm is improved at different stages of solving by feasible solution construction algorithm, crossover and mutation algorithm, isolated node removal algorithm, and random intervention and reference point updating algorithm, which can make the algorithm have the ability to solve three optimization objectives at the same time.
[0101] After determining the optimal solution of the Pareto front according to the improved NSGA-III algorithm, the optimal solution of the Pareto front can be used as the controller deployment scheme of the SDN system, and the controller of the SDN system can be deployed.
[0102] The application provides a mixed-band controlled SDN controller deployment method, which takes network delay, load difference and bootstrap time of an SDN system as optimization targets, takes cost as a constraint condition, determines a target function, and solves the target function based on a third-generation non-dominated sorting genetic algorithm, a feasible solution construction algorithm, a crossover mutation algorithm, a removal of isolated node algorithm, and a random intervention and reference point updating algorithm, and determines an optimal solution of a Pareto frontier, so that the SDN controller deployment problem under a multi-objective condition can be effectively optimized, and the requirements of low delay, load balancing and the like can be met.
[0103] Optionally, the target function is solved based on the third-generation non-dominated sorting genetic algorithm, the feasible solution construction algorithm, the crossover mutation algorithm, the removal of isolated node algorithm, and the random intervention and reference point updating algorithm, and the optimal solution of the Pareto frontier is determined, and specifically includes the following steps.
[0104] A first population is generated through the feasible solution construction algorithm, and each individual in the first population is represented by a set of decision variables.
[0105] A second population is obtained based on the crossover mutation algorithm and the first population.
[0106] The second population is non-dominantly sorted through the third-generation non-dominated sorting genetic algorithm, and a reference point is selected based on the non-dominantly sorted result, the target function is standardized, a reference set is created, and a third population is obtained based on the reference set.
[0107] Isolated nodes of the third population are removed and random influences are intervened through the removal of isolated node algorithm and the random intervention and reference point updating algorithm, and the obtained population is taken as an updated first population.
[0108] When a termination condition is reached, the optimal solution of the Pareto frontier is obtained based on the updated first population; when the termination condition is not reached, the operation of obtaining the second population based on the crossover mutation algorithm and the first population, non-dominantly sorting the second population through the third-generation non-dominated sorting genetic algorithm, selecting the reference point based on the non-dominantly sorted result, standardizing the target function, creating the reference set, obtaining the third population based on the reference set, removing the isolated nodes of the third population and intervening the random influences through the removal of isolated node algorithm and the random intervention and reference point updating algorithm, and taking the obtained population as the updated first population is repeated until the termination condition is reached, and the optimal solution of the Pareto frontier is obtained based on the updated first population.
[0109] Specifically, as described above, the algorithm NSGA-III is improved in the embodiment of the application, and the basic principle of the improved algorithm will be introduced next. The improved multi-objective evolutionary algorithm needs to have the ability to solve three optimization targets at the same time, and for this purpose, the algorithm adds corresponding improvement mechanisms in different stages of algorithm solving.
[0110] First, a first population (i.e., an initial population, or an initial feasible solution) is generated by a feasible solution construction algorithm, each individual in the first population being represented by a set of decision variables.
[0111] Optionally, the first population is generated by the feasible solution construction algorithm, specifically comprising:
[0112] The topology graph of the SDN system is divided based on connectivity to obtain a set of connected subgraphs;
[0113] For any connected subgraph in the set of connected subgraphs, the number of controllers of the connected subgraph is calculated according to a preset load and cost;
[0114] Based on the number of controllers of the connected subgraph, a clustering algorithm is used to determine the deployment location of the controllers of the connected subgraph;
[0115] Based on the deployment location of the controllers of each connected subgraph in the connected subgraph, the first population is generated.
[0116] Specifically, in the process of initializing the feasible solution, the coverage degree and accuracy of the initial feasible solution are comprehensively considered. In the past, the fireworks algorithm mostly adopts a random feasible solution. Considering the particularity of the topology scene, the importance of the location of the controller is obvious and varies. The weight of the controller placed in the more central position should be obviously higher than that of other positions. In addition, considering the connectivity of the graph, the patent proposes an initialization scheme for the solution. After calculating the number of controllers according to the load and the actual situation, a clustering algorithm is used to initialize the position of the topology graph, and the position is used as the position of the controller in the initial feasible solution.
[0117] The pseudo code of the feasible solution construction algorithm is as follows:
[0118]
[0119]
[0120] After the first population is generated, a second population can be obtained based on a crossover mutation algorithm and the first population.
[0121] Optionally, the second population is obtained based on the crossover mutation algorithm and the first population, specifically comprising:
[0122] Two parent individuals are selected from the first population, and two child individuals are generated based on a crossover probability;
[0123] Based on a preset mutation weight reduction factor, a polynomial mutation is performed on the two child individuals to update the gene values of the two child individuals;
[0124] Based on the preset boundary value range, the gene values of the updated offspring individuals are checked, and the offspring individuals with the gene values within the preset boundary value range are taken as the individuals of the second population.
[0125] Specifically, for the crossover mutation problem of the operator, a large number of 01 variables are contained in the original solution space, the variables are directly negated in the process of generating offspring to improve the calculation speed, and different mutation strategies are used for different segments. The genetic operator is essentially a mutation operation on the graph abstracted into a one-dimensional solution set. Considering that the solution can be divided into three parts, the first part uses the original polynomial mutation as the position, the second part uses the polynomial mutation with a moderate value of the distance weight reduction, and the third part uses the polynomial mutation with a connection number weight reduction.
[0126] For the binary crossover polynomial mutation, the algorithm pseudo code is as follows:
[0127]
[0128]
[0129] After obtaining the second population through the crossover mutation algorithm, the third generation non-dominated sorting genetic algorithm is used to perform non-dominated sorting on the second population, select reference points based on the non-dominated sorting result, standardize the objective function, create a reference set, and obtain the third population based on the reference set. The specific process can be referred to the NSGA-III algorithm process, which will not be described here.
[0130] After obtaining the reference set and the third population, the isolated node removal algorithm and the random intervention and reference point updating algorithm can be used to remove the isolated nodes of the third population and intervene to add random influence.
[0131] Optionally, the isolated nodes of the third population are removed through the isolated node removal algorithm, and the specific process includes:
[0132] Color information is assigned to each controller, and the connectivity between each controller and other controllers is checked, and the controller that is not connected with other controllers is determined as an isolated node.
[0133] All neighbor nodes of the isolated node are traversed, the isolated node is assigned the same color as any neighbor node, and the individual in the third population is updated.
[0134] Specifically, in the SDN scenario, the placement position of the controller must consider the connectivity and isolated node problems. That is, after the offspring solution is generated, there may be a problem that a certain switch is in another control domain, which causes a cross-domain problem, which is not conducive to the delay of the switch connection and the flow table distribution. Therefore, the embodiment of the present application proposes an isolated node removal algorithm.
[0135] In the algorithm for removing isolated nodes, color information needs to be assigned to each controller, and the connectivity between each controller and other controllers is checked to determine the controllers that are not connected to other controllers as isolated nodes.
[0136] After the encouraged nodes are obtained, all neighbor nodes of the isolated nodes are traversed, the isolated nodes are assigned the same color as any neighbor node, and the individuals in the third population are updated.
[0137] The algorithm for removing isolated nodes is applied in each iteration process, and the node correction is performed on the mutated offspring solutions to remove and combine the isolated solutions into non-isolated solutions.
[0138] The pseudo code of the algorithm for removing isolated nodes is as follows:
[0139]
[0140]
[0141] Optionally, the third population is intervened to add random influence by using a random intervention and reference point updating algorithm, which specifically includes the following steps.
[0142] A randomly generated individual is added to the third population;
[0143] After the randomly generated individual is combined with the third population, the dominated solutions are removed, the non-dominated solutions are retained, and the reference set is updated based on the Das-Dennis method.
[0144] Specifically, for each generation of offspring, the traditional algorithm uses a selection mechanism based on reference points to select individuals by calculating the distance between individuals and reference points to ensure the uniform distribution of solutions on the Pareto front. In the SDN scenario, the solution set has high dimensions, and the mutation effect is more difficult to guarantee compared to other scenarios, that is, it is difficult to obtain points on the Pareto front or similar points, so it is not enough to only use the selection mechanism based on reference points to achieve the uniform distribution on the Pareto front. Therefore, the embodiment of the present application introduces a part of solutions with a number that is negatively related to the number of iterations as random solutions into the process of selecting the next generation, so as to maintain the uniform distribution of solutions in the scenario with low mutation success rate. In addition, the reference point set is updated in real time to reflect the shape of the current Pareto front.
[0145] wherein the number of random solutions is determined by alpha, iter is a coefficient that decreases with the increase of the number of iterations, and the formula is as follows:
[0146] alpha = 1 / (iter + 1)
[0147] The pseudo code of the algorithm is as follows:
[0148]
[0149] By removing the isolated nodes of the third population and intervening in the random influence through the removing isolated nodes algorithm and the random intervention and reference point updating algorithm, the obtained population can be taken as the updated first population, and at this time the reference set is also updated.
[0150] In the case where the termination condition is reached, the optimal solution of the Pareto front can be obtained based on the updated first population.
[0151] In the case where the termination condition is not reached, the operation of obtaining the second population based on the crossover mutation algorithm and the first population, performing non-dominated sorting on the second population through the third generation non-dominated sorting genetic algorithm, selecting the reference point based on the non-dominated sorting result, standardizing the objective function, creating the reference set, obtaining the third population based on the reference set, removing the isolated nodes of the third population and intervening in the random influence through the removing isolated nodes algorithm and the random intervention and reference point updating algorithm, and taking the obtained population as the updated first population is repeated until the termination condition is reached, and in the case where the termination condition is reached, the optimal solution of the Pareto front is obtained based on the updated first population.
[0152] The termination condition can be reaching the number of iterations, or the optimal solution reaching a pre-set range, and the specific setting can be determined according to the actual situation.
[0153] The SDN controller deployment method under the mixed frequency band control provided by the present application is further explained through the embodiments in specific application scenarios.
[0154] The present embodiment proposes a three-objective optimization algorithm for the scene in view of the current research status of only single objective optimization for the SDN multi-controller placement problem in the mixed frequency band control scene, which is a comprehensive optimization algorithm taking the comprehensive delay, bootstrap cost and load balancing as three targets. The comprehensive delay comprehensively considers the transmission delay and propagation delay, representing the delay status of the entire system.
[0155] In addition, the present embodiment selects NSGA-III as the improved basic algorithm, proposes the algorithm RINSGA-III, introduces a clustering strategy when initializing feasible solutions, proposes a removing isolated node algorithm for the isolated node problem existing in the SDN scene in the iteration process, introduces a segmented mutation strategy in view of the characteristics that the original crossover mutation problem is not suitable for complex high-dimensional variables. In view of the problem that the offspring solutions cannot be guaranteed to be fully distributed on the Pareto front in the algorithm process, a random solution is added as an intervention to improve the randomness of the algorithm, prevent the evolution direction from being wrong, or the situation of premature convergence to a local solution from occurring. Figure 3 The flowchart of the algorithm RINSGA-III provided by the present application is shown in Figure 3 The pseudo code is as follows:
[0156]
[0157]
[0158] The simulation experiment is carried out by Python language, and the comparison algorithms include:
[0159] S-MOFWA algorithm based on S metric, original NSGA-III algorithm, MaOSCA algorithm based on information feedback, and improved FWA algorithm for delay.
[0160] In order to evaluate the performance of the algorithm proposed in the embodiment, the conditions of the simulation experiment are as follows:
[0161] Network topology: Tw topology: real network topology KDL from the dataset "The Internet Topology Zoo", with a total of 76 nodes and 116 links.
[0162] Cogentco topology: real network topology Cogent from the dataset "The Internet Topology Zoo", with a total of 197 nodes and 245 links.
[0163] Evaluation index: three optimization objectives: comprehensive delay, load balancing and bootstrap cost.
[0164] For the above four algorithms, Python simulation is used, and the simulation program is run ten times for each algorithm under each topology, and the average value is calculated as the simulation result.
[0165] Figure 4 The Tw topology delay comparison schematic diagram provided by the present application is shown in the figure; Figure 5 The Tw topology bootstrap time comparison schematic diagram provided by the present application is shown in the figure; Figure 6 The Tw topology load balancing comparison schematic diagram provided by the present application is shown in the figure; Figure 7 The Cogentco topology delay comparison schematic diagram provided by the present application is shown in the figure; Figure 8 The Cogentco topology bootstrap time comparison schematic diagram provided by the present application is shown in the figure; Figure 9 The Cogentco topology load balancing comparison schematic diagram provided by the present application is shown in the figure.
[0166] As Figures 4-9As shown, the simulation experiment shows that the improved algorithm has obvious promotion effect under three indexes. Taking the minimum Chinnet topology as an example, under the index of delay: the improved algorithm has about 8.61% promotion for the S-MOFWA algorithm, about 9.98% promotion for the NSGA-III algorithm, and about 56% promotion for the MaOSCA algorithm. Under the index of load balancing: the improved algorithm has about 14.62% promotion for the S-MOFWA algorithm, about 43.01% promotion for the NSGA-III algorithm, and about 45.08% promotion for the MaOSCA algorithm. Under the index of bootstrap time, the improved algorithm has about 19.31% promotion for the S-MOFWA algorithm, about 6.92% promotion for the NSGA-III algorithm, and about 5.58% promotion for the MaOSCA algorithm.
[0167] The SDN controller deployment device under hybrid frequency band control provided by the application is described below, and the SDN controller deployment device under hybrid frequency band control described below can be correspondingly referred to the SDN controller deployment method under hybrid frequency band control described above.
[0168] Figure 10 The structure diagram of the SDN controller deployment device under hybrid frequency band control provided by the application is shown in the figure. Figure 10 As shown, the device comprises the following modules:
[0169] The determination module 1400 is configured to determine the target function by taking the network delay, load difference degree and bootstrap time of the SDN system as optimization targets and taking the cost as a constraint condition.
[0170] The solving module 1410 is configured to solve the target function based on the third generation non-dominated sorting genetic algorithm, the feasible solution construction algorithm, the crossover mutation algorithm, the isolated node removal algorithm, and the random intervention and reference point updating algorithm, and determine the optimal solution of the Pareto front.
[0171] The deployment module 1420 is configured to deploy the controller of the SDN system by taking the optimal solution of the Pareto front as the controller deployment scheme of the SDN system.
[0172] Optionally, the solving module 1410 is specifically configured to:
[0173] generate a first population by using the feasible solution construction algorithm; each individual in the first population is represented by a set of decision variables;
[0174] obtain a second population based on the crossover mutation algorithm and the first population;
[0175] The third population is obtained based on the reference set.
[0176] The isolated nodes of the third population are removed and random intervention is added by using the isolated node removing algorithm and the random intervention and reference point updating algorithm, and the obtained population is taken as the updated first population.
[0177] When the termination condition is reached, the optimal solution of the Pareto front is obtained based on the updated first population; when the termination condition is not reached, the operations of obtaining the second population based on the crossover and mutation algorithm and the first population, performing non-dominated sorting on the second population by using the third generation non-dominated sorting genetic algorithm, selecting reference points based on the non-dominated sorting results, normalizing the objective function, creating a reference set, and obtaining the third population based on the reference set, removing the isolated nodes of the third population and adding random intervention by using the isolated node removing algorithm and the random intervention and reference point updating algorithm, and taking the obtained population as the updated first population are repeated until the termination condition is reached, and the optimal solution of the Pareto front is obtained based on the updated first population.
[0178] Optionally, the network delay of the SDN system is calculated according to the following formula:
[0179] T t =T trans +T cal
[0180] In the formula, T t represents the network delay of the SDN system, T trans represents the transmission delay of data from a source node to a destination node in the SDN system, and T cal represents the calculation delay required by the controller of the SDN system to process data after receiving the data.
[0181] The load difference degree of the SDN system is calculated according to the following formula:
[0182] L=Max(D i )-Min(D i )
[0183] In the formula, D i represents the load of the controller i, Max(D i ) represents the load value of the controller with the highest load, and Min(D i ) represents the load value of the controller with the lowest load.
[0184] The bootstrap time of the SDN system is calculated according to the following formula:
[0185] T B= a + k * Max(d ij (i, j) e V x V S , j e V C )
[0186] where T B denotes the bootstrap time, a is the minimum delay, k is the linear correlation coefficient, d ij is the number of node hops of the shortest path from controller j to switch i in the SDN system, V S denotes the set of switches of the SDN system, and V C denotes the set of controllers of the SDN system.
[0187] Optionally, the first population is generated by a feasible solution construction algorithm, specifically including:
[0188] The topology graph of the SDN system is divided based on connectivity to obtain a set of connected subgraphs;
[0189] For any connected subgraph in the set of connected subgraphs, the number of controllers of the connected subgraph is calculated according to the preset load and cost;
[0190] Based on the number of controllers of the connected subgraph, a clustering algorithm is used to determine the controller deployment position of the connected subgraph;
[0191] Based on the controller deployment position of each connected subgraph in the connected subgraph, the first population is generated.
[0192] Optionally, the second population is obtained based on a crossover mutation algorithm and the first population, specifically including:
[0193] Two parent individuals are selected from the first population, and two child individuals are generated based on a crossover probability;
[0194] Based on a preset mutation weight reduction factor, polynomial mutation is performed on the two child individuals to update the gene values of the two child individuals;
[0195] Based on a preset boundary value range, boundary checking is performed on the updated gene values of the child individuals, and the child individuals with gene values within the preset boundary value range are taken as individuals of the second population.
[0196] Optionally, the isolated nodes of the third population are removed by a remove isolated node algorithm, specifically including:
[0197] Color information is assigned to each controller, and the connectivity between each controller and other controllers is checked, and the controllers not connected to other controllers are determined as isolated nodes;
[0198] All neighbor nodes of the isolated nodes are traversed, the isolated nodes are assigned the same color as any neighbor node, and the individuals in the third population are updated.
[0199] By random intervention and updating reference point algorithm, random influence is added to the third population intervention, specifically including:
[0200] Randomly generated individuals are added to the third population;
[0201] After the randomly generated individuals are combined with the third population, the dominated solutions are removed, the non-dominated solutions are retained, and the reference set is updated based on the Das-Dennis device.
[0202] Figure 11 The structure diagram of the electronic device provided by the application is shown in Figure 11 As shown, the electronic device can include a processor 1510, a communications interface 1520, a memory 1530 and a communications bus 1540, wherein the processor 1510, the communications interface 1520 and the memory 1530 communicate with each other through the communications bus 1540. The processor 1510 can call the logical instructions in the memory 1530 to execute the SDN controller deployment method under hybrid frequency band control, which includes:
[0203] Taking the network delay, load difference and bootstrap time of the SDN system as the optimization target and the cost as the constraint condition, a target function is determined;
[0204] Based on the third generation non-dominated sorting genetic algorithm, the feasible solution construction algorithm, the crossover mutation algorithm, the removal of isolated node algorithm, and the random intervention and updating reference point algorithm, the target function is solved to determine the optimal solution of the Pareto front;
[0205] The optimal solution of the Pareto front is used as the controller deployment scheme of the SDN system to deploy the controller of the SDN system.
[0206] In addition, the logic instructions in the memory 1530 described above can be implemented in the form of a software function unit and sold or used as an independent product, and can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in the various embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various media that can store program codes.
[0207] In another aspect, the present application also provides a computer program product, which comprises a computer program, the computer program can be stored on a non-transitory computer readable storage medium, and the computer program can be executed by a processor to enable a computer to execute the SDN controller deployment method under hybrid frequency band control provided by the above-mentioned methods, the method comprising:
[0208] Taking the network delay, load difference degree and bootstrap time of the SDN system as optimization objectives and taking the cost as a constraint condition, a target function is determined;
[0209] Based on the third generation non-dominated sorting genetic algorithm, the feasible solution construction algorithm, the crossover mutation algorithm, the isolated node removal algorithm, and the random intervention and reference point updating algorithm, the target function is solved to determine the optimal solution of the Pareto front;
[0210] The optimal solution of the Pareto front is taken as the controller deployment scheme of the SDN system, and the controller of the SDN system is deployed.
[0211] In another aspect, the present application also provides a non-transitory computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the SDN controller deployment method under hybrid frequency band control provided by the above-mentioned methods, the method comprising:
[0212] Taking the network delay, load difference degree and bootstrap time of the SDN system as optimization objectives and taking the cost as a constraint condition, a target function is determined;
[0213] Based on the third generation non-dominated sorting genetic algorithm, the feasible solution construction algorithm, the crossover mutation algorithm, the isolated node removal algorithm, and the random intervention and reference point updating algorithm, the target function is solved to determine the optimal solution of the Pareto front;
[0214] The optimal solution of the Pareto frontier is taken as a controller deployment scheme of the SDN system, and the controller of the SDN system is deployed.
[0215] The device embodiments described above are merely illustrative, wherein the units described as separate components can or can not be physically separated, and the components displayed as units can or can not be physical units, i.e., can be located in one place, or can be distributed on multiple network units. Part or all of the modules can be selected to achieve the purpose of the embodiment scheme according to actual needs. Those skilled in the art can understand and implement without creative labor.
[0216] Through the description of the above embodiments, those skilled in the art can clearly understand that the embodiments can be realized by means of software plus necessary universal hardware platforms, and of course can also be realized by hardware. Based on such understanding, the above technical solutions can be embodied in the form of software products, and the computer software products can be stored in a computer readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and include a plurality of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute the methods described in each embodiment or some parts of the embodiments.
[0217] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement to part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for deploying a software defined network (SDN) controller under hybrid frequency band control, characterized in that, The application comprises the following steps: Taking network delay, load difference and boot time of the SDN system as optimization targets, and taking cost as a constraint condition, a target function is determined; The target function is solved based on a third generation non-dominated sorting genetic algorithm, a feasible solution construction algorithm, a crossover mutation algorithm, an isolated node removal algorithm, and a random intervention and reference point updating algorithm, to determine optimal solutions of a Pareto front; The optimal solutions of the Pareto front are taken as a controller deployment scheme of the SDN system, and the controller of the SDN system is deployed; The target function is solved based on a third generation non-dominated sorting genetic algorithm, a feasible solution construction algorithm, a crossover mutation algorithm, an isolated node removal algorithm, and a random intervention and reference point updating algorithm, to determine optimal solutions of a Pareto front, and specifically comprises the following steps: A first population is generated by a feasible solution construction algorithm, and each individual in the first population is represented by a set of decision variables; A second population is obtained based on a crossover mutation algorithm and the first population; The second population is non-dominantly sorted by a third generation non-dominated sorting genetic algorithm, and a reference point is selected based on the non-dominantly sorted result, and the target function is standardized to create a reference set, and a third population is obtained based on the reference set; Isolated nodes of the third population are removed by an isolated node removal algorithm, and random intervention is added, and the obtained population is taken as an updated first population; When a termination condition is reached, optimal solutions of a Pareto front are obtained based on the updated first population; when the termination condition is not reached, the operation of obtaining a second population based on a crossover mutation algorithm and the first population, non-dominantly sorting the second population by a third generation non-dominated sorting genetic algorithm, selecting a reference point based on the non-dominantly sorted result, standardizing the target function to create a reference set, obtaining a third population based on the reference set, removing isolated nodes of the third population by an isolated node removal algorithm, and adding random intervention are repeated until the termination condition is reached, and optimal solutions of a Pareto front are obtained based on the updated first population; The network delay of the SDN system is calculated according to the following formula: T t = T trans + T cal In the formula, T t represents the network delay of the SDN system, T trans represents the transmission delay of data from the source node to the destination node in the SDN system, T cal represents the computing delay required by the controller of the SDN system to process the data after receiving the data; The load difference of the SDN system is calculated according to the following formula: L = Max(D i ) - Min(D i ) where D i represents the load of controller i, Max(D i ) represents the highest controller load value, and Min(D i ) represents the lowest controller load value. The boot time of the SDN system is calculated according to the following formula: T B = a + k * Max(d ij )(i∈V S , j∈V C ) In the formula, T B represents the boot time, a is the minimum delay, k is the linear correlation coefficient, d ij is the number of node hops of the shortest path from controller j to switch i in the SDN system, V S represents the switch set of the SDN system, V C represents the controller set of the SDN system.
2. The method of claim 1, wherein, The first population is generated by a feasible solution construction algorithm, and specifically comprises the following steps: A connected subgraph set is obtained by dividing a topology graph of the SDN system based on connectivity; The number of controllers of any connected subgraph in the connected subgraph set is calculated according to a preset load and cost; The deployment position of the controller of the any connected subgraph is determined by using a clustering algorithm based on the number of controllers of the any connected subgraph; The first population is generated based on the deployment position of the controller of each connected subgraph in the connected subgraph.
3. The method of claim 1, wherein, The second population is obtained based on a crossover mutation algorithm and the first population, and specifically comprises the following steps: selecting two parent individuals from the first population, generating two offspring individuals based on a crossover probability; performing polynomial mutation on the two offspring individuals based on a preset mutation weight reduction factor, updating gene values of the two offspring individuals; performing boundary check on the updated gene values of the offspring individuals, and taking offspring individuals with gene values within a preset boundary value range as individuals of the second population.
4. The method of claim 1, wherein, The isolated nodes in the third population are removed by an isolated node removal algorithm, specifically including: allocating color information to each controller, checking connectivity between each controller and other controllers, and determining a controller as an isolated node if the controller is not connected to other controllers; traversing all neighbor nodes of the isolated node, allocating the same color to the isolated node as any neighbor node, and updating individuals in the third population; The third population is intervened to add random influence by a random intervention and reference point updating algorithm, specifically including: adding randomly generated individuals to the third population; After merging the randomly generated individuals with the third population, removing dominated solutions, retaining non-dominated solutions, and updating the reference set based on the Das-Dennis method. 5.A hybrid-band controlled software defined network (SDN) controller deployment apparatus characterized by comprising: including: A determination module is configured to determine a target function by taking network delay, load difference, and bootstrap time of an SDN system as optimization objectives, and taking cost as a constraint condition; A solving module is configured to solve the target function based on a third-generation non-dominated sorting genetic algorithm, a feasible solution construction algorithm, a crossover mutation algorithm, an isolated node removal algorithm, and a random intervention and reference point updating algorithm, and determine optimal solutions of a Pareto front; A deployment module is configured to deploy the optimal solutions of the Pareto front as a controller deployment scheme of the SDN system, and deploy the controllers of the SDN system; The solving module is specifically configured to: generate a first population by a feasible solution construction algorithm; each individual in the first population is represented by a set of decision variables; obtain a second population based on a crossover mutation algorithm and the first population; perform non-dominated sorting on the second population by a third-generation non-dominated sorting genetic algorithm, select a reference point based on a result of the non-dominated sorting, standardize a target function, create a reference set, and obtain a third population based on the reference set; remove isolated nodes in the third population and intervene to add random influence by an isolated node removal algorithm and a random intervention and reference point updating algorithm, and obtain a population as an updated first population; obtain optimal solutions of a Pareto front based on the updated first population in a case where a termination condition is reached. If the termination condition is not reached, repeating the cross variation algorithm and the first population to obtain a second population, the third generation non-dominated sorting genetic algorithm, non-dominated sorting is performed on the second population, and reference points are selected based on the non-dominated sorting result, and the objective function is standardized to create a reference set, and based on the reference set, a third population is obtained, the remove isolated node algorithm and the random intervention and update reference point algorithm, remove the isolated nodes of the third population and intervene to join the random influence, and the obtained population is used as the operation of the updated first population until the termination condition is reached, and based on the updated first population, the optimal solution of the Pareto front is obtained. The network delay of the SDN system is calculated according to the following formula: T t = T trans + T cal In the formula, T t represents the network delay of the SDN system, T trans represents the transmission delay of data from the source node to the destination node in the SDN system, T cal represents the computing delay required by the controller of the SDN system to process the data after receiving the data; The load difference degree of the SDN system is calculated according to the following formula: L = Max(D i ) - Min(D i ) where D i represents the load of controller i, Max(D i ) represents the highest controller load value, and Min(D i ) represents the lowest controller load value. The bootstrap time of the SDN system is calculated according to the following formula: T B = a + k * Max(d ij )(i∈V S , j∈V C ) In the formula, T B represents the boot time, a is the minimum delay, k is the linear correlation coefficient, d ij is the number of node hops of the shortest path from controller j to switch i in the SDN system, V S represents the switch set of the SDN system, V C represents the controller set of the SDN system.
6. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, The processor executes the computer program to realize the SDN controller deployment method under the hybrid frequency band control as claimed in any one of claims 1 to 4.
7. A non-transitory computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to realize the SDN controller deployment method under the hybrid frequency band control as claimed in any one of claims 1 to 4.
8. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to realize the SDN controller deployment method under the hybrid frequency band control as claimed in any one of claims 1 to 4.
Citation Information
Patent Citations
Super multi-target controller placement method based on information entropy perception
CN113452552A
Multi-task processing method based on device priority in photovoltaic 5G base station system
CN114675963A