Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методическое руководство по Network Simulator

.pdf
Скачиваний:
71
Добавлен:
12.04.2015
Размер:
474.34 Кб
Скачать

 

 

 

 

Параметры сети

 

 

 

 

 

 

 

 

 

 

 

 

№ Варианта

Номер топологии

Пропускная способность канала, Мбит/с

Скорость 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