Материал: 521_Kokoreva,_e._V._Modelirovanie_v_srede_network_

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Объект monitor-queue имеет четыре параметра: первые два определяют звено, за которым производится слежение (узел - узел), третий параметр указывает файл, куда будет производиться запись, последний показывает, как часто снимаются показания. В приведённом примере снимаются показания на линии между узлами n2 и n3 и записываются в файл qm.out через каждые 0.01

сек.

Выходной файл содержит 11 столбцов:

1.Время;

2.Входной и выходной узлы, задающие очередь (2-3-й столбцы);

4.Размер очереди в байтах (атрибут size_ объекта monitor-queue);

5.Размер очереди в пакетах (атрибут pkts_);

6.Количество пришедших пакетов (атрибут parrivals_);

7.Количество ушедших из звена пакетов (атрибут pdepartures_);

8.Количество пакетов, выброшенных из очереди (атрибут pdrops_);

9.Количество пришедших байтов (атрибут barrivals_);

10.Количество ушедших из звена байтов (атрибут bdepartures_); 11.Количество байтов, выброшенных из очереди (атрибут bdrops_).

Объекты мониторинга могут использоваться одновременно с объектами трассировки.

3. Пример мониторинга очереди и вывода результатов

На основе примера из раздела 2.4 выполним мониторинг очереди звена n2-n3.

С целью обработки результатов мониторинга откроем три файла для записи объектов выходного файла (параметры 6-8 из раздела 2).

set f1 [open qmout1.tr w]

set f2 [open qmout2.tr w]

set f3 [open qmout3.tr w]

Опишем процедуру для записи нужной информации в выходные файлы:

proc sample { } {

global ns qmon f1 f2 f3

#текущее время

set t [$ns now]

Определим переменные для записи объектов:

#количество поступивших пакетов set arrq [$qmon set parrivals_]

#количество вышедших пакетов

set depq [$qmon set pdepartures_]

46

#количество выброшенных пакетов

set lossq [$qmon set pdrops_]

Запишем данные в соответствующие файлы (время в сек. и соответствующий параметр):

puts $f1 "$t $arrq" puts $f2 "$t $depq" puts $f3 "$t $lossq"

#запуск процедуры через 0.01 сек. $ns at [expr $t + 0.01] "sample"

}

Для запуска процедуры "sample" зададим планировщику at-событие: $ns at 0 "sample"

Чтобы вывести полученные результаты на график используем команду, которая помещается в процедуру "finish":

exec xgraph qmout1.tr qmout2.tr qmout3.tr -geometry 800x400 -lw 3 -t "Queue Monitoring" &

Результат моделирования представлен на рисунке 26.

Рисунок 26 – Результат мониторинга очереди

Задание:

Разработать в симуляторе ns2 модель TCP сети в соответствии с вариантом из лабораторной работы №2 для мониторинга очередей (агенты-источники соответствуют варианту лабораторной работы №2). Модель должна содержать мониторы всех очередей заданной топологии.

47

Вывести на графики параметры слежения (по варианту) в зависимости от времени симуляции, полученные для каждой очереди. Для каждого параметра определить файл для записи.

Примечание: Характеристики с разными единицами измерения отображать в разных координатных плоскостях (например, количество потерянных пакетов и количество потерянных байт).

Порядок выполнения:

1.Создать скрипт на языке Tcl для выполнения задания и сохранить его с расширением .tcl (например, lab4.tcl) в выбранную папку.

2.В скрипт добавить строки для формирования входных файлов программы

XGraph (содержание каждого файла время и определённый параметр слежения за конкретной очередью).

3.Добавить строки мониторинга каждой очереди (см. пример в разделе 2 данной лабораторной работы).

4.Создать процедуру для записи результатов мониторинга в файлы (раздел 3 данной лабораторной работы).

5.Добавить строки для вывода результатов на графики.

6.Запустить эмулятор Linux и Х-сервер.

7.Перейти в выбранную папку командой cd.

8.Запустить скрипт на выполнение командой: ns lab4.tcl.

9.Отредактировать полученные зависимости таким образом, чтобы все оси линии и подписи были хорошо видны.

10.Оформить отчёт по лабораторной работе.

11.Сдать и защитить работу.

12.Выйти из эмулятора командой exit.

Содержание отчёта:

1.Номер, название и цель лабораторной работы.

2.ФИО и группа студента, выполнившего лабораторную работу.

3.Номер варианта и задание к лабораторной работе.

4.Структура моделируемой сети.

5.Tcl-скрипт в соответствии с заданием.

6.Результаты выполнения лабораторной работы в графическом виде.

7.Полученные трейс-файлы.

8.Описание выполнения лабораторной работы и полученных результатов.

9.Выводы по проделанной работе.

Контрольные вопросы:

1.В чём заключается мониторинг очередей в ns2?

2.Компонентами какого сетевого объекта являются очереди?

48

3.Значения каких параметров измеряются в процессе слежения за очередью?

4.Какой командой задаётся в tcl-скрипте мониторинг очереди?

5.Какие строки необходимо добавить в tcl-скрипт для графического вывода результатов?

6.Какие at-события необходимы для мониторинга очередей?

Варианты заданий:

Таблица 4 – Исследуемый параметр канала

**

Ушедших

Ушедших

Потерянных

Потерянных

Потерянных

*

пакетов

байт

пакетов

байт

пакетов/сек.

Средняя

 

 

 

 

 

длина очере-

1

2

3

4

5

ди, пакетов

 

 

 

 

 

Средняя

 

 

 

 

 

длина очере-

6

7

8

9

10

ди, байт

 

 

 

 

 

Пришедших

11

12

13

14

15

пакетов

 

 

 

 

 

Пришедших

16

17

18

19

20

байт

 

 

 

 

 

Пришедших

21

22

23

24

25

пакетов/сек.

 

 

 

 

 

*Первая характеристика.

**Вторая характеристика.

49

Лабораторная работа №5

Моделирование канала с шумом

Цель работы: Приобрести навыки моделирования зашумлённых каналов в среде ns2. Закрепить навыки использования средств мониторинга ns2 и обработки результатов моделирования.

Краткая теория:

Впредыдущих лабораторных работах рассматривались идеальные каналы

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

Рассмотрим простую модель ошибок (ErrorModel), в которой пакеты теряются в прямом канале с некоторой вероятностью и независимо друг от друга на примере топологии сети из раздела 2.4.

Описывается модель ошибок следующим образом:

#Модель ошибок на линии от n2 к n3. set loss_model [new ErrorModel]

#Доля потерянных пакетов $loss_model set rate_ 0.2

#Равномерное распределение потерь

$loss_model ranvar [new RandomVariable/Uniform]

#Приёмник потерянных пакетов $loss_model drop-target [new Agent/Null]

#Звено с потерями

$ns lossmodel $loss_model $n2 $n3

Для оценки качества обслуживания в канале n2-n3 можно использовать методы мониторинга, описанные в лабораторных работах №№3-4.

Мониторинг очереди звена n2-n3 даёт результат, представленный на рисунке 27 (верхняя линия показывает количество поступивших, средняя – количество переданных, а нижняя – количество потерянных пакетов за время симуляции).

Можно также посмотреть анимацию модели сети с потерями (рисунок 28). На рисунке видны потери в зашумлённом канале (тёмные (CBR-трафик) и светлые (FTP-трафик) квадраты).

50

Источник: https://studfile.net/preview/16709022/