Вы находитесь на странице: 1из 69

Оглавление

Глава 1. Описание сенсорных сетей и стандарта ZigBee .................................... 5


1.1 Описание сенсорных сетей ...................................................................... 5
1.2 Рабочая группа IEEE 802.15 ................................................................... 6
1.3 Стандарт 802.15.4 ZigBee ......................................................................... 7
1.4 Топология сетей ZigBee ........................................................................... 8
1.5 Модель передачи данных в ZigBee ....................................................... 10
1.6 Механизм доступа к каналу CSMA/CA ................................................ 14
Глава 2. Теоретические основы моделирования ................................................ 16
2.1 Основные понятия моделирования ....................................................... 16
2.2 Виды моделирования .............................................................................. 18
2.3 Дискретно-событийное моделирование ............................................... 20
Глава 3. Обзор сетевых симуляторов .................................................................. 21
3.1 Описание сетевого симулятора ............................................................. 21
3.2 Примеры сетевых симуляторов ............................................................. 22
3.2.1 Boson NetSim .................................................................................. 22
3.2.2 NetSim ............................................................................................. 24
3.2.3 Opnet Modeler ................................................................................. 25
3.2.4 OMNet++ ......................................................................................... 27
3.2.5 Система моделирования сетей NS_2 ........................................... 28
Глава 4. Протоколы маршрутизации сенсорных сетей ..................................... 30
4.1 Общие требования к протоколам в сенсорных сетях .................................. 30
4.2 Протокол динамической маршрутизации AODV ................................ 30
4.2.1 Краткое описание протокола ........................................................ 30
4.2.2 Принцип работы протокола .......................................................... 31
4.3 Протокол Dynamic Source Routing (DSR) ............................................. 34
4.3.1 Краткое описание протокола ........................................................ 34
4.3.2 Принцип работы протокола .......................................................... 35
Глава 5. Разработка концептуальной модели. Результаты моделирования и их
анализ...................................................................................................................... 38
1
5.1 Описание структуры исследуемой сети ............................................... 38
5.2 Описание исследуемых характеристик ................................................ 40
5.2.1 Задержка.......................................................................................... 40
5.2.2 Джиттер ........................................................................................... 41
5.2.3 Производительность ...................................................................... 42
5.2.4 Потери ............................................................................................. 43
5.3 Типы исследуемого трафика .................................................................. 43
5.3.1 CBR трафик .................................................................................... 43
5.3.2 Пуассоновский трафик .................................................................. 44
5.3.3 Трафик Парето................................................................................ 45
5.3.4 Смешанный трафик ....................................................................... 45
5.4 Результаты симуляции при изменении нагрузки ................................ 46
5.5 Анализ полученных результатов ........................................................... 49
5.6 Исследование протоколов маршрутизации .......................................... 50
5.6.1 Результаты симуляции .................................................................. 50
5.6.2 Анализ результатов ........................................................................ 54
Глава 6. Моделирование сети с подвижными узлами и еѐ анализ ................... 56
6.1 Описание реактивных и проактивных протоколов. Протокол DSDV
......................................................................................................................... 56
6.1.1 Описание протокола DSDV .......................................................... 57
6.2 Описание исследуемой топологии ........................................................ 58
6.3 Результаты симуляции............................................................................ 58
6.4 Анализ полученных результатов ........................................................... 66
Заключение ............................................................................................................ 68
Список литературы ............................................................................................... 69
Приложение А ............................................. Ошибка! Закладка не определена.

2
Введение
Беспроводные технологии прочно укоренились в нашей повседневной
жизни: Интернет мы подключаем через WI-FI, 3G, и 4G, звук и периферию –
через Bluetooth, пользуемся GSM-телефонией. Отказ от проводов дает массу
преимуществ: быстроту и легкость развертывания, реструктуризации и
масштабируемости сетей, мобильность, уменьшение расходов на прокладку
кабелей связи, общую эстетичность помещений, в которых больше не лежат
спутанные провода.
Кроме того, применение беспроводных технологий позволяет
развертывать сети передачи данных в местах, не предполагающих
проведения кабельных работ, скажем, в силу особенностей конструкции, по
соображениям безопасности, при отказе арендатора или по каким-либо
другим причинам.
Беспроводная связь завоѐвывает все более прочные позиции, во многом
за счѐт совершенствования стандартов, а также благодаря своим
неоспоримым преимуществам. Полный отказ или сокращение числа
кабельных линий, ведущих к контроллерам, датчикам, измерительным
приборам управляющим устройствам, значительно снижают временные и
финансовые издержки на этапах проектирования, развертывания и
эксплуатации сети. Масштабируемость и гибкость беспроводной сети
существенно облегчают жизнь при реструктуризации промышленного
предприятия и его расширении, в том числе при переезде. Кроме того,
именно в промышленности прокладка кабелей связи зачастую невозможна,
либо попросту лишена смысла из-за больших расстояний между
многочисленными объектами автоматизации, непреодолимых препятствий,
сложностей, возникающих при получении разрешения на проведение
земляных работ, из-за использования «путешествующих» по различным
производственным площадкам передвижных или временных установок.

3
В данной работе будет рассмотрен один из вариантов организации
беспроводной сенсорной сети на основе стандарта ZigBee, построены и
проанализированы вероятностно-временные характеристики процесса
передачи данных по сети.
Для получения вероятностно-временных характеристик наиболее
распространенным методом является имитационное моделирование. Модель
будет реализована в среде NS_2, которая лучше всего подходит для этой
работы.

4
Глава 1. Описание сенсорных сетей и стандарта ZigBee
1.1 Описание сенсорных сетей

В последнее время беспроводные сенсорные сети получили большое


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

Сенсорные сети с помощью своих датчиков улавливают изменения в


атмосфере, реагируют на звук, температуру, и сообщают об этом человеку,
посредством электронных устройств. Такая концепция беспроводных
сенсорных сетей привлекла внимание большого количества людей, как
простых инженеров, так и многих ученых, различных коммерческих
образований, исследовательских институтов. Это дало большой толчок
развитию сенсорным сетям, появилось множество научных работ по данной
тематике. Довольно пристальный интерес к изучению таких систем кроется в
том, что сенсорные сети таят в себе огромный потенциал,
широкие возможности по применению в различных сферах жизни.
Беспроводные сенсорные сети, как пример, могут
использоваться для предсказания отказа оборудования в аэрокосмических си
стемах и автоматизации зданий. Они могут применяться в системах
безопасности и в военных целях, потому что имеют способность
к самоорганизации, отличаются большим временем автономной работы и
имеют большой порог отказоустойчивости. Еще одной возможной областью,
где применение сенсорных сетей можно считать перспективным, является
медицина. Существует ряд разработок биологических сенсоров совместимых
с интегральными схемами сенсорных узлов, с помощью них можно будет
мониторить здоровье человека.

5
Сенсорные сети работают по стандарту IEEE 802.15.4,
который описывает первый и второй уровень модели OSI, то есть доступ к
беспроводному каналу и физический уровень сети.

1.2 Рабочая группа IEEE 802.15

Семейство стандартов IEEE 802.15 (рисунок 1.1) образует


беспроводную сеть, которая обеспечивает связь между различными
устройствами на сравнительно небольших расстояниях. В это семейство
входят такие популярные стандарты, как Bluetooth (IEEE 802.15.1), ZigBee
(IEEE 802.15.4).

Рисунок 1.1 Семейство стандартов IEEE 802.15

Первая группа сфокусирована на Bluetooth технологии. Она определяет


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

6
Вторая группа определяет сосуществование беспроводных
персональных сетей (WPAN) с другими беспроводными устройствами,
работающими на нелицензируемых частотных диапазонах, таких, как
беспроводные локальные сети (WLAN). Стандарт IEEE 802.15.2-2003 был
опубликован в 2003 году, после чего деятельность целевой группы 2 была
приостановлена.
Третья группа – это высокоскоростные WPAN. IEEE 802.15.3-2003
рассказывает о физическом уровне и об уровне управления доступом к среде
в сетях WPAN, которые считаются скоростными (от 11 до 55 Мбит/с).
Четвертая группа – это низкоскоростные WPAN. IEEE 802.15.4-2003
рассказывает о физическом уровне и об уровне управления доступом к среде
в сетях WPAN, которые считаются низкоскоростными. Но низкая скорость
была принесена в жертву длительному времени автономной работы.
Пятая группа (802.15.5) предоставляет архитектурный фреймворк, на
основе которого можно строить стабильные, совместимые и
масштабируемые беспроводные Mesh-сети.
В семейство 802.15 входит стандарт 802.15.4 ZigBee, о котором и
пойдет речь [6].

1.3 Стандарт 802.15.4 ZigBee


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

7
уровне (PHY), и на уровне управления доступом (MAC), и предоставляет
широкие возможности по поддержке различных топологий сетей.
Сохранность энергии обеспечивается различными схемами сетевой
маршрутизации, а наличие нескольких маршрутов к координаторам сети,
обеспечивает работу сети, даже при выходе одного из координаторов из
строя. Физический уровень ZigBee следит за уровнем энергии в узлах, а
также производит оценку каналов, для более достоверного и бесперебойного
коммуницирования. Уровень доступа к сети отвечает за автоматическое
подтверждение получения пакетов, а также следит за тем, чтобы данные
передавались в определенные временные интервалы. В MAC уровне ZigBee
имеется возможность использовать Wi-Fi или Bluetooth каналы, если они
окажутся в пределах досягаемости. Обычный радиус покрытия, который
обеспечивает стандарт IEEE 802.15 - от 10 до 75 м, пропускная же
способность канала зависит от оборудования и достигает 250 кбит/с. На этой
скорости передача информации производится в диапазоне 2,4 ГГц, который
является нелицензируемым. Устройства ZigBee имеют очень низкое
энергопотребление и небольшую мощность, поэтому скорость передачи
данных невелика, но зато служат такие узлы довольно долго и не требуют
постоянного питания от сети. В стандарте также предусмотрены диапазоны
858 МГц (20 кбит/с) и 902-928 МГц (40 кбит/с). Имеется возможность
поддержки единовременно до 255 подчиненных устройств в сети. Стандарт
ZigBee являет собой очень широкий инструмент для создания и
обслуживания недорогих беспроводных сетей с очень низким потреблением
мощности и разнообразными функциями [1].

1.4 Топология сетей ZigBee


Наилучшим решением для интеграции стандарта ZigBee, является
применение mesh (ячеистой) топологии. Существует несколько возможных
форм топологий: точка-точка, кластерное дерево, но чаще всего используют

8
топологии звезда (рисунок 1.3) и P2P ( peer to peer ) ( рисунок 1.2 ), или их
комбинацию. В зависимости от требований, может быть применена та или
иная топология. В одной большой сети фрагментарно могут использоваться
их комбинации.
Рассмотрим коммуникацию между устройствами в случае
звездообразной топологии. Связь устанавливаются между отдельными
конечными узлами и центральным контроллером, который именуется
координатором PAN (Personal Area Network). Конечный узел обыкновенно
ассоциируется с каким-то приложением, работающим в сети, сенсор
улавливает нужные изменения и пытается доставить эти данные
координатору, либо напрямую, либо через другие узлы. Координатор PAN
может исполнять разные функции, он может использоваться для инициации
некоторых приложений, завершения коммуникации, или маршрутизации
данных в сети.
Приложения, которые предпочитают топологию звезда (рисунок 1.3) –
это обычно различные системы, которые устанавливаются в домах для
автоматизации чего-либо, например работы климатического оборудования;
периферийные устройства персональных компьютеров, а также различные
устройства, которые связаны с заботой о здоровье [2].

Рисунок 1.2 Топология peer-to-peer

9
Рисунок 1.3 Топология звезда

Топология peer-to-peer (P2P), изображенная на рисунке 1.2,


аналогично работает с координатором PAN, но она отличается от звезды
тем, что любые сетевые устройства имеют возможность коммуницировать
друг с другом. Данный тип топологии используется в мониторинге,
промышленном управлении, интеллектуальном сельском хозяйстве.
Топология типа P2P является, в принципе, самоорганизующейся и
самовосстанавливающейся. Данная топология имеет возможность
организовать многохоповые маршруты для доставки сообщений. Если,
например, создавать дополнительные каналы и оставлять резервные
контроллеры, то сеть становится намного более устойчива к изменениям в
топологии. Функции самоорганизации могут быть добавлены на более
высоком уровне.
Приведенные выше рисунки показывают, что при необходимости
можно реализовать практически любую топологическую схему.

1.5 Модель передачи данных в ZigBee


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

10
конечному сетевому устройству. К третьему виду транзакций принято
относить обмен данными между конечными сетевыми устройствами.
Большое влияние на процесс обмена данными оказывает поддержка,
или еѐ отсутствие, такого механизма, как передача маяков (beacon). Сети
PAN с поддержкой маячков обычно применяются там, где требуется
синхронизация, или там, где от сетевых устройств требуется малая
задержка, это например периферия PC. Если данная сеть не имеет большой
нужды в синхронизации, или задержка доставки сообщений – не очень
важная составляющая, то данная сеть может не использовать кадры-маяки
при обмене сообщениями.
Рассмотрим первый принцип обмена сообщениями. Когда конечное
сетевое устройство хочет попытаться передать данные координатору в сеть,
которая поддерживает передачу кадров-маяков, то первым делом сетевое
устройство пытается детектировать кадр-маячок (beacon). Если маяк
обнаружен, то конечный узел начинает передавать сформированный
информационный кадр координатору. В свою очередь координатор,
опционно имеет возможность передать квитанцию, которая будет говорить
об успешной доставке кадра. Данная последовательность действий
отображена на рисунке 1.4.

Рисунок 1.4 Передача данных координатору в PAN с использованием


меток

11
Если конечное устройство имеет необходимость передать данные в
сеть без поддержки маяков, то оно просто посылает данные координатору.
Координатор, если требуется, может подтвердить доставку данных
квитанцией. Данная последовательность операций отображена на
рисунке 1.5.

Рисунок 1.5 Коммуникации с координатором в PAN без меток

Рассмотрим второй метод передачи данных. Если координатор имеет


потребность передать данные конечному сетевому устройству в сети PAN,
которая поддерживает передачу маяков, то на этом подготовительном этапе
узел определяет по сетевому маяку данные, ожидающие отправки.
Устройство периодически прослушивает сетевые маяки (beacon), и, если
узел обнаруживает, что имеются данные, ожидающее отправки, то
передается команда, которая запрашивает данные. Координатор в свою
очередь отсылает квитанцию о получении запроса данных с помощью
соответствующего кадра (ACK). Далее кадр данных, который был
приготовлен координатором, пересылается, если возможно, то сразу после
подтверждения. Конечное устройство также может отправить квитанцию,
уведомляя об успешном получении данных. На этом транзакция
завершается. Последовательность описанных действий представлена на
рисунке 1.6.

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

Рисунок 1.6 Передача данных из коммуникатора сети PAN, использующей


метки
Координатор в ответ отправляет квитанцию, подтверждая получение
запроса. Если данные ждут отправки, координатор сразу же начинает
передачу. Если кадра данных нет, то координатор запоминает этот факт и
отсылает информационный кадр с нулевой длиной поля данных.
Последовательность действий для данной схемы отображена на
рисунке 1.7 [7].

13
Рисунок 1.7 Телекоммуникации из координатора в сеть PAN без меток

1.6 Механизм доступа к каналу CSMA/CA


Существует два основных механизма доступа к каналу, которые
применяются в зависимости от конфигурации сети. В сети PAN, которая
обходится без маяков, используется механизм доступа к каналу CSMA/CA.
Каждый раз, когда устройство имеет необходимость передать какую-то
информацию, оно начинает слушать среду. Если канал оказывается
свободным, то тогда инициирующее устройство посылает jam-сигнал, если
устройство получает ответ, то производится передача данных. При
отсутствии ответа (подразумевается возможность коллизии) попытка
передачи данных откладывается на случайное время. Если канал
оказывается занятым после случайной выдержки, устройство ждет в
течение еще одного случайного периода времени, прежде чем совершит
очередную попытку доступа к каналу. Кадры подтверждения посылаются
без использования механизма CSMA/CA.
Сети PAN, использующие маяки при передаче данных, осуществляют
механизм доступа к каналу CSMA/CA, где время отсрочки приходится на
начало передачи маяка (beacon). Координатор PAN выбирает границы
времени отсрочки всех устройств в сети. Если устройство хочет передать
кадр данных, оно определяет границу времени отсрочки у координатора и
затем ждет некоторое число интервалов отсрочки, чтобы избежать
коллизий. Если при прослушивании оказалось, что канал занят, то
устройство ждет очередное случайное число интревалов отсрочки, прежде
чем снова попытается осуществить попытку доступа к каналу. Если канал
пассивен, устройство начинает передачу. Кадры подтверждения или меток
посылаются без привлечения механизма CSMA/CA.
Успешный прием и верификация кадров данных или МАС-команд
может быть опционно подтвержден отправкой пакетов подтверждения.

