DNSの仕組み|名前解決の問い合わせを順番にたどる

広告(PR)を含みます。

30秒でわかる答え

DNSの名前解決は、キャッシュを確認し、答えがなければキャッシュDNS(再帰リゾルバー)がルート・TLD・権威DNSなどへ問い合わせる流れです。端末は返ってきたIPアドレスを使い、その後にWebサーバーとの通信を始めます。

名前解決の流れ

DNSの名前解決では、まず使えるキャッシュを確認し、答えがなければキャッシュDNSが担当サーバーをたどって調べます。ルート・TLD・権威DNSへの問い合わせを引き受けるのは、通常、端末ではなくキャッシュDNSです。 この役割を「再帰リゾルバー」とも呼びます。

www.example.com のIPアドレスを調べる例で、キャッシュに手がかりがない場合を見てみましょう。

  1. 端末 → キャッシュDNS

    端末から青いキャッシュDNSへ問い合わせる模式図

    www.example.com のIPアドレスを質問する

  2. キャッシュDNS ⇄ ルートDNS

    青いキャッシュDNSがルートDNSへ問い合わせ、次の問い合わせ先の案内を受け取る模式図

    質問し、.com の担当サーバーの案内を受け取る

  3. キャッシュDNS ⇄ .com のTLD DNS

    同じキャッシュDNSがTLD DNSへ問い合わせ、権威DNSの案内を受け取る模式図

    質問し、example.com の権威DNSの案内を受け取る

  4. キャッシュDNS ⇄ 権威DNS

    キャッシュDNSが権威DNSに問い合わせ、目的のIPアドレスの答えを受け取る模式図

    質問し、www.example.com のIPアドレスを受け取る

  5. キャッシュDNS → 端末

    キャッシュDNSが調べたIPアドレスの答えを端末へ返す模式図

    調べた答えを返す

2〜4の問い合わせはキャッシュDNSが行います。使えるキャッシュがあれば、その情報に応じて工程を省けます。機器やカードは役割を示す模式図で、実際の設置場所やデータの形ではありません。

図は、別名への追加問い合わせなどを省いた基本形です。実際には最終的な答えだけでなく、担当サーバーの情報もキャッシュできます。そのため、答えが手元になくても途中の問い合わせを省ける場合があります。

IPアドレスが返ったら、ブラウザはその宛先へHTTPやHTTPSで通信します。DNSの返答だけでページが届くわけではありません。

第5話「名前と住所はどうつながる?」で見たDNS案内所を、実際の用語に戻していきましょう。基本の役割へ戻るならDNSとはで確認できます。

DNSサーバーごとの役割と居場所

DNSは、世界中の名前と宛先を一つの巨大な箱でまとめているわけではありません。名前の範囲ごとに担当が分かれ、必要に応じて上位から順にたどれるようになっています。

大まかな登場人物は次の四つです。

役割何をするかラボのたとえ
キャッシュDNS利用者側から問い合わせを受け、答えを探したり一時的に覚えたりする最初に相談する受付
ルートDNS.com や .jp など、次に聞く大きな担当を案内する入口の総合案内
TLD DNS.com や .jp などの範囲で、さらに担当先を案内する地区ごとの案内窓口
権威DNSそのドメインについて正式なDNSレコードを持つ担当部署の台帳

ユーザーの端末やブラウザは、毎回この流れを全部自力でたどるわけではありません。多くの場合は、まずキャッシュDNSに聞きます。キャッシュDNSが答えを覚えていれば、すぐ返せます。覚えていなければ、必要に応じてルートDNS、TLD DNS、権威DNSへ順に聞いて、答えを探します。

ユイ

DNSって、名前を住所に変える仕組み……までは言えるんです。でも、どこへ何を聞いているのかで止まります

マコト

では、今日は名前解決を順番で見よう。誰が全部を知っているか、ではなく、どこへ聞きに行くかだね

ユイ

DNSで宛先がわかって、そこからHTTPのお願いが始まるんですね

マコト

そう。名前を探す段階と、ページを受け取る段階を分けると、エラーの見方も変わるよ

キャッシュDNSと権威DNSの違い

DNSでつまずきやすいのは、「最初に聞く相手」と「正式な情報を持つ相手」が混ざるところです。

