Abstract

Software-defined networking (SDN) introduces centralized controllers to increase network programmability drastically. Distributed control planes, in which multiple SDN controllers work together to manage a network, have been proposed to satisfy the requirements of large-scale networks, and different kinds of load-balancing approaches have been proposed to balance the workloads among these controllers. Current load-balancing approaches generally use switch migration, which adjusts the mapping between switches and controllers dynamically according to controller workloads. These switch migration-based approaches face challenges under burst traffic as a result of their overhead and longer detection periods. This paper proposes Flow Stealer, a lightweight load-balancing method for distributed SDN controllers. Flow Stealer uses a low-cost flow-stealing method, in which idle controllers share workloads temporarily with overloaded controllers by stealing flow events from them. The flow-stealing method not only can react to changes of network traffic more quickly, but can also reduce the frequency of switch migration. In addition, Flow Stealer incorporates both flow stealing and switch migration to adapt to burst traffic and long-term traffic changes. Experimental results show that Flow Stealer can balance the workloads among controllers more efficiently, especially under burst traffic.