As per Wikipedia and Mqtt.org,
MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport.
In comparison with other TCP/IP or socket based protocols, what makes MQTT "extremely light-weighted"?
MQTT is considered a lightweight protocol because all its messages have a small code footprint. Each message consists of a fixed header -- 2 bytes -- an optional variable header, a message payload that is limited to 256 megabytes (MB) of information and a quality of service (QoS) level.
A lightweight protocol in computer networking is a communication protocol that is characterized by a relatively small overhead (caused e.g. by bulky metadata) in transmitted on top of the functional data: Lightweight Directory Access Protocol. Lightweight Extensible Authentication Protocol.
MQTT is a very lightweight messaging protocol. Specifically designed for machine-to-machine telemetry, it's quickly rising in popularity for Internet of Things (IoT) connections. It was originally designed by Andy Standford-Clark at IBM and Arlen Nipper.
MQTT is a binary protocol with strength in simplicity to be ideal for mobile IoT app and M2M. It provides the pub/sub messaging pattern and is designed for resource-constrained devices, low bandwidth and high latency networks. MQTT is specified by the official OASIS Standard.
The protocol overhead of MQTT is extremely small, the smallest packet has only 2 bytes overhead. The payload-to-overhead ratio is typically extremely good. It's also a binary protocol which reduces the overhead on the wire a lot.
An older but good blog post about the lightweightness can be found here: http://stephendnicholas.com/archives/1217
If you are interested in protocol details, check out this extensive blog post series: http://www.hivemq.com/mqtt-essentials-wrap-up/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With