How to Build SDN - Eight Open Source Tools

    Today, we have prepared for our readers a selection of SDN controllers that are actively supported by GitHub users and large open source funds such as the Linux Foundation. / Flickr / Johannes Weber / CC BY


    OpenDaylight is an open modular platform for automating large-scale SDN networks. Its first version appeared in 2013, which later became part of the Linux Foundation. In March of this year , the tenth version of the tool was born , and the number of users exceeded one billion.

    The controller includes a system for creating virtual networks, a set of plug-ins for supporting various protocols, and utilities for deploying a fully functional SDN platform. Thanks to the API, you can integrate OpenDaylight with other controllers. The core of the solution was written in Java, so you can work with it on any systems with JVM.

    Platform is distributedboth in the form of RPM packages and universal binary assemblies, and in the form of pre-configured images of virtual machines based on Fedora and Ubuntu. You can download them on the official website along with the documentation. Users note that working with OpenDaylight can be difficult, however , the project’s YouTube channel provides a large number of guides for setting up the tool.

    This is an open framework for developing SDN controllers. It is an SDK based on the OpenDaylight platform. The goal of the project is to simplify and speed up the development of SDN solutions in Java, Python and Go.

    The framework offers a large number of tools for debugging SDN environments. In particular, allows you to emulate network devices and program their behavior. Also worth noting is the Network Topology Visualization component - it is used to visualize network topology.

    Look for guidance on creating SDN applications using in the repository on GitHub . There is also a guide for migrating existing applications to the new platform.

    Read on the topic in our corporate blog:


    This is a controller with a set of applications for managing OpenFlow networks. The architecture of the solution is modular and supports many virtual and physical switches. The solution has already found application in the development of a scalable streaming service based on SDN - GENI Cinema , as well as software-defined storage Coraid .

    According to several tests , Floodlight is superior to OpenDaylight when working with highly loaded networks. But in networks with low and medium loads, Floodlight has a higher latency. Look for the installation guide in the official project documentation .


    A set of software components for configuring OpenFlow switches. OESS offers a simple web interface for users, as well as an API for web services. The advantages of the solution include automatic switching to backup channels in case of failures and the availability of visualization tools. Cons - support for a limited number of switch models.

    The OESS installation and configuration guide is in the repository on GitHub .

    / Flickr / Ernestas / CC BY


    This is a controller in which the levels of network abstraction are represented as SQL queries. You can manage them through the command line. The advantages of this approach are that SQL queries are sent faster. In addition, the tool allows you to control several levels of abstractions using the automatic orchestration function. The disadvantages of the solution include the lack of visualization and the need to study command line arguments .

    A step-by-step tutorial on working with Ravel is on the official website of the project. In a compressed format, this is all set out in the repository .

    Open security controller

    Software-defined tool for protecting virtual networks. It automates the deployment of firewalls, systems to prevent intrusions and antiviruses. OSC acts as an intermediary between the security manager and many security features and environments. Moreover, he is able to work with multi-cloud.

    Plus OSC - lack of binding to specific software or hardware products. However, the tool is sharpened for working with large-scale corporate networks. For this reason, it is hardly suitable for the needs of a startup.

    A quick start guide can be found on the OSC documentation site .


    It is an operating system for managing SDN networks and their components. Its feature is that it combines the functionality of an SDN controller, network and server OS. Due to this combination, the tool allows you to monitor everything that happens in the networks, and simplifies the migration from traditional architecture to SDN.

    The bottleneck of the platform is security. According to the 2018 report , ONOS has a number of unclosed vulnerabilities. For example, susceptibility to DoS attacks and the ability to install applications without authentication. Some of them have already been patched, while the rest of the developers are working. In general, since 2015, the platform has received a large number of updates that increase the security of the environment.

    You can download the tool at the officialdocumentation page . There are also installation guides and other tutorials.

    Tungsten fabric

    This project used to be called OpenContrail. But it was renamed after the transition "under the wing" of the Linux Foundation. Tungsten Fabric is an open network virtualization plugin that works with virtual machines, bare-metal loads and containers.

    The plugin can be quickly integrated with popular instruments for orchestration: Openstack, Kubernetes, Openshift, vCenter. For example, to deploy Tungsten Fabric in Kubernetes will need 15 minutes. The tool also supports all the traditional functions of SDN controllers: management, visualization, network configuration, and many others . The technology has already found application in the data center and the cloud, as a part of the SDN-stacks to work with 5G and Edge computing.

    Tungsten Fabric is veryIt resembles OpenDaylight, so the solution has the same drawbacks - it’s hard to figure it out right away, especially when working with containers. But here , installation and configuration instructions and other additional materials in the repository on GitHub will come to the rescue .

    Posts on the topic from our blog on Habré:

    Also popular now: