A Protocol Stack for Narrowband IoT
Posted: Sat Jan 25, 2025 4:37 am
While the first part of my blog series focused on the NB-IoT technology, the second part is about the technical aspects of its use. The advantages of data transmission via Narrowband-IoT can quickly be lost if used incorrectly.
TCP or UDP: the choice of communication protocol
Classic communication protocols in the IoT context such as MQTT or AMQP are based on the network protocol Transmission Control Protocol (TCP). A special feature of TCP is that, in contrast to its connectionless counterpart, the User Datagram Protocol (UDP), it provides for an acknowledgement of the individual TCP packets in addition to the lack of support for broad and multicast messages.
The individual packets transmitted by the sender are confirmed by indonesia consumer email list the receiver, which leads to the transmission of further messages. If the sender does not receive a corresponding confirmation for a packet, it is sent again. The basic principle of UDP, on the other hand, can be described as "fire and forget": data is transmitted to the receiver, but successful delivery is irrelevant for the sender.
In contrast to UDP, TCP-based connections already create an undesirable overhead at the transmission protocol level due to the TCP handshake. This effect is further amplified by the higher latencies expected in narrowband IoT. These can lead to handshakes or packet transmissions running into timeouts. Unfavorable operating environments such as basements or underground car parks further amplify this effect.
The resulting additional transmission attempts lead to increased energy consumption in battery-operated devices. Although some manufacturers promise a battery life of up to ten years for narrowband IoT devices, this is reduced to just a few days if used improperly. The resulting more frequent maintenance work, for which technicians may have to be sent out into the field, ultimately leads to a further increase in operating costs.
For this reason, communication with the cloud should not be via TCP, but via UDP. However, UDP is a connectionless protocol and does not have a protocol-side delivery guarantee. A sender therefore does not receive an ACK packet from the receiver that confirms receipt (acknowledgement). Special communication protocols based on UDP such as MQTT for Sensor Networks (MQTT-SN) or CoAP can help here.
TCP or UDP: the choice of communication protocol
Classic communication protocols in the IoT context such as MQTT or AMQP are based on the network protocol Transmission Control Protocol (TCP). A special feature of TCP is that, in contrast to its connectionless counterpart, the User Datagram Protocol (UDP), it provides for an acknowledgement of the individual TCP packets in addition to the lack of support for broad and multicast messages.
The individual packets transmitted by the sender are confirmed by indonesia consumer email list the receiver, which leads to the transmission of further messages. If the sender does not receive a corresponding confirmation for a packet, it is sent again. The basic principle of UDP, on the other hand, can be described as "fire and forget": data is transmitted to the receiver, but successful delivery is irrelevant for the sender.
In contrast to UDP, TCP-based connections already create an undesirable overhead at the transmission protocol level due to the TCP handshake. This effect is further amplified by the higher latencies expected in narrowband IoT. These can lead to handshakes or packet transmissions running into timeouts. Unfavorable operating environments such as basements or underground car parks further amplify this effect.
The resulting additional transmission attempts lead to increased energy consumption in battery-operated devices. Although some manufacturers promise a battery life of up to ten years for narrowband IoT devices, this is reduced to just a few days if used improperly. The resulting more frequent maintenance work, for which technicians may have to be sent out into the field, ultimately leads to a further increase in operating costs.
For this reason, communication with the cloud should not be via TCP, but via UDP. However, UDP is a connectionless protocol and does not have a protocol-side delivery guarantee. A sender therefore does not receive an ACK packet from the receiver that confirms receipt (acknowledgement). Special communication protocols based on UDP such as MQTT for Sensor Networks (MQTT-SN) or CoAP can help here.