Сетевой эмулятор. Unetlab – отличная замена GNS3 и Cisco Packet Tracer! Проекты одной строкой

Dynamips - это программный эмулятор аппаратной части маршрутизаторов сisco. Проект разрабатывался начиная с 2005 года как эмулятор cisco 7200 на обычном компьютере.
Впоследствие появилась поддержка других платформ. Сейчас (2008) список такой: Cisco 3600 series (3620, 3640 и 3660), 3700 series (3725, 3745) и 2600 series (по 2610 по 2650XM, 2691).
Заглянем глубже и попытаемся понять как он работает и что с ним можно делать.


Dynamips хорош в случаях, когда необходимо:

  • быстро проверить конфигурацию маршрутизатора для непосредственного её применения последствие на реальной железке;
  • получить лабораторный стенд малой кровью, однако достаточно мощный для обучения или демонстрации;
  • опробовать преимущества и возможности операционной системы Cisco IOS без необходимости покупки самого маршрутизатора.
Первая мысль которая может прийти в голову на этом месте: а не может ли эмулятор cisco заменить сам маршрутизатор? В какой то степени да, но лишь при очень малой нагрузке. Сам автор проекта указывает что производительность реального маршрутизатора выше приблизительно раз в 100 (производительность Dynamips около 1 килопакета в секунду в то время как даже самая ранняя модель NPE-100 даёт 100 килопакет/сек).
Помимо аппаратного обеспечения маршрутизаторов cisco существует возможность эмулировать сетевые устройства, такие как:
  • мост (используя который можно соединить эмулированный маршрутизатор с реальной сетью или другому виртуальному маршрутизатору);
  • Ethernet-коммутатор;
  • ATM-коммутатор;
  • ATM-мост (Ethernet ATM);
  • коммутатор Frame-Relay.
Замечательной способностью Dynamips-а является то, что он может работать в режиме гипервизора . То есть одновременно есть возможность запускать не одну виртуальную циску, а целую сеть со всеми возможностями dynamips: коммутаторами, маршрутизаторами, мостами.. Таким образом появляется возможность выполнять лабы без реального оборудования. Или же демонстрационные стенды. Причём практически любой сложности. В таком управление гипервизором осуществляется по сети TCP/IP, а сам dynampis запускается примерно таким образом:

dynamips -H 7200

где 7200 - порт для связи с гипервизором.

Следует заметить , что запущенный по умолчанию, эмулятор сильно загружает компьютер. Даже на 100%. Чтобы снизить нагрузку создана опция "Idle PC". С её помощью можно снизить нагрузку на процессор и, таким образом, запустить второй, третий и более эмуляторов cisco одновременно без существенной нагрузки процессора. Значение IdlePC специфично для каждого образа IOS. Необходимое значение выбирается опытным путём. Непосредственно с Dynamips это делается следующим образом: после загрузки маршрутизатора желательно с пустой конфигурацией после приглашения Press RETURN to get started! Нужно секунд через 5 нажать "Ctrl-] + i". Начнёт собираться статистика загруженности процессора. По истечении этого процесса (порядка 10 секунд) будет выведено несколько значений, из которых потенциально лучшие будут помечены. Возможно, придётся попробовать несколько значений прежде чем нагрузка процессора спадёт со 100% до примерно 5% (на разных компьютерах по-разному).

Dynamips представляет из себя один исполняемый файл. Причём есть варианты под Linux, Mac OS и Windows. Но при запуске принимает множество аргументов, для задания особых параметров эмуляции. Подробнее об аргументах можно почитать на странице проекта xgu.ru.

Однако частенько требуется быстро развернуть виртуальную сеть, а использовать (изучать, набирать) dynamips со всеми необходимыми аргументами для запуска проблематично, если ещё и учесть необходимость создания конфигурационного файла, описывающего виртуальную сеть. Вот пример такого файла:

IF:E0:udp:10000:127.0.0.1:10001
IF:E1:udp:10002:127.0.0.1:10003
IF:E2:gen_eth:eth0

DOT1Q:E0:1
ACCESS:E1:4
DOT1Q:E2:1

И это только конфиг, описывающий простой коммутатор. А если есть необходимость эмуляции магистралей Frame Relay или ATM?... В общем можете сами дорисовать картину и попробовать распланировать все свои необходимые действия для эмуляции сети cisco с использованием только голого dynamips.

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

Dynagen (сайт проекта dynagen.org). Использует CLI-like (интерфейс командной строки) для управления dynamips, который запускается в режиме гипервизора. Необходимо всё-таки создать конфигурационный файл типа INI и dynagen через сеть (см. запуск гипервизора) будет управлять dynamips. Это говорит о том, что сам гипервизор может быть запущен за удалённом компьютере. Пример такого конфига:


image = \Program Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image
# On Linux / Unix use forward slashes:
#image = /opt/7200-images/c7200-jk9o3s-mz.124-7a.image
npe = npe-400
ram = 160

