Ir al contenido

LoRaWAN

De Mexpedia
Archivo:Multitech-Conduit-y-mDot.jpg
Conexión LoRa/LoRaWan con Gateway Multitech Conduit y nodo Multitech mDot (en placa de desarrollo).

LoRaWAN™ es una especificación[1] para redes de baja potencia y área amplia, LPWAN (en inglés, Low Power Wide Area Network),[2] diseñada específicamente para dispositivos de bajo consumo de alimentación, que operan en redes de alcance local, regional, nacionales o globales.

El estándar de red LoRaWAN apunta a requerimientos característicos de Internet de las Cosas, tales como conexiones bidireccionales seguras, bajo consumo de energía, largo alcance de comunicación, bajas velocidades de datos, baja frecuencia de transmisión, movilidad y servicios de localización.[3] Permite la interconexión entre objetos inteligentes sin la necesidad de instalaciones locales complejas, y además otorga amplia libertad de uso al usuario final, al desarrollador y a las empresas que quieran instalar su propia red para Internet de las Cosas.

La arquitectura de red típica, es una red de Redes en Estrella, de forma que la primera estrella está formada por los dispositivos finales y las puertas de enlace, y la segunda estrella está formada por las puertas de enlace y un servidor de red central. En este caso las puertas de enlaces son un puente transparente entre los dispositivos finales y el servidor de red central.

Uno o más dispositivos finales[4] se conectan a una o más puertas de enlace, mediante una conexión inalámbrica de un solo salto, usando tecnología RF LoRa™ o FSK, formando así una red en estrella. Una o más puertas de enlace se conectan al servidor de red central por medio de conexiones IP estándar, formando así una red en estrella.

Las comunicaciones entre los dispositivos y el servidor de red, son generalmente unidireccionales o bidireccionales, pero el estándar también soporta multidifusión, permitiendo la actualización de software en forma inalámbrica, u otras formas de distribución de mensajes en masa.

La comunicación entre dispositivos finales y las puertas de enlace se hacen en diferentes canales de frecuencias y a distintas velocidades de datos. La selección de la velocidad de datos es un compromiso entre la distancia de alcance, y la duración y consumo de energía del mensaje.

Debido a la tecnología de espectro ensanchado (o SS, spread spectrum en inglés), las comunicaciones a distintas velocidades de datos no interfieren con otras comunicaciones a distinta velocidad, creando así un juego virtual de canales que incrementan la capacidad de la puerta de enlace.

Las velocidades de datos se encuentran en el rango de 0.3 kbps a 50 kbps. Para maximizar en forma conjunta la duración de la batería de los dispositivos finales y la capacidad de la red, el servidor central LoRaWAN maneja la velocidad de datos para cada dispositivo en forma individual, por medio de un esquema adaptativo de velocidad de datos (o ADR, adaptive data rate en inglés).

Arquitectura de red

[editar | editar código]

LoRaWAN se despliega como una topología denominada «estrella de estrellas» (star-of-stars): los dispositivos finales se comunican mediante radio LoRa con una o varias puertas de enlace, y estas se conectan a través de redes IP con un servidor de red centralizado.[5][6]

Dispositivo final

[editar | editar código]

El dispositivo final (end device) es un sensor o actuador, habitualmente alimentado por batería, que transmite tramas de enlace ascendente (uplink) siguiendo un esquema asíncrono basado en ALOHA.[5] Un mismo mensaje puede ser recibido por varias puertas de enlace simultáneamente, por lo que el dispositivo no necesita emparejarse con ninguna en particular; la deduplicación se realiza después en el servidor de red.[5]

Puerta de enlace

[editar | editar código]

La puerta de enlace (gateway) actúa como puente transparente: recibe los paquetes de radio LoRa y los reenvía sin modificar al servidor de red a través de un enlace IP, que puede ser celular (3G/4G/5G), Wi-Fi, Ethernet, fibra óptica o radio en 2,4 GHz.[5] Las puertas de enlace se clasifican operativamente en picocélulas —dispositivos de interior, instalados en techos, mástiles cortos o tomas de corriente, con cobertura local— y macrocélulas —equipos de exterior montados en torres de telecomunicaciones, tejados elevados o mástiles altos, con cobertura regional—.[5]