14
Если принимающее устройство по какой-либо причине не может обработать
входной кадр, получение сообщения не подтверждается.
Если отправитель в течение определенного времени не получает
подтверждения, он считает, что передача не удалась и пытается повторить
пересылку кадра. Если подтверждение не приходит после нескольких
попыток передачи, отправитель может либо завершить сессию, либо
попытаться еще раз. Когда подтверждение не нужно, отправитель считает
передачу успешной [8].

15
Глава 2. Теоретические основы моделирования

2.1 Основные понятия моделирования


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

Модель в широком понимании — это образ (условный или мысленный)


какого-либо объекта или системы объектов, который используется при
определенных условиях для того, чтобы заместить оригинал.

Модель — это упрощенное подобие объекта, которое воспроизводит


интересующие нас свойства и характеристики оригинального объекта или
объекта проектирования.

Моделирование тесно связано с воспроизведением свойств какого-либо


реального или создаваемого объекта, процесса или явления с помощью
другого объекта, процесса или явления.

Моделирование — это построение, совершенствование, изучение и


применение моделей реально существующих или проектируемых объектов
(процессов и явлений).

Зачем же оно надо, использовать моделирование вместо попыток


«прямого взаимодействия с реальными объектами»? На это высказывание
находится три основных ответа, три причины, почему мы прибегаем к
моделированию.

Первая причина — высокая сложность реальных объектов. Зачастую,


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

Вторая причина — когда нужна тестовая версия ожидаемого


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

Третья причина — не лишним будет возможность прогнозирования.


Ведь важное достоинство моделирования состоит в том, что при
использовании модели объекта, появляется «заглянуть в будущее»,
спрогнозировать возможное развитие ситуации и предопределить
возможные последствия от внедрения исследуемого объекта/явления.

Нельзя не обратить внимание на субъективный характер моделей. Все,


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

Избирательность. Зачастую модель строится на том, что человек


наблюдает за каким-то реальным объектом/явлением, замечает у него какие-
то свойства и на основании этого составляет модель. Делает он это
избирательно, по сути так, как ему нравится. На его выбор существенно
оказывают влияние опыт, мировоззрение, образование, а также настроение,
общее самочувствие, чувства. Таким образом может сформироваться модель,
не отвечающая целям моделирования.

17
Конструирование — обратный аналог избирательности: мы начинаем
видеть то, чего нет. Мы начинаем заполнять недостающие знания о мире так,
чтобы он выглядел таким, каким по нашему мнению он должен быть.
Процесс эволюции научил человека дополнять фрагменты, увиденные тобой,
до полного, знакомого образа. Например, если мы видим часть автомобиля,
находящегося за стеной, то мысленно достраиваем его до полной картины.
Поэтому, если при исследовании какого-либо объекта/явления, мы
недополучим информации о нем, то может получиться так, что произойдѐт
заполнение, достраивание информационных «пробелов». В результате можем
получить модель, которая неадекватно отвечает реальному объекту.

Искажение – это очень часто встречающийся фактор. Это когда


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

Обобщения – это когда создаются мысленные модели, но при этом за


основу берется один случай и он распространяется на все возможные случаи.
Обобщение – это основа статистических выводов, но тут есть одно «но» -
выборка должна быть многочисленной, так сказать репрезентативной.
Опасность это самого обобщения состоит в том, что взяв какую-либо
ситуацию, какой-то вывод, он распространяет ее на все другие ситуации,
которые по его мнению схожи с текущей.

2.2 Виды моделирования


Необходимо рассмотреть различные виды моделирования.
Применительно к естественно-техническим, социально-экономическим и
другим наукам принято различать следующие виды моделирования:

18
 концептуальное моделирование. Это моделирование которое
осуществляется при помощи специальных знаков, символов и
операций над ними. Также используются естественный или
искусственный язык, который помогает истолковывать основную
мысль (концепцию) относительно исследуемого объекта;
 интуитивное моделирование. Такой тип моделирования, который
основывается на практическом опыте работника: это мысленный
эксперимент, когда специалист как бы моделирует объекты/процессы
в голове;
 структурно-функциональное моделирование, при котором моделями
являются схемы, (блок-схемы), графики, чертежи, диаграммы,
таблицы, рисунки, дополненные специальными правилами их
объединения и преобразования:
 математическое (логико-математическое) моделирование. Это такой
тип моделирования, при котором модель строится посредством
логики и математики;
 имитационное (программное) моделирование. Тип моделирования, при
котором логико-математическая модель исследуемого объекта
реализована в виде компьютерной программы. Она представляет
приблизительный алгоритм функционирования объекта.

Перечисленные выше виды моделирования не являются


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

19
2.3 Дискретно-событийное моделирование
Рассмотрим поподробнее дискретно-событийное моделирование, так
как в работе был использован симулятор, который работает именно по
такому принципу.
Мир вокруг нас является по своей сути "непрерывным", подавляющее
большинство процессов - это какие-то изменения во времени, происходящие
постепенно. Для того, чтобы анализировать эти процессы, чтобы понять их
сущность, иногда стоит обращать внимание только на некоторые, самые
главные этапы этого процесса, абстрагироваться от их непрерывной
природы. Такой подход к трактовке событий и называется "дискретно-
событийным" моделированием (discrete event modeling). Он как бы
аппроксимирует реальные процессы, позволяя смоделировать картину
процесса/объекта максимально достоверно.
Термин "дискретно-событийное моделирование", используется в более
узком смысле для обозначения "процессного" моделирования, где динамика
системы представляется как последовательность операций (прибытие,
задержка, захват ресурса, разделение, ...) над агентами, представляющими
клиентов, документы, звонки, пакеты данных, транспортные средства и т.п.
Агенты не могут контролировать свою динамику, но могут обладать
определенными атрибутами, влияющими на процесс их обработки или
накапливающими статистику (общее время ожидания, стоимость).
Процессное моделирование - это средне-низкий уровень абстракции: здесь
каждый объект моделируется индивидуально, как отдельная сущность, но
множество деталей "физического уровня" (геометрия, ускорения/замедления)
обычно опускается. Такой подход широко используется в бизнес-процессах,
производстве, логистике, здравоохранении.

20
Глава 3. Обзор сетевых симуляторов
3.1 Описание сетевого симулятора
Что же такое сетевой симулятор? Это ПО (программное обеспечение),
моделирующее поведение компьютерной сети. В сетевых симуляторах
компьютерная сеть моделируется с помощью устройств, связей и
приложений. В сетевых симуляторах есть огромное количество
возможностей для настройки сети под свои нужды и для сбора данных и их
анализа. Также в сетевых симуляторах есть поддержка популярных
протоколов, например, WLAN , WiMAX, TCP и т.д.
Интерфейсы сетевых симуляторов могут очень сильно различаться.
Одно из главных различий может заключаться в отображении информации
на экране: графический интерфейс и интерфейс командной строки.
Конфигурировать сетевую модель можно с помощью обычных и привычных
устройств (коммутаторы, маршрутизаторы, узлы связи) и событий (передача
данных, ошибки). По итогу моделирования симулятором составляется трейс-
файл. Каждый пакет, каждое событие, произошедшее в процессе модуляции,
учитывается в файлах трассировки. Это нужно для того, чтобы
анализировать трафик, который проходящий в сети.
Сетевые симуляторы служат самым разнообразным потребностям. Они
действительно спасают тогда, когда нужно проверить какой-то новый
протокол, проверить какой-то сетевой момент, в котором участвуют
множество компьютеров, коммутаторов, маршрутизаторов, когда нет
возможности собрать что-то в реальной жизни.