[]
s1/0 = F1 1

[]
s1/0 = F1 2

[]
s1/0 = F1 3

[]
1:102 = 2:201
1:103 = 3:301
2:203 = 3:302

Подсчитать значение Idle PC и уменьшить загрузку процессора в dynamips в можно с помощью команды idlepc. Список команд - ? .
Dynagen и dynamips можно скачать .

Xenomips и Xentaur. Эти проекты пошли ещё дальше.
Xenomips объединяет эмуляцию cisco и виртуализацию Xen. Таким образом, список виртуальных устройств dynamips расширяется возможностями Xen. И на одном физическом компьютере как хост-системе можно создать лабораторный стенд из виртуальных маршрутизаторов cisco, коммутаторов, Ethernet-мостов, магистралей Frame Relay и ATM, межсетевых экранов Cisco PIX (используя параллельный проект Pemu), серверов и рабочих станций Linux, FreeBSD, Windows, MacOS и так далее.
Цель проекта Xentaur — разработка инструментов и методов быстрого построения виртуальных сетей и исследования их работы. Сети могут быть не только чисто виртуальными, но и смешанными: наряду с виртуальными узлами в них могут работать и обычные компьютеры и сетевые устройства.
Подробнее про эти проекты можно почитать на сайте проекта xgu.ru: Xenomips , Xentaur .

Таким образом для эмуляции сетей cisco нам нужно выбрать, для каких целей нам это нужно. Для многих случаев достаточно GNS3. Если необходимо создать крупный проект и рассмотреть (или демонстрировать) взаимосвязи между виртуальными серверами, рабочими станциями и сетевыми устройствами, то стоит обратить внимание на Xenomips.

Удачи в изучении!

P.S. Остаётся порой задаться вот каким вопросом. Все описанные инструментальные средства распространяются по лицензии GPL и/или бесплатны и свободны для загрузки. Однако не сам образ ОС IOS. Так что вопрос, где скачать Cisco IOS остаётся открытым. Это ПО распространяется Сisco на коммерческой основе. Однако если задаться целью, то скачать IOS для учебных целей можно - можно найти легко. ;-)

Чтобы научиться работать с "серьезным" сетевым оборудованием, совсем
необязательно иметь тугой кошелек. Можно воспользоваться специальными
эмуляторами, полностью имитирующими нужную среду, а то и целые сети.

Packet Tracert

Разработчик : Cisco Systems Inc.
Web :

cisco.com/web/learning/netacad/course_catalog/PacketTracer.html
ОС : Windows XP/Vista/7, Linux (Ubuntu, Fedora)
Лицензия : бесплатно для зарегистрированных преподавателей и студентов курсов

Умение работать с оборудованием Cisco всегда являлось жирным плюсом при
приеме на работу, однако оплатить курсы или приобрести циску (даже б/у) может
далеко не каждый. Вероятно, поэтому количество кошачьих эмуляторов растет из
года в год, и они пользуются популярностью у админов и желающих ими стать.
Используя эмулятор, можно самостоятельно подготовиться к получению сертификатов
CCNA (Cisco Certified Network Associate, Сертифицированный Cisco Сетевой
Специалист), "перепробовав" все доступные девайсы и понастраивав сеть.

Обзор начнем с официальной разработки Cisco – эмулятора Packet Tracert,
предлагаемого отделением Networking Academy, отвечающим за образование и
подготовку различных курсов. Задача программы: помочь закрепить на практике
полученные студентом теоретические навыки. Для ее решения PT обладает всем
необходимым, позволяя "строить" сети различной сложности с практически
неограниченным количеством устройств. Все установки производятся при помощи
логической диаграммы сети, для симуляции представлен весь спектр оборудования,
выпускаемого Cisco (роутеры, свитчи, точки доступа и т.п.). Можно изменять
настройки объектов, моделировать потоки данных и многое другое. Поддерживается
большое количество протоколов и технологий, используемых в оборудовании Cisco
(полный список смотри в документации на сайте).

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

Официально в свободном доступе Packet Tracert не найти, он предназначен
только для зарегистрированных преподавателей и студентов курсов (его можно найти
на дисках, прилагаемых к некоторым книжкам по цисковским курсам). Но – нехитрый
запрос к гуглу, и нужная программа будет у тебя на харде. Во время установки
никаких ключей не требуется, сам процесс стандартен.

Все настройки производятся в большом окне посередине. Внизу слева находятся
группы устройств, после выбора чуть правее появляются сами устройства. Отмечаем
нужное и двойным щелчком на свободном месте в поле посередине переносим его на
карту сети. Поддержка drag"n"drop делает процесс очень простым, устройства затем
можно двигать, удалять и т.п. Удобно, что PT самостоятельно связывает некоторые
девайсы, например, при появлении Wireless свитча к нему автоматически
подключаются все устройства, поддерживающие этот вид соединения. При протяжке
кабеля выбираем порт, к которому его подключаем. Один из значков отвечает за
автоматическое определение типа соединения, что ускоряет сборку сети на стадии
изучения. Если в процессе будет допущена ошибка, то пользователь получает
предупреждение с кратким описанием (например, нет свободного разъема).

