全部:
我对 MTU 设置并不陌生,我想知道如何处理通过 TCP/UDP 看到的碎片(我们通过 Android 应用程序通过蜂窝网络发送数据包)。
我们看到很多数据包碎片从安卓设备发送到服务器。我想获得有关该主题的更多信息:
- 什么是 MTU?
- 我们可以使用哪些工具来查看或验证数据包碎片(Wireshark、tcpdump 等)?
- 我们如何在 Android 设备上使用 ping/traceroute 等标准工具(这有用吗)?
提前致谢
全部:
我对 MTU 设置并不陌生,我想知道如何处理通过 TCP/UDP 看到的碎片(我们通过 Android 应用程序通过蜂窝网络发送数据包)。
我们看到很多数据包碎片从安卓设备发送到服务器。我想获得有关该主题的更多信息:
提前致谢
MTU 表示最大传输单元——它表示本机链路层将传输的最大数据包大小。例如,基于以太网的网络的 MTU 通常为 1500 字节。当系统希望发送大于网络 MTU 的 IP 数据报时,它必须将数据包分成不大于 MTU 的块。请注意,TCP 很少发生分段,特别是因为现在大多数 TCP 实现都使用路径 MTU 发现。当 UDP 与异常大的数据包一起使用时,碎片通常只是一个问题。
您确实可以使用各种监控原始网络的工具(包括 tcpdump、wireshark 等)观察数据包碎片。
如果您想了解更多关于这种低级 TCP/IP 机制的信息,除了像 Wikipedia 这样的常用资源之外,我建议您阅读 Stevens,“TCP/IP Illustrated”,第 1 卷。