The Constrained Application Protocol (CoAP) has been designed by the Internet Engineering Task Force (IETF) for Internet of Things (IoT) communications. CoAP is a lightweight, request/response-based RESTful protocol that has been tailored to fulfill the requisites of IoT environments, such as severely limited device hardware and link capacities. In IoT networks, congestion is a major issue that causes performance losses or may even render the network useless. Thus, the use of a congestion control mechanism is essential for the performance of such networks. CoAP defines a very basic congestion control mechanism for the reliable exchange of messages between endpoints, however it does not specify congestion control for communications without end-to-end reliability, even though the latter represent a relevant share of CoAP communications. Two extensions to CoAP, Observe and Simple CoAP Congestion Control/Advanced (CoCoA), introduce rate control mechanisms for such communications yet these extensions have not yet been compared or evaluated. In this paper, we empirically evaluate these rate control mechanisms for unreliable CoAP communications between devices over emulated GPRS/UMTS links and in a real IEEE 802.15.4 multihop testbed of constrained devices. The results show that in contrast to Observe, CoCoA performs better than, or at least similarly to, default CoAP in terms of both packet delivery ratio and delay in all analyzed scenarios.
['August Betzler', 'Javier Isern', 'Carles Gomez', 'Ilker Demirkol', 'Josep Paradells']
Experimental evaluation of congestion control for CoAP communications without end-to-end reliability