21
3.2 Примеры сетевых симуляторов
Существует много сетевых симуляторов бесплатных и платных, с
открытым сетевым кодом и закрытые симуляторы. Вот некоторые примеры
самых популярных сетевых симуляторов:
1. Boson NetSim;
2. NetSim;
3. Opnet Modeler;
4. OMNet++;
5. NS_2.

3.2.1 Boson NetSim


Симулятор Boson NetSim выпускается только под Windows. Данный
симулятор предназначен исключительно для изучения оборудования и
приложений систем Cisco. Это поприетарное программное обеспечение
содержит набор лаборатторных работ, которые помогают сдать экзамен
Cisco. Цена довольно высока и колеблется от 160$ за CCNA и до 325$ за
CCNP. Данный симулятор имеет графический интерфейс. Он состоит из
нескольких секций: описание задачи, карта сети, в левой части находится
список всех возможных лабораторных работ. Имеется возможность
проверить результат после окончания работы. Естественно имеется
возможность создания собственных уникальных топологий, но с некоторыми
ограничениями.
Основные свойства Boson NetSim:

 Поддерживает 42 маршрутизатора, 6 коммутаторов и 3 других


устройств;
 Симуляция сетевого трафика;
 Существует два различных способа просмотра: режим Telnet и
режим подключения по консоли;
 Возможность объединить до 200 устройств на одной топологии;
22
Внешний вид симулятора можно увидеть на рисунке 3.1.

Рисунок 3.1 Внешний вид диалогового окна в Boson NetSim

23
3.2.2 NetSim
NetSim – это популярный проприетарный сетевой симулятор,
использующийся для сетевого проектирования и планирования. NetSim
поддерживает различные технологии, такие как беспроводные сенсорные
сети, беспроводные локальные сети, WiMAX, TCP, IP и т.д. Работает только
под Windows.
NetSim является стохастическим дискретно-событийным симулятором.
Он был разработан Tetcos и Индийским институтом науки, в июне 2002 года.
NetSim предоставляет показатели производительности сети на различных
уровнях абстракции, таких как сети, подсети, узлы связи, с подробной
трассировкой пакетов и событий. NetSim предоставляет готовые различные
сетевые технологии и протоколы, включая Manet, Wi-Fi, Wi-Max, IP, MPLS,
WSN, QoS, VoIP и т.д. Наличие готовых решений может помочь избежать
затраты времени на процесс программирования, настройки и конфигурации
симулятора. Внешний вид симулятора можно увидеть на рисунке 3.2.

24
Рисунок 3.2 Внешний вид диалогового окна симулятора Netsim

3.2.3 Opnet Modeler

Opnet Modeler – это сетевой симулятор, который предлагает


пользователям графическую среду для создания и анализа модели сетей
связи. Это удобное программное обеспечение являет собой симулятор,
соответственно все возможности симулятора в него и включены: создание,
проверка, анализ взаимодействий протоколов, оптимизация и планирование
сети. Есть возможность генерирования случайного трафика, он может быть
взят из пакета, входящего в стандартную сборку симулятора. После
симуляции модели, можно посмотреть результаты моделирования и провести
их анализ. Есть возможность по результатам построить графы и вывести на
экран анимацию трафика, все это произойдет автоматически, нужно лишь
поставить соответствующие галочки. Внешний вид окна симулятора
изображѐн на рисунке 3.3.

25
Существует несколько сред редактора - по одной для каждого типа
объекта. Организация объектов - иерархическая, сетевые объекты (модели)
связаны набором узлов и объектов связи, в то время как объекты узла
связаны набором объектов, типа модулей очерѐдности, модулей процессора,
передатчиков и приемников. Если есть необходимость в моделировании
радиоканала, то существует специальный модуль, который содержит модели
антенны радиопередатчика, антенны приемника, перемещающихся объектов
узла (включая спутники).
Для того, чтобы как-то регулировать очередность процесса в
симуляции, существует специальная «модель процесса», которая может быть
изменена пользователем. Она создает, изменяет, вносит коррективы в
процессы, их скорость и очередность. Также в редакторе процесса
пользователь имеет возможность изменить модель процесса через
комбинацию алгоритма работы конечного автомата (finite-state machine -
FSM) и операторов языка программирования C/C++.

Рисунок 3.3 Внешний вид диалогового окна симулятора Opnet Modeler


26
3.2.4 OMNet++
OMNeT++ представляет собой сетевой симулятор на основе
дискретных событий. Данная система моделирoвания поддерживает
стандартные и всем известные проводные и беспроводные сети. OMNeT++
активно поддерживается и расширяется сообществом пользователей, которые
также создают расширения для моделирования беспроводных сетей. Работает
под Windows, Linux, macOS. Данный симулятор может быть использован в
некоммерческих целях, таких как обучение и совершенствование знаний в
сетевых вопросах. На рисунке 3.4 можно увидеть диалоговое окно
симулятора.
Для того, чтобы описывать программы и сценарии, OMNeT++
использует язык С ++. Симулятор имеет графические инструменты для
создания моделей и оценки результатов в режиме реального времени.
В данном симуляторе имеется возможность для масштабирования,
чтобы создавать крупные сетевые топологии. OMNet++ не может
моделировать OS прикладного уровня задержки времени выполнения.
Задержки для нижних слоев, например, MAC и беспроводного канала,
определимы. Без соответствующих имитационных моделей и расширений,
которые нужно скачивать дополнительно, симулятору не хватает протоколов
и должного качества моделирования сенсорных сетей, так как основная
поддержка ориентирована главным образом в сторону IP сетей, что нам не
подходит.

Рисунок 3.4 Внешний вид диалогового окна симулятора Omnet++


27
3.2.5 Система моделирования сетей NS_2
NS_2 – это сетевой симулятор дискретных событий для сенсорных
сетей. NS_2 симулятор с открытым исходным кодом, он поддерживается и
расширяется огромным количеством пользователей, доступен для
пользования только под Linux, использует лицензию GNU GPLv2. Этот
симулятор используется для научных исследований, ведь эта среда основана
на открытом исходном коде. Имеется поддержка мобильных сенсорных
сетей, стандартов 802.11 и 802.15.4. А именно эти стандарты и нужны нам
для работы. Ведь работа ведѐтся с сенсорными сетями, а данный пакет
включает в себя множество основных моделей энергопотребления и очень
близок к тем, которые используются в реальных сенсорных узлах.
Существует поддержка алгоритмов маршрутизации в сенсорных сетях.
Также имеется поддержка стандартных беспроводных ad_hoc протоколов [4].
Для того, чтобы описать модель в симуляторе NS_2 используются
языки программирования C++/C и OTCL. Все библиотеки моделей написаны
на C++/C, в то время как OTCL позиционируется как язык управления, с
помощью него происходит построение среды моделирования. Для того,
чтобы модели получили графическое воплощение, используется аниматор
сети — Network AniMator (NAM) (рисунок 3.5). После того, как файл с
программой был скомпилирован, исходный код модели загружается в
исполняемый файл и запускается для создания результатов моделирования и
файлов трассировки [3].

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

Рисунок 3.5 Внешний вид диалогового окна аниматор сети —Network


AniMator симулятора NS_2

29
Глава 4. Протоколы маршрутизации сенсорных сетей
4.1 Общие требования к протоколам в сенсорных сетях
В 1990-х годах широкое распространение получили мобильные
компьютеры, оснащенные беспроводными интерфейсами. В то время и
зародилась идея создания ad-hoc сетей. Ad-hoc сеть - это объединение
некоторого количества мобильных устройств, оснащенных беспроводными
сетевыми адаптерами и завязанных в единую сеть. Предполагается, что
данные мобильные устройства находятся в собственности различных людей
и централизованное управление полностью отсутствует. Также к этим сетям
предъявляется требование самоорганизации, то есть, чтобы они сами
организовывались в сеть связи. Но не стоит забывать о необходимости
учитывания мобильности узлов в сети, но и ограниченности как в
энергоресурсах, так и в вычислительных ресурсах.

4.2 Протокол динамической маршрутизации AODV


4.2.1 Краткое описание протокола

AODV (англ. Ad hoc On-Demand Distance Vector ) —


