如何在Android上排除TCP/UDP数据包碎片



全部:

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

我们看到很多数据包碎片从安卓设备发送到服务器。我想了解更多关于的信息

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

提前感谢

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

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

如果你想了解更多像这样的低级别TCP/IP机制,除了维基百科之类的常见资源之外,我建议你阅读Stevens的《TCP/IP图解》,第1卷。

最新更新