IoT Session Layer Protocols
The session layer protocols review standards and protocols for message passing. Different standardization organizations introduce the IoT session layer protocols. There are different types of session layer protocol available with different functionality and range. MQTT and CoAP provide these needs through small message sizes, message management, and lightweight message overhead.
MQTT (Message Queue Telemetry Transport)
MQTT (Message Queue Telemetry Transport) is a messaging protocol which was introduced by IBM in 1999. It was initially built for monitoring sensor node and faraway tracking in IoT. Its suits are small, cheap, low-memory and low-power devices. MQTT provides embedded connectivity between applications and middleware in one side and another side it connects networks and communicators.
MQTT protocol is based on publish/subscribe architecture. The publish/subscribe architecture consists of three major components: publishers, subscribers, and a broker. According to IoT point of view, publishers are lightweight sensor devices that send their data to connected broker and goes back to sleep whenever possible. Subscribers are applications, which are interested in a certain topic or sensory data, so they are connected to brokers to be informed whenever new data are received. The broker receives the sensory data and filters them in different topics and sends them to subscribers according to interest in the topics.
SMQTT (Secure Message Queue Telemetry Transport)
SMQTT (Secure Message Queue Telemetry Transport) is an extension of MQTT protocol which uses encryption based on lightweight attribute encryption. The main advantage of this encryption is that it has a broadcast encryption feature. In this features, one message is encrypted and delivered to multiple other nodes. The process of message transfer and receiving consists of four major stages:
- Setup: In this phase, the publishers and subscribers register themselves to the broker and get a secret master key.
- Encryption: When the data is published to broker, it is encrypted by broker.
- Publish: The broker publishes the encrypted message to the subscribers.
- Decryption: Finally the received message is decrypted by subscribers with the same master key.
SMQTT is proposed only to enhance MQTT security feature.
CoAP
CoAP (Constrained Application Protocol) is a session layer protocol that provides the RESTful (HTTP) interface between HTTP client and server. It is designed by IETF Constrained RESTful Environment (CoRE) working group. It is designed to use devices on the same constrained network between devices and general nodes on the Internet. CoAP enables low-power sensors to use RESTful services while meeting their low power constraints. This protocol is specially built for IoT systems primarily based on HTTP protocols.
This network is used within the limited network or in a constrained environment. The whole architecture of CoAP consists of CoAP client, CoAP server, REST CoAP proxy, and REST internet.
The data is sent from CoAP clients (such as smartphones, RFID sensors, etc.) to the CoAP server and the same message is routed to REST CoAP proxy. The REST CoAP proxy interacts outside the CoAP environment and uploads the data over REST internet.
DDS
DDS (Data Distribution Service) is a middleware (sometimes called machine-to-machine (M2M)) communication protocol. It is implemented by the Object Management Group (OMG) standard for the real-time system with high speed and high-performance, scalable, dependable, and interoperable data exchange. This communication protocol is based on a publish-subscribe pattern for sending and receiving data, events, and commands among the nodes.
The DDS protocol has two main layers:
- Data-Centric Publish-Subscribe (DCPS): This layer delivers the information to subscribers.
- Data-Local Reconstruction Layer (DLRL): This layer provides an interface to DCPS functionalities, permitting the sharing of distributed data amongst IoT enabled objects.