Review
A survey on software defined networking with multiple controllers

https://doi.org/10.1016/j.jnca.2017.11.015Get rights and content

Abstract

Compared with traditional network, Software Defined Networking (SDN) decouples control plane and data plane, providing programmability to configure the network. In spite of such capability, one of the criticisms of SDN is that the SDN controller is a single point of failure and hence the controller decreases overall network availability. Having multiple controllers improves reliability of the network because the data plane can continue to operate if one controller fails. Furthermore, a single controller of SDN has many limitations on both performance and scalability. Thus, multiple controllers are required and critical for large-scale networks. However, multiple controllers increase network complexity dramatically and impose many new challenges to the management and schedule of SDN. This paper surveys latest researches on multiple controllers of SDN. Benefits and challenges of multiple controllers are discussed after giving an overview of SDN and OpenFlow in the paper. Afterward, we dwell on the detailed design principles and architectures of SDN with multiple controllers. Following that, current research works on multiple controllers placement and scheduling are carefully summarized and analyzed. Finally, we conclude this survey paper with some future works and suggested open research directions.

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)

  • Ahmed, R., Alfaki, E., Nawari, M., 2016. Fast failure detection and recovery mechanism for dynamic networks using...
  • I.F. Akyildiz et al.

    Research challenges for traffic engineering in software defined networks

    IEEE Netw.

    (2016)
  • Al-Fares, M., Radhakrishnan, S., Raghavan, B., Huang, N., Vahdat, A., 2010. Hedera: Dynamic flow scheduling for data...
  • Arajo, J.T., Landa, R., Clegg, R.G., Pavlou, G., 2014. Software-defined network support for transport resilience. In:...
  • Aslan, M., Matrawy, A, 2017. A clustering-based consistency adaptation strategy for distributed SDN controllers,...
  • Bannour, F., Souihi, S., Mellouk, A., 2017. Software-defined networking: A self-adaptive consistency model for...
  • Bari, M.F., Roy, A.R., Chowdhury, S.R., Zhang, Q., 2013. Dynamic controller provisioning in software defined networks....
  • Beheshti, N., Zhang, Y., 2012. Fast failover for control traffic in software-defined networks. In: Global...
  • Berde, P., Gerola, M., Hart, J., Higuchi, Y., Kobayashi, M., Koide, T., Lantz, B., O′Connor, B., Radoslavov, P., Snow,...
  • Borokhovich, M., Schiff, L., Schmid, S., 2014. Provable data plane connectivity with local fast failover: Introducing...
  • P. Bosshart et al.

    P4: programming protocol-independent packet processors

    ACM SIGCOMM Comput. Commun. Rev.

    (2014)
  • Botelho, F., Bessani, A., Ramos, F., Ferreira, P., 2014. Smartlight: A practical fault-tolerant sdn controller, In:...
  • Botelho, F., Valente Ramos, F.M., Kreutz, D., Bessani, A., 2013. On the feasibility of a consistent and fault-tolerant...
  • Bozakov, Z., Papadimitriou, P., 2012. Autoslice: automated and scalable slicing for software-defined networks. In:...
  • Canini, M., Kuznetsov, P., Levin, D., Schmid, S., 2015. A distributed and robust SDN control plane for transactional...
  • Cello, M., Xu, Y., Walid, A., Wilfong, G., Chao, H.J., Marchese, M., 2017. Balcon: A distributed elastic SDN control...
  • Chang, Y., Rezaei, A., Vamanan, B., Hasan, J., Rao, S., Vijaykumar, T., 1609. Hydra: Leveraging functional slicing for...
  • O. Chauhan et al.

    An overview on SDN architectures with multiple controllers

    J. Comput. Netw. Commun. 2016

    (2016)
  • Chen, J., Chen, J., Ling, J., Zhang, W., 2016. Failure recovery using vlan-tag in SDN: High speed with low memory...
  • Cheng, G., Chen, H., Wang, Z., Chen, S., 2015. Dha: Distributed decisions on the switch migration toward a scalable SDN...
  • Controller platform (oscp): Clustering, 〈http://https://wiki.opendaylight.org/view/OpenDaylight_Controller/Clustering〉,...
  • Curtis, A.R., Mogul, J.C., Tourrilhes, J., Yalagandula, P., Sharma, P., Banerjee, S., 2011. Devoflow: Scaling flow...
  • M.C. Dacier et al.

    Security challenges and opportunities of software-defined networking

    IEEE Secur. Priv.

    (2017)
  • Dan, L., Wundsam, A., Heller, B., Handigol, N., 2012. A. Feldmann, Logically centralized? State distribution trade-offs...
  • B. Davie et al.

    A database approach to SDN control plane design

    ACM SIGCOMM Comput. Commun. Rev.

    (2017)
  • A. Dixit et al.

    Towards an elastic distributed SDN controller

    Acm Sigcomm Comput. Commun. Rev.

    (2013)
  • Dixit, A., Hao, F., Mukherjee, S., Lakshman, T., Kompella, R.R., 2014. Elasticon; an elastic distributed SDN...
  • Q. Duan et al.

    Software-defined network virtualization: an architectural framework for integrating sdn and nfv for service provisioning in future networks

    IEEE Netw.

    (2016)
  • Ferguson, A.D., Guha, A., Liang, C., Fonseca, R., Krishnamurthi, S., 2013. Participatory networking: An api for...
  • FlowVisor source code, 2012....
  • Fonseca, P., Bennesby, R., Mota, E., Passito, A., 2012. A replication component for resilient OpenFlow-based...
  • Fonseca, P., Bennesby, R., Mota, E., Passito, A., 2013. Resilience of SDNs based on active and passive replication...
  • Förster, K.-T., Mahajan, R., Wattenhofer, R., 2016. Consistent updates in software defined networks: on dependencies,...
  • Fratczak, T., Broadbent, M., Georgopoulos, P., Race, N., 2013. Homevisor: Adapting home network environments. In:...
  • Gray, N., Zinner, T., Gebert, S., Tran-Gia, P., 2016. Simulation framework for distributed SDN-controller architectures...
  • Guan, J., Ma, S., Guo, B., Li, J., Huang, S., Cao, X., Chen, Z., Li, Z., He, Y., 2013. First field demonstration of...
  • N. Gude et al.

    Nox: towards an operating system for networks

    ACM Sigcomm Comput. Commun. Rev.

    (2008)
  • Guha, A., Reitblatt, M., Foster, N., 2013. Machine-verified network controllers. In: ACM SIGPLAN Notices, Vol. 48, ACM,...
  • Hark, R., Stingl, D., Richerzhagen, N., Nahrstedt, K., Steinmetz, R., 2016. DISTTM: Collaborative traffic matrix...
  • Hassas Yeganeh, S., Ganjali, Y., 2012. Kandoo: a framework for efficient and scalable offloading of control...
  • Cited by (164)

    • Software-Defined Wireless Sensor Network: A Comprehensive Survey

      2023, Journal of Network and Computer Applications
    View all citing articles on Scopus

    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.

    View full text