Linux
ping6 成本與 ping 成本相比
我正在從 Linux 機器測試 IPv6 延遲,我注意到 IPv4 ping 和 IPv6 ping 之間的這種奇怪差異:
# ping -n -A -q -c 500 speedtest.steffann.nl PING speedtest.steffann.nl (10.3.10.20) 56(84) bytes of data. --- speedtest.steffann.nl ping statistics --- 500 packets transmitted, 500 received, 0% packet loss, time 240ms rtt min/avg/max/mdev = 0.297/0.364/7.213/0.317 ms, ipg/ewma 0.481/0.358 ms
平均 rtt 為 0.364,計數為 500,因此佔 182ms。240ms 的執行時間要高一些,但這並不是一個令人驚訝的成本。現在 IPv6 ping:
# ping6 -n -A -q -c 500 speedtest.steffann.nl PING speedtest.steffann.nl(fd9c:262f:e839:310::20) 56 data bytes --- speedtest.steffann.nl ping statistics --- 500 packets transmitted, 500 received, 0% packet loss, time 5000ms rtt min/avg/max/mdev = 0.508/0.751/2.197/0.254 ms, pipe 2, ipg/ewma 10.021/0.725 ms
rtt 大約是 2 倍長,所以我也希望執行時間大約是 2 倍。但它的長度是它的 20 多倍。而且每次 ping 正好是 10 毫秒…
它可能是某個地方的實現工件。有人知道這是從哪裡來的嗎?
也許 IPv6 ping 命令發生了一些有趣的事情。聽起來’-A’確實沒有做ping6應該做的事情。
話雖如此… IPv6 可能不如 IPv4 快,尤其是在 IPv6 的早期階段。路由 IPv6 的組織沒有那麼多,IPv6 對等點也更少。一些 IPv6 數據包可能會通過隧道。IPv6 數據包採用的路徑可能更長。traceroute6 可能會向您展示這一點。
我嘗試通過 IPv4 和 IPv6 ping Google,得到了幾乎相同的結果。