Los dispositivos IoT utilizan distintos protocolos de comunicación y mensajería en diferentes capas. A la hora de desarrollar dispositivos IoT, el tipo, las capas y las funciones que se pretende que realice el dispositivo suelen determinar la elección final. MQTT, XMPP, DDS, AMQP y CoAP son algunos de los protocolos de comunicación más utilizados en la capa de aplicación IoT. Hoy, este artículo le llevará a través de las ventajas y desventajas de estos protocolos de comunicación.
MQTT
MQTT es un protocolo máquina a máquina (M2M). Es un protocolo de mensajería basado en publicar-suscribir para transferir datos de dispositivos al servidor. El objetivo principal de MQTT es gestionar dispositivos IoT de forma remota. Se utiliza principalmente para grandes redes de pequeños dispositivos que necesitan ser supervisados o gestionados a través de Internet, es decir, sensores de aparcamiento, líneas submarinas, redes de energía, etc.
Cómo funciona MQTT
ventaja:
▪ Ligero para redes restringidas
▪ Selección flexible de la calidad del servicio con características determinadas
▪ Normalizado por el Comité Técnico OASIS
▪ Aplicación sencilla y rápida
deficiencia:
▪ Alto consumo de energía debido a la conexión basada en TCP.
▪ Falta de codificación
Escenarios comunes de aplicación:
Muchos sensores de aparcamiento se instalan en grandes aparcamientos subterráneos para identificar el número y la ubicación de las plazas vacías o libres.
XMPP
XMPP utiliza el formato XML para la mensajería. La principal característica de este protocolo es su mecanismo de direccionamiento. Utiliza una dirección llamada Jabber ID (JID) para identificar dispositivos/nodos en la red IoT. JID sigue el estándar - name@domain.com. Este mecanismo de direccionamiento permite a dos nodos intercambiar información independientemente de su distancia en la red.
Los mensajes XMPP suelen transmitirse a través de la conexión TCP subyacente. Utiliza un mecanismo de sondeo para identificar el destino del mensaje. XMPP se implementa mediante una arquitectura cliente-servidor. El cliente inicia el flujo XML enviando una etiqueta de inicio. A continuación, el servidor responde al cliente utilizando el flujo XML. Como XMPP es un protocolo abierto, cualquiera puede tener su propio servidor XMPP en su red sin necesidad de estar conectado a Internet.
Cómo funciona XMPP
ventaja:
▪ Esquema de direccionamiento para identificar los dispositivos en la red.
Arquitectura cliente-servidor
deficiencia:
▪ Mensajería basada en texto, sin cifrado de extremo a extremo configurado.
▪ No hay normas de calidad del servicio
Escenarios comunes de aplicación:
Un termostato inteligente al que se puede acceder desde un smartphone a través de un servidor web; una consola de juegos que proporciona mensajería instantánea entre dos jugadores en línea.
DDS
DDS también se basa en un modelo de publicación-suscripción. DDS conecta los dispositivos directamente, a diferencia de MQTT, que los conecta a servidores. Por eso DDS es más rápido que MQTT. Al parecer, puede entregar millones de mensajes a múltiples receptores diferentes en cuestión de segundos porque elimina la comunicación con el servidor. DDS puede utilizarse para proporcionar comunicación de dispositivo a dispositivo a través de un bus de datos. Proporciona una calidad de servicio y una fiabilidad detalladas.
Cómo funciona el DDS
ventaja:
▪ Basado en un sencillo paradigma de comunicación publicar-suscribir.
▪ Arquitectura flexible y adaptable que admite el "autodescubrimiento" de aplicaciones de punto final nuevas o anticuadas.
▪ Baja sobrecarga: puede utilizarse con sistemas de alto rendimiento.
▪ Entrega de datos determinista
▪ Dinámicamente escalable
▪ Uso eficiente del ancho de banda de transmisión.
Escenarios comunes de aplicación:
Sistemas militares, parques eólicos, integración hospitalaria, imágenes médicas, sistemas de seguimiento de activos y pruebas y seguridad en automoción.
AMQP
Advanced Message Queuing Protocol (AMQP) es un protocolo de capa de aplicación de estándar abierto utilizado para enviar mensajes de transacciones entre servidores. Como middleware centrado en los mensajes, puede gestionar miles de transacciones en cola de forma fiable. AMQP se centra en no perder mensajes, ya que éstos pueden transportarse utilizando TCP o UDP. El uso de TCP proporciona conexiones punto a punto fiables. Además, el endpoint debe confirmar la aceptación de cada mensaje. La norma también describe un modo de transacción opcional con una secuencia formal de confirmación en varias fases. AMQP se centra en el seguimiento de los mensajes y en garantizar que cada mensaje se entrega según lo esperado, independientemente de fallos o reinicios.
Cómo funciona AMQP
ventaja:
▪ Los mensajes pueden enviarse a través de TCP y UDP
▪ Proporciona cifrado de extremo a extremo.
deficiencia:
▪ Utilización de recursos relativamente alta, es decir, uso de energía y memoria.
Escenarios comunes de aplicación:
AMQP se utiliza principalmente para la mensajería empresarial. Suele definir dispositivos como teléfonos móviles que se comunican con centros de datos backend.
Resuma
Todos los protocolos enumerados anteriormente son especialmente adecuados para diferentes escenarios operativos. Cualquier protocolo puede elegirse cuidadosamente en función de sus pros y sus contras para el desarrollo de aplicaciones IoT. Los principales factores a tener en cuenta al elegir cualquiera de ellos para su aplicación son la calidad del servicio, la seguridad y la fiabilidad que requiere la aplicación.
Cualquier protocolo puede elegirse cuidadosamente en función de sus pros y sus contras para el desarrollo de aplicaciones IoT. Los principales factores que debemos tener en cuenta a la hora de elegir un protocolo de transporte para una aplicación son la calidad del servicio, la seguridad y la fiabilidad que requiere la aplicación.