Elsevier

Computer Networks

Volume 141, 4 August 2018, Pages 82-91
Computer Networks

Load-balancing routing in software defined networks with multiple controllers

https://doi.org/10.1016/j.comnet.2018.05.012Get rights and content

Abstract

Software defined networking is a new paradigm that separates the control plane from the data plane. To provide high scalability and reduce the controller load in a large-scale software defined network (SDN), a natural way is to deploy a cluster of distributed controllers so as to cooperatively manage the network. However, since each controller just manages a set of the connected (or associated) switches and usually holds the information of these switches (and connected links), it may result in controller load imbalance and link load imbalance. Thus, both controller load and link load should be optimized to achieve better QoS in SDNs. To this end, this paper tries to answer the following question: how to perform both controller load balancing and link load balancing in an SDN? We formulate the load-balancing routing for both links and controllers (LBR-LC) problem in an SDN, and prove its NP-hardness. A rounding-based algorithm is proposed to solve this problem, and the approximation performance is also analyzed. Moreover, we discuss the efficient mechanism for network status maintenance among distributed controllers. The extensive simulation results show that our proposed algorithm can reduce the maximum controller response time by 70% compared with the previous solution, while only increasing the maximum link load by 3%.

Introduction

Software defined networking (SDN) separates the control plane and data plane on independent devices [1]. The controllers can provide centralized and flexible control by installing forwarding rules in the data plane, and the switches perform different operations on packets according to these rules. With its support of flexible network management, there is an increasing interest in deploying SDNs in different fields, such as data centers [2] and wide-area networks [3].

With the growth of SDN topology, the control plane needs to manage more and more switches, and deal with more and more flows. As specified in the OpenFlow standard [1], current solutions rely on reporting the header packet (or the first packet) of each new-arrival flow to a centralized controller that reactively installs the forwarding rules on switches [4], [5]. If there is only one controller in the control plane, due to its limited processing capacity, it may take a long time or even cause congestion in the control plane. As a result, the single controller may become the bottleneck of an SDN, which will significantly degrade the user experience. To decrease the controller overhead, some researches [6] propose to deploy default paths for all flows using wildcard rules. When a flow arrives at the switch, the switch can find a matched rule for this flow, and forward this flow directly. However, in many practical applications [7], network operators are expected to specify fine-grained (or per-flow) policies that drive how the underlying switches forward, drop, and measure traffic. Since widecard rules only provide coarse-grained flow control, deploying default paths for all flows is not attractive.

Therefore, to avoid such single controller congestion/failure [8], the control plane is typically implemented as a distributed system with a cluster of controllers (e.g., DIFANE [5], NVP [9], and Onix [10]), also called the distributed control plane. There are two main advantages by deployment of multiple controllers. On one hand, when one controller fails, other controllers can still manage the network and determine route paths for flows, which will enhance the network reliability and robustness. On the other hand, since a cluster of controllers can cooperatively process all the new-arrival flows, each controller is responsible for a partial set of new-arrival flows, which helps to reduce the computational complexity and response time of controllers in an SDN.

One key challenge in the distributed control plane is the potential controller load imbalance caused by traffic dynamics. Specifically, the controller may be overloaded if a large number of flows arrive at the switches that are associated with this controller, while in the meantime other controllers may be under-utilized. In the practical networks, traffic dynamics will happen if some applications are generating flows from certain portions of the network, or some switches are serving a large quantity of flows compared with other switches [11]. To this end, it is necessary to handle controller load imbalance.

To conquer this challenge, one way is to permit each switch to change its connected controller from the original one to the target one dynamically, also called switch migration [12], [13], [14], [15]. Though switch migration contributes to controller load balancing, there exist some disadvantages. First, since there is no native mechanism provided in the OpenFlow standard, the switch migration mechanism is not supported by the current OpenFlow standard [12]. Second, some researches try to migrate switches with the help of three operational modes in OpenFlow 1.3, master, slave and equal [13], [14]. This method requires the target controller to obtain enough information about the new switch from another controller, which may take a long time. Since the cost of switch migration is high (long latency, complex migration protocol [14]), it is not suitable for frequent manipulation. Therefore, this paper adopts the static switch-controller assignment, that is, a switch will be always connected with a fixed controller.

