公共DNS性能大比拼

4,664 阅读7分钟

1
​ 今天中午,访问Gitee突然访问不进去,然后收到红薯通知:阿里云停止了 Gitee.com 的域名解析。

msg

​ 码云官方也随后给出解决办法

没有任何提示,没有任何提前通知,阿里云停止了 Gitee.com 的域名解析!!!

我们正在跟阿里云联系了解具体情况!

如果你访问不了请暂时在 hosts 里映射 gitee.com 域名到 IP地址 212.64.62.174

对此造成你的不便,我们深表歉意。

​ 那么先解释一下什么是DNS,百度百科说:域名系统(Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。通俗一点来说就是:我们不可能记住那么多的IP地址,但是我们可以记住域名啊,比如baidu.com,我们在地址栏输入baidu.com之后,会经过一个域名解析服务器把我们输入的域名转换为Ip。所以DNS最通俗来说就是一个域名解析服务器。

​ 那么为什么阿里云hold处理之后很多用户受影响,而一少部分用户没有受影响呢?或者说为什么修改本地Hosts就可以继续正常访问呢?

​ 其实所有的域名解析,会先经过一次本地HOSTS文件检索,如果本地有对应配置解析,会先走自己本地所配置的解析,如果本地没有配置,那么会继续往上解析,由于国内网络运营商为了大家网络响应速度(减少域名解析时间)并且现在绝大多数的站点都托管在阿里云云服务上,所以绝大多数运营商都会把自己的DNS服务器定向到阿里云的DNS解析器。所以只要我们避开阿里云DNS解析基本就解决了这个问题。至于其它是什么原因我们不做太多的探讨。

​ 以下对DNS解析器进行一些性能上的分析。

DNS解析器性能大比拼:CloudFlare vs 谷歌vs Quad9 vs OpenDNS

​ 几个月前,我对市面上几款顶级的免费DNS解析器的性能作了一番比较。当时恰好在Quad9发布之后,我试图搞清楚使用哪一个DNS解析器比较好,以便推荐给亲朋好友。面前有谷歌、OpenDNS和Quad9等好多选择,不过我喜欢选择。

情况在完全变得好转。CloudFlare是最了解互联网性能的公司之一,它最近推出了自己的免费DNS解析器。它在默认情况下支持基于TLS的DNS和基于HTTPS的DNS,这使得它更引人关注。

现在我们有了更有意思的比较对象:谷歌的8.8.8.8、Quad9的9.9.9.9和CloudFlare的1.1.1.1,此外还有OpenDNS的208.67.222.222和另外几家小众提供商作为可供我们使用的选择。

测试的几家提供商

​ 不妨比较一下几家提供商,看看它们在世界各地的网速有多快。这些是我们选择评估的8家顶级的免费DNS提供商:

  • 谷歌 8.8.8.8:私密的、未经过滤的。这是最受欢迎的选择。
  • CloudFlare 1.1.1.1:私密的、未经过滤的。它是新玩家。
  • Quad 9 9.9.9.9:私密的、关注安全的。它是阻止访问恶意网站的新玩家。
  • OpenDNS 208.67.222.222:阻止恶意域名,并提供阻止成人内容这个选项的旧玩家。
  • 诺顿DNS 199.85.126.20:阻止恶意域名,并与其防病毒软件集成起来的旧玩家。
  • CleanBrowsing 185.228.168.168:私密的、关注安全的。阻止访问成人内容的新玩家。
  • Yandex DNS 77.88.8.7:阻止恶意域名的旧玩家。它在俄罗斯非常受欢迎。
  • Comodo DNS 8.26.56.26:阻止恶意域名的旧玩家。

下面这张图列出了它们在隐私选项方面的功能特性:

隐私选项比较

​ 上面的隐私选项基于提供商的承诺:不记录日志或不共享你的DNS请求。

地点

​ 我们从全球的18个地点进行了测试。我们主要使用VPS提供商+一些宽带位置,尝试从尽可能多的地方查询它们的DNS。它会告诉我们它们的连接有多可靠、数据中心的位置以及该地区某个用户的体验有多完善。选择的地点如下:

  • 北美:圣迭戈、洛杉矶、纽约、多伦多、蒙特利尔、亚特兰大、达拉斯、弗里蒙特和旧金山
  • 欧洲:伦敦、巴黎、阿姆斯特丹和法兰克福
  • 亚洲:东京、新加坡、班加罗尔(印度)、悉尼和布里斯班(澳大利亚)
  • 南美洲:圣保罗

测试结果摘要

​ 我们的测试非常简单,我们针对不同的流行域名(谷歌、facebook、twitter和Gmail等)在一个小时内执行了70次DNS查询。我们对每个位置的所有请求求平均值,以获得每个DNS解析器的整体性能指标。

长话短说/摘要

  • 所有提供商(Yandex除外)在北美和欧洲都表现非常好。它们在美国、加拿大和欧洲的响应时间均小于15毫秒,这令人惊讶。实际上,你选项其中任何一家,都不会注意到几毫秒的延迟差异。然而,亚洲和南美洲在总体平均值上有所不同,因为一些提供商在那里的连接不是很好。
  • 就所有地点中的72%而言,CloudFlare是速度最快的DNS。它在全球的平均值很低,仅为4.98毫秒,令人刮目相看。
  • 谷歌和Quad9分别名列第二和第三。Quad9在北美和欧洲的速度比谷歌快,但在亚洲/南美洲表现欠佳。
  • CloudFlare在每个地方都表现不俗。谷歌和Quad9在某些地方的响应时间很长,相比之下CloudFlare在各个地方都表现出色。
  • Yandex仅面向俄罗斯。它不像其他提供商那样利用任播(Anycast),在每个地方都非常缓慢。
  • CleanBrowsing是提供成人(色情)内容过滤机制的速度最快的提供商。
  • 我们知道自己无法一对一地比较这些提供商,因为它们都拥有可能增加一些延迟的特殊功能(比如Quad9和Comodo阻止访问恶意域名)。具体结果如下。

全球平均值

#1 CloudFlare:4.98ms

#2 谷歌: 16.44 ms

#3 Quad9: 18.25 ms

#4 CleanBrowsing: 19.14 ms

#5 诺顿: 34.75 ms

#6 OpenDNS: 46.51 ms

#7 Comodo: 71.90

#8 Yandex: 169.91

北美平均值

#1 CloudFlare: 3.93 ms

#2 Quad9: 7.21 ms

#3 诺顿: 8.32 ms

#4 谷歌: 8.53 ms

#5 CleanBrowsing: 11.83 ms

#6 OpenDNS: 14.66 ms

#7 Comodo: 25.91 ms

#8 Yandex: 119.09 ms

欧洲平均值

#1 CloudFlare: 2.96

#2 Quad9: 4.35

#3 CleanBrowsing: 5.74

#4 谷歌: 7.17

#5 OpenDNS: 8.99

#6 诺顿: 10.35

#7 Comodo: 13.06

#8 Yandex: 35.74

测试数据

美国纽约

#1Quad9 1.50 ms

#2CloudFlare 1.57 ms

#4Norton_DNS 7.28 ms

#5Google_DNS 7.71 ms

#6OpenDNS 9.71 ms

#6CleanBrowsing 10.85 ms

#7Comodo_DNS 12.00 ms

#8Yandex_DNS 108.14 ms

美国圣迭戈

#1 CloudFlare 8.57 ms

#2Norton_DNS 9.00 ms

#3Google_DNS 14.28 ms

#4CleanBrowsing 19.28 ms

#5OpenDNS 19.42 ms

#6Quad9 19.42 ms

#7Comodo_DNS 40.00 ms

#8Yandex_DNS 193.57 ms

加拿大多伦多

#1 CloudFlare 3.42 ms

#2Google_DNS 9.42 ms

#3Norton_DNS 13.00 ms

#4CleanBrowsing 13.71 ms

#5Quad9 15.28 ms

#6OpenDNS 17.85 ms

#7Comodo_DNS 21.71 ms

#8Yandex_DNS 124.14 ms

加拿大蒙特利尔

#1 CleanBrowsing 15.28 ms

#2Google_DNS 16.71 ms

#3CloudFlare 17.00 ms

#4Quad9 17.71 ms

#5OpenDNS 23.42 ms

#6Norton_DNS 25.71 ms

#7Comodo_DNS 84.28 ms

#8Yandex_DNS 118.85 ms

美国亚特兰大

#1 Quad9 1.71 ms

#2CloudFlare 1.85 ms

#3Google_DNS 4.14 ms

#4CleanBrowsing 15.42 ms

#5Norton_DNS 17.00 ms

#6OpenDNS 17.14 ms

#7Comodo_DNS 18.57 ms

#8Yandex_DNS 127.57 ms

美国达拉斯

#1CloudFlare 2.10 ms

#2Norton_DNS 3.14 ms

#3Quad9 3.42 ms

#4OpenDNS 6.71 ms

#5Google_DNS 7.14 ms

#6CleanBrowsing 10.85 ms

#7Comodo_DNS 38.42 ms

#8Yandex_DNS 153.28 ms

美国弗里蒙特

#1 CloudFlare 2.00 ms

#2Norton_DNS 6.14 ms

#3Quad9 11.00 ms

#4CleanBrowsing 11.85 ms

#5Google_DNS 13.71 ms

#6Comodo_DNS 22.00 ms

#7OpenDNS 24.42 ms

#8Yandex_DNS 185.00 ms

美国旧金山

#1 Norton_DNS 2.00 ms

#2Quad9 2.14 ms

#3CloudFlare 2.85 ms

#4Google_DNS 12.28 ms

#5CleanBrowsing 21.14 ms

#6Comodo_DNS 22.14 ms

#7OpenDNS 28.00 ms

#8Yandex_DNS 180.42 ms

英国伦敦

#1 CloudFlare 1.14 ms

#2Quad9 1.85 ms

#3CleanBrowsing 2.00 ms

#4Norton_DNS 6.57 ms

#5Google_DNS 7.71 ms

#6Comodo_DNS 9.85 ms

#7OpenDNS 9.85 ms

#8Yandex_DNS 35.57 ms

法国巴黎

#1CloudFlare 5.14 ms

#2Comodo_DNS 10.00 ms

#3Google_DNS 10.14 ms

#4Quad9 12.71 ms

#5OpenDNS 13.57 ms

#7CleanBrowsing 14.85 ms

#6Norton_DNS 23.85 ms

#8Yandex_DNS 38.14 ms

荷兰阿姆斯特丹

#1CloudFlare 1.14 ms

#2CleanBrowsing 1.14 ms

#3Quad9 1.71 ms

#4Google_DNS 2.71 ms

#5OpenDNS 4.42 ms

#6Norton_DNS 9.85 ms

#7Comodo_DNS 12.85 ms

#8Yandex_DNS 40.42 ms

德国法兰克福

#1 Norton_DNS 1.14 ms

#2Quad9 1.14 ms

#3CloudFlare 4.42 ms

#4CleanBrowsing 5.00 ms

#5Google_DNS 8.14 ms

#6OpenDNS 8.14 ms

#7Comodo_DNS 19.57 ms

#8Yandex_DNS 28.85 ms

日本东京

#1CloudFlare 2.00 ms

#2CleanBrowsing 2.14 ms

#3Norton_DNS 6.14 ms

#4Google_DNS 17.28 ms

#5Quad9 40.57 ms

#6Comodo_DNS 124.14 ms

#7OpenDNS 125.71 ms

#8Yandex_DNS 283.00 ms

新加坡

#1CloudFlare 1.14 ms

#2Google_DNS 2.00 ms

#3Quad9 2.14 ms

#4CleanBrowsing 2.28 ms

#5OpenDNS 28.14 ms

#6Norton_DNS 34.14 ms

#7Comodo_DNS 203.71 ms

#8Yandex_DNS 343.00 ms

印度班加罗尔

#1CloudFlare 7.42 ms

#2Norton_DNS 21.28 ms

#3Quad9 38.85 ms

#4Google_DNS 40.71 ms

#5OpenDNS 59.42 ms

#6CleanBrowsing 138.71 ms

#7Comodo_DNS 150.57 ms

#8Yandex_DNS 171.57 ms

澳大利亚悉尼

#1CloudFlare 22.28 ms

#2Quad9 25.00 ms

#3Google_DNS 26.14 ms

#4CleanBrowsing 34.57 ms

#5OpenDNS 37.85 ms

#6Norton_DNS 164.57 ms

#7Comodo_DNS 186.28 ms

#8Yandex_DNS 352.14 ms

澳大利亚布里斯班

#1CloudFlare 3.00 ms

#2CleanBrowsing 13.57 ms

#3Quad9 17.71 ms

#4Google_DNS 66.14 ms

#5Norton_DNS 160.14 ms

#6Comodo_DNS 188.28 ms

#7OpenDNS 190.28 ms

#8Yandex_DNS 336.71 ms

巴西圣保罗

#1CloudFlare 2.71 ms

#2CleanBrowsing 12.00 ms

#3Google_DNS 29.71 ms

#4Norton_DNS 114.71 ms

#5Quad9 114.71 ms

#6Comodo_DNS 129.85 ms

#7OpenDNS 213.14 ms

#8Yandex_DNS 238.14 ms