Прежде чем продолжить обсуждение основных особенностей сетей ZigBee, хочу сделать небольшую ремарку.
О чем я писал в предыдущая тема и я собираюсь продолжать это, относится к стандарту ZigBee Pro Feature Set 2006, утвержденному в 2007 году.
Эта спецификация уже содержит все основные функции, которые делают сети ZigBee наиболее предпочтительным вариантом при создании сенсорных сетей различного назначения, а именно: 1) самоорганизация и самоисцеление, 2) структурная гибкость – возможность создания сетей различной топологии – звезда, дерево, ячеистая сеть, 3) возможность выбора алгоритмов маршрутизации в зависимости от требований приложения, 4) механизм стандартизации приложений – профили приложений, кластеры, конечные точки, привязки, 5) гибкий механизм безопасности, 6) низкое энергопотребление, 7) простота развертывания, обслуживания и модернизации.
Но это не значит, что жизнь остановилась.
Еще в 2008 году для обеспечения функционирования домашней сети (HAN) на базе IP альянс ZigBee начал работу над расширением своего стандарта — профиля Smart Energy 2.0. Профиль предполагает поддержку любого транспортного уровня на основе IP-совместимых стандартов, включая ZigBee IP и других технологий передачи — как радиочастотных, так и несущих по линии электропередачи (PLC).
Профиль обеспечивает совместимость ZigBee и других сетевых технологий.
Альянс ZigBee разрабатывает сетевой уровень Интернет-протокола (IP) под названием ZigBee IP и основан на технологии 6LoWPAN (IPv6 через беспроводную персональную сеть с низким энергопотреблением).
Общественное обсуждение последней рабочей версии (проект 0.9) профиля Smart Energy 2.0 завершилось 25 августа 2012 года.
Ожидается, что финальная версия будет выпущена в ближайшее время.
Но уже производится множество сетевых устройств с поддержкой ZigBee IP, например:
ZigBee к шлюзу Ethernet
ZigBee-WiFi-Ethernet-шлюз
ZigBee-USB-адаптер/
ZigBee Gateway — интерфейс Ethernet + CSS RTLS
Сравнительно большие габариты устройства объясняются тем, что оно выполнено в пылевлагозащищенном корпусе и имеет встроенный источник бесперебойного питания на 8 часов работы.
Интерфейс Ethernet может быть электрическим или оптическим – опционально.
Более подробная информация здесь: www.rtlsnet.ru/products/product/4 .
Кстати, Smart Energy — далеко не единственное расширение этого быстро развивающегося стандарта; можно найти еще много интересных тем, связанных с сетями ZigBee, а пока «вернёмся к нашим овцам».
Давайте продолжим обсуждение фундаментальных особенностей ZigBee с того места, на котором мы остановились — со стека протоколов.
Повторяю рисунок:
Стек протоколов ZigBee
Стек протоколов ZigBee
Стек протоколов ZigBee имеет четыре уровня: APL – уровень приложений, NWK – сетевой уровень, MAC – уровень доступа к среде и PHY – физический уровень.Как обычно, более высокие протоколы пользуются услугами более низких.
Уровень приложений и сетевой уровень регулируются спецификацией ZigBee, нижние уровни — MAC и PHY — IEEE 802.15.4. Уровень приложения APL включает в себя платформу приложений, объект устройства ZigBee (ZDO) и подуровень поддержки приложений (APS).
Ферма приложений описывает, как создавать профили и определяет стандартные типы данных, дескрипторы, форматы кадров и значения пар ключей, а также включает объекты приложения (их может быть до 240 в устройстве).
Объекты приложения – программные модули, управляющие устройствами ZigBee на конечных точках.
Мы поговорим об этом подробнее, когда будем рассматривать профили приложений, конечные точки, кластеры и привязки.
Объект устройства ZigBee (Объект устройства ZigBee — ZDO) определяет, какую роль устройство играет в сети ZigBee: координатор, маршрутизатор или конечное устройство.
ЗДО инициирует запросы на присоединение и отвечает на них, а также устанавливает защищенную связь между устройствами.
План управления ЗДО (ZDO Management Plane) поддерживает связь ZDO с подуровнями APS и NWK, позволяет ZDO обрабатывать запросы приложений на доступ к сети и обеспечивает безопасность.
Подуровень поддержки приложений (Подуровень поддержки приложений — APS).
Отвечает за предоставление данных приложениям, управляет сетевыми соединениями и сохраняет данные о соединениях в таблице.
Поставщик услуг безопасности Поставщик услуг безопасности (SSP) настраивается объектом устройства и предоставляет механизмы безопасности для уровней шифрования NWK и APS. Сетевой уровень (Сетевой уровень – NWK) обрабатывает сетевые адреса и маршрутизацию вызовов на уровне MAC. Кроме того, NWK запускает сеть, если устройство является координатором; назначает сетевые адреса; добавляет и удаляет сетевые устройства; маршрутизирует сообщения; применяет политику безопасности; ищет маршруты.
Уровень управления доступом к среде передачи (Medium Access Control Layer — MAC) обеспечивает надежную связь с соседями, помогает разрешать коллизии и повышать эффективность.
Уровень отвечает за сборку и разложение пакетов данных.
Физический слой (Физический уровень – PHY) обеспечивает радиоинтерфейс.
Физический уровень включает в себя два уровня, работающих в разных диапазонах частот. Один уровень охватывает диапазоны 868 МГц для Европы и 915 МГц для США и Австралии.
Второй работает на частоте 2,4 ГГц и используется практически во всем мире.
Точки доступа Связь между элементами стека протоколов ZigBee осуществляется через точки доступа к сервису (SAP), как показано на рисунке.
Профиль стека
В профиле стека указаны параметры сети — ее тип (топология), размер, поддерживаемые алгоритмы маршрутизации, сервисы приложений, размеры таблиц маршрутизации и привязок приложений, настройки безопасности и т. д. Профиль стека конкретной сети ZigBee программируется разработчиком сети.(администратор), исходя из специфики приложения.
Например, топология сети определяется тремя параметрами: максимальной глубиной сети (nwkMaxDepth), максимальным количеством каналов дочерних маршрутизаторов (nwkMaxChildren) и максимальным количеством каналов дочерних маршрутизаторов (nwkMaxRouters).
Точная структура сети ZigBee зависит от местоположения устройств и прохождения радиоволн в момент формирования сети и поэтому не может быть однозначно предопределена.
Но упомянутые параметры профиля стека накладывают определенные ограничения на структуру сети.
Например, если в конкретном приложении устройства должны быть физически расположены в линию (вдоль конвейера или опор L-R), то для получения линейной структуры достаточно задать параметры nwkMaxChildren=1 и nwkMaxRouters=1. Значения nwkMaxDepth > 1 и nwkMaxRouters > 0 создадут древовидную структуру, а nwkMaxDepth=1 и nwkMaxRouters=0 создадут звезду.
ячеистая сеть
В ячеистой сети каждый маршрутизатор подключен как минимум к двум другим и может передавать сообщения от своих непосредственных соседей по заданному маршруту.На рисунке 3 показан пример ячеистой сети, состоящей из координатора, пяти маршрутизаторов и трех конечных устройств.
В ячеистой сети каждое устройство может взаимодействовать с любым другим устройством либо напрямую, либо через промежуточные устройства, то есть используя «многопереходную» связь.
Возможность многопрыжкового режима помогает поддерживать живучесть (самовосстановление) сети.
Если устройство выходит из строя, становится недоступным из-за помех или просто перезагружается, пакеты маршрутизируются через оставшиеся устройства.
Ячеистая сеть ZigBee
Маршрутизация в сетях ZigBee
Сети ZigBee используют несколько алгоритмов маршрутизации.Выбор разрешенных алгоритмов программируется в профиле стека в зависимости от назначения сети.
Выбор конкретного алгоритма из числа разрешенных происходит автоматически, в зависимости от состояния сети и текущих условий.
Алгоритм специального вектора расстояния по требованию (AODV) является основным в сетях ZigBee. Поиск маршрута от «источника» (И) до «пункта назначения» (А) в этом случае происходит следующим образом (показано картинками): Шаг 1 – источник отправляет широковещательный запрос «запрос маршрута к А».
Шаг 2 – каждое устройство, которое получает запрос на маршрутизацию, делает запись в своей таблице маршрутизации и передает запрос, включая его запись в полезных данных.
Запись указывает «логическое расстояние» от отправителя запроса до его получателя.
«Логическое расстояние» (LD) учитывает качество связи между отправителем и получателем запроса.
Следующие устройства, получив ретранслируемый запрос, добавляют свою запись в пакет и транслируют его дальше.
«Логическое расстояние» увеличивается с каждым шагом.
Это продолжается до тех пор, пока запрос не достигнет пункта назначения A. В ячеистой сети запрос достигает получателя разными способами.
Очевидно, что записанные в запросах «логические расстояния» оказываются разными.
Шаг 3 – пункт назначения A отправляет ответ устройству, от которого пришел пакет, с минимальным «логическим расстоянием».
Это устройство делает то же самое с пакетом и так далее, пока ответ не дойдет до источника I. Ответ будет возвращен по оптимальному (с минимальным «логическим расстоянием») пути, ранее пройденному запросом.
Шаг 4 – ответ, возвращаясь по оптимальному пути, формирует таблицу прямого маршрута передачи пакетов от источника I к пункту назначения А.
Описанный алгоритм универсален и позволяет выбирать оптимальные маршруты.
Однако его реализация требует значительного объема памяти устройства для хранения таблиц маршрутизации.
Кроме того, поиск маршрутов в обширных сетях требует значительного сетевого трафика.
Поэтому в сетях ZigBee реализован альтернативный алгоритм для экономии памяти.
Алгоритм основан на том, что сетевые адреса в ZigBee распределены иерархически.
Устройства, не имеющие возможностей маршрутизации AODV, а также устройства, исчерпавшие свои возможности маршрутизации, могут использовать иерархическую маршрутизацию, которая менее эффективна, но вполне практична.
Иерархическая маршрутизация При формировании сети ZigBee координатор, а затем подключенные маршрутизаторы назначают дочерним устройствам диапазоны адресов в иерархическом порядке.
В результате каждое устройство может определить, принадлежит ли адрес получателя пересылаемого пакета к одной из его «дочерних» ветвей или находится в другой части сети.
Соответственно, устройство может передать пакет дочернему устройству, диапазон адресов которого включает адрес получателя или «вверх».
В примере на рисунке ниже пакет отправляется источником И в пункт назначения А.
Однако, в отличие от случая, рассмотренного выше, устройству 4 не хватает памяти для таблицы маршрутизации.
Не зная оптимального маршрута к пункту назначения А, устройство 4 использует иерархическую маршрутизацию и отправляет пакет «вверх» устройству 2. Затем пакет отправляется координатору К, который отправляет его в пункт назначения А.
Иерархическая маршрутизация проста и не требует памяти для таблицы маршрутизации.
Это позволяет недорогим устройствам, не хранящим таблицы маршрутизации, участвовать в сети ZigBee. Недостатком этого алгоритма является то, что он удлиняет путь пакета, даже если между источником и пунктом назначения существует прямое соединение.
Иерархическая маршрутизация Маршрутизация к агрегатору (Многие к одному)
Во многих приложениях беспроводной сети имеется устройство-агрегатор, собирающее данные с других сетевых устройств.
Для экономии трафика спецификация ZigBee PRO предусматривает специальный запрос широковещательного маршрута.
Отправленный агрегатором такой запрос позволяет создавать записи в таблицах маршрутизации всех маршрутизаторов сети, получателем которых является агрегатор.
Явная маршрутизация.
При явной маршрутизации весь путь пакета указывается отправителем непосредственно в пакете.
В целях экономии маршрут в пакете может быть указан частично.
Явная маршрутизация позволяет пересылать пакеты через ряд недорогих устройств, которые не хранят таблицы маршрутизации, но уменьшает полезную нагрузку, поэтому длина маршрута явной маршрутизации ограничивается пятью узлами.
Я пока остановлюсь на этом.
В следующей теме я расскажу подробнее о профилях приложений, кластерах, конечных точках, привязках, а также немного о механизмах безопасности.
Теги: #Беспроводные технологии #Сетевые технологии #mesh-сеть #zigbee #IEEE 802.15.4 #IEEE 802.15.4 #сенсорная сеть #ячеистая сеть #стек протоколов #стек протоколов #алгоритм маршрутизации #алгоритм маршрутизации #Smart Energy 2.0
-
Немного О Костылях
19 Oct, 24 -
Экономика Внимания. Введение
19 Oct, 24