Connectivity Framework 7: Connectivity Standards
7.2 IIOT CONNECTIVITY TRANSPORT STANDARDS 7.2.1 TCP AND UDP OVER IP
In the context of IIoT, the network layer is the internet protocol( IP). The IP suite also provides the UDP 1 and the TCP 2 transport on top of the IP layer. These IP transports provide the foundation for the other connectivity transports and frameworks.
UDP, Universal Datagram Protocol is a connectionless transport( see section 5.1.4) that provides best-effort delivery quality of service. A message is not resent if it is lost in the transmission. Messages may be received out-of-order. Messages are sent as quickly as possible, and so it is suitable for low latency real-time communications. A message shall be less than 64KB long. A connectivity transport or framework on top of UDP should therefore deal with fragmentation by caching and assembling portions of larger messages.
TCP, Transmission Control Protocol is a connection-oriented( see section 5.1.4) transport that provides reliable and ordered delivery quality of service. A message is resent if it is lost in transmission. Messages are delivered in order. This can lead to head-of-line blocking— high priority, time-critical messages may be blocked behind low priority, non-critical messages. Retries hold up all messages in the channel. Thus, message latencies can vary greatly, leading to large jitter, especially when messages are lost in transmission. The connection sequence can be expensive in time and resources. There is no inherent limit on the message size.
The choice between UDP and TCP at the connectivity transport level has significant implications for the connectivity framework and its suitability( see Figure 1-1). As shown in Figure 7-1, some connectivity frameworks require TCP and inherit its characteristics; some require UDP and inherit those characteristics; and some can use either to support the varying application requirements.
7.2.2 CONSTRAINED APPLICATION PROTOCOL( COAP)
Constrained Application Protocol( CoAP) is a connectivity transport standard inspired by HTTP, but designed to be more lightweight and efficient( see Figure 7-1). It was established using the UDP transport. The IETF maintains the CoAP open standard specification. Since its definition alternative transports using TCP with TLS 3, SMS, and Web Sockets have been developed.
CoAP is generally used in the operations domain( see Figure 1-1). Like HTTP, a client sends a request to a server, specifying a data object, an operation, and a payload. The server replies with failure or success and a response payload. In addition, a client can also register to be notified of any changes in data object. Unlike HTTP, it is suitable for device-to-device queries. However, retries and reordering are implemented in the application stack. CoAP is designed to interoperate with HTTP and the RESTful web services through simple proxies.
1
See [ IETF-RFC768 ]
2
See [ IETF-RFC793 ]
3
See [ IETF-RFC4279 ] IIC: PUB: G5: V1.0: PB: 20170228- 52-