IoT Bytes

Bits and Bytes of IoT

Application Protocols for IoT

Pradeep Singh | 9th May 2016

protocol_icon

 

One of the major auspect of the IoT is the data exchange between Sensors, Servers, Databases, Business Engines and Content Consumers. While there are many protocols available to enable this communication between different classes of endpoints, there are some protocols which are designed keeping IoT specific requirements in mind. Let’s explore some of such protocols which are becoming more and more popular in IoT Applications.

1. Message Queuing Telemetry Transport (MQTT):

mqttorg-glow

MQTT or Message Queuing Telemetry Transport is a publish-subscribe based lightweight messaging protocol. It is best suited for Internet of Things (IoT) and Machine to Machine (M2M) communication because of its small code footprint, lower bandwidth requirements and lower power consumption on device.

  • Key Highlights:
  • Publish/Subscribe Architecture
  • Light Weight (Min Header Size: 2 Bytes)
  • TCP/IP Based
  • QoS Support
  • Payload Agnostic
  • Uses SSL/TLS for Security
  • Broker could be Single Point of Failure

More Information…

2. Advanced Message Queuing Protocol (AMQP):

amqp-logo

The Advanced Message Queuing Protocol (AMQP) is an open standard for passing business messages between applications. AMQP has low success rate at low bandwidths, but it increases as bandwidth increases. However, comparing AMQP with REST, AMQP can send a larger amount of messages per second.

  • Key Highlights:
  • Point to Point Message Exchange (Server to Server)
  • Flexible Messaging Patterns
  • TCP/IP Based
  • Smallest Packet Size: 60 Bytes
  • QoS Support
  • Uses SSL/TLS for Security

More Information…

3. Constrained Application Protocol (CoAP):

CoAP

The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained networks in the IoT. It runs over UDP (no TCP overhead) to keep the overall implementation lightweight and uses the HTTP commands like GET, POST, PUT, and DELETE to provide resource-oriented interactions.

  • Key Highlights:
  • Request/Response Architecture
  • UDP/IP Based
  • QoS Support
  • Supports Unicast as well as Multicast
  • Uses DTLS for Security
  • Supports Resource Discovery
  • CoAP Node plays Server Role too (NAT Issues)
  • Decentralised (No Single Point of Failure)

More Information…

4. Extensible Messaging and Presence Protocol (XMPP):

xmpp_logo

XMPP is the Extensible Messaging and Presence Protocol, a set of open technologies for instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data.

  • Key Highlights:
  • Publish/Subscribe and Request/Response Architecture
  • Widely used for Instant Messaging, Presence, Voice/Video Calls etc.
  • No QoS Support
  • Text Based Communication (XML Payload)
  • Secure Authentication (SASL) and TLS Based Security
  • XML Payload creation and parsing may need extra compute and battery power.

More Information…

5. Very Simple Control Protocol (VSCP):

logoVSCP

VSCP is an open source standard protocol for M2M, IoT and other remote control and measurement applications. It enables simple, low-cost devices to be networked together with high-end computers and/or to work as an autonomous system, whatever the communication media is.

  • Key Highlights:
  • Event Based Architecture
  • Leverages RS-323, CAN and/or TCP/IP
  • Support for Device Discovery, Identification and Configuration
  • Support for Secure Device firmware update
  • A solution from sensor to UI

More Information…

6. Data Distribution Service (DDS):

DDS-logo-slogan-new

The Data Distribution Service (DDS) is a middleware protocol and API standard for data-centric connectivity from the Object Management Group. It integrates the components of a system together, providing low-latency data connectivity, extreme reliability, and a scalable architecture that business and mission-critical Internet of Things (IoT) applications need.

  • Key Highlights:
  • Publish/Subscribe and Request/Response Architecture
  • Relational data modeling
  • QoS Support
  • Multicast support over plain UDP sockets
  • Leverages both TCP/IP and UDP/IP Transport
  • Uses TLS and DTLS for Security
  • Decentralised (No Single Point of Failure)

More Information…

7. RESTful HTTP (REST):

REST

The Representational State Transfer (REST) is not really a protocol but an architectural style. REST uses the HTTP methods GET, POST, PUT, and DELETE to provide a resource oriented messaging system where all actions can be performed simply by using the synchronous request/response HTTP commands.

  • Key Highlights:
  • Request/Response Architecture
  • TCP/IP Based
  • No QoS Support
  • Complex Implementation at Client Side
  • Larger Header compared to other IoT Protocols (Higher Bandwidth Requirement)
  • Uses SSL/TLS for Security

More Information…

8. OMA LightweightM2M (LWM2M):

LWM2M

LightweightM2M is primarily a device management protocol, but it should be designed to be able to extend to meet the requirements of applications. LightweightM2M is not restricted to device management, it should be able transfer service / application data.

  • Key Highlights:
  • Simple Object based resource model. Resource operations of creation/retrieval/update/deletion/configuration of attribute
  • TLV, Json, Plain Text, Opaque data format support
  • UDP/IP and SMS transport layer support
  • Uses DTLS for Security
  • Basic M2M functionalities: LWM2M Server, Access Control, Device, Connectivity, Firmware Update, Location, Connectivity Statistics

More Information…

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: