Glosario de Automatización • MQTT 3.1.1 vs MQTT 5

MQTT 3.1.1 vs MQTT 5 para SCADA: cuál usar

Ingeniería Merobix • • 5 min de lectura

MQTT 5 no es una reescritura de 3.1.1; es el mismo protocolo central con un conjunto de adiciones que resultan resolver exactamente los problemas que golpea la telemetría de campo. Esta comparación es para el ingeniero que decide qué versión estandarizar en un despliegue SCADA nuevo, o que evalúa si vale la pena migrar un sistema 3.1.1 existente. Expone qué agrega la versión 5 y dónde esas adiciones importan de verdad.

Volver al glosario

MQTT 3.1.1 vs MQTT 5 en una línea: Para un despliegue SCADA nuevo, MQTT 5 es en general la mejor opción: conserva el mismo núcleo de publicación/suscripción que 3.1.1 mientras agrega códigos de razón para diagnóstico, expiración de sesión y clean start para reconexión controlada, control de flujo por receive maximum, propiedades de mensaje y suscripciones compartidas. MQTT 3.1.1 sigue siendo adecuado para sistemas simples y estables, pero las adiciones de la versión 5 atienden directamente la confiabilidad y el diagnóstico que exigen los enlaces de campo.

La decisión en un párrafo

Ambas versiones comparten los fundamentos: el mismo modelo de broker, los mismos tres niveles de QoS, los mismos mensajes retenidos y last will. Lo que las separa es una capa de refinamientos en la versión 5 orientados a robustez y observabilidad. Si usted construye de cero y controla ambos extremos, estandarice en MQTT 5, porque las funciones que agrega son precisamente las que hacen más fácil operar y diagnosticar una flota celular inestable. Si tiene un sistema 3.1.1 estable y simple que funciona, el caso para migrar es más débil y debe estar impulsado por un dolor específico que las funciones nuevas aliviarían.

Abajo hay un lado a lado de las diferencias que más importan para SCADA, seguido de dónde sigue ganando cada versión y de las trampas de moverse entre ellas.

Comparación de funciones lado a lado

La tabla resume las diferencias con importancia práctica. Cada fila de MQTT 5 corresponde a un problema real de campo, desde diagnosticar una conexión rechazada hasta acotar los reintentos en un enlace lento.

CapacidadMQTT 3.1.1MQTT 5
Diagnóstico de fallasCódigos de retorno de conexión limitados; falla de suscripción genéricaCódigos y cadenas de razón en connect, publish, subscribe y disconnect
Control de sesiónSolo la bandera clean sessionClean start más un intervalo de expiración de sesión
Control de flujoNo definidoReceive maximum acota los mensajes en vuelo
Desconexión iniciada por el servidorEl socket simplemente se cierraEl broker puede enviar un DISCONNECT con razón
Metadatos del mensajeSolo la carga útilPropiedades de usuario, content type, expiración de mensaje y más
Balanceo de consumidoresNo estandarizadoSuscripciones compartidas
Eficiencia de tópicosEl tópico completo en cada mensajeEl topic alias envía la cadena una sola vez

Lea la columna de la versión 5 y cada fila corresponde a algo cubierto en este sitio: el diagnóstico de los códigos de razón, la reconexión controlada mediante expiración de sesión y clean start, la contrapresión vía receive maximum, el balanceo de carga con suscripciones compartidas y los tópicos ligeros con el topic alias. Ninguna es exótica; cada una elimina un dolor de cabeza de campo concreto.

Cuándo gana cada versión

MQTT 5 gana para cualquier cosa que usted vaya a comisionar y soportar en remoto, que es la mayoría del SCADA. Solo el diagnóstico ya lo justifica: cuando un gateway a tres horas de distancia no conecta, un código de razón le dice si son credenciales, un identificador duplicado o la red, convirtiendo una visita a sitio en una corrección de configuración. La expiración de sesión le da comportamiento controlado a través de las reconexiones que un enlace celular garantiza, y el control de flujo evita que un enlace lento quede sepultado bajo reintentos. Para una construcción nueva con bibliotecas de cliente y un broker modernos, hay pocas razones para empezar en 3.1.1.

MQTT 3.1.1 todavía gana en una franja estrecha: un sistema simple y estable que ya corre bien, o un dispositivo restringido cuya biblioteca de cliente disponible solo habla 3.1.1 de forma confiable. El protocolo es maduro y ampliamente soportado, y si ninguna función de la versión 5 resuelve un problema que usted realmente tiene, migrar agrega riesgo a cambio de poco. La compatibilidad de versiones es la restricción práctica, porque el broker y todos sus clientes deben soportar la versión elegida, y las flotas mixtas son donde se concentra el dolor de la migración.

Esta elección de versión es un insumo de la pregunta arquitectónica mayor de si correr MQTT plano o adoptar Sparkplug encima, que se trata por separado en MQTT plano versus Sparkplug. Sparkplug se construye sobre MQTT y se beneficia de las funciones de la versión 5, así que las dos decisiones están relacionadas pero son distintas: versión 5 contra 3.1.1 trata del transporte, y Sparkplug contra MQTT plano trata del modelo de carga útil y ciclo de vida en la capa de arriba.

Preguntas frecuentes

¿Pueden clientes MQTT 3.1.1 y MQTT 5 compartir el mismo broker?

La mayoría de los brokers modernos soporta ambas versiones a la vez, así que clientes 3.1.1 y 5 pueden conectarse al mismo broker e intercambiar mensajes en tópicos compartidos, porque el comportamiento central de publicación/suscripción es compatible. Lo que no cruza son las funciones exclusivas de la versión 5: un suscriptor 3.1.1 no gana códigos de razón ni propiedades de mensaje, y un publicador 3.1.1 no puede fijarlas. Una flota mixta funciona, pero los beneficios de la versión 5 solo aparecen en las conexiones donde el cliente y su uso realmente los emplean.

¿Vale la pena migrar un sistema SCADA MQTT 3.1.1 que funciona a MQTT 5?

Solo si una función de la versión 5 resuelve un problema real que usted tiene. Si su sistema 3.1.1 es estable y ninguna de las adiciones - diagnóstico más rico, expiración de sesión, control de flujo, propiedades de mensaje - aliviaría un dolor genuino, migrar agrega riesgo a cambio de poco. Si, en cambio, le cuesta diagnosticar fallas de conexión remotas o controlar el comportamiento de reconexión en enlaces inestables, esos son exactamente los dolores que la versión 5 atiende, y la migración se vuelve rentable. Deje que un problema específico, no la novedad, impulse el cambio.

Fuentes y lecturas

Referencias primarias de los organismos de normas y reguladores que definen este tema:

Más en Fundamentos de SCADA
Agregar un tag en SCADA  •  Configurar alertas por SMS  •  Configurar una alarma en SCADA  •  Notificación de alarma por correo  •  Construir una pantalla HMI  •  Todo en Fundamentos de SCADA →
Capacitación SCADA gratuita para operadores
Merobix University - 70 lecciones en video y 261 preguntas de examen, del primer inicio de sesión a los reportes de cumplimiento (contenido en inglés). Sin llamada de ventas.
Comenzar gratis →