top of page

The CoAP protocol

CoAP - Constrained Application Protocol (rfc 7252) is a specialized internet protocol designed for constrained devices. It uses UDP packets for transport and DTLS (Datagram  Transport Layer Security) for security. Major standardization done by The Internet Engineering Task Force (IETF) Constrained RESTful Environments Working Group (Core)

 

CoAP Resembles closely HTTP requests (GET, POST, PUT, DELETE) and  responses (2xx, 4xx , 5xx). It 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

 

CoAP is used today primarily as the underlying transport layer for the lwM2M device management protocol which is in wide use especially in cellular connected devices

Compare_lwm2m_copx

How does Copxy compare with lwM2M

lwM2M is a device management framework designed for IoT constrained devices. Its primary purpose is to provide device management and FW upgrade services and it is based on a Object Based data model.

 

Copxy is built primarily for data delivery purposes and designed to provide more flexible data delivery pipeline than lwM2M. In Copxy we eliminated the lwM2M application layer and the object based data representation as they impose a rigid data structure and lwM2M specific application flow (registration and reg updates) that requires an intermediate lwM2M server to handle. These rules and limitations limit the flexibility of adding and modifying the data pipe or receiving endpoints and make the integration with lwM2M cumbersome and inflexible.

​

The main advantages Copxy has over lwM2M for data delivery are:

  • Copxy eliminates the lwM2M application and use of the resource based READ/WRITE/EXEC model. Instead it presents a Request/Response model identical to HTTP use of GET/POST/PUT requests

  • Devices working with Copxy do not need to register or keep alive any server

  • Copxy does not need external object configurations to deliver data payloads.

  • More importantly there is no need to add / modify any object resources when payload is modified

  • Copxy is using the same lower stacks as lwM2M thus gaining all the benefits lwM2M can present in the traffic layers and security

  • Copxy has a few more distinct features for provisioning and onboarding which are not part of the standard lwM2M server

copxy_lwm2m_sw_stack.png
NB-IoT Challanges

The challenges of NB-IoT networks

The majority of cellular IoT deployments use CAT-M1 or NB-IoT networks, with NB-IoT becoming more and more dominant, especially in Europe

​

CAT-M1 LTE is basically an LTE deployment suited specifically for IoT devices. It operates in lower bandwidths and with about 300 kbps uplink+downlink it can provide about 100 kbps application throughput

 

NB-IoT has a much smaller bandwidth of only 200 KHz which can provide only 60 kbps uplink and 30 kbps downlink. This translates to very low application throughput and also large latencies. NB-IoT2 will improve that in the future on supported networks. At these low rates maintaining reliable TCP connections is very problematic and most devices will not be able to communicate reliably on TCP and especially via secured TLS connections

​

Recent studies and analysis of current deployments depict clearly the advantages of CoAP for NB-IoT. In fact most studies are conclusive: MQTT does not work well on NB-IoT and CoAP does!

​

Here are some interesting links for further reading:

​

An elaborate research paper tested the impact of CoAP and MQTT on NB-IoT on the device, and the devices’ impact on the network
 
Read this interesting paperImpact of CoAP and MQTT on NB-IoT System Performance (by Anna Larmo, Anti Ratilainen & Juha Saarinen)
T-Mobile (operator of both CAT-M1 and NB-IoT) strongly recommends using CoAP on all NB-IoT deployments.  Read more on T-Mobile’s IoT developers guide
ECDlogo_whiteREV2016_2x.png
Read this article on Embedded Computing Design
bottom of page