Сетевая инфраструктура систем РТЛС

в 2:36, , рубрики: IEEE 802.15.4, mesh сеть, zigbee, алгоритм маршрутизации, Беспроводные технологии, интерфейсы, сенсорная сеть, Сетевые технологии, стек протоколов, ячеистая сеть, метки: , , , , , ,

Прежде чем продолжить обсуждение основных черт сетей ZigBee хочу вставить небольшую ремарку.
То, о чем я писал в предыдущем топике (http://habrahabr.ru/post/155037/ ) и собираюсь продолжить в этом, относится к утвержденному в 2007 году стандарту ZigBee® Pro Feature Set 2006. Эта спецификация уже содержит все основные черты, делающие сети ZigBee наиболее предпочтительным вариантом при создании сенсорных сетей различного назначения, а именно:
1) самоорганизация и самовосстановление,
2) структурная гибкость – возможность создания разных по топологии сетей – звезда, дерево, ячеистая (mesh) сеть,
3) возможность выбора алгоритмов маршрутизации, в зависимости от требований приложения,
4) механизм стандартизации приложений – профили приложений, кластеры, конечные точки, привязки,
5) гибкий механизм безопасности,
6) низкое энергопотребление,
7) простота развертывания, обслуживания и модернизации.

Но это не значит, что жизнь остановилась.
Еще в 2008 году, чтобы обеспечить функционирование домовой сети (Home Area Network – HAN) на основе IP альянс ZigBee начал работу над расширением своего стандарта – профилем Smart Energy 2.0. Профиль предполагает поддержку любого транспортного уровня на основе IP-совместимых стандартов, включая ZigBee IP и другие технологии передачи – как радиочастотные, так и по силовой электропроводке – Power Line Carier (PLC).

Сетевая инфраструктура систем РТЛС
Профиль обеспечивает взаимодействие между ZigBee и другими сетевыми технологиями. Альянс ZigBee занимается разработкой сетевого уровня Интернет протокола (IP), называемого ZigBee IP и базирующегося на технологии 6LoWPAN (IPv6 по низкоэнергетическим беспроводным персональным сетям). Публичное обсуждение последней рабочей версии (draft 0.9) профиля Smart Energy 2.0 завершилось 25 августа 2012 года. Выход финальной версии ожидается в ближайшее время.
Но уже сейчас выпускается множество сетевых устройств, поддерживающих ZigBee IP, например:

Сетевая инфраструктура систем РТЛС
Шлюз ZigBee – Ethernet

Сетевая инфраструктура систем РТЛС
Шлюз ZigBee – WiFi – Ethernet

Сетевая инфраструктура систем РТЛС
ZigBee – USB Adapter/

Разработкой и выпуском подобных устройств планирует заняться и российское предприятие ООО «РТЛС», имеющее богатый опыт применения ZigBee сетей в системах позиционирования.


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

Сетевая инфраструктура систем РТЛС
Стек протоколов ZigBee

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

Стек протоколов ZigBee предусматривает четыре уровня: APL – уровень приложений, NWK – сетевой уровень, MAC – уровень доступа к среде и PHY – физический уровень. Как обычно, вышестоящие протоколы пользуются услугами нижестоящих.
Уровень приложений и сетевой уровень регламентируются спецификацией ZigBee, нижние уровни – MAC и PHY регламентируются IEEE 802.15.4.

Уровень приложений APL включает Ферму приложений (Application Framework), Объект устройства ZigBee (ZDО) и подуровень поддержки приложений (APS).
Ферма приложений описывает порядок создания профилей и определяет стандартные типы данных, дескрипторы, форматы кадров и значения пар ключей, а также включает объекты приложений (их в устройстве может быть до 240).
Объекты приложений – программные модули, которые управляют устройствами ZigBee в конечных точках. Подробнее об этом поговорим, когда будем рассматривать профили приложений, конечные точки, кластеры и привязки.
Объект устройства ZigBee (ZigBee Device Object – ZDO) определяет, какую роль играет в сети ZigBee устройство: координатора, маршрутизатора или конечного устройства. ZDO
инициирует запросы присоединения и отвечает на них, а также устанавливает безопасную связь между устройствами.
План управления ZDО (ZDО Management Plane) поддерживает связь ZDО с подуровнями APS и NWK, позволяет ZDО обрабатывать запросы приложений на доступ к сети и обеспечивает безопасность.
Подуровень поддержки приложений (Application Support Sublayer – APS). Отвечает за предоставление данных приложениям, управляет сетевыми присоединениями и хранит данные о присоединениях в таблице.
Поставщик услуг безопасности (Security Service Provider – SSP) конфигурируется объектом устройства и обеспечивает механизмы безопасности для использующих шифрование уровней – NWK и APS.

Сетевой уровень (Network Layer – NWK) обрабатывает сетевые адреса и маршрутизацию по вызовам MAC уровня. Кроме того NWK запускает сеть, если устройство – координатор; присваивает сетевые адреса; добавляет и удаляет сетевые устройства; маршрутизирует сообщения; применяет политику безопасности; осуществляет поиск маршрутов.

Уровень управления доступом к среде (Medium Access Control Layer – MAC) обеспечивает надежную связь с соседями, помогает разрешать коллизии и повышать эффективность. Уровень отвечает за ассемблирование и декомпозицию пакетов данных.

Физический уровень (Physical Layer – PHY) обеспечивает радио интерфейс. Физический уровень включает два уровня, работающих в разных частотных диапазонах. Один уровень покрывает диапазоны 868 МГц для Европы и 915 МГц для США и Австралии. Второй работает на частоте 2,4 ГГц и применяется практически во всем мире.

