Performances of OpenFlow-Based Software- Defined Networks: An overview <s> A. Number and Location of Controllers <s> Network architectures such as Software-Defined Networks (SDNs) move the control logic off packet processing devices and onto external controllers. These network architectures with decoupled control planes open many unanswered questions regarding reliability, scalability, and performance when compared to more traditional purely distributed systems. This paper opens the investigation by focusing on two specific questions: given a topology, how many controllers are needed, and where should they go? To answer these questions, we examine fundamental limits to control plane propagation latency on an upcoming Internet2 production deployment, then expand our scope to over 100 publicly available WAN topologies. As expected, the answers depend on the topology. More surprisingly, one controller location is often sufficient to meet existing reaction-time requirements (though certainly not fault tolerance requirements). <s> BIB001 </s> Performances of OpenFlow-Based Software- Defined Networks: An overview <s> A. Number and Location of Controllers <s> Abstract The software-defined network (SDN) approach assumes a logically centralized control plane, which is physically decoupled from the data plane. Since this approach simplifies network management and speeds up network innovations, these benefits have led not just to production-intent prototypes, but real SDN deployments. For wide-area SDN deployments, multiple controllers are often required, and the placement of these controllers influences every aspect of an SDN. Since optimizing every metric is generally an non-deterministic polynomial (NP)-hard problem, it is of great importance to find an efficient controller placement algorithm. In this paper, we develop several placement algorithms to make informed placement decisions, which can be used to maximize the reliability of SDN, since network failures could easily cause disconnections between the control and forwarding planes. These algorithms are evaluated using real topologies. Simulation results show that the controller placement strategies are crucial to SDN performance, and a greedy algorithm provides placement solutions that are close to optimal. <s> BIB002 </s> Performances of OpenFlow-Based Software- Defined Networks: An overview <s> A. Number and Location of Controllers <s> This paper presents an independent comprehensive analysis of the efficiency indexes of popular open source SDN/OpenFlow controllers (NOX, POX, Beacon, Floodlight, MuL, Maestro, Ryu). The analysed indexes include performance, scalability, reliability, and security. For testing purposes we developed the new framework called hcprobe. The test bed and the methodology we used are discussed in detail so that everyone could reproduce our experiments. The result of the evaluation show that modern SDN/OpenFlow controllers are not ready to be used in production and have to be improved in order to increase all above mentioned characteristics. <s> BIB003 </s> Performances of OpenFlow-Based Software- Defined Networks: An overview <s> A. Number and Location of Controllers <s> The Software-Defined Network (SDN) approach decouples control and forwarding planes. Such separation introduces reliability design issues of the SDN control network, since disconnection between the control and forwarding planes may lead to severe packet loss and performance degradation. This paper addresses the problem of placing controllers in SDNs, so as to maximize the reliability of control networks. After presenting a metric to characterize the reliability of SDN control networks, several placement algorithms are developed. We evaluate these algorithms and further quantify the impact of controller number on the reliability of control networks using real topologies. Our approach can significantly improve the reliability of SDN control networks without introducing unacceptable latencies. <s> BIB004
Using multiple controllers offers many advantages, but also raises several design questions such as the number of controllers needed in a given topology and their placement. In BIB001 , the authors focus on the WAN deployments where latency dominates. The best controller placement relies on propagation latency that bounds the control reactions that can be executed at reasonable speed and stability with a remote controller. They conclude that there are no placement rules that applies to every network and that the controllers' number depends on the network topology and the metric choice. The authors of BIB003 focus on the reliability of the network, by measuring the number of failures during long-term testing and under a given workload profile. The experiments have shown that most of the controllers successfully cope with the test load, although two controllers, MuL and Maestro, start to drop PacketINs after several minutes of work. The controller responsiveness is the primary factor to decide if additional controllers should be deployed. For wide-area SDN deployments, multiple controllers are often required, and the placement of these controllers influences every aspect of an SDN. Authors in BIB002 search for the most reliable controller placements for SDNs, they first present a novel metric that reflects the reliability of the SDN control network, called expected percentage of valid control paths when network failures happen. They show that placement of controllers should be carefully chosen and depends on the specific algorithm used, and a greedy algorithm provides solutions that are close to optimal. Another similar study BIB004 attempts to optimizes the reliability of SDN control network. They define reliability metric as the same defined previously, where the control path loss is the number of broken control paths due to network failures. The optimization target is then to minimize the expected percentage of control path loss. To evaluate reliability, they use the brute force algorithm, and they measure the cost of each placement of K controllers, and they also keep the best one. They conclude that using a few controllers reduces reliability. However, for all topologies past a certain amount of controllers, adding more controllers has an adverse effect. Hence the best controller number, K, is in between [0.035n, 0.117n] where K is the number of controllers and N the number of nodes. Recently, proposals have been made to physically distribute controllers. We present next two main classes of solutions that aim to avoid having a Single Point Of Failure (SPOF) for the entire network and allowing a scalable architecture. The first category proposes a physically distributed control-plane, but, it is logically centralized by synchronizing all network information and balancing load among several controllers. The second category suggests a logically distributed control-plane, where each controller manages its domain and distribute useful information to other instances within the cluster and communicate if necessary with the neighboring domain.