为什么traceroute会显示同一跳的多个IP地址?

为什么traceroute会显示同一跳的多个IP地址?

这是从我家到 的路线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

答案1

这里给您的信息traceroute是,您至少有 2 条从路由器出发到达目的地的路线:

           IP adresses                 Internet operator

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

对于一个庞大的互联网运营商来说,这是很正常的情况:有很多路线来抵抗互联网上的正常事件。

FreeBSD -a-A在 Linux 上)选项traceroute可以帮助您识别每个 IP 地址属于哪个运营商。

这是一个更大的路由树的示例,您甚至可以通过服务器等网络工具从手机获取路由http://ping.eu/traceroute/: 跟踪路由到 140.0.5.1

答案2

来自traceroute(8)手动的在 OpenBSD 上:

发送三个探测(可以使用该选项更改确切的数量-q ),并打印一行,显示 TTL 或跳数限制、网关地址以及每个探测的往返时间。如果探测答案来自不同的网关,则将打印每个响应系统的地址。

Linux 手册也会有类似的措辞。

您看到的多个 IP 地址是响应特定跃点限制的各个探测的网关。

在您的情况下,三个探测产生的答复在跃点限制 3 处从 221.11.155.65 和 221.11.165.9 的网关返回给您。

所以,答案是:不,数据包不会在该行列出的两个主机之间跳转,发送了三个探测,并且它们从 140.0.5.1 出发采用两条不同的路由。

答案3

Traceroute 的作用是在发送互联网控制消息协议 (icmp) 数据包时使用选项字段。网络中的每个网关或路由点在一个接口上读取数据包,决定它们应该去哪里,然后将它们写到另一个接口上。该接口可能更接近目的地。当路由器转发数据包时,它也会修改数据包标头。它将“生存时间”或跳数字段减少一。数据包通往目的地的路径中的每个网关都会减少该字段。

当跳数字段降至零时,许多路由器将发回一条 icmp 消息,说明数据包被丢弃的位置。为了找到特定距离之外的 IP 地址,traceroute 将发送带有生存时间选项的数据包,并在超时时给我一个响应。跳数从 1 开始并逐渐增加的消息将返回逐渐更远的路由器的 IP 地址。因为traceroute会多次执行此操作,所以您将在某些计数上得到多个答案(如果您有一个连接丰富的网络,如互联网)。由于到该网关的路由经过了不同的跃点,因此特定网关可能会以不同的数量进行应答。

相关内容