MQTT 3.1.1 vs MQTT 5 para SCADA: cuál usar
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.
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.
| Capacidad | MQTT 3.1.1 | MQTT 5 |
|---|---|---|
| Diagnóstico de fallas | Códigos de retorno de conexión limitados; falla de suscripción genérica | Códigos y cadenas de razón en connect, publish, subscribe y disconnect |
| Control de sesión | Solo la bandera clean session | Clean start más un intervalo de expiración de sesión |
| Control de flujo | No definido | Receive maximum acota los mensajes en vuelo |
| Desconexión iniciada por el servidor | El socket simplemente se cierra | El broker puede enviar un DISCONNECT con razón |
| Metadatos del mensaje | Solo la carga útil | Propiedades de usuario, content type, expiración de mensaje y más |
| Balanceo de consumidores | No estandarizado | Suscripciones compartidas |
| Eficiencia de tópicos | El tópico completo en cada mensaje | El 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:
- MQTT Version 5.0 Specification - OASIS
Servicios de automatización
¿Necesita convertir esta información en un sistema que funcione?
Merobix integra SCADA, programa PLC Allen-Bradley y Siemens, y diseña y fabrica tableros de control industrial.
Las solicitudes de reunión se revisan antes de confirmarse.