How to Build an SDN — Eight Open Source Tools

Today, we have prepared a selection of SDN controllers actively supported by GitHub users and major open-source foundations like the Linux Foundation for our readers.

How to Build an SDN — Eight Open Source Tools
/ Flickr / Johannes Weber / CC BY

OpenDaylight

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

The controller includes a system for creating virtual networks, a set of plugins for supporting various protocols, and utilities for deploying a full-featured SDN platform. Thanks to the API, in OpenDaylight can be integrated with other controllers. The core of the solution was written in Java, making it compatible with any systems that have a JVM.

Platform is distributed available in the form of RPM packages and universal binary builds, as well as pre-configured virtual machine images based on Fedora and Ubuntu. They can be downloaded on the official website along with the documentation. Users note that working with OpenDaylight can be challenging; however, the project’s YouTube channel features a wealth of tutorials on setting up the tool.

Lighty.io

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

The framework offers a wide range of tools for debugging the SDN environment. In particular, Lighty.io allows for the emulation of network devices and programming their behavior. It is also worth noting the component Network Topology Visualization — it is used for visualizing network topologies.

You can find a guide on creating SDN applications with Lighty.io in GitHub repository. There is also a guide on migrating existing applications to the new platform. Further reading on the topic in our corporate blog:

Corporate Security: DPI Technology in DLP Systems

is

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

According to based on a series of tests, Floodlight outperforms OpenDaylight when handling high-load networks. However, in networks with low and medium loads, Floodlight has a higher latency. The installation guide can be found in the official project documentation.

OESS

A set of software components for configuring OpenFlow switches. OESS provides 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 during failures and the availability of visualization tools. The drawbacks include limited support for certain switch models.

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

How to Build an SDN — Eight Open Source Tools
/ Flickr / Ernestas / CC BY

Ravel

This is a controller where network abstraction levels are represented as SQL queries. They can be managed through the command line. The advantages of this approach lie in the fact that SQL queries are sent faster. Additionally, the tool allows for control over multiple levels of abstraction using automatic orchestration. The downsides of the solution include the lack of visualization and the need to study the arguments of the command line.

A step-by-step tutorial for working with Ravel is available on the official website the project. In a condensed format, it is all outlined in the repository.

Open Security Controller

A software-defined tool for securing virtual networks. It automates the deployment of firewalls, intrusion prevention systems, and antivirus solutions. OSC acts as a mediator between the security manager and a multitude of protective functions and environments. Moreover, it is capable of working with multi-cloud environments.

A plus of OSC is the lack of dependency on specific software or hardware products. However, the tool is designed for large corporate networks, which means it is unlikely to meet the needs of a startup.

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

ONOS

This is an operating system for managing SDN networks and their components. Its uniqueness lies in combining the functionalities of an SDN controller, a network, and a server OS. This combination allows for monitoring everything happening within the networks and simplifies migration from traditional architecture to SDN.

The platform's 'bottleneck' can be considered security. According to report 2018, ONOS has a number of unresolved vulnerabilities. For instance, susceptibility to DoS attacks and the ability to install applications without authentication. Some of these have already been patched, while developers are still working on the rest. Overall, since 2015, the platform has received has received a substantial number of updates that enhance the security of the environment.

The tool can be downloaded from the official documentation page.There you'll find installation guides and other tutorials.

Tungsten Fabric

This project was previously known as OpenContrail. However, it was renamed after transitioning to the Linux Foundation. Tungsten Fabric is an open plugin for network virtualization that works with virtual machines, bare-metal workloads, and containers.

The plugin can be quickly integrated with popular orchestration tools: Openstack, Kubernetes, Openshift, vCenter. For instance, deploying Tungsten Fabric on Kubernetes will take 15 minutes. The tool also supports all traditional SDN controller functionalities: management, visualization, network configuration, and many others.The technology is already finding application in data centers and cloud environments, as part of SDN stacks for working with 5G and Edge computing.

Tungsten Fabric closely resembles OpenDaylight, which is why it shares the same drawbacks — it's challenging to navigate right away, especially when working with containers. However, installation and configuration instructions and other supplemental materials will assist you in setting up and configuring it. GitHub repository.

Related posts from our blog on Habr:

Source: habr.com

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster