Научная статья на тему 'Разработка структуры комплекса имитационного моделирования для проведения сравнительного исследования алгоритмов построения адресного пространства в беспроводных сенсорных сетях стандарта ZigBee'

Разработка структуры комплекса имитационного моделирования для проведения сравнительного исследования алгоритмов построения адресного пространства в беспроводных сенсорных сетях стандарта ZigBee Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
423
81
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шуваев Я. В.

Разрабатывается пакет инструментов для моделирования сенсорных сетей, работающих по стандарту ZigBee [1]. Главной целью создания пакета является его дальнейшее применение при моделировании алгоритмов построения адресного пространства беспроводных сенсорных сетей, таких как схема адресации с распределенным заимствованием (Distributed Borrowing Addressing Scheme, DIBA) [2] и механизм распределенного присваивания адресов (Distributed Address Assigning Mechanism, DAAM).

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка структуры комплекса имитационного моделирования для проведения сравнительного исследования алгоритмов построения адресного пространства в беспроводных сенсорных сетях стандарта ZigBee»

21 декабря 2011 г. 16:55

,'Инфркоммуникдционнр-упрдьл9нче«ие-йА1и,.Р.а£.чвги оптимизация систем связи"

Разработка структуры комплекса имитационного моделирования для проведения сравнительного исследования алгоритмов построения адресного пространства в беспроводных сенсорных сетях стандарта ZIGBEE

Разрабатывается пакет инструментов для моделирования сенсорных сетей, работающих по стандарту ZigBee [1]. Главной целью создания пакета является его дальнейшее применение при моделировании алгоритмов построения адресного пространства беспроводных сенсорных сетей, таких как схема адресации с распределенным заимствованием (Distributed Borrowing Addressing Scheme, DIBA) [2] и механизм распределенного присваивания адресов (Distributed Address Assigning Mechanism, DAAM).

Шуваев Я.В.,

Специалист по ИТ-инфроструктуре «Группа компаний ЛАНИТ», аспирант, [email protected]

Введение

