Implementation of a Consensus Algorithm for Controller Election

State: Open

Hybrid Software-Defined Networks (hSDN) are bringing more flexibility to the already deployed networks by allowing the co-existence of the SDN  Software-Defined Network (SDN) paradigm with legacy protocols. In SDN, network control is directly programmable, and the "intelligence" is logically centralized in software-based controllers that maintain a global view of the network. However, this flexibility comes at the risk of making the controller a single point of failure. Existing solutions, such as Ravana [1], deal with the fault-tolerance in SDN controllers, relying on tools (e.g., ZooKeeper [2]) for the leader election. Nonetheless, these solutions are not intended to be used in the context of hSDN together with traditional protocols (e.g., NETCONF).

This work aims to design and implement a leader election mechanism for hSDN controllers. This mechanism intends to guarantee that the network keeps operational in the advent of both controller and/or switch crashes.



[1] Naga Katta, Haoyu Zhang, Michael Freedman, Jennifer Rexford. Ravana: controller fault-tolerance in software-defined networking; Proceedings of the 1st ACM SIGCOMM Symposium on Software Defined Networking Research (SOSR'15), New York, United States, June 2015, pp. 1–12.

[2] ZooKeeper: A Distributed Coordination Service for Distributed Applications.  Available at: https://zookeeper.apache.org/.


Work distribution: 20% Design, 60% Implementation, 10% Documentation
Requirements: Strong programming skills in Python or Java, Linux, Basic knowledge of Computer networks and Distributed Systems

Supervisors: Rafael Hengen Ribeiro

back to the main page