Protocol summary and comparison
A summary and comparison of the various protocols is now given. It should be noted that there are exceptions to some of these categories. For example, while MQTT offers no built-in security provisioning, it can be layered at the application level. In all cases, there are exceptions and the table is built from the formal specifications:
MQTT | MQTT-SN | CoAP | AMQP | STOMP | HTTP/RESTful | |
Model | MOM pub/sub | MOM pub/sub | RESTful | MOM | MOM | RESTful |
Discovery protocol | No | Yes (via gateways) | Yes | No | No | Yes |
Resource demands | Low | Very Low | Very Low | High | Medium | Very High |
Header Size (bytes) | 2 | 2 | 4 | 8 | 8 | 8 |
Average power usage | Lowest | Low | Medium | High | Medium | High |
Authentication | No (SSL/TLS) | No (/TLS) | No (DTLS) | Yes | No | Yes (TLS) |
Encryption | No (SSL/TLS) | No (SSL/TLS) | No (DTLS) | Yes | No |
Yes (TLS) |
Access controls | No | No | No ( proxy) | Yes | No | Yes |
Communication overhead | Low | Very Low | Very Low | High | High, verbose | High |
Protocol complexity | Low | Low | Low | High | Low | Very High |
TCP/UDP | TCP | TCP/UDP | UDP | TCP/UDP | TCP | TCP |
Broadcasting | Indirect | Indirect | Yes | No | No | No |
Quality of Service | Yes | Yes | With CON messages | Yes | No... |