この特集のトップページへ
Chapter 3:DNS(Domain Name System) 〜概要〜

3.1 DNSの基礎知識

 DNSは「Domain Name System」の略であり,TCP/IPネットワークにおける標準的な名前解決サービスを提供する役割を担っている。TCP/IPネットワークでは,IPアドレスを利用して通信を実現している。しかし,IPアドレスは「192.168.1.1」のように,8ビット(オクテット)を4つ組み合わせた数値列で表されるため,人間にとって覚えやすいものとはいい難い。そのため,TCP/IPネットワークでは,各コンピュータに割り当てられた「ホスト名」と呼ばれる名前を利用して通信するのが一般的となっている。IPアドレスとは異なり,ホスト名には「lily」や「biblo」のように人間にとって覚えやすい名前を指定できる。しかし,TCP/IPネットワークでは,通信相手のIPアドレスがわからなければ通信することができない。そこで,IPアドレスとホスト名とを対応させ,ホスト名からIPアドレスを取得するために,HOSTSファイルが利用されている。

 HOSTSファイルの書式は次のとおりである。

   lily192.168.1.1
   biblo192.168.1.254

 このように,HOSTSファイルの1レコード(1行)にホスト名とIPアドレスの対応を記述してゆくことで,コンピュータは「lily」というホスト名が「192.168.1.1」というIPアドレスに対応していることを理解できるようになる。しかし,TCP/IPネットワークの規模が大きくなってくると,HOSTSファイルでは管理しきれなくなる。もしインターネットをHOSTSファイルで運営していたら,HOSTSファイルはとてつもなく巨大なものになってしまうだろう。また,世界中でコンピュータが新設されるたびに,HOSTSファイルを更新しなければならなくなる。このような運用は,現実的ではない。

 そこで考案された技術が,DNSである。DNSは分散データベース方式で運営され,大規模なネットワークでもホスト名をうまく解決できるような仕組みを提供する。DNSは,WINSと同様にクライアント/サーバー方式で動作する。つまり,「DNSクライアントがDNSサーバーにホスト名のIPアドレスを問い合わせ,DNSサーバーがそれに応える」という形式で名前を解決するのである。

 DNSについて解説するまえに,DNSが実際にどのような処理を実行するのかを簡単に説明しておこう。1つ目は,ホスト名からIPアドレスへの変換である。たとえば,あなたがブラウザに「http://www.itmedia.co.jp/」というURLを指定してITmediaのホームページを参照しようとしたものとする。このときTCP/IPネットワークでは,「www.itmedia.co.jp」というホスト名をDNSサーバーに問い合わせ,回答としてIPアドレスを受け取る。このような処理を「正引き」と呼ぶ。

Fig.3-1 DNSによる正引き
fig.3-1

 DNSのもう1つの処理内容は,IPアドレスからドメイン名への逆変換である。たとえば,あなたのサーバーが「192.168.1.1」というIPアドレスのホストから接続された場合,アクセスログの集計などの目的で,そのホストがどこに(どのドメインに)所属しているのかを調査したいことがある。このとき,「192.168.1.1」というIPアドレスをDNSサーバーに問い合わせると,DNSサーバーからは「lily.dsl.local」という回答が戻ってくる。このような処理を「逆引き」と呼ぶ。

Fig.3-2 DNSによる逆引き
fig.3-2

 そのほか,電子メールの送信先を決定するためにMX(Mail eXchange)レコードの問い合わせを受けるときにも,DNSサーバーは利用されている。

PREV 2/11 NEXT