Five nines of southbound reliability in software-defined networks

In order to deploy fault-tolerant Software-Defined Networks (SDN), the logically centralized controller must be physically distributed among different devices. In this paper, we present our initial work on determining how many controllers need to be instantiated, where they must be deployed, and what network nodes are under control of each of them, in order to achieve at least five nines reliability in the southbound interface between controllers and nodes. For this, we introduce the Fault Tolerant Controller Placement problem and develop a heuristic algorithm that computes placements with (at least) the required reliability. We run such algorithm on a set of 124 publicly available network topologies. We find that each node is required to connect to just 2 or 3 controllers, which typically provide more than five nines reliability. While the total number of controllers varies greatly and is more related to the network topology than to the network size, 10 controllers or less cover 75% of the most interesting cases. Therefore, fault tolerant SDNs are achievable by carefully determining the placement of controllers.