In a statically switch-controller configured SDN, aforementioned traffic dynamics will not only pose a severe challenge to controller load balancing, but also unavoidably affect the link load in the data plane. Thus, it is necessary to achieve load balancing on both control plane and data plane. This paper tries to answer the following question: how to jointly perform controller load balancing and link load balancing in a statically switch-controller configured SDN with multiple controllers? What’s more, our key insight is that routing decision will affect the controller load beside the link load. Specifically, we determine the route paths for flows while guaranteeing (1) less traffic on heavy-utilized links, and (2) less computing overhead on heavy-loaded controllers. It is worth noting that these two objectives do not conflict with each other (more details in Section 3.2).

This paper studies the load balancing routing for both links and controllers (LBR-LC) problem in SDNs, and proves its NP-hardness. A rounding-based algorithm is proposed and its approximation performance is analyzed. Moreover, this algorithm is supported by the current SDN standard, OpenFlow, which improves the applicability. We then propose an efficient mechanism for network status maintenance to enhance our proposed routing mechanism. Extensive simulations are conducted to validate the efficiency of our proposed algorithm and the simulation results show that our algorithm can largely reduce the controller response time compared with the existing solutions, while achieving similar performance of link load balancing.

The rest of this paper is organized as follows. Section 2 reviews the related works. Section 3 introduces the problem description and formulation. In Section 4, we propose an efficient algorithm to deal with the LBR-LC problem, and analyze the approximation performance. The simulation results are given in Section 5. We conclude the paper in Section 6.

Section snippets

Related works

With the growth of SDN topology, the single controller may have trouble handling a large number of new-arrival requests in the whole network. As a result, the heavy controller load will result in a long controller response time and further degrade user experience [16]. Some previous works have designed several techniques to reduce the controller load. DevoFlow [17] proposed to pre-install wildcard rules for the mice flows, which reduced the controller load but might result in coarse-grained

Problem description and formulation

This section first introduces the controller response time model to show the relation between controller response time and controller load. Then a motivating example is illustrated for joint optimization of link load and controller load. We also present the network model and routing policy in a multi-controller SDN. Finally, we give the problem formulation and prove its NP-hardness.

Algorithm and analysis

Since the LBR-LC problem is NP-hard, it is difficult to solve this problem optimally. In this section, we present a rounding-based algorithm for this problem, and analyze the approximation performance. We also present how to efficiently update controller/area-load bounds.

Performance evaluation

In this section, we evaluate our RDMAR algorithm by comparing with some benchmarks on Mininet [33]. We first introduce the simulation setting and then present the simulation results.

Conclusion

In this paper, we focus on the load balance routing for both links and controllers in SDNs. In other words, we want to decrease the link utilization and controller response time at the same time. To this end, we formulate the load-balancing routing of links and controllers problem. Moreover, we use controller-load bounds and area-load bounds to help make routing decision. We formulate this problem into the linear integer program, which is NP-hard, and design a rounding-based algorithm. The

Acknowledgment

This paper is supported by the NSFC under Grant Nos. 61472383, 61472385 and U1709217, the Natural Science Foundation of Jiangsu Province in China under No. BK20161257, Guangdong Pre-national project 2014GKXM054, and Guangdong Province Key Laboratory of Popular High Performance Computers 2017B030314073.

Haibo Wang received B.S. degree in nuclear science and technology from the University of Science and Technology of China in 2016. He is currently pursuing the Ph.D. degree in computer science with the University of Science and Technology of China. He will receive the master’s degree in 2019. His main research interest is software defined networks

