普段はお堅い感じで手順系の解説記事を書いていますが、今回は検証系でラフな感じに更新していきます。
皆さんはPCやルータのDNSサーバを設定するときにどのDNSサーバを指定するでしょうか?
プロバイダーから払い出されたDNSサーバ?大手のPublic DNSサーバ?など色々と選択肢はあると思います。
今回は、様々なDNSサーバに名前解決のクエリを投げて応答速度がどれくらいなのか?を検証してみたので、その結果をまとめます。
結論
普段はまとめを最後に持ってくるパターンが多いですが、今回は初めに持ってきたいと思います。
提供元 | IPアドレス | Aレコード | Ping平均応答速度 | Ping最大応答速度 | Ping最小応答速度 | 平均名前解決速度 | 最大名前解決速度 | 最小名前解決速度 |
Cloudflare | 1.1.1.1 | one.one.one.one | 4 ms | 5 ms | 4 ms | 7 ms | 10 ms | 6 ms |
Cloudflare | 1.0.0.1 | one.one.one.one | 4 ms | 7 ms | 4 ms | 10 ms | 18 ms | 6 ms |
8.8.8.8 | dns.google | 3 ms | 9 ms | 4 ms | 11 ms | 46 ms | 6 ms | |
8.8.4.4 | dns.google | 3 ms | 5 ms | 4 ms | 11 ms | 16 ms | 6 ms | |
NTT America | 129.250.35.251 | y.ns.gin.ntt.net | 4 ms | 8 ms | 5 ms | 9 ms | 14 ms | 6 ms |
NTT America | 129.250.35.250 | x.ns.gin.ntt.net | 5 ms | 6 ms | 5 ms | 9 ms | 14 ms | 7 ms |
Yandex | 77.88.8.8 | dns.yandex.ru | 295 ms | 297 ms | 295 ms | 300 ms | 313 ms | 287 ms |
Yandex | 77.88.8.1 | secondary.dns.yandex.ru | 299 ms | 303 ms | 300 ms | 296 ms | 315 ms | 287 ms |
Ultra Public DNS | 64.6.64.6 | rec1pubns1.ultradns.net | 49 ms | 62 ms | 50 ms | 57 ms | 71 ms | 51 ms |
Ultra Public DNS | 64.6.65.6 | rec1pubns2.ultradns.net | 75 ms | 82 ms | 76 ms | 79 ms | 94 ms | 73 ms |
OpenDNS | 208.67.222.222 | dns.umbrella.com | 4 ms | 14 ms | 8 ms | 51 ms | 78 ms | 8 ms |
OpenDNS | 208.67.220.220 | resolver2.opendns.com | 4 ms | 13 ms | 8 ms | 46 ms | 79 ms | 8 ms |
OpenDNS | 208.67.222.123 | resolver1-fs.opendns.com | 4 ms | 15 ms | 7 ms | 40 ms | 76 ms | 7 ms |
OpenDNS | 208.67.220.123 | resolver2-fs.opendns.com | 4 ms | 5 ms | 5 ms | 41 ms | 83 ms | 9 ms |
OpenDNS | 208.67.222.2 | sandbox.opendns.com | 5 ms | 14 ms | 5 ms | 46 ms | 77 ms | 7 ms |
OpenDNS | 208.67.220.2 | sandbox.opendns.com | 4 ms | 7 ms | 5 ms | 57 ms | 78 ms | 40 ms |
Quad9 | 9.9.9.9 | dns9.quad9.net | 75 ms | 84 ms | 77 ms | 79 ms | 90 ms | 73 ms |
Quad9 | 149.112.112.112 | dns.quad9.net | 78 ms | 84 ms | 79 ms | 83 ms | 96 ms | 75 ms |
Quad9 | 9.9.9.10 | dns10.quad9.net | 70 ms | 84 ms | 71 ms | 83 ms | 94 ms | 76 ms |
Quad9 | 149.112.112.10 | dns10.quad9.net | 71 ms | 80 ms | 76 ms | 84 ms | 95 ms | 77 ms |
Quad9 | 9.9.9.11 | dns11.quad9.net | 73 ms | 80 ms | 74 ms | 83 ms | 94 ms | 74 ms |
Quad9 | 149.112.112.11 | dns11.quad9.net | 73 ms | 77 ms | 73 ms | 81 ms | 89 ms | 74 ms |
Adguard | 94.140.14.14 | dns.adguard.com | 4 ms | 7 ms | 5 ms | 8 ms | 13 ms | 6 ms |
Adguard | 94.140.15.15 | dns.adguard.com | 4 ms | 6 ms | 5 ms | 8 ms | 10 ms | 6 ms |
COMODO | 8.26.56.26 | ns1.recursive.dnsbycomodo.com | 40 ms | 43 ms | 40 ms | 52 ms | 62 ms | 41 ms |
COMODO | 8.20.247.20 | ns2.recursive.dnsbycomodo.com | 41 ms | 45 ms | 42 ms | 47 ms | 54 ms | 44 ms |
自宅DNS Primary | 非公開 | 非公開 | 0 ms | 0 ms | 0 ms | 2 ms | 4 ms | 1 ms |
自宅DNS Secondary | 非公開 | 非公開 | 0 ms | 0 ms | 0 ms | 2 ms | 3 ms | 1 ms |
こんな感じになりました。
当たり前ですが、基本的にPingしかりDNSサーバの応答速度しかり、通信の基本は対象PCとの物理的な距離と経路が関係しています。
大手のパブリックDNSサーバは東京などにDCがあるので、応答速度は速いです。
あとは以外だったのが、GoogleのパブリックDNSよりもCloudflareやAdguardのDNSサーバのほうが応答速度は速いです。
検証の目的
この検証を行おうとした動機ですが、ためにDNSサーバを変えるとインターネットが速くなる!と歌っているブログが目に留まったので、「本当かよ?」と心の中で思ったためです。
この手のブログってお金をもらってるんだか知らないですが、何の根拠もなく、速い!と書いていることが多いんですよね。
なので、本当に速いか自分の目で確認し、本当に正しい情報なのか確証を得るというのが目的です。
インターネットが速くなるとは
まず、インターネットが速くなるという用語が意味不明です。
仮に、通信速度を速めたいのであれば、より高速な理論値をうたっている回線に切り替えればよいです。(N〇ROとか)
あとは、ダウンロード速度などについては、ぶっちゃけた話こちらからどうすることもできないのが現状です。
というのも、ダウンロード速度についてはほぼ相手側のサーバのスペックによるものが大きいからです。
どんだけ自回線を増強しても相手側がおっそいHDDから読み込みをしている場合や、相手の回線が電話線で接続していて、インターネットへの接続が貧弱だとしたら、何をどうあがいてもダウンロード速度は上がりません。
じゃあ、ここで言っている「インターネットが速くなる」とは何のことなのか?
「Youtubeのロード時間やWebサイトへのアクセス時間、ゲームの応答速度などが速くなる!」
のことだと思います。
DNSサーバを変更するとインターネット(笑)が速くなる原理
基本的にはインターネット上のコンテンツをGETする場合、相手方の回線にも依存する。というのは前項で話しました。
じゃあ、この「DNSサーバを変更するとインターネットが速くなる」は嘘なのか?というと、半分は正解です。
Webサイトを見るには、相手方のWebサーバにアクセスして、データを自分の端末側に持ってくる必要があります。
しかし、この速度自体は回線速度に依存するので、DNSサーバを変更しても意味はありません。
DNSサーバを変更して意味があるのは名前解決行うときです。
例えば、Twitterにアクセスする場合は、https://twitter.comでアクセスします。
インターネット上だと、DNSの名前はIPアドレスに変換されて通信するので、DNSサーバにtwitter.comに紐づくIPアドレスを問い合わせします。
問い合わせてIPアドレスがわかったら、そのIPアドレスを使用してサイトを表示します。
つまりDNSサーバの応答速度が上がれば、実質インターネットの表示がその分速くなり、結果的にインターネットが速くなる。というトンデモ理論なのです。
でも実際に速いほうがよくない?という意見もありますが、たいていのOSだとIPアドレスとDNSの紐づけはキャッシュされているので、初回アクセスのみ時間がかかるが、それ以降はそのキャッシュされたIPアドレスを参照するため、DNSサーバを参照するよりも応答速度は速くなります。
正しく表記するのであれば、
「DNSサーバを変更すると、初めてアクセスするサイトだとサイトの表示が(数ms)速くなる。」
と言ったところでしょうか。
じゃあDNSサーバ変更する必要なくないか?
ぶっちゃけて言うと、基本的にはプロバイダー指定のDNSサーバを指定しておけば大きな問題はないと思います。
ただ、冗長性に不安があったり、プロバイダー指定のDNSサーバがポンコツだったりした場合には別のパブリックDNSサーバを指定してもよいと思います。
※プロバイダー自体もそこそこのDNSサーバを用意しているはずなので、特にプロバイダーだから遅いとかはあまりないと思う。それ以前に自分の環境や回線状況等の見直しをしたほうが圧倒的に速くなるし、安定する。
それでもDNSサーバの応答速度を速くしたい場合
その数msでもDNSの応答速度を速めたい場合、自宅内にDNSサーバを設置することをお勧めします。
結論の表からもあるように、物理的に近い場所にDNSサーバがあれば応答速度も爆速です。
そのため、皆さん、自宅にDNSサーバを設置して快適なDNSサーバライフを送りましょう。
まとめ
すでに書きたいことが分散しているので、いったんまとめます。
DNSサーバを変更したところで、インターネットの速度はあまり変わらない。
以上です。
ついでに、後日この検証方法については、別途記事を書きたいと思います。
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。
コメント