MODECP: A Multi-Objective Based Approach for Solving Distributed Controller Placement Problem in Software Defined Network
<p>MODECP Approach.</p> "> Figure 2
<p>Cumulative distribution functions for different target states. (<b>a</b>) Performance of different states regarding end-to-end latency. (<b>b</b>) The performance of different states regarding node security. (<b>c</b>) The performance of different states regarding the control node load rate. (<b>d</b>) The performance of different states regarding the link overhead.</p> "> Figure 3
<p>Performance evaluation of different time periods after 0%, 5%, 10%, and 15% link failures in Bellcanada topology. (<b>a</b>) Performance of different link failures in terms of delay. (<b>b</b>) Performance of different link failures in terms of load rate. (<b>c</b>) Performance of different link failures in terms of link overhead.</p> "> Figure 4
<p>The performance of different algorithms under the Bellcanada topology. (<b>a</b>) Performance regarding end-to-end delay; (<b>b</b>) performance regarding node security; (<b>c</b>) performance regarding controlling node load rate; (<b>d</b>) performance regarding link cost.</p> "> Figure 5
<p>The running time of the algorithm.</p> "> Figure 6
<p>The performance of the proposed algorithm under different topologies. (<b>a</b>) performance regarding end-to-end delay; (<b>b</b>) performance regarding node security; (<b>c</b>) performance regarding controlling node load rate; (<b>d</b>) performance regarding link cost.</p> ">
Abstract
:1. Introduction
- (1)
- Determine the number of controllers.
- (2)
- Determine the placement position of the controllers and which controller the switch should be assigned to.
- (1)
- The controller placement problem is effectively solved, and the network delay, network security, controller load rate, and link cost are modeled. At the same time, a multi-objective model to solve the controller placement problem is obtained by weighing multiple objectives.
- (2)
- On the one hand, an improved affinity propagation algorithm is proposed, which integrates the characteristics of network nodes, including delay, switch security, and load. On the other hand, a controller placement approach based on a multi-objective differential evolution algorithm is proposed to optimize performance objectives such as delay, security, load balancing, and link cost.
- (3)
- The proposed method is simulated extensively. We compare it with various single-objective based schemes. In addition, we compare it to the multi-objective based genetic algorithm and the delay-based random placement algorithm. Furthermore, we compare the proposed approach under different topologies. The feasibility and efficiency of MODECP are verified by comparing the performance. In addition, to better evaluate the impact of delay and link state changes on the deployment results, we change the delay calculation parameters and the link failure states predicted using the SVM model to represent the performance of MODECP.
2. Related Works
2.1. Optimization Objectives for Controller Deployment
2.2. Optimization Algorithms for Controller Deployment
3. System Model and Problem Formulation
3.1. System Model
3.1.1. Network Model
3.1.2. Delay Model
3.1.3. Security Model
3.1.4. Load Model
3.1.5. Link Cost Model
3.2. Constraints
3.3. Problem Formulation
3.3.1. Network Partition Subproblem
3.3.2. Controller Placement Subproblem
4. MODECP Approach
4.1. Network Partition Module
Algorithm 1 Network Partition Algorithm | |
Input | , Delay matrix, Security matrix, Load matrix, iteration g |
Output | The number of controllers k |
1 | Computing and setting preference p |
2 | Initialize the responsibility matrix and the availability matrix |
3 | for g0≤ g or cluster center update do |
4 | Iteratively update responsibility and availability according to Equations (24) and (25) |
5 | g0 = g0 + 1 |
6 | end for |
7 | Calculate the number of cluster centers |
8 | return the number of cluster centers |
4.2. Controller Placement Module
Algorithm 2 Initialization of the population | |
Input | k, population size: np, chromosome length: cl, , |
Output | Initial population |
1 | Randomly generate k values in the range [0, cl−1] as controller_set |
2 | Initial Pnull |
3 | for i < np do |
4 | for j < cl do |
5 | Pi,jrandomly choose a value from controller_set |
6 | end for |
7 | Calculate the load of each controller |
7 | if the load of each controller exceeds capacity constraints then |
8 | reproduce Pi,j |
9 | end if |
10 | end for |
11 | return Initial population and the set of controllers |
Algorithm 3 Mutation | |
Input | Population, controller_set, Mutation parameter: F |
Output | New population |
1 | Initial Psnull |
2 | for i < np do |
3 | randomly generate the numbers of the three offspring vectors, |
where | |
4 | |
5 | for j < cl do |
6 | for c < controller_set do |
7 | if chromosome don’t in controller_set then |
8 | randomly select a controller from controller_set as the newly |
owning control node | |
9 | end if |
10 | end for |
11 | end for |
12 | end for |
13 | return mutate population |
Algorithm 4 Crossover | |
Input | Population, mutation population, crossover parameter: cr |
Output | New population |
1 | Initial Psnull |
2 | Randomly generate jrand and a real number r of size (np, cl) between 0 and 1. |
3 | fori < np do |
4 | for j < cl do |
5 | if r(i,j) < cr or j=jrand then |
6 | |
7 | else |
8 | |
9 | end if |
10 | Ps |
11 | end for |
12 | end for |
13 | return crossover population |
Algorithm 5 Selection | |
Input | Population, crossover population |
Output | the better solution |
1 | Initial Psnull |
2 | Calculate the fitness of all individuals in the population |
3 | if < then |
4 | |
5 | else |
6 | |
7 | end if |
8 | return the better solution |
Algorithm 6 Fitness Calculation | |
Input | Chromosome, controller_set |
Output | Fitness |
1 | Calculate D, S, C and L by Equations (5), (8), (10) and (13) |
2 | The fitness is calculated by normalizing to Equation (22) |
3 | return the fitness of chromosome |
5. Simulation Results
5.1. Simulation Environment
- Genetic Algorithm: To ensure the results’ efficiency, the genetic algorithm evaluates fitness based on the same multiple objectives as the proposed algorithm. Genetic algorithms search optimization occurred through continuous iteration of selection, crossover, and mutation. In this comparative experiment, the population size of the genetic algorithm is set to 250, the number of iterations is 200, the mutation factor is 0.8, and the crossover factor is 0.8.
- Random placement algorithm: To ensure the results’ validity, the algorithm randomly generates controller positions and allocates nearby switches according to the principle of minimum delay. The algorithm maintains great randomness and instability without iteration and optimization while the controller positions are selected.
5.2. Simulation Results
5.2.1. Performance Comparisons of Different Objective Models
5.2.2. Performance Comparisons of Different Algorithms
5.2.3. Performance Comparisons on Different Topologies
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Bannour, F.; Souihi, S.; Mellouk, A. Distributed SDN Control: Survey, Taxonomy, and Challenges. IEEE Commun. Surv. Tutor. 2017, 20, 333–354. [Google Scholar] [CrossRef]
- Li, Y.; Chen, M. Software-Defined Network Function Virtualization: A Survey. IEEE Access 2015, 3, 2542–2553. [Google Scholar] [CrossRef]
- Bizanis, N.; Kuipers, F.A. SDN and Virtualization Solutions for the Internet of Things: A Survey. IEEE Access 2016, 4, 5591–5606. [Google Scholar] [CrossRef]
- Chen, T.; Matinmikko, M.; Chen, X.; Zhou, X.; Ahokangas, P. Software defined mobile networks: Concept, survey, and research directions. IEEE Commun. Mag. 2015, 53, 126–133. [Google Scholar] [CrossRef]
- Chahal, M.; Harit, S.; Mishra, K.K.; Sangaiah, A.K.; Zheng, Z. A Survey on software-defined networking in vehicular ad hoc networks: Challenges, applications and use cases. Sustain. Cities Soc. 2017, 35, 830–840. [Google Scholar] [CrossRef]
- Feng, B.; Tian, A.; Yu, S.; Li, J.; Zhou, H.; Zhang, H. Efficient Cache Consistency Management for Transient IoT Data in Content-Centric Networking. IEEE Internet Things J. 2022. [Google Scholar] [CrossRef]
- Feng, B.; Huang, Y.; Tian, A.; Wang, H.; Zhou, H.; Yu, S.; Zhang, H. DR-SDSN: An Elastic Differentiated Routing Framework for Software-Defined Satellite Networks. IEEE Wirel. Commun. 2022, 1–7. [Google Scholar] [CrossRef]
- McKeown, N.; Anderson, T.; Balakrishnan, H.; Parulkar, G.; Peterson, L.; Rexford, J.; Shenker, S.; Turner, J. OpenFlow. ACM SIGCOMM Comput. Commun. Rev. 2008, 38, 69–74. [Google Scholar] [CrossRef]
- Osiński, T.; Tarasiuk, H.; Chaignon, P.; Kossakowski, M. P4rt-OVS: Programming Protocol-Independent, Runtime Extensions for Open vSwitch with P4. In Proceedings of the 2020 IFIP Networking Conference (Networking), Paris, France, 22–25 June 2020; pp. 413–421. [Google Scholar]
- Karakus, M.; Durresi, A. A survey: Control plane scalability issues and approaches in Software-Defined Networking (SDN). Comput. Networks 2017, 112, 279–293. [Google Scholar] [CrossRef] [Green Version]
- Oktian, Y.E.; Lee, S.; Lee, H.; Lam, J. Distributed SDN controller system: A survey on design choice. Comput. Networks 2017, 121, 100–111. [Google Scholar] [CrossRef]
- Ahmad, S.; Mir, A.H. Scalability, Consistency, Reliability and Security in SDN Controllers: A Survey of Diverse SDN Controllers. J. Netw. Syst. Manag. 2020, 29, 9. [Google Scholar] [CrossRef]
- Bianco, A.; Giaccone, P.; Mashayekhi, R.; Ullio, M.; Vercellone, V. Scalability of ONOS reactive forwarding applications in ISP networks. Comput. Commun. 2017, 102, 130–138. [Google Scholar] [CrossRef] [Green Version]
- Bianco, A.; Giaccone, P.; Mahmood, A.; Ullio, M.; Vercellone, V. Evaluating the SDN control traffic in large ISP networks. In Proceedings of the 2015 IEEE International Conference on Communications (ICC), London, UK, 8–12 June 2015; pp. 5248–5253. [Google Scholar] [CrossRef]
- Scott-Hayward, S.; O’Callaghan, G.; Sezer, S. Sdn Security: A Survey. In Proceedings of the 2013 IEEE SDN for Future Networks and Services (SDN4FNS), Trento, Italy, 11–13 November 2013; pp. 1–7. [Google Scholar] [CrossRef] [Green Version]
- Heller, B.; Sherwood, R.; McKeown, N. The controller placement problem. ACM SIGCOMM Comput. Commun. Rev. 2012, 42, 473–478. [Google Scholar] [CrossRef] [Green Version]
- Kuang, H.; Qiu, Y.; Li, R.; Liu, X. A Hierarchical K-Means Algorithm for Controller Placement in SDN-Based WAN Architecture. In Proceedings of the 2018 10th International Conference on Measuring Technology and Mechatronics Automation (ICMTMA), Changsha, China, 10–11 February 2018; pp. 263–267. [Google Scholar] [CrossRef]
- Yao, G.; Bi, J.; Li, Y.; Guo, L. On the Capacitated Controller Placement Problem in Software Defined Networks. IEEE Commun. Lett. 2014, 18, 1339–1342. [Google Scholar] [CrossRef]
- Cai, N.; Han, Y.; Ben, Y.; An, W.; Xu, Z. An Effective Load Balanced Controller Placement Approach in Software-Defined WANs. In Proceedings of the MILCOM 2019—2019 IEEE Military Communications Conference (MILCOM), Norfolk, VA, USA, 12–14 November 2019; pp. 361–366. [Google Scholar] [CrossRef]
- Ksentini, A.; Bagaa, M.; Taleb, T.; Balasingham, I. On using bargaining game for Optimal Placement of SDN controllers. In Proceedings of the 2016 IEEE International Conference on Communications (ICC), Kuala Lumpur, Malaysia, 22–27 May 2016; pp. 1–6. [Google Scholar] [CrossRef]
- Vizarreta, P.; Machuca, C.M.; Kellerer, W. Controller placement strategies for a resilient SDN control plane. In Proceedings of the 2016 8th International Workshop on Resilient Networks Design and Modeling (RNDM), Halmstad, Sweden, 13–15 September 2016; pp. 253–259. [Google Scholar] [CrossRef]
- Ruiz-Rivera, A.; Chin, K.-W.; Soh, S. GreCo: An Energy Aware Controller Association Algorithm for Software Defined Networks. IEEE Commun. Lett. 2015, 19, 541–544. [Google Scholar] [CrossRef]
- Petale, S.; Thangaraj, J. Failure-Based Controller Placement in Software Defined Networks. IEEE Trans. Netw. Serv. Manag. 2019, 17, 503–516. [Google Scholar] [CrossRef]
- Yang, S.; Cui, L.; Chen, Z.; Xiao, W. An Efficient Approach to Robust SDN Controller Placement for Security. IEEE Trans. Netw. Serv. Manag. 2020, 17, 1669–1682. [Google Scholar] [CrossRef]
- Feng, B.; Zhou, H.; Li, G.; Zhang, Y.; Sood, K.; Yu, S. Enabling Machine Learning with Service Function Chaining for Security Enhancement at 5G Edges. IEEE Netw. 2021, 35, 196–201. [Google Scholar] [CrossRef]
- Sanner, J.-M.; Hadjadj-Aoufi, Y.; Ouzzif, M.; Rubino, G. Hierarchical clustering for an efficient controllers’ placement in software defined networks. In Proceedings of the 2016 Global Information Infrastructure and Networking Symposium (GIIS), Porto, Portugal, 19–21 October 2016; pp. 1–7. [Google Scholar] [CrossRef]
- Guo, S.; Yang, S.; Li, Q.; Jiang, Y. Towards Controller Placement for robust Software-Defined Networks. In Proceedings of the 2015 IEEE 34th International Performance Computing and Communications Conference (IPCCC), Nanjing, China, 14–16 December 2015; pp. 1–8. [Google Scholar] [CrossRef]
- Champagne, S.; Makanju, T.; Yao, C.; Zincir-Heywood, N.; Heywood, M. A genetic algorithm for dynamic controller placement in software defined networking. In Proceedings of the Genetic and Evolutionary Computation Conference Companion (GECCO ‘18), Kyoto, Japan, 15–19 July 2018; pp. 1632–1639. [Google Scholar] [CrossRef]
- Killi, B.P.R.; Rao, S.V. Capacitated Next Controller Placement in Software Defined Networks. IEEE Trans. Netw. Serv. Manag. 2017, 14, 514–527. [Google Scholar] [CrossRef]
- Bouzidi, E.H.; Outtagarts, A.; Langar, R.; Boutaba, R. Dynamic clustering of software defined network switches and controller placement using deep reinforcement learning. Comput. Netw. 2022, 207, 108852. [Google Scholar] [CrossRef]
- Wu, Y.; Zhou, S.; Wei, Y.; Leng, S. Deep Reinforcement Learning for Controller Placement in Software Defined Network. In Proceedings of the IEEE INFOCOM 2020—IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), Toronto, ON, Canada, 6–9 July 2020; pp. 1254–1259. [Google Scholar] [CrossRef]
- Mouawad, N.; Naja, R.; Tohme, S. Optimal and Dynamic SDN Controller Placement. In Proceedings of the 2018 International Conference on Computer and Applications (ICCA), Beirut, Lebanon, 25–26 August 2018; pp. 1–9. [Google Scholar] [CrossRef]
- Yu, B.-Y.; Yang, G.; Yoo, C. Comprehensive Prediction Models of Control Traffic for SDN Controllers. In Proceedings of the 2018 4th IEEE Conference on Network Softwarization and Workshops (NetSoft), Montreal, QC, Canada, 25–29 June 2018; pp. 262–266. [Google Scholar] [CrossRef]
- Awan, I.I.; Shah, N.; Imran, M.; Shoaib, M.; Saeed, N. An improved mechanism for flow rule installation in-band SDN. J. Syst. Arch. 2019, 96, 1–19. [Google Scholar] [CrossRef]
- Yeganeh, S.H.; Ganjali, Y. Kandoo: A framework for efficient and scalable offloading of control applications. In Proceedings of the First Workshop on Hot Topics in Software Defined Networks, Helsinki, Finland, 13 August 2012; pp. 19–24. [Google Scholar] [CrossRef] [Green Version]
- Zhang, T.; Bianco, A.; Giaccone, P. The role of inter-controller traffic in SDN controllers placement. In Proceedings of the 2016 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN), Palo Alto, CA, USA, 7–10 November 2016; pp. 87–92. [Google Scholar] [CrossRef] [Green Version]
- Das, T.; Gurusamy, M. Multi-Objective Control Plane Dimensioning in Hybrid SDN/Legacy Networks. IEEE Trans. Netw. Serv. Manag. 2021, 18, 2929–2942. [Google Scholar] [CrossRef]
- Borgatti, S.P. Centrality and network flow. Soc. Netw. 2005, 27, 55–71. [Google Scholar] [CrossRef]
- Barthelemy, M. Betweenness centrality in large complex networks. Eur. Phys. J. B 2004, 38, 163–168. [Google Scholar] [CrossRef]
- Ibrar, M.; Wang, L.; Muntean, G.-M.; Akbar, A.; Shah, N.; Malik, K.R. PrePass-Flow: A Machine Learning based technique to minimize ACL policy violation due to links failure in hybrid SDN. Comput. Netw. 2020, 184, 107706. [Google Scholar] [CrossRef]
- Wang, K.; Zhang, J.; Li, D.; Zhang, X.; Guo, T. Adaptive Affinity Propagation Clustering. arXiv 2008, arXiv:0805.1096. [Google Scholar]
- Knight, S.; Nguyen, H.X.; Falkner, N.; Bowden, R.; Roughan, M. The Internet Topology Zoo. IEEE J. Sel. Areas Commun. 2011, 29, 1765–1775. [Google Scholar] [CrossRef]
- Blenk, A.; Basta, A.; Zerwas, J.; Kellerer, W. Pairing SDN with network virtualization: The network hypervisor placement problem. In Proceedings of the 2015 IEEE Conference on Network Function Virtualization and Software Defined Network (NFV-SDN), San Francisco, CA, USA, 18–21 November 2015; pp. 198–204. [Google Scholar] [CrossRef] [Green Version]
Reference | Objectives | Number of Controllers | Approach |
---|---|---|---|
Reference [17] | the maximum propagation delay between the switches | × | hierarchical K-means algorithm |
the load of controllers | |||
Reference (CCPP) [18] | the maximum propagation delay between the switches | × | the capacitated K-center problem |
the capacity of controllers | |||
Reference (LBCPP) [19] | the load of controllers | × | based on topological potential and minimum cost flow |
the average delay between switches and controllers | |||
Reference [20] | the delay between switches and controllers | √ | bargaining game |
the communication overhead inter-controller | |||
the load of controllers | |||
Reference (RCP-DCP and RCP-DCR) [21] | single-link and node failures | × | Mixed Integer Linear Programming (MILP) |
Reference (GreCo) [22] | the path delays and load of controllers | × | Binary Integer Program (BIP) |
the energy consumption | |||
Reference [23] | multiple-link failures | × | Betweenness Centrality Principle (BCP), Statistical Model (SM), |
worst-case delays | Minimizing Maximum Regret (MMR), Hurwicz Criterion (HC) | ||
Reference [24] | single-link and multi-link failures | × | the heuristic algorithm and the greedy algorithm based on the Monte Carlo Simulation |
Reference [26] | the delay between switches and controllers | √ | hierarchical clustering |
the load of controllers | |||
Reference (CPCNS and CPSLF) [27] | node failures and link failures | × | a network states-traversal-based algorithm and greedy-based algorithm |
Reference [28] | inter-controller delay, load distribution | √ | genetic algorithm |
Reference (CNCP) [29] | worst-case latency | × | simulated annealing heuristic |
multiple controller failures | |||
Reference (DDCP) [30]—Dynamic | the delay between switches and controllers | √ | Deep Q-Network |
the Control Load (CL) | |||
the Intra-Cluster Delay (ICD) | |||
the Intra-Cluster Throughput (ICT) | |||
Reference (D4CPP) [31]—Dynamic | delay and load in the network | × | Deep Q-Network |
Reference [32]—Dynamic | controllers–switches delay | × | a quadratic program |
inter-controllers delay | |||
controllers load |
Notation | Description |
---|---|
physical links. | |
The set of controllers, where k is the number of controllers. | |
. | |
The capacity of the controller. | |
The frequency of synchronization between controllers. | |
The shortest transmission path length between switch i and controller j. | |
The shortest transmission path length between controller i and controller j. | |
The propagation rate of electrical signals in cables. | |
The degree centrality of controller c and switch n, respectively. | |
The total number of shortest paths and the number of shortest paths through link e from switch i to switch j, respectively. | |
The actual load and the ideal load of the controller c. | |
Link consumption for switch–controller communication and link consumption for inter-controller communication. | |
The set of switches managed by controller c. | |
The set of control paths from switch i to switch j. | |
The bandwidth of link e. | |
Binary variable whose value is 1 if switch j has a controller placed and 0 otherwise. | |
Binary variable whose value is 1 if switch i is linked to controller j and 0 otherwise. | |
, 0 otherwise. |
Algorithm | Delay | Security | Load | Link Cost |
---|---|---|---|---|
Proposed Algorithm | √ | √ | √ | √ |
Genetic Algorithm | √ | √ | √ | √ |
Random Placement Algorithm | √ | - | - | - |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Liao, C.; Chen, J.; Guo, K.; Liu, S.; Chen, J.; Gao, D. MODECP: A Multi-Objective Based Approach for Solving Distributed Controller Placement Problem in Software Defined Network. Sensors 2022, 22, 5475. https://doi.org/10.3390/s22155475
Liao C, Chen J, Guo K, Liu S, Chen J, Gao D. MODECP: A Multi-Objective Based Approach for Solving Distributed Controller Placement Problem in Software Defined Network. Sensors. 2022; 22(15):5475. https://doi.org/10.3390/s22155475
Chicago/Turabian StyleLiao, Chenxi, Jia Chen, Kuo Guo, Shang Liu, Jing Chen, and Deyun Gao. 2022. "MODECP: A Multi-Objective Based Approach for Solving Distributed Controller Placement Problem in Software Defined Network" Sensors 22, no. 15: 5475. https://doi.org/10.3390/s22155475
APA StyleLiao, C., Chen, J., Guo, K., Liu, S., Chen, J., & Gao, D. (2022). MODECP: A Multi-Objective Based Approach for Solving Distributed Controller Placement Problem in Software Defined Network. Sensors, 22(15), 5475. https://doi.org/10.3390/s22155475