Servidor de red

[editar | editar código]

El servidor de red (Network Server) es el componente lógico que centraliza la gestión de la red. Recibe las copias de cada mensaje provenientes de las distintas puertas de enlace, las deduplica, valida la integridad de cada trama mediante el código de integridad de mensaje (MIC) calculado con la clave de sesión de red, gestiona los comandos de capa MAC (incluido el algoritmo adaptativo de velocidad de datos, ADR) y enruta el contenido al servidor de aplicación correspondiente.[5] Su implementación es típicamente un servicio alojado en la nube.[5]

Servidor de aplicación

[editar | editar código]

El servidor de aplicación (Application Server) procesa los datos específicos de la aplicación que envían los sensores y genera, en su caso, las cargas útiles (payloads) de bajada. Es el único componente que dispone de la clave de sesión de aplicación necesaria para descifrar el contenido transmitido por el dispositivo final, garantizando confidencialidad de extremo a extremo incluso frente al servidor de red.[5] Una misma red LoRaWAN puede tener varios servidores de aplicación conectados al mismo servidor de red.[5]

Servidor de unión

[editar | editar código]

El servidor de unión (Join Server), introducido en la especificación v1.1 e incorporado retroactivamente en la rama v1.0 a partir de la versión 1.0.4, gestiona la activación segura por el método OTAA (Over-The-Air Activation). Almacena la clave raíz del dispositivo, procesa las solicitudes de unión (Join-request), deriva las claves de sesión y las distribuye al servidor de red y al servidor de aplicación correspondientes.[5]

Clases de dispositivo

[editar | editar código]

La especificación LoRaWAN distingue tres clases de dispositivo final con comportamientos de recepción y consumo energético crecientes:[6][7]

La Clase A es obligatoria: la especificación exige que todo dispositivo final LoRaWAN implemente al menos esta funcionalidad.[6] Tras cada transmisión de uplink, el dispositivo abre dos ventanas breves de recepción (RX1 y RX2) en momentos calculados a partir del fin de la transmisión; si no recibe nada destinado a él durante RX1, abre RX2.[6] Fuera de esas ventanas, el dispositivo permanece en reposo, lo que la convierte en la clase de menor consumo y mayor autonomía con batería, a cambio de una latencia de bajada elevada (la red solo puede comunicarse con el dispositivo justo después de que este envíe).[7] Se utiliza típicamente en aplicaciones de supervisión ambiental, seguimiento de activos, detección de incendios forestales, gestión de residuos o aparcamiento inteligente.[7]

La Clase B es opcional y extiende la Clase A añadiendo ventanas de recepción programadas, denominadas «ranuras de ping» (ping slots), que se abren periódicamente.[6] Para sincronizarlas, el dispositivo recibe una baliza (beacon) temporal emitida por las puertas de enlace, lo que permite al servidor de red conocer con precisión cuándo el dispositivo está escuchando.[6] El consumo energético es moderado y permite seguir funcionando con batería, aunque con autonomía menor que en Clase A, a cambio de una latencia de bajada también menor.[7] Es habitual en contadores inteligentes de servicios (agua, electricidad) y en alumbrado público.[7]

La Clase C es también opcional y mantiene la ventana de recepción abierta de forma prácticamente continua, cerrándola únicamente durante la transmisión de un uplink.[6] Ofrece la latencia de bajada más baja de las tres clases, pero su consumo es el más alto, por lo que los dispositivos de Clase C requieren generalmente alimentación de red eléctrica y no son adecuados para operación con batería prolongada.[7] Se aplica en escenarios donde se necesitan comandos inmediatos, como activación de alarmas, regulación de farolas o cierre remoto de electroválvulas.[7]

Seguridad

[editar | editar código]