Пока все настройки логической сети производились во вкладке Logical Workspace
(Ctrl+L). Чтобы перейти к физическому устройству и посмотреть порядок
подключения, следует выбрать в верхнем левом углу вкладку Physical Workspace (Ctrl+P).
Также PT предоставляет два режима отображения работы сети: Realtime Mode (Ctrl+R)
и Simulations Mode (Ctrl+S). Переключение производится при помощи ярлыков в
правом нижнем углу или горячих клавиш. В Realtime сеть работает в обычном
режиме, в режиме Simulations можно наблюдать и контролировать процессы,
происходящие в сети (работу устройств, интервалы времени, механизмы передачи
данных и т.д.) Мастер Activity Wizard поможет создать собственные учебные
сценарии.

Осталось добавить, что предусмотрена работа в многопользовательском режиме, а
также доступно несколько пособий по настройке Cisco и справочная система,
помогающая разобраться во всех возможностях.

Эмулятор Dynamips

Разработчик : OpenSource
Web :

www.ipflow.utc.fr/index.php/Cisco_7200_Simulator
ОС : Windows 2k/XP/Vista, x32/x64 Linux, Mac OS X
Лицензия : GNU GPL

Проект Dynamips стартовал в августе 2005 года как эмулятор маршрутизатора
Cisco 7200 на ПК и предназначался для проверки конфигурации перед использованием
на настоящем оборудовании и для обучения. Сегодня Dynamips может эмулировать и
другие платформы Cisco – серии 3600, 3700 и 2600. Причем с выбором разных
вариантов устройств: CPU (MIPS64 и PowerPC), RAM (DRAM, Packet SRAM, NVRAM),
различных типов карт и портов. Предусмотрена возможность создания виртуальных
мостов и коммутаторов. Главная особенность – эмулируемое устройство можно
подключить к реальной сети, для чего один из выходов виртуального маршрутизатора
связывается с реальной сетевой картой. Работа в режиме гипервизора позволяет
распределить нагрузку на несколько систем, ведь IOS (Internet Operating System)
образы полностью загружаются в ОЗУ и при большом количестве виртуальных систем
отбирают много ресурсов.

Нужный пакет доступен в репозиториях некоторых дистрибутивов Linux. Для
захвата трафика используется библиотека pcap, при установке в Windows
потребуется самостоятельно инсталлировать WinPCAP. В Ubuntu/Debian установка
проста:

$ sudo apt-get install dynamips

Все параметры Dynamips легко узнать, запустив его с ключом "--help". По
умолчанию эмулируется Cisco 7206VXR с NPE-200 и 256 Мб ОЗУ DRAM. Чтобы указать
другую платформу, следует использовать параметр "-P" (например, "-P 3600").
Дополнительный ключ "-t" позволяет "изменить" внутренности виртуального
маршрутизатора (в зависимости от выбранного типа аргументы "-t" будут различны).
Для запуска понадобятся реальные IOS образы Cisco, которые не являются частью
пакета, и их необходимо скачивать отдельно (легко находятся гуглом, в Сети
доступны сборники по несколько гигов). Иногда IOS-образы поставляются в сжатом
виде, и перед загрузкой их нужно распаковать:

$ unzip -p c7200-g6ik8s-mz.124-2.T1.bin > c7200.image

Запускаем:

$ dynamips c7200.image

Но в плане настроек Dynamips не очень удобен, чтобы создать на его основе
сеть из нескольких маршрутизаторов, придется немало потрудиться. Эту задачу
можно облегчить при помощи Dynagen ,
который является текстовым фронт-эндом к Dynamips. Используя простой файл
описания виртуальной среды, мы можем легко соединить несколько устройств.
Главное, что все установки собраны в одном месте, имеют простой синтаксис и
легко редактируются.

$ nano v_router.net

# Описание узла, на котором установлен Dynamips
# Тип роутера
# Путь к IOS-файлу
image = /home/grinder/images/c7200.image
# Общие параметры, в данном случае платформа и RAM, при необходимости внутри
роутера можно указывать специфические настройки
npe = npe-400
ram = 160

