LoRaWNA

Сообщество LoRaWAN

Протокол LoRaWAN, модуляция LoRa, технологии Long Range, LPWAN сети и Интернет вещей (IoT)

IoT

Архитектура LoRaWAN сетей

Протокол LoRaWAN

В январе 2015 года создана некоммерческая организация LoRa Alliance с целью принятия и продвижения протокола LoRaWAN в качестве единого стандарта для глобальных сетей с низким энергопотреблением (LPWAN — от англ. Low Power Wide Area Network). Участниками разных уровней LoRa Alliance являются производители программного обеспечения, микроэлектроники, операторы связи: и т.д. В LoRa Alliance входят такие компании, как: IBM, Semtech, Cisco, Inmarsat, Swisscom и другие.

Когда говорят о технологии LoRa, то чаще всего имеют ввиду и метод модуляции LoRa, разработанный Semtech, и открытый протокол LoRaWAN.

Если модуляция LoRa является, физическим уровнем (OSI media layer 1), то LoRaWAN (Long Range Wide-Area Networks) – это MAC протокол канального уровня (OSI media layer 2) для сетей с множеством узлов с большим радиусом действия и низким собственным потреблением мощности. Сеть LoRaWAN имеет простую архитектуру типа “звезда” (от англ. star) без ретрансляторов и mesh-связей. Узлам сети характерны низкое энергопотребление (до 10 лет работы от обычных батарей АА), невысокая скорость обмена данными, большая дальность связи (15 км в сельской местности и 5км в плотной городской застройке) и низкая стоимость оконечного оборудования.

Протокол LoRaWAN оптимизирован для оконечных устройств, работающих от батарей и включает в себя различные классы узлов, обеспечивая компромисс между скоростью доставки информации и временем работы устройств при использовании питания от батарей (аккумуляторов). Протокол обеспечивает полную двухстороннюю связь, а архитектура, посредством специальных методов шифрования, обеспечивает общую надежность и безопасность всей системы. Архитектура LoRaWAN разрабатывалась с учетом возможности активной работы с мобильными оконечными устройствами (end-node), что является одним из быстрорастущих направлений Интернета вещей (IoT, от англ. Internet of Things).

В типичной LoRaWAN сети шлюзы передают зашифрованные данные, полученные от оконечных устройств (end-node) на центральный сервер сети провайдера (Network Server) и далее на сервер приложений (App Server) сервис-провайдера, с которого данные поступают конечному пользователю.

В LoRaWAN сетях, в отличии например, от Ethernet, шлюзы (от англ. gateway) также называют концентраторами. Оконечные устройства называют конечными узлами (end-node) или просто узлами (node) или точками (point). Сетевой стек LoRaWAN иногда еще называют LoRaMAC, чтобы подчеркнуть, что он работает на втором уровне модели OSI media layer 2 — MAC (от англ. media access control). Именно так — LoRaMAC, назывался стандарт LoRaWAN, когда он разрабатывался только командой Semtech до создания LoRa Alliance.

В настоящий момент существуют две open source реализации стека LoRaWAN: первая разработана SemtechLoRaMAC, а вторая IBM (LoRaWAN in C). Обе реализации используют универсальный HAL драйвер устройств, этот открытый LoRaWAN код портируется для применения в различном оборудовании.

Архитектура LoRaWAN сетей

Архитектура LoRaWAN сетей

LoRaWAN end-node — оконечные устройства

Оконечные устройства LoRa (конечные узлы, end-node) являются элементами LoRaWAN сети системы LoRa, где они выполняют такие функции, как измерение или управление и контроль. Они располагаются удаленно и имеют, как правило, батарейное питание. Используя сетевой протокол LoRaWAN, эти конечные точки (end-node) могут быть настроены для связи с шлюзом LoRa (концентратором или базовой станцией).

