2 つのサーバー間 (シングル ホップのみ) でテストしていましたtraceroute
が、後続の実行で異なる結果が表示されるのはなぜでしょうか?
(1)
# traceroute to 172.22.10.12 (172.22.10.12), 30 hops max, 60 byte packets
1 172.22.10.12 0.167 ms 0.634 ms 0.152 ms
(2)
# traceroute to 172.22.10.12 (172.22.10.12), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * 172.22.10.12 0.120 ms 0.094 ms
編集: 2013 年 12 月 18 日水曜日 18:09:23 GMT
この質問に否定的な投票があるのはなぜですか? traceroute が毎回異なる結果 (ホップ数) を表示する理由を知りたいです。
編集: 2013 年 12 月 18 日水曜日 19:05:44 GMT
両方のサーバーは単一のスイッチに接続されているため、「ルーティング」はなく、パスは同じになります。
# ping -R -c 5 172.22.10.12
PING 172.22.10.12 (172.22.10.12) 56(124) bytes of data.
64 bytes from 172.22.10.12: icmp_seq=1 ttl=64 time=0.161 ms
RR: 172.22.10.10
172.22.10.12
172.22.10.12
172.22.10.10
64 bytes from 172.22.10.12: icmp_seq=2 ttl=64 time=0.470 ms (same route)
64 bytes from 172.22.10.12: icmp_seq=3 ttl=64 time=0.113 ms (same route)
64 bytes from 172.22.10.12: icmp_seq=4 ttl=64 time=0.162 ms (same route)
64 bytes from 172.22.10.12: icmp_seq=5 ttl=64 time=0.160 ms (same route)
--- 172.22.10.12 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4001ms
rtt min/avg/max/mdev = 0.113/0.213/0.470/0.130 ms
答え1
2番目のトレースルートは、5セットの で* * *
、異なるパスを示していません。知る別のパスはなく、これらは同じL2ドメインにあり、同じスイッチ上にもあります。Tracertは一度もない中間ホップを表示しますが、実際にはこの場合はそうではありません。
何らかの理由で、ターゲット ホストは 2 回目の tracert の最初の数回の試行で ICMP に応答しません。 表示されているのはこれだけです。ICMP に応答するには忙しすぎるのかもしれません。これが、単純な ping テストではサービスが稼働中か停止中かを判断するのに適さない理由の 1 つです。
(L3 とは何の関係もない動作を表示するために、なぜ L3 ツールを使用していのかはわかりません。)
答え2
IP トラフィックは必ずしも同じパスをたどるわけではありません。したがって、ICMP パケットを送信する traceroute の場合も、必ずしも同じパスをたどるとは限りません (ICMP は IP 上で実行されます)。
全体があるトレースルートに関するWikipediaのエントリ
お役に立てれば。