Точки доступа
Связь между элементами стека протоколов ZigBee осуществляется через точки доступа к услугам (service access point – SAP), как показано на рисунке.

Профиль стека

Профиль стека задает параметры сети – ее тип (топологию), размеры, поддерживаемые алгоритмы маршрутизации, службы приложений, размеры таблиц маршрутизации и привязки приложений, параметры безопасности и т.д. Профиль стека конкретной ZigBee сети программируется проектировщиком сети (администратором), исходя из специфики применения.
Например, топология сети определяется тремя параметрами: максимальной глубиной сети (nwkMaxDepth), максимальным количеством дочерних связей маршрутизатора (nwkMaxChildren), и максимальным количеством связей с дочерними маршрутизаторами (nwkMaxRouters). Точная структура сети ZigBee зависит от расположения устройств и прохождения радиоволн в момент формирования сети и поэтому не может быть однозначно предопределена. Но упомянутые параметры профиля стека накладывают на структуру сети определенные ограничения.
Например, если в конкретном приложении устройства должны физически располагаться в линию (вдоль конвейера или опор ЛЭП), достаточно присвоить параметрам значения nwkMaxChildren=1 и nwkMaxRouters=1, чтобы получить линейную структуру. Значения nwkMaxDepth > 1, и nwkMaxRouters > 0 дадут древовидную структуру, а nwkMaxDepth=1 и nwkMaxRouters=0 – звезду.

Ячеистая сеть

В ячеистой (mesh) сети каждый маршрутизатор связан как минимум с двумя другими и может транслировать сообщения непосредственных соседей по заданному маршруту. На рисунке 3 показан пример ячеистой сети, состоящей из координатора, пяти маршрутизаторов и трех конечных устройств.
В ячеистой сети каждое из устройств может связываться с любым другим устройством либо напрямую, либо через промежуточные устройства, то есть с помощью «многошаговой» (multi-hop) связи.
Возможность многошаговой передачи помогает поддерживать живучесть (самовосстановление) сети. Если какое-то устройство отказывает, оказывается недоступным из-за помех или просто перезагружается, пакеты маршрутизируются через оставшиеся устройства.

Сетевая инфраструктура систем РТЛС
Ячеистая сеть ZigBee

Маршрутизация в сетях ZigBee

В сетях ZigBee применяется несколько алгоритмов маршрутизации. Выбор разрешенных алгоритмов программируется в профиле стека, в зависимости от назначения сети. Выбор конкретного алгоритма из числа разрешенных происходит автоматически, в зависимости от состояния сети и текущих условий.
Алгоритм «Ad hoc On Demand Distance Vector» (AODV) является основным в сетях ZigBee. Поиск маршрута от «источник» (И) к «адресату» (А) в этом случае происходит так (проиллюстрировано рисунками):
Шаг 1 – источник оправляет широковещательный «запрос маршрута к А».

Сетевая инфраструктура систем РТЛС
Шаг 2 – каждое устройство, получившее запрос маршрута, вносит запись в свою таблицу маршрутизации и транслирует запрос, включив в полезную нагрузку свою запись. В записи указывается «логическое расстояние» от отправителя запроса до его получателя. «Логическое расстояние» (ЛР) учитывает качество связи между отправителем и получателем запроса. Следующие устройства, получив ретранслированный запрос, добавляют в пакет свою запись и транслируют его дальше. «Логическое расстояние» с каждым шагом увеличивается. Так продолжается пока запрос не дойдет до адресата А. В mesh сети запрос доходит до адресата многими путями. Очевидно, что записанные в запросах «логические расстояния» оказываются различными.

Сетевая инфраструктура систем РТЛС

Шаг 3 – адресат А отправляет ответ устройству, от которого пришел пакет с минимальным «логическим расстоянием». Это устройство поступает с пакетом так же, и так далее, пока ответ не дойдет до источника И. Ответ будет возвращаться по оптимальному (с минимальным «логическим расстоянием») пути, ранее пройденному запросом.

Сетевая инфраструктура систем РТЛС

Шаг 4 – ответ, возвращаясь по оптимальному пути, формирует таблицу прямого маршрута передачи пакетов от источника И до адресата А.

Сетевая инфраструктура систем РТЛС

Описанный алгоритм универсален и позволяет выбирать оптимальные маршруты. Однако для его реализации требуется значительный объем памяти устройств для хранения таблиц маршрутов. Кроме того, для поиска маршрутов в разветвленных сетях необходим значительный сетевой трафик.
Поэтому в ZigBee сетях реализован альтернативный алгоритм, позволяющий экономить память. Алгоритм основан на том, что сетевые адреса в ZigBee распределяются иерархически. Устройства, не наделенные возможностью маршрутизации по алгоритму AODV, и устройства, у которых исчерпаны возможности маршрутизации, могут использовать иерархическую маршрутизацию – менее эффективную, но вполне практичную.

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

Сетевая инфраструктура систем РТЛС

Иерархическая маршрутизация

Маршрутизация к агрегатору (Many to one)
Во многих приложениях беспроводных сетей существует устройство – агрегатор, собирающее данные с остальных сетевых устройств. Для экономии трафика спецификация ZigBee PRO предусматривает специальный широковещательный запрос маршрута. Направленный агрегатором, такой запрос позволяет создать в роутинговых таблицах всех маршрутизаторов сети записи с агрегатором в качестве получателя.

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

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

Автор: Vlek

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js