Методическое руководство по Network Simulator
.pdf
|
|
|
|
Параметры сети |
|
|
|
|||
|
|
|
|
|
|
|
|
|
||
№ Варианта |
Номер топологии |
Пропускная способность канала, Мбит/с |
Скорость CBR трафика, кбит/с |
Пары генерирующих узлов |
Время обрыва ка- |
налов |
Время восстанов- |
ления каналов |
||
|
|
|
|
|
|
|
||||
|
|
|
|
1-3, |
1-6 - 3 сек |
1-6 - 10 сек., |
||||
9 |
3 |
1,5 |
512 |
2-5, |
4-5 - 5 сек., |
4-5 – 9 |
|
сек., |
||
|
|
|
|
4-6 |
2-6 - 8 сек |
2-6 – 11 |
сек |
|||
|
|
|
|
3-1, |
2-3 - 5 сек., |
2-3 - 8 сек. |
||||
|
|
|
|
1-4 – 12 |
||||||
10 |
1 |
2 |
1024 |
2-6, |
1-4 –7 |
сек., |
||||
сек. 5-6 - |
||||||||||
|
|
|
|
5-3. |
5-6 –10 |
сек.. |
||||
|
|
|
|
|
|
|
15 сек. |
|
||
|
|
|
|
1-5, |
1-2 - 3 сек., |
1-2 - 10 сек., |
||||
11 |
2 |
1 |
512 |
2-3, |
2-6 – 5 |
сек., |
2-6 – 9 |
|
сек., |
|
|
|
|
|
6-1 |
4-5 – 8 |
сек |
4-5 – 11 |
сек |
||
|
|
|
|
1-3, |
1-6 - 3 сек |
1-6 - 10 сек., |
||||
12 |
3 |
0,5 |
256 |
2-5, |
4-5 - 5 сек., |
4-5 – 9 |
|
сек., |
||
|
|
|
|
4-6 |
2-6 - 8 сек |
2-6 – 11 |
сек |
|||
|
|
|
|
3-1, |
2-3 - 5 сек., |
2-3 - 8 сек. |
||||
|
|
|
|
1-4 –7 |
сек., |
1-4 – 12 |
||||
13 |
1 |
1,5 |
512 |
2-6, |
||||||
5-6 – 10 |
сек. |
5-6 - |
||||||||
|
|
|
|
5-3. |
||||||
|
|
|
|
сек.. |
|
15 сек. |
|
|||
|
|
|
|
|
|
|
||||
|
|
|
|
1-5, |
1-2 - 3 сек., |
1-2 - 10 сек., |
||||
14 |
2 |
2 |
1024 |
2-3, |
2-6 – 5 |
сек., |
2-6 – 9 |
|
сек., |
|
|
|
|
|
6-1 |
4-5 – 8 |
сек |
4-5 – 11 |
сек |
||
|
|
|
|
1-3, |
1-6 - 3 сек |
1-6 - 10 сек., |
||||
15 |
3 |
1 |
512 |
2-5, |
4-5 - 5 сек., |
4-5 – 9 |
|
сек., |
||
|
|
|
|
4-6 |
2-6 - 8 сек |
2-6 – 11 |
сек |
|||
|
|
|
|
3-1, |
2-3 - 5 сек., |
2-3 - 8 сек. |
||||
|
|
|
|
1-4 – 12 |
||||||
16 |
1 |
0,5 |
256 |
2-6, |
1-4 –7 |
сек., |
||||
сек. 5-6 - |
||||||||||
|
|
|
|
5-3. |
5-6 –10 |
сек.. |
||||
|
|
|
|
|
|
|
15 сек. |
|
||
|
|
|
|
1-5, |
1-2 - 3 сек., |
1-2 - 10 сек., |
||||
17 |
2 |
1,5 |
512 |
2-3, |
2-6 – 5 |
сек., |
2-6 – 9 |
|
сек., |
|
|
|
|
|
6-1 |
4-5 – 8 |
сек |
4-5 – 11 |
сек |
21
|
|
|
|
Параметры сети |
|
|
|||
|
|
|
|
|
|
|
|
||
№ Варианта |
Номер топологии |
Пропускная способность канала, Мбит/с |
Скорость CBR трафика, кбит/с |
Пары генерирующих узлов |
Время обрыва ка- |
налов |
Время восстановления каналов |
||
|
|
|
|
|
|
|
|||
|
|
|
|
1-3, |
1-6 - 3 сек |
1-6 - 10 сек., |
|||
18 |
3 |
2 |
1024 |
2-5, |
4-5 - 5 сек., |
4-5 – 9 |
сек., |
||
|
|
|
|
4-6 |
2-6 - 8 сек |
2-6 – 11 |
сек |
||
|
|
|
|
3-1, |
2-3 - 5 сек., |
2-3 - 8 сек. |
|||
|
|
|
|
1-4 – 12 |
|||||
19 |
1 |
1 |
512 |
2-6, |
1-4 –7 |
сек., |
|||
сек. 5-6 - |
|||||||||
|
|
|
|
5-3. |
5-6 –10 |
сек.. |
|||
|
|
|
|
|
|
|
15 сек. |
|
|
|
|
|
|
1-5, |
1-2 - 3 сек., |
1-2 - 10 сек., |
|||
20 |
2 |
0,5 |
256 |
2-3, |
2-6 – 5 |
сек., |
2-6 – 9 |
сек., |
|
|
|
|
|
6-1 |
4-5 – 8 |
сек |
4-5 – 11 |
сек |
|
|
|
|
|
1-3, |
1-6 - 3 сек |
1-6 - 10 сек., |
|||
21 |
3 |
1,5 |
512 |
2-5, |
4-5 - 5 сек., |
4-5 – 9 |
сек., |
||
|
|
|
|
4-6 |
2-6 - 8 сек |
2-6 – 11 |
сек |
||
|
|
|
|
3-1, |
2-3 - 5 сек., |
2-3 - 8 сек. |
|||
|
|
|
|
1-4 – 12 |
|||||
22 |
1 |
2 |
1024 |
2-6, |
1-4 –7 |
сек., |
|||
сек. 5-6 - |
|||||||||
|
|
|
|
5-3. |
5-6 –10 |
сек.. |
|||
|
|
|
|
|
|
|
15 сек. |
|
|
|
|
|
|
1-5, |
1-2 - 3 сек., |
1-2 - 10 сек., |
|||
23 |
2 |
1 |
512 |
2-3, |
2-6 – 5 |
сек., |
2-6 – 9 |
сек., |
|
|
|
|
|
6-1 |
4-5 – 8 |
сек |
4-5 – 11 |
сек |
|
|
|
|
|
1-3, |
1-6 - 3 сек |
1-6 - 10 сек., |
|||
24 |
3 |
0,5 |
256 |
2-5, |
4-5 - 5 сек., |
4-5 – 9 |
сек., |
||
|
|
|
|
4-6 |
2-6 - 8 сек |
2-6 – 11 |
сек |
22
Рис. 14 Топология 2
Рис. 15 Топология 3
23
Лабораторная работа № 4
Моделирование работы беспроводных сетей IEEE 802.11 под управлением проактивных протоколов маршрутизации
Цель работы: Изучить основы моделирования беспроводных систем связи средствами программного пакета Network Simulator.
Задачи:
1.Изучить правила ввода первоначальных сведений необходимых для моделирования беспроводной системы связи;
2.Изучить правила описания беспроводных узлов;
3.Изучить правила описания процесса перемещения узлов сети;
4.Провести моделирование работы системы связи, изучить зависимости качества работы моделируемой системы от подвижности и количества узлов, а также интенсивности трафика передаваемых данных.
Основные сведения.
Для моделирования беспроводной сети передачи данных в программном пакете Network Simulator необходимо в исполняемый файл (скрипт), который описывает работу системы, записать начальные условия [4] (таблица 4).
Описание первоначальных команд, используемых для задания переменных и описания эксперимента, приведены в приложении.
Таблица 4. Список переменных, необходимых для моделирования беспроводной сети
№ |
Наименование |
Значение переменной |
Комментарий |
|
переменной |
|
|
1 |
set val(chan) |
Channel / Wireless Channel |
Тип канала |
2 |
set val(prop) |
Propagation / TwoRay- |
Модель распростране- |
|
|
Ground |
ния волн |
3 |
set val(ant) |
Antenna/OmniAntenna |
Тип антенны |
4 |
set val(ll) |
LL |
Тип сетевого уровня |
5 |
set val(ifq) |
Queue / DropTail / Pri- |
Тип обслуживания оче- |
|
|
Queue |
реди |
6 |
set val(ifqlen) |
50 |
Максимальный размер |
|
|
|
пакета |
7 |
set val(netif) |
Phy/WirelessPhy |
Тип сети |
8 |
set val(mac) |
Mac/802_11 |
Тип канального уровня |
9 |
set val(rp) |
DSDV |
Тип протокола маршру- |
|
|
|
тизации |
10 |
set val(nn) |
2 |
Количество подвижных |
|
|
|
узлов |
24
Затем описывается эксперимент.
1. Прописывается строка, означающая начало моделирования: set ns [new Simulator]
2. Прописываются команды для формирования файлов трассировки.
2.1Команда на создание файла используемого при построении графических зависимостей:
set tracefd [open graph.tr w] $ns trace-all $
2.2Команда на создание файла, используемого для визуализации работы сети:
set namtrace [open mov_wireless.nam w]
$ns namtrace-all-wireless $namtrace $val(x) $val(y)
3. Создается топология сети. set topo [new Topography]
4.Задается размер топологии, например: $topo load_flatgrid 100 100
5.Создается объект главного управляющего узла сети: create-god $val(nn)
God (General Operations Director) – главный управляющий узел – это объект, который используется для хранения общей информации о состоянии элементов сети, за которыми осуществляется наблюдение. В данной строке объекту God дается задание запоминать общее количество мобильных узлов, входящих в состав сети и таблицы маршрутизации, необходимые для установления соединений между узлами.
6. Для конфигурации беспроводных узлов моделируемой системы связи необходимо написать команду
$ns node-config
Свойства узлов описываются в таблице 5:
25
Таблица 5. Свойства узлов моделируемой сети
Наименование свойства Описание свойства
-adhocRouting $val(rp) |
задание протокола маршрутизации, кото- |
|
рый используется узлом; |
-llType $val(ll) |
задание типа сетевого уровня, который ис- |
|
пользуется узлом; |
-macType $val(mac) |
задание типа канального уровня, который |
|
используется узлом; |
-ifqType $val(ifq) |
задание правила обслуживания очереди, |
|
которое используется узлом; |
-ifqLen $val(ifqlen) |
Задание максимального числа пакетов, ко- |
|
торые узел может поставить в очередь; |
|
|
-antType $val(ant) |
Задание типа антенны, установленной на |
|
узле; |
|
|
-propType $val(prop) |
Задание модели распространения электро- |
|
магнитных волн; |
|
|
-phyType $val(netif) |
Задание типа сети ; |
|
|
-topoInstance $topo |
Включение узла в состав заданной тополо- |
|
гии; |
|
|
-channelType $val(chan) |
Задание типа канала, который используется |
|
узел; |
|
|
Наименование свойства |
Описание свойства |
|
|
-agentTrace ON |
Включение процедуры формирования базы |
|
данных отчетов о работе сети; |
|
|
-routerTrace ON |
Включение процедуры запоминания мар- |
|
шрутизации |
|
|
-macTrace OFF |
Отключение процедуры запоминания про- |
|
цессов канального уровня |
|
|
-movementTrace OFF |
Отключение процедуры запоминания про- |
|
цесса перемещения |
|
|
7. Создание двух подвижных узлов: for {set i 0} {$i < $val(nn) } {incr i} { set node_($i) [$ns_ node ]
26
$node_($i) random-motion 0 ;# отключаем случайное движение
}
При выполнении данной работы перемещение узлов задается вручную при помощи прописывания направлений перемещения.
8. Задаются начальные положения узлов: $node_(0) set X_ 5.0
$node_(0) set Y_ 2.0 $node_(0) set Z_ 0.0
$node_(1) set X_ 90.0 $node_(1) set Y_ 85.0 $node_(1) set Z_ 0.0
Таким образом, Узел №0 начинает движение из точки (5, 2), а узел №1 – из точки (90, 85).
9. Описываются направления движения узлов: $ns_ at 4.0 "$node_(0) setdest 20.0 80.0 3.0"
Данная строка означает, что на 4 секунде моделирования узел №0 начинает движение в точку с координатами x=20 y=80 со скоростью 3 метра в секунду
$ns at 5.0 "$node_(1) setdest 25.0 20.0 4.0"
Аналогично на 5 секунде моделирования узел №1 начинает движение в точку с координатами x=25 y=20 со скоростью 4 метра в секунду
При помощи данных команд можно задавать направление и скорость движения узлов в моделируемой сети.
10. Задается тип трафика, передаваемого между узлами:
Трафик между узлами в беспроводных сетях задается аналогично проводным (см. Л/Р №2)
Например, TCP соединение между узлами №0 и №1 задается следующим образом:
set tcp [new Agent/TCP] $tcp set class_ 2
set sink [new Agent/TCPSink] $ns attach-agent $node_(0) $tcp
27
$ns attach-agent $node_(1) $sink $ns connect $tcp $sink
set ftp [new Application/FTP] $ftp attach-agent $tcp
$ns at 5.4 "$ftp start"
11. В завершении описывается процесс остановки эксперимента. for {set i 0} {$i < $val(nn) } {incr i} {
$ns at 50.0 "$node($i) reset";
}
$ns at 50.0001 "stop"
$ns at 50.0002 "puts \"NS EXITING...\" ; $ns_ halt" proc stop {} {
global ns_ tracefd close $tracefd
}
Данные строки можно перевести следующим образом: в момент наступления 50.0 секунды моделирование останавливается, прекращается работа узлов и заканчивается процесс записи в трассировочные файлы.
11. Последней строкой описывается, что при исполнении данного файла происходит начало моделирования.
puts "Starting Simulation..." $ns run
Далее файл сохраняется под именем, например Sorokin-wireless.tcl, после чего он может быть запущен через командную строку Linuxтерминала.
ns Sorokin-wireless.tcl
После завершения моделирования файлы graph.tr и mov_wireless.nam проходят дополнительную обработку:
graph.tr - обрабатывается средствами программы TraceGraph mov_wireless.nam - обрабатывается средствами программы Network Animator
Далее приводится полный текст исполняемого файла моделирующего работу беспроводной сети, состоящей из двух узлов, передающих ftp приложения средствами по TCP протоколу.
Начальные данные:
28
set val(chan) |
Channel/WirelessChannel |
set val(prop) |
Propagation/TwoRayGround |
set val(netif) |
Phy/WirelessPhy |
set val(mac) |
Mac/802_11 |
set val(ifq) |
Queue/DropTail/PriQueue |
set val(ll) |
LL |
set val(ant) |
Antenna/OmniAntenna |
set val(ifqlen) |
50 |
set val(nn) |
2 |
set val(rp) |
DSDV |
set val(x) |
100 |
set val(y) |
100 |
set ns_ |
[new Simulator] |
set tracefd |
[open graph.tr w] $ns_ trace-all $tracefd |
set ns |
[new Simulator] |
set tracefd |
[open graph.tr w] |
$ns trace-all $tracefd
set namtrace [open mov_wireless.nam w]
$ns_ namtrace-all-wireless $namtrace $val(x) $val(y)
Задание топологии
set topo [new Topography]
Задание размеров топологии $topo load_flatgrid $val(x) $val(y)
Формирование объекта GOD create-god $val(nn)
Формирование параметров узлов
$ns_ node-config -adhocRouting $val(rp) \ -llType $val(ll) \ -macType $val(mac) \ -ifqType $val(ifq) \ -ifqLen $val(ifqlen) \ -antType $val(ant) \ -propType $val(prop) \ -phyType $val(netif) \ -channelType $val(chan) \
29
-topoInstance $topo \ -agentTrace ON \ -routerTrace ON \ -macTrace ON \ -movementTrace OFF
Задание узлов,с отменой случайного движения for {set i 0} {$i < $val(nn) } {incr i} {
set node_($i) [$ns_ node] $node_($i) random-motion 0
}
Указание начального положения узлов $node(0) set X_ 5.0
$node(0) set Y_ 2.0 $node(0) set Z_ 0.0
$node(1) set X_ 90.0 $node(1) set Y_ 85.0 $node(1) set Z_ 0.0
Задание параметров движения узла:
$ns_ at 5.0 "$node_(1) setdest 25.0 20.0 4.0" $ns_ at 4.0 "$node_(0) setdest 20.0 80.0 3.0" $ns_ at 20.0 "$node_(1) setdest 90.0 1.0 3.0" $ns_ at 25.0 "$node_(0) setdest 99.0 30.0 3.0"
Создание трафиковой нагрузки set tcp [new Agent/TCP]
set sink [new Agent/TCPSink] $ns attach-agent $node_(0) $tcp $ns attach-agent $node_(1) $sink $ns connect $tcp $sink
set ftp [new Application/FTP] $ftp attach-agent $tcp
$ns at 5.4 "$ftp start"
Описание окончания моделирования
for {set i 0} {$i < $val(nn) } {incr i} {
$ns_ at 30.0 "$node_($i) reset";
30