LoRaWAN incorpora seguridad mediante tres claves simétricas de 128 bits y el algoritmo AES: una clave raíz y dos claves de sesión que separan la integridad en la capa de red del cifrado de extremo a extremo de la aplicación.[8][6]

  • La AppKey es la clave raíz, conocida únicamente por el dispositivo final y la aplicación. Solo se utiliza durante la activación dinámica para derivar las dos claves de sesión.[8]
  • La NwkSKey (Network Session Key) es la clave de sesión de red. Se comparte con el servidor de red y se emplea para validar la integridad de cada trama mediante el código de integridad de mensaje (MIC), calculado con AES-CMAC; previene la manipulación intencionada de los mensajes.[8]
  • La AppSKey (Application Session Key) es la clave de sesión de aplicación. Se mantiene en privado entre el dispositivo y el servidor de aplicación y cifra la carga útil con AES-128, de manera que el servidor de red, aunque transporte los paquetes, no puede leer su contenido.[8]

Métodos de activación

[editar | editar código]

LoRaWAN admite dos esquemas de activación de un dispositivo en la red:[8]

  • OTAA (Over-The-Air Activation): activación dinámica. El dispositivo y el servidor negocian las dos claves de sesión a partir de la AppKey en cada nueva sesión, generándose claves frescas cada vez. Es el método recomendado por la especificación.
  • ABP (Activation By Personalization): activación estática. Las claves de sesión están preprogramadas en el dispositivo y no cambian hasta que se reprograman manualmente. Tiene como contrapartida que los contadores de tramas se reinician al reiniciar el dispositivo, lo que puede causar que el servidor de red descarte mensajes legítimos al detectarlos como repeticiones.

Historial de versiones

[editar | editar código]

La especificación LoRaWAN, mantenida por la LoRa Alliance, ha pasado por las siguientes versiones públicas:[9]

Versión Fecha Novedades destacadas
1.0 Enero de 2015 Base del estándar; tres claves de 128 bits (AppKey, NwkSKey, AppSKey); cifrado AES-128
1.0.1 Febrero de 2016 Revisión menor
1.0.2 Julio de 2016 Revisión menor
1.1 Octubre de 2017 Clase B incorporada oficialmente; introducción del servidor de unión (Join Server)
1.0.3 Julio de 2018 Revisión menor
1.0.4 28 de octubre de 2020 Integración del Join Server en la rama 1.0; aclaraciones de las ventanas de recepción de Clase A, prioridad de bajada Clase A sobre Clase C, mejoras en ADR y comandos MAC persistentes

Referencias

[editar | editar código]
  1. ↑ «What is the LoRaWAN® Specification?». LoRa Alliance (en inglés). Consultado el 31 de mayo de 2019. 
  2. ↑ Ejemplo de dispositivo final IoT LoRaWan emitiendo datos, plataforma utilizada Cloud Studio: https://gear.cloud.studio/gear/monitor/shared-dashboard/304d9837b7104c66921ed57f629fcb08
  3. ↑ Ramon Sanchez-Iborra; Jesus Sanchez-Gomez; Juan Ballesta-Viñas; Maria-Dolores Cano; Antonio Skarmeta (2018). «Performance Evaluation of LoRa Considering Scenario Conditions». Sensors 18: 772. doi:10.3390/s18030772. 
  4. ↑ Ejemplo de dispositivo final IoT LoRaWan emitiendo datos. Plataforma utilizada Cloud Studio: https://gear.cloud.studio/gear/monitor/shared-dashboard/304d9837b7104c66921ed57f629fcb08
  5. ↑ 5,00 5,01 5,02 5,03 5,04 5,05 5,06 5,07 5,08 5,09 «LoRaWAN Architecture» (en inglés). The Things Network. Consultado el 17 de mayo de 2026. 
  6. ↑ 6,0 6,1 6,2 6,3 6,4 6,5 6,6 6,7 «LoRaWAN® L2 1.0.4 Specification» (PDF) (en inglés). LoRa Alliance. 28 de octubre de 2020. Consultado el 17 de mayo de 2026. 
  7. ↑ 7,0 7,1 7,2 7,3 7,4 7,5 7,6 «Device Classes» (en inglés). The Things Network. Consultado el 17 de mayo de 2026. 
  8. ↑ 8,0 8,1 8,2 8,3 8,4 «Security» (en inglés). The Things Network. Consultado el 17 de mayo de 2026. 
  9. ↑ «LoRa Alliance® Releases LoRaWAN® TS1-1.0.4 Specification». LoRa Alliance (en inglés). 28 de octubre de 2020. Consultado el 17 de mayo de 2026.