初級ではDNSを「名前をIPに変換する電話帳」と捉えました。中級では、その電話帳をどうたどるのか(名前解決の流れ)と、キャッシュ・レコードの種類を見ます。
中級の解説は準備中のため、中級の内容を表示しています。
概要 — まず全体をつかむ
詳細 — 1段階ずつ追う
これは何をする係?
DNSの答えを実際に探しに行くのがリゾルバ※1です。リゾルバは、自分が知らなければ住所帳の階層を上から順にたどって答えを持ち帰ります。
- リゾルバ(フルサービスリゾルバ)— あなたの代わりに世界中へ聞いて回る窓口
- 権威サーバ※2 — 「この名前の答えはこれ」と正式に持っているサーバ
この2つは役割が違います。リゾルバは「聞いて回る人」、権威サーバは「答えを持っている本人」です。
登場人物メモ:
- ※1 リゾルバ — 名前解決を代行する窓口。ふつうプロバイダかルーターにある
- ※2 権威サーバ — そのドメインの答えを正式に管理するサーバ
名前解決の流れ
リゾルバが答えを持っていないとき、階層を上からたどります。
- リゾルバがルートサーバに聞く(「.com はどこが管理?」)
- TLDサーバ(.com の担当)に聞く(「example.com はどこが管理?」)
- 権威サーバ(example.com 本人)に聞く(「IPアドレスは?」)
- 得られた答えを、リゾルバがあなたに返す
あなたの端末がリゾルバに「答えそのものを持ってきて」と頼む聞き方を再帰問い合わせ、リゾルバが各サーバに「次はどこへ聞けばいい?」と紹介をたどって聞くやり取りを反復問い合わせと呼びます。
アニメーション『DNSの名前解決(再帰)』を開く
- あなた(リゾルバ) — 名前からIPを調べる係。知らなければ上位へ聞きに行く
- ルートサーバ — 住所帳の最上位(世界の目次)。「.com」の担当を教えてくれる
- TLDサーバ(.com) — 「.com」を束ねる担当。「example.com」の担当を教えてくれる
- 権威サーバ(example.com) — この名前の最終回答(Aレコード)を持つサーバ
0 / 7
キャッシュとレコード
毎回この階層を全部たどると遅いので、一度引いた答えはキャッシュ※3にしばらく残します。
- TTL※4 — 答えの賞味期限。この期間はキャッシュを使い回せる(2回目が速い理由)
- TTLが短いと最新に追随しやすく、長いと負荷は減るが更新が遅れる
答えは用途別のレコードとして管理されます。
- A — 名前に対するIPv4アドレス
- AAAA — 名前に対するIPv6アドレス
- CNAME — 別名(「この名前は、あの名前の別名」)
- MX — そのメールの宛先サーバ
登場人物メモ:
- ※3 キャッシュ — 一度引いた答えの控え。2回目のアクセスが速い主因
- ※4 TTL — 控えの賞味期限。切れたら引き直す
⚠️ うまくいかないとき
- 名前が存在しない — 権威サーバが「そんな名前はない」と返す(NXDOMAIN)
- キャッシュが古い — 引っ越し直後、TTLが切れるまで古いIPへ案内される
- リゾルバが応答しない — タイムアウトして予備のDNSへ。全滅なら接続不能
- 設定ミス — レコードの打ち間違いで、意図しないサーバへ誘導される
この名前解決は、ページ表示の第一歩です。続きは URLを開くと何が起きるか で、接続・注文・組み立てまで通してたどれます。引いたIPで外へ出る出口の変換は NATとポート が担います。
理解度チェック
そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。
問1. リゾルバが知らない名前を引くとき、正しい問い合わせの順序はどれ?
問2. DNSのTTLの役割として正しいのは?
問3. リゾルバと権威サーバの役割の違いとして正しいのは?
問4. 端末がリゾルバに「答えそのものを持ってきて」と頼む聞き方を何と呼ぶ?
問5. AAAAレコードが返すのはどれ?
問6. レコードのTTLを短く設定したときの傾向として正しいのは?
問7. メールの宛先サーバを指し示すレコードの種類を英字2文字で答えてください。
問8. 「この名前は、あの名前の別名」と別名を表すレコードの種類を英字で答えてください。