протокол динамической маршрутизации для мобильных ad-hoc сетей. Этот
протокол был разработан в исследовательском центре Nokia. AODV может
маршрутизировать как unicast, так и multicast пакеты. Этот протокол
устанавливает маршрут до адресата по требованию, то есть является
реактивным протоколом маршрутизации. В AODV, для вычисления
маршрутов, используется дистанционно-векторный алгоритм. В данном
протоколе очень элегантно решена проблема зацикливания пакетов – это
решается с помощью применения порядковых номеров при обновлениях
маршрута.

30
4.2.2 Принцип работы протокола
Далее будет описана работа данного протокола. Допустим некоторому
узлу, пусть он будет называться инициатором, понадобилось передать
данные другому узлу, пусть он будет узлом назначения, но маршрут между
ними не составлен, тогда узел-инициатор отправляет широковещательный
запрос RREQ (Route Request), чтобы данный маршрут отыскать. Данный
запрос отправляется всем соседям рассматриваемого узла, который
пересылается по цепочке далее – от соседа к соседу. Когда запрос, имеющий
в своем заголовке данные об узле инициаторе проходит через сеть, все узлы,
получившие данный кадр, строят до этого инициатора свой маршрут. Таким
образом, запрос продвигается по сети до узла назначения, а все узлы,
которые он посетил, составляют до него маршрут. Узел назначения в итоге
получает запрос RREQ и отправляет юникастовый ответ RREP (Route Replay)
по маршруту, который выстроился во время распространения запроса. По
итогам такого обмена выстраивается двунаправленный маршрут между
узлами. В ответ на запрос промежуточным узлом, отправляется так
называемый «беспричинный» ответ не инициатору, а узлу назначения. Такой
обмен данными нужен для того, чтобы построить маршрут обратно – от узла
назначения до узла инициатора. Во время такого интенсивного обмена
информацией в сети, в узлах могут оказаться маршруты разной степени
давности, в таком случае, очевидно, что для построения маршрутов
целесообразней использовать более свежую информацию. Но как определить
узлу эту самую свежесть маршрута? Для этого в данном протоколе были
введены порядковые номера узлов. С.Е. Perkins, один из авторов протокола
AODV, взял идею о нумерации из другого своего детища, протокола DSDV.
Суть идеи заключается в следующем: каждому узлу присваивается
собственный порядковый номер, значением которого он может управлять
самостоятельно, этот номер также появляется во всей информации о
маршрутах, где содержится данный узел, и даже хранится в таблицах
маршрутизации на узлах маршрутизаторах и узлах координаторах. Если
31
происходит изменение связей с соседними узлами, то узел самостоятельно
увеличивает свой порядковый номер. Теперь, если нужно построить маршрут
в сети, то узел инициатор будет строить маршрут через узлы с наибольшим
порядковым номером, то есть через самые свежие пути. Ну а если
обнаружится какое-то нарушение в маршруте, то узел, обнаруживший это
нарушение, широковещательно рассылает данные об ошибочном маршруте в
специальном сообщении RERR (Route Error). Получив такое сообщение, узлы
перестраивают свои маршруты.
На рисунке 4.1 изображена отправка запроса RREQ (пунктирные
стрелки) узлом А, который желает узнать маршрут до узла В.

Рисунок 4.1 Отправка запроса RREQ протоколом AODV

По мере прохождения запроса по сети, он попадает на промежуточный узел


под номером 5. Это устройство знает маршрут до точки назначения и
извещает узел А ответом RREP (сплошные стрелки), также отправляется ещѐ
и «беспричинный» ответ (сплошные стрелки) узлу В, чтобы узел назначения
В построил обратный маршрут от себя к узлу А. Как правило, узел А получит
множество различных вариантов маршрутов, по которым можно добраться
до нужного ему узла. Но из всего многообразия выбирается всего один, с
самым большим порядковым номером узла В, а если таких маршрутов
32
несколько, то предпочтение отдается более короткому. Сам же узел
инициатор не дожидается всех ответов от всех узлов, он ведь не знает, что
ему придут еще варианты маршрутов, поэтому передача данных начинается
сразу после прихода первого ответа. Когда придут дополнительные ответы,
то он может изменить маршрут, который окажется более свежим, и тогда
последующие пакеты с данными будут идти уже по более новому маршруту.
Стоит обратить внимание на интересные факты построения маршрутов
данного протокола. Во-первых, узел, который хочет отправить данные,
всегда выбирает самый свежий маршрут (с большим порядковым номером),
даже если придется пройти больше хопов. Во-вторых, конечный узел,
которому предназначался кадр, при ответе на запрос может увеличивать свой
порядковый номер только на единицу. В-третьих, работа протокола AODV
происходит на прикладном уровне, а в качестве транспортного протокола
используется UDP; поэтому если узел получит ответ RREP, но при этом
запроса он не отправлял, то приняв такой ответ, узел должен его обработать.
Ну и последнее, если маршрут по каким-либо причинам разрушается, то
сообщение об ошибке направляется к передающему узлу и маршрут
создается заново.
Естественно, что при реализации протокола возникают сложности.
Самая большая из них – это большое количество служебных сообщений,
засоряющих сеть. Одно из решений этого вопроса состоит в том, чтобы узлы
выбирали свой порядковый номер так, чтобы он не повторял номера других
узлов, которые обработали этот запрос. Еще одно решение этого вопроса
состоит в том, чтобы использовать время жизни пакета, которое
ограничивает максимальное количество хопов на узлах. Также существует
ограничение по времени на посылку повторного запроса о построении
маршрута, если предыдущий запрос не привел к удовлетворительному
результату. Узлу инициатору придется подождать вдвое больше времени,
чем было потрачено на предыдущий запрос.

33
Обобщая вышесказанное, можно сделать вывод, что главным
преимуществом протокола AODV является то, что он не создаѐт лишнего
трафика во время передачи данных по установленному маршруту. А также
использующийся алгоритм векторной маршрутизации довольно прост и не
требует больших ресурсов. Однако минусом данного протокола можно
назвать большую задержку и большой объем трафика во время установки
маршрута, чем во многих других протоколах.

4.3 Протокол Dynamic Source Routing (DSR)


4.3.1 Краткое описание протокола

Dynamic Source Routing (DSR) (Динамическая маршрутизация от


источника) — протокол маршрутизации для беспроводных
самоорганизующихся сетей с mesh топологией. Он также, как и AODV,
формирует маршрут по требованию, делая это с помощью
широковещательного запроса. Но DSR использует явную маршрутизацию, не
опираясь на таблицы маршрутизации на транзитных узлах. В этом протоколе
используется интересный метод постройки маршрута DSR-Flow, который
представляет собой гибрид маршрутизации по таблицам и явной
маршрутизации.
Явное задание маршрута предполагает, что во время поиска будет
происходить накопление адресов всех устройств, находящихся между
источником и приемником. Информация о полном маршруте составляется
узлами, которые обрабатывают широковещательные запросы источника.
Таким образом, маршрутизируемые пакеты имеют в своем заголовке адрес
каждого устройства, которое они посетили. Это может привести к
избыточности служебного потока данных, если был выбран достаточно
длинный маршрут или если используются большие адреса, как в IPv6. Как
раз для таких неудобных ситуаций и был придуман DSR-Flow, где
34
определена опция «flow id». Эта опция позволяет узлам отправить пакеты в
соответствии с их таблицами маршрутизации, чтобы пакет не првератился в
«неподъемный».
Такое явное задание маршрутов, когда все данные о них постоянно
обновляются мобильными узлами, позволяет избавить от необходимости в
периодической проверке маршрута (в отличие от AODV).

4.3.2 Принцип работы протокола

В протоколе DSR отсутствуют «маяки» – это главное различие между


этим и другим реактивными протоколами маршрутизации, следовательно,
DSR не требует периодической передачи пакета «Hello», который обычно
используется узлом, для сообщения соседям о своем присутствии. Принцип
построения маршрута у этого протокола (как и других реактивных
протоколов маршрутизации) состоит в том, что инициирующий узел
отправляет широковещательный пакет RouteRequest, который проходит по
транзитным узлам, добавляющим свои данные к пакету, и приходит в пункт
назначения (рисунок 4.2).

Рисунок 4.2 Определение маршрута по протоколу DSR с помощью пакетов


