1月底,Google 联合包括 Neustar, UltraDNS 等在内的 DNS 和内容供应商拟定了一个“扩展 DNS 协议提议”,试图在 DNS 这一环节上给整个互联网加速。绝大部分用户访问网站都会输入域名,比如 www.google.com ,DNS 服务器的职责就是将这些域名转换为 IP 地址,随后用户的客户端才可以通过 TCP/IP 协议和服务器进行通讯。目前 DNS 服务器可以提供负载均衡功能:根据用户所处位置的不同返回距离用户最近的服务器的 IP 地址。比如用户在纽约的一台电脑上访问 Google ,DNS 服务器将返回一个位于 NYC 的服务器 IP 地址给他。而荷兰的用户获得的 IP 地址可能就在阿姆斯特丹。类似这样的配置可以大大改善用户访问网络的速度,并有效的降低延迟。
当前,认证域名解析服务器判断用户位置的依据是 DNS 解析请求的来源——也就是用户所使用的 DNS 服务器的 IP 地址,而不是用户的 IP 地址。一般来说这些 DNS 服务器由你的 ISP 提供,这种情况相对较好,域名解析服务器会返回最适合你的 ISP 的服务器节点,基本也就是最适合你的节点。但是也有部分用户会选择 OpenDNS 或者 Google DNS 这样的第三方服务提供商,这种情况就比较麻烦。举个身边的例子来讲,如果你人在北京,使用 Google DNS 来访问谷奥的话,会产生如下效果:
我们先用 Google DNS 解析一下谷奥的域名:
nan-chens-macbook:~ gkp$ nslookup
> server 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53
> www.google.org.cn
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
www.google.org.cn canonical name = www.google.org.cn.fastwebcdn.com.
Name: www.google.org.cn.fastwebcdn.com
Address: 122.226.213.143
我们看看这个 IP 地址是哪里的
nan-chens-macbook:~ gkp$ whois 122.226.213.143
…
inetnum: 122.226.213.0 – 122.226.213.255
netname: JINHUA-TELECOM-LTD
…
role: CHINANET-ZJ Jinhua
…
答案是浙江金华,也就是说身在北京的我,却跑到了位于浙江金华的谷奥服务器节点上读取数据,速度当然不可能快起来。而 DNS 服务器返回的这个 IP 地址,正是因为 DNS 解析服务器以 Google DNS 的 8.8.8.8 为位置信息进行最佳路由计算的结果。
Google 提出的 DNS 协议改善正是为了解决这一问题:他们计划在 DNS 查询时将最终用户 IP 地址的前24位(简单来说就是 IPv4 地址的前三段)也一起发送到 DNS 解析服务器,这样 DNS 解析服务器可以更加准确的根据用户所在位置返回相应的节点信息,而且用户的隐私(准确的 IP 地址)也相对较为安全。
这个提议已经发到了 dnsext 的邮件列表,未来的几个月互联网各界人士将对此进行研讨和论证,如果一切顺利的话也许这个提议的内容会被纳入 Internet 的正式标准。最起码对于国内的 Google DNS 用户来说,是件大好事。 |
|