之前的一篇文章当中,笔者科普了DNS的作用,和应对DNS劫持的一些措施。简而言之,使用第三方DNS服务,是一种行之有效且安全的做法。但国内外的公共DNS服务有数十家之多,究竟哪个更快?不同省市区和不同的宽带运营商,DNS域名解析速度是否有差别呢?
结论是:是的。不同的DNS服务提供商,自然有快有慢;不同的省市区使用一家DNS服务,自然也有快有慢。那么究竟电信、联通和移动宽带分别适合用哪家的公共DNS呢?此番笔者就进行了逐项测试。下图是国内外主要公共DNS的名单。
速度测试由于一台电脑只能测试出一个地区的连接速度,所以笔者使用了超级Ping工具,来测试各地主机连接DNS服务器的速度,综合成绩取多线机房的平均速度。
多线机房测试结果阿里223.5.5.5:平均响应时间14.5ms(毫秒,下同)百度180.76.76.76:19.7mm腾讯119.29.29.29:21.2ms114DNS 114.114.114.114:21.2msoneDNS 117.50.11.11:21.9msCNNIC 1.2.4.8:27.5ms适合电信宽带的DNS排行榜百度180.76.76.76:14.6ms腾讯119.29.29.29:19.2ms阿里223.5.5.5:19.8ms114DNS 114.114.114.114:20.7msCNNIC 1.2.4.8:23.9msoneDNS 117.50.11.11:32.9ms适合联通宽带的DNS排行榜阿里223.5.5.5:16.4ms114DNS 114.114.114.114:17.1ms百度180.76.76.76:19.1msCNNIC 1.2.4.8:19.5ms腾讯119.29.29.29:20.9msoneDNS 117.50.11.11:25.9ms适合移动宽带的DNS排行榜114DNS 114.114.114.114:7msCNNIC 1.2.4.8:14ms百度180.76.76.76:14.5ms腾讯119.29.29.29:18ms阿里223.5.5.5:21.5msoneDNS 117.50.11.11:24.5ms
从上面的数据来看,阿里的公共DNS连接多线机房要更胜一筹。但考虑到居民家里不存在多线机房这种东西,所以笔者也列出了各个运营商的主机的数据情况。
电信网络下,平均响应速度最快的DNS是百度,为14.6毫秒;联通网络下是阿里的16.4毫秒;移动网络下则是国内老牌公共DNS 114夺魁,居然只有7毫秒。考虑到阿里公共DNS依托于阿里云,腾讯则依托于老牌DNS解析服务商DNSPOD(已经被腾讯收购),百度能够在每个运营商网络下都取得前三,非常厉害。可以看出百度对于公共DNS服务是费了一番功夫的,绝非应付了事。而公共DNS这种可以说几乎完全不赚钱的服务,也可以看出一家公司对于技术的重视和对用户的回馈。
就这份超级Ping工具测试所得的工具来总结的话,百度和114 DNS更值得推荐。
不过毕竟这是用全国多主机的工具测出来的,自家上网要怎么选择DNS,最好还是实测一下自家宽带链接各个公共DNS服务的速度。其实很简单,用Windows和Mac的Ping命令就能够查询到了。Windows电脑下在开始菜单输入“cmd”搜索,打开“命令提示符”;在Mac上则打开“终端/Terminal”,然后输入以下命令并回车:
ping 114.114.114.114
上面的命令就是测试自家电脑与114 DNS的连接速度的,把数字部分更换为百度公共DNS的180.76.76.76、阿里的223.5.5.5、腾讯的119.29.29.29,就能够对比各家的响应情况了。一般来说,选择最快的那个就好了。不过除了连接速度之外,DNS还得看解析的准确性和解析速度等,以笔者使用各家公共DNS的经验来说,还是最推荐腾讯DNSPOD、百度和114这三家。