УДК 004.75
ЭКСПЕРИМЕНТАЛЬНЫЕ ИССЛЕДОВАНИЯ ПРОТОКОЛА ПЕРЕДАЧИ ДАННЫХ С ПРИОРИТЕТАМИ В БЕСПРОВОДНОЙ СЕНСОРНОЙ СЕТИ В СИСТЕМЕ TOSSIM
Е.В. Тараканов
Томский политехнический университет E-mail: [email protected]
Приведен обзор беспроводных сенсорных сетей, дано описание среды моделирования TOSSIM, и приведен пример моделирования протокола передачи пакетов данных в беспроводной сенсорной сети.
Ключевые слова:
Беспроводная сенсорная сеть, TOSSIM, моделирование беспроводной сенсорной сети, перегрузка сети, агрегирование предпочтений, отношение консенсуса.
Key words:
Wireless sensor network, TOSSIM, wireless sensor network modeling, network congestion, preference aggregation, consensus relation.
Введение
Беспроводные сенсорные сети (БСС) (wireless sensor networks, WSN) все чаще используются для организации различных видов мониторинга: параметров окружающей среды [1], состояния конструкций, зданий и сооружений [2], в системах безопасности (пожарной, сейсмической, экологической и др.) [3], для отслеживания целей в процессе ведения боевых действий [4] и т. п. В таких системах разнородные данные собираются мультисенсорами, входящими в состав узлов, расположенных в подлежащих мониторингу точках определенной географической области, и передаются по беспроводной сети в центральный узел для обработки и принятия решений. Обычно сеть имеет иерархическую (древовидную) структуру, в которой на каждом уровне данные могут передаваться от узлов-источников к одному или нескольким узлам-приемникам.
При передаче данных в беспроводных сенсорных сетях возникают существенные проблемы, связанные с ограниченной полосой пропускания используемых в качестве линий связи радиоканалов. В частности, в ситуациях, когда много узлов-источников одновременно инициируют передачу данных, может возникать перегрузка или даже коллапс сети, в результате чего ее пропускная способность, выражаемая в количестве проходящих от источника к центральному узлу пакетов данных в единицу времени, падает практически до нуля.
Одним из возможных подходов к решению проблемы является назначение приоритетов передаваемым по сети пакетам и организация первоочередной доставки пакетов с более высоким приоритетом. Этот подход согласуется с концепцией качества обслуживания (Quality of Service, QoS), являющейся общепринятой для сенсорных сетей, основанных на обнаружении событий. Основными показателями QoS являются малая задержка передачи данных от источника к центральному узлу и низкие потери данных о событиях. Предложенный подход может быть использован для разработки протокола передачи пакетов данных в беспроводных сенсорных сетях.
Целью данной статьи является описание экспериментальной проверки протокола передачи пакетов данных в беспроводной сенсорной сети с учетом приоритетов передаваемых данных, назначаемых на основе отношения консенсуса, в среде эмулирования ТО88Ш.
Описание узла беспроводной сенсорной сети
Узел беспроводной сенсорной сети содержит вычислительный модуль, датчики (сенсоры), модуль беспроводной связи и модуль электропитания.
Основными особенностями микропроцессоров вычислительного модуля узла БСС являются низкое энергопотребление в рабочем и энергосберегающем режимах, управление энергопотреблением отдельных частей модуля; низкая стоимость и малые габариты.
Датчики сенсорных узлов отличаются малыми размерами и очень малым энергопотреблением порядка 1 А-ч.
Модуль беспроводной связи служит для организации беспроводной связи между узлами сети. В качестве модуля беспроводной связи используют высокоинтегрированные приёмники, передатчики и приёмопередатчики, работающие в нелицензи-руемых диапазонах частот.
Модуль электропитания обеспечивает длительное (до нескольких лет) функционирование узлов сети.
В качестве операционной системы для узлов сенсорной сети используется компонентная операционная система с открытым исходным кодом Ть пу08 [5], написанная на языке пе8С. Библиотека компонентов Тту08 включает сетевые протоколы, драйверы сенсоров и утилиты получения и сбора информации, которые могут быть усовершенствованы в клиентских приложениях. При разработке Тту08 основное внимание было уделено обеспечению возможности использования для программирования языка с довольно высоким уровнем абстракции. В результате была создана операционная система (ОС) с простой, но весьма развитой ком-
понентной архитектурой. Специфика этой архитектуры заключается в обеспечении развитых и надежных механизмов параллельного выполнения задач в условиях крайне ограниченных ресурсов, в первую очередь памяти и электропитания.
Эмулятор сенсорной сети TOSSIM
Для тестирования программных продуктов для БСС необходимо развертывание достаточно большого количества узлов и создание соответствующих условий окружающей среды. Для сокращения расходов и ускорения тестирования используются эмуляторы работы БСС. В настоящее время основными являются два широко используемых эмулятора - NS-2 [6] и TOSSIM [7, 8].
NS-2 разработан в Калифорнийском университете (США) для моделирования работы сети на уровне передачи пакетов и основан на интерпретаторе объектно-ориентированного языка Otcl. Эмулятор состоит из планировщика событий, библиотек объектов сетевых компонентов и библиотек задания параметров сети. Для запуска модели необходимо написать программу моделирования на Otcl, которая задает параметры сети и задаст источникам трафика параметры генерации пакетов через планировщик событий.
TOSSIM также является разработкой Калифорнийского университета, но, в отличие от NS, TOS-SIM работает за счет подмены компонентов Tiny-OS и, следовательно, позволяет проводить моделирование только сетей на базе TinyOS. Его плюсом является тесная интеграция с операционной системой, что позволяет моделировать не только передачу пакетов по сети, но и работу аппаратной части узла БСС. Для описания моделирования используется широко распространенный язык Python.
Таким образом, для моделирования БСС на основе TinyOS наиболее эффективным является использование эмулятора TOSSIM. Это позволяет проверить функционирование программного продукта в максимально приближенных к реальным условиях.
Основными характеристиками эмулятора TOSSIM являются:
• масштабируемость - эмулятор может моделировать работу как отдельных мотов, так и огромных сетей, состоящих из нескольких тысяч узлов;
• полнота - эмулятор в состоянии моделировать различные схемы взаимодействия элементов БСС, причем не только алгоритмы и сетевые протоколы, но и изменяющуюся структуру сенсорной сети;
• точность - эмулятор может представлять поведение сети с необходимой точностью. Определение точного времени наступления событий важно как для анализа, так и для тестирования приложений для БСС;
• достоверность - эмулятор реализует адекватный переход от моделируемой к реальной среде
выполнения приложения, предоставляя разработчику возможность тестировать код, который предназначен для реального оборудования.
В состав эмулятора TOSSIM входят следующие элементы:
• средство встраивания самого тестируемого приложения TinyOS в структуру эмулятора;
• очередь событий;
• набор программных компонентов, которые заменяют соответствующие аппаратные компоненты реальных мотов;
• механизмы описания моделей радиоканалов и аналого-цифровых преобразователей (ADC);
• средства связи, предоставляющие возможность внешним программам взаимодействовать с эмулятором.
Начальная топология сети задается в виде ориентированного графа, где узлы располагаются в вершинах графа, а дуги графа отвечают за качество связи между узлами. Значения, расположенные в дугах графа, соответствуют вероятности ошибки при передаче данных. Топология сети задается в виде текстового файла.
Для генерации пакетов данных сначала необходимо определить функцию, формирующую сообщение и обертывающую сообщение в пакет. Созданный таким образом пакет генерирует событие.
Обработка результатов
Для получения информации о ходе моделирования при передаче пакета данных и пересчете приоритетов узлов сети в файл журналирования пишется строка с заданной информацией, например, данные об отправке пакетов данных узлами БСС и данные о получении пакетов данных центральным узлом. Тем самым можно проследить весь путь пакета и посчитать количество получаемых центральным узлом пакетов данных от каждого из источников данных.
Для оценки вероятности потери пакета в зависимости от приоритета узла-источника необходимо провести моделирование при статических показателях сенсоров и сохранить вычисленные приоритеты узлов-источников.
Полученный таким образом журнал может занимать большой объем (порядка 100 Мб), поэтому для первичной обработки используются средства Unix shell. Во второй файл выделяются данные о получении центральным узлом пакетов данных и данные о передаче пакетов с узлов-источников данных.
Полученный второй файл имеет меньший объем и обрабатывается программой, написанной на Python и предназначенной для подсчета полученных пакетов с каждого узла и процента потерь.
Тестируемое программное обеспечение
Описанный метод моделирования применен для тестирования протокола передачи данных с динамическим назначением приоритетов узлов-источников данных на основе отношения консенсуса
(рис. 1). Приоритеты узлов БСС вычисляются на основе передаваемой с узлов измерительной информации и используются для создания формирования очереди передачи пакетов данных с учетом приоритетов пакетов и автоматического назначения интервалов ожидания передачи пакетов данных узлам сети.
От узла-потомка К узлу-предку
Рис. 1. Предложенная блок-схема протокола передачи данных узла
Каждый узел использует для передачи сообщений буфер в виде очереди. Если сеть перегружена или ее пропускная способность не позволяет отправить поступившее сообщение немедленно, то пакет отправляется в очередь сообщений. По достижении максимального размера очереди поступление нового пакета приводит к необходимости либо удалить уже существующий пакет из очереди, либо отбросить поступивший пакет. Назначение приоритетов узлам сети внутри кластера в соответствии с ранжированием консенсуса позволяет создавать очередь передачи пакетов с сортировкой по убыванию важности узла-источника пакета.
Приоритет узла-источника входящего пакета сравнивается с приоритетами узлов-источников уже находящихся в очереди пакетов, начиная с первого пакета. После обнаружения пакета, узел-источник которого имеет меньший приоритет, чем приоритет узла-источника входящего пакета, будет произведена вставка поступившего пакета перед пакетом с менее приоритетного узла. Если же окажется, что узел-источник входящего пакет имеет приоритет меньший, чем приоритет узлов-источников всех пакетов в очереди, то поступивший пакет будет отброшен.
Алгоритм распределения пропускной способности сети использует для работы уже сформированные приоритеты узлов-источников данных и задает интервалы передачи пакетов данных уз-лам-потомкам обратно пропорционально приоритету узла. Периодически обновленные интервалы передачи пакетов данных рассылаются узлам-по-томкам через пакеты обратной связи.
Подробнее протокол описан в [9, 10].
Основными параметрами QoS для тестируемого программного обеспечения (ПО) являются задержка доставки пакетов данных до центрального узла и потери данных с более приоритетных узлов. Соответственно, в качестве результатов моделирования необходимо получить данные о задержке доставки пакетов данных до центрального узла в зависимости от узла и о проценте потерь пакетов в зависимости от приоритета узла БСС [11].
Экспериментальная проверка протокола передачи данных
В процессе эмулирования полагалось, что разработанный протокол передачи пакетов данных в беспроводной сенсорной сети, управляющий интервалами передачи пакетов данных и очередью передачи пакетов данных на основании приоритетов узлов, реализован на аппаратной платформе МГСАг, состоящей из микроконтроллера А1ше1 АУК и микросхемы радиосвязи СЫрсоп СС2420 (рис. 2).
Рис. 2. Аппаратная платформа М1СА
В вычислительном эксперименте тестируемая беспроводная сенсорная сеть пожарной сигнализации состояла из 241 узла, организованных в 15 кластеров по 16 узлов в каждом. Каждый узел имеет в своем составе шесть сенсоров, измеряющих температуру, скорость изменения температуры, задымленность, уровень СО, срабатывание датчика пламени и присутствие персонала. Радиомодуль СС2420 обеспечивает скорость передачи данных до 256 кБ/с и имеет буфер в 10 пакетов по 60 байт. При построении исследуемой сети была использована топология кластерное дерево (рис. 3).
Были организованы два эксперимента: в первом эксперименте проверялись управление интервалом ожидания передачи пакетов и задержка доставки пакетов до центрального узла сети; во втором эксперименте определялась доля потерянных пакетов в общем количестве отправленных к центральному узлу пакетов.
В первом эксперименте узлы располагались вдоль прямой линии. Предполагалось, что пожар начался в районе 26 узла и распространялся вдоль
Номер узла сети
Номер узла сети
Рис.
4. Скорость получения пакетов центральным узлом а) при использовании; б) без использования разработанного протокола передачи данных
линии со скоростью 1 узел/с. За счет использования разработанного протокола передачи измерительных данных задержка при передаче пакетов данных на центральный узел с узлов, получающих информацию о пожаре (пакетов с высоким приоритетом), уменьшилась с 900 до 500 мс. При этом задержка при передаче данных для узлов, не получающих информации о пожаре (пакетов с низким приоритетом), выросла до 1800 мс.
Проведенное измерение количества пакетов, получаемых центральным узлом от узлов сети в секунду, показало, что при использовании разработанного программного комплекса передачи данных центральный узел получает в среднем 0,21 пакета данных с высоким приоритетом и 0,061 пакета данных с низким приоритетом в секунду. Без использования разработанного программного комплекса центральный узел получает 0,068 пакета данных в секунду (рис. 4).
За счет использования алгоритма управления интервалами ожидания передачи пакетов данных скорость отправки пакетов (количество отправленных к центральному узлу пакетов данных в секунду), например, с узла 129 при достижении пожаром района его расположения увеличивается с 0,26 до 0,86 пакетов/с (рис. 5).
Во втором эксперименте для определения доли потерянных пакетов в общем количестве отправленных к центральному узлу пакетов, зависящей от приоритета узла сети, генерировались случайные значения показаний сенсоров. С каждого узла отправлялись 140 пакетов. Фиксировалось количество пакетов, полученных центральным узлом, по которому судили о доле потерь. Для узлов с приоритетами от 1 до 7 потери составили около 10 % всех пакетов, а для узлов с приоритетами от 8 до 16 потери составили около 90 % отправленных узлами пакетов (рис. 6).
Рис. 5. Скорость отправки пакетов сузла 129
Рис. 6. Доля потерь пакетов в зависимости от приоритета узла сети
Выводы
Моделирование беспроводной сенсорной сети позволяет сократить расходы на тестирование и ускорить цикл разработки программного обеспечения. Для полномасштабного тестирования всех аспектов функционирования узла сенсорной сети оптимально использовать специализированную среду моделирования ТО881М.
Проведенное тестирование протокола передачи пакетов данных в беспроводной сенсорной сети, управляющего интервалами передачи пакетов дан-
ных и очередью передачи пакетов данных на основании приоритетов узлов, показало уменьшение задержек при передаче и доли потерь высокопри-
оритетных пакетов данных, повышение скорости получения пакетов данных центральным узлом с узлов сети.
СПИСОК ЛИТЕРАТУРЫ
1. Hart J., Martinez K. Environmental Sensor Networks: A revolution in the earth system science? // Earth-Science Reviews. - 2006. -№78. - P. 177-191.
2. Ададуров С.Е., Шабельников В.А. Интеллектуальная система мониторинга искусственных сооружений // Мир транспорта. - 2009. - № 3. - С. 32-37.
3. Szewczyk R., Mainwaring A., Polastre J., Anderson J., Culler D. An analysis of a large scale habitat monitoring application // Proceedings of the 2nd International conference on Embedded Networked Sensor Systems. - Baltimore, MD, USA, 2004. - P. 214-226.
4. Parker J.R. Multiple sensors, voting methods and target value analysis // Proceedings of VI SPIE Conference on Signal Processing, Sensor Fusion and Target Recognition. - Orlando, Florida, USA, 1999. - P. 305-335.
5. Levis P., Madden S., Gay D., Polastre J., Szewczyk R., Woo A., Brewer E., Culler D. The emergence of networking abstractions and techniques in TinyOS // Proceedings of NSDI. - San Francisco, CA, USA, 2004 - P. 1-14.
6. The network simulator // The Network Simulator. 2011. URL: http://nsnam.isi.edu/nsnam/index.php/Main_Page (дата обращения: 21.10.2012).
7. Levis P., Lee N. TOSSIM: Accurate and Scalable Simulation of Entire TinyOS Applications // Proceedings of the First ACM Conference on Embedded Networked Sensor Systems. - Los Angeles, CA, USA, 2003. - P. 126-137.
8. Сергиевский М.В., Сыроежкин С.Н. Беспроводные сенсорные сети: эмуляция работы // КомпьютерПресс. - 2008. - № 11. -С. 140-142.
9. Shao Tao, Chan M.C., Muravyov S.V., Tarakanov E.V. Pritrans: A Prioritized Converge-cast Scheme using Consensus Ranking in Wireless Sensor Networks // Proceedings of SAS-2010. - Limerick, Ireland, 2010. - P. 251-256.
10. Муравьев С.В., Тараканов Е.В. Передача данных в беспроводных сенсорных сетях с приоритетами на основе агрегирования предпочтений // Известия Томского Политехнического университета. - 2012. - Т. 320 - № 5. - C. 111-116.
11. Chen D., Varshney P.K. QoS Support in Wireless Sensor Networks: A Survey // Proceedings of the International Conference on Wireless Sensor Networks. - Las Vegas, Nevada, USA, 2004. - P. 227-233.
Поступила 22.10.2012 г.