CN109921991B - SDN controller deployment method based on Dinkelbach - Google Patents

SDN controller deployment method based on Dinkelbach Download PDF

Info

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
Application number
CN201910031586.0A
Other languages
Chinese (zh)
Other versions
CN109921991A (en
Inventor
邓清勇
黄少波
马玲
王振振
曾艳
田淑娟
朱容
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiangtan University
Original Assignee
Xiangtan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiangtan University filed Critical Xiangtan University
Priority to CN201910031586.0A priority Critical patent/CN109921991B/en
Publication of CN109921991A publication Critical patent/CN109921991A/en
Application granted granted Critical
Publication of CN109921991B publication Critical patent/CN109921991B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

SDN controller deployment method based on Dinkelbach
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 is
Figure GDA0003040675700000031
I.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):
Figure GDA0003040675700000041
Figure GDA0003040675700000042
Figure GDA0003040675700000043
Figure GDA0003040675700000044
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:
Figure GDA0003040675700000045
Figure GDA0003040675700000046
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.
Figure GDA0003040675700000051
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.
Figure GDA0003040675700000057
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:
Figure GDA0003040675700000052
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 as
Figure GDA0003040675700000053
DdFor deployment case XdLower delay overhead, CrdIs deployment case XdLower switch node concentration. Thus for DdLarger and larger CrdDeployment benefits for smaller deployment scenarios
Figure GDA0003040675700000054
The lower the objective function is set to
Figure GDA0003040675700000055
Searching using Dinkelbach
Figure GDA0003040675700000056
The 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 by
Figure GDA0003040675700000061
Wherein
Figure GDA0003040675700000062
The deployment benefit when only 1 switch node is selected as the controller deployment node is shown. Assume controller deploys node vu
Figure GDA0003040675700000063
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:
Figure GDA0003040675700000064
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 is
Figure FDA0003040675690000011
D 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 is
Figure FDA0003040675690000012
Wherein
Figure FDA0003040675690000013
And expressing the deployment benefit, specifically expressing as follows:
Crdis deployment case XdThe lower switch node concentration is specifically represented as:
Figure FDA0003040675690000021
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:
Figure FDA0003040675690000022
Dtrirepresenting a switch node viThe transmission delay is specifically expressed as:
Figure FDA0003040675690000023
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:
Figure FDA0003040675690000024
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:
Figure FDA0003040675690000025
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
CN201910031586.0A 2019-01-14 2019-01-14 SDN controller deployment method based on Dinkelbach Active CN109921991B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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