では、今回は、URLをわかりやすく表示させてくれる「DNS」についてです。
人は、それを「名前解決」と呼びます。
URLは「www.sample.com」という形をしていると思うのですが、これは「ホスト名」です。Webサーバなどに通信するのに、必ず必要なのは「IPアドレス」ですよね。
つまり、DNSは「www.sample.com ⇔ 186.19.10.1」のようにホスト名とIPアドレスを相互に変換してくれるプロトコルなのです。
ちなみに、DNSとは「Domain Name System」の略称で、ここではドメイン=ホスト名ですので、なんとなくわかる気がしますのよね。
「www.sample.co.jp」を例に取ると、
「www」・・・第4レベルドメイン
「sample」・・・第3レベルドメイン
「co」・・・セカンドレベルドメイン
「jp」・・・トップレベルドメイン
と呼ばれ、なんか正式な組織が管理しています。(詳しくは知らない)
あと、ドメインというのはツリー状になっていて、下図のようなイメージでドメイン名からIPアドレスを問い合わせにいきます。
動作としてはこんなかんじです。
まず、ドメイン名からIPアドレスを取得するために、クライアントはローカルDNSサーバに問い合わせをします。
問い合わせを受けたローカルDNSサーバはツリーのトップに当たる「ルートDNSサーバ」に問い合わせを行います。
そして、ツリーの下位に向かって、問い合わせを繰り返していきます。
また、「ルートDNSサーバ」は世界に13台しかないので、Webページを検索するのに、毎回問い合わせに行っていたら、かなり負荷がかかってしまいます。
そのため、キャッシュ機能(キャッシュメモリに記憶すること)を使って、負荷を減らす仕組みになっています。このキャッシュ機能というのはクライアント自身やローカルDNSサーバに備わっています。
このようなキャッシュ機能のあるDNSサーバを「キャッシュDNSサーバ」とも呼びます。「キャッシュDNSサーバ」は、クライアントの「IPアドレを調べて」という要求を受けて、「権威DNSサーバ」に問い合わせに回ります。
このように、問い合わせを受けて、回答するDNSサーバを「権威DNSサーバ」といいます。
ちなみに、ホスト名から、IPアドレスを導くことを「正引き」と言って、逆の、IPアドレスからホスト名を導くことを「逆引き」といいます。
Webを検索する場合、通常はURLから検索するので(検索エンジンによってURLを入力する必要はありませんが。)、「正引き」がほとんどです。
DNSは奥が深くて、DNSだけで分厚い本ができてしまうぐらいです。
まあ、サーバをたてる人向けなのですが。
そういえば、以前の「日経NETWORK」でも主題に挙がるほどでした。
わたしもこのぐらいの概要程度しか知らないので、今後勉強して、記事にもアップしていきたいなとおもいます。
コメント