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.