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.
[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.