первой и второй секундами связь будет прервана, и все данные, посланные от узла n0, будут потеряны.
Далее показано, как использовать динамическую маршрутизацию для решения этой проблемы. В начало Tcl сценария, после того, как был создан объект Simulator, добавляется следующая строка:
$ns rtproto DV
Запустив моделирование снова (предварительно сохранив его под именем 'example3.tcl'),можно будет увидеть, как вначале множество небольших пакетов пробегают по сети. Если замедлить темп NAM достаточно щелкнуть на одном из пакетов, и будет видно, что это – 'rtProtoDV' пакеты, которые используются для обмена маршрутной информацию между узлами. Когда соединение нарушится в 1.0 секунды, маршрутизация снова будет откорректирована, и трафик будет перенаправлен через узлы 6, 5
и 4.
ПРЕДВАРИТЕЛЬНАЯ ПОДГОТОВКА
Ознакомиться с основами моделирования сетей ЭВМ с помощью сетевого имитатора NS2 по материалам данного практикума и рекомендуемых в нем литературных источников, а также повторить основы функционирования сетей по материалам лекций.
Изучить раздел «Краткие сведения о моделировании сетей ЭВМ с помощью сетевого имитатора NS2» методических указаний по данной лабораторной работе и подготовить необходимые Tcl скрипты для работы с NS2, рассмотренные в данном разделе.
Доработать сценарий example3.tcl таким образом, чтобы параметры сети соответствовали варианту таблицы 1. В таблице приняты следующие обозначения:
“N” – общее количество узлов в сети; “frq” – пропускная способность линии связи; “del” – задержка обработки пакета в узле связи (полагать характеристики всех линий связи одинаковыми); “tm” – общее время моделирования системы; “ns” – номер узла отправителя пакетов; “nd” – номер узла получателя пакетов; “nn” – номера узлов, между которыми будет промоделировано нарушение связи; “sr” – момент времени нарушения связи в линии; “sp” – момент времени восстановления связи. При
36
составлении программы не забывать, что нумерация узлов начинаются с 0.
Таблица 1
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
N |
8 |
9 |
7 |
8 |
9 |
7 |
8 |
9 |
7 |
8 |
frq |
0,5 |
0,7 |
0,6 |
1,0 |
0,9 |
1,1 |
1,2 |
0,9 |
0,8 |
0,7 |
del |
20 |
15 |
18 |
10 |
12 |
9 |
8 |
16 |
15 |
16 |
tm |
3,2 |
2,8 |
3,3 |
2,9 |
3,0 |
2,9 |
3,2 |
3,0 |
2,8 |
3,3 |
ns |
4 |
6 |
3 |
2 |
8 |
5 |
7 |
9 |
1 |
0 |
nd |
7 |
9 |
6 |
5 |
5 |
2 |
4 |
6 |
4 |
3 |
nn |
5-6 |
7-8 |
4-5 |
3-4 |
6-7 |
4-3 |
7-5 |
8-7 |
2-3 |
1-2 |
sr |
1,1 |
0,8 |
1,5 |
0,9 |
1,2 |
1,0 |
1,1 |
1,2 |
0,9 |
1,3 |
sp |
1,8 |
1,5 |
2,1 |
1,9 |
1,8 |
1,7 |
1,9 |
1,8 |
1,7 |
2,1 |
Результатами предварительной подготовки по данной работе являются файлы Tcl скрипта, подготовленные для моделирования сетей с помощью имитатора NS2.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1.С чего начинается NS сценарий?
2.Каковы результаты действия первой строки NS сценария?
3.Каковы возможности методов объекта Simulator?
4.Как создаются узлы сети в NS симуляторе? Пример программы.
5.На каком уровне стека ЭМВОС (TCP/IP) работают узлы в NS? По каким признакам различаются узлы на этом уровне?
6.Как создаются в NS соединения между узлами?
7.Какие параметры соединения устанавливаются при моделировании сети?
8.На каком уровне стека ЭМВОС (TCP/IP) работают линии связи в NS? По каким признакам различаются работают линии связи на этом уровне?
9.Что такое агенты? Какие параметры агентов устанавливаются при моделировании сети?
10.Как агенты связаны с узлами сети и между собой?
11.На каком уровне стека ЭМВОС (TCP/IP) работают аген-
37
ты в NS? По каким признакам различаются агенты на этом уровне?
12.На каком уровне стека ЭМВОС (TCP/IP) работают источники трафика в NS? По каким признакам различаются работают источники трафика на этом уровне?
13.В каких случаях пакет попадает в очередь? Каким образом он ее покидает?
14.Какие параметры очереди устанавливаются при моделировании соединения?
15.При каких условиях пакет удаляется из сети?
16.Что такое планирование событий? Как оно реализуется в
NS?
17.С какой целью в NS используется файл трассировки?
18.Раскрыть формат данных в файле трассировки.
19.Пояснить условные обозначения данных файла трассировки.
20.Что такое флаги в заголовке пакета сетевого уровня? С какой целью они используются?
21.Каким образом в NS моделируются аварийные ситуации
всети?
22.Что происходит с пакетом UDP при аварийной ситуации
всети?
23.Что происходит с пакетом TCP при аварийной ситуации
всети?
24.Что такое динамическая маршрутизация сети?
25.Как динамическая маршрутизация реализуется в NS?
ЛАБОРАТОРНОЕ ЗАДАНИЕ
1.Ознакомиться с основами моделирования сетей ЭВМ с помощью сетевого имитатора NS2 по материалам данного практикума и рекомендуемых в нем литературных источников (каталоги \Lab3\Metod\ и \Metod\). Создать папку с названием Lab_3 на сервере Х. Промежуточные и окончательные результаты данной работы сохранять в этом каталоге.
2.Программу, разработанную в результате предварительной подготовки, скопировать в созданную папку Lab_3.
3.Открыть окно «Терминал». С помощью команды «Изменить каталог» (cd path), где path – путь доступа к каталогу Lab_3,
38
перейти в свой рабочий каталог.
4.Скопировать. файл ns-simple.tcl, размещенный в папке S:\БогомоловСИ\NS\Lab3\Metod\, в свой рабочий каталог и провести анализ этой программы.
5.Запустить файл ns-simple.tcl на приглашение командного процессора (ns ns-simple.tcl). В ходе моделирования исследовать параметры пакетов всех потоков. В отчете отметить типы пакетов, их размеры, интервалы времени между пакетами, номера и моменты передачи первого и последнего пакетов в каждом потоке.
6.На основе файла ns-simple.tcl разработать программу моделирования сети, топология которой соответствует рисунку 5. Символы A, B… F обозначают номера узлов в сети, Ag1… Ag4 –
типы агентов, приложенных к узлам, G1… G4 – соответствующие генераторы трафика. При этом параметры сетевых компонентов определяются вариантом таблицы 2. В строке Frq0 указана пропускная способность линии CD, , в строке frq1 – остальных линий связи (в мегабитах за секунду). В строке del0 приведена задержка обработки пакета в линии CD, в строке del1 – за-
G1 |
G3 |
Ag 1 |
Ag 3 |
A |
E |
C |
D |
B |
F |
Ag 2 |
Ag 3 |
G2 |
G4 |
Рис.5. Топология сети |
|
39
держка обработки пакета в остальных линиях. В строке TCP указаны конечные узлы TCP соединения, в строке UDP – узлы UDP соединения (первым указан передающий узел).
Таблица 2
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
A |
n1 |
n3 |
n5 |
n2 |
n4 |
n3 |
n1 |
n0 |
n5 |
n2 |
B |
n5 |
n2 |
n0 |
n4 |
n5 |
n1 |
n4 |
n3 |
n4 |
n1 |
C |
n0 |
n4 |
n1 |
n3 |
n0 |
n4 |
n2 |
n4 |
n3 |
n5 |
D |
n3 |
n5 |
n2 |
n5 |
n1 |
n2 |
n0 |
n5 |
n2 |
n0 |
E |
n2 |
n0 |
n3 |
n1 |
n2 |
n0 |
n5 |
n1 |
n1 |
n3 |
F |
n4 |
n1 |
n4 |
n0 |
n3 |
n5 |
n3 |
n2 |
n0 |
n4 |
Frq0 |
1,8 |
1,6 |
1,4 |
1,7 |
1,9 |
1,5 |
2,1 |
2,4 |
2,3 |
2,2 |
del0 |
20 |
22 |
26 |
21 |
11 |
24 |
18 |
16 |
17 |
18 |
frq1 |
0,9 |
0,8 |
0,7 |
0,8 |
0,9 |
0,7 |
1,1 |
1,2 |
1,2 |
1,1 |
del1 |
40 |
44 |
52 |
42 |
22 |
48 |
36 |
32 |
34 |
36 |
TCP |
EB |
FA |
BE |
AF |
EA |
FB |
AE |
BF |
FA |
EB |
UDP |
FA |
EB |
AF |
BE |
FB |
EA |
BF |
AE |
EB |
FA |
7.Запустить на выполнение подготовленную программу. Убедиться в соответствии функционирования программы исходному заданию.
8.Скопировать. файл ns-simple-trace.tcl, размещенный в папке S:\БогомоловСИ\NS\Lab3\Metod\, в свой рабочий каталог и провести анализ этой программы.
9.Запустить файл ns-simple-trace.tcl на приглашение командного процессора (ns ns-simple-trace.tcl). В ходе моделирования исследовать параметры пакетов всех потоков. В отчете отметить типы пакетов, их размеры, интервалы времени между пакетами, номера и моменты передачи первого и последнего пакетов в каждом потоке.
10.В текстовом редакторе открыть файл out.tr. Выяснить все типы пакетов, передаваемых по сети, их размеры, адреса отправителей и получателей.
11.По файлу out.tr проследить все события (от отправления до получения на конечных узлах), происходящие с пакетом, имеющим номер, равный N+20, где N - номер варианта. Для этого собрать в один файл все строки, описывающие эти события. Уметь объяснить все записи событий, происходящих с этим па-
40