1

全部:

我对 MTU 设置并不陌生,我想知道如何处理通过 TCP/UDP 看到的碎片(我们通过 Android 应用程序通过蜂窝网络发送数据包)。

我们看到很多数据包碎片从安卓设备发送到服务器。我想获得有关该主题的更多信息:

  1. 什么是 MTU?
  2. 我们可以使用哪些工具来查看或验证数据包碎片(Wireshark、tcpdump 等)?
  3. 我们如何在 Android 设备上使用 ping/traceroute 等标准工具(这有用吗)?

提前致谢

4

1 回答 1

4

MTU 表示最大传输单元——它表示本机链路层将传输的最大数据包大小。例如,基于以太网的网络的 MTU 通常为 1500 字节。当系统希望发送大于网络 MTU 的 IP 数据报时,它必须将数据包分成不大于 MTU 的块。请注意,TCP 很少发生分段,特别是因为现在大多数 TCP 实现都使用路径 MTU 发现。当 UDP 与异常大的数据包一起使用时,碎片通常只是一个问题。

您确实可以使用各种监控原始网络的工具(包括 tcpdump、wireshark 等)观察数据包碎片。

如果您想了解更多关于这种低级 TCP/IP 机制的信息,除了像 Wikipedia 这样的常用资源之外,我建议您阅读 Stevens,“TCP/IP Illustrated”,第 1 卷。

于 2012-02-25T03:05:12.203 回答