Load-balancing routing in software defined networks with multiple controllers
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)
- et al.
Control traffic balancing in software defined networks
Comput. Netw.
(2016) - et al.
Openflow: enabling innovation in campus networks
ACM Comput. Commun. Rev.
(2008) - et al.
B4: experience with a globally-deployed software defined wan
Proceedings of the ACM SIGCOMM Computer Communication Review
(2013) - et al.
Achieving high utilization with software-driven wan
Proceedings of the ACM SIGCOMM
(2013) - et al.
Nox: towards an operating system for networks
ACM SIGCOMM Comput. Commun. Rev.
(2008) - et al.
Scalable flow-based networking with difane
ACM SIGCOMM Comput. Commun. Rev.
(2010) - et al.
Rewiflow: Restricted wildcard openflow rules
ACM SIGCOMM Comput. Commun. Rev.
(2015) - 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) - et al.
On controller performance in software-defined networks
Hot-ICE
(2012) - et al.
Network virtualization in multi-tenant datacenters
Proceedings of the Eleventh USENIX Symposium on Networked Systems Design and Implementation (NSDI 14)
(2014)
Onix: a distributed control platform for large-scale production networks
Proceedings of the OSDI
Network traffic characteristics of data centers in the wild
Proceedings of the Tenth ACM SIGCOMM Conference on Internet Measurement
Towards an elastic distributed SDN controller
Proceedings of the ACM SIGCOMM Computer Communication Review
Balcon: a distributed elastic SDN control via efficient switch migration
Proceedings of the IEEE International Conference on Cloud Engineering (IC2E)
Elasticon; an elastic distributed SDN controller
Proceedings of the ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS)
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)
Dynamic sdn controller assignment in data center networks: stable matching with transfers
Proceedings of the INFOCOM
Devoflow: scaling flow management for high-performance networks
ACM SIGCOMM Comput. Commun. Rev.
Load balancing for multiple traffic matrices using SDN hybrid routing
Proceedings of the IEEE Fifteenth International Conference on High Performance Switching and Routing (HPSR)
Cited by (47)
Priority based energy and load aware routing algorithms for SDN enabled data center network
2024, Computer NetworksOptimization partial mission abandonment strategy for k-out-of-n multi-state system
2024, Computers and Industrial EngineeringArtificial intelligence based load balancing in SDN: A comprehensive survey
2023, Internet of Things (Netherlands)Software defined networking architecture, traffic management, security, and placement: A survey
2021, Computer NetworksCitation 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 CommunicationsCitation 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.
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.