如何选择一个正确的DNS服务器

Network Norckon 6254℃ 0评论

1460170915-4002-blogimg-opendns

【2015年11月8日补充】由于撰文时处于运营商网络不成熟期,导致测试结果不太精确。总体结论为运营商网络一旦稳定,那么运营商所提供的 DNS 服务器一定是可以采用的。另外移动,铁桶,广电,长宽请使用运营商提供的 DNS,因为他们做过特殊的优化处理。联通用户推荐使用联通的 DNS 服务器,因为相对可以提高网络利用率。而电信用户可以尝试使用公用 DNS 服务,有一定几率可以提高网络的利用率。

众所周知的是事情是,DNS是上网的关键组成部分;也就是说要想打开一个网站,你首先就必须进行DNS查询,除非你直接使用IP地址访问。而且当前的DNS都采用智能解析,对于不同的来访者提供不同的服务器IP,以达到最快的浏览速度。而如果使用的不够智能或者使用错误的DNS会导致网站访问速度大幅度下降甚至不能访问。典型的例子:电信用户使用联通的DNS,DNS会返回给用户该网站联通服务器的IP地址,而电信用户访问联通的IP地址是非常缓慢的,最终结果就是导致用户的访问网站的速度十分的缓慢。

首先北极光说说自己的上网的环境。北极光采用的是湖南广电接入方式接入的互联网,湖南广电也是一种类似于城域网的工作模式,不仅有自己的公网IP还有更多的出口IP,出口IP也会根据访问目标主机不同而选择不同的出口。(本文主要不是讨论这个问题所以也不会做出详细的解答) 北极光测试的DNS大致有下面这一些:运营商DNS、电信114DNS、台湾电信DNS、OpenDNS、谷歌DNS。主要对一些相对来说不是很常见的网站做测试(太过于常见的网站比如www.baidu.com有很多的CDN服务器,就算错误的DNS也不见得会影响访问速度)。 首先当然是对各DNS来一个Ping的延迟测试,然后再进行其他的测试项目,那么对于各DNS的Ping延迟表现结果如下表所示(均采用Windows的默认参数进行ping测试):

DNS名称 IP地址 最大值 最小值 平均值
运营商DNS 172.16.8.8 6ms 5ms 5ms
电信114DNS 114.114.114.114 20ms 15ms 17ms
台湾电信DNS 168.95.1.1 17ms 15ms 16ms
OpenDNS 208.67.222.222 17ms 15ms 15ms
谷歌DNS 8.8.8.8 94ms 90ms 92ms

从表中不难看出,延迟的表现方面来看,运营商自己提供的DNS速度是最快的;而谷歌的DNS延迟不尽人意,而且在测试的过程中丢包2次目;其他几个DNS则表现为中规中矩基本比较平稳。

光看延迟是没有什么用处的,既然现在我们强调的是智能DNS,那么我们就要看看这几个DNS到底有多智能,是否真的可以加快我们访问网站的速度?口说无凭,看数据说话。下面我们对几个固定的域名进行了Nslookup解析,看看不同的DNS给我们的IP有什么不同?(IP归属地信息来自ip.cn,北极光不能保证这些数据的准确性)

DNS服务器 查询域名 查询结果 被查询主机归属地 被查询主机运营商
运营商DNS forum.anywlan.com 119.188.132.94 山东省济南市 联通
电信114DNS forum.anywlan.com 119.188.132.85 山东省济南市 联通
台湾电信DNS forum.anywlan.com 61.155.149.87 江苏省苏州市 电信
OpenDNS forum.anywlan.com 61.155.149.89 江苏省苏州市 电信
谷歌DNS forum.anywlan.com 61.155.149.88 江苏省苏州市 电信
DNS服务器 查询域名 查询结果 被查询主机归属地 被查询主机运营商
运营商DNS www.bilibili.tv 119.164.255.41 山东省济南市 联通
电信114DNS www.bilibili.tv 119.164.255.41 山东省济南市 联通
台湾电信DNS www.bilibili.tv 106.187.47.228 日本国东京都 KDDI
OpenDNS www.bilibili.tv 119.164.255.41 山东省济南市 联通
谷歌DNS www.bilibili.tv 119.164.255.41 山东省济南市 联通
DNS服务器 查询域名 查询结果 被查询主机归属地 被查询主机运营商
运营商DNS user.qzone.qq.com 112.90.77.173 广东省广州市 联通
电信114DNS user.qzone.qq.com 119.188.94.31 山东省济南市 联通
台湾电信DNS user.qzone.qq.com 203.69.138.18 台湾省台中市 中华电信
OpenDNS user.qzone.qq.com 112.90.77.143 广东省深圳市 联通
谷歌DNS user.qzone.qq.com 112.90.77.173 广东省深圳市 联通

