Inside OpenFlow has selected the Ryu Controller for our prototyping environment. Ryu is a Python-based, Open Source technology. It is much easier to get started with than the controllers focused on large scale deployments. By using Python as its core language, developing with Ryu can be a very interactive experience without having to wait for compiling code and long restarts.
These features make it a perfect platform for prototyping, training, and learning:
- Supports OpenFlow 1.0, 1.2, 1.3, 1.4, 1.5, and Nicira Extensions out of the box.
- Based on Python, an easy to learn and high level language often used in rapid development.
- Includes a component-based framework.
- Provides example code that implements key networking protocols using OpenFlow.
- Provides a platform for testing OpenFlow switches with extensive test suite covering nearly every feature in the OpenFlow specifications.
Combined with Mininet for network topology emulation, Ryu provides an excellent environment to learn how OpenFlow works and how to work around many of the new challenges that software defined networking provides. Since Ryu allows you to be very close to the OpenFlow protocol itself, you can learn how the different parts of OpenFlow work together by writing code that directly manages the switches. The skillsets learned from this can be transferred to other controllers and will help debug your network infrastructure and flows when things aren’t working quite the way you expected.
Our charter here at Inside OpenFlow is to help spread knowledge and teaching skills related to OpenFlow on everything from basic switch setup to complex multi-switch interactions for advanced network protocols. We hope you enjoy our materials and that they help in your journeys traveling through the complexities of software defined networking.