RouteRequest

35
В ответ на это сообщение, узел адресата отвечает пакетом RouteReply,
который содержит весь маршрут, пройденный пакетом RouteRequest по сети
(рисунок 4.3).
Рассмотрим исходный узел, у которого нет маршрута к пункту
назначения. Если у него есть пакеты данных, которые он хочет отправить в
сеть, то инициализируется широковещательный пакет RouteRequest, и
происходит попытка построить маршрут.

Рисунок 4.3 Построение обратного маршрута по протоколу DSR с


помощью пакетов RouteReply

Каждый узел, получивший пакет RouteRequest, передает его своим соседям,


при условии, что узел не является адресатом, и что TTL (время жизни пакета)
не было превышено. У каждого RouteRequest есть порядковый номер,
сгенерированный исходным узлом и узлами, через которые он прошел. Узел,
после получения пакета RouteRequest, проверяет порядковый номер пакета
прежде, чем отправить его. Пакет отправлен, только если это не
дублирующийся RouteRequest. Порядковый номер пакета используется,
чтобы предотвратить формирование цикла и избежать множественных
передач одного и того же RouteRequest промежуточным узлом, который
получает его через несколько каналов. Таким образом, все узлы кроме
36
адресата отправляют пакет RouteRequest во время фазы формирования
маршрута. Узел адресата, после получения первого пакета RouteRequest,
отвечает источнику, используя обратный путь, который прошел пакет
RouteRequest.
DSR - это реактивный протокол и использует реактивный подход в
составлении маршрутов, а это значит, что нет нужды в засорении сети
сообщениями об обновлении таблицы маршрутизации. В этом и состоит
преимущество реактивных протоколов - маршрут устанавливается, если в
нем есть потребность, а значит, нет нужды в постоянном поиске путей при
помощи таблиц маршрутизации. В промежуточных узлах информация кэша
маршрута также эффективно используется для того, чтобы уменьшить
издержки.
Есть и недостатки у этого протокола. Они заключаются в том, что при
таком типе составления маршрута не восстанавливается оборванное
соединение. Пакет обрастает длинным заголовком, пока путешествует до
узла назначения, его информация о маршруте вполне могла устареть за это
время, что может привести к несогласованностям в сети во время
реконструкции маршрута. Время до построения цельного маршрута больше,
чем в протоколах, использующих таблицы, ведь маршрут всѐ время строится
заново. Протокол неплохо работает в статических средах и там, где
подвижность узлов небольшая, но в средах с высокой подвижностью узлов
производительность быстро ухудшается. Стоит упомянуть значительные
издержки маршрутизации из-за того, что эта самая маршрутизация в DSR
происходит от источника. Эти издержки прямо пропорциональны длине
пути [9].

37
Глава 5. Разработка концептуальной модели. Результаты
моделирования и их анализ
5.1 Описание структуры исследуемой сети
В данной работе создается модель сети стандарта ZigBee. В
соответствии с характеристиками данной спецификации, была составлена
компьютерная модель сенсорной сети. Все измерения были произведены с
учѐтом максимальной скорости передачи данных в 250 кбит/с. Основные
параметры модели (рисунок 5.2): тип канала – беспроводной; модель
распространения – теневая; сетевой интерфейс – беспроводной (802.15.4);
МАС протокол канального уровня – 802.15.4; механизм обслуживания
очереди – DropTail; Антенна – всенаправленная; длина очереди – 100;
количество узлов – 56; протокол маршрутизации – AODV/DSR. Агенты
источники были выбраны типа UDP. Размер пакетов был выбран небольшой
и равен ста байтам. В работе менялся интервал между генерацией пакетов,
который потом, с учѐтом размера пакета пересчитывался в нагрузку. Полный
текст программы содержится в приложении А. Структурная схема сети
представлена на рисунке 5.1 [5].

38
Рисунок 5.1 Структурная схема сети

Рисунок 5.2 Основные параметры модели

Далее приведены основные характеристики узлов (рисунок 5.3).

39
Рисунок 5.3 Конфигурирование узлов сети

5.2 Описание исследуемых характеристик


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

5.2.1 Задержка
Задержка – это время, которое тратится на передачу пакета
определенного типа от узла отправителя узлу получателю. Под
определенным типом понимается пакет, имеющий определенный набор
заранее заданных признаков; в стандарте жестко не оговариваются эти
признаки, но указывается, что это могут быть: размер пакета, тип
приложения, сгенерировавшего пакет, тип протокола транспортного уровня,
который доставил пакет, а также некоторые другие.

40
Задержка считается неопределенной (или равной бесконечности), если
пакет не прибыл в узел назначения за некоторое достаточно большое время,
которое определяется системой.
Последовательность замеров выполняется так, что задержка считается
для каждого пакета, а потом на основании информации о количестве
принятых пакетов, рассчитывается средняя задержка для данной
конфигурации сети.
Замеры задержки производились на основании файла трассировки,
который был создан симулятором и в котором содержится вся информация о
путях пакетов, в частности есть информация о времени генерации и отправки
пакета и о времени прибытия пакета; разница этих двух величин и есть
задержка доставки пакета.
Задержка как параметр, имеет большое значение при передаче
информации, поэтому и был выбран для исследования. Отклик системы,
частью которой является сенсорная сеть, влияет на удовлетворенность
клиентов.

5.2.2 Джиттер
Джиттер (jitter) – это вариация задержки пакетов. Единичное значение
оценки вариации задержки определяется в RFC 3393 как разность
односторонних задержек для пары пакетов заданного типа, полученных на
интервале измерений Т.
Этот параметр очень важен для некоторых приложений. Например, для
воспроизведения видеоклипа в режиме реального времени, просмотра
стриминговых каналов. Сама по себе задержка не очень существенна, так как
все пакеты могут задерживаться на определенное, одинаковое время, и при
просмотре видеоклипа качество воспроизведения не пострадает, а тот факт,
что картинка появляется чуть позже, чем ее отослал сервер, пользователь
даже не заметит. Но если задержка по времени часто изменяется в пределах
от нуля до, например, 10 секунд, то качество воспроизведения клипа заметно

41
ухудшится. Решить эту проблему можно с помощью предварительной
буферизации пакетов, которые поступают на вход устройства в течение
времени, превышающем колебание задержки.
Как и для односторонней задержки, тип пакета здесь задаѐтся любыми
признаками, но размеры обоих пакетов пары должны быть одинаковыми для
того, чтобы добавить определенности в измерение вариации задержки. Тогда
возникает вопрос каким образом выбрать пару пакетов на интервале
измерения Т? В RFC 3393 даѐтся ответ на этот вопрос. Для этого вводится
дополнительная функция — избирательная функция, определяющая правила
выбора пары пакетов. Данный стандарт не дает точного ответа на вопрос как
определить эту функцию, он только говорит, что она должна существовать, и
дает примеры возможных функций. Например, пары могут образовываться из
пакетов, которые были получены последовательно на определенном
интервале; также можно выбирать пакеты с определенными порядковыми
номерами в последовательности полученных пакетов, например пакетов с
номерами 1, 5, 10,15 и т. д. с интервалом 5.
В моей работе джиттер был измерен как разность односторонних
задержек для пары пакетов. Отстоящих друг от друга на интервале в 5
пакетов. И пусть джиттер не очень важен в сенсорных сетях, он был измерен
чисто в исследовательских целях.

5.2.3 Производительность

Оценка производительности сети. Производительность сети


характеризуется скоростью передачи трафика.

Скорость передачи трафика может быть мгновенной, максимальной и


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

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

5.2.4 Потери

Потерянные пакеты в сети нарушают целостность информации,


увеличивают время передачи информации. Потеря пакетов, в свою очередь,
приводит к повторной передаче информации, что увеличивает нагрузку.
Предполагается, что потеря до 5% пакетов незаметна, а свыше 10-15% -
недопустима.

5.3 Типы исследуемого трафика

5.3.1 CBR трафик

CBR (Постоянная битовая скорость) трафик применяется там, где есть


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

43
видеоконференции, телефонию (голосовых услуг) или любого типа по
требованию службы, такие как интерактивные голосовые и аудио. Закон
распределения времени между генерированием пакетов –
детерминированный. Время между генерацией пакетов – постоянно.
На рисунке 5.4 показано конфигурирование CBR трафика в NS_2.

