Мультисервисные сети2
.pdf16.4. Средства для визуализации, сбора и обработки результатов симуляции |
451 |
|
|
Фрагмент файла трассировки проводного канала:
+0.108 1 2 cbr 1000 ------- 2 1.0 3.1 1 1 - 0.108 1 2 cbr 1000 ------- 2 1.0 3.1 1 1 r 0.114 1 2 cbr 1000 ------- 2 1.0 3.1 0 0
+0.114 2 3 cbr 1000 ------- 2 1.0 3.1 0 0 - 0.114 2 3 cbr 1000 ------- 2 1.0 3.1 0 0
+0.116 1 2 cbr 1000 ------- 2 1.0 3.1 2 2 - 0.116 1 2 cbr 1000 ------- 2 1.0 3.1 2 2 r 0.122 1 2 cbr 1000 ------- 2 1.0 3.1 1 1
+0.122 2 3 cbr 1000 ------- 2 1.0 3.1 1 1 - 0.122 2 3 cbr 1000 ------- 2 1.0 3.1 1 1
+0.124 1 2 cbr 1000 ------- 2 1.0 3.1 3 3 - 0.124 1 2 cbr 1000 ------- 2 1.0 3.1 3 3
16.4.2.Визуализатор NAM (Network Animator)
NS2 содержит средство анимации результатов моделирования – Network ANimator (NAM), который графически воспроизводит имитационную модель (топологию сети, анимацию прохождения пакетов по сети, постановки их в очередь, отбрасывания их из очереди и др.) [1, 6].
Запустить аниматор можно командой
Nam <nam-trace-file>
где nam-trace-file – имя файла трассировки для аниматора с расширением .nam.
Для создания трейс-файла визуализации необходимо добавить в тиклет команды:
set nf [open out.nam w] $ns namtrace-all $nf
Отрывок из трейс-файла для визуального отображения:
V -t * -v 1.0a5 -a 0
A -t * -n 1 -p 0 -o 0xffffffff -c 31 -a 1 A -t * -h 1 -m 2147483647 -s 0
c -t * -i 0 -n blue c -t * -i 1 -n red
c -t * -i 2 -n brown
452 |
Глава 16. Моделирование мультисервисных сетей в NS2 |
|
|
c -t * -i 3 -n green
n -t * -a 0 -s 0 -S UP -v circle -c black -i black n -t * -a 1 -s 1 -S UP -v circle -c black -i black n -t * -a 2 -s 2 -S UP -v circle -c black -i black n -t * -a 3 -s 3 -S UP -v circle -c black -i black
l -t * -s 0 -d 1 -S UP -r 20000000 -D 0.02 -c black -o right l -t * -s 1 -d 2 -S UP -r 2000000 -D 0.02 -c black -o down l -t * -s 3 -d 0 -S UP -r 2000000 -D 0.02 -c black -o up
l -t * -s 2 -d 3 -S UP -r 2000000 -D 0.02 -c black -o left
Интерфейс пользователя NAM содержит поле анимации, несколько меню и кнопок (рис. 16.18).
Меню view:
New view – создает тот же вид этой же анимации. Пользователь может увеличивать и прокручивать изображение в новом окне;
Show monitors – показывает окно в нижней части экрана, где осуществляется мониторинг;
Show autolayout – показывает окно в нижней части экрана, содержащее панели для ввода данных и кнопки для настроек автоматического расположения;
Show annotation – показывает пункт в нижней части экрана с примечаниями по мере увеличения модельного времени.
Под панелью меню находятся кнопки перемотки назад, запуска анимации в обратную сторону, остановки анимации, запуска анимации, перемотки вперед и выхода из NAM, индикатор текущего времени анимации и движок изменения скорости анимации.
Возможно увеличение или уменьшение изображения с помощью кнопок в левой части экрана.
Изменить текущее время анимации пользователь может с помощью движка времени анимации, расположенного под зоной анимации.
Под движком времени анимации находится панель автопланировки топологии сети, которая содержит три параметра (если установлен крыжик1 Show autolayout):
Ca – константа притягивающего воздействия между узлами;
Cr – константа отталкивающего воздействия между узлами;
Iterations (количество итераций) – определяет, сколько раз запускать процедуру автопланировки.
1Крыжик — в жаргоне программистов и "компьютерщиков" — отметка, которую можно поставить в поле ввода типа checkbox или radiobutton.
16.4. Средства для визуализации, сбора и обработки результатов симуляции |
453 |
|
|
Запуск анимации |
Остановка |
Запуск |
Перемотка |
Имя трейс- |
в обратном |
анимации |
анимации |
вперёд |
файла NAM |
направлении |
|
|
|
|
Меню |
|
|
|
Время |
|
|
|
между |
|
|
|
|
|
двумя |
|
|
|
|
кадрами |
Перемотка |
|
|
|
анимации |
назад |
|
|
|
|
Изменение Увеличить скорости
анимации
Уменьшить
Текущее
время
анимации
Движок
времени
анимации
Рис. 16.18. Интерфейс NAM
Кроме того, NAM обладает набором функций, например, изменения цвета звена или узла, введения обозначений сетевых объектов или текстовых примечаний.
16.4.3. Утилиты обработки файлов трассировки
AWK – утилита для простых вычислительных манипуляций над данными. AWK входит в состав многих программ Unix-like для Windows, в том числе и Cygwin. Название утилиты составлено из первых букв фамилий ее разработчиков (Aho–Weinberger–Kernighan) [1, 6].
Grep – утилита, работающая в режиме командной строки Unix. С помощью grep можно создать новый файл, который состоит только из тех строк исходного файла, которые включают в себя заданные последовательности знаков. Например, пользователю нужна только информация о TCP-пакетах, которые передаются от 1-го узла ко 2-му:
grep ― 1 2 tcp ‖ out1.tr > out2.tr
Gnuplot – бесплатное программное обеспечение как для Unix, так и для Windows. Для построения графика с помощью Gnuplot в наиболее простом варианте необходимо использовать команду plot „datafile‟, где файл datafile имеет две колонки, первая содержит координаты точек по оси абсцисс, вторая – по оси ординат.
XGraph является частью пакета NS2 «все-в-одном», но может быть установлен и отдельно. XGraph может быть вызван внутри
454 |
Глава 16. Моделирование мультисервисных сетей в NS2 |
|
|
скрипта tcl, результатом чего будет являться вывод графика на экран сразу же после завершения моделирования. В качестве входных данных программа использует один или более ASCII-файлов, каждый из которых содержит набор строк, состоящих из пары координат x-y.
Пример:
exec xgraph f1.tr f2.tr
Обязательным параметром команды xgraph является имя файла (или нескольких файлов – f1.tr, f2.tr), содержимое которого(ых) будет выведено на координатную плоскость. Далее команда может содержать несколько опций для редактирования рисунка, которые описаны ниже.
Некоторые опции XGraph:
заголовок: -t "title";
размер: -geometry xsize ysize;
наименования осей: -x "xname" -y "yname";
толщина линии: -lw width;
шрифт подписей осей и легенды: -lf "font-size" (например "helve- tica-15");
шрифт заголовка: -tf "font-size";
цвет осей: -zg "color";
толщина осей: -zw width.
Примечание: Лучше не использовать кириллицу для подписей в XGraph, так как встроенные в него шрифты ее не поддерживают.
Пример:
exec xgraph f1 –geometry 800 600 –t "Graph" –x "time" –y "loss"
Для того чтобы использовать XGraph для построения графиков, необходимо в tcl-скрипт поместить строки создания файла(ов) данных в соответствующем формате.
На рис. 16.19 приведена статистика принятых пакетов (Кбит/с) в беспроводной сети, собранная за 30 секунд симуляции и отображенная с помощью утилиты XGraph.
Программа TraceGraph была специально разработана для NS2. В качестве входных данных она использует трейс-файлы NS2. TraceGraph работает как на платформе Unix/Linux, так на платформе Windows при условии, что установлена программа Matlab или ее библиотеки.
16.5. Возможности NS2 |
455 |
|
|
Рис. 16.19. Производительность каналов, Кбит/с, в зависимости от времени симуляции
Возможности TraceGraph:
построение 238 различных двумерных зависимостей;
построение 12 различных трехмерных зависимостей;
построение 8 различных гистограмм;
определение зависимостей и сбор статистики по задержкам, вариациям задержек, времени обработки, периодам кругового обращения, количеству промежуточных узлов, производительности и пр.;
определение зависимостей и сбор статистики по всей сети, отдельно по узлам и звеньям;
результаты могут быть сохранены в текстовые файлы, а графики – в формате .tiff или .jpeg.
Недостатком программы является возможность построения ограниченного количества графиков. Несмотря на то что это количество более двухсот, некоторые часто используемые виды графиков отсутствуют.
16.5. Возможности NS2
На сегодняшний день в NS2 на уровне ядра реализованы почти все известные протоколы и механизмы организации мультисервисных сетей. Из наиболее актуальных можно отметить следующие: TCP, UDP, FTP, MPLS, IPv6, OSPF, RSVP и др.
456 |
Глава 16. Моделирование мультисервисных сетей в NS2 |
|
|
В симуляторе также реализовано целое семейство механизмов обслуживания очереди: RED, DropTail, SFQ, CBQ, DRR, FQ и др.
Симулятор NS2 осуществляет имитационное моделирование сетей на уровне пакетов, т.е. моделирует генерацию пакетов и прохождение их по сети. На прикладном уровне моделируется характер трафика, порождаемого различными приложениями: Web, FTP, Telnet, RealAudio; кроме того, имеются абстрактные модели трафика, например CBR. Возможно моделирование работы протоколов транспортного уровня UDP и различных реализаций TCP, multicast-протоколов, различных протоколов маршрутизации в проводных и беспроводных сетях. Кроме того, моделируются некоторые факторы, относящиеся к физическому уровню: задержка пакетов в каналах, возникновение ошибок, расход энергии батарей в устройствах с автономным питанием.
Результатом работы симулятора являются выходные текстовые файлы, в которых регистрируется ход моделирования (моменты генерации/получения пакетов, состояние очередей, отброс пакетов в очередях и т. д.). Кроме того, в модель могут быть включены команды, вычисляющие любые величины, измерение которых требуется в конкретной задаче (задержка пакетов, пропускная способность и т. п.). Значения этих величин в ходе моделирования также могут регистрироваться в выходных файлах.
Для визуализации результатов служат аниматор NAM (Network Animator) и построитель графиков XGraph. Для обработки результатов моделирования возможно использование не входящих в состав NS2
утилит Unix и Windows.
К сожалению, слабым местом NS2 является документация. Существующее руководство пользователя не является исчерпывающим и некоторые свойства пакета в нем не отражены.
В заключение можно сказать, что пакет NS2 предоставляет возможность моделирования как проводных, так и беспроводных сетей, имеет в своем составе множество моделей сетевых объектов и позволяет разрабатывать собственные. Большим достоинством программы является то, что она бесплатная и постоянно обновляется силами многих разработчиков, а кроме того, в состав пакета NS2 входит большое количество примеров моделей телекоммуникационных систем самых разных видов.
Контрольные вопросы:
1.В чем заключаются основные преимущества пакета NS2?
2.Опишите архитектуру пакета NS2.
3.Кратко охарактеризуйте компоненты моделей NS2.
Список литературы |
457 |
|
|
4.Для чего нужен планировщик событий, и как он работает?
5.Перечислите сетевые объекты моделей NS2.
6.Какие механизмы обслуживания очередей заложены в NS2?
7.Что такое агент NS2?
8.Каким образом можно задать приложение прикладного уровня?
9.Что такое файл трассировки, и как его можно использовать?
10.Какие средства обработки результатов моделирования NS2 вы знаете?
Список литературы
1.Галкин А.М., Кучерявый Е.А., Молчанов Д.А. Моделирование в среде ns2. Учебно-методическое пособие. – СПб.: СПбГУТ, 2007. [Электронный ресурс] – URL: http://www.seti.sut.ru/admin61/editor_files/file_upload/metod_ ns2.pdf
2.Issariyakul T., Hossain E. Introduction to Network Simulator NS2. Springer, 2008. – 400 p.
3.Fall K., Varadhan K., Eds., The ns Manual, The VINT Project, UC Berkeley, LBL, USC/ISI, and Xerox PARC, Nov. 2011. – 430 p.
4.Петровский А.И. Командный язык программирования Tcl (Tool Command Language). – М.: Бук_пресс, 2006. – 192 с.
5.Канаков О.И., Ковалев П., Филимонов В. Система моделирования сетей связи NS 2: Методическое пособие. – Нижний Новгород: Нижегородский государственный университет им. Н.И. Лобачевского, 2003. – 19 с.
6.Кокорева Е.В. Моделирование в среде Network Simulator – 2: Методические указания. – Новосибирск: СибГУТИ, 2013. – 62 c.
Глава 17. Аналитическое моделирование мультисервисных сетей
Аналитическое моделирование служит для описания исследуемых процессов функционирования инфокоммуникационных систем в некотором классе математических моделей. Например, теория графов используется для исследования и оптимизации топологии сетей, сети Петри – для верификации и анализа распределенных алгоритмов функционирования сети, теория случайных процессов – для отображения вероятностных характеристик сети, системы и сети массового обслуживания – для анализа пропускной способности, сетевых задержек и потерь.
Фундаментальные результаты теории систем массового обслуживания хорошо применимы к сетям с коммутацией каналов, предназначенных для передачи речи, но непригодны для анализа мультисервисных сетей, построенных на основе пакетной коммутации. Поэтому в настоящее время наиболее распространенным средством анализа вероятностно-временных характеристик инфокоммуникационных систем разного назначения являются сети массового обслуживания, благодаря наличию эффективных методов расчета и высокому уровню адекватности этих методов [1].
17.1.Основные понятия теории сетей массового обслуживания
Понятие сетей массового обслуживания было введено Дж. Джексоном в 1957 году в [2].
Многие технические системы могут быть представлены сетью, в которой клиент получает доступ к услуге через несколько последовательных узлов, каждый из которых содержит один или несколько обслуживающих приборов и буферную память (очередь) для хранения заявок на обслуживание. Каждая заявка в течение случайного времени обслуживается одним узлом, а затем переходит к следующему. Таким образом, узлы представляют собой системы массового обслуживания (СМО), а структура, их объединяющая – сеть систем массового обслуживания, чаще называемая сетью массового обслуживания (СеМО).
Сеть массового обслуживания представляет собой совокупность конечного числа взаимосвязанных узлов обслуживания, в которой
17.1. Основные понятия теории сетей массового обслуживания |
459 |
|
|
циркулируют заявки, переходящие в соответствии с заданным маршрутом с выхода одного узла на вход другого (рис. 17.1).
41 |
|
04 |
|
|
24 |
4 |
|
|
|
|
|
|
|||||
|
12 |
|
|
|
4 |
|
4 |
|
|
1 |
|
2 |
|
25 |
|
|
|
|
|
|
|
|
|
|||
1 |
|
1 |
2 |
|
|
4 |
|
|
|
3 |
|
34 |
4 |
|
|||
|
|
|
|
|||||
01 |
13 1 |
3 |
|
|
35 |
5 |
50 |
|
|
|
|
|
|
|
5 |
||
Рис. 17.1. Пример сети массового обслуживания
Переходы заявок от одной СМО к другой задаются матрицей маршрутов Θ , которая является стохастической, зависит от вида СеМО и определяет ее топологию [3]. Маршрутная матрица для примера, приведенного на рис. 17.1, выгладит следующим образом:
|
0 |
01 |
0 |
0 |
04 |
0 |
|
||||
|
0 |
0 |
12 |
13 |
0 |
0 |
|
||||
|
|
||||||||||
|
0 |
0 |
0 |
0 |
|
|
|
|
|
||
Θ |
|
|
|
|
|
|
|
24 |
|
25 |
. |
|
0 |
0 |
0 |
0 |
34 |
35 |
|
||||
|
0 |
|
|
0 |
0 |
0 |
0 |
|
|||
|
|
|
|
41 |
|
|
|
|
|
|
|
|
50 |
0 |
0 |
0 |
0 |
0 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
Сети массового обслуживания могут быть открытыми (разомкнутыми) и закрытыми (замкнутыми). Открытыми называются СеМО, имеющие бесконечный внешний источник заявок и сток, через который заявки покидают сеть после облуживания. В каждый момент времени в сети может находиться произвольное число заявок. В замкнутой СеМО отсутствует внешний источник-сток заявок и количество циркулирующих по сети заявок постоянно. Смешанные СеМО обладают свойствами и тех и других. Открытые СеМО легко могут быть преобразованы в замкнутые добавлением дополнительного узла.
В приведенном выше примере открытой СеМО (рис. 17.1) источник-сток заявок обозначен 0-м узлом и соответствующие ему
маршрутные вероятности обозначаются 0 j и j0 – вероятность
поступления заявки извне в j-й узел и вероятность выхода заявки из сети после обслуживания в j-м узле соответственно.
460 |
Глава 17. Аналитическое моделирование мультисервисных сетей |
|
|
Для полного описания СеМО необходимо определить понятие класса заявок. Класс заявок – множество требований с одинаковыми свойствами, т.е. имеющими одинаковые маршруты, одинаковые распределения времени обслуживания и одни и те же приоритеты. Если заявки различаются хотя бы одним из этих параметров, они принадлежат разным классам. По окончании обработки в некотором узле требование может перейти не только в другой узел, но и в другой класс, изменив свои свойства. Например, запрос, дойдя до обслуживающего сервера, превращается в информационный пакет, который в свою очередь, дойдя до запрашивающего клиента, превращается в квитанцию.
Однородными называются сети, в которой существует только один класс заявок, а неоднородными – сети с более чем одним классом заявок [1–4].
17.2. Классификация СеМО
Описанные в предыдущем разделе понятия можно обобщить в виде приведенной ниже классификации [1]. СеМО подразделяются:
1.По наличию внешних источников:
открытые;
замкнутые;
смешанные.
2.По числу классов заявок:
однородные;
неоднородные.
3.По типу функции распределения времени обслуживания:
экспоненциальные (марковские);
общего вида.
17.3. Марковские СеМО. Теорема Берке
Марковские (экспоненциальные) СеМО содержат системы массового обслуживания (СМО) с показательным распределением времени обслуживания и в случае открытых сетей – показательным распределением времени между поступлениями требований [5].
Таким образом, можно говорить о сети узлов, каждый из которых представляет собой СМО из одного или нескольких приборов и очереди. Требования поступают в систему в разных точках, ждут в очереди обслуживания и, покинув один узел, поступают в другой для дальнейшего обслуживания. Важно определить топологию сети, так как она определяет возможные переходы между узлами.
