MTU 是什么
MTU(Maximum Transmission Unit)指某一层接口在不触发分片的前提下所能承载的最大 PDU 长度。对 IPv4 而言,常见以太网链路 MTU 为 1500 字节;蜂窝接口 MTU 可能由运营商或模组驱动给出不同默认值。物联网终端若在上层再封装 VPN、GRE、PPP、IPsec 等隧道,有效载荷空间会进一步缩小,形成“逻辑 MTU”远小于 1500 的情况,若应用仍按局域网习惯发送大包,就会在路径某处被分片或丢弃。
分片与重组的成本
IPv4 允许中间路由器分片,但现代网络更倾向于端到端 PMTUD(Path MTU Discovery)通过 ICMP“需要分片”报文动态发现路径 MTU。若蜂窝路径或企业防火墙屏蔽 ICMP,PMTUD 可能失败,导致 TCP 连接“能建立小数据、传大包即挂”。IPv6 则基本禁止中间分片,过大的包应由源端调整。物联网 MCU 协议栈若对分片重组支持不完整,也会出现偶发 UDP 丢包。
蜂窝场景的典型症状
用户常见现象包括:HTTPS 页面打开一半、MQTT 大消息失败、FTP 能登录不能传大文件。排查时可降低 TCP MSS、在 VPN 端设置更小的 tunnel MTU,或在应用层限制单帧大小。对于 NB-IoT 等窄带链路,运营商可能对包大小有更严格建议,需参考模组应用手册。调试工具可用 ping 不允许分片的方式探测路径最大可用尺寸。
工程建议
在架构设计阶段为“蜂窝 + 专网 + 云”链路预留 MTU 余量,例如在 VPN 集中器统一设置 TCP MSS clamp。固件中避免假设 MTU 恒为 1500;对 CoAP、LwM2M 等协议,优先采用块传输而非单次超大负载。记录现场运营商与卡批次,因不同 APN 出口设备 MTU 策略可能不同。