Пояснительная записка (1194880), страница 4
Текст из файла (страница 4)
Модели программы собираются из компонентов множественного использования, называемых модулями. Модули можно использовать много раз и объединять по принципу блоков LEGO.
Модули соединяются между собой с помощью портов, и объединяются в составные модули с использованием высокоуровневого языка программирования NED. Количество вводимых модулей неограниченно.
Рисунок 4 – Интерфейс симулятора OMNeT++
Модули связываются посредством передачи сообщений, которые содержат произвольные структуры данных. Модули могут передавать сообщения по определенным портам и соединениям серверу или непосредственно друг другу. Последнее, к примеру, полезно для моделирования беспроводных сетей. Интерфейс симулятора представлен на рисунке.
-
Симулятор Network Simulator Version 2
Симулятор Network Simulator Version 2 (NS-2) является программным обеспечением с открытым кодом (Open Source software), предназначенным для дискретно-событийного моделирования проводных и беспроводных (мобильных) систем связи. Основными языками в составе симулятора являются C++ и Tcl (Tool Command Language). Для создания симуляций используется OTCL (Object Tcl). Программа находится в свободном доступе, ее можно загрузить на сайте программы и использовать в академических целях.
Симулятор поддерживает большое количество протоколов, типов сетей, элементов сети, моделей передачи данных. Для моделирования ad-hoc сетей поддерживаются протоколы маршрутизации AODV, DSDV, DSR и TORA, требующие дополнительной доработки для обеспечения возможности работы с мобильными узлами.
В симуляторе NS-2 существует модель, которая реализует стандарт IEEE 802.15.4. Структура компонентов модели LR-WPAN (Low-Rate Wireless Personal Area) [ CITATION Tee \l 1033 ] и основные её функции представлены на рисунке.
-
Симулятор Network Simulator Version 3
Network Simulator Version 3 (NS3) является свободным программным обеспечением, распространяемым под лицензией GNU GPLv2, и ориентирован на исследовательское применение, а также применение в образовательных целях. Исходные коды NS3 открыты для исследования, модификации и использования и доступны на сайте проекта.
NS3 является очень гибким и в то же время мощным средством моделирования за счёт использования C++ в качестве встроенного языка описания моделей. Так же, помимо С++, может использоваться Python. Оба языка в симуляторе равноправны и принимаются для описания моделей телекоммуникационных систем.
Благодаря очень обширному и гибкому API, а также благодаря полноте документации программных интерфейсов, разработчик модели практически ничем не ограничивается. Ему предоставляется возможность построения как собственных моделей любой сложности, так и, благодаря используемой лицензии GNU GPLv2, изменение и дополнение уже существующих моделей, входящих в комплект ПО.
В NS3 разработаны модели беспроводных типов сетей, позволяющие проводить моделирование даже с движущимися объектами в трёхмерном пространстве. Разработаны модели для построения проводных топологий различной сложности, а также смешанных. Присутствует реализация различных типов Mesh-сетей на основе стека протоколов 802.11s, за счёт чего NS3 даёт фору даже многим коммерческим симуляторам.
Разработан FrameWork под названием FlowMonitor, предоставляющий очень гибкие методы сбора самых различных показаний с моделируемых активных сетевых устройств и каналов связи. Симулятор не имеет собственного графического интерфейса, однако для средств визуализации моделей используются проекты NetAnimator и PyViz. Данный список преимуществ можно продолжать довольно долго, а с подробным описанием можно ознакомиться на официальном сайте симулятора.
Работа над проектом NS3 не прекращается. Многие крупные компании опубликовали работы, в которых исследования основываются на NS3. Так же заявлена некоторыми компаниями и институтами разработка различных фреймворков для работы с симулятором. Ежедневно появляются новые всё более и более сложные модели, написанные членами сообщества.
-
Симулятор TinyOS
TinyOS Simulator (TOSSIM) – система, специально разработанная для сенсорных сетей. Она имеет компонентную программную модель, описанную на языке nesC. TinyOS не является операционной системой в традиционном понимании. Это программная среда для встроенных систем и набор компонентов, которые позволяют создавать имитационные модели конкретным приложением, например, таким как TOSSIM. Симулятор TOSSIM может моделировать сети размерностью до нескольких тысяч узлов, и анализируя их, предсказывать поведение сети с высокой точностью. Моделируя сети с возможными помехами и ошибками, симулятор создает простую, но вместе с тем эффективную модель всевозможных взаимодействий узлов в сети. Описывая маломощную модель устройств TinyOS, симулятор моделирует поведение сенсорного узла с большой достоверностью, описывая его характеристики и проводя большое количество экспериментов. Для удобства разработчиков, TOSSIM поддерживает графический интерфейс пользователя, обеспечивая детальную визуализацию и воспроизведение действий запущенной имитационной модели.
Приведем общие характеристики эмулятора TOSSIM:
-
масштабируемость [ CITATION AlS \l 1033 ] – симулятор поддерживает модель сети, состоящую из большого количества узлов, с различной конфигурацией. Самая большая из всех разработанных сетей TinyOS состоит приблизительно из 850 узлов, симулятор способен поддерживать такие модели;
-
достоверность – симулятор описывает различные взаимодействия узлов, которые могут возникнуть в реальной сети;
-
связанность – симулятор связывает алгоритм построения с его графическим представлением, позволяя разработчикам тестировать программный код, который требует запуска на реальном устройстве, а также производить визуализации сети.
Архитектура TOSSIM (рисунок 5) состоит из следующих элементов:
-
дискретный поток событий;
-
набор программных компонентов, которые заменяют соответствующие аппаратные компоненты реальных мотов;
-
средства связи, предоставляющие возможность внешним программам взаимодействовать с эмулятором.
Рисунок 5 – Архитектура эмулятора TOSSIM
-
Общие сравнительные характеристики
В данной работе уделено большое внимание таким симуляторам, как NS-3 и OMNeT++, в связи с большой распространенностью NS-3 (опрос MobiHoc выявил около 45% пользования данным симулятором для моделирования сетей) и простотой интерфейса симулятора OMNeT++.
Если реализация протоколов в NS-3 доступна в публичном пользовании, то применение того же протокола в OMNeT++ имеет сложности, так как архитектура этих симуляторов различна. Для анализа были сформулированы и заданы критерии, по которым каждая из систем исследовалась как на возможность моделирования беспроводной сенсорной сети, так и на соответствие моделируемых событий реальным событиям, происходящих в сети. Моделирование беспроводной сенсорной сети позволит приближенно оценить теоретические расчеты, предсказать действия, происходящие в реальной сети, описать взаимодействие узлов в сети, произвести тестирование новых протоколов, описать возможные решения по оптимизации архитектур, подобрать определенные топологии для применения новых сетевых решений[ CITATION Ste \l 1033 ].
В таблице 1.1 приведены общие сравнительные характеристики возможностей симуляторов NS-3 и OMNeT++.
Таблица 1.1 – Общие сравнительные характеристики возможностей
симуляторов NS-3 и OMNeT++
| Параметр | NS-3 | OMNeT++ |
| Гибкость | NS-3 был разработан в качестве TCP/IP симулятора, соответственно используется для имитации сетей с пакетной передачей данных. NS-3 обладает жесткими представлениями о узлах, протоколах, ссылках, представлении пакетов, сетевых адресах, что имеет свои преимущества, но не дает вносить какие- либо изменения. | OMNeT++ имеет гибкую структуру моделирования. Можно промоделировать любую сеть, компоненты которой взаимодействуют посредством передачи сообщений. |
| Синхронизация | Дискретные события | Дискретные события |
| Платформа | Linux, FreeBSD, Windows (Cygwin) | Linux, Unix, Windows |
| Поддержка | Мониторинг потока симуляции, разработка и определение топологии на C++, результат анализа и симуляции | Мониторинг потока симуляции |
| Документация | Документация NS-3 имеет доступное руководство, обучающая литература, видеоуроки | OMNeT++ фрагментирована, мало обучающей литературы |
| Масштабируемость для больших сетей | NS-3 поддерживает моделирование больших сетей. Ограничение только в возможностях используемого компьютера | OMNeT++ не обладает масштабируемостью для больших сетей. Симулятору не хватает модели приложений и снабжения протоколов, аппаратных моделей |
В качестве симулятора для работы выбран NS3, с открытым кодом, хорошей документацией и относительно низкими требованиями к пользователю для начала работы. Также благодаря открытому исходному коду, любая часть симулятора может быть досконально изучена и модифицирована при необходимости, что в сочетании с удобной организацией исходный файлов и структурой самих файлов является большим плюсом данного симулятора.
Дальнейшая работа будет включать в себя установку симулятора, добавление необходимых протоколов, настройку карты для моделей мобильности, а также настройку сценария симуляции.
-
Обеспечение качества обслуживания в VANET
Одной из наиболее сложных задач в VANET является обеспечение качества обслуживания (Quality of Sevice, QoS). Уровень QoS определяется набором требований, которые должны выполняться сетью при транспортировке потока пакетов от источника к его адресату[ CITATION Sas \l 1049 ]. В проводных сетях параметры QoS обычно описываются в задержке и пропускной способности. Параметры QoS в транспортных сетях ad hoc трудно определить из-за изменений топологии сети, масштабируемости и маршрутизации с задержкой.
Данные, передаваемые по VANET, можно разделить на две группы: данные реального времени (например, сообщения о безопасности, видео/аудиосигналы) и трафик, терпимый к задержкам (например, электронные карты, информация о дорогах, транспортных средствах, погоде), которые налагают определённые требования к качеству обслуживания.
Очевидно, что для трафика первой группы важна скорость доставки информации, в то время как для трафика не реального времени имеет определяющее значение количество потерянных пакетов. Скорость отправки и получения данных имеет решающее значение для сетей транспортных средств. Приложения безопасности требуют минимальной задержки передачи пакетов, т.к. по истечению определенного времени предупреждение об опасности может быть бесполезным для предотвращения аварии. Спасательные машины должны мгновенно получать точные координаты места аварии, чтобы быстрее добраться до места чрезвычайной ситуации. Кроме того, информация о дорожных опасностях должна как можно скорее передана в навигационные системы транспортных средств в режиме реального времени для поиска альтернативных маршрутов движения[ CITATION Sho \l 1049 ].
Разработаны разнообразные решения для улучшения QoS в сетях VANET. Как правило они работают на сетевом, канальном, а также на физическом уровне. Однако их использование в сетях VANET приводит к некоторым недостаткам (так, например, избыточность служебных сообщений). Среди этих решений следует выделить проактивные и реактивные протоколы маршрутизации. Их пригодность для автомобильных сетей изучалась в разных статьях. В связи с нестабильностью соединений в VANET, использование проактивных протоколов маршрутизации может оказаться не рациональным. Подобные протоколы основаны на обмене таблиц маршрутизации между соседними узлами. Такой подход плохо работает в условиях большой плотности потока. Реактивные протоколы не используют таблицы маршрутизации, но используют метод наводнения сети служебным трафиком для поиска маршрута.
Методы обеспечения качества обслуживания (QoS) занимают сегодня важное место в арсенале технологий сетей с коммутацией пакетов, так как они обеспечивают устойчивую работу современных мультимедийных приложений, таких как IP-телефония, видео- и радиовещание, интерактивное дистанционное обучение и т.п. Методы QoS направлены на улучшение характеристик производительности и надежности сети, рассмотренных в предыдущей главе; эти методы позволяют уменьшить задержки, вариации задержек, а также потери пакетов в периоды перегрузки сети, создавая тем самым необходимые условия для удовлетворительного обслуживания сетью трафика приложений.
Механизмы обеспечения качества обслуживания направлены на компенсацию негативных последствий временных перегрузок, возникающих в сетях с коммутацией пакетов. В этих методах используются различные алгоритмы управления очередями, резервирования и обратной связи, позволяющие снизить негативное влияние очередей до приемлемого для пользователей уровня.
Существуют следующие критерии оценки производительности сети:
-
успешность доставки пакетов;
-
пропускная способность;
-
задержка сигнала;
-
количество коллизий;
-
оценка принимаемого сигнала.
-
Успешность доставки пакетов
-
Успешность доставки пакетов (Packet delivery ratio, PDR) – отношение количества доставленных вовремя пакетов к количеству отправленных. Математически, коэффициент передачи пакетов находится по формуле:
где
– сумма пакетов данных, полученных каждым получателем, а
– сумма пакетов данных, генерируемых каждым узлом сети.
В работе [ CITATION Akh \l 1033 ] показано, что показатель PDR увеличивается с увеличением количества активных узлов в сети. Это связано с тем, что при низком количестве узлов, бывает невозможно установить прямое соединение связи от источника к приемнику сигнала. По мере увеличения количества узлов, связь в сети становится лучше благодаря передачи данных между узлами не напрямую, а с использованием маршрутизации между соседними передатчиками. В условиях средней плотности узлов протоколы показывают наилучшую производительность. В то же время при избыточном количестве узлов в сети, PDR падает. Это связано с большим количеством шума, генерируемого каждым отправителем сигнала, т.к. все они используют один физический канал связи.















