ping 和 traceroute 的数据包大小

ping 和 traceroute 的数据包大小

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

答案1

实际情况要复杂一些:

  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 字节(20 字节 IP 头 + 8 字节 UDP + 52 字节数据)的 UDP 数据包。

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

  3. 数据包的总大小可能因您使用的是 IPv4 还是 IPv6、IP 选项设置等而有所不同。

  4. 增加 ping 和 traceroute 的数据包大小的最常见原因是调试 MTU 问题,除此之外,默认设置就可以了。

相关内容