APPLICATION LAYER IOT NETWORK TECHNOLOGIES
The application layer is the interface between the IoT device and the network with which it will communicate. It handles data formatting and presentation and serves as the bridge between what the IoT device is doing and the network handoff of the data it produces
HTTP and HTTPS are ubiquitous across internet applications, which is true also within IoT, with RESTful HTTP and HTTPS interfaces widely deployed. CoAP (Constrained Application Protocol) is like a lightweight HTTP that is often used in combination with 6LoWPAN over UDP. Messaging protocols like MQTT, AMQP, and XMPP are also frequently used within IoT applications:
MQTT
Message Queue Telemetry Transport (MQTT) is a publish/subscribe-based messaging protocol that was designed for use in low bandwidth situations, particularly for sensors and mobile devices on unreliable networks.
AMQP
Advanced Message Queuing Protocol (AMQP) is an open standard messaging protocol that is used for message-oriented middleware. Most notably, AMQP is implemented by RabbitMQ.
XMPP
The Extensible Messaging and Presence Protocol (XMPP) was originally designed for real-time human-to-human communication including instant messaging. This protocol has been adapted for machine-to-machine (M2M) communication to implement lightweight middleware and for routing XML data. XMPP is primarily used with smart appliances.
Your choice of technologies at this layer will depend on the specific application requirements of your IoT project. For example, for a budget home automation system that involves several sensors, MQTT would be a good choice as it is great for implementing messaging on devices without much storage or processing power because the protocol is simple and lightweight to implement.
The application layer refers to OSI Levels 5, 6, and 7. It is the application layer in the TCP-IP model. In IoT architecture, this layer lies above the service discovery layer. It is the highest layer in the architecture extending from the client ends. It is the interface between the end devices and the network. This layer is implemented through a dedicated application at the device end. As for a computer, the application layer is implemented by the browser. It is the browser that implements application layer protocols like HTTP, HTTPS, SMTP, and FTP. Same way, there are application layer protocols specified in the context of IoT as well.
This layer is responsible for data formatting and presentation. The application layer on the Internet is typically based on HTTP protocol. However, HTTP is not suitable in a resource-constrained environment because it is extremely heavyweight and thus incurs a large parsing overhead. So, there are many alternate protocols that have been developed for IoT environments. Some of the popular IoT application layer protocols are as follow –
• MQTT
• SMQTT
• CoAP
• DDS
• XMPP
• AMQP
• RESTful HTTP
• MQTT-SN
• STOMP
• SMCP
• LLAP
• SSI
• LWM2M
• M3DA
• XMPP-IOT
• ONS 2.0
• SOAP
• Websocket
• Reactive Streams
• HTTP/2
• JavaScript IOT
MQTT – Message Queuing Telemetry Transport is a lightweight messaging protocol. It uses publish-subscribe communication way and that’s why it is used for M2M (machine-to-machine) communication. It is based on TCP-IP protocol and is designed to operate in a limited bandwidth. In the protocol terminology, the limited network bandwidth is referred as a ‘small code footprint’. However, the exact meaning of limited network bandwidth is not clear in the specification.
This protocol has been specially designed for sensor networks and wireless sensor networks. MQTT allows devices to send or publish data information on a given topic to a server. There is an MQTT broker (Broker- Mosquitto) in between the publisher and subscriber. The broker then transfers the information to the clients that are previously subscribed.
The sensors are interfaced with a broker which is an IOT device or server that reads and publish sensor data. The other devices that subscribe for and request sensor data are called clients. The sensors themselves are referred as publishers in the network. The client can be a laptop, smartphone, tablet or another mobile device. The client devices need to subscribe to the broker in the network to receive sensor data. For receiving data, the subscribed client devices have to establish a connection with the broker and request data. The broker takes data from the publisher (wireless sensors) and sends it to the client requesting for it. Even if the connection with the client device is broken after the request has been made, the broker saves the data in a cache so that when the client device reconnects with the broker, it could receive the requested sensor data. Similarly, if the connection between the publisher and the broker is broken after the request has been made, the broker forwards appropriate instructions sent by the publisher, so that the client device can reconnect and receive the requested data.
So, MQTT fares well even when the connection between the broker and the publisher or broker and the client is broken due to limited network bandwidth. This ability to deal with delay or latency in network makes this protocol quite suitable for wireless networks.
Recommended Articles
NETWORK ACCESS AND PHYSICAL LAYER IOT NETWORK TECHNOLOGIES
IoT NETWORKING CONSIDERATIONS AND CHALLENGES
Soil Nutrient Depletion and Imbalances
Fundamentals of Internet of Things IoT
INTERNET OR WEB AND NETWORKING BASICS OSI MODEL
Describe the role of credit in rural development.
Problems on Final Accounts of Charitable Trust
Machine To Machine Communication M2M
What are the essential ingredients of empowerment? Explain the role of the panchayats as an agent of political empowerment.
Architecture of IoT Internet of Things