Данные в LoRaWAN сети могут передаваться в обе стороны, как от конечных точек (end-node) к серверу, так и обратно. Точки (end-node) передают данные не постоянно, а включают передачу лишь на некоторый промежуток времени (как правило на 1-5 секунд), по окончании которого открывается два временных окна для приема данных. Остальное время трансиверы конечных узлов (end-node) находятся либо в неактивном состоянии (sleep), либо в состоянии приема, в зависимости от класса устройства (A, B или С).

    • Класс A

      Узел (end-node) передает данные на шлюз короткими посылками по заданному графику. Инициатором обмена выступает сам конечный узел (end-node). Точка (end-node), как правило, не требует получения подтверждения своего сообщения приложением (сообщение без квитирования), однако протокол предусматривает и сообщения, на которые сервер приложений формирует специальный ответ, “квитанцию”, а сетевой сервер выбирает лучший маршрут (шлюз) для отправки подтверждения (ACK от англ. acknowledgment — подтверждение) в момент открытия узлом окна приема (сообщение с квитированием). Узел (end-node) переходит в режим приема (открывает окно приема) сразу после отправки данных на некоторое непродолжительное время, в остальное, более продолжительное время, находится в режиме энергосбережения или сна (sleep). Сервер накапливает для точек (end-node) сообщения и пересылает их сразу, как точка (end-node) выходит на связь. Этот класс конечных (end-node) узлов наиболее экономичен в потреблении энергии и наиболее распространен на практике.
 
    • Класс B

      Узел (end-node) включает приемник по графику, заданному сервером. Сервер отправляет сообщения узлу (end-node) согласно расписанию. Инициатором обмена может быть и сервер LoRaWAN сети. Устройства (end-node) этого класса синхронизируют внутреннее время с временем сети с помощью маяков (от англ. beacon), которые регулярно получает от шлюза. Узлы (end-node) этого класса обладают относительно низкой временной задержкой в обмене данными и открывают более широкое временное окно приема, по сравнению с классом B. Точки (end-node) класса B также обладают всеми возможностями устройств (end-node) класса А.
 
  • Класс C

    У точек (end-node) этого класса окно приема открыто постоянно и закрывается только на период кратковременной передачи данных. Сервер может инициировать обмен в любое время, и передать сообщения узлу (end-node) сразу, по мере их появления. Этот класс устройств (end-node) потребляет наибольшее количество энергии (по сравнению с классами A и B), поэтому обычно не использует батарейное питание, но получает данные от сервера LoRaWAN сети с наименьшими задержками (lowest latency). Устройства класса С (end-node) обладают всеми возможностями устройств класса А и B.
 

Точки (end-node) могут производить обмен как с одним, так и с несколькими шлюзами, узлы могут работать в двух режимах: точка-точка (от англ. P2P — point to point), когда обмен происходит между оконечным устройством (end-node) и шлюзом (также вполне реализуем обмен только между двумя узлами (end-node) без использования концентраторов и даже сервера) и в гибридном режиме, когда один из узлов подключен, с одной стороны, по радиоканалу к другим узлам, а с другой стороны, имеет проводное подключение к сети по TCP/IP и выступает в роли шлюза (используя программное обеспечение packet_forwarder). Такой одноканальный мини-шлюз может обслуживать от одного до нескольких десятков оконечных устройств, которые будут конкурировать между собой за свободные тайм слоты (от англ. time slot) мини-шлюза для приема и передачи данных.

Шлюзы (концентраторы) LoRa

Шлюзы LoRa предназначены для использования в радиальных звездообразных сетевых архитектурах большого радиуса действия в системе LoRaWAN. Из-за свойств технологии LoRa эти шлюзы могут представлять собой многоканальные мультимодемные трансиверы, которые способны выполнять демодуляцию сразу нескольких каналов одновременно, и даже одновременную демодуляции множества сигналов на одном и том же канале. Эти шлюзы используют иные радиочастотные компоненты, чем те, которые применяются в конечной точке (end-node) для обеспечения высокой емкости сети. Шлюзы служат в качестве интерфейса в виде прозрачного моста для передачи сообщений между конечными узлами (end-node) и центральным сервером.

Связь между концентраторами и центральным сервером LoRaWAN сети оператора (транспортная backhaul сеть) осуществляется с помощью традиционных технологий (Ethernet, WiFi, GSM) по протоколу TCP/IP.

Если шлюзы подключаются к сетевому серверу через стандартные IP-соединения, то конечные узлы (end-node) используют беспроводное подключение к одному или нескольким шлюзам. Все конечные точки (end-node), как правило, являются двунаправленными, но они также поддерживают и функционирование в режиме, обеспечивающим возможность осуществления группового обновление программного обеспечения по радиоканалу или передачу иных массовых сообщений (Broadcast), что позволяет сократить время на их передачу. В зависимости от желаемой их канальной емкости и мест установки доступны разные версии шлюзов, они могут устанавливаться как внутри помещений (indoor), так и на вышках или зданиях (outdoor).