Существуют несколько программных решений для моделирования работы сетей и связанных с ними процессов. К такому типу систем моделирования относятся Network Simulator версий 2,3 [3][4], QualNet Developer [5], ОМ-NeT++ [6] и ряд других. По ряду причин вышеперечисленные продукты не подошли для решения поставленных задач по моделированию алгоритмов построения адресного пространства в беспроводной сенсорной сети, состоящей из устройств, использующих стек протоколов ZigBee в качестве основы своей программной части. Так, пакет моделирования Network Simulator версий 2 и 3 не имеет встроенных функций для создания моделей сенсорных сетей, неофициальные модули не отличаются стабильной работой. Разработка собственного модуля для пакетов NS-2,3 из-за необходимости реализации большого числа ненужных для решения основной задачи моделирования программных интерфейсов представляется неэффективной. QualNet Developer является закрытым коммерческим продуктом, стоимость использования которого даже в исследовательских проектах является значительной. Несмотря на существующий опыт использования OMNeT++ для моделирования сенсорных сетей [7)[8J, было принято решение о разработке узкоспециализированный пакета для проведения моделирования исключительно в областях, связанных с исследованиями работы беспроводных сенсорных сетей.

Стек протоколов ZigBee

Стек протоколов - это набор взаимодействующих между собой сетевых протоколов. Сетевой протокол - набор правил, позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть устройствами. Наиболее распространённой системой классификации сетевых протоколов является модель взаимодействия открытых систем (Open Systems Interconnection - OSI) [9]. В соответствии с моделью OSI протоко-

лы делятся на 7 уровней по своему назначению -от физического (формирование и распознавание электрических или других сигналов)

до прикладного (интерфейс программирования приложений для передачи информации приложениями). По аналогичному принципу строится и стек протоколов ZigBee На рис. 1 приведена схема стека протоколов ZigBee. Снизу вверх идут уровни модели OSI (от физического к прикладному). На нижнем уровне стека ZigBee используется стандарт IEEE 802.15.4 [10] редакции 2003-го года, который определяет физический (Physical Layer - PHY) и канальный (Media Access Control Layer - MAC) уровни.

Рис. 1. Стек протоколов ZigBee

Функционально сетевой уровень ZigBee предоставляет два сервиса другим уровням:

1. Предоставление сервисных интерфейсов прикладному уровню (APL).

2. Взаимодействие с канальным уровнем (MAC).

164

Взаимодействие с прикладным уровнем происходит через два интерфейса сетевого уровня:

• NLDE (Network Layer Data Entity) - модуль обработки данных сетевого уровня. Модуль обеспечивает передачу данных между двумя или более устройствами одной сети, участвует в процессе маршрутизации передаваемых данных, а также выполняет работу по обеспечению аутентичности и конфиденциальности данных при их передаче по сети.

• NLME (Network Layer Management Entity) - модуль управления сетевого уровня. Модуль обеспечивает работу основного набора функций, которые позволяют приложениям прикладного уровня взаимодействовать с другими устройствами по сети.

Остановимся более подробно на модуле управления сетевого уровня (NLME). В список сервисов, которые он предоставляет, входят:

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

2. Организация новой сети - способность создать новую сеть на базе устройства.

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

4. Построения адресного пространства - способность устройства, являющегося координатором или маршрутизатором сети, присваивать адреса новым устройствам, которые присоединяются к сети.

5. Поиск соседей - способность найти, зафиксировать и предоставлять информацию о соседних устройствах, находящихся в радиусе действия устройства.

6. Построение эффективных маршрутов - способность найти и зафиксировать наиболее эффективные с точки зрения передачи данных маршруты внутри сети.

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

8. Маршрутизация сообщений - способность эффективно использовать различные механизмы маршрутизации, такие как юникаст, широковещательные сообщения (броадкаст), мультикаст и «многие к одному» для передачи данных по сети.

Уровень приложений ZigBee состоит из нескольких подуровней:

• Подуровень поддержки приложений (Application Support Sub layer - APS) - выполняет функции интерфейса между сетевым уровнем и уровнем приложений ZigBee. Состоит из набора сервисных точек доступа системы передачи данных (APS Data Entity Service Access Point - APSDE-SAP), по которым ведется трансляция данных в нижние слои и точки доступа управления сетью (APS Management Entity Service Access Point - APSM E-SAP), которая взаимодействует со слоем устройства ZigBee (ZigBee Device Object -

ZDO), связывая между собой устройства в сети и взаимодействует с базой данных устройств.

• Подуровень ZDO в свою очередь определяет роль устройства в сети, тип устройства и команды, которые данное устройство поддерживает.

• Среда выполнения приложений (Application framework) - среда для выполнения приложений от сторонних производителей, контролируемая ZDO. Для приложений, выполняющихся в данной среде предусмотрено 240 сервисных точек доступа APSME-SAP для передачи данных в нижние слои стека протоколов ZigBee.

• Сервис управления безопасностью (Security Service Provider) - модуль, предоставляющий сервисы безопасности для приложений, работающих на устройстве.

Архитектура пакета моделирования

Пакет моделирования разрабатывается на языке программирования Java [10] в среде программирования IntellU Idea 9 CE [11]. Для визуализации результатов моделирования применяется специализированная библиотека визуализации сетей и графов с открытым исходным кодом (Java Universal Network/Graph Framework-JUNG) [12].

Архитектура пакета моделирования базируется на четырех независимых друг от друга модулей:

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

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

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

4. Модуль реализации стека протоколов ZigBee -программная реализация стека протоколов ZigBee, описанного ранее, включая алгоритмическую реализацию механизмов поиска, создания сети, присоединения к сети нового устройства и т.д

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

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

Устройства беспроводной сенсорной сети обмениваются информацией по беспроводному радиоинтерфейсу. Такое взаимодействие возможно только потому.

165

ТЕХНОЛОГИИ ИНФОРМАЦИОННОЮ .ОБЩЕСТВА

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

«Среда», в которой работают устройства в рамках модели, представляет собой своего рода внешнего наблюдателя или диспетчера, который видит сразу все устройства сети, знает характеристики каждого устройства сети (например, радиус действия), а также может, опираясь на свои знания, одновременно управлять любым из устройств, участвовать в передаче сообщений между устройствами. Так как объект «среда», как и окружающая нас реальность, не догадывается о содержимом передаваемых между устройствами сообщений, то он должен работать независимо от данных, передаваемых в сообщении. Единственное, что ему нужно знать -это от кого пришло сообщение и кому оно предназначается, а так как «среда» - понятие в модели всеобъемлющее, то это для него становится не проблемой. В качестве аналогии можно обратиться к примеру с наблюдателем, который находится в трехмерном пространстве и наблюдает за жизнью двумерного мира на листе бумаги. Схема работы объекта «среда» представлена на рис.2.

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

Рис. 2. Схема работы объекта "среда"

Модуль визуализации результатов моделирования - программная часть пакета моделирования, которая отвечает за визуализацию результатов моделирования. Используя библиотеку JUNG можно получить визуальное представление процесса моделирования, а также вывести на экран различ-

ную служебную информацию о параметрах сети. Пример результатов визуализации построенной беспроводной сенсорной сети представлен на рис.З.

01ВА

\ . Число узлов: 274

'4 ФЛ

Рис. 3. Визуализация процесса построения

адресного пространства

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

Модуль реализации стека протоколов ZigBee разделен на три основных уровня: Application Level, Network Level, Mac Level. Основной упор при разработке пакета моделирования был сделан на полноте реализации сетевого уровня, так как именно на этом уровне работают исследуемые алгоритмы построения адресного пространства. Другие уровни изолированы от сетевого и в рамках существующей модели общаются с ним с помощью примитивов, описанных в спецификации протокола ZigBee, через Service Access Points, о которых уже шла речь выше.

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

166

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

На сетевом уровне, как я уже писал выше, сосредоточена основная логика работы стека. МАС-уровень служит для обмена сообщениями с объектом «среда».

Работа модели построена на асинхронном обмене сообщений между устройствами в сети. Устройства автономны и могут параллельно обрабатывать входящие сообщения, которые они получают из «среды», а также могут асинхронно отправлять сообщения другим устройствам, сообщения при этом могут быть разных типов: мультикаст, юникаст, броадкаст. Работа внутри устройства построена на синхронном обмене сообщений внутри стенка протоколов. В рамках спецификации ZigBee такие сообщения называются примитивами.

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

Заключение

Разбиение модулей на независимые друг от друга блоки позволяет добиться универсальности при разработке и повторном использовании системы во время проведения исследований. Каждый блок является заменяемым, при этом другие блоки переписывать не нужно. В любой момент можно поменять модуль визуализации данных, можно поменять программу виртуального устройства без изменения модуля имитационного моделирования и стека протоколов. Выбранный подход позволяет использовать базовый набор элементов ядра пакета имитационного моделирования для максимально удобного проведения сравнительных исследований. Меняя блоки с исследуемыми алгоритмами внутри реализации стека протоколов ZigBee, и оставляя ядро без

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

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

Литература

1. ZigBee Alliance, ZigBee Specification Document, no. 0534rl 7, Jan. 2008.

2. Park S., Ryu JH., Joo S. and Kim H.S., Distributed Borrowing Addressing Scheme for ZigBee/IEEE 802.15.4 Wireless Sensor Networks / S. Park, J.H. Ryu, S. Joo and H.S. Kim // ETRI, vol. 31, no. 5, 527-528, Oct. 2009.

3. Network Simulator 2, URL http://www.isi.edu/nsnam/ns/ (дата обращения: 23.10.2010).

4. Network Simulator 3, URL http://www.nsnam.org/ (дата обращения: 23.10.2010).

5. QualNet Developer, URL hip://www.scalable-networks.com/products/qualnel/ (дата обращения: 23.10.2010).

6. OMNeT++, URL hltp://www.omne£p.org/ (дата обращения: 23.10.2010).

7. Mallanda C., Sun A., Kunchakarra V., Iyengar S.S., Kan-nan R. and A. Durresi, Simulating Wireless Sensor Networks with OM-NeT++, / URL http://bi.csc.lsu.edu/sensor_web/final_papers/ Sen-sorSmulator-IEEE-Compulers.pdf (дата обращения: 23.10.2010).

8. Yang ТА, Applying image processing techniques to simulate a selforganized sensor network for tracking objects, / URL hltp://sce.uhcl.edu/transa/ (дата обращения: 23.10.2010).

9. Open Systems Interconnection - Basic Reference Model: The Basic Model, // ISO, URL http://slandards.iso.org/ittf/ PubfcdyAvai-ableS»andards/s020269JSOJEC_7498-1 _1994(E).zip (дата обращения 23.10.2010).

10. IEEE Sid 802.15.4™-2003, Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for low-Rate Wireless Personal Area Networks (IR-WPANs), / URL http://standards.ieee.org/ gefieee802/download/802.15.4-2003pdf (дата обращения

23.10.2010).

11. Oracle Java, URL hlp://www.java.com/ (дата обращения

23.10.2010).

12. Jetbrains IntellÜ Idea 9 Community Edition, URL hltp://www. jetbrains.com/idea/ (дата обращения 23.10.2010).

13. Java Universal Network/Groph Framework, URL:

hltp://jung.sourceforge.net/ (дата обращения 23.10.2010).

167

i Надоели баннеры? Вы всегда можете отключить рекламу.