Программные эмуляторы компьютерных сетей

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. Гайд по установке и руководство для быстрого старта можно найти на официальной странице проекта.

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

Источник

Статья по ИКТ на тему: «Использование программынх эмуляторов при проектировании компьютерных сетей»

Эмулятор — это специальная программа, позволяющая при помощи компьютера проектировать, виртуально монтировать и испытывать работоспособность компьютерных сетей. Гораздо проще обнаружить ошибки проектирования при эмуляции сети. Возможности эмуляторов:

1. Создание различных сетевых топологий

2. Подключение разнообразных сетевых устройств

3. Создание каналов связи с различными характеристиками

4. Эмуляция трафика в виртуальной сети с использованием различных протоколов.

5. Возможность вывода в реальную сеть.

Различают два типа эмуляторов: скриптовые, которые эмалируют основные сетевые функции устройств, но не имеют аналогов среди реального оборудования. Второй тип — использующие образы программного обеспечения настоящего оборудования.

Наиболее популярными являются эмуляторы:

NetEmul — простой скриптовый эмулятор, позволяющий создавать и тестировать простейшие топологии. Поддерживает следующие сетевые службы: DHCP, ARP, статическую и динамическую маршрутизацию(протокол Rip). Не имеет возможности выхода в интернет.

ENSP — разработан компанией Huawei, позволяет эмулировать коммутаторы, концентраторы, маршрутизаторы и меж сетевые экраны. Имеет возможность использования оригинальной командной строки. Аналогичные эмуляторы выпускает компания HP.

Cisco Packet Tracer — эмулирует большое количество реальных устройств Cisco. Имеет возможность самостоятельной конфигурации оборудования. Поддерживает полный функционал командной строки. Минусы — отсутствия выхода в реальную сеть и эмуляция тол ко базовых функций устройств. Отсутствие шифрования, Нет поддержки IP телефонии. Нет поддержки vpn.

GNS 3 — универсальный эмулятор. Позволяет использовать реальные программные прошивки от большого перечня сетевого оборудования (Cisco, juniper, hp, huawei). Имеет встроеные образы windows XP и Windows 7. Умеет эмулировать различные среды передачи данных.

UnetLab — в основном аналогичен предыдущему. Основной его плюс — возможность эмуляции аппаратных особенностей различного сетевого оборудования. Создан на базе unix, работает с использованием веб интерфейса,

Читайте также:  Код на сетевую модель

Позволяет использовать практически все версии реального ПО большого количества сетевого оборудования. Имеет выход во внешнюю сеть. Минус — большое количество проблем при конфигурации.

http://www.netadm.com.br/wp-content/uploads/2013/06/packettracer.jpg

Этот симулятор доступен как под Windows, так и для Linux, бесплатно для учащихся Сетевой Академии Cisco.

В 6й версии появились такие вещи как:

— 3 новых устройства (Cisco 1941, Cisco 2901, Cisco 2911)

— IPv6 в настройках конечных устройств (десктопы)

Его плюсы — дружественность и логичность интерфейса. Кроме этого в нем удобно проверять работу разных сетевых сервисов, вроде DHCP/DNS/HTTP/SMTP/POP3 и NTP.

И одна из самых интересных фич — это возможность перейти в режим simulation и увидеть перемещения пакетов с замедлением времени.

Мне это напомнило ту самую Матрицу.

— Практически всё, что выходит за рамки CCNA, на нем собрать не получится. К примеру, EEM отсутствует напрочь.

— Так же иногда могут проявляться разнообразные глюки, которые лечатся только перезапуском программы. Особенно этим славится протокол STP.

В итоге мы имеем — неплохой инструмент для тех кто только начал свое знакомство с оборудованием компании Cisco.

Это свободный проект, доступен под Linux, Windows и Mac OS X.

Но большинство его функций, призванных улучшить производительность, работают только под Linux (ghost IOS, который срабатывает в случае использования множества одинаковых прошивок), 64 битная версия так же только для Linux.

Текущая версия GNS на данный момент — 0.8.5

Это эмулятор, который работает с настоящими прошивками IOS. Для того чтобы им пользоваться, у вас должны быть прошивки. Скажем, вы купили маршрутизатор Cisco, с него можно их и вытащить.

https://miravto1.ru/prefix/596184.png

К нему можно подключать виртуальные машины VirtualBox или VMware Workstation и создавать достаточно сложные схемы, при желании можно пойти дальше и выпустить его в реальную сеть.

Кроме того, Dynamips умеет эмулировать как старые Cisco PIX, так и небезызвестную Cisco ASA, причем даже версии 8.4.

Но при всем этом есть масса недостатков.

— Количество платформ строго ограничено: запустить можно только те шасси, которые предусмотрены разработчиками dynamips.

— Запустить ios 15 версии возможно только на платформе 7200.

— Невозможно полноценно использовать коммутаторы Catalyst, это связано с тем что на них используется большое количество специфических интегральных схем, которые соответственно крайне сложно эмулировать. Остается использовать сетевые модули (NM) для маршутизаторов.

— При использовании большого количества устройств гарантированно будет наблюдаться проседание производительности.

Что имеем в сухом остатке?

— Инструмент, в котором можно создавать достаточно сложные топологии, готовиться к экзаменам уровня CCNP, с некоторыми оговорками.

Для создания лабораторного практикума была выбрана программа NetEmul. Программа NetEmul была создана для визуализации работы компьютерных сетей, для облегчения понимания происходящих в ней процессов. Кроме обучения, программа открывает широкие возможности для экспериментов и их наглядного отображения. Программа предназначена для студентов, изучающих компьютерные сети, в качестве наглядного пособия для получения навыков работы в данной области. Также программу могут использовать преподаватели для проверки знаний студентов. Использование NetEmul предполагает наличие начальных знаний компьютерных сетей и принципов их работы. Программа отвечает основному требованию для создания практикума, а именно – позволяет моделировать компьютерные сети. Помимо этого, программа обладает рядом преимуществ, основные из которых это: визуализизация работы компьютерных сетей; точная и детальная настройка каждого компонента сети; программа свободно распространяется и является бесплатной.

Читайте также:  Сообщение услуги компьютерных сетей

https://habrastorage.org/files/ae4/9d8/7b1/ae49d87b15864e788310c382c196796a.png

UNe t Lab

UNenLab (Unified Networking Lab, UNL) – это мульти-вендорная и многопользовательская платформа для создания и моделирования самых различных лабораторий и дизайнов, которая позволяет смоделировать виртуальную сеть из маршрутизаторов, коммутаторов, устройств безопасности и др.

UnetLab – полностью бесплатен. Вы можете запускать столько экземпляров оборудования (роутеров, коммутаторов, устройств безопасности и т.д) сколько вы хотите и какого хотите. Например, в том же Cisco VIRL Personal Edition вы ограничены 15-ю узлами и набор устройств довольно скромный. Например полноценную ASA получить не представляется возможным, равно как и маршрутизатор с Serial-интерфейсом.

Данная платформа подойдет как новичкам для подготовки к CCNA/CCNP, так и для профессионалов для подготовки CCIE Routing and Switching, CCIE Security, CCIE Service Provides, CCIE Data Centers и т.д, а также для других разнообразных инженерных задач.

VirtualBox позволяет пользователям создавать, импортировать и запускать на своих компьютерах несколько виртуальных машин одновременно, будь то старые и с неодинаковыми версиями Windows или с другими операционными системами, такими как Linux или Mac OS X. В программе предусмотрены установки по умолчанию для новеньких пользователей и при этом имеются богатые возможности настройки для более опытных, например, тонкая настройка выделенной памяти и размера жесткого диска.

— Одновременный запуск нескольких виртуальных машин

— Удобная для пользователя рабочая область

— Управление виртуальными машинами

— Настройка параметров для каждой VM (таких как размер ОЗУ и жесткого диска)

— Клонирование виртуальных машин или их сброс до значений по умолчанию (т. е. переустановка ОС)

— Сохранение текущего состояния VM (т. е. получение моментального «слепка»)

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

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

Источник

Оцените статью
Adblock
detector