ping 和 traceroute 的数据包大小

Bar*_*ran 8 networking ping traceroute

为什么ping包的数据长度是32字节而traceroute包的数据长度是64字节?有什么理由吗?或者这种差异有什么好处吗?

hai*_*img 8

实际情况要复杂一些:

  1. ping 和 traceroute 都有修改数据包大小的选项:

    • ping 的选项会修改有效负载大小,例如,运行ping -s 1 www.google.com将使用 29 字节的总数据包(20 字节 IP 标头 + 8 字节 ICMP 标头 + 1 字节数据)ping google。

    • tracerote 的选项修改大小,例如运行traceroute www.google.com 80将发送总大小为 80 字节的 UDP 数据包(20 字节 IP 头 + 8 字节 UDP + 52 字节数据)。

  2. 不同版本的 ping 和 traceroute 有不同的默认值。但是,它们都在 100 字节以下的范围内,确切的字节数并不重要。如果您的 ping 的默认值为 32,则数据包的总大小为 60 字节,与您的 traceroute 没有太大区别。

  3. 数据包的总大小可能会有所不同,具体取决于您使用的是 IPv4 还是 IPv6、IP 选项集等。

  4. 增加 ping 和 traceroute 数据包大小的最常见原因是调试 MTU 问题,除此之外,默认值工作正常。