Sunteți pe pagina 1din 3

PROTOCOLO MQTT

Por qu de la necesidad de crear un protocolo MQTT?

Por la problemtica del creciente nmero de objetos conectados que harn su aparicin
en la red en los prximos aos, el internet de las cosas (IoT, Internet of Things) cuenta con
un nuevo protocolo: MQTT (Message Queuing Telemetry Transport). Si se adopta el
MQTT, ser el protocolo mediante el cual contadores elctricos, vehculos, detectores,
equipamientos industriales o equipos sanitarios transferirn datos entre ellos o con
servidores.

Qu es el protocolo MQTT?

El modelo productor consumidor aplicado al protocolo MQTT

MQTT (oficialmente ya no tiene acrnimo pero sus orgenes parten de MQ Telemetry


Transport) es un protocolo simple y ligero para la transmisin de mensajes cortos de
telemetra y de control, desde/haca una red de sensores/actuadores, que tenga
limitaciones evidentes en cuanto al consumo, velocidad de transmisin y procesamiento.

Cules son las caractersticas del protocolo MQTT?

Est especialmente adaptado para utilizar un ancho de banda mnimo


Es ideal para utilizar redes inalmbricas
Consume muy poca energa
Es muy rpido y posibilita un tiempo de respuesta superior al resto de protocolos
web actuales
Permite una gran fiabilidad si es necesario
Requiere pocos recursos procesadores y memorias
Es open source, con lo cual es fcilmente integrable al variopinto universo de
tecnologas, protocolos y aplicaciones de IoT.
Puesto que se basa en la publicacin-subscripcin de mensajes, no se necesita
saber para quien van los mensajes o de donde vienen, reduciendo mucho la
complejidad de la red.
Gracias al punto anterior, es un protocolo ligero (cabeceras muy reducidas,
comunicacin bajo demanda, etc.), con lo que se ajusta a redes y dispositivos con
pocos recursos y baja velocidad de transmisin, como una tpica red de sensores.
Se basa en comandos muy sencillos y varios modos de gestin de mensajes, y
adems, no necesita que el contenido del mensaje est en un formato especfico.
Tiene mecanismos para garantizar una comunicacin fiable, retransmitiendo o
guardando para ms tarde los mensajes cuando se pierda la conexin entre
servidor y cliente. Para esto implementa hasta tres niveles de QoS, lo que permite
garantizar la entrega de los mensajes ms importantes.
Permite unir fcilmente el mundo del Business Intelligence y el Big Data con las
fuentes de datos, pero tambin es ideal para la conexin machine-to-machine
(M2M).
La caracterstica principal del protocolo MQTT es que est basado en el modelo de
comunicacin productor consumidor; es decir, su estrategia de comunicacin se basa
en la publicacin de mensajes de tipos especficos (topics) y la subscripcin a esos
mensajes. Los mensajes que se publican en la red se clasifican segn diferentes tipos y los
clientes MQTT (nodos) reciben slo aquellos tipos a los que estn subscritos. Del mismo
modo, los nodos pueden tambin publicar mensajes de los tipos que manejan y
comunicarse as con otros nodos o aplicaciones que gestionan esos mensajes.

En el protocolo MQTT, un mensaje no es otra cosa que una trama de datos con un payload
que contiene la informacin real para el servidor o para el resto de los nodos.

Nota: La principal ventaja que aporta este modelo de comunicacin es el desacoplo que se
produce entre el transmisor y el receptor, gracias a la intermediacin del broker de
mensajes (un intermediario que gestiona el trnsito de los mensajes).
Este desacoplo se produce en varios niveles:

La aplicacin o el nodo que publica un mensaje no necesita saber nada acerca de la


existencia de la aplicacin o nodo que va a consumir ese mensaje, al contrario de lo
que sucede en redes punto a punto, donde como mnimo necesitas conocer las
direcciones IP de origen y destino o el puerto utilizado. Con el protocolo MQTT, la nica
direccin IP y puerto que se necesitan saber es la del broker de mensajes.
El que publica y el que recibe no necesitan estar conectados a la vez. El broker puede
almacenar mensajes para clientes que no estn actualmente conectados, aunque en la
mayora de los casos, los mensajes se consumen en tiempo real.
El que publica y el que recibe no necesitan estar sincronizados ni esperando el uno al
otro, aunque es posible utilizar libreras de sincronizacin especficas si se necesita esto
en alguna aplicacin.
Cmo funciona el protocolo MQTT?
Se basa en el principio cliente/servidor.
El servidor, llamado broker, recopila los datos que los publishers (los objetos
comunicantes) le transmiten. Determinados datos recopilados por el broker se enviarn a
determinados publishers que previamente as se lo hayan solicitado al broker.
Los publishers envan los mensajes a un canal llamado topic. Los subscribers (suscriptores)
pueden leer esos mensajes. Los topics (o canales de informacin) pueden estar
distribuidos jerrquicamente de forma que se puedan seleccionar exactamente las
informaciones que se desean.
Los mensajes enviados por los objetos comunicantes pueden ser de todo tipo pero no
pueden superar los 256 Mb.
Qu es el Qos?
El MQTT lleva integrada en modo nativo la nocin de QoS (Quality of Service, calidad de
servicio). En efecto, el publisher tiene la posibilidad de definir la calidad de su mensaje.
Hay tres niveles posibles:

Un mensaje de QoS nivel 0 at most once se entregar como mucho una vez. Eso
significa que el mensaje se enva sin garantas de recepcin (el broker no informa al
remitente de que ha recibido el mensaje)
Un mensaje de QoS nivel 1 at least once se entregar al menos una vez. El cliente lo
transmitir varias veces si es necesario, hasta que el broker le confirme que lo ha
enviado a la red.

Un mensaje de QoS nivel 2 exactly once ser obligatoriamente guardado por el


emisor, que lo transmitir siempre que el receptor no confirme su envo a la red.
La principal diferencia radica en que el emisor utiliza una fase de reconocimiento
ms sofisticada con el broker para evitar la duplicacin de los mensajes (ms lento
pero ms seguro).

Resumiendo, el protocolo MQTT se basa en que alguien publica un mensaje con el


identificador de un topic especfico. El broker distribuye el mensaje a todos los clientes
(aplicaciones o dispositivos) que le constan como subscritos a ese topic. Esos clientes
reciben y consumen los datos de esos mensajes.

S-ar putea să vă placă și