Network Emulator Toolkit

Рубрика: Новое. Автор: Баканов Денис. Пятница 23 Июл 2010 в 11:36

Сегодня я хочу поведать вам об одной интересной программе, а именно Network Emulator Toolkit. Данный софт позволяет эмулировать различные «помехи» в сети (эмуляция плохих каналов связи). Обычно нужно это для разработчиков софта, что бы сымитировать медленный канал с потерями. Я же использовал данный софт для обкатки работы технологий BranchCache и при написании статьи про SMB. В моем примере была  эмуляция  большой латентности сети, Avg.Time=200, но это далеко не все возможности. А теперь краткий обзор.

Принцип работы довольно прост: Встраивается специальная прослойка, которая  отвечает за все «проблемы» в сети. В результате прежде чем выбросить пакет в среду или принять из среды идет обработка на основе настроек.

Установка

Итак, начнем. Кратко пробежим по установке.

  1. Видим приветствие, все обычно.
    Setup_1
  2. Куда будем ставить
    Setup_2
  3. Ну собственно и все.
    Setup_3

Видно, что установка дело простое. Нет огромной кучи настроек и различных конфигураций. Все делает в 4 щелчка.

Работа в NET

Главное окно программы выглядит следующим образом
Run_1

Создание фильтров

Теперь для работы необходимо создать один или несколько фильтров. Configuration -> New Filter или CTRL+F.
Run_2
Фильтры используются для фильтрации области применений вышестоящих правил. В данном меню можно выбрать несколько вариантов:

  • All Network — вся сеть, т.е. все данные, проходящие через хостовую машину, будут попадать под критерий. И в последующием будут обрабатываться.
  • IPv4/IPv6 — тут можно задать определенные IP адреса в сети, которые мы хотим обрабатывать.
  • Так же есть возможность выбрать различные протоколы, такие как: ICMP, ICMPv6, TCP, UDP, ESP, AH. А к примеру для TCP можно выбрать еще и определенный порт или набор портов.
  • Фильтры могут быть привязаны к одной сетевой карте или сразу ко всем.

Такими вот нехитрыми действиями, можно создать достаточно сложную структуру фильтрации. Например, можно создать различные связки IP адресов и протоколов (TCP к примеру еще и с портами). Что даст просто огромные возможности по эмуляции сетевых соединений.

Я создал несколько фильтров и теперь главное окно выглядит вот так:
Run_3
Вот такими хитрыми «бабочками» обозначаются  текущие фильтры. Так же сразу видно к какому сетевому адаптеру привязаны фильтры.

Создание обработчиков (New Link)

Следующим этапом будет создание обработчиков для наших фильтров. Данные обработчики позволяют нам манипулировать сетевым соединением: Создавать задержки на канале, потери пакетов и прочии радости жизни для разработчика.

Для создания Configuration -> New Link или CTRL+L.
Link_2

Хочу заметить, что сначала мы редактируем параметры на входящего трафика. После того как мы нажмем ОК, появится аналогичное окно, но редктировать будем параметры исходящего трафика.

Loss

Link_1

Давайте пройдемся кратко по всем пунктам в этой вкладке (Loss или потери):

  • No Loss — нет никаких потерь пакетов.
  • Periodic Loss — К примеру, хотим терять каждый 102 пакет.
  • Random Loss — Периодические потери. Задаем «уровень потерь»
  • Burst Loss — «Взрыв потерь», т.е. потери будут набегать спонтанно и кучей.
  • Gilbert-Eliot Loss — Совсем крутая штука, только не понял как работает. Можно почитать тут.

Error

Link_3

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

  • No Error — Нет ошибок
  • Random Error — Периодические потери. Задаем «уровень потерь»
  • Gilbert-Eliot Loss — Совсем крутая штука, только не понял как работает. Можно почитать тут.

Latency

Link_4

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

  • No latency — Нет задержек
  • Fixed — Фиксированный размер
  • Uniform Distributed — Равномерное распределение
  • Normal Distributed — Нормальное распределение (в чем отличие — непонятно)
  • Linear — Линейное
  • Burst — Всплески

Bandwidth & Queue

Link_5

В данной закладке можно управлять «шириной канала», т.е. скоростью. А так же можно «рулить» очерью.

  • Brandwidth — Ширина канала связи
  • Queue — Очередь. Есть куча параметров. Начиная от типа очереди и заканчивая ее длиной. Так же есть магический параметр RED Queue.

Disconnection

Link_6

Можно управлять разъединениями.

  • No Disconnection — Нет разрывов связи
  • Pereodic — Периодически. Параметры так же задаются.

Я создал несколько различных фильтров и теперь главное окно выглядит вот так:
Link_7

Запуск

Для работы необходимо зайти в Action -> Start или F5
Start_2

Мониторинг

После запуска можно снять статистику. Для этого есть вкладки внизу.
Мониторинг трафика:
Monitoring_1

Мониторинг пакетов:
Monitoring_2
Сейчас все выключено и поэтому пусто.

Монитор соединений:
Monitoring_3

Заключение

Такой софт действительно незаменимый для тестовой среды.

Скачать можно x32 и x64

Баканов Денис

MCSE+S; MCITP EA

Оригинал статьи

Popularity: unranked [?]


Версия для печати
Комментариев нет »

Отзывов нет.

RSS-лента комментариев. Адрес для трекбека

Ваш отзыв



Я не робот.



Copyright © 2010 ITband.ru. WP Theme created by Web Top.

Рейтинг@Mail.ru Rambler's Top100 Яндекс цитирования