CN109921991B - SDN controller deployment method based on Dinkelbach - Google Patents
SDN controller deployment method based on Dinkelbach Download PDFInfo
- Publication number
- CN109921991B CN109921991B CN201910031586.0A CN201910031586A CN109921991B CN 109921991 B CN109921991 B CN 109921991B CN 201910031586 A CN201910031586 A CN 201910031586A CN 109921991 B CN109921991 B CN 109921991B
- Authority
- CN
- China
- Prior art keywords
- controller
- deployment
- domain
- node
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention provides a method for deploying an SDN controller based on Dinkelbach. Firstly, abstracting an SDN network topological structure into an undirected graph by obtaining switch node information, forming a parent domain by all nodes, then performing domain division by judging controller capacity conditions, iteratively searching and storing the optimal node positions of controller deployment in the domain by using a Dinkelbach method, and finally determining the deployment positions and the quantity of all controllers under the topological structure. According to the invention, the load condition of the controller is dynamically adjusted according to the size of the domain, the deployment result of inter-domain load balance can be realized, the network flexibility is increased, the utilization rate of the SDN controller is greatly improved, in addition, the Dinkelbach method improves the convergence rate, and the method can be suitable for network topological structures with different scales.
Description
Technical Field
The invention belongs to the field of software defined networks, and particularly relates to a deployment method of a software defined network controller.
Background
Software Defined Networking (SDN) supports centralized Network state control by decoupling a control plane and a data plane, realizes transparency of underlying Network infrastructure to upper layer applications, provides a flexible open interface and Software programming capability for the Network, and can support scheduling and allocation of Network resources as required, thereby effectively solving the problems of blocked resource expansion, poor networking flexibility, difficulty in meeting emerging service requirements and the like faced by the current Network system.
With the expansion of a network topology structure and the increase of network flow, a single SDN controller is limited by aspects such as expansibility and reliability when managing a network, and thus, the network quality under a large-scale network topology structure is difficult to guarantee. Managing deployment locations of multiple SDN controllers for a given network topology is therefore an efficient way to achieve fast network response. In order to solve the SDN controller deployment problem, the deployment problem can be optimized by researching factors such as delay overhead, load, capacity limitation, node similarity and the like in a network structure.
Disclosure of Invention
The invention provides a method for deploying an SDN controller based on Dinkelbach. Dinkelbach is an improved binary search algorithm with a higher convergence rate compared to the binary method.
The deployment of the SDN controller at least comprises the following steps:
step 1: and acquiring the information of the switch nodes and abstracting the SDN network topology structure into an undirected graph. And acquiring the average message sending quantity and the average message sending rate of the nodes of the switch, wherein all the nodes form a parent domain. The parent domain represents a domain containing all switch nodes under the current SDN network topology structure, and other domains obtained by dividing the parent domain are sub-domains. Since the SDN controller is generally selected to be deployed on a certain switch node when the SDN controller is deployed, a node with the optimal controller deployment generated in any sub-domain in an iterative process is hereinafter referred to as an optimal deployment node, and a node that ultimately determines to deploy the controller is referred to as a controller deployment node. The initialization controller deploys node information, including location information and quantity information.
Step 2: it is determined whether the domain satisfies the controller capacity condition. If the controller capacity condition is met, go to step 4, otherwise go to step 3.
And step 3: and for each domain, searching for the optimal node deployed in the domain based on the deployment benefits, dividing the domain according to the association condition of the optimal node deployed, and recording the information of the optimal node deployed. The method specifically comprises the following substeps:
step 3.1: deleting original optimal node deployment information of the domain, and adding 1 to the total number of the nodes of the controller;
step 3.2: optionally, 2 switch nodes are used as a possible controller deployment situation to generate all possible deployment situations;
step 3.3: calculating the time delay overhead of each deployment situation;
step 3.4: calculating the switch node concentration of each deployment situation;
step 3.5: calculating deployment benefits, and searching for deployment conditions for deploying optimal nodes through Dinkelbach;
step 3.6: dividing the domain into 2 sub-domains according to the association condition of the 2 optimal deployment nodes, and recording the position information and the association information of the 2 optimal deployment nodes;
step 3.7: the 2 sub-fields are returned to step 2.
And 4, step 4: judging whether the domain is a mother domain, and if the domain is the mother domain, executing the step 4.1; if the field is a subdomain, step 4.2 is performed. The method specifically comprises the following substeps:
step 4.1: searching 1 optimal node for deployment in the parent domain, storing the position information and the associated information of the optimal node for deployment, and storing the number of the nodes of the controller as 1;
step 4.2: and 3.6, acquiring and storing the position information and the associated information of the current sub-domain deployment optimal node, finishing the division of the current domain, and entering the step 5 after the division of all the domains is finished.
And 5, outputting the stored controller deployment node position information and quantity information, and finishing deployment.
The invention has the advantages that:
1. when the domain is divided into two domains, the load condition of the controller is dynamically adjusted, the purpose of load balancing can be achieved, the network processing efficiency is improved, the flexibility of the network is improved to a certain extent, and the utilization rate of the SDN controller is improved.
2. The Dinkelbach algorithm is used when the optimal deployment condition is searched, convergence is accelerated, and the advantage of the method is more obvious along with the enlargement of the network scale.
Drawings
FIG. 1 is a flow chart of the invention.
Figure 2 is a parent domain of an SDN network topology.
Fig. 3 is an intra-domain optimal deployment scenario.
Fig. 4 is the result of the first time domain division.
FIG. 5 is the result of the second time domain division.
Fig. 6 is a search result of the optimal controller directly on the parent domain.
Detailed Description
As shown in fig. 1, the method comprises the following specific steps:
step 1: obtaining switch node information and abstracting SDN network topology structure into an undirected graph G (V, L), wherein V is a set of switches in the network, and V is { V ═ V }1,v2,…,vnN is the number of switch nodes in the SDN network structure, L is a link distance matrix between switches, andijrepresenting a switch node viTo the switch node vjThe link distance of (c). Obtaining average message sending rate t of each switch nodeiAnd average message transmission amount uiAll switch nodes constitute a parent domain. Initializing the controller deployment node information, and setting the controller deployment node position information to be null, and setting the number to be 0. It is assumed that the switches used are all OpenFlow switches. The network topologies are shown by fig. 2 to 6, wherein fig. 2 to 5 belong to the same network topology and fig. 6 belongs to another smaller scale network topology.
Step 2: it is determined whether the domain satisfies the controller capacity condition. Assuming that the capacity of each controller to the message volume is D and the domain is SVnow. The capacity condition of the controller isI.e. the controller capacity is not less than the domain SVnowTotal amount of messages in. If the controller capacity condition is met, go to step 4, otherwise go to step 3.
And step 3: and for each domain, searching for the optimal node deployed in the domain based on the deployment benefits, dividing the domain according to the association condition of the optimal node deployed, and recording the information of the optimal node deployed. The method specifically comprises the following substeps:
step 3.1: deleting original optimal node deployment information of the domain, and adding 1 to the total number of the nodes of the controller;
step 3.2: optionally 2 exchanger sectionsThe point acts as a controller node, creating one possible deployment scenario for the controller, and similarly all deployment scenarios within the domain may be created. Assuming the domain is SVnowSV can be recordednowThe set of all possible deployment scenarios within is { X1,X2,…,XmAnd m is the total number of possible deployment cases.
Step 3.3: the delay overhead for each deployment case is calculated.
Defining deployment scenario XdThe delay overhead of (d ═ 1,2, … m) is: dd=Dtu+Dtp。Dtu、DtpRespectively represent deployment scenarios Xd(d ═ 1,2, … m) next 2 controller nodes vu、vpThe overhead of (a). Controller node vu、vpThe overhead representation method is the same with controller node vuFor example, assuming that the processing rate of each controller to the message is H, and given that k is the number of switch nodes in the domain, the controller node v is represented by the following formulauThe delay overhead of (2):
wherein Dp isiuRepresenting a switch node viAnd controller node vuInter propagation delay, wherein LiuFor switch node viTo the controller node vuControl link length of, LiuCan be obtained by a link distance matrix L in an undirected graph G, and a c tableThe propagation rate of electromagnetic waves is shown, and since the controller is generally selected to be deployed on a certain switch node when the controller is deployed, the controller node v is not calculateduPropagation delay to the present controller, Dpuu=0;DtriRepresenting a switch node viTransmission delay of (u)iAnd tiRespectively a switch node viAverage message sending amount and average message sending rate; dhiRepresenting a switch node viProcessing latency of the transmitted message at the controller. y isiuRepresenting a switch node viAnd controller node vuIs associated with yiu1 denotes a switch node viAnd controller node vuIs associated with yiuDenotes a switch node v by 0iAnd controller node vuAre not associated.
The method of determining the association of a switch node with a controller node is as follows: the total cost from 2 controller nodes in the domain to the switch nodes associated with the controller nodes is required to be minimum, and the following model is established:
Diuand DipRespectively representing switch nodes viTo the controller node vuAnd vpInter-node overhead of (1), wherein DiuCan be expressed as: diu=2·Dpiu+Dtri+Dhi,DipAnd DiuThe expression mode is consistent.Indicating controller load balancing conditions, i.e. controller node vuAmount of messages processed and controller node vpThe absolute value of the difference of the processed message quantity is less than delta (0 < delta < 1) in the occupation ratio of the total message quantity in the domain, and the delta tableThe allowable maximum load difference value accounts for the proportion of the total message volume in the domain, and the lower the delta is, the smaller the load difference value between the domains is, and the better the load balance of the controller is.yiu∈{0,1}And yip=1-yiuMeaning that each switch node can only be associated with 1 of 2 controller nodes. y isuu=1,ypp1 denotes associating a controller node with itself. The association condition of the switch node and the controller node can be obtained through the model.
Step 3.4: the switch node concentration for each deployment case is calculated. Defining deployment scenario XdThe switch node concentration of (d ═ 1,2, … m) is:
where the denominator represents the sum of the link lengths of the 2 controller nodes to the associated switch node, Liu,LipRespectively representing switch nodes viTo the controller node vu,vpThe link length of (c). Since the number k of switch nodes in the domain does not change, the larger the denominator is, the larger the controller node v isuAnd vpThe larger the sum of the link lengths to the switch nodes with which they are associated, results in a switch node concentration of medium CrdAnd (4) descending.
Step 3.5: and calculating deployment benefits, and searching the deployment condition of the optimal deployment node through Dinkelbach to obtain 2 optimal deployment nodes. The deployment benefit is expressed asDdFor deployment case XdLower delay overhead, CrdIs deployment case XdLower switch node concentration. Thus for DdLarger and larger CrdDeployment benefits for smaller deployment scenariosThe lower the objective function is set toSearching using DinkelbachThe 2 controller nodes corresponding to the obtained optimal deployment situation are the optimal deployment nodes, and the result is shown in fig. 3, which represents that the 2 optimal deployment nodes in the domain have been determined.
Step 3.6: and dividing the domain into 2 subdomains according to the association conditions of the 2 optimal nodes for deployment. If the domain is SVnowThe obtained 2 optimal nodes for deployment are vuAnd vpThen SV is setnowDivision into 2 sub-fields SVuAnd SVp. Then will be reacted with vuAnd vpAssociated nodes are respectively divided into SVuAnd SVpIn, e.g. node viIs yiu=1,yipWhen v is equal to 0, v isiDivision into sub-fields SVuAnd (4) the following steps. The first iteration result is shown in fig. 4, the parent domain is divided into 2 sub-domains, and the second iteration result is shown in fig. 5, the 2 sub-domains are divided into 4 sub-domains. And recording the position information and the association condition of the optimal node for deployment.
Step 3.7: the 2 sub-fields are returned to step 2.
And 4, step 4: judging whether the domain is a mother domain, and if the domain is the mother domain, executing the step 4.1; if the field is a subdomain, step 4.2 is performed. The method specifically comprises the following substeps:
step 4.1: the time domain is a mother domain, the network topology structure can be known to be small in scale, and the capacity requirement of the controllers in the domain can be met by deploying 1 controller. 1 optimal controller deployment node is directly searched in the parent domain, and the searching method is Dinkelbach. The search objective function is replaced byWhereinThe deployment benefit when only 1 switch node is selected as the controller deployment node is shown. Assume controller deploys node vu,Representing the switch node concentration when only 1 controller is deployed. Ds=DtuThe delay overhead, Dt, when only 1 controller is deployeduThe expression is as follows:
at this time yiu≡ 1, meaning that the controller deployment node is associated with all switch nodes of the parent domain. An optimal controller deployment node for the parent domain is searched, and an example result is shown in fig. 6. And (5) storing the position information of the optimal controller deployment node, wherein the number of the controller deployment nodes is stored as 1, and entering the step 5.
Step 4.2: if the time domain is a sub-domain, it indicates that a final sub-domain has been obtained through one or more iterations, and the position information of the deployment optimal node of the final sub-domain can be obtained through step 3.6 in the previous iteration, and is used as a controller deployment node, the position information and the association condition are stored, and the division of the current sub-domain is finished. And 3, after all the subdomain partitions are finished, acquiring and storing the quantity information of the controller deployment nodes obtained in the step 3.1, and entering the step 5.
And 5, outputting the stored controller deployment node position and quantity information, and finishing deployment.
Claims (3)
1. A method of deploying an SDN controller, the method comprising at least the steps of:
step 1: abstracting an SDN network topological structure into an undirected graph, acquiring information of each switch, including average message sending quantity and average message sending rate, dividing all nodes into a parent domain, and initializing node information of a controller;
step 2: judging whether the domain meets the capacity condition of the controller, if so, entering a step 4, otherwise, entering a step 3;
and step 3: for each domain, searching for the optimal node deployed in the domain based on the deployment benefits, dividing the domain according to the association condition of the optimal node deployed, and recording the information of the optimal node deployed, specifically comprising the following substeps:
step 3.1: deleting original optimal node deployment information of the domain, and adding 1 to the total number of the nodes of the controller;
step 3.2: optionally, 2 switch nodes are used as a possible controller deployment situation to generate all possible deployment situations;
step 3.3: calculating the time delay overhead of each deployment situation;
step 3.4: calculating the switch node concentration of each deployment situation;
step 3.5: calculating deployment benefits, and searching for deployment conditions for deploying optimal nodes through Dinkelbach;
step 3.6: dividing the domain into 2 sub-domains according to the association condition of the 2 optimal deployment nodes, and recording the position information and the association information of the 2 optimal deployment nodes;
step 3.7: returning 2 sub-fields to step 2;
and 4, step 4: judging whether the domain is a mother domain, if so, executing a step 4.1, otherwise, executing a step 4.2, wherein the specific substeps are as follows:
step 4.1: searching 1 optimal node for deployment in the parent domain, storing the position information and the associated information of the optimal node for deployment, and storing the number of the nodes of the controller as 1;
step 4.2: acquiring and storing the position information and the associated information of the current sub-domain deployment optimal node through the step 3.6, finishing the division of the current domain, and entering the step 5 after the division of all the domains is finished;
and 5: and outputting the position, the quantity information and the associated information of the controller nodes, and finishing the deployment.
2. The method of claim 1, wherein the controller capacity condition in step 2 is an iterative determination condition, and the controller is configured to deploy the SDN controllerThe capacity condition isD represents the capacity of the controller to the message volume, and the domain is SVnowI.e. the controller capacity is not less than the domain SVnowAverage total message size, uiIs a switch node viAverage message transmission amount.
3. The SDN controller deployment method of claim 1, wherein the objective function of Dinkelbach search in step 3.5 isWhereinAnd expressing the deployment benefit, specifically expressing as follows:
Crdis deployment case XdThe lower switch node concentration is specifically represented as:
k is the number of switch nodes in the domain, Liu,LipRespectively representing switch nodes viTo the controller node vu,vpLink length of yiu,yipRespectively representing switch nodes viAnd controller node vu,vpThe association of (2);
Ddfor deployment case XdOverhead of Dd=Dtu+Dtp,Dtu、DtpRespectively represent deployment scenarios XdThe next 2 controller nodes vu、vpOverhead of where DtuThe concrete expression is as follows:
Dtrirepresenting a switch node viThe transmission delay is specifically expressed as:
wherein u isiAnd tiRespectively a switch node viAverage message sending amount and average message sending rate;
Dhirepresenting a switch node viThe processing delay of the sent message at the controller is specifically expressed as:
wherein, H is the processing rate of the controller to the message;
Dpiurepresenting a switch node viAnd controller node vuThe propagation delay of (a) is specifically expressed as:
wherein c represents an electromagnetic wave propagation rate;
similarly, according to DtuThe calculation formula of (a) obtains the node v of the controllerpCost Dt ofp。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910031586.0A CN109921991B (en) | 2019-01-14 | 2019-01-14 | SDN controller deployment method based on Dinkelbach |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910031586.0A CN109921991B (en) | 2019-01-14 | 2019-01-14 | SDN controller deployment method based on Dinkelbach |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109921991A CN109921991A (en) | 2019-06-21 |
CN109921991B true CN109921991B (en) | 2021-06-04 |
Family
ID=66960250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910031586.0A Active CN109921991B (en) | 2019-01-14 | 2019-01-14 | SDN controller deployment method based on Dinkelbach |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109921991B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111181792B (en) * | 2019-12-31 | 2023-04-07 | 中移(杭州)信息技术有限公司 | SDN controller deployment method and device based on network topology and electronic equipment |
CN114374427A (en) * | 2022-01-19 | 2022-04-19 | 苏州全时空信息技术有限公司 | Dynamic deployment method and system of controller in software-defined medium and low orbit satellite network |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515987A (en) * | 2015-12-02 | 2016-04-20 | 西安电子科技大学 | SDN framework based virtual optical network oriented mapping method |
CN105656771A (en) * | 2014-11-12 | 2016-06-08 | ***通信集团公司 | Service path determining method, device and system |
US9596141B2 (en) * | 2013-03-15 | 2017-03-14 | Cisco Technology, Inc. | Representing software defined networks using a programmable graph model |
US10057112B2 (en) * | 2016-03-24 | 2018-08-21 | Ca, Inc. | Fault detection of service chains in a SDN/NFV network environment |
CN108551406A (en) * | 2018-04-24 | 2018-09-18 | 福州大学 | A kind of software definition mobile radio network channel division method based on load balancing |
CN108777636A (en) * | 2018-05-25 | 2018-11-09 | 陕西师范大学 | A kind of multi-controller Optimization deployment method of robust in software defined network |
CN108923979A (en) * | 2018-07-11 | 2018-11-30 | 重庆邮电大学 | Software defined network mapping method of virtual network |
-
2019
- 2019-01-14 CN CN201910031586.0A patent/CN109921991B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9596141B2 (en) * | 2013-03-15 | 2017-03-14 | Cisco Technology, Inc. | Representing software defined networks using a programmable graph model |
CN105656771A (en) * | 2014-11-12 | 2016-06-08 | ***通信集团公司 | Service path determining method, device and system |
CN105515987A (en) * | 2015-12-02 | 2016-04-20 | 西安电子科技大学 | SDN framework based virtual optical network oriented mapping method |
US10057112B2 (en) * | 2016-03-24 | 2018-08-21 | Ca, Inc. | Fault detection of service chains in a SDN/NFV network environment |
CN108551406A (en) * | 2018-04-24 | 2018-09-18 | 福州大学 | A kind of software definition mobile radio network channel division method based on load balancing |
CN108777636A (en) * | 2018-05-25 | 2018-11-09 | 陕西师范大学 | A kind of multi-controller Optimization deployment method of robust in software defined network |
CN108923979A (en) * | 2018-07-11 | 2018-11-30 | 重庆邮电大学 | Software defined network mapping method of virtual network |
Non-Patent Citations (1)
Title |
---|
《基于流量监控的网络性能优化关键技术研究》;蒋红艳;《中国博士学位论文全文数据库信息科技辑》;20130715;I139-7 * |
Also Published As
Publication number | Publication date |
---|---|
CN109921991A (en) | 2019-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109921991B (en) | SDN controller deployment method based on Dinkelbach | |
CN108684046B (en) | Random learning-based access network service function chain deployment method | |
CN115022937B (en) | Topological feature extraction method and multi-edge cooperative scheduling method considering topological features | |
CN111371856B (en) | Cloud computing task scheduling method and device, cloud computing system and server | |
CN113033800A (en) | Distributed deep learning method and device, parameter server and main working node | |
CN112543151B (en) | SDN controller deployment method and device, electronic equipment and storage medium | |
CN116541106B (en) | Computing task unloading method, computing device and storage medium | |
CN112702186B (en) | Multi-controller deployment method and terminal in SD-WAN environment | |
CN113472671B (en) | Method, device and computer readable storage medium for determining multicast route | |
CN115529316A (en) | Micro-service deployment method based on cloud computing center network architecture | |
CN114466407B (en) | Network slice arrangement algorithm based on particle swarm inheritance | |
Verstraete et al. | Consistent iterative algorithm for stochastic dynamic traffic assignment with a stable route set | |
CN112073983A (en) | Wireless data center network topology optimization method and system based on flow prediction | |
WO2017016417A1 (en) | System control method and device, controller and control system | |
Liu et al. | [Retracted] Emergency Scheduling Optimization Simulation of Cloud Computing Platform Network Public Resources | |
CN115509715A (en) | Distributed task scheduling method and device and electronic equipment | |
Gao et al. | The multi-objective cloud tasks scheduling based on hybrid particle swarm optimization | |
CN115809148A (en) | Load balancing task scheduling method and device facing edge computing | |
Wang et al. | Decentralized scheduling with data locality for data-parallel computation on peer-to-peer networks | |
CN110933728B (en) | Mapping method, device and storage medium of virtualized wireless sensor network | |
CN113608830A (en) | VNF migration method and device based on fault prediction | |
CN114815886A (en) | Cluster unmanned aerial vehicle obstacle avoidance method and system based on block chain and genetic algorithm | |
JP6894408B2 (en) | Linked virtual network allocation method and equipment | |
CN112948087A (en) | Task scheduling method and system based on topological sorting | |
JP5675498B2 (en) | Network partitioning method, apparatus and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |