Специалистам в области сетевых технологий необходима практика. Практиковаться можно как на реальном, так и на виртуальном оборудовании. Практика на реальном оборудовании имеет явные преимущества, но требует определенного рабочего места и больших расходов на устройства, расходные материалы. Практика на виртуальном оборудовании – менее затратный процесс, но необходимо выбрать программное обеспечение, удовлетворяющее всем требованиям для выполнения практических задач.
Цель исследования состоит в обзоре симуляторов и эмуляторов сетевого оборудования в обучающем процессе, учитывая преимущества и недостатки конкретного программного обеспечения.
Существует множество симуляторов и эмуляторов, но наиболее популярны Cisco Packet Tracer, Boson NetSim, GNS3, VIRL, EVE-NG. Многие из этих инструментов также могут быть использованы для тестирования сетевых технологий и для развертывания сетей в реальном мире. Для того чтобы рассматривать подробно программы, перечисленные выше, необходимо разобраться, в чем отличие эмуляторов и симуляторов.
Симулятор – это часть программного обеспечения, которая, как следует из названия, имитирует топологию сети, состоящей из одного или нескольких сетевых устройств. Моделируемые сетевые устройства не являются реальными устройствами и не могут передавать «живой» сетевой трафик. Каждое сетевое устройство – это часть программного обеспечения, претендующая на то, чтобы быть реальным устройством в меру своих возможностей [1].
Сетевые устройства в симуляторе ограничены командами и функциями, запрограммированными в них. По этой причине многие дополнительные возможности, которые присутствуют на реальных сетевых устройствах, отсутствуют в имитируемых аналогах.
Ключевое преимущество симуляторов заключается в том, что они, как правило, не очень требовательны к ресурсам – программное обеспечение симулятора может работать практически на любом современном компьютере.
Эмулятор – это часть программного обеспечения, которая работает и соединяет устройства виртуальной сети вместе. Эмуляторы виртуализируют реальные сетевые устройства, которые предлагают более «продвинутый» набор функций по сравнению с устройствами, представленными в симуляторах. Поведение, демонстрируемое виртуальными сетевыми устройствами, в большей степени отражает поведение реальных физических устройств в реальном мире [1].
Другими словами, эмулятор позволяет создать модель компьютера или другого устройства и запускать внутри оригинальное программное обеспечение. Имитируются все основные компоненты устройства, в том числе процессор, память и устройства ввода/вывода. В случае с Cisco эмулятор создает модель маршрутизатора и запускает внутри реальную операционную систему Cisco IOS. Таким образом, можно получить полнофункциональный маршрутизатор. Симулятор же имитирует поведение системы и ее интерфейса, например Cisco Packet Tracer.
Packet Tracer – это инструмент визуального моделирования Cisco, который имитирует сетевые топологии, состоящие из маршрутизаторов, коммутаторов, брандмауэров и др. Packet Tracer первоначально был разработан как учебное пособие для сетевой академии Cisco (более известной как NetAcad), но может использоваться как симулятор для обучения.
Packet Tracer имеет ряд преимуществ по сравнению с другими рассматриваемыми программными обеспечениями.
Для работы необходимо создать бесплатную учетную запись Cisco Networking Academy. Работает на большинстве операционных систем. Имеет большое разнообразие устройств для симуляции [2]. Предоставляет множество вариантов подключения сетевых устройств. Предлагает различные методы подключения и настройки устройств. Работает в режиме реального времени. Есть возможность настроить, проверить и устранить неполадки на сетевых устройствах через вкладку CLI. Позволяет создавать свои задания с помощью функции мастера заданий.
При создании пользовательского упражнения необходимо сохранить его в виде файла, который необходимо распространить среди всех заинтересованных сторон. Отсутствие централизованного метода распределения приводит к некоторым проблемам.
Всё программное обеспечение имеет ошибки, и Packet Tracer не является исключением. Ошибки Packet Tracer, как правило, более заметны, чем в других симуляторах или эмуляторах, возможно, из-за его популярности и широкого использования [3].
Несмотря на недостатки, Cisco Packet Tracer остается «золотым стандартом» симуляторах виртуальных сетей. Для свободного программного обеспечения он предлагает многофункциональную среду для экспериментов с большим количеством типов сетевых устройств, платформ и соединений. Кроме того, моделирование программного обеспечения IOS Cisco показывает наиболее близкое поведение к реальным сетевым устройствам, и его встроенный терминальный клиент очень похож на реальный.
Продуктом компании Boson является NetSim, приложение, которое имитирует сетевые маршрутизаторы и коммутаторы Cisco.
Boson NetSim имеет ряд преимуществ в качестве платного сетевого симулятора.
Модель лицензирования Boson является накопительной, как и уровни сертификации Cisco. Каждая лицензия Boson сопоставляется специально с сертификационным экзаменом Cisco и включает в себя задания для предыдущих экзаменов.
Количество упражнений, которые доступны, зависит от лицензии. Каждое упражнение поставляется с подробными инструкциями о том, что необходимо настроить и проверить в рамках соответствующей топологии сети.
Каждое упражнение оценивается при завершении. Есть возможность отслеживать завершение лабораторных работ из приложения, что позволяет сразу просматривать выполненные и невыполненные работы, попытки.
Все приобретенные упражнения легко доступны из приложения. Все задания загружаются, выполняются и оцениваются из самого программы.
Если создать топологию сети, которой необходимо поделиться, ее можно легко загрузить в сообщество NetSim и наоборот, можно просматривать загруженные проекты других людей и использовать их в самом симуляторе.
Терминалы являются вкладками, поэтому для каждого устройства они отображаются в своей собственной вкладке. Если это неудобно, то можно разместить вкладку в своем собственном окне.
Почти каждое окно можно легко закрепить и переместить, чтобы интерфейс был настроен в соответствии с предпочтениями пользователя.
Если сетевое устройство можно настроить путем добавления модулей, программа уточнит, какие модули необходимо вставить в устройство при его добавлении в топологию сети. NetSim определяет тип интерфейсов, которые добавляет каждый модуль [4].
После того, как устройство было настроено и добавлено в топологию сети, оборудование с такой же физической конфигурацией сохраняется в окне «последние устройства», откуда его легко добавить в топологию повторно.
Boson NetSim имеет встроенные задания, которые пересекаются с экзаменационными темами конкретных сертификационных экзаменов Cisco. Упражнения доступны непосредственно через приложение NetSim.
Терминал NetSim имеет некоторые функции, которых нет в терминале Packet Tracer, например более широкая поддержка клавиш быстрого доступа.
В окне «топология сети» отображается ограниченный объем информации, особенно во время выполнения имитационной топологии. Как только топология сети запущена, ее нельзя изменять, пока она не остановлена. Нет способа просмотреть содержимое отдельных пакетов, проходящее по сети. Все сетевые устройства имитируются в режиме реального времени. NetSim доступен только для операционных систем Windows.
Активная топология сети не обеспечивает достаточную визуальную обратную связь относительно состояния устройств, связей и передачи данных. Программное обеспечение NetSim, имитирующее Cisco IOS, имеет странное поведение, не проявляемое на реальном оборудовании Cisco, особенно при использовании контекстно-зависимой справки или выполнении несуществующих команд.
Графический сетевой симулятор (GNS3) – это бесплатный интерфейс клиент-сервер с открытым исходным кодом для эмуляции и виртуализации сети. Это платформа на основе Python, которая в основном использует программное обеспечение под названием Dynamips для эмуляции программного и аппаратного обеспечения Cisco.
GNS3 поддерживает большой объем виртуальных сетевых устройств от различных поставщиков сетевого оборудования за счет использования устройств, которые являются простыми в импорте шаблонами.
Поскольку GNS3 является клиент-серверным приложением, рекомендуется разворачивать виртуальную машину GNS3 VM (Virtual Machine) в качестве сервера. Затем можно установить клиентское приложение GNS3 на локальном компьютере и подключиться к серверу виртуальной машины GNS3. После установки можно создавать сетевые топологии с помощью клиентской части ПО, которые будут выполняться на сервере.
GNS3 имеет ряд преимуществ в качестве бесплатного эмулятора сети с открытым исходным кодом.
Открытый исходный код эмулятора можно просмотреть на GitHub бесплатно. Если пользователь обнаруживает ошибку в программном обеспечении, он может сообщить об этом сообществу или самому разработчику. Может попытаться воспроизвести ошибку, исправить ее и отправить измененный исходный код для улучшения программного обеспечения.
GNS3 имеет сообщество разработчиков и пользователей, главное преимущество которого – положительная обратная связь, созданной группой единомышленников, которые хотят помочь другим учиться, работать.
Эмулятор имеет хорошую документацию с иллюстрациями для начинающих пользователей или при необходимости руководства по расширенной конфигурации.
В GNS3 каждое виртуальное сетевое устройство можно запускать и останавливать независимо от других виртуальных устройств.
Эмулятор не только поддерживает Ethernet-соединения между сетевыми устройствами, но и позволяет устанавливать последовательные соединения между устройствами, поддерживающие соответствующие модули.
Программное обеспечение GNS3 не имеет встроенных образов сетевых операционных систем. Поэтому для эмуляции любых маршрутизаторов или коммутаторов Cisco необходимо сначала иметь существующий образ программного обеспечения Cisco IOS, совместимый с GNS3.
Главным недостатком GNS3 является факт необходимости создавать свои собственные программные образы сетевых устройств для эмуляции. Это не вина GNS3. Интегрирование образов программного обеспечения Cisco IOS в GNS3 было бы незаконным. Наличие этих образов является важным фактором, и это необходимо учитывать перед развертыванием GNS3 для личного или коммерческого использования.
Если Cisco Packet Tracer является «золотым стандартом» в симуляторах виртуальных сетей, то GNS3 – в эмуляторах виртуальных сетей. Сообщество GNS3 с открытым исходным кодом создало многофункциональное, хорошо документированное программное обеспечение, которое является полностью бесплатным. Несмотря на следование традиционной модели серверного/клиентского приложения, серверный компонент прост в развертывании, настройке и обслуживании [5].
VIRL (Virtual Internet Routing Lab) – это фирменный эмулятор виртуальной сети Cisco, предназначенный для образовательных учреждений и частных лиц. Он очень похож на Cisco Modeling Labs, который является высокомасштабируемым вариантом VIRL, предназначенным для средних и крупных предприятий для моделирования и эмуляции корпоративных сетей. VIRL работает в клиент-серверной модели, аналогичной GNS3. Сервер VIRL устанавливается либо на отдельном сервере, либо в качестве виртуальной машины, затем создаются сетевые топологии, и они взаимодействуют с сервером с помощью клиентского приложения VM Maestro.
VIRL имеет несколько преимуществ в качестве платного эмулятора.
Установка сервера VIRL открывает законный, лицензированный доступ к различным образам программного обеспечения Cisco. Эти программные образы могут быть извлечены из сервера VIRL и установлены в других сетевых эмуляторах, таких как GNS3. По этой причине многие пользователи VIRL фактически не используют сервер VIRL для тестирования сетевых топологий, так как они предпочитают использовать другие сетевые эмуляторы. Вместо этого они рассматривают подписку VIRL как законный способ получения актуальных образов программного обеспечения.
Если необходимо поделиться топологией сети и выполнить ее на другом сервере VIRL, экспорт топологии сети прост. Это особенно удобно, если топология использует базовые, ненастроенные образы, которые всегда поставляются с VIRL.
Эмулятор включает в себя функцию AutoNetKit, которая позволяет автоматически заполнять базовую конфигурацию функций на узлах по всей топологии сети.
VIRL имеет несколько проблем, которые необходимо решить.
Доступ к VIRL Personal Edition стоит 199$ в год. Однако лицензия Personal Edition позволяет одновременно запускать только 20 узлов во всех активных симуляциях.
Эмулятор требует больше вычислительной мощности и памяти по сравнению с другими решениями.
В VIRL поддерживаются только интерфейсы Ethernet. Поэтому, если нужен доступ к последовательным интерфейсам, придется использовать Packet Tracer или NetSim.
В эмуляторе есть два различных вида для топологии сети – проектные и имитационные виды. Конструктор предназначен для размещения и подключения узлов, а также определения автоматической и ручной конфигурации для каждого узла. Он позволяет управлять активно работающими сетевыми устройствами и подключаться к ним.
После запуска топологии нельзя ее изменять. Нельзя добавлять или удалять узлы, а также добавлять или удалять соединения между узлами.
VIRL имеет ряд недостатков, таких как ресурсоемкая работа сервера VIRL и отсутствие поддержки последовательных интерфейсов.
EVE-NG (Emulated Virtual Environment Next Generation) – это многопользовательский эмулятор виртуальной сети, который, подобно VIRL Personal Edition, был разработан для частных лиц и небольших предприятий. Компания предлагает бесплатное издание, а также профессиональное издание за $110,75 в год.
Издание EVE-NG Community Edition имеет несколько основных преимуществ, в том числе полностью бесплатное издание и этой версии более чем достаточно для обучения.
Но также существуют два больших отличия между этими изданиями EVE-NG:
Бесплатное издание имеет ограничение в 63 узла для каждой виртуальной лаборатории. А в профессиональном издании отсутствует ряд административных функций, в том числе поддержка нескольких пользователей, ролей пользователей.
Клиент EVE-NG – это ключевая особенность, которая отличает данный эмулятор от VIRL и GNS3. В EVE проектирование, подключение и управление сетевыми топологиями выполняется через браузер. Не нужно загружать и устанавливать отдельное приложение в дополнение к серверу для виртуализации, подключения и настройки сетевых устройств. Необходимо просто развернуть сервер через установку или виртуальную машину, а все остальное – сделать с помощью браузера. Работа через браузер не вызывает проблем даже при работе с большими топологиями.
Как и GNS3, EVE-NG позволяет изменять топологии сети во время их активного выполнения – это отличная экономия времени при работе с узлами, которые долго загружаются. EVE-NG поддерживает как последовательный, так и Ethernet-интерфейсы. Это полезно при работе с технологиями, которые включают последовательные интерфейсы, такие как Frame Relay.
Бесплатное издание EVE-NG имеет два недостатка.
В документации EVE-NG трудно ориентироваться. В целом документация содержит всю необходимую информацию, но со случайными грамматическими ошибками, а иногда текст пишется в разговорной форме. Некоторые документы недоступны в письменном виде, например инструкции по установке виртуальной машины доступны только в формате видео. Сами ролики хоть и являются информативными, но отсутствие грамотно написанной инструкции доставляет неудобство.
Но самым большим недостатком EVE-NG является то, что эмулятор не предоставляет никаких программных образов. Поэтому необходимо иметь лицензионный доступ к образам программного обеспечения сетевых устройств, чтобы эмулировать их через EVE-NG. Дополнительный недостаток – процесс установки образа программного обеспечения виртуального сетевого устройства требует доступа по SSH к серверу EVE-NG. А также необходимы навыки работы с оболочкой Linux для импорта программных устройств, используемых в сетевых топологиях.
Заключение
Эмуляторы, как правило, ограничены в типах виртуальных сетевых устройств, которые они поддерживают, а также в том, как эти виртуальные устройства могут подключаться друг к другу. Кроме того, в зависимости от конкретного используемого программного обеспечения потребуется найти бинарный файл образа виртуального сетевого устройства, который надо эмулировать, а также соответствующее лицензирование. Эти ресурсы обычно приобретаются через договор о поддержке с сетевым вендором.
Наконец, поскольку эмуляторы виртуализируют реальные сетевые устройства, их системные требования требуют гораздо больше вычислительной мощности, памяти и места для хранения данных по сравнению с сетевыми симуляторами. Некоторые сетевые эмуляторы требуют отдельного виртуализированного сервера для работы.
В существующей экосистеме программного обеспечения для симуляции и эмуляции сетей может быть трудно ориентироваться, особенно новичкам в сетевых технологиях. На основе проведенного сравнительного анализа, можно сделать вывод о том, что программные симуляторы и эмуляторы являются удобным и функциональным средством при проектировании и внедрении сетевых решений. Проведенный анализ показывает, что в зависимости от поставленных при проектировании задач можно выбрать наиболее оптимальный вариант программного обеспечения, наиболее полно удовлетворяющий вашим требованиям.