MQTT is becoming a popular protocol for Industrial IoT (Internet of Things) data. Developed for connecting remote devices to a central server, it is lightweight, efficient, and secure. However, IoT implementations are growing larger and more complex, and demand is increasing for OT/IT connectivity. MQTT is now being called on to aggregate and send diverse collections of data values over increasingly complex network topologies.
To meet these challenges MQTT must get smarter. As a transport protocol, MQTT specifies that messages are simply carried—not read—like a letter in the post. But that doesn’t have to be the case. What would happen if the letter carrier could read the mail? In other words, what if we gave an MQTT broker the ability to parse the messages it carries? It would be able to handle messages more intelligently and include some information on the status of the data source or quality of the connection.
Data collection
A smart broker should be able to collect data
in an intelligent way. For example, on large
systems data can come from a wide variety
of MQTT devices, each with its own message
format. A broker that parses messages could
convert these to a common message representation
and make that available to all clients.
Other data sources might include non-MQTT
protocols such as OPC UA, Modbus, DDE, and
others. A smart broker with protocol conversion
capabilities could act as a gateway for this
data to any MQTT client or cloud ser vice.
Data consistency
In real-time industrial systems, data consistency
from source to consumer is vital. Data that’s
stale or out of correct time sequence can lead to
incorrect decisions. Any disconnects or network
irregularities must be known.
Data can become inconsistent in several ways. If messages arrive at an MQTT broker faster than they can be delivered, some may be dropped. Or data from multiple message streams may get sent to a client out of sequence. Also, if a data source goes offline, the client may not know whether an unchanged value is current or stale.
A smart broker can ensure data consistency by queueing incoming data in an intelligent way, passing on only the latest values. It can also parse timestamps on messages from different data streams to sequence them properly, as well as pass along data and connection quality information with each value update.
Data security
Security is critical when accessing data from a
production system. The MQTT push architecture
that connects outbound through firewalls is
quite secure, but many corporate security policies
require isolating OT systems using a DMZ. This is
problematic for MQTT since messages must be
passed via two or more servers, while MQTT quality
of service guarantees are only valid for a single
sender-receiver hop. As a result, data at the end
of a multi-hop daisy chain can become unreliable.
A smart broker that parses messages and converts protocols can solve this problem by using a tunnel. The device producing the MQTT data would connect to one instance of the smart broker. The message data, along with quality and timestamp information, gets tunnelled via a secure, TCP-enabled protocol to a second instance of the smart broker. That instance would convert the data back into MQTT, with values, timestamps, and quality codes intact.