KEMBAR78
CoAP Protocol Structure & Steps | PDF | Internet Protocols | Computer Standards
0% found this document useful (0 votes)
115 views3 pages

CoAP Protocol Structure & Steps

1) CoAP (Constrained Application Protocol) is an IoT protocol that is designed for constrained devices and networks. It uses UDP and has a simple request-response messaging system. 2) CoAP messages come in four types - confirmable, non-confirmable, acknowledgement, and reset. Confirmable messages provide reliability through acknowledgements. 3) The CoAP protocol stack has two layers - a messages layer dealing with UDP messaging and a request-response layer managing interactions through request and response messages.

Uploaded by

Ameya Dalvi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
115 views3 pages

CoAP Protocol Structure & Steps

1) CoAP (Constrained Application Protocol) is an IoT protocol that is designed for constrained devices and networks. It uses UDP and has a simple request-response messaging system. 2) CoAP messages come in four types - confirmable, non-confirmable, acknowledgement, and reset. Confirmable messages provide reliability through acknowledgements. 3) The CoAP protocol stack has two layers - a messages layer dealing with UDP messaging and a request-response layer managing interactions through request and response messages.

Uploaded by

Ameya Dalvi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Name: Ameya Dalvi

Gr No: 1710610
Roll No:18
Div.: Q

COAP protocol frame structure and


implementation steps for application
Introduction
CoAP is an IoT protocol. CoAP stands for Constrained Application Protocol, and it is defined in RFC
7252. CoAP is a simple protocol with low overhead specifically designed for constrained devices
(such as microcontrollers) and constrained networks. This protocol is used in M2M data exchange
and is very similar to HTTP

The main features of CoAP protocols are:

 Web protocol used in M2M with constrained requirements


 Asynchronous message exchange
 Low overhead and very simple to parse
 URI and content-type support
 Proxy and caching capabilities

From the abstraction protocol layer, CoAP can be


represented as in the figure beside :

As you can see there are two different layers that make
CoAp protocol: Messages and Request/Response. The
Messages layer deals with UDP and with asynchronous
messages. The Request/Response layer manages
request/response interaction based on request/response
messages.

CoAP supports four different message types:

 Confirmable

 Non-confirmable Figure 1 :CoAP Layers


 Acknowledgment
 Reset

CoAP Messages Model / Format


This is the lowest layer of CoAP. This layer deals with UDP exchanging messages between endpoints.
Each CoAP message has a unique ID; this is useful to detect message duplicates. A CoAP message is
built by these parts:
 A binary header
 A compact option
 Payload

The constrained application protocol is the meat for constrained environments, and for this
reason, it uses compact messages. To avoid fragmentation, a message occupies the data section
of a UDP datagram. A message is made by several parts:

Where:

 Ver: It is a 2 bit unsigned integer indicating the version

 T: it is a 2 bit unsigned integer indicating the message type: 0 confirmable, 1 non-


confirmable

 TKL: Token Length is the token 4 bit length

 Code: It is the code response (8 bit length)

 Message ID: It is the message ID expressed with 16 bit

 And so on.

 CoAP protocol uses two kinds of messages:

 Confirmable message
 Non-confirmable message

A confirmable message is a reliable message. When exchanging messages between two endpoints,
these messages can be reliable. In CoAP, a reliable message is obtained using a Confirmable message
(CON). Using this kind of message, the client can be sure that the message will arrive at the server. A
Confirmable message is sent again and again until the other party sends an acknowledge message
(ACK). The ACK message contains the same ID of the confirmable message (CON).

The other message category is the Non-confirmable (NON) messages. These are messages that don’t
require an Acknowledge by the server. They are unreliable messages or in other words messages
that do not contain critical information that must be delivered to the server. To this category
belongs messages that contain values read from sensors.
CoAp Request/Response Model
The CoAP Request/Response is the second layer in the
CoAP abstraction layer. The request is sent using a
Confirmable (CON) or Non-Confirmable (NON)
message. There are several scenarios depending on if
the server can answer immediately to the client
request or the answer if not available.

If the server can answer immediately to the client


request, then if the request is carried using a
Confirmable message (CON), the server sends back to
the client an Acknowledge message containing the
response or the error code

As you can notice in the CoAP message, there is a


Token. The Token is different from the Message-ID Figure 2: Confirmable message
and it is used to match the request and the response.

If the server can’t answer to the request coming from the


client immediately, then it sends an Acknowledge message
with an empty response. As soon as the response is
available, then the server sends a new Confirmable
message to the client containing the response. At this
point, the client sends back an Acknowledge message

If the request coming from the client is carried using a


NON-confirmable message, then the server answer using a
NON-confirmable message.

Figure 3: Non-Confirmable Message

Conclusion

CoAP uses a request-response paradigm. CoAP is essentially a one-to-one protocol very similar to
the HTTP protocol.  CoAP is more suitable for state transfer. This protocol is used in M2M data
exchange. CoAP is specifically designed for IoT and in more details for M2M so it is very optimized
for this task.

You might also like