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:
Подведем итог: По легкости использования, функционалу, поддержке оборудования победа на сегодняшний день уходит в UNetLab.
Здравствуйте! Сегодня я хочу поведать об одном интересном инструменте сетевого инженера как UNL. Это целая среда эмуляции и визуального проектирования сетей, позволяющая использовать как Cisco-образы (эмулятор Dynamips), так и Juniper или QEMU компоненты. Список поддерживаемого оборудования достаточно обширен, что мне показалось полезным, так это l2 коммутаторы, потому как в настоящее время я изучаю STP и его вариации, а Cisco Packet Tracer и GNS3 мягко говоря не справляются с этой задачей.
Кстати, если кого-то ещё заинтересует, нашёл местечко, где можно оптом заказать много различных технических приблуд, в том числе аккумуляторы, батареи, гарнитуры.
Ну чтож, начнём настраивать нашу виртуальную лабораторию по шагам:
У вас IP адрес может отличаться.
Подключаемся и переходим в каталог /opt/unetlab/addons/iol/bin , туда и закачиваем bin-образы наших IOL. Туда же нужно поместить файл iourc следующего содержания:
Если вдруг по каким-то причинам образы не смогут запуститься, например изменилось имя хоста или ещё что, можно воспользоваться кейгеном (в архиве из шага 4), ./scripts/keygen.py. Скопируйте его в виртуальную машину и запустите так (разумеется указав правильный путь):
# python /path/to/keygen.py
Так же стоит добавить в файл /etc/hosts следующую строку:
127.0.0.0 xml.cisco.com
Останавливаем коммутатор
Вводим данные, имя лабораторной работы, версию, при желании можно указать автора.
Добавляем активные устройства (Nodes). Здесь огромный выбор и коммутаторов и маршрутизаторов разных вендоров. Мы закачали пока что только IOL.
Поэтому добавлять будем IOL. Сразу 3 штуки, сменим иконку и уберём Serial интерфейсы.
Для соединения нам понадобятся линии связи. Здесь это называется Networks. Добавим три сети
Теперь правой кнопкой мыши кликнем на ноде и выберем пункт Interfaces.
Здесь выберем соответствующие сети на каждый интерфейс
Вот какая топология получилась
Откроем лабу для запуска
Запустим все ноды
Попадём в консоль к устройству. Кстати, если под нодой иконка треугольничка, значит нода запущена, если квадрат – значит остановлена.
Чтобы было легче прителнечиваться к устройствам, можно воспользоваться правкой ассоциаций протоколов. Файл реестра:
Windows Registry Editor Version 5.00
@="URL:Telnet Protocol"
"EditFlags"=dword:00000002
"FriendlyTypeName"="@ieframe.dll,-907"
"URL Protocol"=""
"BrowserFlags"=dword:00000008
@="c:\\putty.exe,0"
@=""
@="\"c:\\putty.exe\" %1"
Сохраняем файл как 1.reg и импортируем в реестр.
Друзья! Вступайте в нашу
Всем привет.
В свое время пришлось заниматься Cisco. Не долго, но все таки. Все что связано с Cisco сейчас мега популярно. Я в свое время имел отношение к открытию локальной академии Cisco в местном университете. Год назад был на курсах " ". Но не всегда у нас есть доступ к самому оборудованию, особенно во время учебы. На выручку приходят эмуляторы. Есть таковые и для Cisco. Я начинал с Boson NetSim, а студенты почти поголовно сейчас сидят на Cisco Packet Tracer. Но тем не менее этими двумя видами набор симуляторов не ограничивается.
Некоторое время назад мы в своём цикле «Сети для самых маленьких» перешли на эмулятор GNS3, который лучше удовлетворял нашим потребностям, чем Cisco Packet Tracer.
Но какие вообще у нас есть альтернативы? О них расскажет Александр aka Sinister, у которого пока нет аккаунта на хабре.
Существует достаточно большое количество симуляторов и эмуляторов для оборудования Cisco Systems. В этом небольшом обзоре я постараюсь показать все существующие инструменты, которые решают эту задачу. Информация будет полезна тем, кто изучает сетевые технологии, готовится сдавать экзамены Cisco, собирает рэки для траблшутинга или исследует вопросы безопасности.
Немного терминологии.
Симуляторы — имитируют некий набор команд, он вшит и стоит только выйти за рамки, сразу получим сообщение об ошибке. Классический пример — Cisco Packet Tracer.
Эмуляторы же напротив — позволяют проигрывать (выполняя байт трансляцию) образы (прошивки) реальных устройств, зачастую без видимых ограничений. В качестве примера — GNS3/Dynamips.
Первым рассмотрим Cisco Packet Tracer.
1. Cisco Packet Tracer
Этот симулятор доступен как под Windows, так и для Linux, бесплатно для учащихся Сетевой Академии Cisco.
В 6-й версии появились такие вещи как:
Ощущение такое, что новый выпуск был как раз приурочен к обновлению экзамена CCNA до версии 2.0.
Его плюсы — дружественность и логичность интерфейса. Кроме этого в нем удобно проверять работу разных сетевых сервисов, вроде DHCP/DNS/HTTP/SMTP/POP3 и NTP.
И одна из самых интересных фич — это возможность перейти в режим simulation и увидеть перемещения пакетов с замедлением времени.
Мне это напомнило ту самую Матрицу.
Что имеем в итоге?
Неплохой инструмент для тех кто только начал свое знакомство с оборудованием компании Cisco.
Следующий — GNS3, который представляет собой графический интерфейс (на Qt) для эмулятора dynamips.
Свободный проект, доступен под Linux, Windows и Mac OS X. Сайт проекта GNS — www.gns3.net. Но большинство его функций, призванных улучшить производительность, работают только под Linux (ghost IOS, который срабатывает в случае использования множества одинаковых прошивок), 64 битная версия так же только для Linux. Текущая версия GNS на данный момент — 0.8.5. Это эмулятор, который работает с настоящими прошивками IOS. Для того чтобы им пользоваться, у вас должны быть прошивки. Скажем, вы купили маршрутизатор Cisco, с него можно их и вытащить. К нему можно подключать виртуальные машины VirtualBox или VMware Workstation и создавать достаточно сложные схемы, при желании можно пойти дальше и выпустить его в реальную сеть. Кроме того, Dynamips умеет эмулировать как старые Cisco PIX, так и небезызвестную Cisco ASA, причем даже версии 8.4.
Но при всем этом есть масса недостатков.
Количество платформ строго ограничено: запустить можно только те шасси, которые предусмотрены разработчиками dynamips. Запустить ios 15 версии возможно только на платформе 7200. Невозможно полноценно использовать коммутаторы Catalyst, это связано с тем что на них используется большое количество специфических интегральных схем, которые соответственно крайне сложно эмулировать. Остается использовать сетевые модули (NM) для маршрутизаторов. При использовании большого количества устройств гарантированно будет наблюдаться проседание производительности.
Что имеем в сухом остатке?
Инструмент, в котором можно создавать достаточно сложные топологии, готовиться к экзаменам уровня CCNP, с некоторыми оговорками.
3. Boson NetSim
Пару слов о симуляторе Boson NetSim, который недавно обновился до 9-й версии.
Выпускается только под Windows, цена колеблется от 179$ за CCNA и до 349$ за CCNP.
Представляет собой некий сборник лабораторных работ, сгруппированный по темам экзамена.
Как можно наблюдать по скриншотам, интерфейс состоит из нескольких секций: описание задачи, карта сети, в левой части находится список всех лаб. Закончив работу, можно проверить результат и узнать все ли было сделано. Есть возможность создания собственных топологий, с некоторыми ограничениями.
Основные фичи Boson NetSim:
Недостатки у него те же, что и в Packet Tracer.
Тем, кому не жалко определенной суммы, и при этом не хочется разбираться и создавать свои топологии, а хочется просто попрактиковаться перед экзаменом, будет очень кстати.
Официальный сайт — www.boson.com/netsim-cisco-network-simulator.
4. Cisco CSR
Теперь рассмотрим достаточно свежий Cisco CSR.
Относительно недавно появился виртуальный Cisco Cloud Service Router 1000V.
Он доступен на официальном сайте Cisco.
Чтобы скачать этот эмулятор, достаточно просто зарегистрироваться на сайте. Бесплатно. Контракт с Cisco не требуется. Это действительно событие, так как ранее Cisco всеми способами боролась с эмуляторами и рекомендовала только арендовать оборудование. Скачать можно, к примеру, OVA файл, который представляет собой виртуальную машину, судя по всему, RedHat или его производные. Виртуальная машина при каждом запуске подгружает iso образ, внутри которого можно найти CSR1000V.BIN, который и является собственно прошивкой. Ну а Linux выступает в роли враппера (wrapper) — то есть преобразователя вызовов. Некоторые требования, которые указаны на сайте - память DRAM 4096 MB Flash 8192 MB. При сегодняшних мощностях это не должно доставить проблем. CSR можно использовать в топологиях GNS3 или в связке с виртуальным коммутатором Nexus.
CSR1000v выполнен в виде виртуального маршрутизатора (примерно как Quagga, но IOS от Cisco), который крутится на гипервизоре в качестве экземпляра клиента и предоставляет сервисы обычного маршрутизатора ASR1000. Это может быть что-то простое, как базовая маршрутизация или NAT, и вплоть до таких вещей, как VPN MPLS или LISP. В итоге имеем практически полноценный провайдерский Cisco ASR 1000. Скорость работы достаточно неплохая, работает в реальном времени.
Не обошлось и без недостатков. Бесплатно можно использовать только ознакомительную лицензию, которая длится всего 60 дней. Кроме того в этом режиме пропускная способность ограничена до 10, 25 или 50 Mbps. После окончания такой лицензии скорость упадет до 2.5 Mbps. Стоимость лицензии на 1 год обойдется примерно в 1000$.
5. Cisco Nexus Titanium
Titanium – это эмулятор операционной системы коммутаторов Cisco Nexus, которая еще называется NX-OS. Nexus’ы позиционируются как коммутаторы для ЦОД-ов.
Этот эмулятор был создан непосредственно компанией Cisco, для внутреннего использования.
Образ Titanium 5.1.(2) собранный на основе VMware некоторое время назад, попал в публичный доступ. А спустя некоторое время появился и Cisco Nexus 1000V, который можно вполне легально приобрести отдельно или в составе редакции vSphere Enterprise Plus компании Vmware. Можно наблюдать на сайте — www.vmware.com/ru/products/cisco-nexus-1000V/
Отлично подойдет для всех, кто готовится сдавать трек Data Center. Имеет некоторую особенность – после включения начинается процесс загрузки (как и в случае CSR тоже увидим Linux) и останавливается. Создается впечатление что все зависло, но это не так. Подключение к этому эмулятору проводится через именованные каналы.
Именованный канал — это один из методов межпроцессного взаимодействия. Существуют как в Unix подобных системах так и в Windows. Для подключения достаточно открыть к примеру putty, выбрать тип подключения serial и указать \\.\pipe\vmwaredebug.
Используя GNS3 и QEMU (легкий эмулятор ОС, который идет в комплекте с GNS3 под Windows), можно собирать топологии, в которых будут задействованы коммутаторы Nexus. И опять же можно выпустить этот виртуальный коммутатор в реальную сеть.
6. Cisco IOU
Ну и наконец знаменитый Cisco IOU (Cisco IOS on UNIX) — это проприетарный софт, который официально не распространяется вообще никак.
Существует мнение, что Cisco может отследить и идентифицировать того, кто использует IOU.
При запуске происходит попытка HTTP POST запроса на сервер xml.cisco.com. Данные, которые при этом отправляются, включают в себя hostname, логин, версию IOU и т.д.
Известно, что Cisco TAC использует именно IOU. Эмулятор пользуется большой популярностью у тех, кто готовится к сдаче CCIE. Изначально работал только под Solaris, но со временем был портирован и на Linux. Состоит из двух частей — l2iou и l3iou, по названию можно догадаться, что первый эмулирует канальный уровень и коммутаторы, а второй — сетевой и маршрутизаторы.
Автором web-интерфейса является Andrea Dainese. Его сайт: www.routereflector.com/cisco/cisco-iou-web-interface/. На самом сайте нет ни IOU ни каких-либо прошивок, более того автор заявляет, что веб интерфейс был создан для людей которые имеют право на использование IOU.
И небольшие итоги напоследок.
Как оказалось, на данный момент существует достаточно широкий спектр эмуляторов и симуляторов оборудования компании Cisco. Это позволяет практически полноценно готовиться к экзаменам различных треков (классического R/S, Service Provider и даже Data Center). Приложив определенные усилия можно собирать и тестировать разнообразнейшие топологии, проводить исследования уязвимостей и при необходимости выпускать эмулируемое оборудование в реальную сеть.
Посмотрело: 65204
7
При отсутствии возможности получить доступ к реальному оборудованию, GNS3 станет практически полноценной лабораторией. Кроме того, лабораторные работы выполняемые в GNS3, могут стать дополнением к занятиям в реальной лаборатории студентам готовящимся к сертификационным экзаменам CCNA/CCNP и CCIE
Единственным недостатком данного программного обеспечения является отсутствие возможности полноценной симуляции коммутаторов второго уровня Cisco. Этот недостаток не будет исправлен в новых версиях, так как его причиной является кардинальное различие в аппаратной платформе маршрутизаторов и свитчей Cisco. В некоторых случаях данный недостаток получается обойти при помощи сетевого модуля NM-16ESW. К сожалению, листинг команд немного отличается в случае использования NM-16ESW и реальных свитчей Cisco, но вполне подходит для обучения.
В состав GNS3 не входят образы IOS/IPS/PIX/ASA/JunOS, так как они являются частью коммерческих продуктов соответствующих компаний, и никакого прямого отношения к проекту GNS3 не имеют. На данный момент это уже не является проблемой, так как найти необходимый образ уже не составляет труда.
Одной из самых интересных особенностей GNS3 является возможность соединения проектируемой топологии с реальной сетью. Это дает просто уникальную возможность проверить на практике какой-либо проект, без использования реального оборудования. Использование WireShark позволяет провести мониторинг трафика внутри проектируемой топологии, что дает дополнительную информацию для понимания изучаемых технологий.
А самое главное, GNS3 абсолютно бесплатен. Это открытое программное обеспечение, и любой желающий может скачать его с . На данный момент есть версии для Linux, MS Windows XP и Windows 7, а также для MacOS.
Минусы:
Cisco IOS on Unix is a tool intended for internal use only. Distribution of IOU images to customers or external persons, or discussion of IOU with customers or external persons, is prohibited. Don’t do it or we’ll have to come and kill you.
В открывшемся окне необходимо указать путь к файлу образа Cisco IOS
Как только будет выбран файл образа, автоматически будет выбрана платформа для которой это образ предназначен и, в некоторых случаях, станет доступным выпадающий список с перечнем доступных моделей. Также будет установлено минимально рекомендуемое количество RAM.
В большинстве случаев на этом этапе можно сначала нажать Save, а затем Close, и приступать к созданию нового проекта с использованием маршрутизаторов указанной ранее платформы.
В некоторых случаях GNS3 не распознает платформу, модель и необходимое количество RAM для выбранного образа Cisco IOS. В таком случае придется все вышеперечисленные параметры указывать самостоятельно.
Обратите внимание на поле IDLE PC. Пока не трогаем.
После того как все необходимые параметры будут указаны, необходимо не забыть нажать в кнопку Save. Выбранный образ появится в списке доступных образов для построения проекта.
Перетаскиваем маршрутизатор на рабочую площадку. Естественно, берём ту модель, для которой есть образ. Ошибок быть не должно.
Нажимаем сверху на зеленую кнопку "Запуск". Обратите внимание на то, как возросла нагрузка на CPU. Один роутер грузит на 100% одно ядро CPU. Если у вас, например, Dual Core CPU (т.е 4 треда), то общая загрузка будет на уровне 25%. Теперь волнение нужно успокоить. Для этого выбираем в контекстном меню Idle PC. Именно этот механизм позволяет оптимизировать использование ресурсов процессора. ПК вычисляет несколько значений и предлагает вам целый их список. Рекомендуется выбирать значения со знаком *. Как только они применяются, загрузка CPU падает до нуля. Если вдруг не получилось, итерируем до тех пор, пока не достигнем желаемого. Теперь при следующем запуске после загрузки IOS GNS не должен отжирать всё процессорное время.
Всё готово для подключения. У GNS есть стандартные средства для этого. В контекстном меню выбираем Console. По умолчанию GNS использует приложение Putty, но можно указать любое свое, например SecureCRT в настройках. Достаточно указать полный путь в файлу терминальной программы.
Gns3 это графический симулятор сети, который позволяет моделировать сложные сети.
Для обеспечения полной симуляции, gns3 тесно связан с:
* Dynamips, ядро программы, позволяющий эмулировать Cisco IOS.
* Dynagen, текстовый интерфейс для Dynamips.
* PEM?, эмулятора брандмауэра Cisco PIX на основе Qemu.
Gns3 является отличным дополнительным инструментом для реализации лабораторных работ Cisco для сетевых инженеров, администраторов и людей, желающих пройти сертификацию CCNA, CCNP, CCIP и CCIE.
Он также может быть использован для экспериментов над Cisco IOS или для проверки настроек, которые должны быть развернуты позднее на реальных маршрутизаторах.
Это проект с открытым исходным кодом, бесплатная программа, которая может быть использована на многих операционных системах, включая Linux, MacOS X и Windows.
Получить GNS3 можно перейдя на страницу загрузки www.gns3.net/download
или так sudo aptitude install gns3 (например).
При первом запуске программы вылезет окно настройки, состоящее из двух шагов.
Первый шаг, как видно, поможет выбрать язык (русский поддерживается) и настроить директории.
Второй залить IOS (ru.wikipedia.org/wiki/IOS
). Найти его можно на тор****сру.
Я рекомендую использовать IOS 7200 series т.к. GNS с ним не глючит.
После настройки, тестирования и прочих приятностей можно приступать к знакомстве с самим GNS3
Простым перетаскиванием помещаем картинку с роутером на рабочую поверхность
Добавляем интерфейсы на роутер, дважды по нему кликнув (PA-GE это gigabit ethernet)
После добавления интерфейсов, роутеры можно соединить друг с другом кликая по
Введя в консоли команду как на картинке и нажав enter красные кружочки станут зелёными. Можно не вводить ничего в консоли, а нажать кнопку play в меню результат тот-же.
Наконец, поигравшись с GNS3 можно приступить к созданию маршрутизатора на базе компьютера
Для этого в компьютере должно быть >1 сетевой карты.
Если все же одна, то можно настроить loopback
для Windows Пуск->Панель управления->Установка нового оборудования…
для Linux ничего делать не надо GNS его и так видит (во всяком случае у меня)
Для привязки реального интерфейса компьютера к интерфейсу роутера используют «облака»
перетаскиваем их также как перетаскивали роутеры и привязываем к ним интерфейсы при помощи окна настройки (дважды кликнув по облаку).
Каждому интерфейсу по облаку.
Собрав схему можно приступить к настройке маршрутизатора, и развертыванию сети.
Производительность такой сети напрямую зависит от производительности компьютера который прикидывается роутером.
О производительности:
Производительность Windows системы при прочих равных меньше чем у Linux (FreeBSD, Solaris ...), но для дома и Windows сгодится.
1. Кликаем правой кнопкой мыши и в контекстном меню выбираем IDLE PC.
2. После обработки вылезет всплывающее окно.
3. Выбираем результат.
копипаст: habrahabr.ru/blogs/cisconetworks/74305