Узлы (end-node) LoRaWAN сети могут быть в зоне покрытия как одного шлюза так и нескольких. Шлюзом в сетях с высокой плотностью абонентских устройств выступают специальные многоканальные концентраторы, которые имеют возможность принимать данные от нескольких узлов одновременно. Именно эта возможность шлюза напрямую влияет на максимальную плотность абонентских устройств (end-node) на участке местности, обслуживаемой одним концентратором.

Концентраторы на базе Semtech SX1301 обладают возможностью обслуживать до 5 тысяч абонентских устройств на один квадратный километр (на борту 2 чипа SX1257, обеспечивающие двойной RF фронтэнд (от англ. front-end) на 8 независимых каналов, которые могут работать одновременно, и одним транспортным backhaul каналом).

Емкость сети зависит от того числа пакетов, которые могут быть получены в данный момент времени. Один шлюз на SX1301 с 8 каналами, используя протокол LoRaWAN, способен получить около 1,5 млн. пакетов в день. Так что, если ваш узел отправляет один пакет в час, то один шлюз на SX1301 может с успехом обслуживать до 62500 таких конечных устройств.

Сейчас ведется нешуточная борьба среди сторонников различных IoT технологий и в сравнительных таблицах, где каждый нахваливает сам себя, вы увидите различное количество узлов (end-node), обслуживаемых одним шлюзом: от нескольких сотен до миллионов. Такие данные неинформативны и могут ввести читателя в заблуждение, поскольку каждый узел (end-node) может отправлять данные с разной периодичностью, объем данных и скорость передачи могут существенно различаться, поэтому говорить о теоретической емкости сети достаточно сложно и для точных расчетов нужно принимать во внимание множество факторов.

Если емкости сегмента сети недостаточно, то LoRaWAN сеть масштабируется: более высокую плотность узлов(end-node), что достигается путем установки дополнительных шлюзов. При появлении нового шлюза, центральный сервер сети перераспределяет нагрузку, отправляя конечным узлам “новый график” включения режима передачи.

Центральный сервер LoRaWAN сети

Проблему возможных коллизий при одновременной передаче данных несколькими точками решает центральный сервер LoRaWAN сети, который адресно отправляет узлам (end-node) сети управляющие команды через шлюзы, выделяя тайм-слоты для передачи и приема индивидуально для каждой конечной точки (end-node). Адресация происходит по 32-битному DevAddr, уникальному для каждого узла (end-node).

Центральный сервер LoRaWAN сети принимает решения о необходимости изменения скорости передачи данных точками (end-node), мощности передатчика, выборе канала передачи, ее начале и продолжительности по времени, контролирует заряд батарей конечных узлов (end-node), т.е. полностью контролирует всю сеть и управляет каждым абонентским устройством в отдельности.

Каждый LoRaWAN пакет данных, отправляемых конечным узлом, (end-node) имеет в своем составе уникальный идентификатор приложения AppEUI, принадлежащий приложению на сервере сервис-провайдера, для которого он предназначен и этот идентификатор используется центральным сервером LoRaWAN сети для дальнейшей маршрутизации пакета и его обработки приложением на сервере (App Server) сервис-провайдера.

На практике, как правило, услуги сервис-провайдера предоставляет производитель оконечных устройств(end-node), который поддерживает сервис для обработки данных, куда маршрутизируются пакеты с сервера LoRaWAN сети для работы с этими данными конечным пользователям.

Как частный случай, сервер приложений, сервер сети и единственный шлюз сети (в виде одноканального LoRa трансивера) могут быть объединены для построения упрощенной модели сети в лабораторных условиях. Программное обеспечение ядра сетевого сервера свободно не распространяется, но может быть получено после заключения соглашения с Lora Alliance, в общем доступе находится демонстрационная документация.

Устойчивость к радиопомехам

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

Модем LoRa на совмещенном GMSK канале имеет возможность подавления помех до 19,5 дБ (за счет Гауссовой фильтрации) или, говоря другими словами, он может принимать и демодулировать сигналы на 19,5 дБ ниже уровня помех или шумов притом что для правильной демодуляции большинству систем с частотной манипуляцией FSK (от англ. Frequency Shift Keying) нужна мощность сигнала как минимум на 8-10 дБ выше уровня шума.

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

