NB-IOT packet sent size

Hello,

We are trying to determine the actually sent packet data from a nrf9160 device through zephyr over NB-IOT. Since we cannot capture the packet on the network, we want to see what the size is that gets sent and what we are billed for. We are trying to optimize for fitting as much data as possible into the 1kb blocks we are billed at.

Sending the same fixed with data every minute, looking at the portal of our provider it shows a changing data sent size. It varies by 100-400 bytes, and is almost 2x the sent data size. We are sending data over http without encryption, so we expect some amount of TCP/IP header data, some cell connection header, and TCP retries but the readings from the provider feel too variable.


Is there a MTU set that causes the packets to be split up, along with a large header? Or is a config flag in `prj.conf` similar to `CONFIG_LTE_LINK_CONTROL_LOG_LEVEL_DBG=y` that provides debug level info about all the packets sent. This post seems relevant but does not explain the variable packet size we receive.

Regards,
Sawaiz

  • Hi,

    Could you provide more information about the functionalities of your application and about your provider?
    Why is it not possible for you to capture packets on the network?
    Does your application send the same amount of useful data, i.e. data size without header, on regular intervals?
    Which network operator and cloud provider do you use?
    What does your provider's portal show? 
    Could you show variability of the data size values?

    As I see it on my side, it might be that you tried to upload an image, but it cannot be opened. If this is the case, could you reupload it (using Insert-> Image/Video/File)?

    Best regards,
    Dejan

Related