К концу 2018 года самой распространенной версией протокола является Zigbee PRO 2015 Specification, являющаяся его 21-й редакцией, а потому ее часто еще называют R21 stack. Сама эта спецификация фактически является корневой технологией для более общего набора спецификаций ZigBee 3.0, включающего, кроме прочего, и такие расширения протокола как: ZigBee RF4CE и ZigBee Green Power. В верхней части рассматриваемого стека протоколов раполагается ZigBee Cluster Library, переименованная теперь в dotdot, определяющая форматы данных и команд на уровне приложения, а также профили приложений, которые позволяют правильно группировать и интерпретировать эти команды ZigBee-устройствами. Нижние «этажи» стека — физический уровень (Physical Layer — PHY) и подуровень управления доступом к среде (Media Access Layer — MAC), обеспечивает стандарт IEEE 802.15.4 в его редакции IEEE 802.15.4-2011, которая, к слову, не является последней действующей редакцией этого стандарта и в более свежей версии Zigbee PRO 2017 Specification уже заменена на IEEE 802.15.4-2015.
Выше уже сказано, что ZigBee имеет ряд расширений, некоторые из которых правильнее будет называть ответвлениями: в 2009 году был представлен стандарт ZigBee RF4CE (сокращение от Radio Frequency for Consumer Electronics), а в 2013 году свет увидел ZigBee IP. Первый протокол создан для дистанционного управления бытовой техникой, такой как телевизоры и музыкальные центры — пульты с поддержкой ZigBee RF4CE передают данные по радиоканалу, а потому они предоставляют больше возможностей, чем традиционные ИК-пульты. ZigBee IP — разработка, позволяющая развернуть сеть 6LoWPAN с использованием маломощных устройств, работающих по стандарту IEEE 802.15.4.
Сети ZigBee могут иметь разную топологию: в простейшем случае — это звездная топология (Star Network), для большой сети — дерево кластеров (Cluster Tree Network). Но на момент появления главным козырем ZigBee была поддержка ячеистой топологии сети (Mesh Network). На практике это означает, что устройства могут передавать сигналы «по цепочке», от одного к другому, пока пакет данных не достигнет цели. Это существенно повышает отказоустойчивость системы и увеличивает возможную зону покрытия. Следует заметить, что не любые ZigBee-устройства могут выступать в качестве промежуточного звена.
Устройства внутри сети ZigBee могут играть одну из трех ролей:
- координаторы (ZigBee Coordinator — ZC),
-
маршрутизаторы или роутеры (ZigBee Router — ZR),
- конечные устройства (ZigBee End Device — ZED).
Эти роли имеют прямую привязку к ролям устройств, определяемых стандартом IEEE 802.15.4: координатор, координатор PAN и конечное устройство. IEEE 802.15.4 устанавливает, что любое полнофункциональное устройство (FFD) может быть сконфигурировано для выполнения любой из названных ролей. В терминологии ZigBee «координатор PAN» становится просто «координатором» (ZigBee Coordinator — ZC), а термин «координатор» заменяется на «маршрутизатор» (ZigBee Router — ZR).
Координатор — обязательный компонент любой сети. Он формирует древо сети, хранит ключи безопасности и, зачастую, выступает в роли «окна» во внешний мир. Это наиболее дорогой тип устройств (обязательно FFD), так как он должен содержать всю информацию о сетевых соединениях, иметь большой объем памяти и высокую производительность.
Маршрутизаторы — это гаджеты (FFD устройства с полной функциональностью), которые не только выполняют свою базовую функцию, но и занимаются передачей сигнала «по цепи», выполня функции моста, маршрутизатора или шлюза для связи с другими сетями.
Конечные устройства (ZED) — наиболее примитивные устройства, которыми могут быть как FFD, так и RFD устройства с ограниченной функциональностью, обеспечивающие минимальный набор функций, что позволяет производителю экономить на комплектующих (в частности, памяти микроконтроллера). В эту категорию попадают различные пульты и датчики. Они могут общаться с координатором или маршрутизатором, но передавать пакеты от одного компонента к другому им не под силу. Большую часть времени ZED бездействуют, а потому их энергопотребление крайне мало. Очень часто питаются они от батареи.
ZigBee использует 16-битную адресацию, то есть один координатор, теоретически, может включить в свою сеть более 65 000 устройств. Вместе с тем, создателями предусмотрена возможность одновременного использования нескольких сетей. В отеле Aria в Лас-Вегасе, еще в 2014 году был реализован проект, в рамках которого в 4300 комнатах размещалось около 70 000 устройств с поддержкой ZigBee, и они неплохо уживаются друг с другом. Так что владельцам частных домов об ограничении на количество устройств можно вообще не задумываться.
Сама спецификация ZigBee PRO охватывает только два уровня стека по модели OSI: сетевой уровень (NWK) и частично — уровень приложений (APL). На этих же уровнях реализована схема шифрования по алгоритму AES-128, обеспечивающая безопасность сетевых коммуникаций. Нижние уровни стека протокола, как уже отмечалось, поддерживаются приемопередатчиками, работающими по стандарту IEEE 802.15.4.
Самый верхний уровень стека протокола обеспечивается библиотекой ZigBee Cluster Library (ZCL) и специальным настроечным профилем ZigBee Device Profile (ZDP). Сами профили представляют из себя совокупность настроек программного обеспечения узлов сети, обеспечивающая их совместную работу. Спецификация профиля определяет такие параметры, как способы задания идентификационных параметров сети, режимы образования сети, способы защиты данных, используемый поднабор кластеров, который включает кластеры из разных функциональных групп библиотеки ZigBee Cluster Library (ZCL).
Спецификация Zigbee PRO 2017
В 2017 году спецификация Zigbee PRO была обновлена с учетом развития стандарта IEEE 802.15.4 и выхода спецификации IEEE 802.15.4-2015, а также для удовлетворения потребностей, которые выявились в процессе реализации ряда крупных проектов в Европе (в частности, в Великобрании). Главным нововведением этой спецификации стала возможность использования устройствами ZigBee одновременно нескольких каналов связи в разных частотных диапазонах — один канал из диапазона 2,4 ГГц, а другой их субгигагерцевого диапазона 800-900 МГц.
Связь сразу в двух довольно сильно отличающихся по физическим свойствам диапазонах частот позволяет преодолеть многие проблемы, возникающие при использовании ZigBee устройств в крайне сложном, насыщенном другими излучающими устройствами, индустриальном окружении, где требуется и высокая помехозащищенность, и способность проникать сквозь самые сложные преграды, какие имеются в современном мегаполисе.
Дополнительные возможности, благодаря новой спецификации, возникли и в части еще большей экономии энергии, повышении дальности связи и снижении эксплуатационных расходов при развертывании сетей ZigBee самого разного масштаба.