Beyond MQTT: A Cisco View on IoT Protocols

A core part of Cisco’s Internet of Everything narrative is the Internet of Things—what we view as the latest wave of the Internet – connecting physical objects in ways that help us analyze and control our environment to provide better safety, comfort, and efficiency.

This is not a new concept—RFID was introduced in the late 1960s—but it has reached a tipping point for IP connectivity, driven by advances in sensor technology, IPv6, and electronics miniaturization.

Amid this move toward IP, Cisco is continuing its long-standing participation in OASIS (Organization for the Advancement of Structured Information Standards) by participating in the effort to produce an MQTT standard.

So where does MQTT fit in with other popular IoT messaging stacks that Cisco is helping to develop?

CoAP (Constrained Application Protocol) over UDP is used for resource constrained, low-power sensors and devices connected via lossy networks, especially when there is a high number of sensors and devices within the network. Soon to be released as a suite of IETF RFCs, CoAP has already found success as a key enabling technology for electric utility AMI (advanced metering infrastructure) and DI (distributed intelligence) applications within Cisco’s Field Area Network.

XMPP (Extensible Messaging and Presence Protocol) has its roots in instant messaging and is a contender for mass scale management of consumer white goods, such as washers, dryers, refrigerators, and so on. But because it assumes a persistent TCP connection and lacks an efficient binary encoding, it’s typically not been practical over LLNs (Low-power and Lossy Networks). But the recent work of XEP-0322, XEP-323, and XEP-324 aim to make XMPP suited for IoT.

RESTful HTTP over TCP is particularly attractive for connecting consumer premise devices, given the near universal availability of HTTP stacks for various platforms. The RESTful HTTP approach has found success in smaller scale LLNs requiring message latencies of several seconds (home energy management, etc.).

The table below explains how we view the IoT protocol landscape.

Protocol | CoAP | XMPP | RESTful HTTP | MQTT
Transport | UDP | TCP | TCP | TCP
Messaging | Request/Response | Publish/Subscribe Request/Response | Request/Response | Publish/Subscribe Request/Response

2G, 3G, 4G Suitability (1000s nodes)

Excellent

Excellent

Excellent

Excellent

LLN Suitability (1000s nodes)

Excellent

Fair

Fair

Fair

Compute Resources

10Ks RAM/Flash

10Ks RAM/Flash

10Ks RAM/Flash

10Ks RAM/Flash

Success Storied | Utility Field Area Networks | Remote management of consumer white goods | Smart Energy Profile 2 (premise energy management/home services) | Extending enterprise messaging into IoT applications

Connecting sensors and objects opens up an entirely new world of possible use cases—and it’s precisely those use cases that will determine when to use the right protocols for the right applications.