Рисунок 5.4 Моделирование CBR трафика

5.3.2 Пуассоновский трафик

Пуассоновский трафик - это значит, что Закон распределения времени


между генерацией пакетов – пуассоновский. Данный тип трафика хорошо
иллюстрирует реальную ситуацию в сети. На рисунке 5.5 показано
конфигурирование пуассоновского трафика в симуляторе NS_2.

44
Рисунок 5.5 Моделирование Пуассоновского трафика

5.3.3 Трафик Парето


Это значит, что закон распределения генерирования пакетов – Парето.
Исследования речевого трафика дают весьма интересные результаты. Анализ
полученных статистических характеристик показывает, что распределение
процессов длительностей вызовов, а также интервалов между поступлениями
вызовов, существенно отличаются от экспоненциального и хорошо
описываются распределениями, имеющими «тяжелые хвосты», в частности,
распределением Парето. На рисунке 5.6 показано конфигурирование трафика
Парето в симуляторе NS_2.

Рисунок 5.6 Моделирование трафика, распределенного по закону


Парето.

5.3.4 Смешанный трафик

Смешанным трафиком в данной работе называется такой тип трафика,


при котором половина времени генерирования пакетов распределена по
пуассоновскому закону, а другая половина времени распределена также как в
CBR трафике.

45
5.4 Результаты симуляции при изменении нагрузки
Ниже представлены сравнительные графики для всех типов трафика.

Рисунок 5.7 График зависимости задержки (мс) от нагрузки (кбит/с)

Рисунок 5.8 График зависимости задержки (мс) от нагрузки (кбит/с)

Рисунок 5.9 График зависимости джиттера (мкс) от нагрузки

46
Рисунок 5.10 График зависимости джиттера (мкс) от нагрузки

Рисунок 5.11 График зависимости производительности (кбит/с) от


нагрузки (кбит/с)

47
Рисунок 5.12 График зависимости производительности (кбит/с) от
нагрузки (кбит/с)

Рисунок 5.13 График зависимости потерянных пакетов от числа


сгенерированных пакетов в процентах (%) от нагрузки (кбит/с)

48
Рисунок 5.14 График зависимости потерянных пакетов от числа
сгенерированных пакетов в процентах (%) от нагрузки (кбит/с)

5.5 Анализ полученных результатов


Анализируя результаты моделирования, можно выделить три фактора,
влияющих на изменение показателей сети: частоту получения пакетов,
скорость передачи выходной линии связи и закон распределения
получаемых пакетов во времени.
Если интенсивность трафика близка к нулю, то, очевидно, вероятность
непустого буфера в момент получения нового пакета мала, и поэтому
среднее время ожидания близко к минимальному. Если же интенсивность
увеличивается, то возможны кратковременные превышения скорости
приема над скоростью передачи и, как следствие, появление очередей и
увеличение их длины, то есть увеличения задержки. Если буфер будет
переполнен и пакет придет в переполненный буфер, то он будет отброшен,
и произойдѐт потеря пакета. Поэтому при увеличении нагрузки
увеличивается задержка, джиттер, производительность и потери.
Если появление новых пакетов происходит периодически, то каждый
пакет будет приходить в пустой буфер, и, следовательно, задержка будет
минимальной. Если новые пакеты появляются апериодически, то среднее
время ожидания для них, очевидно, уже не будет минимальным, так как
49
появляется вероятность, что пакет будет приходить уже в заполненный
буфер и будет некоторое время ожидать обработки, что повлечет за собой
увеличение задержки. По результатам симуляции видно, что при
увеличении нагрузки трафик CBR имеет наилучшие показатели сети,
смешанный трафик имеет показывает себя чуть хуже, а Парето и
пуассоновский трафики, являясь самыми апериодическим из
представленных, имеют наихудшие результаты.

5.6 Исследование протоколов маршрутизации

5.6.1 Результаты симуляции


Далее исследуем поведение характеристик сети в зависиости от
количества узлов в модели. Измерения проводились при нагрузке в 80 кбит/с,
для CBR трафика.
Протокол динамических беспроводных самоорганизующихся сетей
контролирует и управляет движением пакетов в беспроводной сети, с
помощью него решается вопрос о пути пакетов между узлами, об их
маршруте. В данной работе были выбраны для сравнения два протокола
AODV и DSR, наиболее популярные в сенсорных сетях. Ниже представлены
результаты симуляции.

Рисунок 5.15 График зависимости задержки (мс) от количества узлов

50
Рисунок 5.16 График зависимости джиттера (мкс) от количества узлов

Рисунок 5.17 График зависимости производительности (кбит/с) от


количества узлов

51
Рисунок 5.18 График зависимости потерь (%) от количества узлов

В дополнение была проведена симуляция, в которой менялась нагрузка.


Отличительные параметры модели: количество узлов – 50 штук, трафик –
CBR.
Ниже на рисунках представлены результаты симуляции:

Рисунок 5.19 График зависимости задержки (мс) от нагрузки (кбит/с)

52
Рисунок 5.20 График зависимости джиттера (мкс) от нагрузки (кбит/с)

Рисунок 5.21 График зависимости производительности (кбит/с) от


нагрузки (кбит/с)

53
Рисунок 5.22 График зависимости потерянных пакетов от числа
сгенерированных в процентах (%) от нагрузки (кбит/с)

5.6.2 Анализ результатов


Как видно из графиков, при использовании протокола DSR задержка
доставки пакетов и джиттер больше по сравнению с протоколом AODV, а,
производительность меньше. Это можно объяснить отсутствием четкого
механизма выявления устаревших маршрутов в DSR, что приводит к
использованию неоптимальных путей доставки.
Использование маршрутной информации промежуточных узлов в
протоколе AODV приводит к росту числа потерянных пакетов из-за
отсутствия маршрута при увеличении числа активных узлов. Протокол DSR,
использующий маршрутную информацию источника данных, не страдает
данным недостатком. Протокол DSR практически не допускает потерь
пакетов, но «платит» за это очень большими задержками передачи данных.
Следовательно, применение этого протокола ограничивается системами,
имеющими низкую пропускную способность, критичными к потере
информации.

54
Также заметно, что протокол DSR имеет лучшие показатели, чем
AODV при меньшем количестве узлов, так как при увеличении узлов,
увеличивается количество служебной информации в пакете DSR. Это
происходит из-за того, что в протоколе DSR когда узел посылает пакет по
назначению, то в пакете содержится полная информация о маршрутизации,
что увеличивает количество служебной информации на долю пакета, чем в
AODV, а чем больше узлов, тем больше.
На основании данных исследований был выявлен наиболее
подходящий протокол для масштабных ad-hoc сетей - Ad-hoc On demand
Distance-Vector (AODV). Он имеет лучшие параметры, чем протокол DSR. В
пользу этого выбора говорит то, что данный протокол получил отражение в
RFC, и то, что многие последние доклады на различных конференциях
посвящены этому протоколу. В том числе проведены многочисленные
исследования, в которых сравнивалась производительность различных
протоколов в смоделированных сетях. По итогам этих исследований
протокол AODV по многим параметрам оказался лучше остальных. Кроме
того, данный протокол используется во многих программных реализациях
для построения ad-hoc сетей.

55
Глава 6. Моделирование сети с подвижными узлами и еѐ анализ

6.1 Описание реактивных и проактивных протоколов. Протокол DSDV

Существуют две разновидности, на которые разделяются протоколы,


организующие маршрутизацию в мобильных самоорганизующихся сетях.
Это проактивные и реактивные протоколы. Они разделяются по принципу
поиска маршрута. Рассмотрим эти различия поближе.

Проактивные протоколы – это табличные протоколы, которые


опираются в построении маршрута (от узла источника до узла назначения)
на таблицы маршрутизации. Данные таблицы формируются на каждом
мобильном узле и содержат информацию о маршрутах до каждой станции в
сети. Если в сети произошел какой-то сбой, или, если поменялась топология,
то маршрутная информация обновляется с помощью специальных
служебных сообщений. По сформированной топологии производится
предварительное построение таблиц маршрутов. Они хранятся в памяти
каждой мобильной станции. Если на такую станцию придет пакет,
предназначенный для дальнейшей передачи, то на основании таблицы
маршрутизации он немедленно отправится дальше. Примером проактивного
протокола является DSDV (Destination Sequenced Distance Vector).

