Эмуляция компьютерной сети что это
Освоим построение и конфигурирование виртуальных компьютерных сетей любых масштабов в рамках одной виртуальной машины.
Основные характеристики Netropy
Простота использования. Эмуляторы сетей Netropy очень просто инсталлировать, конфигурировать и обслуживать. Их графический пользовательский интерфейс характеризуется быстротой работы локального приложения и удобством применения обычного браузера.
Одновременная эмуляция множества каналов. Каждый процессор эмуляции эмулирует до 15 отдельных .
Использование нескольких процессоров эмуляции. Для одновременного тестирования множества устройств или имитации многопользовательских сред можно задействовать сразу несколько процессоров эмуляции в моделях N91 и 10G2.
Фильтрация пакетов. Функция фильтрации пакетов распределяет их по эмулируемым на основе , идентификаторов VLAN и других параметров.
Пропускная способность до 40 Гбит/с. Эмулируются каналы с пропускной способностью от 100 бит/с до 40 Гбит/с.
Выбор пропускной способности. Устройства Netropy могут поставляться с разной пропускной способностью. Платите только за ту пропускную способность, которая вам нужна сейчас. Позднее, когда появится потребность в эмуляции более высокоскоростных каналов, вы сможете модернизировать купленный эмулятор сетей.
Задержка до 10 с. Эмулируются каналы с задержкой пересылки пакетов до 10 с, которая регулируется с шагом 0,01 мс, причем задержку можно установить постоянной или случайно изменяющейся (джиттер) с нормальным или равномерным распределением.
Гибкость в использовании интерфейсов. Модели N61 и N91 выпускаются в вариантах с медными портами или портами SFP. Модели 10G1 и 10G2 имеют гнезда SFP+, куда можно устанавливать трансиверы 1G или 10G, что упрощает интеграцию эмуляторов в гигабитные и сети.
Потеря пакетов и их порча. Можно задавать случайную или периодическую потерю пакетов, потерю группы (burst) пакетов, определять влияние порчи пакетов на работу голосовых сервисов и видеоприложений.
Запись и воспроизведение характеристик реальной сети. Можно записывать информацию о изменяющихся задержках и потерях пакетов в реальной производственной сети и воспроизводить их в тестовой среде посредством эмулятора Netropy.
Перегрузка. Имеющаяся в эмуляторах Netropy функция генерации фонового трафика дает возможность определять влияние перегрузки канала на работу приложений без использования дорогостоящих генераторов трафика или многочисленных клиентских машин. Возможно воспроизведение фонового трафика из файлов PCAP.
Мониторинг трафика. Можно просматривать и загружать графики скорости передачи данных и статистику по каналам, собранную за период времени продолжительностью до 24 ч.
Автоматизация тестирования. Автоматизация тестирования осуществляется с помощью полнофункционального CLI.
Непревзойденная точность. Высокоточные процессоры эмуляции гарантируют точность и воспроизводимость результатов тестирования.
Все необходимое. Netropy — это решение типа «все включено». Чтобы начать эмулировать , не нужно проходить обучение и задействовать дополнительное ПО или оборудование.
испытаний сетевых продуктов нужна реалистичная тестовая среда, которая воспроизводит реальные условия работы этих продуктов в сети и ее «поведение». Все программные и аппаратные средства должны проходить испытания в такой среде, реализуемой на основе эмулятора сетей.
Эмулятор сетей Network Emulator II — точное средство тестирования с возможностью ухудшения характеристик эмулируемых сетей 100MbE, 1GbE и 10GbE. Этот прибор дает возможность пользователям точно эмулировать реальные условия работы в сети, которые характерны для действующих локальных и территориально распределенных сетей. Эмулируя в лаборатории реальные и наихудшие условия работы в сети, пользователи могут достоверно проверять функционирование новых устройств, протоколов и приложений до их внедрения в действующую сеть, чтобы предотвратить возникновение проблем в ней. Устройство Network Emulator II имеет широкий набор функциональных возможностей, позволяющий тестировать в управляемой лабораторной среде с повторяемым и предсказуемым ухудшением параметров передачи трафика. Network Emulator II дает возможность пользователям:
- Тестировать влияние задержки передачи пакетов на функционирование сети и приложений.
- Определять, как приложения будут работать при распределении по ЦОДам.
- Тестировать в реалистичной среде решения по резервированию ЦОДа.
- Выполнять сценарии с отказами элементов сети или ухудшением их характеристик, чтобы инициировать и проверять работу механизмов защиты от сбоев.
- Реализовывать полнофункциональные тестовые среды, представляющие собой различные комбинации эмуляторов сетей с системами тестирования на базе ПО IxNetwork, IxLoad и BreakingPoint.
Спецификация
- 8 портов на базе FPGA, разделенных на два банка по 4 порта в каждом.
- Все порты поддерживают 10GbE, 1GbE и 100MbE.
- При наличии дополнительных лицензий все порты также поддерживают Fibre Channel.
- Банки портов могут работать на разных скоростях, поддерживая Ethernet или Fibre Channel.
- Гибкое управление ресурсами обеспечивает нужную пропускную способность:
- Передача трафика на полной линейной скорости через 8 портов 1GbE.
- Передача трафика на полной линейной скорости через 4 порта 10GbE (по 2 порта в каждом банке).
- Передача трафика на полной линейной скорости через 4 порта 10GbE и 4 порта 1GbE (по 2 порта 10GbE и 2 порта 1GbE в каждом банке).
- Можно использовать 8 портов 10GbE с разделением полосы пропускания 11 Гбит/с на каждый банк.
Примечание: для каждой линии, характеристики которой должны быть ухудшены, нужно по 2 порта.
Выбор трафика
- Есть возможность классификации пакетов по совпадению с образцом, что позволяет выбирать нужный трафик.
- Имеются стандартные фильтры по адресам MAC, IP и идентификаторам VLAN.
- Можно задавать байтовое смещение.
- Анализ до 32 байтов на совпадение.
32 гибко назначаемых профиля классификатора пакетов на каждый банк портов
Выводы
Виртуализация, везде и всюду. Начиная от уже классической серверной и заканчивая виртуальными Ethernet-портами в современных блейд-системмах. Виртуализируется все, и mininet — еще один хороший тому пример. Возможно, именно этим проект меня и зацепил. Даже сейчас, познакомившись поближе, честно говоря не вижу в нем какой то практической ценности. Особенно, для уже состоявшегося технического специалиста. Но сама реализация интересна и возможно, это решение сможет послужить для кого то инструментом моделирования а различные эксперименты помогут разобраться в принципах работы вычислительных сетей. В Интеренете доступны различные практические задачи и лабораторные работы построенные на базе mininet. Они широко используются в таких небезызвестных учебных заведениях, как Стэнфорд, Принстон и возможно, будут полезны вам.
Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.
Рабочие листы и материалы для учителей и воспитателей
Более 2 500 дидактических материалов для школьного и домашнего обучения
Столичный центр образовательных технологий г. Москва
Получите квалификацию учитель математики за 2 месяца
от 3 170 руб. 1900 руб.
Количество часов 300 ч. / 600 ч.
Успеть записаться со скидкой
Форма обучения дистанционная
- Онлайн
формат - Диплом
гособразца - Помощь в трудоустройстве
Видеолекции для
профессионалов- Свидетельства для портфолио
- Вечный доступ за 120 рублей
- 311 видеолекции для каждого
ПРОГРАММНЫЕ ЭМУЛЯТОРЫ КОМПЬЮТЕРНЫХ СЕТЕЙ
Эмулятор - это специальная программа, позволяющая при помощи компьютера проектировать, виртуально монтировать и испытывать работоспособность компьютерных сетей. Гораздо проще обнаружить ошибки проектирования при эмуляции сети. Возможности эмуляторов:
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, работает с использованием веб интерфейса,
Позволяет использовать практически все версии реального ПО большого количества сетевого оборудования. Имеет выход во внешнюю сеть. Минус - большое количество проблем при конфигурации.
Cisco Packet Tracer
Этот симулятор доступен как под Windows, так и для Linux, бесплатно для учащихся Сетевой Академии Cisco.
В 6й версии появились такие вещи как:
- Модули HWIC-2T и HWIC-8A
- 3 новых устройства (Cisco 1941, Cisco 2901, Cisco 2911)
- IPv6 в настройках конечных устройств (десктопы)
И одна из самых интересных фич — это возможность перейти в режим simulation и увидеть перемещения пакетов с замедлением времени.
Мне это напомнило ту самую Матрицу.
- Практически всё, что выходит за рамки CCNA, на нем собрать не получится. К примеру, EEM отсутствует напрочь.
- Так же иногда могут проявляться разнообразные глюки, которые лечатся только перезапуском программы. Особенно этим славится протокол STP.
В итоге мы имеем - неплохой инструмент для тех кто только начал свое знакомство с оборудованием компании Cisco.
Это свободный проект, доступен под Linux, Windows и Mac OS X.
Но большинство его функций, призванных улучшить производительность, работают только под 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, с некоторыми оговорками.
Для создания лабораторного практикума была выбрана программа NetEmul. Программа NetEmul была создана для визуализации работы компьютерных сетей, для облегчения понимания происходящих в ней процессов. Кроме обучения, программа открывает широкие возможности для экспериментов и их наглядного отображения. Программа предназначена для студентов, изучающих компьютерные сети, в качестве наглядного пособия для получения навыков работы в данной области. Также программу могут использовать преподаватели для проверки знаний студентов. Использование NetEmul предполагает наличие начальных знаний компьютерных сетей и принципов их работы. Программа отвечает основному требованию для создания практикума, а именно – позволяет моделировать компьютерные сети. Помимо этого, программа обладает рядом преимуществ, основные из которых это: визуализизация работы компьютерных сетей; точная и детальная настройка каждого компонента сети; программа свободно распространяется и является бесплатной.
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 (т. е. получение моментального "слепка")
На основе проведённого сравнительно анализа, можно сделать вывод о том, что программные эмуляторы являются удобным и фунциональным средством при проектировании и внедрении сетевых решений, за счёт существенного сокращения расходов на физические ресурсы. Проведённый анализ показывает, что в зависимости от поставленных при проектировании задач можно выбрать наиболее оптимальный вариант программного обеспечения, наиболее полно удовлетворяющий всем требованиям к проекту.
Также хочется отметить, что использование программным эмуляторов находит большой отклик в сфере образовательных технологий, за счёт своей низкой стоимости и широкого функционала.
эмуляцией сети понимается процесс, в котором имитируются характеристики (пропускная способность, уровень потерь пакетов и др.) имеющейся, проектируемой или какой-либо абстрактной не идеальной сети для оценки функционирования сетевых устройств, приложений или сервисов, их оптимизации или для прогнозирования влияния на их работу изменений параметров сети. С помощью эмулятора сети можно тщательно протестировать новое сетевое решение до ввода его в эксплуатацию, что позволит избежать дорогостоящего провала при его внедрении.
Эмулятор сети изменяет пропускаемый через него поток пакетов таким образом, чтобы воспроизводилось «поведение» трафика сетевого приложения в эмулируемой среде. В качестве эмулятора может использоваться обычный ПК с ПО эмуляции сети (например, netem в составе Linux) или специальный аппаратный продукт. По сравнению с решениями на базе ПК, аппаратные эмуляторы, как правило, проще и удобнее в эксплуатации, имеют более широкий функционал, да и какой ПК сравнится по пропускной способности с высокопроизводительными устройствами, предназначенными для эмуляции сетевых каналов.
В продаже имеется широкий ассортимент выпускаемых разными производителями аппаратных эмуляторов сетей или WAN- каналов, начиная с относительно простых и недорогих устройств и заканчивая высокопроизводительными системами с богатейшим функционалом.
Как это работает
Начиная с версии 2.6.24, ядром Linux поддерживаются механизмы виртуализации и изоляции – Cgroups[2], которые позволяют обеспечить сетевыми интерфейсами, таблицами маршрутизации и ARP-таблиами процессы в рамках одной операционной системы. Это один из видов виртуализации на уровне ОС, позволяющий запустить множество однотипных процессов в изолированном и ограниченном по ресурсам окружении. Подобные техники позволяют Mininet создавать в пространстве ядра или пользователя коммутаторы, OpenFlow-контроллеры и хосты, и взаимодействовать в рамках моделируемой сети. В качестве виртуальных коммутаторов используется адаптированная реализация Open vSwitch’a.
Основная функциональность Mininet реализована на Python, за исключением некоторых утилит написанных на Си. Практически любая произвольная топология может быть описана с помощью специального синтаксиса на Python. В интернете можно найти множество интересных лабораторных работ на базе mininet, решающих различные задачи. Например реализация простого маршрутизатора[3].Рекомендации по использованию Netropy
- Реализуйте сценарии типа «что, если», чтобы выбрать подходящие (для подключения удаленных офисов) типы , а затем определяйте, какую их полосу пропускания нужно купить для оптимальной работы критически важных приложений.
- Проверяйте работу новых приложений до развертывания их на вашей сети, чтобы избежать неприятных сюрпризов и панической установки патчей.
- Проводите сравнительные испытания продуктов разных производителей, чтобы выбрать тот из них, который лучше других будет работать в вашей сети.
- Осуществляйте тонкую настройку приложений с целью оптимизации их функционирования для разных групп пользователей.
- Анализируйте возможности для оптимизации работы существующей сетевой инфраструктуры.
- Определяйте причины сетевых проблем и жалоб пользователей, а затем проверяйте возможные способы их (причин) устранения, не нарушая работы производственной сети.
Что это и для чего
Работая над статьей, посвященной Open vSwitch, проходя по различным ссылкам в поисках хоть какой-нибудь полезной информации, открыл для себя проект под названием mininet [1]. Будучи активным читателем технической и компьютерной литературы, журналов и новостей, думал, что все самое интересное я уже изучил и попробовал. Но, этот проект меня искренне удивил. Я не уверен в практической ценности данного решения для большинства читателей, но мой личный интерес к нему подтолкнул к написанию статьи.
Mininet — это эмулятор компьютерной сети. Под компьютерной сетью подразумеваются простые компьютеры — хосты, коммутаторы, а так же OpenFlow-контроллеры. С помощью простейшего синтаксиса в примитивном интерпретаторе команд можно разворачивать сети из произвольного количества хостов, коммутаторов в различных топологиях и все это в рамках одной виртуальной машины(ВМ). На всех хостах можно изменять сетевую конфигурацию, пользоваться стандартными утилитами(ipconfig, ping) и даже получать доступ к терминалу. На коммутаторы можно добавлять различные правила и маршрутизировать трафик. В общем, получается довольно интересная вещь, позволяющая познакомиться с устройством и функционированием компьютерных сетей без необходимости использования какого либо сетевого оборудования.Как этим пользоваться
Вся работа с виртуальной сетью mininet, а именно развертывание сети желаемой топологии, изменение различных параметров хостов или коммутаторов и т. п., производится в простом интерпретаторе команд – mn.
Запущенный без параметров, mn перейдет в режим интерпретации команд. При этом по умолчанию будет создана минимальная сеть, состоящая из двух хостов (h1, h2), коммутатора (s1) и OpenFlow-контроллера (c1).
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1)
*** Configuring hosts
h1 h2
*** Starting controller
*** Starting 1 switches
s1
*** Starting CLI:
mininet>Интерпретатор mininet использует ряд собственных команд, позволяющих управлять виртуальной сетью практически как настоящей. Ниже приведены примеры основных возможностей.
Вывести список всех хостов, коммутаторов и контроллеров можно с помощью команды nodes
посмотреть топологию сети, а именно сопоставление портов коммутатора и хостов можно с помощью команды net:
c0
s1 lo: s1-eth1:h1-eth0 s1-eth2:h2-eth0
h1 h1-eth0:s1-eth1
h2 h2-eth0:s1-eth2вывести конфигурацию сетевого интерфейса конкретного хоста можно с помощью классической команды ifconfig перед которой необходимо указать имя конкретного узла:
mininet> h1 ifconfig
h1-eth0 Link encap:Ethernet HWaddr 96:0d:f2:1a:e3:91
inet addr:10.0.0.1 Bcast:10.255.255.255 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:846 (846.0 B) TX bytes:468 (468.0 B)lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)В приведенной выше команде, вместо имени хоста можно указать конкретный коммутатор, тогда будет выведена конфигурация его портов.
Любой из портов коммутатора можно выключить и включить по желанию:
mininet> link s1 h1 down
mininet> link s1 h1 upПосмотреть таблицу маршрутизации конкретного хост можно аналогично с использованием привычной команды route:
mininet> h1 route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 * 255.0.0.0 U 0 0 0 h1-eth0Ну и конечно же выполнить пинг, как же без него:
mininet> h1 ping h2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_req=1 ttl=64 time=4.11 ms
64 bytes from 10.0.0.2: icmp_req=2 ttl=64 time=0.252 ms
^C
— 10.0.0.2 ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 4999ms
rtt min/avg/max/mdev = 0.066/0.779/4.119/1.495 msпинг каждого с каждым:
*** Ping: testing ping reachability
h1 -> h2
h2 -> h1
*** Results: 0% dropped (0/2 lost)В принципе, на каждом из хостов, указывая предварительно его имя, можно выполнять большинство стандартных команд linux. Например посмотреть процессы любого из хостов или коммутаторов поможет все тот же ps:
PID TTY TIME CMD
1 ? 00:00:00 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 ksoftirqd/0
…
(вывод сокращен)при этом любой из процессов можно завершить с помощью стандартного kill -9.
Кроме проверки доступности узлов с помощью ping можно еще протестировать пропускную способность между узлами с помощью старого доброго iperf:
mininet> iperf h1 h2
*** Iperf: testing TCP bandwidth between h1 and h2
waiting for iperf to start up…*** Results: [‘1.35 Gbits/sec’, ‘1.36 Gbits/sec’]Забегая немного вперед, скажу, что пропускная способность интерфейсов может быть ограниченна от 10 до 1000 Mbit/s. Но об этом немного ниже.
Ну и в конце концов, можно просто получить терминал к любому из узлов:
mininet> xterm h1
На каждом из виртуальных хостов, помимо стандартных процессов есть возможность запускать сторонние сервисы. Например это может быть простой веб-сервер на Python:
и попробовать подключиться к нему с другого узла:
mininet> h2 wget -O — h1
можно завершить работу веб-сервера, если необходимо:
mininet> h1 kill %python
Виртуальная сеть mininet не существует постоянно — она создается при вызове mn с какими-то конкретными параметрами или без таковых и уничтожается при выходе из интерпретатора. Все это происходит почти мгновенно. Даже крупная сеть с несколькими сотнями хостов и десятками коммутаторов создается в считанные секунды. И все это на однопроцессорной виртуальной машине с одним гигабайтом оперативной памяти.
Корректно свернуть всю виртуальную сеть и выйти в оболочку ОС можно командой quit.
В случае если работа интерпретатора была завершена некорректно, избавиться от повисших процессов и прочих служебных данных можно командойУсложним топологию
Как и в реальном, физическом мире, построение сети в эмуляторе Mininet начинается с топологии. Топология определяет сколько будет хостов, коммутаторов а так же каким образом они будут объедены в сеть.
Существует четыре базовых топологи, которые можно использовать, «не заморачиваясь» с синтаксисом Python — они уже описаны и реализованы в виде параметров mn. Ниже приведены подробности про каждую из них.
mininal. Используется по умолчанию при запуске mn без параметров. В этом случае создаются два хоста, подключенные к одному коммутатору, который, в свою очередь управляется OpenFlow-контроллером. В данной топологии нельзя задать произвольное число хостов или коммутаторов.
single. Как и в случае с minimal, все хосты подключаются к одному коммутатору. Единственное отличие — это возможность указать их количество.
$ sudo mn —topo single,24
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h23 h24
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1) (h3, s1) (h4, s1) (h5, s1) (h6, s1) (h7, s1) (h8, s1) (h9, s1) (h10, s1) (h11, s1) (h12, s1) (h13, s1) (h14, s1) (h15, s1) (h16, s1) (h17, s1) (h18, s1) (h19, s1) (h20, s1) (h21, s1) (h22, s1) (h23, s1) (h24, s1)
*** Configuring hosts
h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h23 h24
*** Starting controller
*** Starting 1 switches
s1
*** Starting CLI:
mininet>linear. Топология описывает сеть в которой все хосты подключены к собственным коммутаторам, которые в свою очередь соединены между собой.
$ sudo mn —topo linear,6
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 h3 h4 h5 h6
*** Adding switches:
s1 s2 s3 s4 s5 s6
*** Adding links:
(h1, s1) (h2, s2) (h3, s3) (h4, s4) (h5, s5) (h6, s6) (s1, s2) (s2, s3) (s3, s4) (s4, s5) (s5, s6)
*** Configuring hosts
h1 h2 h3 h4 h5 h6
*** Starting controller
*** Starting 6 switches
s1 s2 s3 s4 s5 s6
*** Starting CLI:
mininet>tree. Древовидная топология, наиболее сложная из перечисленных. Здесь в качестве параметров можно указать глубину иерархии коммутаторов (depth) а так же число подключенных к ним хостов (fanout).
$ sudo mn —topo tree,depth=3,fanout=4
Команда, представленная выше построит сеть с классической трехуровневой моделью. Когда к каждому коммутатору уровня доступа(access) будут подключены по четыре хоста. Коммутаторы доступа в свою очередь будут включены в распределение(distribution) из четырех коммутаторов которые в свою очередь заводятся в единое ядро(core). К сожалению, такие возможности как стекирование коммутаторов или агрегация каналов а так же стандартные VLAN’ы не реализованы в mininet, что делает данную модель не совсем реалистичной. Но в общих чертах она довольно схожа.
В случае если есть базовые познания Python и необходима особенная топология, ее можно описать самостоятельно, аналогично примеру указанному в ссылках[4].
Построить сеть используя собственную топологию, можно с помощью ключа —custom:
$ sudo mn —custom //topo-2sw-2host.py —topo mytopo
Ключевые характеристики
- Эмулятор на базе FPGA с самым большим в отрасли числом портов 10GbE.
- Обеспечивает ухудшение параметров передачи трафика по эмулируемым сетям 100MbE, 1GbE и 10GbE.
- Максимально высокая точность эмуляции, благодаря архитектуре на базе FPGA.
- Имеет два банка портов, в каждом из которых по 4 порта. У каждого банка свой процессор FPGA, что гарантирует высокую производительность эмулятора.
- Наряду с Ethernet, при наличии дополнительных программных лицензий поддерживает технологию Fibre Channel, обеспечивающую скорости передачи 16, 8, 4 и 2 Гбит/с.
- Гибкое управление ресурсами, позволяющее распределять их в соответствии с потребностями в них. Поддерживаются следующие возможности:
- Выделение памяти в автоматическом режиме или вручную.
- Назначение профилей.
- Гибкость пропускной способности: например, можно задействовать 4 порта 10GbE, работающих на полной линейной скорости, или 8 таких портов, делящих между собой полосу пропускания 11 Гбит/с на один банк.
- Конфигурируются режим работы каждого порта — Ethernet или Fibre Channel (при наличии дополнительных лицензий) — и его пропускная способность.
Параметры сети
По умолчанию, все объекты сети mininet соединяются виртуальными гигабитными каналами.
В этом можно убедиться выполнив команду iperf в интерпретаторе mininet, которая проведет тестирование пропускной способности между двумя объектами сети.*** Iperf: testing TCP bandwidth between h1 and h2
waiting for iperf to start up…*** Results: [‘1.26 Gbits/sec’, ‘1.28 Gbits/sec’]
mininet>Правда, не совсем понятно, почему тест показывает немного завышенные результаты. Думаю это как то связанно с особенностями виртуальной среды. Возможно, при использовании каналов по умолчанию (1 Gb), ограничения не применяются вовсе.
Следует иметь в виду, что коммутатор, работающий в пользовательском пространстве, а не в пространстве ядра, выполняется значительно медленнее.
$ sudo mn —switch user —test iperf
…
*** Iperf: testing TCP bandwidth between h1 and h2
*** Results: [‘360 Mbits/sec’, ‘360 Mbits/sec’]
…
(вывод сокращен)При желании, можно ограничить пропускную способность каналов до произвольных значений. А в добавок к этому есть возможность указать задержки в канале(latency).
$ sudo mn —link tc,bw=10,delay=10ms
Команда выше, разворачивает сеть по умолчанию, с пропускной способностью между узлами ограниченной в 10 Mbit/s и минимальными задержками в 10 ms.
Теперь пинг между узлами будет идти с задержкой в 10 ms.
Что это и для чего
Работая над статьей, посвященной Open vSwitch, проходя по различным ссылкам в поисках хоть какой-нибудь полезной информации, открыл для себя проект под названием mininet [1]. Будучи активным читателем технической и компьютерной литературы, журналов и новостей, думал, что все самое интересное я уже изучил и попробовал. Но, этот проект меня искренне удивил. Я не уверен в практической ценности данного решения для большинства читателей, но мой личный интерес к нему подтолкнул к написанию статьи.
Mininet — это эмулятор компьютерной сети. Под компьютерной сетью подразумеваются простые компьютеры — хосты, коммутаторы, а так же OpenFlow-контроллеры. С помощью простейшего синтаксиса в примитивном интерпретаторе команд можно разворачивать сети из произвольного количества хостов, коммутаторов в различных топологиях и все это в рамках одной виртуальной машины(ВМ). На всех хостах можно изменять сетевую конфигурацию, пользоваться стандартными утилитами(ipconfig, ping) и даже получать доступ к терминалу. На коммутаторы можно добавлять различные правила и маршрутизировать трафик. В общем, получается довольно интересная вещь, позволяющая познакомиться с устройством и функционированием компьютерных сетей без необходимости использования какого либо сетевого оборудования.Продукция Apposite Technologies
Компания Apposite Technologies выпускает Linktropу и эмуляторы сетей Netropy, предназначенные для подключения к локальным сетям Ethernet. В семейство Linktropy входят портативные модели Mini2 и (первая эмулирует канал пропускной способностью до 100 Мбит/с, а вторая — до 1 Гбит/с), позволяющие задавать только базовые характеристики эмулируемых каналов, и монтируемые в стойку высокоточные модели 5500 (эмулирует один /с канал) и 8510 (четыре отдельных канала по 1 Гбит/с каждый) с более широкими функциональными возможностями. Эмулируются каналы с задержкой пересылки пакетов до 10 с в каждом направлении, причем задержку можно установить постоянной или случайно изменяющейся. Также можно задать долю потерянных пакетов и/или коэффициент битовых ошибок (BER). Имеющаяся в Linktropy 5500 и 8510 функция генерации фонового трафика поможет определить влияние перегрузки канала на работу тестируемых приложений. Для проверки их работы в условиях нарушения порядка следования пакетов и дублирования последних предусмотрены соответствующие дополнительные параметры эмуляции. Наибольшая реалистичность тестирования достигается с помощью программы Linktropy Recorder, которая позволяет записывать информацию об изменчивых характеристиках реальной сети. Затем их можно воспроизвести в тестовой среде посредством Linktropy.
Linktropy компании Apposite TechnologiesСемейство эмуляторов сетей Netropy состоит из следующих моделей: N60, N91, 10G1, 10G2 и 40G. Модель N60 имеет один процессор эмуляции пропускной способностью 1 Гбит/с, модель N91 — четыре таких процессора, в моделях 10G1 и 10G2 один или два /с процессора эмуляции соответственно, модель 40G снабжена процессором эмуляции пропускной способностью 40 Гбит/с. Процессор эмуляции может эмулировать до 15 отдельных с различными наборами параметров, включая пропускную способность, задержку передачи пакетов и уровень их потерь, что позволяет моделировать сложные сетевые топологии или проводить множество тестов одновременно.
Эмуляторы сетей компании Ixia
В результате покупки фирмы Anue Systems компания Ixia стала поставлять модульные эмуляторы Anue Network Emulators с впечатляющими гибкостью и широтой функционала. Аппаратными основами этих эмуляторов являются платформы Hawaii и Maui, которые представляют собой шасси высотой 2U с установленными в него универсальными линейными платами. Плата платформы Hawaii поддерживает скорость передачи до 11,3 Гбит/с, а плата платформы Maui — до 2,6 Гбит/с. Платформа Hawaii поставляется с двумя линейными платами, а платформа Maui — с двумя или четырьмя. С использованием соответствующих программных опций, называемых эмуляторными нагрузками (emulator loads), на базе этого оборудования можно реализовывать эмуляторы сетей Ethernet (с пропускной способностью каналов от 10 Мбит/с до 10 Гбит/с), SONET/SDH (от / до /), Fibre Channel (от 1 до 10 Гбит/c), OTN (от OTU1 до OTU2e) и CPRI (от 614,4 до 2357,6 Мбит/с).
Эмуляторы сетей Anue Network Emulators компании IxiaЭмулятор сетей Gigabit Ethernet (программная опция GEM) обеспечивает лучшую в отрасли точность имитации задержки передачи пакетов (до 20 с при скоростях 10/100 Мбит/с), джиттера, а также повреждения, отбрасывания, изменения порядка следования, дупликации и фрагментации пакетов. Он поддерживает до 16 профилей сетей на один порт, определяемых любыми комбинациями ярлыка VLAN, метки MPLS, адресов MAC/ IP и других параметров, обеспечивает запись и воспроизведение характеристик реальной сети, реализует модели сетей в соответствии со стандартами и G.1050, обеспечивает выполнение наборов тестов по спецификациям и G.8261. Полезными для тестирования систем IPTV особенностями данного эмулятора являются возможности выборочного исключения из видеопотока кадров I, B и P и внесения в них битовых ошибок. Данный эмулятор может использоваться для тестирования распределенных приложений, средств IPTV и VoIP, систем CES, ̆, решений по обеспечению бесперебойной работы сетей и консолидации серверов и др. Также его можно задействовать для разработки SLA и проверки возможности их выполнения.
Эмулятор сетей SONET/SDH на базе опции PD (Path ) представляет собой тестовый инструмент, который позволяет точно имитировать задержки на уровне маршрутов и другие негативные факторы, присущие различным образом маршурутизируемым сетям SONET/SDH.
Эмулятор сетей Fibre Channel позволяет точно имитировать задержки передачи кадров, характерные для этих сетей. Кроме того, в процессе тестирования можно вводить битовые ошибки и задавать уровень потерь кадров, который может быть постоянным или изменяющимся по случайному закону. Есть поддержка сетевых решений с FEC, работающих на скорости 11,3168 Гбит/с. С помощью данного эмулятора можно проверять работу критически важных приложений в сети Fibre Channel, тестировать решения по репликации и синхронизации данных, а также по расширению сетей SAN, оценивать планы по миграции ЦОДов и решать многие другие важные задачи.
Также компания Ixia поставляет эмуляторы сетей ImpairNet собственной разработки, реализованные в виде модулей для шасси Ixia моделей XM2 и XM12. В одном и том же шасси могут функционировать как эти эмуляторы, так и нагрузочные модули Ixia, генерирующие и анализирующие тестовый трафик. Данный трафик и его ухудшение (в модуле ImpairNet) можно задавать посредством общего пользовательского интерфейса, что сокращает время тестирования.
Выпускаются модули ImpairNet с четырьмя портами 1GE или 10GE или с двумя портами 40GE. Модуль с портами 40GE — первое в отрасли средство имитации реальных характеристик каналов! Обработка проходящего через эмулятор трафика осуществляется на полной линейной скорости.
Эмулятор ImpairNet позволяет ограничивать скорость передачи тестового трафика, вводить битовые ошибки, задержку, изменение задержки и уровень потерь пакетов, нарушать порядок их следования и дуплицировать их. Одна пара портов позволяет эмулировать до 16 двунаправленных каналов или до 32 однонаправленных. Для каждого направления передачи между двумя портами гигабитового или модуля можно определить до 16 профилей ухудшения (impairment profiles). Что касается модуля, то можно задать до четырех таких профилей для каждого направления передачи.
сетей Netropy наделены эффективными функциями для определения производительности, диагностики и оптимизации работы критически важных приложений.
В устройствах Netropy имеются уникальные высокопроизводительные процессоры эмуляции (emulation engines), каждый из которых обеспечивает высокоточную эмуляцию до 15 отдельных , что позволяет моделировать сети со сложными топологиями или запускать множество тестов одновременно.
Семейство продуктов Netropy состоит из пяти моделей: N61, N91, 10G1, 10G2 и 40G. Модель N60 имеет один процессор эмуляции c пропускной способностью 1 Гбит/с, модель N91 — четыре таких процессора, в моделях 10G1 и 10G2 один или два процессора эмуляции соответственно, модель 40G снабжена процессором эмуляции c пропускной способностью 40 Гбит/с.
Конфигурировать эмулятор Netropy и управлять им можно посредством интуитивно понятного или с помощью полнофункционального интерфейса командной строки (CLI). Последний обеспечивает интеграцию со средствами автоматизации тестирования.
Эмуляторы сетей Netropy эмулируют с заданными пропускной способностью, задержкой передачи пакетов, их потерей и другими факторами, негативно влияющими на функционирование канала. Имеющаяся в устройствах Netropy функция фильтрации пакетов распределяет их по эмулируемым на основе , идентификаторов VLAN и других параметров. По результатам тестирования управляющее ПО выводит статистику по трафику, в том числе в виде графиков зависимостей скорости передачи данных от времени.
С помощью устройств Netropу можно полностью моделировать корпоративные сети, которые обеспечивают подключение к компании ее региональных филиалов и удаленных сотрудников. Это позволяет оценивать работу приложений для разных групп пользователей (например, для сотрудников конкретного регионального офиса) и проверять функционирование серверов приложений (в ЦОДе) при большом числе одновременно работающих пользователей.
Эмуляторы сетей Netropy позволяют запускать множество отдельных тестов на производительность одновременно, что очень удобно для оценки влияния различных условий связи на время отклика приложений, их тонкой настройки, сравнения продуктов разных производителей и анализа эффективности . Посредством этих эмуляторов можно разделять трафик разных устройств и задавать негативно влияющие на передачу данных факторы для определенных приложений.
Устройства Netropy помогают оценивать влияние состояния сети на скорость пересылки больших объемов данных (например, в резервное хранилище), время отклика интерактивных приложений (например, облачных, веб, СУБД, CRM или ERP) и качество работы приложений реального времени (систем VoIP, IPTV и др.). Продукты Netropy позволяют моделировать любые типы : арендованные проводные линии, в Интернет, радиоканалы и спутниковые линии.
Основные варианты использования
- Тестирование функционирования критически важных приложений по сети Ethernet, имеющей реальные (не идеальные) характеристики.
- Интеграция с системами тестирования на базе ПО IxNetwork, IxLoad и BreakingPoint для создания полнофункциональной реалистичной тестовой среды.
- Реалистичное тестирование совместимости сетевых решений и проверка правильности их концепций (PoC).
- Эмуляция корпоративных LAN и WAN.
- Тестирование решений для обеспечения непрерывности ведения бизнеса и восстановления сетевых сервисов после сбоев.
- Проверка возможностей консолидации и миграции серверов.
- Тестирование миграции приложений в облака и решений для расширения систем хранения данных.
- Имитация задержки передачи пакетов по сетям мобильной связи и ухудшения других параметров передачи трафика по этим сетям.
- Имитация задержки передачи пакетов по сетям спутниковой связи.
- Реализация фирменных или основанных на стандартах фильтров, осуществляющих фильтрацию протоколов на уровнях 2–7.
- Реализация сценариев с отказом или ухудшением работы эмулируемой сети для активации механизмов защиты от сбоев.
Читайте также: