How to Build an 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 like the Linux Foundation.

How to Build an SDN - Eight Open Source Tools
/flickr/ John Weber / CC BY

opendaylight

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 edition tool, and the number of users has 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 full-featured SDN platform. Thanks to the API can integrate OpenDaylight with other controllers. The core of the solution was written in Java, so you can work with it in any systems with JVM.

Platform spreads both in the form of RPM packages and universal binaries, and as pre-configured virtual machine images 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, but on YouTube channel of the project a large number of manuals for setting up the instrument are presented.

Lighty.io

It 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 speed up the development of SDN solutions in Java, Python, and Go.

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

For guidance on building SDN apps with Lighty.io, see repositories on GitHub. Ibid Is there a migration guide? existing applications to the new platform.

Reading on the topic in our corporate blog:

Floodlight

It - 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 been used in the development of a scalable streaming service based on SDN - GENI Cinema, as well as software-defined storage Coraid.

On data from a number of tests, Floodlight outperforms OpenDaylight on high traffic networks. But in networks with low and medium loads, Floodlight has a higher latency indicator. See installation guide at official project documentation.

OSCE

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.

How to Build an SDN - Eight Open Source Tools
/flickr/ Ernest / CC BY

Ravel

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

A step-by-step tutorial for working with Ravel lies at the official website project. It's all in a condensed format. in the repository.

OpenSecurityController

Software-defined tool for protecting virtual networks. It automates the deployment of firewalls, intrusion prevention systems, and antiviruses. The OSC acts as an intermediary between the security manager and a variety of security features and environments. At the same time, it is able to work with multi-cloud.

The advantage of OSC is that it is not tied to specific software or hardware products. However, the tool is sharpened to work 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.

ONOS

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

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

You can download the tool from the official documentation 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 source network virtualization plugin 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 example, to deploy Tungsten Fabric in Kubernetes will need 15 minutes. The tool also supports all traditional SDN controller features: management, visualization, network configuration, and etc. The technology is already finds application in the data center and the cloud, as part of SDN stacks for working with 5G and Edge computing.

Tungsten Fabric is very Recalls OpenDaylight, so the disadvantages of the solution are the same - it is difficult to figure it out right away, especially when working with containers. But this is where instructions come in handy. for installation and configuration and other additional materials repositories on GitHub.

Related posts from our blog on HabrΓ©:

Source: habr.com

Add a comment