Реактивные протоколы — протоколы по запросу (требованию).


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

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

6.1.1 Описание протокола DSDV

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


DSDV, он основан на алгоритме Беллмана-Форда и является дистанционно-
векторным протоколом. Этот протокол, как и другие его проактивные
коллеги, хранит в узлах таблицу маршрутизации, с помощью которой
строятся маршруты до нужных узлов. Основной задачей самого DSDV
является исключение циклических маршрутов, а также минимизация объема
служебного трафика. Для этого в протоколе предусмотрен обмен таблицами
маршрутизации только при серьезных изменениях в топологии, а в более
несерьезных случаях отправляются просто пакеты-обновления.

Главным недостатком DSDV является постоянный обмен служебной


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

57
6.2 Описание исследуемой топологии

Главным отличием этой программы от предыдущей будут подвижные


узлы связи, пример конфигурирования которых, изображен на рисунке 6.1.
Узлы начинают двигаться на 30-ой секунде симуляции. Это было сделано для
того, чтобы наблюдать вероятностно-временные характеристики сети с
момента начала движения узлов, с начала изменения топологии сети и
рассматривать процесс самоорганизации, но не захватывать начальный
процесс становления сети. В моделируемом сетевом процессе будет
двигаться некоторый процент от количества всех узлов в сети. Будут
двигаться как узлы-сенсоры, так и узлы-маршрутизаторы. Движение
происходит в различные территориальные точки. Поэтому процесс
изменения сети происходит довольно продолжительное время и на разных
участках.

Рисунок 6.1 Фрагмент описания движения узлов в симуляторе NS_2

6.3 Результаты симуляции


Ниже представлены результаты симулирования модели при скорости
узлов в 1м/с и при движении 10% от общего количества узлов сети.

58
Рисунок 6.2 График зависимости производительности (кбит/с) от
времени (с)

Рисунок 6.3 График зависимости задержки (мс) от нагрузки (с)

59
Рисунок 6.4 График зависимости джиттера (мкс) от времени (с)

Рисунок 6.5 График зависимости потерь (%) от времени (с)

60
Далее представлены результаты симулирования модели при скорости
узлов в 10м/с и движения 10% узлов от общего количества.

Рисунок 6.6 График зависимости производительности (кбит/с) от времени


(с)

Рисунок 6.7 График зависимости задержки (мс) от времени (с)

61
Рисунок 6.8 График зависимости джиттера (мкс) от времени (с)

Рисунок 6.9 График зависимости потерь (%) от времени (с)

Далее представлены результаты симулирования модели при скорости


узлов в 1м/с и движения 30% узлов от общего количества.

62
Рисунок 6.10 График зависимости производительности (кбит/с) от
времени (с)

Рисунок 6.11 График зависимости задержки (кбит/с) от времени (с)

63
Рисунок 6.12 График зависимости джиттера (мкс) от времени (с)

Рисунок 6.13 График зависимости потерь (%) от времени (с)

Далее представлены результаты симулирования модели при скорости


узлов в 10м/с и движения 30% узлов от общего количества.

64
Рисунок 6.14 График зависимости производительности (кбит/с) от
времени (с)

Рисунок 6.15 График зависимости задержки (мс) от времени (с)

65
Рисунок 6.16 График зависимости джиттера (мкс) от времени (с)

Рисунок 6.17 График зависимости потерь (%) от времени (с)

6.4 Анализ полученных результатов

Из приведенных графиков видно, что в то время, как узлы начинают


двигаться, характеристики сети начинают ухудшаться. Производительность
сети падает в связи с тем, что во время изменения топологии сети, узлы
начинают отправлять дополнительную маршрутную информацию об
66
изменении от соседа к соседу, засоряя канал. Задержка, джиттер и потери
увеличиваются по той же причине. Топология сети постоянно меняется,
иногда пакеты отправляются по маршруту, который уже устарел, иногда
пакеты уходят в зацикливание, и, соответственно, отбрасываются узлом,
который это заметил. Иногда теряются квитанции на запросы.

В целом, лучше всего в таких непростых и изменчивых условиях,


показал себя протокол AODV. Благодаря своей способности к
самоорганизации и хранению таблиц маршрутизации в узлах. При изменении
топологии узел, обнаруживший нарушение, отправляет RERR и маршрут
перестраивается заново (или применяется резервный). Протокол DSR в этом
плане работает чуть хуже, так как он накапливает маршрут в заголовке
пакета, то устаревшая информация из кэша маршрута может привезти к
несогласованностям. А если это еще и большая сеть и с «длинным»
маршрутом, то большие заголовки пакета в протоколе DSR очень сильно
мешают работоспособности сети. Что касается проактивного протокола
DSDV, то его недостаток заключается в том, что пакеты продолжают идти по
маршруту, ведь известен только следующий хоп, а таблицы маршрутизации
при изменении топологии перестраиваются довольно долго, поэтому часть
пакетов может потеряться, а обмен таблицами засоряет канал.

67
Заключение
В данной магистерской диссертации была проделана объемная работа.
В первой главе были описаны теоретические основы моделирования. Во
второй главе была рассмотрена история возникновения стандарта и его
подробное описание. В третьей главе уделено внимание протоколам
маршрутизации в ad-hoc сетях. В четвертой главе были описаны различные
виды сетевых симуляторов и был выбран один, соответствующий
заявленным возможностям. В пятой главе были показаны и
проанализированы результаты моделирования стационарной беспроводной
сенсорной сети, а в шестой – подвижной.
Результатом данной магистерской диссертации является созданная
модель сети стандарта ZigBee. В еѐ основе лежит модель процесса
обслуживания пакетных сообщений в данной сети. Основываясь на
результатах моделирования, можно, например, узнать, как будет вести себя
сенсорная сеть стандарта ZigBee, при воздействии на неѐ различного типа
трафика, выбрать оптимальные параметры, которые обеспечат необходимое
качество связи, нужное для нормальной работы сети. На основании данных
исследований также был выявлен наиболее подходящий протокол для
масштабных (более 50 узлов) ad-hoc сетей - Ad-hoc On demand Distance-
Vector (AODV). Он имеет лучшие параметры, чем протокол DSR. А также
было выявлено, что в подвижной сенсорной сети протокол AODV также
ведет себя лучше остальных «коллег».

68
Список литературы
1. Н. Агафонов. Технологии беспроводной передачи данных ZigBee, Wi-
Fi, Bluetooth // «Беспроводные технологии», 2006.
2. М. Соколов. Программно-аппаратное обеспечение беспроводных сетей
// «Компоненты беспроводных систем» 2004.
3. Н.А. Ковалевский, Т.А. Приходько. Разработка протокола для
мобильных сетей и исследование его в среде NS2 // «Беспроводные
технологии» 2013.
4. T. Issariyakul, E. Hossain. Introduction to Network Simulator NS2. – New
York.:Springer Science + Buisness Media, 2012. – 512p.
5. В.Варгаузин. Радиосети для сбора данных от сенсоров, мониторинга и
управления на основе стандарта IEEE 802.15.4 // «Телемультимедиа»,
2005
6. Официальный сайт стандарта Zigbee [Электронный ресурс]. URL:
http://www.zigbee.org (дата обращения: 04.05.2017).
7. Сайт компании производителя беспроводных модулей ZigBee
[Электронный ресурс]. URL: http://www.jennic.com/elearning/ZigBee/
(дата обращения: 05.05.2017).
8. А. Д. Яманов, Д.А. Алевский, А.Е. Плеханов. Технология
развертывания локальных беспроводных радиосетей ZigBee в
системах промышленной автоматизации и диспетчеризации //
«ИСУП», 2011.
9. APPADURAI A. S, DEEPAK KR. PERFORMANCE ANALYSIS OF
ZIGBEE AND OWC IN WIRELESS BODY AREA NETWORK //
International Journal of Advanced Research in Electronics and
Communication Engineering 2016 URL: http://ijarece.org/wp-
content/uploads/2016/12/IJARECE-VOL-5-ISSUE-12-2506-2510.pdf
(датаобращения: 23.08.2016).

69