Debian

為什麼 traceroute 會為同一跳顯示多個 IP 地址?

  • February 4, 2018

這是從我家到的路線路徑sina.com.cn

traceroute -n   sina.com.cn
traceroute to sina.com.cn (202.108.33.60), 30 hops max, 60 byte packets
1  192.168.31.1  0.476 ms  0.587 ms  0.695 ms
2  140.0.5.1  2.557 ms  2.699 ms  3.065 ms
3  221.11.155.65  4.501 ms * 221.11.165.9  5.045 ms
4  * 221.11.156.18  26.480 ms 221.11.165.233  22.950 ms
5  219.158.9.97  14.176 ms * 219.158.19.149  21.472 ms
6  219.158.9.97  18.142 ms 219.158.8.81  44.856 ms  52.539 ms
7  124.65.194.190  53.162 ms 219.158.8.81  50.614 ms 124.65.194.190  47.266 ms
8  124.65.194.190  50.760 ms 61.148.143.26  49.351 ms  53.515 ms
9  210.74.176.138  43.056 ms  43.286 ms 61.148.143.26  53.712 ms
10  202.108.33.60  46.385 ms 210.74.176.138  42.896 ms  46.931 ms

192.168.31.1 是我家的路由器。

140.0.5.1 是 ISP 提供的我的公共 IP。

curl  ifconfig.me
140.0.5.1 

在第三行,它說

3  221.11.155.65  4.501 ms * 221.11.165.9  5.045 ms

為什麼有兩個ip地址221.11.155.65221.11.165?這是什麼意思?

數據包是否從 140.0.5.1 跳轉到 221.11.155.65,然後從 跳轉 221.11.155.65221.11.165

這裡traceroute給您的資訊是,您至少有 2 條從路由器開始到達目的地的路線:

          IP adresses                 Internet operator

          140.0.5.1                   Firstmedia - Indonesia
            /    \
           /      \
221.11.155.65      221.11.165.9        China Unicom - China

這是一個巨大的網際網路運營商的正常情況:有很多路線來抵抗網際網路上的正常事件。

-a選項可以幫助您辨識每個tracerouteIP 地址屬於哪個運營商。

這是一個更大的路由樹範例,您甚至可以通過伺服器http://ping.eu/traceroute/之類的網路工具從手機獲取: 跟踪路由到 140.0.5.1

來自OpenBSD的traceroute(8)手冊:

發送三個探測(可以使用-q 選項更改確切數量),並列印一行顯示 TTL 或躍點限制、網關地址和每個探測的往返時間。如果探測答案來自不同的網關,則會列印每個響應系統的地址。

Linux 手冊將有類似的措辭。

您看到的多個 IP 地址是網關以特定躍點限制響應各個探測。

在您的情況下,三個探測導致在跳數限制 3 處從 221.11.155.65 和 221.11.165.9 的網關返回給您的回复。

所以,答案是:不,數據包不會在那行列出的兩台主機之間跳轉,發送了三個探測,它們從 140.0.5.1 採用兩條不同的路由。

引用自:https://unix.stackexchange.com/questions/421637