为什么8.8.8.8从全球访问都很快?

30b2c22737037fba735d21445303446a.gif

正文共:1666 字 11 图,预估阅读时间:2 分钟

发现一个现象很久了,一直没有深入了解其中的原因。那就是为什么从全球任意地方访问Google的公共DNS服务器8.8.8.8时延都很低?

如果我们查询IP地址8.8.8.8的归属信息,我们会发现他是位于美国的,就跟114.114.114.114归属于中国一样。

51d10226a3fb290974d8d5b397e14153.png

但是当我们从国内去访问这个服务器时,发现时延只有47 ms,这个时延根本到不了美国。

a471cb222a73832e779b082e68b5b71e.png

后来,我在香港测试了一下,发现时延只有3 ms,难道这个DNS服务器是部署在香港的?

8b1d841b88ee855241d7641c9718dd3a.png

再后来,我发现情况远不是这样,当我在美国访问时,他的时延是8 ms。同一个IP地址,在香港访问3 ms,在美国访问8 ms,这个美国到香港的时延最大是11 ms,绝对不可能。

a2bf812362c4cb1db0a8562b96859e0e.png

要知道美国到香港的地图距离是11000公里,按照光速算,也需要37 ms,全程光纤,最短的理论值也要55 ms以上。

同时,当我们从德国访问时,时延是2 ms。

0aef94127f94374399d8329eb7341a7c.png

从新加坡访问时,时延也只有1 ms多点。

43e8b632113638856f2d65b47b7c971c.png

这就说明一个问题,8.8.8.8这个IP地址应该不是真实的IP地址。

谷歌公共DNS服务器可以提供全球范围内的域名解析服务,用户可以在任何地方使用它来解析DNS查询请求。它的访问延迟低,可能有以下几个方面的因素:

1、优秀的网络基础设施:Google作为全球最大的互联网公司之一,具有强大的网络基础设施。它在全球范围内建立了多个数据中心和网络节点,使其可以为全球用户提供高速、稳定的网络服务。

2、分布式架构:8.8.8.8采用分布式架构,将服务部署在全球多个地理位置的服务器上。这种架构可以实现负载均衡和故障转移,减少单个服务器的负载,从而提高整体服务的可靠性和性能。

3、全球覆盖:8.8.8.8服务器分布在全球各地,为全球用户提供服务。Google在全球范围内的服务器资源非常丰富,所以无论用户在哪个国家或地区,都可以享受到高效、快速、可靠的DNS服务。

4、DNS优化技术:8.8.8.8采用了多种DNS优化技术,例如DNS over UDP和DNS over TCP等协议,以及DNSSEC安全扩展等技术。这些技术可以提高DNS查询的安全性、稳定性和效率,从而提高服务的质量和性能。

5、强大的缓存技术:8.8.8.8具有强大的缓存技术,可以缓存常用的DNS查询结果,从而减少对后端服务器的查询次数,加快查询速度。同时,它还可以根据查询频率和请求源地等信息动态调整缓存策略,优化查询响应时间。

验证一下,我先在电脑上将DNS服务器配置为8.8.8.8。

cdeffd4c3a14ddf0d203e1777e485171.png

然后测试一下从公网看到的信息。

69ee9d8d1d07b9494b872ac8382aed6f.png

可以看到,显示的DNS服务器并不是8.8.8.8,而是其他香港的IP地址,具体有以下几个:

585d19cc3fbc04523e34c1581b7c2c6e.png

然后我们检查一下这些IP地址,就可以发现,其实这些都是Google全球边缘网络节点的IP地址。

703871cd807386d5f7ea9487d18b19fe.png

所以,在没有明确确认原因之前,我有3个推测:

1、谷歌对于8.8.8.8这个IP地址做了CDN加速,与传统意义上对域名进行加速的CDN网络不同,谷歌是将DNS服务器的IP地址进行了就近解析,使用最近的分布式DNS服务器响应解析请求。利用这种架构,实现了DNS解析的负载均衡和故障转移。

2、服务器负载均衡,使用了类似于三角传输的部署模式。这种模式下,负载均衡设备与实服务器之间通过二层传输,且只有客户端的请求流量会经过负载均衡设备处理,实服务器的响应流量不会经过负载均衡设备处理。当客户端的请求流量经过负载均衡设备时,负载均衡设备根据健康检测方法、会话保持、负载均衡策略、调度算法等选出最优的实服务器,并向选中的实服务器发送访问请求。

此时,实服务器直接向客户端返回响应报文,响应报文不再经过负载均衡设备处理。此时的源IP地址为虚服务器的IP地址,目的IP地址为客户端IP地址。也就暴露了真实的DNS服务器IP地址,而不是8.8.8.8这个IP地址。

77d9cf17762de2652c91265dc656a3df.png

3、NAT地址转换,谷歌利用自己强大的网络基础设施,在每个数据中心节点都向外发布了8.8.8.8这个IP地址,当流量通过互联网转发到路由器时,路由器将其转换为真实可用的IP地址。但是这种模式理论上不会暴露真实的IP地址,所以可能性比较小。

实际上,谷歌DNS服务器使用了任播技术IP任播的架构考虑,这种架构显著提升了查询的安全性、稳定性和效率。但是介于这个实验做起来难度太大了,我就先不撘环境复现了。

f84020d530ba13f2413834a8725c43b0.gif

长按二维码
关注我们吧

589d56a552d50c49424dae5b14e8e56a.jpeg

7286117f87ee0d6deb70f31ee7790e06.png

DNS被劫持是什么意思?DNS被劫持有什么解决方案?

网络之路1:初识网络

网络之路2:初识路由表

网络之路3:认识家用路由器

网络之路5:MSR810配置WLAN和LTE

网络之路8:命令行的基本操作命令

CentOS 7.9遗忘了root密码怎么办?

VMware ESXi 8.0安装

小测一下笔记本电脑的VMXNET3和E1000e网卡性能

VirtIO的转发性能竟然比E1000和VMXNET3都要好

安装激活Office LTSC专业增强版2021

笔记本电脑安装VMware ESXi6.0

OpenWrt配置单臂路由模式

OpenWrt部署配置openVPN服务器

OpenWrt配置openVPN客户端

  • 19
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Danileaf_Guo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值