Исследование надежности передачи пакета данных между двумя узлами в системе Castalia
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Рассмотрим на практике надежность передачи пакета данных между двумя узлами, рассмотренную в 4.1.

Для простоты рассмотрения надежности передачи пакета между двумя узлами будем рассматривать беспроводную сенсорную сеть из девяти узлов (рисунок 12). Будем считать, что узлы расположены в пространстве на одной плоскости в области размера 30м. на 30м. Расположены по сетке.

 

0
1
2
3
4
5
6
7
8
30м.
30м.

Рисунок 12 Схема простой сети из девяти узлов

 

Для задания параметров моделирования в системе Castalia используются конфигурационные файлы[3] (обычно такой файл принято называть omnetpp.ini), располагаться такой файл должен в папке данного моделирования (у нас interNodes), которая в свою очередь должна находиться в папке Simulations системы Castalia. Полный текст приведён в приложении А.

Для задания данной пространственной конфигурации используются параметры: SN.field_x = 30, SN.field_y = 30, SN.numNodes = 9, SN.deployment = "3x3"

Время моделирования задаем в 100с. (параметр sim-time-limit = 100s), стоит отметить, что моделирование в системе Castalia происходит не в реальном времени, то есть реальное время проведения эксперимента будет не 100с.

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

Для моделирования надежности передачи пакета данных между двумя узлами разработан модуль приложения InterNodes, представленный файлами interNodes.ned, interNodes.h, interNodes.cc. Исходный код приведён в приложении А.

Каждый узел с интервалом 100мс. (в приложении заведен соответствующий таймер) отправляет сообщение на щироковещательный адрес (равномерный поток сообщений образуется), всего отправляет 100 таких сообщений.

При этом у каждого узла заведена таблица соседей, имеющая структуру, представленную на рисунке 13. Где id – идентификатор узла, timesRx – количество пакетов пришедших от него.

 

id
timesRx

newRec.timesRx = 1;

Рисунок 13Структура таблицы соседей

 

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

В настройках моделирования указываем приложение (параметр SN.node[*].ApplicationName = "interNodes")

Отметим, что для идеализации коммуникационной среды между узлами мы отключим параметры, отвечающие за помехи канала (параметр SN.wirelessChannel.sigma = 0).

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

Для запуска моделирования используется команда Castalia. На рисунке 14 представлен запуск моделирования с конфигурацией General и выводом в файл res.txt. Как видно, моделирование не заняло много времени.


Рисунок 14 Запуск моделирования в системе Castalia

 

Для обработки данных полученных в процессе моделирования в системе Castalia используется команда CastaliaResults. На рисунке 15 выводится общая информация о собранных в ходе моделирования данных, сохраненных в файле res.txt. Каждый модуль системы может собирать различные данные. Например, в нашем модуле Application мы собирали данные о полученных пакетах от соседей и записывали как Packetsreceived, что и отражено здесь. Величина Dimensions характеризует сколько узлов и данные какой размерности писали.

На рисунке 16 показано, что в среднем каждый узел получил 88 пакетов. Таким образом видно, что в идеальных условиях коммуникационной среды не все пакеты были получены, то есть можем говорить о надежности связи между узлами с определенной вероятностью.

 

Рисунок 15 Вывод общих сведений о результатах моделирования в системе Castalia

 

Рисунок 16 Среднее число пакетов полученных каждым узлом

 

Рисунок 17 Число пакетов полученных каждым узлом

 

На рисунке 17 показано сколько пакетов получил каждый узел от других. Столбцы представляют узлы, а строки записи из таблицы соседей, данные которой были записаны в вывод по окончании моделирования.

Последовательно проводя моделирование можно заметить, что результаты его будут отличаться, что обусловлено случайным характером многих факторов. Можно повторять многократно моделирование для снижения погрешности. Система Castalia позволяет проводить повтор моделирования заданное число раз с помощь опции –n<число повторений>. При этом результаты берутся средние.

Проведя наше моделирование сто раз, на рисунке 18 видно, что в целом полученные данные практически идентичны тем, что получены без многократного повторения. Поэтому подробнее рассмотрим первые.

Каждый столбец представляет собой узел, а строки соответствуют числу пакетов, полученных от конкретного узла. Например, видно, что третий узел получил от второго узла 100 пакетов, от пятого узла 65 пакетов, от шестого узла 100 пакетов и ничего не получил от остальных узлов.

Так как каждый узел отправил по 100 пакетов, можем говорить об этих числах упрощенно как вероятностях доставки сообщений между узлами.

 

Рисунок 18 Количество пакетов полученных узлами при стократном повторении моделирования

 

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

Таким образом мы рассмотрели модель надежности передачи пакетов между двумя узлами в среде без помех.

 

1
0
1
2
3
4
5
6
7
8
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0,7
0,72
0,6
0,6
0,6
0,7
0,6
0,7
0,7
0,8
0,8
0,6
0,8
0,8
0,8
0,7

Рисунок 19 Вероятности доставки сообщении между узлами


Дата: 2019-05-29, просмотров: 191.