A Reliable and Load Balancing Controller Placement Method in Software‐Defined Networks
Authors: Saeedi Goraghani Mahsa , Afzali Mahboubeh , Sharifi Fazel 
Published: December 2024

Software‐defined networking (SDN) achieves the programmability of the control plane by separating it from the data forwarding plane to provide flexible management of the network resources. The multicontroller architecture is required to be deployed to enhance the scalability and reliability of the control plane with the network traffic growth. However, the controller placement problem (CPP) is considered an important challenge in software‐defined networking, which should be addressed. The number of required controllers and their locations are the important challenges that affect various aspects of the separated controller plane such as the performance metrics, and ability to respond to failures. Also, unappropriated subdomain partitioning of the software‐defined network by multicontrollers may cause the unbalanced distribution of controller loads resulting in the reduction of communication performance of the network. In this paper, an optimization subdomain partitioning method based on the particle swarm optimization (PSO) algorithm is presented for deploying the CPP and allocating switches to controllers. The proposed control placement method aims to minimize the cost of the network known as the number of required controllers, to minimize the maximum load imbalance between controllers, and to improve resilience against a failure between each switch and its mapping controller. The presented method is evaluated using two widely used networks from the Internet Topology Zoo such as Aarnet, Oxford, Chinanet, Interoute, and ION topologies to show the scalability of the proposed method. The results show that the proposed method achieves better performance in the required number of controllers, propagation delay, and load balancing among controllers when compared to the controller placement methods based on the Varna, clustering‐based network partition algorithm (CNPA), and K‐means. Moreover, the proposed method improves load balancing when compared to the controller placement methods based on the Varna, CNPA, and K‐means, respectively. The proposed controller placement based on the PSO outperforms nearly 20% and 17% decline in the number of required controllers in comparison with the Varna‐based heuristic controller placement method and the CNPA for different scales of topologies, respectively. Moreover, the proposed controller placement method based on the particle swarm optimization enhances the load balancing metric by nearly 6% compared to the Varna‐based controller placement method in the case of load balancing scenario in the Interoute and ION topologies, which shows the improvement of the proposed method based on the PSO compared to the Varna‐based method. Also, in the proposed controller placement method based on the PSO, the load balancing scenario outperforms the load balancing metric among the assigned controllers by nearly 14%, 22%, 13%, and 18% compared to the K‐means‐based method in the ION, Interoute, Chinanet, Oxford, and Aarnet topologies. Furthermore, the proposed method achieves nearly 9%, 5%, and 15% decline in the average propagation delay compared to the Varna‐, CNPA‐, and K‐means‐based controller placement methods for different topologies. Furthermore, the proposed scheme achieves a higher resilience against controller failures compared to the existing approaches.