LoRa (“largo alcance”) es una excelente solución de comunicación inalámbrica sin capacidades de red. Es una tecnología de conectividad inalámbrica confiable, de bajo consumo, protegida criptográficamente y de bajo costo. Y como su nombre indica, ofrece un alcance extremadamente largo.
LoRa opera en la capa física de un modelo OSI y se implementa a nivel de chip, excluyendo el protocolo de administración de red. Esto se ha convertido en una ventaja ya que los ingenieros de sistemas pueden implementar protocolos de capa de red y enlace de datos sobre la modulación LoRa y de acuerdo con los requisitos de una aplicación específica.
En Europa, la mayoría de las redes LoRa están configuradas por usted mismo. Además de las redes personalizadas, la solución de red ideal para una red LoRa es LoRaWAN.
LoRaWAN es un protocolo LPWAN abierto diseñado para operar con modulación LoRa, agregando enlaces de datos y protocolos de capa de red. El protocolo es responsable de configurar los dispositivos finales y gestionar la comunicación de datos punto a punto.
Este artículo analizará cómo se configuran los dispositivos en una red LoRa y cómo LoRaWAN los conecta a Internet. Para obtener una introducción a estas tecnologías, lea primero ¿Qué es LoRa y LoRaWAN? .
Elementos de la red LoRaWAN
Hay cinco componentes básicos de una red LoRaWAN que están conectados en una topología de estrella de estrellas:
1. Los dispositivos finales son sensores, actuadores o ambos. Contienen un chip para modulación LoRa RF y se comunican de forma inalámbrica mediante tecnología LoRa. La mayoría funciona con batería como parte de una red IoT y se conecta a la red LoRaWAN a través de puertas de enlace. Los dispositivos finales siguen un protocolo de acceso aleatorio, ALOHA, y pueden acceder a la red a través de una o más puertas de enlace cercanas dentro del alcance.
2. Las entradas son dispositivos responsables de reenviar mensajes hacia y desde dispositivos finales a un servidor de red. El gateway cuenta con un backbone IP que es celular (3G/4G/5G), fibra óptica, Ethernet, Wi-Fi o radioenlace de 2,4 GHz, que se conecta al servidor. Cada puerta de enlace está registrada con un servidor de red LoRaWAN.
Cuando un dispositivo final transmite un mensaje de enlace ascendente, lo reciben todas las puertas de enlace cercanas dentro de su alcance. El mensaje se reenvía al servidor de red, donde se aísla mediante deduplicación. Esta arquitectura de red de dispositivos finales y puertas de enlace garantiza la precisión de los paquetes de enlace ascendente y sirve como localización de bajo costo. Cuando la puerta de enlace recibe un paquete de enlace descendente para entregarlo a un dispositivo final, la carga útil se transmite sin interrupción.
Las puertas de enlace operan en la capa física del modelo OSI y sirven como reenviadores de mensajes LoRa RF. Las puertas de enlace se clasifican en términos generales en puertas de enlace internas y externas. Las puertas de enlace internas de ocho o 16 canales no tienen antena y, por lo tanto, tienen una sensibilidad y un alcance de receptor más bajos que las puertas de enlace externas. Las puertas de enlace interiores son ideales para edificios de varios pisos y ubicaciones interiores profundas.
Las puertas de enlace exteriores de 64 canales tienen una alta sensibilidad de recepción y un largo alcance. Por lo general, se conectan a una antena con un cable coaxial, por lo que son ideales para torres de telefonía móvil al aire libre o edificios altos.
3. El servidor de red es el software del lado del servidor para la gestión de la red LoRa, que gestiona la comunicación de datos entre los dispositivos finales (conectados al servidor de red a través de puertas de enlace) y el servidor de aplicaciones. Este servidor autentica los dispositivos finales, deduplica los mensajes de enlace ascendente, cifra los mensajes de enlace ascendente y descendente entre los dispositivos finales y los servidores de aplicaciones y confirma los mensajes de enlace ascendente.
Además, es responsable de direccionar dispositivos en la red LoRa a través de comandos ADR, enrutando mensajes de enlace descendente a dispositivos finales a través de puertas de enlace apropiadas. El servidor de red es el único servidor que reenvía mensajes de solicitud de membresía y de aceptación de membresía entre los dispositivos finales y el servidor de membresía.
4. El servidor de aplicaciones es el software del lado del servidor responsable de ejecutar la aplicación principal y proporcionar una solución empresarial basada en la nube. Puede haber varios servidores de aplicaciones conectados a un servidor de red, cada uno de los cuales ejecuta una aplicación específica del lado del servidor. Los servidores de aplicaciones reciben mensajes de datos de enlace ascendente específicos de la aplicación desde dispositivos finales a través del servidor de red, procesan datos de la aplicación y devuelven resultados como cargas útiles de enlace descendente de la capa de aplicación.
5. Connect to Server es el software del lado del servidor responsable de procesar los mensajes de solicitud de membresía y aceptación de membresía entre los dispositivos finales y el servidor de aplicaciones. Los servidores de unión se introdujeron con LoRaWAN v.1.1 para que la arquitectura LoRa habilite OTAA. Los dispositivos finales requieren activación a través de claves de sesión de aplicación y red. El servidor de unión procesa mensajes de solicitud de unión, genera claves de sesión de aplicación, transfiere claves de red y de aplicación al servidor de red y al servidor de aplicaciones, y permite la activación del dispositivo final.
Los dispositivos finales conectados a una red LoRa se activan de dos maneras: activación mediante personalización (ABP) y activación inalámbrica (OTAA). ABP proporciona dispositivos finales codificados con claves para configurar y unirse a una red LoRa. Sin embargo, tiene problemas de seguridad y no tiene funciones para actualizaciones en línea.
Clases de dispositivos LoRaWAN
Los dispositivos finales tienen tres tipos de implementaciones LoRaWAN (Clase A, B y C), denominadas clases de dispositivo. Todos los dispositivos finales LoRaWAN tienen implementación de Clase A. Pueden tener o no implementaciones de Clase B o Clase C.
Las tres implementaciones de LoRaWAN difieren en cómo el dispositivo recibe las cargas útiles del enlace descendente y cuánto tiempo permanece activo.
La clase A se implementa en todos los dispositivos finales LoRaWAN. Los dispositivos exclusivos de Clase A están en su mayoría en modo de suspensión y solo se comunican con el servidor de aplicaciones de forma intermitente.
El dispositivo puede enviar un mensaje de datos de enlace ascendente al servidor de aplicaciones en cualquier momento. Después de cada transmisión de enlace ascendente, el dispositivo abre dos ventanas de recepción breves para las cargas útiles de enlace descendente del servidor de aplicaciones. El servidor de aplicaciones puede transferir la carga útil del enlace descendente en la primera o en la segunda ventana de recepción del dispositivo final, pero no en ambas.
Si el dispositivo no puede recibir una carga útil de enlace descendente después de una transmisión de enlace ascendente, se iniciará otro enlace descendente después del siguiente enlace ascendente. Los dispositivos finales LoRaWAN Clase A suelen ser sensores para alarmas, monitoreo ambiental o seguimiento de ubicación.
Los dispositivos de clase B tienen una ventana de recepción programada para cargas periódicas de enlace descendente desde el servidor de aplicaciones. Los dispositivos están configurados para abrir ventanas de recepción en respuesta a balizas sincronizadas con el tiempo del servidor de red. También tienen implementación de Clase A y abren dos breves ventanas de recepción después de cada transmisión de enlace ascendente.
Los dispositivos de Clase B están activos de forma intermitente, por lo que tienen una duración de batería más corta y una latencia más baja que los dispositivos de Clase A. A menudo se utilizan para registrar o informar datos de sensores.
Los dispositivos de clase C tienen una ventana de recepción continuamente activa, lo que les permite recibir cargas útiles de enlace descendente sin ningún tipo de latencia. Los dispositivos LoRaWAN tienen comunicación de datos bidireccional semidúplex, por lo que no pueden recibir cargas útiles de enlace descendente cuando transmiten mensajes de enlace ascendente. Se alimentan de la red eléctrica y permanecen en modo activo. Los medidores de servicios públicos que operan válvulas de cierre son un ejemplo de uso de dispositivos.
Activación del dispositivo final
Hay dos activaciones de dispositivos finales en una red LoRaWAN, activación por personalización (ABP) y activación inalámbrica (OTAA). Con LoRaWAN v1.1, OTAA es el método preferido de activación de dispositivos. La activación del dispositivo es un procedimiento paso a paso y está completamente administrada por un servidor de unión en una red LoRa.
tipos de mensajes
Los mensajes comunicados entre los dispositivos finales y el servidor de aplicaciones en una red LoRa contienen datos de aplicaciones y/o comandos MAC. LoraWAN presenta comunicación de datos semidúplex bidireccional entre el servidor de red y los dispositivos finales. Los mensajes se clasifican según la dirección de los datos.
En cuanto a la dirección, se clasifican de la siguiente manera.
- Los dispositivos finales transmiten los mensajes de enlace ascendente al servidor de unión o de aplicaciones. Los mensajes enviados a un servidor de unión normalmente contienen comandos MAC. Los comunicados al servidor de aplicaciones generalmente contienen comandos MAC y/o datos de aplicaciones. El servidor de red recibe los mensajes a través de múltiples puertas de enlace y los enruta a un servidor de unión o de aplicaciones según el tipo de mensaje MAC.
- El servidor de red envía mensajes de enlace descendente a los dispositivos finales. El servidor de red transmite el mensaje a través de una única puerta de enlace para transmitirlo a un dispositivo final.
Tipos de mensajes MAC
Los mensajes en una red LoRa se enrutan a través del servidor de red según el tipo de mensaje MAC. Los siguientes tipos de mensajes MAC están disponibles en las especificaciones LoRaWAN 1.1 y LoRaWAN 1.0.
- Solicitud de unión: un mensaje de enlace ascendente desde un dispositivo final para la activación OTAA.
- Aceptar unión: un mensaje de enlace descendente desde un servidor de unión para la activación OTAA de un dispositivo final.
- Solicitud de reincorporación: un mensaje de enlace ascendente para volver a unirse a la red LoRA desde un dispositivo final. Este tipo de mensaje está reservado en LoRaWAN v1.0, pero disponible en LoRaWAN v1.1.
- Datos no confirmados: un marco de datos de enlace ascendente en el que no se requiere reconocimiento.
- Datos no reconocidos deshabilitados: un marco de datos de enlace descendente en el que no se requiere confirmación.
- Datos reconocidos: una trama de datos de enlace ascendente del dispositivo final mediante la cual se solicita reconocimiento (es decir, reconocimiento del servidor de red).
- Datos confirmados: un marco de datos de enlace descendente del servidor de red donde se solicita confirmación.
- Propietario: un mensaje propietario no estándar.
Seguridad LoRaWAN
El enlace de radio LoraWAN es confiable debido a la modulación chirrido. Además de la modulación tipo FSK, la arquitectura LoRaWAN está diseñada para garantizar que los mensajes se entreguen con la máxima precisión.
Los mensajes de enlace ascendente se comunican a múltiples puertas de enlace y se deduplican en el servidor de red, sin dejar posibilidad de corrupción de datos. La comunicación de red está protegida con claves de seguridad de 128 bits, incluidas NwkSKey, AppSKey y AppKey. El algoritmo AES-128 se utiliza para cifrar mensajes, que es similar al cifrado del estándar WiFi IEEE 802.15.4. Con OTAA habilitado, esencialmente no hay posibilidad de piratería de dispositivos o ataques de intermediario.
Para una identificación única de los dispositivos finales por parte del servidor de aplicaciones, una clave de aplicación AppKey se comparte solo entre el servidor de aplicaciones y los dispositivos finales. También puede haber una clave de aplicación estándar utilizada para la activación de múltiples dispositivos o claves de aplicación personalizadas generadas por dispositivo final. Esta clave se utiliza para generar las claves de sesión de red y aplicación.
Una vez que un dispositivo final se une a la red LoRa, el servidor de red genera dos claves de seguridad: la clave de sesión de red (NwkSKey) y la clave de sesión de la aplicación (AppSKey). Estas claves de sesión solo son aplicables durante una única sesión.
La clave de sesión de red se comparte y se utiliza para autenticar el dispositivo final en el servidor de red. La clave asigna direcciones de dispositivos no únicas a identificadores únicos extendidos de 64 bits DevEUI y AppEUI. Solo el dispositivo final autorizado puede unirse a la red LoRa debido a la clave de sesión de red. El Código de integridad del mensaje (MIC) utiliza la misma clave, que sirve como suma de verificación para validar la integridad del mensaje.
La clave de sesión de la aplicación cifra y descifra las cargas útiles del enlace descendente entre los dispositivos finales y el servidor de aplicaciones. Esta clave es privada y nunca se comparte a través de la red, por lo que solo el dispositivo final autorizado puede transmitir o recibir mensajes con el servidor de aplicaciones.
En la activación OTAA, ambas claves de sesión generan una sesión única por dispositivo. En la activación de ABP, las claves se regeneran solo cuando se cambian explícitamente.
La seguridad de los datos se diversifica aún más con el uso de contadores de fotogramas. Hay contadores de fotogramas para mensajes de enlace ascendente y descendente. Cuando se activa un dispositivo final, ambos contadores de tramas se establecen en 0. Cuando se transmite un mensaje de enlace ascendente, su contador de tramas se actualiza.
Asimismo, el contador de tramas de enlace descendente se actualiza inmediatamente cuando un dispositivo final recibe una carga útil de enlace descendente. Los dispositivos finales y el servidor de aplicaciones ignoran cualquier mensaje que contenga un valor de contador de fotogramas inferior a los contadores de fotogramas actualizados.