m2m.foundation
Layer 3 and 4

Protocols

Eight protocols carry most machine-to-machine traffic. They are not rivals so much as answers to different questions: who starts the conversation, what happens when the link drops, and how much a device must understand about the thing it is talking to.

ProtocolSinceStandardTransportPattern
MQTT1999OASIS; ISO/IEC 20922:2016TCP (1883; 8883 with TLS)Publish / subscribe through a broker
CoAP2014IETF — RFC 7252UDP (5683; 5684 with DTLS)Request / response, REST-style
LwM2M2017OMA SpecWorksRuns over CoAP; MQTT and HTTP added in 1.2Device management and data, object model
AMQP 1.02012OASIS; ISO/IEC 19464:2014TCPBrokered queues, reliable transfer
OPC UA2008OPC Foundation; IEC 62541TCP binary, HTTPS; PubSub over UDP or a brokerClient / server with an information model; PubSub since 2018
DDS2004Object Management GroupUDP, RTPS wire protocolData-centric publish / subscribe, no broker
Modbus1979Modicon; now the Modbus OrganizationSerial (RTU), TCP (502)Poll / response, registers
Matter2022Connectivity Standards AllianceIPv6 over Thread, Wi-Fi, EthernetClusters and attributes; local control

MQTT

Since 1999Standard OASIS; ISO/IEC 20922:2016Transport TCP (1883; 8883 with TLS)

Written in 1999 by Andy Stanford-Clark of IBM and Arlen Nipper of Arcom to monitor an oil pipeline over a satellite link. Three delivery guarantees (QoS 0, 1, 2), retained messages and a “last will” that tells subscribers when a device drops off. Version 3.1.1 became an OASIS standard in 2014; version 5.0 followed in 2019.

CoAP

Since 2014Standard IETF — RFC 7252Transport UDP (5683; 5684 with DTLS)

HTTP’s verbs and URIs squeezed into a four-byte header for microcontrollers. “Observe” (RFC 7641) lets a client subscribe to a resource instead of polling it; OSCORE (RFC 8613) protects the message itself, so security survives a proxy.

LwM2M

Since 2017Standard OMA SpecWorksTransport Runs over CoAP; MQTT and HTTP added in 1.2

Lightweight M2M defines what a managed device looks like — standard objects for connectivity, location, firmware and so on — and how a server bootstraps, reads, writes and updates it. Version 1.0 was published in 2017, 1.1 in 2018 and 1.2 in 2020.

AMQP 1.0

Since 2012Standard OASIS; ISO/IEC 19464:2014Transport TCP

Heavier than MQTT and built for back-end integration: flow control, transactions and settlement of each transfer. Common on the cloud side of a machine fleet rather than on the device.

OPC UA

Since 2008Standard OPC Foundation; IEC 62541Transport TCP binary, HTTPS; PubSub over UDP or a broker

The lingua franca of factory automation. Its strength is the information model: a machine describes its own structure, so a client can discover what a press or a robot exposes rather than being told in advance.

DDS

Since 2004Standard Object Management GroupTransport UDP, RTPS wire protocol

Peers discover each other and share typed data with quality-of-service contracts — deadlines, history, reliability. It is the middleware underneath ROS 2, and turns up in vehicles, avionics and medical devices.

Modbus

Since 1979Standard Modicon; now the Modbus OrganizationTransport Serial (RTU), TCP (502)

The ancestor still in service. No security and no discovery, but almost every industrial gateway speaks it, which is why new systems are so often built on top of it.

Matter

Since 2022Standard Connectivity Standards AllianceTransport IPv6 over Thread, Wi-Fi, Ethernet

Version 1.0 shipped in October 2022. It standardises how home devices from different makers are commissioned and controlled locally, with device attestation certificates issued at manufacture.

Choosing

A battery sensor on a lossy network: CoAP, or LwM2M if it also needs managing. Many devices feeding many consumers through one place: MQTT. A factory cell where a client must discover what a machine offers: OPC UA. Robots and vehicles sharing state with deadlines and no central server: DDS. Legacy equipment: Modbus at the edge, translated by a gateway into one of the others.