我正在通过以下命令 ping(来自欧洲)属于 Firebase 的 CDN 的 IP:ping 151.101.65.195
我得到以下结果:
PING 151.101.65.195 (151.101.65.195) 56(84) bytes of data.
64 bytes from 151.101.65.195: icmp_seq=1 ttl=57 time=6.78 ms
64 bytes from 151.101.65.195: icmp_seq=2 ttl=57 time=6.70 ms
...
在欧洲和这个 IP 之间,6-7 毫秒对我来说听起来太低了,根据 IP 地理定位网站,这个 IP 位于旧金山。
作为另一个实验的一部分,我登录了位于美国东海岸的 VPS。Ping 报告相同 IP 的时间约为 1 毫秒。
假设 IP 地理定位网站是正确的,并且 ISP 没有缓存 ping 结果,那么报告的数字是如此之低,以至于它们似乎违反了光速,所以我一定忽略了一些东西。
我能想到的唯一解释(除了误读 ping 的输出)可能是 IP 在某种程度上是特定的,并根据发起请求的位置解析到不同的计算机。这违反了我关于全球 IP 地址是唯一的假设。有人可以在这里阐明一下吗?
上述实验中的两台计算机都运行 Ubuntu。
确实有 IP 地址具有特定于地理的路由:诀窍在于 BGP 公告的设计在全球范围内不一致,在不破坏路由表的情况下创建非唯一 IP 地址。这通常称为“任播”路由。
众所周知的任播使用示例是 Google 的 DNS 服务器
8.8.8.8
和8.8.4.4
/或 Cloudflare 的1.1.1.1
.