Vamos a ir avanzando poco a poco en estas pequeñas píldoras sobre LoRA para ir conociendo todos los elementos de manera previa al despliegue.
En este caso vamos a conocer ya de manera clara la posición de cada elemento visto en el artículo anterior dentro de la red además de ver la estructura de las tramas y paquetes de información enviados por LoRa.
Estamos ya un pasito más cerca de poder enviar nuestros primeros mensajes a través de esta tecnología.
Una vez que conocemos los dispositivos involucrados en la red LoRaWAN y su topología de red podemos definir la estructura completa de la red de manera que podamos ver los protocolos que intercomunican los diferentes elementos y nos sirva de introducción para poder conocerlos más en profundidad después.
Ilustración 1 – Arquitectura de red
Además de los elementos que ya hemos visto anteriormente como son los Nodos y Gateways en este caso tenemos que tener en cuenta dos nuevos elementos que son los servidores IoT y los servidores de aplicaciones. En este caso vamos a confiar esta labor a la plataforma TTN que hemos comentado anteriormente.
De esta manera podemos centrarnos en conocer mejor los métodos de autenticación y la estructura del protocolo LoRa y su implementación en LoRaWAN que pasaremos a conocer en más profundidad a continuación estudiando las tramas y protocolos involucrados en esta tecnología.
Es necesario aclarar que, aunque en el esquema los nodos aparezcan unidos a un Gateway determinado, en la realidad esto no es así, sino que no tienen ningún tipo de asociación con los Gateway, de manera que es posible que la información de un nodo sea transmitida a la red de manera duplicada.
Es en ese punto donde los servidores IoT entran en juego gestionando la red, filtrando los paquetes redundantes recibidos y realizando la adaptación de las diferentes velocidades de datos de los dispositivos para sincronizar las comunicaciones mediante el uso de mecanismos de adaptación de velocidades de datos (ADR – Adaptative Data Rate) que detallaremos más adelante en otros artículos.
Tal y como ya hemos visto debemos no debemos confundir LoRa con LoRaWAN ya que como veremos a continuación se complementan entre ambas ya que el estándar LoRa proporciona las capacidades a esta tecnología de funcionar en la capa física habilitando enlaces de radiofrecuencia dentro de la banda ISM con un determinado tipo de modulación (CSS). Pero es el estándar LoRaWAN el que añade a esa capa física dos capas más, la de Enlace de datos y otra de aplicación.
Ilustración 2- Capas del protocolo
Vamos a recorrer las diferentes capas haciendo hincapié en ciertos conceptos que no hemos visto hasta ahora.
Comenzamos analizando la estructura de la trama física de LoRa, la cual sigue el siguiente esquema:
Preámbulo | FHDR + PHDR_CRC | PHYPAYLOAD | CRC |
Preámbulo: En esta parte de la trama se define el esquema de modulación del paquete el cual puede variar para adaptarse a diferentes usos o necesidades del nodo, optimizando de esta manera el consumo eléctrico del sistema.
FHDR + PHDR_CRC: Una vez finalizado el preámbulo la trama continúa con una cabecera y un código de redundancia cíclica para tratar de evitar tramas malformadas que ocupan 20bits.
PHYPAYLOAD: Contiene la información que debe ser enviada contenida dentro de una trama de la capa de enlace, el tamaño máximo de esta debe ser 255 bytes ya que el tamaño del payload queda definido en un único byte en la cabecera de la trama.
CRC: Código de redundancia cíclica para asegurar que la trama es correcta y puede ser procesada por los componentes de la red LoRa
A continuación, continuaremos con la trama MAC la cual está contenida dentro del PHYPayload
MAC Header | MAC Payload | MIC |
MAC Header: Se trata de la cabecera de la trama en la cual se define el protocolo utilizado y el tipo de mensaje, además se usa por muchos fabricantes para almacenar datos necesarios en el proceso de autenticación entre dos dispositivos.
MAC Payload: Contiene la trama de la capa de aplicación y puede ser sustituida también por tramas propias de los fabricantes para la autenticación de dispositivos.
MIC: Como resultado de aplicar la clave de sesión de red (Network Key) a la cabecera y payload obtenemos el MIC que nos dará una capa de seguridad con la finalidad de evitar el envío de mensajes desde nodos no autenticados o de suplantar ciertos nodos.
Por último, tenemos la trama de aplicación que tiene el siguiente formato:
Frame Header | Frame Port | Frame Payload |
Frame Header: Nos permite identificar la red, llevar un contador de mensajes y la secuencia de los mismos.
Frame Port: Este valor está determinado dependiendo del tipo de aplicación que utilicemos.
Frame Payload: La información que transmite la aplicación, pero cifrada usando la calve de sesión de aplicación (App_Skey) usando el algoritmo AES 128.
Por último, es interesante ver el siguiente esquema en el que se recogen todos los protocolos y capas en las que se produce la comunicación dentro de la tecnología LoRaWAN:
Como podemos observar se incluye el protocolo TCP/IP en el esquema que sería el encargado de transmitir los datos a nuestros servidores IoT desplegados en Internet.
Como siempre aquí está el enlace para poder tener este artículo en PDF para poder consultarlo cuando quieras.