Glosario técnico

MQTT

MQTT (Message Queuing Telemetry Transport o Transporte de Telemetría de Cola de Mensajes) es un protocolo de mensajería basado en el estándar ISO / IEC PRF 20922.

Funciona sobre el protocolo TCP / IP y está diseñado para conexiones con ubicaciones remotas donde se requiere una "huella de código pequeña" o el ancho de banda de la red es limitado. El patrón de publicación publicación-suscripción requiere un intermediario de mensajes.

Andy Stanford-Clark de IBM y Arlen Nipper de Cirrus Link crearon la primera versión del protocolo en 1999.

En 2013, IBM envió MQTT v3.1 al organismo de especificación OASIS con una carta que garantizaba que solo se podían aceptar cambios menores en la especificación. MQTT-SN es una variación del protocolo principal dirigido a dispositivos integrados en redes no TCP / IP, como ZigBee.

Históricamente, el "MQ" en "MQTT" proviene de la línea de productos de cola de mensajes de la serie MQ de IBM; sin embargo, no se requiere que la cola en sí sea compatible como característica estándar en todas las situaciones.

Los protocolos alternativos incluyen el Protocolo de cola avanzada de mensajes (AMQP), el Protocolo de mensajería orientada a texto continuo (STOMP), el Protocolo de aplicación restringida (Constrained Application Protocol) de IETF, XMPP, DDS, OPC UA, y Protocolo de mensajería de aplicaciones web (WAMP).

Un sistema MQTT consiste en clientes que se comunican con un servidor, a menudo llamado "intermediario". Un cliente puede ser un editor de información o un suscriptor. Cada cliente puede conectarse con el agente.

La información está organizada en una jerarquía de temas. Cuando un editor tiene un nuevo elemento de datos para distribuir, envía un mensaje de control con los datos al intermediario conectado. El intermediario luego distribuye la información a cualquier cliente que se haya suscrito a ese tema. El editor no necesita tener ningún dato sobre el número o la ubicación de los suscriptores, y los suscriptores, a su vez, no tienen que estar configurados con ningún dato sobre los editores.

Si un intermediario recibe un tema para el que no hay suscriptores actuales, descartará el tema a menos que el editor indique que se debe conservar el tema. Esto permite que los nuevos suscriptores de un tema reciban el valor más actual en lugar de esperar la próxima actualización de un editor.

Cuando un cliente de publicación se conecta primero al intermediario, puede configurar un mensaje predeterminado que se enviará a los suscriptores si el intermediario detecta que el cliente de publicación se ha desconectado inesperadamente del intermediario.

Los clientes solo interactúan con un intermediario, pero un sistema puede contener varios servidores intermediarios que intercambian datos en función de los temas de sus suscriptores actuales.

Un mensaje de control MQTT mínimo puede ser tan poco como dos bytes de datos. Un mensaje de control puede transportar casi 256 megabytes de datos si es necesario. Existen catorce tipos de mensajes definidos que se utilizan para conectar y desconectar un cliente de un intermediario, publicar datos, acusar recibo de datos y supervisar la conexión entre el cliente y el servidor.

MQTT se basa originalmente en el protocolo TCP para la transmisión de datos, aunque una variante, MQTT-SN, se usa sobre transportes como Bluetooth y otros.

MQTT envía las credenciales de conexión en formato de texto sin formato y no incluye ninguna medida de seguridad o autenticación. Esto puede ser proporcionado por el transporte TCP subyacente utilizando medidas para proteger la integridad de la información transferida de la interceptación o duplicación.

Encuentre más información sobre este tema en la Wikipedia.

Fuente: wikipedia.org

Publicaciones relacionadas

Mira también
Cerrar
Botón volver arriba