SDN-дайджест — шесть эмуляторов с открытым исходным кодом
В прошлый раз мы сделали подборку опенсорсных SDN-контроллеров. Сегодня на очереди отрытые эмуляторы SDN-сетей. Всех, кому это интересно, приглашаем под кат.
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-контроллеры.
Чтение по теме в нашем корпоративном блоге:
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. Гайд по установке и руководство для быстрого старта можно найти на официальной странице проекта.
Чтение по теме в нашем корпоративном блоге:
Топ 5 инструментов моделирования сетей в 2020 году
С момента появления вычислительной техники и интернета компьютерная сеть играет жизненно важную роль для обмена ресурсами и информацией как внутри организации, так и на глобальном уровне. Люди, которым поручено контролировать эти сети, называются сетевыми инженерами или сетевыми администраторами.
Сетевые инженеры и администраторы используют различные инструменты для проектирования, мониторинга или анализа компьютерных систем. Что бы не экспериментировать на реальных сетях (что чревато сбоем или выходом из строя сетевой инфраструктуры) системные администраторы для этого используют инструменты сетевого моделирования.
Сегодня мы рассмотрим 5 лучших инструментов сетевого моделирования, которые могут помочь вам в проектировании и улучшении производительности системы.
После изучения нашего списка инструментов сетевого моделирования, вы сможете выбрать себе наиболее оптимальное программное обеспечение для эмуляции сетей. Данное ПО позволит решить проблемы и провести тесты, которые невозможно применить на реально-существующих сетях из-за риска нарушить нормальное функционирование.
GNS3
GNS3: это одна из самых популярных программ эмуляции сети, которая позволяет наблюдать взаимодействие сетевых устройств в различных топологиях сетей. Это программное обеспечение, которое является интегрированным сегментом в международной сети обучения сертификации. Одного такого факта достаточно, чтобы показать, насколько современным и всеобъемлющим является этот программный инструмент, когда речь заходит об успешном моделировании сети. Он прост в установке и реализации, что делает его популярным выбором как на любительском, так и на профессиональном уровне.
Cisco Packet Tracer
Cisco Packet Tracer: одна из основных причин, по которой этот инструмент моделирования сети, разработанный CISCO systems, занял второе место в ТОП-5, заключается в том, что он кросс-платформенный. Этот уникальный инструмент моделирования поможет вам не только построить топологию сети, но и воспроизвести ее в современных компьютерных сетях. Cisco PT позволяет имитировать соответствующую конфигурацию через CLI. А еще Packet Tracer отлично подходит для VoIP
EVE-NG
EVE-NG: Emulated Virtual Environment Next Generation or EVEN-NG- это единственный в своем роде многопользовательский сетевой симулятор, предназначенный для небольших предприятий и частных лиц. Реализация этого инструмента моделирования виртуальной сети является как платным, так и бесплатным. Бесплатная версия имеет ограничение в 63 узла на лабораторию. Для виртуализации, связывания и настройки сетевых устройств нет необходимости загружать и устанавливать дополнительное приложение помимо сервера. Все проектирование, подключение и управление сетевыми топологиями можно легко выполнить с помощью интегрированного HTML5- клиента.
Важным фактором, который делает EVE-NG одним из лучших инструментов моделирования сети, является то, что приложение экономит время, позволяя вам вносить изменения в топологию сетей во время их одновременного запуска. Кроме того, она подходит как для Ethernet, так и для последовательных интерфейсов.
Boson NetSim
Boson NetSim: это приложение, имитирующее сетевые коммутаторы и маршрутизаторы Cisco. Одна из ключевых особенностей этого инструмента моделирования заключается в том, что он поставляется вместе со всеми лабораторными работами от Boson, и нет необходимости загружать отдельные файлы и импортировать их позже в NetSim. Весь процесс загрузки, отделки и сортировки лабораторных работ осуществляется в самом приложении. Построение и загрузка топологий сетей могут быть легко выполнены с помощью приложения. И наоборот, вы также можете просматривать топологии, загруженные другими участниками сообщества, и загружать их в приложение. Функции терминала чрезвычайно реалистичны.
Также стоит отметить, что Boson NetSim заимствует интуитивно понятную систему настройки от GNS3. Дополнительные модули (называемые надстройками) могут быть включены для настройки сетевого устройства. Когда устройство подключено к топологии сети, программное обеспечение спрашивает, какие именно модули вы хотите добавить.
VIRL
VIRL: Virtual Internet Routing Lab или VIRL- это эмулятор виртуальной сети от Cisco, который был специально разработан для удовлетворения потребностей образовательных учреждений и частных лиц. Будучи одним из топ-5 инструментов моделирования сетей в 2020 году, он поставляется в высоко масштабируемых вариантах, специально разработанных для средних и крупных предприятий. VIRL, поддерживающий клиент-серверную модель и сервер, могут быть легко установлены на виртуальной машине под управлением ESXi от VMware или даже на «голом железе» сервера.
Использование инструмента моделирования VIRL позволяет вам получить доступ к целому ряду лицензированных образов программного обеспечения Cisco, таких, как NX-Osv, IOS-Xrv, ASAv и IOSv (как второго уровня, так и третьего уровня). Хорошо то, что эти образы можно легко извлечь из сервера VIRL и установить поверх других эмуляторов, таких как EVE-NG и GNS3. Кроме того, VIRL ввела функцию, известную как AutoNetKit, которая облегчает базовые функции конфигурации на узлах для автоматического заполнения всей топологии сети. Эта функция очень эффективна в том случае, если вам необходимо быстро оценить модель поведения конкретной технологии или, практически воссоздать всю существующую сеть.
Подведем итоги
Приведенный выше список, безусловно, является кратким, но он определенно является всеобъемлющим для личных целей. Цель этого списка состоит не только в том, чтобы познакомить вас со списком инструментов моделирования сети входящих топ- 5, но и познакомить вас с возможностями специализированных функций этих инструментов.
Эмуляторы компьютерных сетей это
Меня часто спрашивают, какие еще бывают бесплатные симуляторы/эмуляторы сетей (кроме GNS3, Cisco Packet Tracer и UNetLab)? Решил привести небольшой список:
1) Huawei eNSP — эмулятор сетевого оборудования Huawei. Можно эмулировать коммутаторы, роутеры и даже межсетевой экран. Ну очень похож на GNS3 (китайцы. ). Софт бесплатный, но требует регистрации на сайте.
2) HP Network Simulator — эмулятор сетевого оборудования HP. Продукт основан на новой сетевой операционной системе HP Comware v7 и предназначен для сетевого моделирования и изучения пользовательского интерфейса и функциональных возможностей ОС HP Comware. Так же бесплатен. Подробнее здесь.
3) Mininet — эмулятор компьютерной сети. Под компьютерной сетью подразумеваются простые компьютеры — хосты, коммутаторы, а так же OpenFlow-контроллеры. Применяется чаще всего для изучения основ работы с SDN сетями (Open VSwitch). Подробнее здесь.
4) Core — Common Open Research Emulator. Эмулятор сетей c графическим интерфейсом. В качестве технологии виртуализации используется LXC. Является форком эмулятора IMUNES, но более «продвинутый», поэтому отдельно рассказывать про IMUNES я не буду.
5) Line Network Emulator — очень мощный эмулятор сетей основанный на Linux-е. Очень гибкий в настройке. К сожалению мало документации.
6) Marionnet — довольно интересный проект, предназначен для обучения. Эмулировать можно свичи, компьютеры, роутеры. Мануалов не нашел, но интерфейс весьма простой.