キャッシュDNSは、利用者に近い場所で問い合わせを受けます。プロバイダや社内ネットワーク、公共DNSサービスなどが使われることがあります。以前に同じ名前を調べていれば、一定時間その答えを覚えていて、すばやく返せます。

権威DNSは、そのドメインについて正式なDNSレコードを持つ側です。サイト運用者がDNS設定画面でAレコードやCNAMEを設定すると、その情報は権威DNS側の答えとして扱われます。

つまり、キャッシュDNSは「今利用者が聞いている受付」、権威DNSは「そのドメインの正式な台帳」です。

設定変更後に表示が変わらないときは、この違いが重要になります。権威DNSには新しい答えが入っているのに、キャッシュDNSが古い答えを覚えている場合があるからです。

ユイとピコが、キャッシュDNSの受付と権威DNSの正式な台帳の違いを見比べている
最初に聞く相手と、正式な情報を持つ相手を分けると、DNSの見方が落ち着きます。

DNSレコードは答えの種類

IPアドレスを調べるときに使うのは、IPv4ならAレコード、IPv6ならAAAAレコードです。別名を示すCNAMEが返り、さらにその名前を調べる場合もあります。

メールの配送先や所有確認など、用途が違えば答えの種類も変わります。それぞれの意味と設定例はDNSレコードの種類で整理しています。

反映待ちとキャッシュで迷わない

権威DNSが新しい答えを持っていても、キャッシュDNSに古い答えが残っていれば、利用者には古い宛先が返ることがあります。ここでも「正式な情報を持つ側」と「覚えた答えを返す側」を分けて考えます。

覚えた答えの有効時間を表す値はDNS TTLです。設定変更後に環境ごとの結果を調べたい場合は、DNS変更の反映差と確認の順番へ進んでください。

名前から宛先を得られない場合と、宛先を得たあとにサーバーへ接続できない場合では、確認する場所が違います。エラー表示から切り分ける手順はDNSエラーとはで扱います。

DNSの流れを説明するミニワーク

次の言葉を、DNS案内所の役割として一言で言い換えてみましょう。

  • キャッシュDNS:
  • ルートDNS:
  • TLD DNS:
  • 権威DNS:

答えの例は、「最初の受付」「上位の案内」「担当範囲の案内」「正式な台帳」です。

次に、次の文を完成させます。

ブラウザがURLを読むと、DNSは____を手がかりに、通信で使う____を探します。
その答えが返ってきたあと、ブラウザは____でサーバーへお願いを送ります。

例としては、「ドメイン名」「IPアドレス」「HTTPやHTTPS」が入ります。用語を暗記するより、名前解決の前後関係を言えるかを確認してください。

DNSの仕組みの確認クイズ

Q1. 権威DNSは何を持っていますか?

そのドメインについての正式なDNS情報を持っています。

Q2. DNSの答えが毎回最初から調べ直されるとは限らない理由は?

キャッシュが使われる場合があるからです。速く答えるために、以前の結果を一時的に覚えます。

Q3. DNSでIPアドレスがわかったあと、すぐ画面表示が完了しますか?

まだ完了ではありません。その宛先へHTTPなどで通信し、サーバーからデータを受け取り、ブラウザが表示する流れが続きます。

ユイは最後に、ノートの端へこう書きました。

DNSは入口。名前から宛先を探して、その先の通信に渡す。

マコトは、その宛先へどうお願いするかを見ると、Webページ表示の流れがもっとつながると付け加えました。

問い合わせの順番を一行にする

持ち帰る説明は、DNSでは、端末側の問い合わせから複数の案内役をたどり、ドメイン名に対応する答えを受け取るです。

端末とキャッシュDNSを描き、その横にルート・TLD・権威DNSを置いてみてください。キャッシュDNSから各担当への質問と返事を描ければ、誰が問い合わせを引き受けるかを説明できます。

この記事について

LAB WHITEBOARD

自分の言葉で説明してみよう

「DNSの仕組みについて、意味・場面・実際の仕組みを分け、次の理解へ進めるようになる。」を、いまの自分の言葉で一文にしてみてください。途中の説明でも大丈夫です。

編集部の実践ガイド

初めてのレンタルサーバーの選び方

自分でサイトを作ってみたくなったら、サーバーとドメインの選び方を確認できます。