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