通过查看测试数据,结果一目了然,本次一共测试了5个DNS服务器和3个域名;不同的DNS服务器在查询同一个域名时给出了不同的IP地址,而且IP地址对应的地理位置,网络提供商都不相同。甚至出现了服务器地址不在大陆的现象。如果错误的使用DNS服务器极有可能导致访问到偏远服务器,降低网站访问速度。

同样是口说无凭,我们继续针对这5个DNS服务器和这3个域名做出更加实际的测试。通过不同的DNS服务器进行域名解析,然后访问这三个站点;浏览器采用了微软IE8(因为IE8不会有DNS缓存,而谷歌浏览器等则会有DNS缓存会导致测试结果不够精确),分别对上述三个站点进行直接访问测试。

DNS服务器 目标网站 整体加载速度 图片加载速度 其他问题
运营商DNS forum.anywlan.com 很慢 测试期间出现了图片加载失败的情况
电信114DNS forum.anywlan.com 很慢 整体感觉和运营商DNS差不多
台湾电信DNS forum.anywlan.com 较快 测试过程中出现过页面部分加载不全
OpenDNS forum.anywlan.com 没有什么问题
谷歌DNS forum.anywlan.com 没有什么问题
DNS服务器 目标网站 整体加载速度 图片加载速度 其他问题
运营商DNS www.bilibili.tv 较快 较慢 测试期间网站内模块内容加载很慢
电信114DNS www.bilibili.tv 总体感觉比较慢
台湾电信DNS www.bilibili.tv 没有什么问题
OpenDNS www.bilibili.tv 较快 没有什么问题
谷歌DNS www.bilibili.tv 较快 没有什么问题
DNS服务器 目标网站 整体加载速度 图片加载速度 其他问题
运营商DNS user.qzone.qq.com 测试期间始终无法发表评论与说说
电信114DNS user.qzone.qq.com 没什么问题
台湾电信DNS user.qzone.qq.com 较慢 测试过程中部分图片始终没有加载
OpenDNS user.qzone.qq.com 没有什么问题
谷歌DNS user.qzone.qq.com 没有什么问题

经过最后一轮测试发现,运营商提供的DNS不见得是最好的DNS(电信和移动用户可以例外,通常来说电信和移动提供的 DNS 是相对较好的但是不能说是最好的,但是也不排除故障频发,不稳定等因素。),在这三次测试中表现欠佳,总有一些小问题;电信的114DNS或许是为电信用户设计的,在广电网络中表现得不是那么出色当总体感觉还过得去;台湾电信DNS是非大陆DNS,有时候提供的服务器IP跑到大陆以外去了,出点问题很正常;对于OpenDNS和谷歌DNS呢,综合起来还是不错的,三轮测试基本领先于其他DNS服务器。

写这篇文章的意义:一来可以解决自己的网络不正常的问题,主要是前几天发表说说总是发表不成功,今天更换DNS后一切正常。二来也给大家做一个参考。结论比较简单:尽量不要选择异网DNS,如果运营商提供的DNS不好的时候可以选择类似于OpenDNS、谷歌DNS、COMODO-DNS这类三方DNS作为备选方案。

by 北极光.Norckon
2014-1-11

喜欢 (0)
COMMENT
Cancel Comment

EMOJI

Hi, We need some information

  • Nickname (*)
  • E-Mail (*)
  • Website
1 Comments
  1. 留个抓印
    比萨歪塔2014-01-11 23:55 Reply