Научная статья на тему 'Стек протоколов MiWi для беспроводных сетей'

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

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

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

С появлением дешевых интегральных трансиверов и микроконтроллеров с низким энергопотреблением у многих разработчиков встал вопрос о реализации простых беспроводных сетей для портативных устройств с батарейным питанием. Такие сети применяются во всех направлениях электроники: системы безопасности, «умный дом», телеметрия и сбор данных, промышленная автоматизация и т. д.

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

Текст научной работы на тему «Стек протоколов MiWi для беспроводных сетей»

www.finestreet.ru

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

для беспроводных сетей

Алексей САФРОНОВ

safronov@gamma.spb.ru

С появлением дешевых интегральных трансиверов и микроконтроллеров с низким энергопотреблением у многих разработчиков встал вопрос о реализации простых беспроводных сетей для портативных устройств с батарейным питанием. Такие сети применяются во всех направлениях электроники: системы безопасности, «умный дом», телеметрия и сбор данных, промышленная автоматизация и т. д.

Введение

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

MiWi является простым протоколом беспроводных сетей, ориентированным на низкие скорости передачи данных, небольшие расстояния и низкую стоимость реализации узла. MiWi основан на спецификации IEEE802.15.4 для беспроводных персональных сетей (WPAN) и является достойной альтернативой существующим стекам протоколов для беспроводных сетей. Он ориентирован на сети небольшого размера с ограниченным количеством маршрутизаторов, построенные на трансиверах MCRF24J40 — IEEE 802.15.4-совместимых передатчиках производства Microchip.

В статье рассматриваются основные понятия и принципы функционирования протокола MiWi, особенности спецификации IEEE 802.15.4, принципы построения беспроводных сетей.

Сеть, построенная на основе протокола MiWi, может иметь до 1024 узлов. В ней могут работать до 8 координаторов, каждый из которых поддерживает до 127 узлов. Существует также ограничение на длину маршрута передаваемого пакета: максимум четыре хопа (прохода через координатор) для конечных узлов и максимум 2 хопа для PAN-координатора.

Если эти ограничения не позволят разработчику применять протокол MiWi, то ему следует обратить свое внимание на реализацию протокола ZigBee (инструкция по применению AN965 «The Microchip Stack for the ZigBee™ Protocol»). Кроме того, разработчик имеет право вносить некоторые изменения в существующую реализацию MiWi. Ограничения на использование и лицензия находятся в документации на стек.

Терминология

При описании протокола MiWi используется два термина, заимствованные из стандартов IEEE.

Кластер — группа узлов, формирующая сеть. В рамках MiWi кластер может иметь 3 уровня иерархии. В верхнем уровне находится главный узел — PAN-координатор.

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

Обзор протокола MiWi

Протокол MiWi базируется на спецификации IEEE 802.15.4 для уровней MAC и PHY и предназначен для построения простых беспроводных сетей диапазона 2,4 ГГц.

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

Уровни PHY и MAC

Как уже было сказано, MiWi базируется на спецификации IEEE 802.15.4 для физического (PHY) и канального (MAC) уровней. В рамках спецификации определено три частотных диапазона с фиксированным количеством каналов для каждого (таблица 1).

Важно понимать, что реальная скорость передачи ниже указанной в таблице 1, так как

Таблица 1. Частотные диапазоны с фиксированным количеством каналов для каждого

Частотный диапазон Количество каналов Скорость передачи, кбит/с

868 МГц 1 20

915 МГц 10 40

2,4 ГГц 16 250

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

Максимальная длина пакета, включая 16-битную контрольную сумму, — 127 байт.

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

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

Типы устройств

Изначально в стандарте IEEE 802.15.4 описано два типа устройств.

Протокол MiWi определяет три типа устройств с различной функциональностью: PAN-координатор, координатор и конечное устройство (табл. 2).

Таблица 2. Типы устройств

Тип устройства Тип IEEE Описание

PAN- координатор Полнофункциональное устройство Один на всю сеть, образующий узел в сети

Координатор Полнофункциональное устройство Необязательный узел, расширяет зону охвата сети и количество узлов

Узел Неполно- функциональное устройство Конечный узел сети, непосредственно источник и приемник информации

Конфигурация сети

В сети MiWi главным узлом всегда является РА^координатор — он является образующим узлом сети.

Топология «звезда»

Сетевая топология «звезда» показана на рис. 1.

В ее состав входит один РА^координатор и одно или несколько оконечных устройств. Весь обмен данными между устройствами ведется только через РА^координатор.

Топология «дерево»

Как уже было сказано, в сети MiWi обязательно есть один РА^координатор, который является главным узлом в сети (рис. 2).

