互联网内部的私有IP?

网络工程 路由 ipv4 互联网 跟踪路由
2021-07-09 23:35:14

首先抱歉,如果这个问题已经被问过了。
在玩 traceroute 时,我遇到了一些非常奇怪的事情......

traceroute 到 185.75.143.25 给出:

 - 10.214.255.254
 - 10.255.255.254
 - 194.199.227.254
 - 10.230.12.197
 - 193.51.182.190
 - 193.51.177.18
 - 193.51.177.16
 - 193.51.177.217
 - 193.51.177.144
 - 195.42.144.43
 - 185.39.168.1
 - 185.39.168.70
 - 185.39.168.21
 - 185.39.168.17
 - 185.75.143.25

前两个私有地址是我大学的路由器。但是第四个地址:10.230.12.197
我认为私人地址不能路由,那么这个地址在这里做什么?

4个回答

Traceroute 故意发送具有低生存时间值的数据包,以使您和目标之间的路由器发回 ICMP TTL 超出的消息。traceroute 输出基本上是发送这些 TTL 超出消息的源 IP 地址列表。

因此,输出告诉您第 4 个路由器已从私有 IP 地址向您发送了一条消息。这不是问题,您的数据包可以通过使用私有 IP 地址的链接进行路由。

路由器通常转发其他人发送的数据包,但在这种情况下,路由器本身会生成一个数据包发送回给您。路由器必须决定从哪个源地址发送数据包。

没有关于选择哪个源地址的规则。一个常见的默认设置是使用路由器的传出接口的 IP 地址,数据包将在该接口上发送。在这个例子中,这告诉我们第三个和第四个路由器之间的链接使用私有地址。

源地址为 10.230.12.197 的数据包被路由到您的计算机。您无法使用该地址回复此设备,但您也没有必要将流量直接发送到此路由器。

具有 10.230.12.197 的路由器的管理员可以/应该将其配置为使用 Internet 可路由地址作为源。这将使 traceroute 输出更清晰、更有意义。

请注意,在这种情况下,如果它是您组织内部网络的一部分,您可能可以直接访问此特定路由器。如果它不在您的组织内部,则应该有防火墙阻止来自具有私有源地址的 Internet 的数据包,但如果没有进行此类过滤,私有源地址也可以工作。

私有 (RFC 1918) IP 地址可以路由,但不能通过公共 Internet。同样,公共地址可以存在于“私有”网络上。这就是这里的情况:您直到第 11 跳才访问 Internet。

编辑:正如@SanderSteffan 指出的那样,公共网络中的链接上可能存在带有私人地址的链接。当 TTL 到期时,具有私有地址的设备发送带有私有源地址的 ttl-expired 消息。

在某些情况下,很少有 ISP 会使用。用于在 ISP 和客户边缘第 3 层设备之间路由流量的私有 ip 地址范围。通过此私有 ip 地址子网路由公共 ip 地址。此要求取决于 ISP。

traceroute 命令为您提供数据包从您到目的地的所有跃点(路由器、节点等)。