Overview

IoT Protocols

IoT protocols are communication conventions for enabling data exchange between devices in Internet of Things environments. Centered around lightweight messaging protocols such as MQTT, CoAP, and AMQP, various protocols exist to meet different use cases and requirements, including XMPP, DDS, HTTP, and LwM2M. These protocols are designed to accommodate the characteristics of IoT devices, including bandwidth constraints, power consumption, latency, and reliability. They are widely utilized across diverse fields such as smart homes, industrial automation, smart cities, and healthcare.

IoT protocol MQTT CoAP AMQP communication M2M smart devices
code slug name description architecture bestFor fullName headerSize powerConsumption qosLevels transportProtocol
01 mqtt MQTT Lightweight publish-subscribe messaging protocol Broker-based (Pub/Sub) ["unreliable networks","remote monitoring","smart homes","industrial automation"] Message Queuing Telemetry Transport 2 bytes moderate 3 TCP
02 coap CoAP Lightweight web transfer protocol for constrained devices Client-Server (RESTful) ["battery-powered devices","constrained networks","smart agriculture","LPWAN"] Constrained Application Protocol 4 bytes low 2 UDP
03 amqp AMQP Advanced message queuing protocol for enterprise Broker-based (Multiple patterns) ["enterprise integration","financial systems","healthcare","mission-critical applications"] Advanced Message Queuing Protocol variable (larger) high 3 TCP
04 xmpp XMPP XML-based real-time communication protocol Distributed (Client-Server) ["instant messaging","presence detection","chat applications","device management"] Extensible Messaging and Presence Protocol variable (XML overhead) moderate 1 TCP
05 dds DDS Middleware protocol for real-time data distribution Brokerless (Pub/Sub) ["industrial automation","robotics","defense systems","automotive","real-time systems"] Data Distribution Service variable high 22 UDP/TCP
06 http-https HTTP/HTTPS Standard protocol for web communication Client-Server (Request/Response) ["web applications","device management portals","data visualization","RESTful APIs"] HyperText Transfer Protocol / HTTP Secure 800+ bytes high 1 TCP
07 lwm2m LwM2M Lightweight M2M device management protocol Client-Server ["device management","firmware updates","smart metering","asset tracking"] Lightweight M2M 4+ bytes low 2 UDP (over CoAP)
08 mqtt-sn MQTT-SN MQTT protocol for sensor networks Broker-based (Pub/Sub) ["sensor networks","non-IP networks","Zigbee","LoRaWAN","Bluetooth"] MQTT for Sensor Networks 2-5 bytes low 3 UDP
09 opc-ua OPC UA M2M communication protocol for industrial automation Client-Server ["industrial automation","process control","manufacturing","Industry 4.0"] OPC Unified Architecture variable moderate 2 TCP
10 websocket WebSocket Web protocol enabling full-duplex communication Client-Server (Full-duplex) ["real-time streaming","chat applications","live dashboards","bidirectional communication"] WebSocket Protocol 2-14 bytes moderate 1 TCP

A list of protocols used for communication between Internet of Things (IoT) devices.