CoAP

The IETF Constrained RESTful Environments (CORE) working group [CORE WG] has defined the Constrained Application Protocol (CoAP) [CoAP] which easily translates to HTTP for integration with the web, while meeting specialized requirements

such as: multicast support, very low overhead, and simplicity for constrained environments. CoAP has been designed as a generic protocol for LLNs taking into account the features of the underlying architecture [CoAParchitecture]. The CORE working group, instead of blindly making a compression of HTTP, defined a subset of the RESTful specification, making it interoperable with HTTP but also specializing it for so constrained environments. Briefly, the main features addressed by CoAP are:

·       Constrained web protocol specialized to M2M requirements.

·       Stateless HTTP mapping through the use of proxies or direct mapping of HTTP interfaces to CoAP.

·       UDP transport with application layer reliable unicast and best-effort multicast support.

·       Asynchronous message exchanges.

·       Low header overhead and parsing complexity.

·       URI and Content-type support.

·       Simple proxy and caching capabilities.

·       Optional resource discovery.

 

References

[CORE WG] http://datatracker.ietf.org/wg/core/charter/

[CoAP] Z. Shelby, K. Hartke, C. Bormann, and B. Frank, The Constrained Application Protocol (CoAP), RFC7252, June 2014

[CoAParchitecture] C. Bormann, A. P. Castellani, and Z. Shelby, “CoAP: An Application Protocol for Billions of Tiny Internet Nodes,” IEEE Internet Computing, vol. 16, no. 2, pp. 62–67, 2012.