Bar*_*ran 8 networking ping traceroute
为什么ping包的数据长度是32字节而traceroute包的数据长度是64字节?有什么理由吗?或者这种差异有什么好处吗?
实际情况要复杂一些:
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 字节数据)。
不同版本的 ping 和 traceroute 有不同的默认值。但是,它们都在 100 字节以下的范围内,确切的字节数并不重要。如果您的 ping 的默认值为 32,则数据包的总大小为 60 字节,与您的 traceroute 没有太大区别。
数据包的总大小可能会有所不同,具体取决于您使用的是 IPv4 还是 IPv6、IP 选项集等。
增加 ping 和 traceroute 数据包大小的最常见原因是调试 MTU 问题,除此之外,默认值工作正常。