References (38)

  • S.-C. Lin et al.

    Control traffic balancing in software defined networks

    Comput. Netw.

    (2016)
  • N. McKeown et al.

    Openflow: enabling innovation in campus networks

    ACM Comput. Commun. Rev.

    (2008)
  • S. Jain et al.

    B4: experience with a globally-deployed software defined wan

    Proceedings of the ACM SIGCOMM Computer Communication Review

    (2013)
  • C.-Y. Hong et al.

    Achieving high utilization with software-driven wan

    Proceedings of the ACM SIGCOMM

    (2013)
  • N. Gude et al.

    Nox: towards an operating system for networks

    ACM SIGCOMM Comput. Commun. Rev.

    (2008)
  • M. Yu et al.

    Scalable flow-based networking with difane

    ACM SIGCOMM Comput. Commun. Rev.

    (2010)
  • S. Shirali-Shahreza et al.

    Rewiflow: Restricted wildcard openflow rules

    ACM SIGCOMM Comput. Commun. Rev.

    (2015)
  • M. Jarschel et al.

    Sdn-based application-aware networking on the example of Youtube video streaming

    Proceedings of the Second European Workshop on Software Defined Networks (EWSDN)

    (2013)
  • A. Tootoonchian et al.

    On controller performance in software-defined networks

    Hot-ICE

    (2012)
  • T. Koponen et al.

    Network virtualization in multi-tenant datacenters

    Proceedings of the Eleventh USENIX Symposium on Networked Systems Design and Implementation (NSDI 14)

    (2014)
  • T. Koponen et al.

    Onix: a distributed control platform for large-scale production networks

    Proceedings of the OSDI

    (2010)
  • T. Benson et al.

    Network traffic characteristics of data centers in the wild

    Proceedings of the Tenth ACM SIGCOMM Conference on Internet Measurement

    (2010)
  • A. Dixit et al.

    Towards an elastic distributed SDN controller

    Proceedings of the ACM SIGCOMM Computer Communication Review

    (2013)
  • M. Cello et al.

    Balcon: a distributed elastic SDN control via efficient switch migration

    Proceedings of the IEEE International Conference on Cloud Engineering (IC2E)

    (2017)
  • A. Dixit et al.

    Elasticon; an elastic distributed SDN controller

    Proceedings of the ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS)

    (2014)
  • C. Liang et al.

    Scalable and crash-tolerant load balancing based on switch migration for multiple open flow controllers

    Proceedings of the Second International Symposium on Computing and Networking (CANDAR)

    (2014)
  • T. Wang et al.

    Dynamic sdn controller assignment in data center networks: stable matching with transfers

    Proceedings of the INFOCOM

    (2016)
  • A.R. Curtis et al.

    Devoflow: scaling flow management for high-performance networks

    ACM SIGCOMM Comput. Commun. Rev.

    (2011)
  • J. Zhang et al.

    Load balancing for multiple traffic matrices using SDN hybrid routing

    Proceedings of the IEEE Fifteenth International Conference on High Performance Switching and Routing (HPSR)

    (2014)
  • Cited by (47)

    • Software defined networking architecture, traffic management, security, and placement: A survey

      2021, Computer Networks
      Citation Excerpt :

      They used a process as call on-demand inverse multiplexing which calculates the overall throughput and resource usage. Authors in [45], formulated the load-balancing routing for both links and controllers (LBR-LC) problem in an SDN, and proved its NP-hardness. They proposed a rounding-based algorithm to solve this problem, and also analyzed the approximation performance.

    • Linking handover delay to load balancing in SDN-based heterogeneous networks

      2021, Computer Communications
      Citation Excerpt :

      Also, this method did not advise for an over-loading countermeasure. In another work, the authors of [16] proposed a rounding algorithm that showed improvement in the controllers’ response times by using link balancing. Nonetheless, they did not provide a clear explanation of how the distributed controllers exchange statuses.

    View all citing articles on Scopus

    Haibo Wang received B.S. degree in nuclear science and technology from the University of Science and Technology of China in 2016. He is currently pursuing the Ph.D. degree in computer science with the University of Science and Technology of China. He will receive the master’s degree in 2019. His main research interest is software defined networks

    Hongli Xu received his Ph.D degree in Computer Science from the University of Science and Technology of China in 2007. Currently, he is an assistant research fellow in the School of Computer Science and Technology at the University of Science and Technology of China. His main research interest is software defined networks, cooperative communication, and vehicular ad hoc network.

    Liusheng Huang was born in Anhui Province, China, in 1957. He received the M.S. degree in computer science from University of Science and Technology of China in 1988. He is currently a professor and Ph.D. supervisor of the Department of Computer Science and Technology at the University of Science and Technology of China. He has published 6 books and more than 200 papers. His research interests are in the areas of Internet of Thing, Information Security.

    Jianxin Wang is currently a master-candidate in Computer Science at the University of Science and Technology of China. He will receive the master degree in 2017. His main research interest is software defined networks.

    Xuwei Yang is currently a master-candidate in Computer Science at the University of Science and Technology of China. He will receive the master degree in 2019. His main research interest is software defined networks.

    View full text