1_DNSとは何か(第1・2回の振り返り)
DNS(Domain Name System)とは、インターネット上の住所であるIPアドレスと、人間が覚えやすいドメイン名を結び付けてくれるシステムになります。私たちのPCは、Webサイトにアクセスする前にURL(ドメイン名)をDNSサーバに問い合わせることで、WebサイトのIPアドレスを取得し、通信を行っております。(第1回参照)
また、DNSサーバは、ドメイン名とIPアドレスの紐づけだけではなく、メールサーバの情報など様々な値を返すことが出来ます。(第2回参照)

2_名前解決における全体像
これまでの記事では、DNSサーバに対して、DNSクエリ(=名前解決要求)を実施すれば、DNSサーバが値を返すと説明していましたが、実際には、いくつかの機器が存在した上で通信が成立しています。下記図は、全体像を示したものになります。


なんか色々な機器が登場しますね・・・

それぞれ役割がありますので、一つ一つ丁寧に見ていきましょう
3_PCからDNSキャッシュサーバへの再帰問い合わせ
一般的に我々が使用しているPCは、いきなり名前情報を管理しているサーバにDNSクエリをしているわけではありません。多くは、 DNSキャッシュサーバと呼ばれる名前解決情報を一時的に保持しているサーバに問い合わせを投げ、キャッシュサーバが情報を持っていればキャッシュサーバが応答し、持っていなければキャッシュサーバが、名前情報を持っているサーバに更に問い合わせを投げます。

3-1_キャッシュサーバ
キャッシュサーバは、よく使われるドメイン名とその答え(IPアドレス)を一時的に覚えておく「メモ帳」のようなサーバです。 あなたが同じサイトに何度もアクセスすると、毎回遠くのサーバに聞きに行かずにここから素早く答えを返します。保存時間はTTLという設定値で決まり、期限が切れると古い情報は捨てられます。
3-2_再帰問い合わせ
再帰問い合わせは、 あなたの代わりに「全部調べて答えて」と頼む方法です。PCはまずキャッシュサーバ(多くはプロバイダや公共DNS)に問い合わせをし、キャッシュサーバが情報を持っていなければ、キャッシュサーバが情報を持っているサーバに順に問い合わせて最終的なIPをまとめて返します。利用者は手間が少なく、速さと利便性が得られます。
4_DNSキャッシュサーバから権威DNSサーバへの反復問い合わせ
上述のとおり、キャッシュサーバは名前解決情報を持っていない場合、名前解決情報を持っているサーバ(= 権威DNSサーバ)に順番に問い合わせ(=反復問い合わせ)、名前情報を入手します。


権威DNSサーバに順番に問い合わせるっていうのがイマイチわかりません・・・名前情報を持っているサーバに1回問い合わせればそれで解決するのではないのですか?

そこを理解するには、 FQDNという概念と、各ドメインを管理している権威DNSサーバが分散されているということを理解する必要があります。
4-1_FQDN(ドメイン名+ホスト名)
FQDNは「完全修飾ドメイン名」の略で、ホスト名とドメイン名を合わせたフルの名前です(例:www.example.com)。ネット上でその機器やサービスを一意に指すため、どのサーバのどのサービスかを正確に指定でき、世界でただ一つの名前になります。FQDNの要素を詳細に分割するとホスト名+セカンドレベルドメイン+トップレベルドメイン+ルートドメインに分類できます。
この各要素について、「www.example.com.」を例に解説していきます。
4-1-1 ホスト名(www)
4-1-2 セカンドレベルドメイン(example)
4-1-3 トップレベルドメイン(TLD)(com)
4-1-4 ルートドメイン(最後の「.」)
4-1-5 FQDNの各要素の整理表
| FQDN要素 | 例 | 住所の例え | 役割 |
| ホスト名 | www | 部屋番号 | どのサービスか |
| セカンドレベルドメイン | example | 建物名 | 組織・サイト名 |
| TLD | com | 地域 | 大分類(国・用途) |
| ルート | . | 世界の入口 | DNSの最上位 |
4-2_権威DNSサーバ
権威サーバはそのドメインの「公式の辞書」を持つサーバです。ドメイン所有者が設定したAやMXレコードなどの正しい値を管理しており、最終的に「これが正しい」と答えられる唯一の存在です。DNSの変更を確実に確認したいときは、権威サーバに直接問い合わせるのが確実です。
ここで重要なのは、この権威DNSサーバが先ほど説明した
FQDNの各要素に対応して存在しているということです。ルートドメインならルートサーバが、TLDならTLDの権威サーバが、セカンドレベルドメインならセカンドドメインの権威DNSサーバが存在します。権威DNSサーバも
階層化することで、世界中の問い合わせに耐えることが出来るような仕組み(
負荷が分散される)を実現しています。
4-3_反復問い合わせ
反復問い合わせは、上記例で言うとキャッシュサーバが自分で段階を追って各権威DNSサーバに聞いていく方法です。各サーバは「次にどこへ聞けばよいか」を教えるだけで、最終回答はキャッシュサーバが集めます。
5_まとめ

DNSでは「速さ」と「正確さ」を分担する仕組みがあります。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
①キャッシュサーバは速く答えるために結果を覚え、
②権威サーバは公式の正しい情報を持ちます。
❶再帰問い合わせはキャッシュサーバに全部任せる方法
❷反復問い合わせは段階的にキャッシュサーバが権威DNSサーバに問い合わせ、情報を集める方法です。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
運用では両者の違いを理解することが重要です。
(参考)よくある質問
- Q1キャッシュサーバと権威サーバは何が違うのですか?
- A1
キャッシュサーバは、よく使う名前とIPアドレスを一時的に保存して、次の問い合わせを素早く返す「メモ帳」のようなサーバです。一方、権威サーバはそのドメインの“公式の答え”を持つサーバで、AレコードやMXレコードなどの正しい情報を管理しています。キャッシュサーバは速さを担当し、権威サーバは正確さを担当するという役割分担になっています。DNSの変更が反映されないときは、キャッシュが古いだけの可能性があるため、権威サーバに直接問い合わせると最新の情報を確認できます。
- Q2再帰問い合わせと反復問い合わせはどう使い分けられているのですか?
- A2
再帰問い合わせは、PCがキャッシュサーバに「全部調べて答えて」とお願いする方式で、普段のWebアクセスはほとんどこれです。キャッシュサーバが必要に応じて権威DNSサーバへ問い合わせ、最終的な答えをまとめて返します。反復問い合わせは、キャッシュサーバがルート→TLD→セカンドレベル→ホスト名の順に「次はどこへ聞けばよいか」を教えてもらいながら進む方式で、DNSサーバ同士の通信や仕組みの理解・調査で使われます。再帰は利便性、反復は仕組み理解と正確性の確認に向いています。
- Q3なぜ権威DNSサーバは1つではなく階層に分かれているのですか?
- A3
FQDN(例:www.example.com.)は「ホスト名 → セカンドレベルドメイン → TLD → ルート」という階層構造になっています。この階層ごとに権威DNSサーバが存在することで、世界中から大量の問い合わせが来ても負荷が分散され、インターネット全体が安定して動作します。例えば、ルートサーバは「.」の情報、TLDサーバは「.com」の情報、セカンドレベルの権威サーバは「example.com」の情報を持つというように役割が分かれています。これにより、DNSは高速で壊れにくい仕組みになっています。



コメント