Internet of Things (IOT) has been called the Third Wave in information industry following the computer and the Internet. There are hundreds of protocols supported by IoT. Of the many protocols, wireless protocols play an important role in IoT development. IOT is represented as a global network which intelligently connects all the objects no matter devices, systems or human, it is with self-configuring capabilities based on standard and interoperable protocols and formats.
IoT needs to integrate various sensors, computer and communication equipment, which are using different communication protocols. Wireless Protocols are mainly used in three layers, which are PHY/MAC layer, Network/Communication layer and Application layer.
Constrained Application Protocol (CoAP) is one of the latest application layer protocol developed by IETF for smart devices to connect to Internet. As many devices exist as components in vehicles and buildings with constrained resources, it leads a lot of variation in power computing, communication bandwidth etc. Thus lightweight protocol CoAP is intended to be used and considered as a replacement of HTTP for being an IoT application layer protocol.
Application layer usually employ HTTP to provide web service, but HTTP has high computation complexity, low data rate and high energy consumption. Therefore, IETF has developed several lightweight protocols, e.g., CoAP, Embedded Binary HTTP (EBHTTP), Lean Transport Protocol (LTP). The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks.
CoAP Features
- Constrained web protocol fulfilling M2M requirements
- Security binding to Datagram Transport Layer Security (DTLS)
- Asynchronous message exchanges
- Low header overhead and parsing complexity.
- URI and Content-type support.
- Simple proxy and caching capabilities
- UDP binding with optional reliability supporting unicast and multicast requests.
- A stateless HTTP mapping allowing proxies to be built providing access to CoAP resources via HTTP in a uniform way or for HTTP simple interfaces to be realized alternatively over CoAP.
CoAP Vs HTTP
Unlike HTTP based protocols, CoAP operates over UDP instead of using complex congestion control as in TCP. CoAP is based on REST architecture, which is a general design for accessing
Internet resources. In order to overcome disadvantage in constrained resource, CoAP need to optimize the length of datagram and provide reliable communication. On one side, CoAP provides URI, REST method such as GET, POST, PUT, and DELETE. On the other side, based on lightweight UDP protocol, CoAP allows IP multicast, which satisfies group communication for IoT. To compensate for the unreliability of UDP protocol, CoAP defines a re-transmission mechanism and provides resource discovery mechanism with resource description.
With the completion of the CoAP specification, it is expected that there will be million of devices
deployed in various application domains in the future. These applications range from smart energy,
smart grid, building control, intelligent lighting control, industrial control systems, asset tracking, to
environment monitoring. CoAP would become the standard protocol to enable interaction between
devices and to support IoT applications