Data packet size
In the literature on NB IoT we find different statements about the size of the data packets. These range from 317 bytes to 1600 bytes. My question, what value can we tell the customer here
Hi Andreas, every module supplier implements their own Maximal Transfer Unit (MTU). They can reach up to 1.358 Bytes.
If the message is larger than the MTU, the message should be divided into smaller messages.
Hi Uta, thank you for the information. What is running on the module is one thing, what the network supports is another. Do you also know whether the Telekom network supports the 1358 byte packet size completely transparently here.
in general the MTU size for NB-IoT is not handled differently on the network side than for plain LTE. Choosing 1500 Bytes, which is the maximum for ethernet-based links can be considered as a good upper bound.
However, there are some points to consider bevor configuring this value. NB-IoT is usually used via private APNs (Mobile IP VPN NB-IoT). This means that an VPN connection via IPSec is established between our PGW and the customers infrastructure. The IPSec connection adds additional overhead and constraints on the effectively usable MTU size, for servers and devices behind the tunnel interfaces.
For instance, IPSec connections terminating on an AWS Site-to-Site GW are restricted to a MTU size of 1438 Bytes for devices and servers.
This means, that if you want to maximize the MTU, you need to determine the optimal size for each setup individually.
Actually, this is not a very complicated process. Once, the IPSec connection is established this can be achieved using ICMP pings, which are available on every common platform. On Linux-based servers the command:
ping <TARGET IP> -M do -s <MTU size - 28 Bytes>
can be used. Where <TARGET IP> is the IP-adress of a terminal attached to the network, using the private APN. The MTU size to be probed needs to be reduced by 28 Bytes to account for IP and ICMP headers.
If the ping is answered the MTU size can be increased otherwise, it has to be reduced. Usually, the response will already tell you which hop on the path requires fragmentation.
Thanks a lot. That was very helpfull.