MQTT y CoAP son los protocolos de Internet de las Cosas más populares del momento. Durante la siguiente publicación, se expondrán ventajas e inconvenientes de cada uno.
¿Qué es MQTT?
Message Queue Telemetry Transport (MQTT), es un protocolo de publicación-suscripción que facilita la comunicación entre un gran número de dispositivos y los gestiona mediante brokers. Los clientes publican los mensajes hacia un broker y/o se suscriben a un broker para recibir sus mensajes. Los mensajes están organizados por tipos, qué básicamente son “etiquetas” que actúan como un sistema para enviar los mensajes a los suscriptores.

¿Qué es CoAP?
Constrained Application Protocol (CoAP), es un protocolo cliente-servidor que, a diferencia de MQTT, aun no está estandarizado al 100%. Con CoAP, un nodo cliente puede comandar a otro nodo vía un paquete CoAP. El servidor CoAP lo interpretará, extraerá la información del paquete, y decidirá qué acción realizar dependiendo de su lógica. El servidor no necesariamente realizará la confirmación de la petición.

La siguiente tabla compara diferentes características y muestra las fortalezas y debilidades de cada protocolo:
Características | MQTT | CoAP |
---|---|---|
Protocolo base |
TCP | UDP |
Modelo usado para la comunicación |
Publicación-Suscripción |
Pregunta-Respuesta |
Nodo de comunicación |
M:N | 1:1 |
Consumo de energía |
Mayor que CoAP | Menor que MQTT |
RESTful |
No | Sí |
Número de tipos de mensaje usados |
16 | 4 |
Tamaño cabecera |
2 Bytes | 4 Bytes |
Tipos de mensaje |
Asíncrono | Asíncrono & Síncrono |
Fiabilidad |
3 Niveles de calidad de servicio QoS 0: Entrega no garantizada QoS 1: Confirmación de entrega QoS 2: Doble confirmación de entrega |
Mensajes confirmables Mensajes no confirmables ACKs Retransmisiones |
Implementación |
Fácil de implementar Complejo para añadir extensiones |
Pocas librerías existentes y soporte |
Seguridad |
No definida Puede utilizar TLS/SSL |
DTLS o IPSec |
Otros |
Útil para conexiones en localizaciones remotas Sin gestión delerror |
Baja saturación Baja latencia Problemas en NAT |
Otros protocolos IoT
Existen otros protocolos que pueden ser utilizados en aplicaciones IoT como AMQP, XMPP, DDS y LwM2M. En realidad, lo más importante es tener el conocimiento de las necesidades y requerimientos de cada negocio, conocimiento de las ventajas e inconvenientes de los protocolos que ofrece el mercado, y la habilidad para escoger el que mejor se ajusta en cada aplicación.
Si está interesado en conocer más temas relacionados con Internet of Things, Big Data, Industria 4.0 y Analítica, no dude en seguir leyendo nuestras publicaciones en la sección de Noticias.
Además, no olvide seguir nuestro día a día gracias al Twitter oficial de PickData , Linkedin u otras redes sociales.