Traceroute:不同的結果

Traceroute:不同的結果

我正在兩台伺服器之間進行測試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

第二個traceroute有5組* * *,並不表示不同的路徑。你已經告訴我們你知道沒有其他路徑,這些東西都在同一個 L2 域中,甚至在同一個交換器上。 Tracert 將絕不顯示中間躍點,實際上在本例中並沒有這樣做。

無論出於何種原因,您的目標主機在第二次追蹤的前幾次嘗試中都沒有回覆 ICMP。 這就是你所看到的一切。也許是太忙而無法回覆 ICMP?這就是簡單的 ping 測試不能很好地確定服務啟動或關閉的原因之一。

(我不知道為什麼你使用 L3 工具來顯示一些與 L3 無關的行為。)

答案2

IP 流量不一定遵循相同的路徑。因此,在發送 ICMP 封包的追蹤路由的情況下,它們並不總是遵循相同的路徑(ICMP 在 IP 之上運行)

有一個整體維基百科上關於traceroute的條目

希望這可以幫助。

相關內容