【IoT】IoT Protocols

Posted by 西维蜀黍 on 2019-01-06, Last Modified on 2024-05-02
  • CoAP
  • MQTT
  • AMQP
  • Websocket

CoAP

CoAP, representing Constrained Application Protocol, is a specialized Application Layer. Although application layer usually use HTTP to communicate between different nodes, the communication through HTTP has to have high computation complexity and energy consumption. Internet Engineering Task Force (ITEF) therefore designed CoAP and specified it in IETF RFC 7252 for constrained nodes and networks in the IoT. CoAP enables low-power compute-constrained devices to communicate between each other even through a constrained network with low bandwidth and low availability.

Specifically, CoAP has the following features:
  • Based on UDP: CoAP is based on the lightweight UDP protocol (rather than the TCP protocol, which offers complex algorithms (e.g. congestion control) resulting in poor employment on resource-constrained devices)
  • Based on REST: CoAP provides URI and REST method (i.e., GET, POST, PUT, and DELETE method)
  • Retransmission mechanism provided: Since CoAP is based on the unreliable UDP, a retransmission mechanism is employed in CoAP in order to provide a resource discovery mechanism

As CoAP is a specialized protocol designed for IoT, CoAP is widely used in a huge number of IoT scenarios.

MQTT

MQTT (Message Queuing Telemetry Transport) is a lightweight publish-subscribe-based messaging protocol designed for resource constrained devices that have limited processing and storage capabilities, and that often run on batteries.

AMQP

Advanced Message Queuing Protocol (AMQP)

The AMQP is an open standard application layer protocol for message-oriented environments

Reference