Monday 13 April 2015

Open source SDN controllers

Below is a list of Open source controllers that are widely available from the very first platforms to the current market leaders. On this blog you will find tutorials on how to set up mininet with the OpenDaylight controller if you wish to experiment with that particular controller technology. 

·         NOX
NOX was the first popular Open Flow controller available for download.  It was one of the initial controllers to lead to a move towards SDN,  but like most new technologies it was not widely implemented. There were a number of issues with NOX.  As an early stage technology, these issues mainly centered on the fact it was mostly programmed in C++ and lacked proper documentation of its inner workings.

·         POX
POX was established as a predecessor to the NOX controller and managed to get more traction with it being implemented by a number of SDN developers and engineers. This was mainly due to the fact that POX offered a friendlier API with better documentation. POX also had the advantage of a web-based graphical user interface (GUI) that was written in Python.

·         Beacon
Beacon offered the first really promising open source SDN controller written in JAVA and highly integrated into the Eclipse IDE. This allowed beginner programmers a chance to work and create SDN environments. This was limited, however,  to the creation of star topologies (no loops). Despite this, Beacon had opened the door for more advanced controllers to follow.

·         Floodlight
It was not long after Beacon that the Big Switch managed adaptation of the software came along in the form of the Floodlight controller. Floodlight was built using Apache Ant, a very popular software building tool that allowed for very easy and flexible development of Floodlight. Floodlight gained a lot of popularity and has a wide community allowing for many different features to be created that can be added and tailored to specific environments. Floodlight also makes available both a web-based and JAVA based GUI where most of its functionality can be exposed through a REST API.

·         OpenDaylight
OpenDaylight is considered the most popular and interesting controller available at the moment. It is a Linux Foundation collaborative project that has been highly supported by major industry players such as Cisco and Big Switch. Similarly to Floodlight, OpenDaylight is written in JAVA and includes exposure with a REST API and a web-based GUI. OpenDaylight is actively being updated and the third release Helium SR3 can handle network virtualization, network function virtualization and has the capabilities to be scaled on very large networks. This scale-ability is evident in its being chosen as the technology to create the world’s first software defined city in Bristol England as part of the Bristol is Open project.

Out of all of the above it is my belief that the OpenDaylight controller is the strongest contender to become a breakthrough market leader in this field. The ODL community is very active and you can follow the announcement of exciting new developments such as projects like Bristol is Open on there website.  

 


 

No comments:

Post a Comment