Thumbnail Image

A Scalable and Fault Tolerant OpenFlow Controller

OpenFlow provides a protocol for updating flow tables in switches. Most current OpenFlow deployments rely on a single controller to control all switches. However, as the number and size of production networks deploying OpenFlow increases, relying on a single controller for the entire network might not be feasible for several reasons. First, the amount of control traffic destined towards the centralized controller grows with the number of switches. Second, since the system is bound by the processing power of the controller, low setup times can grow significantly as demand grows with the size of the network. Finally single controller architecture has zero fault tolerance which makes it non-ideal for large enterprise level deployments. In this thesis, the existing work that has been done to build scalable and fault tolerant controllers has been explored. After learning and understanding different systems we have built our own database backed scalable and fault tolerant controller. The database that was used for this purpose is Titan Graph database, with a Cassandra backend. A custom version of a simple switch application was built to demonstrate the scalability and fault tolerance of our architecture. Some performance comparisons between our version of simple switch and the original version were also carried out. Finally in this thesis some future enhancements that we would like to implement are outlined.
Type of thesis
Sharma, K. N. (2015). A Scalable and Fault Tolerant OpenFlow Controller (Thesis, Master of Science (MSc)). University of Waikato, Hamilton, New Zealand. Retrieved from https://hdl.handle.net/10289/9617
University of Waikato
All items in Research Commons are provided for private study and research purposes and are protected by copyright with all rights reserved unless otherwise indicated.