3 Engineering IoT Networks
155
Internet
Constrained
Environment
Server
Server
Client
Proxy
C
C
C
C
REST
HTTP
HTTP
CoAP
CoAP
CoAP
CoAP
REST Server
HTTP
TLS/TCP
IP
Web Application
Server
CoAP/HTTP Proxy Service
TLS/TCP
IP
DTLS/UDP
6LoWPAN
Proxy
REST Client
CoAP
DTLS/UDP
6LoWPAN
IoT Node
HTTP
CoAP
REST
Fig. 3.32 CoAP/HTTP interoperation through a proxy mechanism: in the upper part, network
deployment and interconnection, in the lower part, protocol stacks of the involved nodes
Fig. 3.33 CoAP protocol:
example of confirmable
message exchange
Client
Server
CON (ID: 0x0001)
ACK (ID: 0x0001)
Fig. 3.34 CoAP protocol:
example of reset answer
Client
Server
CON (ID: 0x0001)
RST
The non-confirmable (NON) messages instead do not require an acknowledge
by the server. They are unreliable messages, which usually do not contain critical
information that must be absolutely delivered to the server. Examples of nonconfirmable messages are those that contain values read from sensors. Even if these
messages are considered unreliable, they still need to have a unique ID associated.
Figure 3.35 shows an example of a non-confirmable message.
155
Internet
Constrained
Environment
Server
Server
Client
Proxy
C
C
C
C
REST
HTTP
HTTP
CoAP
CoAP
CoAP
CoAP
REST Server
HTTP
TLS/TCP
IP
Web Application
Server
CoAP/HTTP Proxy Service
TLS/TCP
IP
DTLS/UDP
6LoWPAN
Proxy
REST Client
CoAP
DTLS/UDP
6LoWPAN
IoT Node
HTTP
CoAP
REST
Fig. 3.32 CoAP/HTTP interoperation through a proxy mechanism: in the upper part, network
deployment and interconnection, in the lower part, protocol stacks of the involved nodes
Fig. 3.33 CoAP protocol:
example of confirmable
message exchange
Client
Server
CON (ID: 0x0001)
ACK (ID: 0x0001)
Fig. 3.34 CoAP protocol:
example of reset answer
Client
Server
CON (ID: 0x0001)
RST
The non-confirmable (NON) messages instead do not require an acknowledge
by the server. They are unreliable messages, which usually do not contain critical
information that must be absolutely delivered to the server. Examples of nonconfirmable messages are those that contain values read from sensors. Even if these
messages are considered unreliable, they still need to have a unique ID associated.
Figure 3.35 shows an example of a non-confirmable message.
