ReviewA survey on software defined networking with multiple controllers
Introduction
Traditional Internet architecture is sufficiently complex and closed, making it difficult for network administrators to operate and manage when considering network dynamic and various application requirements. Hence, Software Defined Networking (SDN) (Farhady et al., 2015, Nunes et al., 2014, Masoudi and Ghaffari, 2016, Li et al., 2016) has been proposed as a promising network paradigm to solve those problems and accelerate innovation. SDN decouples the control plane and data plane to achieve a logically centralized control architecture, providing programmability to configure the network (Lopes et al., 2016). SDN controller can obtain global information of the whole network, which is convenient for operators and researchers to adjust the network flexibly and extend new network functions.
Different from traditional network, by separating the control plane and data plane in SDN, control planes are merged into a single entity named controller. As a decision maker, SDN controller is able to provide Application Program Interfaces (APIs) to upper applications and allow operators to deploy various network policies flexibly, according to scenarios and applications requirements. Therefore, controllers play an important role in SDN.
The control plane of SDN may take different forms, either centralized (e.g., single controller) or distributed (e.g., multiple controllers) architecture. Though previous study (Heller et al., 2012) has shown that a single controller may be sufficient for many medium-size networks, multiple controllers are still required in many scenarios (Jain et al., 2013, Berman et al., 2014, Al-Fares et al., 2010) considering the efficiency, scalability and availability of the networks. With multiple controllers, response latency of requests can be reduced through load balancing and avoiding overloaded controllers (Karakus and Durresi, 2017). New controllers can be added dynamically to achieve higher performance in order to meet the needs of the networks. Moreover, multiple controllers also provide redundancy mechanism to avoid single point of failure and improve the security of the control plane (Shalimov et al., 2013, Yan et al., 2016, Oktian et al., 2017).
Multiple controllers have been discussed in previous works. For instance, Nunes et al. (2014) survey the state-of-the-art in programmable network with an emphasis on SDN and compare centralized architecture with distributed scheme. Oktian et al. (2017) focus on the design choice of distributed SDN controller, showing that building distributed controller should consider the following aspects: scalability, robustness, consistency and security. Kreutz et al. (2014) present a comprehensive survey on SDN. They compare and summarize the platforms of centralized controllers and distributed controllers, and analyze different challenges of distributed controller platforms. Xia et al. (2015) discuss multiple controllers with a focus on controller design. Chauhan et al. (2016) dwell on the architecture of SDN with multiple controllers, and discuss the difference between logically centralized architecture and logically distributed architecture. Wibowo et al. (2017) present a review on research status of SDN, discussing the challenges in multi-domain SDN controller design and architectures.
In this paper, a comprehensive survey on multiple controllers of SDN is presented, ranging from fundamental techniques to the scheduling issues on multiple controllers. The main contributions of this paper are as follows:
- •
A review of multiple controllers challenges and benefits, and a table with comparison of existing multiple controllers platforms and projects.
- •
Analysis of design principles for multiple controllers from three aspects: consistency, fault tolerance and availability.
- •
A review of current research into multiple controllers architecture, placement and scheduling, and the major research issues that can be considered in future.
The taxonomy of multiple controllers discussed in this paper is shown in Fig. 1. Four aspects of multiple controllers are discussed, including multiple controllers design principles, architecture, placement and scheduling. All of these issues are essential and correlated factors that together determine the performance of multiple controllers. Design principles need to be implemented in multiple controllers architecture to realize high performance platforms. Especially, efficient consistency solutions can improve the controllers-to-controllers communication. For multiple controllers placement, several metrics should be taken into account. Some metrics are related to design principles, e.g., fault tolerance and reliability. Due to dynamic traffic in networks, scheduling strategies should be implemented for load balance and efficiency. By allowing dynamic controllers assignment, controllers respond time and communication load between controllers and switches can be reduced.
The remainder of the paper is organized as follows: Section 2 briefly provides an overview of SDN architecture and OpenFlow. Section 3 discusses the benefits and challenges of multiple controllers for SDN. Section 4 lists some existing multiple controller platforms and summarizes their features. Multiple controllers design principles are explained in Section 5. Further, multiple controllers architectures are discussed in Section 6. Section 7 provides an in-depth analysis of the placement of multiple controllers considering multiple metrics. Scheduling for multiple controllers are presented in Section 8. Finally, Section 9 summarizes several issues for future research on multiple controllers and Section 10 briefly concludes this paper.
Section snippets
Overview of SDN and OpenFlow
In this section, we briefly outline the concepts and the basic theories of SDN, including SDN architecture, SDN controllers and a typical southbound interface, i.e., OpenFlow (McKeown et al., 2008).
Multiple controllers: benefits and challenges
In SDN, a single control plane brings many benefits such as controlling the network by a central node and abstracting the underlying network infrastructure easily. However, a single controller imposes potential issues of scalability and reliability. Hence, the deployment of multiple controllers is a critical requirement (Li et al., 2017). In this paper, SDN with multiple controllers refers to the SDN-enabled network that has more than one controller working together for high performance,
Existing multiple controllers platforms
Various multiple controllers platforms and projects have been proposed. Different multiple controllers platforms have their own features, which are suitable for different applications. Table 2 compares the representatives of the existing multiple controllers platforms and projects, from five aspects: development languages, baseline controller, organization and whether it is open source and their own features. Especially, the web links of the open source projects are also provided.
- •
HyperFlow (
Multiple controllers design principles
Multiple controllers architecture have been deployed in many scenarios (e.g., B4 Jain et al., 2013). Oktian et al. (2017) analyze distributed SDN controller issues in different design choices (e.g., controller connection strategy, network information distribution strategy, controller coordination strategy), and those issues include scalability, failure, consistency and privacy. Moreover, we have surveyed the literature and observed three design principles that SDN with multiple controllers
Multiple controllers architectures
According to how multiple controllers work together, SDN multiple controllers architecture generally falls into two categories: centralized architecture and distributed architecture. Centralized architecture is considered to be the closest to the initial design of SDN, which just deploy a single controller (Kreutz et al., 2015). Distributed architecture is to deviate from the fist tendency of SDN, by using multiple controllers to form a distributed control plane (Davie et al., 2017). Besides,
Multiple controllers placement
Distributed controllers need to act as a logically centralized control plane (Xiao et al., 2014). This means sharing information among controllers is needed to keep a global consistent view of the network and exchange data over the control plane. During this process, one critical problem is how to choose the number of controllers and appropriate locations of these controllers.2
Multiple controllers scheduling
Although multiple controllers solve the problem of single point of failure, efficient scheduling of multiple controllers is still a great challenge. Efficient scheduling policies or algorithms can enhance the network performance (Thakur and Goraya, 2017). Hence, in this section, four issues of multiple controllers scheduling are discussed: decision manner, dynamic controllers assignment, migration and load balance.
Future research issues
There are still some problems in multiple controllers research progress. How to solve these problems and realize further development and optimization of SDN are the main research directions of SDN with multiple controllers (Wang and Matta,, Akyildiz et al., 2016). Several potential future research issues on SDN with multiple controllers are summarized as below.
- (1)
Coordination between multiple controllers and switches. When SDN is deployed in large-scale networks, they may consist of multiple
Conclusions
SDN improves the network utilization efficiency and realizes the programmability. However, a single controller restricts the scalability and reliability of SDN networks. Multiple controllers architecture is needed in future development of SDN because of its high scalability and availability. In this paper, a comprehensive survey on recent progress of multiple controllers with SDN is conducted. Several existing aspects for multiple controllers such as design principles, architectures, placement
Acknowledgements
This work is partially supported by Chinese National Research Fund (NSFC) No. 61772235 and 61402200; the Fundamental Research Funds for the Central Universities (21617409); the Opening Project of Guangdong Province Key Laboratory of Big Data Analysis and Processing (2017009).
Zhang Yuan, born in 1994. She is currently a master candidate in Jinan University. Her research interests include software defined networking (SDN) and data center networking.
References (167)
- et al.
An east-west interface for distributed SDN control plane: implementation and evaluation
Comput. Electr. Eng.
(2017) - et al.
Geni: a federated testbed for innovative network experiments
Comput. Netw.
(2014) - et al.
A survey of network virtualization
Comput. Netw.
(2010) - et al.
Software-defined networking: a survey
Comput. Netw. Int. J. Comput. Telecommun. Netw.
(2015) - et al.
Software-defined networking: challenges and research opportunities for future internet
Comput. Netw.
(2014) - et al.
Quality of service (qos) in software defined networking (SDN): a survey
J. Netw. Comput. Appl.
(2017) - et al.
A survey on OpenFlow-based software defined networks: security challenges and countermeasures
J. Netw. Comput. Appl.
(2016) - et al.
Density cluster based approach for controller placement problem in large-scale software defined networkings
Comput. Netw.
(2017) - et al.
Software defined networks: a survey
J. Netw. Comput. Appl.
(2016) - Agrawal, P., Raft: A recursive algorithm for fault tolerance. In: ICPP, 1985, pp....
Research challenges for traffic engineering in software defined networks
IEEE Netw.
P4: programming protocol-independent packet processors
ACM SIGCOMM Comput. Commun. Rev.
An overview on SDN architectures with multiple controllers
J. Comput. Netw. Commun. 2016
Security challenges and opportunities of software-defined networking
IEEE Secur. Priv.
A database approach to SDN control plane design
ACM SIGCOMM Comput. Commun. Rev.
Towards an elastic distributed SDN controller
Acm Sigcomm Comput. Commun. Rev.
Software-defined network virtualization: an architectural framework for integrating sdn and nfv for service provisioning in future networks
IEEE Netw.
Nox: towards an operating system for networks
ACM Sigcomm Comput. Commun. Rev.
Cited by (164)
ELA-RCP: An energy-efficient and load balanced algorithm for reliable controller placement in software-defined networks
2024, Journal of Network and Computer ApplicationsA novel dual optimized IDS to detect DDoS attack in SDN using hyper tuned RFE and deep grid network
2024, Cyber Security and ApplicationsA novel framework for capacitated SDN controller placement: Balancing latency and reliability with PSO algorithm
2024, Alexandria Engineering JournalA review on Software Defined Networking as a solution to link failures
2023, Scientific AfricanNetwork resource management mechanisms in SDN enabled WSNs: A comprehensive review
2023, Computer Science ReviewSoftware-Defined Wireless Sensor Network: A Comprehensive Survey
2023, Journal of Network and Computer Applications
Zhang Yuan, born in 1994. She is currently a master candidate in Jinan University. Her research interests include software defined networking (SDN) and data center networking.
Cui Lin, born in 1985. He is currently an Associate Professor in Jinan University. He obtained Ph.D. degree in City University of Hong Kong in 2013. His main research interests include cloud data center resource management, data center networking, software defined networking (SDN), virtualization, distributed systems as well as wireless networking.
Wang Wei, born in 1982. He is currently a network engineer in Network and Information Management Center of Shandong University at Wei Hai. He received both master and bachelor degree from Shandong University in 2004 and 2010 respectively. His main research interests include networking resource schedule in enterprise networks.
Yuxiang Zhang, born in 1992. He is currently pursuing the Master Degree in computer science in Jinan University. He received the B.E. degree in network engineering from Jinan University, China, in 2013. His current research interests are in the area of data center networks.