「DNSサーバー」と呼ばれる3つの層
スタブリゾルバー
お使いのデバイス自体
再帰リゾルバー
ISP、ルーター、1.1.1.1
権威サーバー
ドメイン自身のDNS
再帰リゾルバーと権威リゾルバーの違い
「DNSサーバー」という言葉は、実際にはまったく異なる2つの役割を指して、ゆるく使われています。この2つを区別しておくと、DNSの仕組み全体がはるかに理解しやすくなります。
再帰リゾルバー:調べる手間を引き受ける
再帰リゾルバーは、デバイスが実際に話しかける相手です。ISPやルーターが設定していることが多く、1.1.1.1 や 8.8.8.8 のような公開リゾルバーを手動で設定することもあります。その役割は、問い合わせを受け取り、答えるために必要な作業をすべて行うことです。まず自身のキャッシュを確認し、なければ、ルートサーバーからTLDサーバー、そしてそのドメイン自身の権威サーバーへと連鎖をたどり、最終的な答えを返します。
権威サーバー:実際の答えを持っている
権威ネームサーバーは、特定のドメインのレコードに関する信頼できる情報源です。そのドメインのA、AAAA、MXなどの実際のレコードが置かれている、唯一の場所です。ユーザーに代わって何かを調べに行くことはなく、担当しているドメインについて直接答えるだけで、それ以外については拒否する(あるいは別の場所に転送する)かたちになります。
- 再帰リゾルバーは共有インフラで、通常は何百万もの異なるドメインに対して、特別な関係を持たないまま答えています。
- ドメインの権威サーバーは、通常は数が少なく、そのドメイン(または関連する少数のドメイン)に特化しています。
- Node.js自身のDNSリゾルバーを使い、公開の再帰リゾルバーに対してドメインを直接解決するようなツールは、ブラウザーが使うのと同じ、再帰から権威へと至る連鎖を使っています。違いは、ブラウザーを介していないことだけです。
実は3つ目の役割もある:スタブリゾルバー
お使いのデバイス自身が、連鎖の全体をたどることはほとんどありません。代わりに、軽量なスタブリゾルバーを動かしています。これはOSレベルの小さなソフトウェアで、独自のロジックはほとんど持ちません。アプリケーションのDNSの問い合わせを、設定されている再帰リゾルバー(ISPのもの、ルーターのもの、1.1.1.1 のように手動で設定したもの)に転送し、答えを返すだけです。ノートパソコンやスマートフォンで「DNS設定」を変更してもDNSの仕組み自体は変わらず、スタブリゾルバーの転送先となる再帰リゾルバーが変わるだけなのは、このためです。この転送の段階自体が、暗号化された通信路(DNS-over-HTTPSまたはDNS-over-TLS)で行われることも増えており、ローカルネットワーク上の第三者は、どのドメインが検索されているかを平文で読み取れなくなっています。
この区別は、「自分のDNSプロバイダー」と「自分のドメインの権威ネームサーバー」が通常は同じものを指す一方で、「使っているDNSサーバー」(1.1.1.1 など)は、自分のドメインについて特別な知識をまったく持たない、まったく別の汎用的な再帰リゾルバーであることの説明にもなります。伝言役にすぎないのです。
| 役割 | 動作する場所 | 把握している情報 |
|---|---|---|
| スタブリゾルバー | デバイス自身のOS | 何も持たない。質問を転送するだけ |
| 再帰リゾルバー | ISP、ルーター、または 1.1.1.1 のような公開サービス | あらゆるドメインについて、特別な情報はなし。すべてのために調べる手間を引き受ける |
| 権威ネームサーバー | ドメイン所有者のDNSプロバイダー | 1つのドメイン(または少数のドメイン)について、完全で確定的な詳細 |
この区別が多くの混乱を解消する理由
DNSのトラブルシューティングの驚くほど多くが、紛らわしい挙動の責任がこの3つの層のどれにあるのかを突き止めることに行き着きます。3つとも口語的には「DNSサーバー」と呼ばれるため、推測を誤ることもよくあります。ドメイン自身の権威ネームサーバーに直接問い合わせると正しく解決されるのに、特定のISPの再帰リゾルバー経由では誤った答えが返るなら、原因はそのリゾルバーのキャッシュや設定にあり、ドメイン所有者が管理しているものではないと明確に分かります。逆に、どの再帰リゾルバーに尋ねても誤った答えが返るなら、原因は権威側にあります。この切り分けを数秒ではっきり行えることが、効率的なDNSのデバッグと当てずっぽうとを分ける、ほとんどすべてです。
ドメインの公開DNSアドレスを調べたい場合は、Domain IP Lookupツールをお試しください。
関連記事
TTLの実際の選び方
DNS TTLを理解する:変更の反映に時間がかかる理由
TTLは、DNSの応答が再び検索されるまでキャッシュされる時間を決めます。DNSの変更がすぐにあらゆる場所に反映されない、本当の理由を解説します。
並行して使われる2つのアドレス体系
IPv4
192.0.2.10
32ビット、約43億のアドレス、枯渇
IPv6
2606:4700::6810:84e5
128ビット、340澗のアドレス
AレコードとAAAAレコードの違い:IPv4とIPv6を解説
AレコードはIPv4アドレス、AAAAレコードはIPv6アドレスを返します。同じドメインに対する2つの独立したアドレス体系と、両方を確認すべき理由を解説します。
再帰的なDNS検索を1ホップずつ見る
ブラウザー
example.comを要求
リゾルバー
ISP / 1.1.1.1
ルート + TLD
.comの管理元は?
権威サーバー
正式な回答
この連鎖の各ホップはそれ自体がDNS検索で、結果はその後キャッシュされます
DNSとは?仕組みをやさしく解説
ドメインを入力してからブラウザーがサーバーに接続するまでの間に何が起きているのか、ドメインネームシステムの仕組みを平易な言葉で順を追って解説します。