Скорость в LoRaWAN сетях

Адаптивная скорость передачи данных ADR (Adaptive Data Rate) в LoRaWAN сетях

Адаптивная скорость передачи данных ADR (Adaptive Data Rate) в LoRaWAN сетях

LoRaWAN протокол регламентирует скорость радиообмена от 300 бит/с до 50 килобит в секунду, скорость падает с увеличением расстояния между приёмником и передатчиком. Фактически в существующих устройствах, скорость, может не превышать 11 килобит в секунду, что вполне достаточно для решаемых данной технологией задач.

Для Европы (и России, в том числе) доступен один GFSK канал (от англ. Gaussian Frequency-Shift Keying — модуляция в виде частотной манипуляции, при которой используется фильтр Гаусса для сглаживания) передачи информации с потоком данных до 50 кбит/с. В Северной Америке, из-за ограничений, накладываемых FCC (Federal Communications Commission — Федеральная Комиссия Электросвязи США), минимальная скорость передачи данных составляет 0,9 кбит/с.

Чтобы продлить срок службы батареи (аккумулятора) в конечном узле (end-node) и оптимизировать общую пропускную способность сети, сетевой сервер LoRaWAN управляет скоростью передачи данных и мощностью радиочастотного выхода каждого конечного устройства (end-node) по отдельности на основании расстояния от шлюза. Управление осуществляется с помощью алгоритма адаптивной скорости передачи данных ADR (от англ. Adaptive Data Rate). Это имеет решающее значение для высокой производительности сети и позволяет осуществлять ее необходимую масштабируемость.

Адаптивная скорость передачи данных ADR (Adaptive Data Rate) представляет собой метод, при котором фактическая скорость передачи данных регулируется таким образом, чтобы обеспечить надежную доставку пакетов, обеспечить оптимальную производительность сети и необходимый масштаб для ее загрузки. Так, например, узлы (end-node) более близкие к шлюзу будут использовать и более высокую скорость передачи данных (а, следовательно, более короткое время активной передачи по радиоканалу) и меньшую выходную мощность. Только самые удаленные точки (end-node) будут использовать низкую скорость передачи данных и высокую выходную мощность передатчика. Технология адаптивной скорости передачи данных ADR может внести необходимые изменения в сетевую инфраструктуру и, таким образом, компенсировать различные потери на трассе передачи сигнала.

LoRaWAN сеть может быть развернута с минимальными инвестициями в инфраструктуру и с той ее емкостью, которая конкретно необходима для данного применения. Если развернуто много шлюзов, то технология ADR будет смещать скорость передачи данных в сторону повышения, что обеспечит масштабирование емкости сети в пределах от 6 до 8 раз.

Протокол LoRaWAN определяет конкретный набор скоростей передачи данных, но оконечный чип или так называемый физический слой (PHY, OSI media layer 1), то есть сама интегральная схема, предназначенная для выполнения функций физического уровня сетевой модели OSI, способна дать больше вариантов. Например, Semtech SX1272 поддерживает скорости передачи данных от 0,3 до 37,5 кбит/с, а SX1276 от 0,018 до 37,5 кбит/с.

Безопасность в LoRaWAN сетях

Для защиты от несанкционированного доступа и искажения либо перехвата данных, передаваемых оконечными устройствами (end-node), в LoRaWAN сетях стандартом предусмотрено обязательное двухуровневое шифрование данных двумя разными AES-128 ключами по RFC-4493.

Обеспечивается полная конфиденциальность данных при прохождении всех задействованных в цепочке устройств, поэтому содержимое пакета доступно только отправителю (конечной точке) и получателю, для которого оно предназначено, т.е. приложению сервис-провайдера. Сервер сети оперирует данными в зашифрованном виде, производит аутентификацию и проверяет целостность каждого пакета, но при этом не имеет доступа к полезной нагрузке (от англ. payload), т.е. к информации от подключенных к узлу сенсоров.

Более подробно о безопасности в LoRaWAN сетях читайте в наших следующих материалах.

Автор: Виктор Бруцкий, 4refr0nt@gmail.com

Обсуждение этой статьи на нашем форуме

Теги: , ,