Article Preview
Top1. Introduction
The internet has led to the development of a digital society in which almost everything is networked and accessible from anywhere. This has been grown rapidly and used for a variety of real-world applications such as web services, database access, real-time audio-visuals communications, and broadcasting. However, despite their widespread use, traditional IP (Internet Protocol) networks are very difficult to manage and still a complex. It is a challenging to configure the network according to the pre-defined policies and to reconfigure and also leads to load imbalance between network devices (Kreutz et al., 2014).
In order to overcome the limitation of traditional networks, the concept of SDN has been emerged recently. It is the new network architecture to enhance the traditional network, centralized management, reduced hardware costs both CAPEX and OPEX, a highly scalable, vendor-neutral that build to enable operators, error-free, flexible management of networks, dynamically configurable network that easily adapts to changing network requirements (Eissa et al., 2019; Neghabi et al., 2018; Zhou et al., 2014). SDN is a new paradigm of a network that separates the control plane from the data plane for simpler and flexible management of the network. It makes networks programmable via Application Programming Interfaces (APIs). In traditional network both control and data planes embedded together in the same network device whereas SDN separate these planes and use the OpenFlow protocol for communication between the control and data planes. The data plane comprises the network devices, in which the controller acts as a brain that centralizes network intelligence. SDN contains two types of the controller in its architecture i.e. single (only one centralized controller) and multiple controllers.
In the early stages of SDN design, a single controller manages the entire network. In Fig. 1 that adapted from (Paliwal et al., 2018), controller (C1) manages four switches in the network. When the source host sends a new packet to the switch (S1), the switch cannot perform the forwarding function due to the lack of sending information for the new packet. Then, the S1 sends messages packet-in to the C1 to receive the sending for the new packet. C1, the switch forwards the packet to the next device. Finally, the packet successfully reaches the destination host. The controller plays a significant role in the transmission of the data traffic. However, such controller has several problems such as single point of failure (SPoF), which cannot handle a huge number of requests from switches because of limited controller capacity.
Therefore, it is necessary to deploy multiple distributed SDN controllers to overcome the limitation of being limited to a single SDN controller (Hamdan et al., 2021).
Multiple controllers in SDN referred where more than one controller are working in collaborate manner. In this regard, the large-scale network and heterogeneous SDN must be split into several sub-domains, and those domains require at least one controller. Compared to single controllers, the multiple distributed controllers have several advantages in terms of scalability, reliability, availability, and high performance with even the increased demand for requests. In Fig.2 adapted from (Muluye, 2020), multiple controllers became a new SDN paradigm that solves the single controller problem. In the below figure, C1 and C2 share a certain logic in a logically uniform way, so that both C1 and C2 explicitly activate sending routes on all relevant switches when new packets arrive at S1, which means that it can adequately relieve the flow processing load of a single controller. Further, when network traffic increases, load balancing among the given controllers is required to be addressed (Mamushiane et al., 2018).