DNSサーバといえば、ドメイン名とIPアドレスを対応付けるためのものです。この記事では、DNSサーバがどのような仕組みでIPアドレスを取得してくれるのか、初心者向けにわかりやすく説明していきます。
DNSサーバとは?
まずDNSサーバについて簡単に説明します。
冒頭でもありました通り、DNSサーバとはドメイン名とIPアドレスの対応付けをしてくれるサーバのことです。では、なぜこのような機能が必要なのでしょうか。
DNSサーバの必要性
私たちがWebサービスなどのサービスを利用する際、ドメイン名というものを使用しています。例えば、https://www.example.jpのようなURLを入力してウェブサイトに飛びます。この際、wwwの部分をホスト名、example.jpの部分をドメイン名といいます。
https://www.example.jp
www ・・・ ホスト名(コンピュータの名前)
example.jp ・・・ ドメイン名
ところが、コンピュータというのは0か1の2進数しか読み取ることができません(これがIPアドレス)。そこで、ドメイン名を取得するリクエストに対してIPアドレスを返してくれるような仕組みが必要なのです。
では、具体的にどのような仕組みで、ドメイン名とIPアドレスの対応付けをしているのでしょうか。
DNSサーバの名前解決の仕組み
ドメイン名からIPアドレスを取得することを、名前解決と呼びます。それでは、DNSサーバを使った名前解決の仕組みを下図で見ていきます。
例)クライアントPCがexample.jpのIPアドレスを取得するまでの流れ。
①クライアントは、まずルートDNSサーバにリクエストします。ルートDNSサーバは、世界13拠点に存在するDNSサーバです。
②ルートDNSサーバは、.jpのDNSサーバの情報を持っているため、それをクライアントへ返します。
③クライアントは、.jpのDNSサーバにリクエストします。
④.jpのDNSサーバは、example.jpのDNSサーバの情報を持っているため、それをクライアントへ返します。
⑤クライアントは、example.jpのDNSサーバにリクエストします。
⑥example.jpのDNSサーバは、IPアドレス192.10.2.1を返します。
このようにして、ドメイン名からIPアドレスを取得しています。私たちがWebサイトを閲覧するとき、リクエストしたサイトはすぐレスポンスされます。ところが、裏側では上図のようなDNSサーバのやりとりがたくさん行われてようやくIPアドレスを取得できるのです。
まとめ
私たちが何気なく使っているサービスも、裏側ではたくさんの処理が行われている、なんてことはよくありますよね。DNSサーバもその一つです。Webサービスの利用やコンピュータとの通信に欠かせない存在、それがDNSサーバです。