Как построить SDN — восемь инструментов с открытым исходным кодом
Сегодня мы подготовили для наших читателей подборку SDN-контроллеров, которые активно поддерживают пользователи GitHub и крупные опенсорсные фонды вроде Linux Foundation.
/ Flickr / Johannes Weber / CC BY
OpenDaylight — открытая модульная платформа для автоматизации масштабных SDN-сетей. Её первая версия появилась в 2013 году, которая чуть позже стала частью Linux Foundation. В марте этого года на свет появилась десятая версия инструмента, а число пользователей перевалило за миллиард.
В состав контроллера входит система для создания виртуальных сетей, набор плагинов для поддержки различных протоколов и утилиты для развертки полнофункциональной SDN-платформы. Благодаря API можно интегрировать OpenDaylight с другими контроллерами. Ядро решения писали на Java, поэтому с ним можно работать в любых системах c JVM.
Платформа распространяется как в форме RPM-пакетов и универсальных бинарных сборок, так и в виде предварительно сконфигурированных образов виртуальных машин на базе Fedora и Ubuntu. Скачать их можно на официальном сайте вместе с документацией. Пользователи отмечают, что работать с OpenDaylight может быть сложно, однако на YouTube-канале проекта представлено большое количество руководств по настройке инструмента.
Это — открытый фреймворк для разработки SDN-контроллеров. Он представляет собой SDK на базе платформы OpenDaylight. Цель проекта Lighty.io — упростить и ускорить разработку SDN-решений на Java, Python и Go.
Фреймворк предлагает большое количество инструментов для отладки SDN-окружения. В частности, Lighty.io позволяет эмулировать сетевые устройства и программировать их поведение. Также стоит отметить компонент Network Topology Visualisation — он используется для визуализации топологии сетей.
Руководство по созданию SDN-приложений с помощью Lighty.io ищите в репозитории на GitHub. Там же есть гайд по миграции уже существующих приложений на новую платформу.
Чтение по теме в нашем корпоративном блоге:
Это — контроллер с набором приложений для управления OpenFlow-сетями. Архитектура решения модульная и поддерживает множество виртуальных и физических коммутаторов. Решение уже нашло применение при разработке масштабируемого стримингового сервиса на базе SDN — GENI Cinema, а также программно-определяемого хранилища Coraid.
По данным ряда тестов, Floodlight превосходит OpenDaylight при работе с высоконагруженными сетями. Но в сетях с низкими и средними нагрузками Floodlight имеет больший показатель латентности. Гайд по установке ищите в официальной документации проекта.
Набор программных компонентов для настройки свитчей 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 нагрузками и контейнерами.
Плагин можно оперативно интегрировать с популярными инструментами для оркестрации: Openstack, Kubernetes, Openshift, vCenter. К примеру, для развертывания Tungsten Fabric в Kubernetes понадобится 15 минут. Инструмент также поддерживает все традиционные функции SDN-контроллеров: управление, визуализацию, конфигурацию сетей и многие другие. Технология уже находит применение в ЦОД и облаке, в составе SDN-стеков для работы с 5G и Edge computing.
Tungsten Fabric очень напоминает OpenDaylight, поэтому недостатки у решения те же — с ним сложно сходу разобраться, особенно при работе с контейнерами. Но здесь на помощь придут инструкции по установке и настройке и другие дополнительные материалы в репозитории на GitHub.
Посты по теме из нашего блога на Хабре: