Спецификация протокола ZigBee IP впервые была опубликована ZigBee Alliance в марте 2013 года. Первоначально этот протокол назывался 920IP и разрабатывался консорциумом ECHONET по заказу японского Министерства внутренних дел и связи (Ministry of Internal Affairs and Communications), которое планировало организацию на его основе внутридомовых беспроводных сетей (Home Area Networks —HANs), работающих на частоте 920 МГц по протоколу ECHONET Lite. Такие сети должны были стать основой архитектуры домашних систем управления энергопотреблением (Home Energy Management Systems — HEMS), котрые начали активно разрабатываться и внедряться в Японии в начале 2010-х годов. После включения нового протокола в состав спецификаций ZigBee Alliance он и получил свое текущее название ZigBee IP, а на его основе был построен альтернативный стек ZigBee, обеспечивающий работу как для упомянутого выше протокола ECHONET Lite, так и для нового верхнеуровневого протокола ZigBee Smart Energy 2.0 (ZSE 2.0), предназначенного для управления энергопотреблением и энергосбепежением в системах класса HEMS.
Основное отличие протокола ZigBee IP состоит в использовании в качестве сетевого транспорта IPv6-протокола 6LoWPAN. То есть на сетевом уровне действует IPv6-адресация и маршрутизация, а все устройства в сети получают IPv6-адрес и могут без каких-то преобразований адреса напрямую взаимодействовать через любые IP-сети в масштабах всего Интернета, используя стандартный TCP/IP стек.
Стек протокола ZigBee IP
Стек протоколов ZigBee IP и ZigBee Smart Energy 2.0 включает следующие составляющие:
- Физический уровень (Physical Layer — PHY) и подуровень управления доступом к среде (Media Access Layer — MAC) аналогичны стеку протокола ZigBee Pro и обеспечиваются стандартом IEEE 802.15.4.
- Сетевой уровень (Network Layer — NWK) содержит несколько подуровней:
- Специальный адаптационный подуровень (adaptation sublayer), реализованный по стандарту 6LoWPAN (IPv6 over Low power Wireless Personal Area Networks) позволяет организовать взаимодействие по протоколу IPv6 поверх маломощных беспроводных персональных сетей стандарта IEEE 802.15.4.
- Для маршрутизации в сети 6LoWPAN используется протокол RPL (Routing Protocol over Low Power and Lossy Network) (ранее назывался RoLL — Routing over Low-power and Lossy networks).
- Оптимизированный для использования в беспроводных сетях протокол IPv6 совместно с протоколом межсетевых управляющих сообщений ICMPv6 (Internet Control Message Protocol) обеспечивают доставку пакетов данных между любыми узлами сети через произвольное число промежуточных узлов.
- На транспортном уровне (Transport Layer) используются протоколы TCP (Transmission Control Protocol) или UDP (User Datagram Protocol), поверх которых работают, в том числе, такие сервисы как mDNS и DNS-SD.
- Для обеспечения безопасности на уровне приложения (Application Layer — APL) используются протоколы PANA (Protocol for Carrying Authentication for Network Access) и TLS v1.2 (Transport Layer Security) и EAP-TLS (Extensible Authentication Protocol Transport Layer Security) с механизмом авторизации на основе криптографии ECC (Elliptic-Curve Cryptography), а передача данных осуществляется по протоколу HTTP (HyperText Transfer Protocol) в формате EXI (Efficient XML Interchange).
- Профиль приложения ZigBee — Smart Energy Profile 2.0 (SEP 2.0) через обращения к HTTP-сервисам обеспечивает функционирование устройств в соответствии с протоколом ZSE 2.0.
В сетях ZigBee IP для установления, удержания и разрыва связей между соседними узлами ячеистой сети используется протокол MLE (Mesh Link Establishment), использующий в качестве транспорта датаграммы UDP. Этот протокол позволяет не только управлять связями, но и определять, какие узлы являются ближайшими, оценивать качество радиоканалов и разные маршруты, подходящие для пересылки данных между узлами.
Топология и типы устройств в сетях ZigBee IP
Сети ZigBee IP строятся по ячеистой топологии. Адресация в таких сетях осуществляется по уникальному 128-битному IPv6-адресу, который есть у каждого узла. В сетях ZigBee IP могут функционировать только устройства, работающие на основе именно этого протокола, то есть они не совместимы с устройствами ZigBee Pro.
Сети ZigBee IP могут включать следующие типы устройств:
- Координатор (ZigBee IP Coordinator),
- Маршрутизаторы (ZigBee IP Routers),
- Хосты (ZigBee IP Hosts).
Координатор управляет созданием сети и ее безопасностью. Маршрутизаторы увеличивают охват различных устройств сетью. Хосты выполняют специфические функции датчиков и других конечных устройств.
Производители устройств могут совмещать в одном устройстве разные функции. То есть, например, умный термостат может быть сконфигурирован как координатор, выполняющий функции управления всей сетью, или как маршрутизатор, который отвечает за правильную передачу пакетов другим устройствам. Более простые устройства, такие как датчики температуры или влажности, могут быть только хостами, выполняющими роль конечных устройств. Поскольку все устройства в сети имеют свой IPv6-адрес, с ними возможно прямое взаимодействие из внешних сетей. То есть, например, снимать показания с датчиков или отправлять управляющие команды устройствам в сети может не только локальный контроллер или другое устройство в рамках домашней сети, но и любой удаленный ПК с другого конца света, если такое прямое взаимодействие необходимо. Единственным условием является наличие пограничного маршрутизатора (шлюза), который обеспечивает передачу пакетов в/из внешних сетей.