之前的一篇文章當中,筆者科普了DNS的作用,和應對DNS劫持的一些措施。簡而言之,使用第三方DNS服務,是一種行之有效且安全的做法。但國內外的公共DNS服務有數十家之多,究竟哪個更快?不同省市區和不同的寬帶運營商,DNS域名解析速度是否有差別呢?

DNS服務商的機房布局
結論是:是的。不同的DNS服務提供商,自然有快有慢;不同的省市區使用一家DNS服務,自然也有快有慢。那么究竟電信、聯通和移動寬帶分別適合用哪家的公共DNS呢?此番筆者就進行了逐項測試。下圖是國內外主要公共DNS的名單。

公共DNS服務提供商
速度測試
由于一臺電腦只能測試出一個地區的連接速度,所以筆者使用了超級Ping工具,來測試各地主機連接DNS服務器的速度,綜合成績取多線機房的平均速度。

超級Ping測試工具
多線機房測試結果
- 阿里223.5.5.5:平均響應時間14.5ms(毫秒,下同)
- 百度180.76.76.76:19.7mm
- 騰訊119.29.29.29:21.2ms
- 114DNS 114.114.114.114:21.2ms
- oneDNS 117.50.11.11:21.9ms
- CNNIC 1.2.4.8:27.5ms
適合電信寬帶的DNS排行榜
- 百度180.76.76.76:14.6ms
- 騰訊119.29.29.29:19.2ms
- 阿里223.5.5.5:19.8ms
- 114DNS 114.114.114.114:20.7ms
- CNNIC 1.2.4.8:23.9ms
- oneDNS 117.50.11.11:32.9ms
適合聯通寬帶的DNS排行榜
- 阿里223.5.5.5:16.4ms
- 114DNS 114.114.114.114:17.1ms
- 百度180.76.76.76:19.1ms
- CNNIC 1.2.4.8:19.5ms
- 騰訊119.29.29.29:20.9ms
- oneDNS 117.50.11.11:25.9ms
適合移動寬帶的DNS排行榜
- 114DNS 114.114.114.114:7ms
- CNNIC 1.2.4.8:14ms
- 百度180.76.76.76:14.5ms
- 騰訊119.29.29.29:18ms
- 阿里223.5.5.5:21.5ms
- oneDNS 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,最好還是實測一下自家寬帶鏈接各個公共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這三家。