Comparison of Software Defined Networking (SDN) Controllers. Part 5: Ryu

Our Open Source Software Defined Networking (SDN) Controller comparison continues with Ryu. Ryu is a very different proposition to the other options being put forward. Although boasting a core set of programs that are run as a ‘platform’, Ryu is better thought of as a toolbox, with which SDN controller functionality can be built.

Ryu is a component-based software defined networking framework. It provides software components with well defined API that make it easy for developers to create new network management and control applications. Ryu means “flow” in Japanese and is pronounced “ree-yooh”.


A Ryu SDN controller composes of these components:

Modularity and Extensibility

Ryu is structured differently from other solutions in that it provides simple supporting infrastructure that users of the platform must write code to utilise as desired. While this requires development expertise, it also allows complete flexibility of the SDN solution.


Ryu does not have an inherent clustering ability and requires external tools to share the network state and allow failover between cluster members.


Ryu doesn’t provide any telemetry functionality. This needs to be provided via external tools.

Resilience and Fault Tolerance

Ryu has no inbuilt clustering mechanism, instead relying on external tools to maintain availability. High availability is achieved by running multiple, identically configured instances, or a single instance controlled by an external framework that detects and restarts failed nodes.

Fault tolerance can be provided by Zookeeper for monitoring the controllers in order to detect controller’s failure and sharding state between cluster members.

Programming Language

Ryu is written in Python.

READ ALSO  FCC failed to monitor Chinese telecoms for almost 20 years: Senate report


An active community developing the framework, it is a well supported and targeted controller.


Ryu is like a toolbox with software components, which provides the SDN controller functionality. It has a support of various southbound interfaces for managing network devices. It is very popular in academia and has been used in OpenStack as a Network controller.

Next, we will be evaluating Faucet.

SDN Controller Comparisons:

Source link

WP Twitter Auto Publish Powered By :