# Первый роутер
[

# Указываем подключение, в нашем случае интерфейс Serial1/0 на R1 будет
подключен к Serial1/0 R2
s1/0 = R2 s1/0

[]
# Оставляем все по умолчанию

Это простейший пример, чтобы понять суть настроек. В "боевом" конфиге может
быть с десяток самых разных роутеров и конфигураций. Например, чтобы связать
один из выходов виртуального маршрутизатора с сетевым интерфейсом реальной или
виртуальной системы, пишем:

s2/0 = NIO_linux_eth:eth1

Сначала запускаем dynamips в режиме гипервизора (после отладки можно
стартануть в фоне, добавив "&"):

$ sudo dynamips -H 7200
Cisco Router Simulation Platform (version 0.2.8-RC2-amd64)
Copyright (c) 2005-2007 Christophe Fillot.
Build date: May 9 2009 18:06:28

ILT: loaded table "mips64j" from cache.
ILT: loaded table "mips64e" from cache.
ILT: loaded table "ppc32j" from cache.
ILT: loaded table "ppc32e" from cache.
Hypervisor TCP control server started (port 7200).

Теперь Dynagen:

$ dynagen v_router.net

После загрузки образов (процесс будет выводиться в консоли, где запущен
dynamips) и настроек виртуальных роутеров получим приглашение консоли
управления. Введя знак вопроса или help, получим справку по командам. Набрав "help
команда", узнаем обо всех параметрах конкретной команды. Поддерживается
автодополнение ввода при помощи клавиши . Для остановки, запуска,
перезапуска, приостановки и продолжения применяем команды start, stop, reload,
suspend, resume с указанием имени роутера или ключа /all для всех устройств:

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

=> list
Name Type State Server Console
R1 7200 running localhost:7200 2000
R2 7200 running localhost:7200 2001

Теперь при помощи команды:

$ telnet localhost 2000

Можем подключиться к порту, указанному в поле Console. Хотя проще
подключиться, указав имя устройства в строке приглашения Dynagen:

В отдельном окне откроется окно терминала, в котором уже управляем
настройками.

Несколько виртуальных маршрутизаторов могут нехило загрузить систему. Причем
вне зависимости от реально выполняющейся работы. Это происходит потому, что
Dynamips не знает, когда роутер выполняет полезную работу, а когда находится в
режиме ожидания. Команда idlepc позволяет проанализировать IOS-образы в действии
и определить циклы простоя. При первом запуске значение не установлено:

*** Warning: Starting R1 with no idle-pc value

Нужную цифирь idle-pc можно получить, введя в консоли dynagen команду "idlepc
get имя_роутера":

=> idlepc get R1

Будет выдано несколько значений, наиболее оптимальные отмечены знаком "*".
Далее выполнение команды остановится, и потребуется ввести одну из цифр,
соответствующих выбранному idlepc. После этого его значение будет добавлено к
выполняющемуся процессу. При запуске Dynamips вручную значение idlepc
указывается при помощи параметра " --idle-pc= ", как вариант, в
секции роутера конфига Dynagen дописываем:

idlepc = 0x6076a394

Повторно просмотреть весь список idlepc просто:

=> idlepc show R1

Все, маршрутизатор можно настраивать.

Проект оброс несколькими субпроектами, делающими использование Dynagen более
удобным. Например, gDynagen
обеспечивает единую консоль для ввода команд для Dynamips + Dynagen. Генератор
настроек для Dynagen –
confDynagen
добавляет новый режим конфигурирования, который дает возможность изменять
параметры Dynagen "на лету", без остановки виртуальной сети.

Симулятор GNS3

Разработчик : OpenSource
Web : ns3.net
ОС : Windows 2k/XP/Vista, *nix, Mac OS X
Лицензия : GNU GPL

GNS3 (graphical network simulator) – очень мощный симулятор, выпускаемый под
свободной лицензией и позволяющий эмулировать сети большого размера. Полезен
администраторам и инженерам, а также пользователям, которые готовятся к сдаче
сертификатов Cisco (CCNA, CCNP, CCIP, CCIE) и Juniper Networks (JNCIA, JNCIS,
JNCIE). Чтобы обеспечить максимальную функциональность, также следует установить
Dynamips, Dynagen и виртуальную машину Qemu. Для захвата пакетов потребуется
Wireshark (wireshark.org). Кроме образов Cisco IOS, GNS3 умеет работать с
olive-образами JunOS (juniper.net/ru/ru/products-services/nos/junos) –
операционки, используемой в оборудовании компании Juniper Networks.

Возможна эмуляция простых Ethernet, ATM и Frame Relay свитчей и файеров (ASA,
PIX). Как и в случае с Dynamips, легко подключить виртуальный свитч к сетевой
карте реальной или виртуальной системы. И главное – все настройки производятся в
интуитивно понятной графической среде.

Пакет GNS3 уже доступен в репозиториях большинства основных дистрибутивов
Linux. В Debian/Ubuntu для установки набираем:

$ sudo apt-get install gns3

Чтобы использовать самые свежие версии, следует подключить репозиторий
gpl.code.de. Подробные инструкции для своего дистрибутива ищи по адресу

gpl.code.de/oswiki/GplcodedeApt . Для самостоятельной сборки пакетов
потребуется наличие Python и ряда библиотек: Qt, PyQt и других.

При первом запуске встречает Setup Wizard, объясняющий два основных
требования к запуску программы: проверить правильность пути в Dynamips и при
необходимости скорректировать его. Плюс загрузка IOS-образов.

Окно программы можно назвать стандартным. Слева в "Nodes Types" находятся
значки устройств, которые простым перетаскиванием помещаем в окно посередине,
строя виртуальную сеть. Двойным щелчком вызываем окно свойств, где настраиваются
специфические параметры для конкретного роутера, и, в том числе, добавляются
адаптеры. Контекстное меню позволяет запустить, остановить устройство, получить
IDLE PC, выйти в консоль. В панели сверху доступны примитивные инструменты
рисования (вставка круга, прямоугольника, рисунка). Сеть, состоящая из одних
маршрутизаторов, не очень наглядна, остальные компоненты сети (серверы, принтеры
и т.п.) добавляются через "Edit – Symbol Manager".

Правое окно "Topology Summary" предназначено для быстрой навигации, здесь
выводятся все девайсы (работающие подсвечиваются зеленым значком). Если образа,
соответствующего выбранному устройству, в коллекции GNS3 нет, то при попытке
добавить такой роутер получим предупреждение. Чтобы добавить IOS-образы или
указать местонахождение гипервизоров Dynamips, открываем "Edit – IOS images and
hypervisors". Указываем на image-файл, при этом платформа, модель и количество
RAM отображаются автоматически. Эти значения будут использованы по умолчанию, их
можно скорректировать. В поле IDLE PC прописывается нужное значение (если оно
известно). Внизу посередине находится консоль Dynagen, предназначенная для
непосредственного ввода команд.

После нанесения на карту всех устройств при помощи консоли приступаем к их
настройке, в частности, устанавливаем связи щелчком по "Add a link". Созданные
настройки сохраняются в файл для повторного использования.

Стоит отметить, что имеется еще один проект –
Dynagui , наглядно
показывающий подключения между роутерами. Но по функциональности он не
дотягивает до GNS3, а последнее обновление датировано 2007 годом.

Заключение

Не стоит пренебрегать программными эмуляторами сетевого оборудования и
недооценивать предлагаемые ими возможности, тем более, что разработчики Cisco
Systems и Juniper Networks настоятельно рекомендуют их использовать.

Некоторые команды маршрутизаторов Cisco

help – справка по всем командам
setup – запуск мастера конфигурирования маршрутизатора
show config – просмотр текущих настроек
configure terminal – вход в режим настройки хоста
enable [номер уровня] – переход к определенному уровню настроек
hostname Router – вводим имя маршрутизатора
ip http server – запуск веб-интерфейса
ip route 172.1.1.0 255.255.255.0 10.1.1.1 permanent – статический маршрут
clear ip route * – удаление всех маршрутов
show ip route – просмотр маршрутов

Консоль Cisco поддерживает автодополнение с использованием табуляции,
поэтому полностью вводить команды не обязательно.

Проекты одной строкой

Network Simulator –
симулятор, предназначенный для изучения работы сетевых протоколов и
маршрутизации. Опционально включает модуль анимации nam (network animator).

Xentaur – решение
для организации сетей, объединяющих реальные устройства, эмуляторы и
виртуальные машины Xen.

NetSim
– симулятор работы по протоколам нижнего уровня, с 3D визуализацией
процессов.

ProfSIMs ,
RouterSim ,
CertExams.com
– коммерческие симуляторы и визуализаторы, позволяющие подготовиться для
сдачи сертификата Cisco.

INFO

С помощью программы Packet Tracert можно строить целые сети между
виртуальными офисами.

В Packet Tracert доступны инструменты рисования, которые помогут лучше
представить сеть на карте. Так, например, отдельные элементы или группы
можно раскрасить разными цветами.

WARNING

Некоторые старые версии IOS не поддерживают команду idlepc.

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

Для решения данных задач разрабатывается сетевое оборудование: разные маршрутизаторы, коммутаторы различных уровней и т.д. Компания Cisco Systems считается безусловным фаворитом на рынке сетевого оборудования (занимает около 70% рынка) и предлагает модели от простых маршрутизаторов для небольшого офиса до мультигигабитных устройств, размещаемых в ядре Интернета .

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

С целью полного понимания информационных и коммуникационных технологий компанией Cisco был разработан программный эмулятор Cisco Packet Tracer (рисунок 1).

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

Cisco Packet Tracer предоставляет пользователям понятную интерактивную среду обучения. Пользователи могут собственными руками создать свою виртуальную «сеть миров» с целью исследования, экспериментирования и понимания сетевых механизмов и технологий сетей.

Программа Cisco Packet Tracer обладает следующими возможностями и особенностями:

    Позволяет моделировать топологии сетей практически любого размера ;

    Доступен режим симуляции;

    Моделирование сети в режиме реального времени;

    Интуитивно понятный интерфейс;

    Мультиязычность;

    Большое количество различного оборудования.

Cisco Packet Tracer имеет две рабочие области: логическую и физическую. Логическая область позволяет создавать и управлять логическими топологиями сетей. Физическая область визуализирует логическую топологию, давая понятие о размахах и трудоустройствах оборудования, таких как маршрутизаторы, коммутаторы, хосты, которые станут работать в настоящей среде. Физическое пространство также дает представление сети, в том числе нескольких городов, зданий, построек, монтажных шкафов .

Режимы Cisco Packet Tracer предусматривают работы по визуализации поведения сети в реальном режиме времени и имитации. Все операции с сетью проходят в режиме реального времени. В имитационном режиме пользователь имеет возможность видеть и контролировать временные интервалы, внутреннее устройство передачи данных, распределение данных по сети.

Рис. 1. Интерфейс Cisco Packet Tracer

Cisco Packet Tracer поддерживает последующие протоколы:

    На прикладном уровне: FTP, SMTP, Telnet, AAA, SNMP, SSH, DNS, DNCP, HTTP, POP3, ISRVOIP, NTP;

    На транспортом уровне: TCpand, TCP, UDP, NagleAlgorithm & IPFragmentation, RTP;

    На сетевом: IPv6, IPv4, ICMP, ICMPv6, BGP, RIPv1/v2/ng, Multi-AreaOSPF, EIGRP, StaticRouting, Route Redistribution, Multilayer Switching, L3 QoS, NAT, CBAL, GREVPN, IPSecVPN.

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

GNS3 это идеальная утилита для подготовки сетевых инженеров, администраторов и людей, которые готовятся к сертификации CCNA, CCNP, CCIP или CCIE. Он позволяет поэкспериментировать с различными версиями Cisco IOS, а также проверить свои конфигурации перед использованием на реальном оборудовании.

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

GNS3 является бесплатным продуктом, находится в свободном доступе и не имеет каких-либо ограничений по использованию (рисунок 2).

Но при всем при этом имеются недостатки:

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

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

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


Рис. 2. Интерфейс GNS3

Boson NetSim – это программный эмулятор, предназначенный для моделирования работы сетевых устройств Cisco (рисунок 3).

Компания Boson обеспечивает данный продукт очень развитой поддержкой, поэтому компания Cisco Systems рекомендует этот продукт для подготовки к сертификационным экзаменам Cisco. С этой целью программный эмулятор Boson NetSim поставляется в одной из 3 версий: , и .

Главный недостаток данного продукта ‒ это его дорогая себестоимость. Цена составляет 99$, цена 159$ и 299$ составляет цена .


Рис. 3. Интерфейс Boson NetSim

Cisco IOU – это эмулятор сети, разработанный компанией Cisco Systems, который позволяет моделировать сети из оборудования Cisco (рисунок 4). Основные достоинства Cisco IOU: полноценная поддержка L2 и L3 коммутаторов, достаточно низкие системные требования .


Рис. 4. Интерфейс Cisco IOU

К сожалению, Cisco IOU официально не распространяется никак. Данный продукт создан исключительно для сотрудников Cisco Systems.

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

3 На сегодняшний день существуют три эмулятора оборудования Cisco VIRL, GNS3 и UNetLab. Давайте пробежимся по их функционалу для сравнения их достоинств и недостатков.

Оригинал статьи: Сравнение UNetLab с VIRL и GNS3

Легальность

GNS3 и UNetLab требуют, чтобы вы раздобыли Cisco IOS самостоятельно. Такая серая схема, может нарушить условия использования Cisco IOS, которая удерживает некоторых пользователей от GNS3 или UNetLab. Со своей стороны, Cisco VIRL лицензирован на использование Cisco IOS и уже поставляется с некоторыми образами IOS внутри. Дадим VIRL один флажок.

Поддержка Serial интерфейсов

Первое что выделяется – это поддержка Serial интерфейсов. VIRL не поддерживает Serial интерфейсы, но возможен вариант в будущих релизах.. GNS3 и UNetLab имеют поддержку Serial интерфейсов. Поэтому GNS3 и UNetLab получают по одному флажку.

Поддержка дополнительного Cisco оборудования.

VIRL поддерживает из Cisco только IOS-XR, IOS XE, NX-OS, и классические IOS (vIOS-L2 и vIOS-L3). Так же в VIRL возможно загрузить образ ASAv.
GNS3 поддерживает классический IOS (Dynamips), также с помощью интеграции с QEMU возможно использование Cisco VIRL образов, Cisco ASAv, XRv.

Однако для GNS под Windows вас ждут разные неприятности, например запустив образ vIOS-L2/L3 (в GNS уже есть готовый шаблон для него), вы с удивлением обнаружите, что если в настройках укажите количество интерфейсов больше 8, то образ не запуститься.
Кроме того, QEMU под Windows ограничена 2Gb RAM. Это приводит к тому, что могут возникнуть проблемы с запуском таких образов как Cisco XRv и Cisco CSR1000v. Например CSR1000v требует 3G RAM. Можно попробовать выставить меньше, но все интерфейсы будут в состоянии DOWN. Количество линков в QEMU GNS также ограничено в 16, т.е это максимальное число соединений к одному QEMU устройству. Больше информации можно найти на сайте разработчиков UNL в разделе Differences between current UNetLab and GNS3 1.3.3

Также для работы образов Cisco IOL/IOU требуется отдельная виртуальная машина.

В свою очередь UNetLab поддерживает самую широкую линейку как Cisco оборудования, так и оборудование других вендоров. Вы можете запускать Cisco IOL-образы, образы из VIRL (vIOS-L2 и vIOS-L3), образы Cisco ASA Firewall, Cisco IPS, XRv и CSR1000v, образы dynamips из GNS, образы Cisco vWLC и vWSA,

Здесь мы отдадим флажок UNetLab

Поддержка других вендоров.

Есть несколько вендоров, оборудование которые можно интегрировать в среду GNS3. Но GNS3 не афиширует интеграцию с кем-либо, хотя имея интерфейс взаимодействия с QEMU, теоретически возможно реализовать Nested Virtualization и запускать образы, предоставленные вендорами для работы под VmWare. На практике же можно столкнуться со сложностями или существенными ограничениями интеграции того или иного оборудования в GNS3. Например коммутатор Arista EOS в GNS3 под Windows ограничен только 8 интерфейсами, хотя сам образ поддерживает 25.

Однако если сравнивать с UNetLab, то в последнем официальная поддержка наиболее широкая – Juniper, Extreme, Fortinet, HP, Checkpoint, Palo Alto, Arista, Alcatel, Citrix, MS Windows.

VIRL также не афиширует интеграции с кем-либо, хотя это может быть возможно, например поддержка Arista vEOS, Fortinet FortiGate, Juniper, Palo Alto, Windows. .

Внеполосное управление (OOB Access)

И VIRL и GNS3 и UNetLab поддерживют OOB доступ к CLI. Однако в UNetLab , вам не обязательно необходимо находиться на том же самом PC на котором запущена VM. Вы можете запустить VM UNetLab на одном PC или на ESXi, a ваша любимый терминал Putty или SecureCRT на любом удаленном клиенте – хоть из дома, хоть из гостиницы - из любого места. По флажку получают все.

Прелоад конфигураций.

Это то, что GNS3 делать не умеет. Это то что умеет делать VIRL – функция AutoNetKit. UNetLab умеет это делать частично, только для IOL и Dynamips образов. Поэтому VIRL зарабатывает свой флаг.

Многопользовательский функционал (Multi User).

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

Подобный функционал ни в GNS3 ни в Cisco VIRL не поддерживается. UNetLab забирает флаг себе

Стоимость

Cisco VIRL стоит почти 200$ за Personal Edition. Подписка годовая. Но даже купив лицензию, вы все равно остаетесь с ограничением в 15 Cisco устройств. К слову, надо отметить, что образы других вендоров можно запускать без ограничений. GNS3 и UNetLab – бесплатные продукты. Вы можете сделать добровольное пожертвование для развития продуктов если пожелаете. Кроме того сделав пожертвование в UNetLab вы также получите полную поддержку по установке использованию продукта от разработчиков, доступ к самым последним версиям и приоритетную разработку feature request. Но тем не менее только GNS3 и UNetLab получают по флажку.

Заключение:

В заключении хотелось обратить внимание на некоторые особенности работы UnetLab по сравнению с GNS:

  1. GUI в UNetLab предоставляется через Web-интерфейс, в тоже время в GNS - нужно инсталлировать клиента
  2. GUI в UNetLab поддерживает добавление своих изображений топологии с активными линками на работающие устройства. В GNS такая поддержка практически отсутствует (за исключением подложки между фоном и изображениями устройств - но выглядит очень коряво).
  3. В UNetLab отсуствует ограничение по памяти RAM для QEMU. В GNS Windows вы ограничены 2Gb
  4. В UNetLab Нет ограничения по количеству линков между устройствами. В GNS3 вы ограничены 16 линками в QEMU
  5. В UNetLab все устройства работают внутри одной VM. В GNS3 вам нужна отдельная VM для запуска IOL образов
  6. В VM UNetLab могут работать несколько пользователей одновременно. GNS3 - строго одно-пользовательская система.

Подведем итог: По легкости использования, функционалу, поддержке оборудования победа на сегодняшний день уходит в UNetLab.

Huawei eNSP – официальный и бесплатный симулятор от Huawei. Поддерживаются свитчи и роутеры, функционал – L2, L3, базовый MPLS, BNG(BRAS). Описание (архив), ссылка для скачивания (архив). Представляет интерес для тех, кто хочет ознакомиться с настройкой оборудования Huawei, разработчиков систем мониторинга и управления(SNMP поддерживается) и для изучения сетевых протоколов и технологий в целом. Есть возможность связать интерфейсы устройств с “внешним” миром, чтобы сопрячь его с реальными или другими виртуальными или хост-системой.

GNS3 – вероятно, самый популярный инструмент для создания виртуальных лабораторных стендов. Изначально был графической оболочкой над dynamips(эмулятор Cisco софтроутеров предыдущего поколения – c7200, c2800, c3725 и т.п.), но в настоящий момент имеет множество бэкэндов для запуска виртуальных устройств(кроме dynamips) – qemu, kvm, virtualbox, в связи с чем, кроме запуска устаревших софтроутеров Cisco, может ещё много всего(то, что умеют qemu, kvm и virtualbox). Подробнее можно узнать на официальном сайте (архив). Образы виртуальных устройств не включены в дистрибутив, имеются юридические вопросы относительно использования образов Cisco и Juniper Olive. Умеет делать интерконнект с внешним миром.

IOU-WEB – графический интерфейс над IOU (Cisco IOS on Unix). Образы устройств являются Cisco internal, но утекли в сеть. Предназначено для обучения и подготовки к экзаменам, имеются L2 и L3 образы устройств.

Cisco Learning Labs – коммерческая аренда лабораторных работы для подготовке к сдаче экзаменов CCNA, CCNP, MPLS. Решение построено на базе IOU. Описание (архив)

Cisco Packet Tracer – ПО для моделирования сети с оборудованием Cisco. Доступно (бесплатно) для скачивания студентам и выпускникам сетевой академии Cisco. Содержит огромное количество ошибок, сильно ограничен по функционалу, лучше никогда не использовать.

Junosphere Lab – коммерческая аренда устройств Juniper в “облаке”, предназначено для обучения и симуляции сети. ()

Виртуальное сетевое оборудование

Cisco

– CSR1000V Cloud Router – функциональный аналог оборудования Cisco ASR1K. Является коммерческим продуктом, но имеет пробный период 60 дней. Поддерживается функционал L3, MPLS(), ISG(BRAS), базовый L2 функционал – свитчинг между сабынтерфейсами, rewrite/push/pop dot1Q-тегов, vxlan(multicast mode) в релизе 3.12S. Цены не очень гуманные(например, лицензия на полный функционал(premium) на 10мбит/с на 3 года(L-CSR-10M-PRM-3Y=) стоит по GPL 1800$), но за то можно организовать полностью легальную свою лабораторию со всем функционалом ASR1K.
– ASA1000V Cloud Firewall, ASAVM, прочие образы ASA. Поскольку Cisco ASA это изначально обычный x86-сервер, то уже давно научились это оборудование виртуализовывать, имеются howto по использованию в GNS3
– Nexus 1000V – виртуальный свитч для vmware vsphere вместо простенького vmware vSwitch. Процесс установки вовсе не тривиальный, но имеются подробные howto как это сделать
– Cisco Titanium – эмулятор Cisco Nexus7k. Cisco internal only, но образы утекли в сеть
– IOS XRv – имеется бесплатный(демо) образ, полнофункциональный, за исключением ограничения производительности в 2Мбит/с. Для стендов хватает. Умеет L3 и MPLS. Всё, что связано с L2 не работает (в случае с VPLS и VPWS сигнализация отрабатывает, но трафик не коммутируется). IOS-XR сильно отличается по синтаксису от IOS/IOS-XE. . Коммерческая версия XRv позиционируется как роут-рефлектор
– Софтроутеры предыдущего поколения(см. выше о gns3 и dynamips)
– L2 и L3 образы IOU (см. выше об IOU-WEB)

Huawei

– Routervisio – внутренний продукт Huawei, эмулятор NE40E. В сети имеются дистрибутивы , однако мне запустить не удалось
– Виртуальные коммутаторы и маршрутизаторы eNSP (см. выше)

Juniper

– Juniper Firefly Perimeter (vSRX) – на сегодняшний день умеет L3, MPLS(включая VPLS), типовой функционал фаервола(SRX). Из L2 может только обычный псевдопровод и (свитчинг между локальным интерфейсом и псевдопроводами). Свитчинг между локальными интерфейсами не поддерживается
– Juniper Olive – внутренний продукт Juniper, но доступен в сети. Умеет L3, MPLS(L3VPN), тунели, базовый L4 функционал. Работает довольно медленно(особенно commit). Предпочтительней использовать vSRX вместо Olive
– Juniper VMX(виртуальный MX) – внутренний продукт Juniper, недоступен в сети

Прочее

– Mikrotik x86 – x86-версия дешёвых(по сравнению с Cisco) роутеров, пользующихся популярностью в сегменте SOHO. Имеет спорную репутацию, однако живёт за счёт низких цен при весьма солидном функционале
– различные linux based-дистрибутивы, предназначенные для роутинга и свитчинга (