我试图弄清楚为什么到谷歌服务器的 RTD 会这么低:
$ ping google.com
PING google.com (173.194.113.64): 56 data bytes
64 bytes from 173.194.113.64: icmp_seq=0 ttl=57 time=28.166 ms
173.194.113.64
在加利福尼亚州山景城注册,而我在德国。ping 到加利福尼亚州的主机会花费更长的时间。发出跟踪路由会给我一个主机名fra02s21-in-f0.1e100.net
。我在问自己他们使用什么技术来重定向我的请求?
答案1
您说得对,美国的 RTD 不能小于 30 毫秒。欧洲到美国应该在 60 毫秒左右(单程)。
因此,Google 可能在海洋这边有一些缓存服务器
(它只是在山景城注册,但实际上它在欧洲)。
我发现本文解释一下:
谷歌的保密
Google 让查找其数据中心的位置和数量变得非常困难。其中一个重要原因是,Google 使用的几乎所有 IP 地址(数量很多)列在加利福尼亚州山景城的地址,因此只需查看 IP 地址(使用 IP WHOIS 或 IP 到位置数据库)不会帮你找出他们的数据中心在哪里或者他们有多少个。
除此之外,谷歌通常还会利用完全没有提及谷歌的公司(LLC)为其数据中心项目寻求许可,例如北卡罗来纳州的 Lapis LLC 和爱荷华州的 Tetra LLC。
由于谷歌通常对其数据中心非常保密,我们在此处提供的信息很可能不是 100% 完整的。
奖励链接 ;)深入了解 Google 数据中心。
这是另一个来源:
2) 在全球设有办事处的大公司不会在 whois 上分享其真实位置的信息。
- 例如:Google Inc. 的数据中心遍布全球,但 whois 始终显示其总部位于 Mountain View(美国加利福尼亚州)。实际上,来自不同国家的用户将被发送到最近的数据中心。例如,对于德国用户,主页将从德国数据中心 (74.125.39.104) 加载。
编辑:(请记住我不是这个主题的专家:)
您可能对“权威域名服务器”进行了一些重定向的说法是正确的。我不确定背后是否有多个服务器那执行进一步的重定向。您可以执行dig google.com +trace
查看 DNS 请求从哪个服务器发送到哪个服务器。(阅读这里关于其背后的一些基础知识)
至于重定向背后的机制。您提到了 Akamai CDN。Google 使用自己的 CDN。几年前有传言称 Google 收购了 Akamai,但那并没有发生。我认为 Apple 使用 Akamai CDN(以及其他一些 CND)。
在这一页您可以阅读 Google 使用“edns-client-subnet 扩展”。
OpenDNS 和 Google DNS 长期以来一直支持 edns-client-subnet 扩展。此机制由 Google 专门设计用于解决此问题。而且它运行良好。无论您使用哪种解析器,CDN 都可以将重定向发送到最佳服务器。
随着一些进一步谷歌搜索您可以了解有关此机制的更多信息。喜欢这里:
Google、Bitgravity、CDNetworks、DNS.com 和 Edgecast 已部署对edns 客户端子网。这个想法很简单。它在请求中传递您的部分 IP 地址(只有一部分以保持半匿名)。支持此扩展的服务器可以使用它来进行地理定位并找到离您最近的 CDN 节点。以前最好的办法是使用 DNS 服务器的位置,而这在许多情况下可能很远。
关于 CDN 和 edns-client-subnet 扩展的另一篇好文章是这。
足够的阅读材料来自谷歌;)