Методическое руководство по Network Simulator
.pdfАстраханский государственный технический университет
Институт информационный технологий и коммуникаций
Кафедра «Связь»
Цифровые сети c интеграцией служб
Методическое руководство для выполнения лабораторных работ
Астрахань 2010
УДК 621.39
Сорокин А.А., Соломатина Е.А., Лосев Н.Н. Цифровые сети с интеграцией служб. Методическое руководство для выполнения лабораторных работ. / АГТУ. – Астрахань, 2010. – 56 с.
В методическом руководстве представлено описание лабораторных работы по имитационному моделированию цифровых сетей с интеграцией служб.
Руководство предназначено для магистрантов, обучающихся по программам 210401.68 «Системы и устройства радиотехники и связи», 210402.68 «Сети, узлы связи и распределение информации», 210404.68 «Оптические системы локации, связи и обработки информации» направления «Телекоммуникации». В руководстве рассматриваются основы моделирования проводных и беспроводных систем связи различных топологий и типами трафика в программном комплексе Network Simulator.
Методическое руководство утверждено на заседании кафедры «Связь» «27» октября 2010г., протокол № 10
Рецензент: к.т.н. Барабанова Е.А.
2
|
|
|
Содержание |
|
|
Введение .......................................................................................................... |
|
|
|
|
4 |
Лабораторная |
работа |
№1 |
Основы моделирования в |
программном |
|
комплексе Network Simulator 2.31. ................................................................ |
|
5 |
|||
Лабораторная |
работа |
№2 |
Построение систем связи |
со |
сложной |
структурой и разнородным трафиком.......................................................... |
|
9 |
|||
Лабораторная работа №3 Моделирование обрывов каналов |
связи в |
||||
телекоммуникационных системах............................................................... |
|
15 |
|||
Лабораторная работа № 4 Моделирование работы беспроводных сетей |
|||||
IEEE 802.11 под управлением проактивных протоколов маршрутизации |
|||||
........................................................................................................................ |
|
|
|
|
23 |
Лабораторная работа № 5 Моделирование работы беспроводных сетей |
|||||
IEEE 802.11 под управлением реактивных протоколов маршрутизации. 37 |
|||||
Лабораторная работа №6 Сравнительный анализ реактивных и |
|||||
проактивных протоколов маршрутизации в зависимости от условий |
|||||
работы беспроводных сетей IEEE 802.11 ................................................... |
|
49 |
|||
Список литературы ....................................................................................... |
|
|
|
54 |
|
Приложение. .................................................................................................. |
|
|
|
|
55 |
3
Введение
Новые методы и модели требуют проверки на адекватность. Проверить гипотезу на адекватность возможно при помощи натурного эксперимента или моделирования. Согласно [1,2], моделирование различных процессов классифицируется на математическое и имитационное. Имитационное моделирование заключается в воспроизведении событий происходящих в реальных системах при помощи средств вычислительной техники. В результате имитационного моделирования собираются данные, по которым проводится оценка работы исследуемой системы [1,3].
Системы передачи информации в процессе работы испытывают множество случайных и детерминированных воздействий (характеристики узлов, каналов связи, передаваемого трафика, подвижность абонентов). В качестве среды моделирования используется программный пакет Network Simulator 2.31(NS–2), для построения графических зависимостей
– программный пакет TraceGraph, для визуализации работы исследуемых сетей используется программный пакет Network Animator (NAM).
Программный комплекс Network Simulator 2.31 (или NS - 2)
предназначен для проведения имитационного моделирования различных телекоммуникационных систем [4,5]. Изначально NS – 2, был ориентирован на работу под операционными системами линейки Linux.
Перед началом выполнения лабораторных работ учащимся рекомендуется ознакомиться с основами работы беспроводных систем передачи данных [1], требованиями, предъявляемыми к мультисервисных сетям [2], основами моделирования систем связи средствами программного пакета Network Simulator [3], справочной информацией по использованию программных пакетов NS-2, NAM, TraceGraph.
4
Лабораторная работа №1 Основы моделирования в программном комплексе
Network Simulator 2.31.
Цель работы: Изучить основы моделирования в программном комлексе Network Simulator 2.31.
Задачи:
1.Изучить, как сформировать массив из небольшого количества узлов;
2.Изучить, как устанавливать соединения между узлами;
3.Изучить, как задавать трафик в исследуемой телекоммуникационной сети;
4.Изучить способы визуализации результатов моделирования.
Основные сведения.
Процесс моделирования в NS – 2 состоит из нескольких этапов:
1.Написание скрипта на языке программирования TCL;
2.Запуска скрипта в консоли Linux;
3.Формирование трассировочных файлов (файла анимации и файла, по которому строятся графические зависимости);
4.Построение графических зависимостей и оценка результатов. Скрипт представляет собой исполняемый файл, в котором описы-
вается сеть. В скрипте задается число каналов, количество узлов, направления передачи информации, тип трафика, протоколы маршрутизации и управления доступом к среде. После написания скрипта, для дальнейшего моделирования необходимо открыть консоль Linux, перейти в папку, где находится созданный скрипт, и запустить его командой <ns имя_файла.tcl>. По результатам моделирования программой будет сгенерировано два новых файла, в которых отображены результаты эксперимента. Данные файлы имеют формат <*.nam> и <*.tr>. Файл формата <*.nam> используется для визуального просмотра работы сети. Файл формата <*.tr> для дальнейшей обработки и построения различных графических зависимостей (в виде двухмерных и трехмерных графиков, а также гистограмм). Визуальный просмотр производится во встроенной в NS 2 программе Network Animator. Файл запускается при помощи консоли Linux командой <nam имя_файла.nam>. Построение графических событий производится в программе для обработки трассировочных файлов. В пособии предполагается использование программы Tracegraph, так как она обеспечивает наибольшее построение графических зависимостей.
5
В данной лабораторной работе нужно разработать TCL скрипт для ns, который имитирует телекоммуникационную систему с простой топологией и будет использован в последующих лабораторных работах. Перед началом написания кода нужно создать текстовый файл под названи-
ем, например, <example1.tcl> [6].
1.Для начала моделирования необходимо создать объект симулятора. Это делается следующей командой:
set ns [new Simulator]
2.Создать файл для визуального отображения результатов моделирования в nam аниматоре.
set nf [open out.nam w] $ns namtrace-all $nf
Первая строка открывает файл out.nam для описания событий закрепив его за переменной nf. Во второй строке указывается, что переменная nf должна описать все события, происходящие в сети, необходимые для визуального отображения.
3.Создать файл для построения графических событий отображения результатов моделирования, например при помощи программы tracegraph.
set f [open out.tr w] $ns trace-all $f
Первая строка открывает файл out.tr для описания событий закрепив его за переменной f. Во второй строке указывается, что переменная f должна описать все события, происходящие в сети, необходимые для построения графических событий.
4.Следующим шагом будет добавление процедуры finish, которая закрывает файлы трассировки и запускает программу визуальной анима-
ции nam.
proc finish {} {
global ns nf f $ns flush-trace close $nf close $f
exec nam out.nam & exit 0
}
5. Закрытие эксперимента описывается при помощи следующей команды:
6
$ns at 5.0 "finish"
«5.0» означает, что моделирование будет завершено на пятой се-
кунде.
6. Последняя срока запускает процесс моделирования. $ns run
Данные процедуры описывают общие события, происходящие практически в каждом эксперименте, и ни чего не моделируют.
Создание узлов и каналов связи
Для проведения моделирования необходимо создать узлы, каналы, виды трафика, а также описать различные приложения.
Массив с малым числом узлов формируется следующим образом: set n0 [$ns node]
set n1 [$ns node]
Расшифровывается так: переменной n0 (n1) присваивается значение узла ns.
Процесс соединения двух узлов каналом связи гарантированного качества производится командой:
$ns duplex-link $n0 $n1 1Mb 10ms DropTail
Эта строка говорит о том, что объект симулятора соединяет узлы n0 и n1 дуплексным каналом гарантированного качества с пропускной способностью 1 Мбит/с, задержкой 10 мс и правилом обслуживания очереди DropTail. Сохраните файл и запустив скрипт в консоли Linux с помощью команды <ns example1.tcl>. Nam запустился автоматически, а на экране должно появиться изображение, показанное на рис.1.
Рис. 1 Отображение двух узлов и их соединения в NS.
Следующим шагом будет описание процесса отправки данных от узла n0 к узлу n1. В ns данные всегда отправляются от одного агента к другому. Создадим агент, который отправляет данные от узла n0 на узел n1.
1. Создаем UDP агент и закрепляем его за узлом n0
7
set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0
2. Создаем CBR трафик и закрепляем его за udp0 set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500 $cbr0 set interval_ 0.005 $cbr0 attach-agent $udp0
Эти строки создают UDP агента и закрепляют его за узлом n0, затем закрепляют генератор CBR трафика за UDP агентом. CBR - «constant bit rate» (постоянная битовой оценки). Размер пакета устанавливается 500 байт и отправка пакетов осуществляется каждые 0.005 с. (то есть 200 пакетов/с).
Перевести скорость к размерности бит/с можно при помощи следующих действий:
packetSize × 8 int erval = бит/ с
3.Создаем агент-приемник CBR трафика и закрепляем его за уз-
лом n1.
set null0 [new Agent/Null] $ns attach-agent $n1 $null0
4.Соединяем два агента между собой.
$ns connect $udp0 $null0
5. После описания видов трафика передаваемого по сети необходимо составить расписание событий - начало и окончание передачи информации (установление и разрыв сеанса связи).
$ns at 0.5 "$cbr0 start" $ns at 4.5 "$cbr0 stop"
Прописать эти строки лучше всего до строки $ns at 5.0 “finish” . Теперь сохраним файл и запустим в консоли процесс моделирова-
ния снова <ns example1.tcl>. По окончанию моделирования запустится nam аниматор и на экране монитора можно будет пронаблюдать следующие (рис. 2).
8
Рис. 2 Процесс передачи трафика
Практическое задание:
Провести 10 экспериментов и проанализировать работу сети при изменении пропускной способности канала связи, размеров информационных пакетов и частоты следования информационных пакетов.
Таблица 1. Исходные данные для моделирования
№ экспери- |
Параметры сети |
|
мента |
Пропускная спо- |
Скорость CBR тра- |
|
собность канала, |
фика, кбит/с |
|
Мбит/с |
|
1 |
1,5 |
512 |
2 |
2 |
1024 |
3 |
1 |
512 |
4 |
0,5 |
256 |
Контрольные вопросы.
1.Какие топологии сетей вы знаете? Изобразите их.
2.Что такое UDP и CBR?
3.Сделайте выводы о том, как меняется поведение сети при изменении пропускной способности канала и скорости трафика.
4.Объясните, что описывает следующая строка: $ns connect $udp0
$null0.
5.Для чего необходимо создание недействующего узла?
6.Что означают цифры 5.0 в строке $ns at 5.0 "finish"?
7.Как соотносятся скорость передачи и размер пакета?
9
Лабораторная работа №2 Построение систем связи со сложной структурой
и разнородным трафиком
Цель работы: Проанализировать сеть передачи данных со сложной топологией.
Задачи:
1.Научится описывать сеть с разнородным трафиком;
2.Изучить влияния различных способов обслуживания очередности передачи информационных пакетов на маршрутизаторах.
Основные сведения
Топология сети определяется аналогично, как и в лабораторной работе №1
1.Создаем четыре узла. set n0 [$ns node]
set n1 [$ns node] set n2 [$ns node] set n3 [$ns node]
2.Создаем каналы связи между узлами.
$ns duplex-link $n0 $n2 1Mb 10ms DropTail $ns duplex-link $n1 $n2 1Mb 10ms DropTail $ns duplex-link $n3 $n2 1Mb 10ms DropTail
3. Для удобства отображения системы связи можно задать предварительное расположение узлов (направление каналов связи) [7].
$ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right
Внешне структура сети, описанная при помощи команд в пунктах 1,2,3, показана на рис.3.
10
Рис. 3. Топология сети из нескольких узлов