Está en la página 1de 4

¿Que es Mqtt?

MQ Telemetry Transport, aunque en primer lugar fue conocido como Message Queing
Telemetry Transport. Es un protocolo de comunicación M2M (machine-to-machine) de
tipo message queue. Está basado en la pila TCP/IP como base para la comunicación.

conectados a redes no fiables o con recursos limitados en cuanto al ancho de banda.


Se utiliza principalmente para comunicaciones de máquina a máquina (M2M) o
conexiones del tipo de Internet de las cosas.

La Internet de las cosas (IoT) describe la red de objetos físicos ("cosas") que
llevan incorporados sensores, software y otras tecnologías con el fin de
conectarse e intercambiar datos con otros dispositivos y sistemas a través de
Internet.

El protocolo MQTT se ha convertido en uno de los principales pilares del IoT por
su sencillez y ligereza.

Uno de los componentes más importantes del protocolo MQTT es la definición y


tipología de los mensajes, ya que son una de las bases de la agilidad en la que
radica su fortaleza. Cada mensaje consta de 3 partes:

● Cabecera fija. Ocupa 2 a 5 bytes, obligatorio. Consta de un código de control, que


identifica el tipo de mensaje enviado, y de la longitud del mensaje. La longitud se
codifica en 1 a 4 bytes, de los cuales se emplean los 7 primeros bits, y el último es un bit
de continuidad.

● Cabecera variable. Opcional, contiene información adicional que es necesaria en


ciertos mensajes o situaciones.

● Contenido(payload). Es el contenido real del mensaje. Puede tener un máximo de 256


Mb aunque en implementaciones reales el máximo es de 2 a 4 kB.

Comparamos con http

16 metodos de peticion
cabecera 8190 bytes
contenido no limitado, solo es limitado por el servidor o tecnologia de programacion
utilizada.

MQTT
14 metodos de peticion

Además, esto menor necesidad de recursos se traduce en un menor


consumo de energía, lo cual es interesante en dispositivos que funcionan 24/7
y muy especialmente en dispositivos alimentados por batería.

Facebook implementa mqtt para el uso de messenger.

Otra consecuencia de la ligereza del protocolo MQTT es que requiere un


ancho de banda mínimo, lo cual es importante en redes inalámbricas, o
conexiones con posibles problemas de calidad.
MQTT es un protocolo controlado por eventos, donde no hay transmisión de datos
periódica o continua. Así se mantiene el volumen de transmisión al mínimo. Un cliente
sólo publica cuando hay información para enviar, y un bróker sólo envía información a
los suscriptores cuando llegan nuevos datos.
Los clientes no se comunican directamente entre sí, sino que se conectan con el bróker.
Cada cliente puede ser un editor, un suscriptor o ambos.

Para mantener una impronta pequeña, los mensajes recibidos no se almacenan en el


bróker a menos que estén marcados con la bandera de retención. A esto se le llama
mensaje retenido. Los usuarios que deseen almacenar los mensajes recibidos deberán
almacenarlos en otro lugar fuera del protocolo MQTT.

HTTPS

El funcionamiento del http se basa en un esquema de petición-respuesta


entre el servidor web y el “agente usuario”

se enfoca en la transmision de documentos


● En cuanto a la carga (payload), MQTT es capaz de transportar datos
crudos en binario, mientras que HTTP requiere una codificación en
base 64.
● El aplicaciones industriales, el protocolo MQTT permite propagar
configuraciones nuevas de los dispositivos mediante suscripciones.
En HTTP las configuraciones nuevas deben solicitarse explícitamente
mediante un sondeo periódico (polling): «Dispositivo IoT: Servidor,
¿tienes ya alguna configuración nueva para mí?«
● En redes 3G es 93 veces más rápido, usa 8 veces menos tráfico y
gasta 170 veces menos energía en los receptores.
HTTP no implementa por sí mismo calidad de servicio (QoS). En cambio,
MQTT puede establecer tres diferentes niveles QoS:

● QoS 0 – at most once: sólo realiza una entrega «best effort», sin
garantías frente a fallos. Opción por defecto.
● QoS 1 – at least once: el mensaje será entregado como mínimo una
vez y puede proteger frente a pérdidas de conexión (aunque pueden
llegar duplicados). Utiliza ACKs (confirmaciones de entrega).
● QoS 2 – exactly once: garantiza que cada mensaje se reciba por la
parte receptora sin duplicados.
MQTT está mucho más optimizado que HTTP en cuanto a tiempos de respuesta,
throughput, consumo de batería y ancho de banda.

También podría gustarte