Constrained Application Protocol

This is an old revision of this page, as edited by AnomieBOT (talk | contribs) at 12:55, 30 December 2011 (Dating maintenance tags: {{Disambiguation needed}}). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Constrained Application Protocol (CoAP), is an Application layer protocol that is intended for use in resource-constrained internet devices, such as WSN nodes. CoAP is designed to easily translate to HTTP for simplified integration with the web, while also meeting specialized requirements such as multicast support, very low overhead, and simplicity [1][2]. Multicast, low overhead, and simplicity are extremely important for Internet of Things (IoT) and M2M [disambiguation needed] devices, which tend to be deeply embedded and have much less memory and power supply than traditional internet devices have. Therefore, efficiency is very important. CoAP can run on most devices that support UDP or a UDP analogue.

The Internet Engineering Task Force (IETF) Constrained RESTful environments (CoRE) Working Group has done the major standardization work for this protocol. In order to make the protocol suitable to IoT and M2M applications, various new functionalities have been added. This protocol is still under development.

Features

The CoRE group has proposed the following features for CoAP:

  • RESTful protocol design minimizing the complexity of mapping with HTTP.
  • Low header overhead and parsing complexity.
  • URI and content-type support.
  • Support for the discovery of resources provided by known CoAP services.
  • Simple subscription for a resource, and resulting push notifications.
  • Simple caching based on max-age.

The mapping of CoAP with HTTP is also defined, allowing proxies to be built providing access to CoAP resources via HTTP in a uniform way.

Message Formats

CoAP makes use of two message types, requests and responses, using a simple binary base header format. The base header may be followed by options in ICMP-style Type-Length-Value format. CoAP is by default bound to UDP and optionally to TCP as described in Section 4.

Any bytes after the headers in the packet are considered the message body if any. The length of the message body is implied by the datagram length. When bound to UDP the entire message MUST fit within in a single datagram. When used with 6LoWPAN [RFC4944], messages SHOULD fit into a single 802.15.4 frame to minimize fragmentation.

References

  1. ^ Constrained Application Protocol (CoAP) draft-shelby-core-coap-07 https://datatracker.ietf.org/doc/draft-ietf-core-coap/
  2. ^ "Integrating Wireless Sensor Networks with the Web" , Walter, Colitti 2011