Остальные координаторы обмениваются данными посредством РЛЫ-координатора, а оконечные устройства обмениваются посредством своего координатора. В итоге получается древовидная структура.

Топология «сеть»

Такая структура (рис. 3) очень похожа на «дерево» за некоторым исключением: полнофункциональные устройства (координато-

ры) могут обмениваться информацией друг с другом без участия РА^координатора. Это повышает живучесть сети и снижает задержки доставки сообщений.

Обмен «точка-точка»

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

Сети с множественным доступом Спецификация 1ЕЕЕ 802.15.4 описывает сети с множественным доступом, то есть такие сети, в которых любой узел имеет одинаковый способ доступа к несущей сети в любой момент времени. Для управления использованием несущей используется два механизма: маркерный и немаркерный.

В маркерной сети узлы могут передавать данные по несущей только в строго отведенный момент времени. Периодически РА^ко-ординатор рассылает суперкадр, называемый маркером, по которому синхронизируются все узлы сети. Каждый узел получает свой квант времени на передачу.

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

Адресация

Протокол MiWi использует адресацию в соответствии с 1ЕЕЕ 802.15.4. Используется три составляющих:

1. Расширенный уникальный идентификатор (ЕШ) — 8-байтный глобальный идентификатор; каждое производимое в мире устройство, совместимое со стандартом, должно иметь уникальный ЕШ. Старшие три байта являются идентификатором организации, который выделяет 1ЕЕЕ. Млад-

шие пять байтов пользователь заполняет сам, учитывая уникальность устройств;

2. Идентификатор PAN (PANID) — 16-битный адрес, определяющий группу устройств. Все узлы одной сети имеют один PANID, что и говорит об их принадлежности к конкретной сети;

3. Короткий адрес — адрес устройства, выдаваемый ему при регистрации в текущей сети. Короткий адрес (16 бит) совместно с PANID являются уникальной комбинацией и используются для адресации в конкретной сети. PAN-координатор всегда имеет адрес 0000h.

В сетях MiWi используются короткие 16-битные адреса (рис. 4).

В битах 8-10 указывается номер координатора, уникальный для конкретной сети. Так как под номер координатора отведено 3 бита, это накладывает ограничение на количество координаторов в сети — 8 штук максимум.

В битах 0-6 указывается номер узла. Для координаторов этот номер 0. Пример распределения коротких адресов показан на рис. 5.

Бит 7 (RxOffWhenldle) является инверсным по отношению к описанному в стандарте RxOnWhenldle. Установленный бит говорит о том, что узел отключает свой трансивер при переходе в режим ожидания. Все пакеты, адресованные этому устройству, будут храниться на родительском узле до тех пор, пока узел не проснется и не начнет работать.

Биты 11-15 не используются и всегда заполняются нулями.

Передача сообщений

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

RxOffWhenldle

Резерв Номер координатора Номер узла

Ґ ( > >

0 0 0 0 0 X X X X X X X X X X X

бит 15 бит 0

Рис. 4. Структура короткого адреса

CD-

0100h

^—Ср—©

OOOOh Го200h 0282h

© 0201h

О PAN-координатор

о Координатор

О Полнофункциональное

О Неполнофункциональное

xxxh Короткий адрес

Рис. 5. Распределение коротких адресов

Формат пакета

MiWi использует формат пакетов МАС, описанный стандартом 1ЕЕЕ 802.15.4. Узлы сети используют режим короткой адресации, также определенный в стандарте. На сетевом уровне в пакеты добавляются служебные заголовки протокола MiWi, необходимые для маршрутизации и обработки пакетов (рис. 6):

1. количество разрешенных пересылок (хо-пов);

2. управление кадром;

3. идентификатор РА^приемника;

4. короткий адрес приемника;

5. идентификатор РА^источника;

6. короткий адрес источника;

7. номер посылки;

8. тип пакета (служебные пакеты имеют тип 00Ь, пользовательские пакеты 01Ь...РРЬ);

9. идентификатор пакета.

Маршрутизация

Маршрутизация в беспроводных сетях является сложной задачей. В протоколе MiWi используется обращение к родительским узлам приемника и встроенные механизмы стандарта 1ЕЕЕ.

Построение таблицы маршрутизации

Одной из основных функций алгоритма маршрутизации является трансляция исходящего пакета на нужный координатор.

Для подключения узла к сети MiWi используется стандартная процедура 1ЕЕЕ: новый узел посылает в эфир специальный запрос. В ответ на него все координаторы, которые его слышат, посылают ответ с информацией о своем окружении.

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

В этом ответе используются три дополнительных байта:

1. Идентификатор протокола (1 байт) — для MiWi это 4БЬ.

2. Номер версии (1 байт) — сейчас 10Ь.

3. Локальные координаторы (1 байт) — указывается список координаторов, с которыми конкретный координатор имеет связь. Каждый бит указывает на связь с одним из восьми возможных координаторов. Бит 0 — связь с РА^координатором и т. д.

Это позволяет узлам узнавать все возможные маршруты в сети. Дальнейший обмен по сети происходит в соответствии с алгоритмом (рис. 7).

Широковещательные посылки

Широковещательный пакет пересылается координаторами своим соседям до тех пор, пока счетчик количества разрешенных пересылок не обнулится. При этом такие пакеты не передаются конечным узлам. Бит запроса подтверждения доставки АСК в них должен быть сброшен.

Пакеты

Для передачи данных между узлами протокол MiWi использует специальные пакеты. Всего существует 256 типов пакетов и 256 идентификаторов пакета для каждого типа.

Тип 00Ь зарезервирован для обмена служебной информацией, другие типы доступны пользователю (табл. 3).

Таблица 3. Типы пакетов

Тип пакета Иденти- фикатор Название

0011 101 0РЕМ_СШ8ТЕ^80СКЕ^Е011Е8Т

111 0РЕМ_СШ8ТЕР_80СКЕТ_РЕ8Р0М8Е

121 0РЕМ_Р2Р_80СКЕТ_РЕ0иЕ8Т

131 0РЕМ_Р2Р_80СКЕТ_РЕ8Р0М8Е

201 Е1Л_А00РЕ88_8ЕАРСН_РЕ0иЕ8Т

211 Е1Л_А00РЕ88_8ЕАРСН_РЕ8Р0М8Е

30 АСК_РЕР0РТ_ТУРЕ

011..^ 01 0 Доступно пользователю

Объем передаваемых данных в пакете зависит от его типа.

Работа стека

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

Поиск узла с требуемым БЫ!

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

Для поиска узла с требуемым ЕШ в протоколе MiWi зарезервированы два служебных пакета: ЕШ_АООКЕ88_8ЕАКСН_К^иЕ8Т и ЕШ_АООКЕ88_8ЕАКСН_КЕ8Р(Ж8Е. Механизм поиска ЕШ показан на рис. 8.

Пакет запроса отправляется узлом своему координатору и далее рассылается между координаторами.

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

Сокеты

В протоколе MiWi есть возможность создания двух типов сокетов: кластерный сокет и прямой сокет.

Кластерный сокет

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

© Св>

сю—©

©

ЕШ_АООИЕ88_8ЕАРСН_РЕОиЕ8Т -/фЧ запрос от узла Э

Е1Л_А00РЕ88_8ЕАРСН_РЕ0иЕ8Т — запрос рассылается всеми координаторами

(—> РАМ-координатор О Координатор О Полнофункциональное О Неполнофункциональное О Широковещ. сообщение — Адресная пересылка

© СЮ

сю—©

Еиі_А00І*Е58_8ЕАІ«:Н_РЕС}иЕ8Т -широковещательный запрос

© СЮ

сю—©

Е1Л_АООРЕ88_8ЕА1Ю-1_РЕ8РОМ8Е -ответ пересылается узлу Є

Рис. 8. Механизм поиска БУ!

0РЕМ_С1_и8ТЕР_80СКЕТ_РЕСШЕ8Т -запрос от узла Э

Са>

©

<Ю—© ©

0РЕМ_С1_118ТЕ1*_80СКЕТ_РЕС)иЕ8Т -запрос от узла ¥

СЮЬ

©

т-

©

0РЕМ_С1_118ТЕР_80СКЕТ_1?Е8Р0М8Е -

подтверждение открытия кластерного сокета между узлами ¥ и в, рассылаемое РАМ-координатором

а>

©

СЮ—

©

О РАМ-координатор О Координатор О Полнофункциональное О Неполнофункциональное Адресная пересылка

Рис. 9. Открытие кластерного сокета

СТ) (Ґа\ 0РЕМ-Р2Р-50СКЕТ-КЕ0иЕ5Т_ \Яшироковещательный запрос (2) 0РЕМ_С1_и5ТЕ1?_50СКЕТ_1?Е5Р0М8Е-подтверждение открытия сокета О Р2Р-узел О Широковещ. сообщение Адресная пересылка

Рис. 10. Открытие прямого сокета

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

Такой тип виртуального соединения актуален для сетей со стабильной структурой и использует короткие адреса (рис. 9).

Для открытия кластерного сокета узел (например, по нажатию служебной кнопки) посылает пакет OPEN_CLUSTER_SOCKET_REQUEST РАЫ-координатору сети. По приему такого запроса РА^координатор переходит в режим ожидания аналогичного запроса от другого узла на определенный промежуток времени. Если в течение этого промежутка РА^коор-динатор получает второй запрос, он отсылает ответ OPEN_CLUSTER_SOCKET_RESPONSE обоим узлам, и узлы устанавливают соединение.

Если запрос от второго узла не получен, режим ожидания сбрасывается и ответ не посылается.

Прямой сокет

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

Когда узел собирается открыть прямой сокет, он посылает широковещательный пакет OPEN_P2P_SOCKET_REQUEST, в котором указывает свой глобальный ЕШ. Любой узел, получивший такой пакет и намеревающийся установить соединение, отправляет в ответ пакет OPEN_P2P_SOCKET_RESPONSE со своим ЕШ.

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

Безопасность передаваемых данных

Протокол MiWi поддерживает все семь механизмов безопасности данных уровня МАС, описанных в стандарте 1ЕЕЕ 802.15.4.

Механизмы делятся на три группы:

1. ЛЕБ-СТИ — шифрование данных в пакете. В случае атаки взломщик не сможет получить исходную информацию, не имея ключа. Этот механизм не контролирует целостность пакета и не защищает адрес источника, который передается в открытом виде.

2. ЛЕБ-СВС-МЛС — поддержка целостности пакета. В пакет добавляется поле контроля целостности (МІС), которое защищает пакет, включая заголовок и данные, от модификаций во время пересылок. Размер поля МІС задается при разработке; большой размер увеличивает степень защиты.

3. ЛЕБ-ССМ — совмещает предыдущие механизмы: поддерживает целостность и шифрует содержимое.

Таблица 4. Режимы шифрования

Режим шифрования Механизмы Размер MIC

Идентификатор Название Контроль доступа Шифрование Целостность Свежесть посылки

01h AES-CTR * * * 0

02h AES-CCM-128 * * * * 16

03h AES-CCM-64 * * * * 8

04h AES-CCM-32 * * * * 4

05h AES-CBC-MAC-128 * * 16

06h AES-CBC-MAC-64 * * 8

07h AES-CBC-MAC-32 * * 4

Режимы шифрования указаны в таблице 4.

Любой из механизмов добавляет в заголовок пакета три поля:

• счетчик пакетов;

• полный адрес источника;

• последовательный номер.

В итоге размер пакета увеличивается на 13-29 байт в зависимости от применяемого механизма (рис. 11). Более подробно о меха-

низмах шифрования можно узнать из описания протокола.

Трансивер MRF24J40

Единственным условием использования протокола MiWi в разработках является применение микроконтроллеров и приемопередатчиков производства Microchip. Возможно применение как 8-разрядных (PIC12/PIC16, PIC18), так и 16-разрядных (dsPIC, PIC24) микроконтроллеров.

В качестве приемопередатчика, совместимого со стандартом IEEE 802.15.4, применяется трансивер MRF24J40 — новая разработка Microchip.

Основные особенности микросхемы:

• полное соответствие спецификации IEEE 802.15.4;

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

• возможность реализации MiWi, ZigBee и собственных протоколов;

• диапазон частот: 2,405-2,48 ГГц;

• чувствительность приемника -95 дБм, мощность передатчика 0 дБм (с возможностью программной регулировки);

• встроенный переключатель RX/TX, балансный вход и выход;

• интегрированный малошумящий ГУН, синтезатор и PLL;

• автоматическая калибровка ГУН и цифрового фильтра;

• аппаратная поддержка CSMA-CA, автоматическое квитирование;

• 4-проводной последовательный интерфейс SPI;

• режим пониженного потребления с током 2 мкА;

• низкие токи потребления в рабочих режимах — 22 мА при передаче, 18 мА при приеме;

• аппаратный модуль шифрования AES-128;

• раздельные буферы FIFO приемника и передатчика;

• 40-выводной корпус QFN (6x6 мм). Важными особенностями микросхемы являются минимальное количество внешних элементов и простая топология печатной платы. На рис. 12 показана схема согласования антенны с импедансом 50 Ом, на рис. 13 — пример печатной антенны.

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

Для исследования протокола и начала разработки новых сетевых устройств MiWi Microchip предлагает отладочный комплект DM163027-4. В состав комплекта входит два полнофункциональных узла на основе микроконтроллера PIC18LF4620-I/P и трансивера MRF24J40, а также анализатор беспроводных протоколов Zena.

Вся информация о протоколе, инструкция по применению, исходные коды доступны на сайте компании по адресу http://www. microchip.com/miwi. ■

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