Хабрахабр

Как построить SDN — восемь инструментов с открытым исходным кодом

Сегодня мы подготовили для наших читателей подборку SDN-контроллеров, которые активно поддерживают пользователи GitHub и крупные опенсорсные фонды вроде Linux Foundation.


/ Flickr / Johannes Weber / CC BY

OpenDaylight — открытая модульная платформа для автоматизации масштабных SDN-сетей. Её первая версия появилась в 2013 году, которая чуть позже стала частью Linux Foundation. В марте этого года на свет появилась десятая версия инструмента, а число пользователей перевалило за миллиард.

Благодаря API можно интегрировать OpenDaylight с другими контроллерами. В состав контроллера входит система для создания виртуальных сетей, набор плагинов для поддержки различных протоколов и утилиты для развертки полнофункциональной SDN-платформы. Ядро решения писали на Java, поэтому с ним можно работать в любых системах c JVM.

Скачать их можно на официальном сайте вместе с документацией. Платформа распространяется как в форме RPM-пакетов и универсальных бинарных сборок, так и в виде предварительно сконфигурированных образов виртуальных машин на базе Fedora и Ubuntu. Пользователи отмечают, что работать с OpenDaylight может быть сложно, однако на YouTube-канале проекта представлено большое количество руководств по настройке инструмента.

Это — открытый фреймворк для разработки SDN-контроллеров. Он представляет собой SDK на базе платформы OpenDaylight. Цель проекта Lighty.io — упростить и ускорить разработку SDN-решений на Java, Python и Go.

В частности, Lighty.io позволяет эмулировать сетевые устройства и программировать их поведение. Фреймворк предлагает большое количество инструментов для отладки SDN-окружения. Также стоит отметить компонент Network Topology Visualisation — он используется для визуализации топологии сетей.

Там же есть гайд по миграции уже существующих приложений на новую платформу. Руководство по созданию SDN-приложений с помощью Lighty.io ищите в репозитории на GitHub.

Чтение по теме в нашем корпоративном блоге:

Это — контроллер с набором приложений для управления OpenFlow-сетями. Архитектура решения модульная и поддерживает множество виртуальных и физических коммутаторов. Решение уже нашло применение при разработке масштабируемого стримингового сервиса на базе SDN — GENI Cinema, а также программно-определяемого хранилища Coraid.

Но в сетях с низкими и средними нагрузками Floodlight имеет больший показатель латентности. По данным ряда тестов, Floodlight превосходит OpenDaylight при работе с высоконагруженными сетями. Гайд по установке ищите в официальной документации проекта.

Набор программных компонентов для настройки свитчей OpenFlow. OESS предлагает простой веб-интерфейс для пользователей, а также API для веб-сервисов. К плюсам решения можно отнести автоматическое переключение на резервные каналы при сбоях и наличие инструментов визуализации. Минусы — поддержка ограниченного числа моделей свитчей.

Руководство по установке и конфигурации OESS лежит в репозитории на GitHub.


/ Flickr / Ernestas / CC BY
Это контроллер, у которого уровни абстракции сети представлены в виде SQL-запросов. Управлять ими можно через командную строку. Преимущества подхода состоит в том, что за счет SQL запросы отправляются быстрее. Кроме того, инструмент позволяет контролировать несколько уровней абстракций с помощью функции автоматической оркестрации. К недостаткам решения можно отнести отсутствие визуализации и необходимость изучать аргументы командной строки.

В сжатом формате это всё изложено в репозитории. Пошаговый туториал работы с Ravel лежит на официальном сайте проекта.

Программно-определяемый инструмент для защиты виртуальных сетей. Он автоматизирует развертывание файрволов, систем для предотвращения вторжений и антивирусов. OSC выполняет роль посредника между диспетчером безопасности и множеством защитных функций и сред. При этом он способен работать с мультиоблаком.

Однако инструмент заточен для работы с масштабными корпоративными сетями. Плюс OSC — отсутствие привязки к конкретным программным или аппаратным продуктам. По этой причине он едва ли подойдёт для нужд стартапа.

Гайд для быстрого старта можно найти на сайте с документацией по OSC.

Это — операционная система для управления SDN-сетями и их компонентами. Ее особенность в том, что она сочетает в себе функционал SDN-контроллера, сетевой и серверной ОС. За счет такой комбинации инструмент позволяет следить за всем, что происходит в сетях, и упрощает миграцию от традиционной архитектуры к SDN.

По данным отчета 2018, у ONOS есть ряд незакрытых уязвимостей. «Узким местом» платформы можно назвать безопасность. Часть из них уже пропатчили, над остальными разработчики пока трудятся. К примеру, подверженность DoS-атакам и возможность установки приложений без аутентификации. В целом с 2015 года платформа получила большое количество обновлений, повышающих безопасность среды.

Там же лежат руководства по установке и другие туториалы. Скачать инструмент можно на официальной странице с документацией.

Этот проект раньше назывался OpenContrail. Но его переименовали после перехода «под крыло» Linux Foundation. Tungsten Fabric представляет собой открытый плагин для виртуализации сетей, который работает с виртуальными машинами, bare-metal нагрузками и контейнерами.

К примеру, для развертывания Tungsten Fabric в Kubernetes понадобится 15 минут. Плагин можно оперативно интегрировать с популярными инструментами для оркестрации: Openstack, Kubernetes, Openshift, vCenter. Технология уже находит применение в ЦОД и облаке, в составе SDN-стеков для работы с 5G и Edge computing. Инструмент также поддерживает все традиционные функции SDN-контроллеров: управление, визуализацию, конфигурацию сетей и многие другие.

Но здесь на помощь придут инструкции по установке и настройке и другие дополнительные материалы в репозитории на GitHub. Tungsten Fabric очень напоминает OpenDaylight, поэтому недостатки у решения те же — с ним сложно сходу разобраться, особенно при работе с контейнерами.

Посты по теме из нашего блога на Хабре:

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть