Article Preview
Top1. Introduction
SDN (Moazzeni, et al., 2018) has risen as a new theory which shifts network control from distributed protocols to a systematically centralized control plane (Liyanage, et al., 2018; Schaller, Hood, 2017). With the help of flexible network management and speedy exploitation of novel functionalities, there is a growing awareness in employing SDN (Zhang, et al., 2018a; Huang, et al., 2018) in both intra-data centre and inter-data centre set-ups. For enhancing scalability and to evade a single point of malfunction, the SDN (Karakus & Durresi, 2018) control plane is characteristically executed as a distributed system with a cluster of controllers. Subsequently, the switches are allocated statically to one or numerous controllers. The architecture of SDN usually comprises three components of functionality, SDN (Suárez-Varela & Barlet-Ros, 2018) programs which convey behaviors and required resources with the SDN Controller by means of APIs. SDN Controller, which attains instructions or needs from the SDN Application layer and relays them to the networking elements. SDN Networking Devices, (Carvalho, et al., 2018) which control the data processing and forwarding abilities for the network. This includes forwarding and processing of the data path.
In addition, SDN network (Lin & Shih, 2018) insists more on load balancing, which aims to select a best load path for transmitting the data. With the intention to attain the load condition of every path, Open Flow protocol have to be exploited to attain the link load condition among two switches. Numerous enhanced multicast routing schemes have been proposed for load balancing techniques to obtain better utilization of network bandwidth, to evade traffic concentration and to restrict congestion in the network (Echagüe, et al., 2018; Kashoash, et al., 2017; Maqsood, et al., 2018). Moreover, from the spatial point, applications carried out on various controllers probably evaluate and produce diverse numbers of flows, and certain switches can acquire lots of flows when distinguished to other fields of the network. Therefore, it is necessary to balance the load between distributed controller cluster rather than static network configuration (Cooper & DiMaio, 2018).
However, the load balancing approaches cannot demonstrate the precise real-time load condition of all paths as well. Hence, optimization algorithms are introduced to attain load balance between the controllers. To work on load balancing (Lieber & Nagel, 2018), conventional algorithms such as RR (Erzurumluoğlu, 2018; Li, et al., 2018; Zhu, et al., 2018), FCFS (Wang, et al., 2003; Usero & Fernández, 2009; Kanter, 2015), RA (Yi, et al., 2018; Afacan, 2018; Zhong, et al., 2015), LJF and SJF aren't satisfactory and the meta-heuristic approaches like FF algorithm (Yelghi & Köse, 2018; Wang, et al., 2017e), ABC algorithm (Sharma, et al., 2018; Chen, et al., 2018b; Bansal, et al., 2018), ACO (Chen, et al., 2018c; Ning, et al., 2018; Min, et al., 2018) etc were explored.