テストの仕組みは?
ブラウザーが各 DNS に直接問い合わせます。このサイトは経由しません。まず各 DNS と接続を開き、人気の名前を 3 つずつ一度問い合わせてキャッシュに載せます。ここは結果に含めません。続いて 10 ラウンド:毎回すべての DNS に一度ずつ、順番を毎回シャッフルして、いくつか同時に問い合わせます。回線が一瞬詰まっても、たまたま測っていた 1 社だけでなく全社に同じように影響します。1 ラウンドおきに、どこにも存在しないランダムな名前も問い合わせます。
数値は中央値なので、1 回の遅れでは動きません。時間はブラウザー自身が記録したリクエストごとの通信時間で、ページのスクリプトに遅らされることはありません。URL は毎回新しく、キャッシュを通さないので、答えられるのはリゾルバー本人だけです。
UDP と DoT が推定なのはなぜ?
ブラウザーにできるのは HTTPS リクエストだけです。53 番ポートへの UDP 問い合わせも、853 番ポートへの TLS 接続(DoT)も、DoQ もできません。あなたの回線からこれらを測れるウェブサイトはありません。そうした数値を出すサイトは、自分のサーバーで測っているか、推測しています。
このページができるのは、UDP と DoT に答えるのと同じサーバーへ DNS over HTTPS を送ることです(例:https://1.1.1.1/dns-query)。開いた接続上では、1 回の問い合わせはそのサーバーまでの 1 往復とリゾルバーの処理で、UDP や DoT の問い合わせも同じだけかかります。HTTP の分は 1 ms にもなりません。だから ≈ です。通常 DNS サーバーが HTTPS に対応していない場合は、数字の代わりに – を表示します。
推定でわからないこと:53 番や 853 番だけをブロック・制限・改ざんし、HTTPS には手を出さない回線。
UDP・DoT・DoQ を実測するには、サーバーや Linux マシン、ルーターでコマンドラインツール(表の下のコマンド)を実行してください。すべてのプロトコルに対応し、同じ DNS リストを使います。
結果はどのくらい信頼できる?
測り方は最初の質問のとおりです。加えて、リストはリポジトリの scripts/verify.mjs で複数の大陸から確認しています。すべてのアドレスがこの形の問い合わせに本物の DNS 応答を返すこと、そして DNSSEC 検証は各社の説明ではなく実際にテストした結果です。
応答の読み取りを許可している DNS(Cloudflare、Google、Quad9、Control D、DNS.SB、DNS4EU、IIJ)では、ページが応答の中身も確認し、本物だけを数えます。それ以外は計時のみで、中身は読めません。
何度か、できれば時間帯を変えてテストしてください。夜に最速でも、混雑時間帯は違うかもしれません。
プロキシを使っています。結果は自分のもの?
そのままでは違います。プロキシや VPN がオンだと、ブラウザーはそれを経由して各 DNS に届くため、テストはプロキシの経路を測ります(海外の DNS がどれもプロキシサーバーと同じくらいの速さに見えます)。端末やルーターに設定した DNS は普段は直接問い合わせられるので、実際に得られる速さとは違います。
自分の回線を測るには、直接接続ルール(進捗の横のボタン)を追加してください。このテストが使うアドレスだけを、正確なホスト名と単一 IP で直接接続にし、ほかは変えません。Clash/Mihomo、Surge、Shadowrocket、Quantumult X、Loon、sing-box、Xray に対応し、多くはこのサイトからルールを読み込んで最新に保てます。
「キャッシュなし」とは?
人気の名前はどの大手リゾルバーにもキャッシュされているので、どこでも速く答えます。最近だれも問い合わせていない名前では、リゾルバーはまずそのサイト自身の DNS サーバーに聞きに行きます。テストでは Cloudflare の DNS でホストされたゾーンのランダムな名前を使います。Cloudflare のサーバーは中国本土以外のほぼ全世界にあります。
この時間はサイトごとの DNS サーバーの場所で変わるので、表示はしますが順位には使いません。中国本土の DNS がここで遅く見えるのはゾーンのサーバーが国外にあるためで、中国のサイト(DNS サーバーが国内)には速く答えます。
どれを選べばいい?
一番上の DNS がまず良い選択です。差が数 ms なら、ほかに大事な点で選びましょう:Quad9 と OpenDNS は既知のマルウェア・フィッシングサイトをブロックします。Mullvad、Quad9、Wikimedia はだれが何を問い合わせたかを記録しません。DNSSEC を検証する DNS は、署名されたドメインの偽の応答を拒否します。
機器に通常の DNS サーバーアドレスしか入れられない場合(多くのルーターや古いシステム)は、UDP の列を見てください。最速の通常 DNS が 1 位と違うときは、1 位の下の行に出ます。
回線やプロバイダーに問い合わせ内容を見られたくないなら、DoT か DoH のアドレスを使ってください。通常 DNS は暗号化されません。
DNS の変え方は?
Android 9 以降:設定 → ネットワーク → プライベート DNS → DoT のホスト名(例:one.one.one.one)を入力。
iPhone と Mac:Wi-Fi ネットワークごとに DNS サーバーを入力。暗号化 DNS は各社サイトの構成プロファイルをインストール。
Windows 11:設定 → ネットワーク → 接続 → DNS サーバーの割り当て → 手動で、サーバーを入力し DNS over HTTPS をオン。
ルーター:DHCP または WAN 設定に DNS サーバーを入れると、ネットワーク内のすべての機器で使われます。
ブラウザーだけ:Chrome、Edge、Firefox の「セキュア DNS」でプロバイダーを選ぶか、DoH アドレスを貼り付けます。
このページのアドレスはクリックでコピーできます。
DNSSEC とは?
DNSSEC はドメインが自分の DNS レコードに署名する仕組みです。検証する DNS は署名を確かめ、合わない応答を拒否するので、途中のだれも署名済みドメインの偽アドレスを渡せません。✓ は検証する DNS です(わざと署名を壊したドメイン dnssec-failed.org を拒否するかでテスト)。署名済みのドメインにしか効きませんが、損はありません。
114DNS や Baidu DNS がないのはなぜ?
通常 DNS しか提供しておらず、サーバーが HTTPS にまったく応答しないため、ブラウザーからは一切届きません。台湾の Quad101 も、確認時に DoH が国外から応答しなかったため外しました。
ECS とは? なぜ表示しない?
EDNS Client Subnet:一部の DNS は、あなたのアドレスの一部をサイトの DNS サーバーに伝えます。CDN がリゾルバーではなくあなたの近くのサーバーを選べるので、ダウンロードや動画が速くなることがあり、代わりにプライバシーが少し減ります。
表にないのは固定の性質ではないからです。確認では、同じ DNS が場所やプロトコルによって伝えたり伝えなかったりしたため、はい・いいえのどちらでも誤解を招きます。
データは集められますか?
いいえ。問い合わせはブラウザーから各 DNS に直接送られ、内容は人気の公開サイトとランダムな名前だけで、あなたの情報は含まれません。このサイトは結果を受け取りません。普段の DNS 問い合わせと同じく、各 DNS にはあなたのアドレスが見え、各社のプライバシーポリシーが適用されます。コードは GitHub で公開しています。