SDN-дайджест — шесть эмуляторов с открытым исходным кодом

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В прошлый раз мы сделали подборку опенсорсных SDN-контроллеров. Сегодня на очереди отрытые эмуляторы SDN-сетей. Всех, кому это интересно, приглашаем под кат.

/ Flickr / Dennis van Zuijlekom / CC



Mininet


Инструмент позволяет поднять программное управляемую сеть на одной машине (виртуальной или физической). Достаточно ввести команду: $ sudo mn. По словам разработчиков, Mininet хорошо подходит для развертки тестовых сред.

К примеру, преподаватели Стэнфорда (где и разработали Mininet) используют утилиту во время практических занятий в университете. Она помогает привить учащимся навыки работы с сетями. Некоторые из заданий и демок можно найти в репозитории на GitHub.

Mininet также подходит для тестирования кастомных SDN-топологий. Виртуальная сеть разворачивается со всеми свитчами, контроллерами и хостами, а затем её работоспособность проверяется с помощью Python-скриптов. Затем настройки переносятся из Mininet в реальную сеть.

Из недостатков решения эксперты выделяют отсутствие поддержки Windows. Кроме того, Mininet не подойдет для работы с масштабными сетями, так как эмулятор запускается на одной машине — может не хватить аппаратных ресурсов.

Mininet выпущен под лицензией BSD Open Source и активно развивается. Внести свой вклад могут все желающие — о том, как это сделать, есть информация на официальном сайте проекта и в репозитории.



ns-3


Симулятор для дискретно-событийного моделирования сетей. Изначально инструмент задумывался как образовательная утилита, однако сегодня он используется для тестирования SDN-окружений. Руководства о работе с ns-3 лежат на сайте с документацией проекта.

Среди преимуществ утилиты можно выделить поддержку сокетов и библиотеки Pcap для работы с другими инструментами (вроде Wireshark), а также отзывчивое комьюнити.

К недостаткам можно причислить относительно слабую визуализацию. За отображение топологии отвечает NetAnim. Кроме того, ns-3 поддерживает не все SDN-контроллеры.



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

  • Ботнет «спамит» через роутеры: что нужно знать
  • DDOS и 5G: толще «труба» — больше проблем
  • Корпоративная безопасность: DPI в системах DLP



OpenNet


Этот SDN-эмулятор строится на базе двух предыдущих инструментов — Mininet и ns-3. Он объединяет сильные стороны каждого из них. Чтобы заставить решения работать вместе, OpenNet использует байндинг-библиотеку на Python.

Таким образом, Mininet в OpenNet отвечает за эмуляцию OpenFlow-свитчей, предоставление CLI и виртуализацию. Что касается ns-3, то он эмулирует те модели, которых нет в Mininet. Руководство по работе можно найти на GitHub.Там же есть дополнительные ссылки на материалы по теме.




/ PxHere / PD



Containernet


Это — форк Mininet для работы с контейнерами приложений. Docker-контейнеры выступают в качестве хостов в эмулированных сетях. Решение создавалось, чтобы позволить разработчикам экспериментировать с облачными, периферийными, туманными вычислениями и NFV. Систему уже применили авторы SONATA NFV для создания системы оркестровки в виртуализированных 5G-сетях. Containernet выступил ядром платформы эмуляции NFV.

Установить Containernet можно с помощью гайда на GitHub.



Tinynet


Легковесная библиотека, которая помогает оперативно создавать прототипы SDN-сетей. API-инструмент, написанный на Go, позволяет эмулировать любую сетевую топологию. Сама библиотека «весит» мало, за счет чего устанавливается и работает быстрее аналогов. Также Tinynet можно интегрировать с Docker-контейнерами.

Инструмент не подходит для эмуляции масштабных сетей из-за ограниченной функциональности. Но пригодится при работе над небольшими личными проектами или быстрого прототипирования.

Примеры реализаций и команды для установки Tinynet доступны в GitHub-репозитории.



MaxiNet


Этот инструмент дает возможность использовать Mininet на нескольких физических машинах и работать с масштабными SDN-сетями. Каждая из машин — Workers — запускает Mininet и эмулирует свою часть общей сети. Свитчи и хосты связываются друг с другом при помощи GRE-туннелей. Для управления компонентами такой сети MaxiNet предоставляет API.

MaxiNet помогает быстро масштабировать сети и оптимизировать распределение ресурсов. Также в MaxiNet есть функции мониторинга, встроенный CLI и возможность интеграции с Docker. Однако инструмент не умеет эмулировать работу одного свитча для нескольких машин.

Исходный код проекта есть на GitHub. Гайд по установке и руководство для быстрого старта можно найти на официальной странице проекта.



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

  • Внедрение IPv6 – FAQ для интернет-провайдеров
  • Протокол IPv6 – от теории к практике
  • IPv6 — технология настоящего или будущего
Источник: https://habr.com/ru/company/vasexperts/blog/446634/#habracut

Интересные статьи

Интересные статьи

В Челябинске проходят митапы системных администраторов Sysadminka, и на последнем из них я делал доклад о нашем решении для работы приложений на 1С-Битрикс в Kubernetes. Битрикс, Kubernetes, Сep...
На сегодняшний день у сервиса «Битрикс24» нет сотен гигабит трафика, нет огромного парка серверов (хотя и существующих, конечно, немало). Но для многих клиентов он является основным инструментом ...
Тема статьи навеяна результатами наблюдений за методикой создания шаблонов различными разработчиками, чьи проекты попадали мне на поддержку. Порой разобраться в, казалось бы, такой простой сущности ка...
Как обновить ядро 1С-Битрикс без единой секунды простоя и с гарантией работоспособности платформы? Если вы не можете закрыть сайт на техобслуживание, и не хотите экстренно разворачивать сайт из бэкапа...
Основанная в 1998 году компания «Битрикс» заявила о себе в 2001 году, запустив первый в России интернет-магазин программного обеспечения Softkey.ru.