DNSの仕組みを図解で説明
〜名前解決の流れとDNSレコード〜
「DNS」知っていますか?名前解決の流れを説明できますか?
ドメイン名をIPアドレスに変換するもの、くらいの理解の人も多いと思います。
普段は意識しませんが、Webサイトを見る時もメールを送る時も、毎回DNSが使われています。
DNSの仕組みについて、図を使って説明していきます。
DNSとは?
DNS(Domain Name System)は、ドメイン名とIPアドレスを対応させる仕組みです。
コンピュータは、IPアドレスで通信相手を探します。
しかし、人が「203.0.113.10」のような数字を覚えるのは大変です。
そこで、「www.example.jp」のような名前を使えるようにしています。

電話帳で名前から電話番号を調べるようなものです。
ドメイン名からIPアドレスを調べることを、名前解決といいます。
ドメイン名は階層になっている
世界中のドメイン名を、1台のサーバで管理することはできません。
そこで、ドメイン名を階層に分けて、それぞれの担当のサーバが管理しています。

一番上がルートです。
「www.example.jp」は、右から順に上の階層になります。
上の階層のサーバは、1つ下の階層の担当サーバを知っています。
この仕組みのおかげで、上から順に聞いていけば、目的のサーバにたどり着くことができます。
2種類のDNSサーバ
DNSサーバには、役割の違う2種類があります。
- キャッシュDNSサーバ: パソコンの代わりに問い合わせてくれるサーバ
- 権威DNSサーバ: ドメインの情報を持っていて、答えを返すサーバ
パソコンが問い合わせるのは、キャッシュDNSサーバです。
次の図の中の、ルートDNS、jpのDNS、example.jpのDNSが権威DNSサーバです。
名前解決の流れ
「www.example.jp」のIPアドレスを調べる流れを見てみましょう。

流れは次のようになります。
① パソコンがキャッシュDNSサーバに問い合わせる
② キャッシュDNSサーバがルートDNSに問い合わせる
③ ルートDNSが「jpのDNSに聞いて」と答える
④ jpのDNSに問い合わせる
⑤ jpのDNSが「example.jpのDNSに聞いて」と答える
⑥ example.jpのDNSに問い合わせる
⑦ example.jpのDNSがIPアドレスを答える
⑧ キャッシュDNSサーバがパソコンに答えを返す
パソコンは1回聞くだけで、後はキャッシュDNSサーバが順番に聞いて回ります。
キャッシュの役割
毎回この流れを行っていると、時間がかかります。
そこで、キャッシュDNSサーバは一度調べた結果をしばらく覚えておきます。

2回目からは、覚えている内容をすぐに返すことができます。
覚えておく時間は TTL(Time To Live)で決められています。
ただし、良いことばかりではありません。
サーバのIPアドレスを変更しても、TTLが切れるまでは古い情報が返ることがあります。
ドメインの設定を変更した時に、すぐに反映されないのはこのためです。
DNSレコードの種類
DNSサーバは、ドメインの情報をレコードという形で持っています。
主なものは次の5つです。

Webサイトを見る時は、IPv4ならAレコード、IPv6ならAAAAレコードを使います。
メールを送る時は、MXレコードで受け取るサーバを調べます。
メールの仕組みは、メールの送信と受信の仕組みを図解で解説で説明しています。
DNSが使うプロトコル
DNSは、ポート番号 53番を使います。
通常の問い合わせは、速さを優先してUDPを使います。
応答が大きい時などはTCPを使います。
TCPとUDPの違いは、TCPとUDPの仕組みを図解で説明の記事で説明しています。
まとめ
今回はDNSの仕組みについて説明しました。
DNSは、ドメイン名とIPアドレスを対応させる仕組みで、階層の上から順に問い合わせて答えを見つけます。
基本情報技術者試験では、キャッシュDNSサーバと権威DNSサーバの役割の違いと、主なレコードの種類を押さえておきましょう。
パソコンのコマンドプロンプトで「nslookup ringonet.link」と入力すると、名前解決の結果を確認できます。一度試してみると理解が深まると思います。
通信できない時の確認の方法は、pingとtracerouteの仕組みを図解で説明の記事で説明しています。


