様々な名前解決方法

IPアドレス問い合わせ手順

リゾルバがDNSサーバへ、「www.test.co.jp」というドメインに対する IPアドレスを問い合わせる手順を見てみましょう。

リゾルバはまず、最寄りのDNSサーバへ問い合わせを行います。 このDNSサーバを「ローカル・サーバ」と呼びます。 ローカル・サーバに情報があれば、リゾルバへ情報を返信します。

もしローカル・サーバに情報が無い場合、 ローカルサーバーは「ルート・サーバ」へ問い合わせを行います。

ルート・サーバは最下層である、「トップ・レベル・ドメイン」を 管理するサーバです。 つまり、「jp」を管理するDNSサーバのIPアドレスを ローカル・サーバへと返信します。

返信を受け取ったローカル・サーバは、「jp」を管理する DNSサーバのIPアドレスを知ることができたので、 そのDNSサーバーへ問い合わせを行います。

「jp」ドメインを管理するサーバは下の階層(セカンダリ・レベル・ドメイン) の「co.jp」ドメインを管理するDNSサーバのIPアドレスを ローカル・サーバへと返信します。

ローカル・サーバは、「co.jp」を管理するDNSサーバ、「test.co.jp」を 管理するDNSサーバと順に階層を下げていって目的のドメイン名の IPアドレスを調査します。

このように各DNSサーバが協調して分散処理を実施することで、 データ管理や負荷の軽減を実現させています。

 

名前解決のやり取り

キャッシュを利用する

以上のように、DNSサーバは分散処理されているため、 目的のIPアドレスを調べるために複数のDNSサーバに 聞いていかなければいけません。

インターネットのように膨大なユーザーがひっきりなしに DNSサーバーへ問い合わせを行ってしまうと、 当然DNSサーバーに負荷がかかってしまいます。

DNSではこの負荷を減らすために、キャッシュを保持しています。

IPアドレスの問い合わせを行うローカル・サーバでは、 DNSサーバへ問い合わせを行った内容を内部のキャッシュに保持して、 次回問い合わせがあった場合、DNSサーバへ問い合わせを行う前に 内部のキャッシュを調べます。

キャッシュに情報があればその内容を使用し、なければDNSサーバへ 問い合わせを行います。

 

hostsで名前解決

ここまでは、DNSでの名前解決の方法について説明しましたが、 その他の名前解決の方法として、hostsファイルを使用した 名前解決の仕組みがあります。

hostsファイルはDNSが普及する前に行われていた仕組みで、 クライアントPCにドメイン名とIPアドレスの対応表を記載した ファイルのことです。

hostsファイルにドメイン名とIPアドレスの対応を記載すると、 DNSよりも優先的に使用されます。

Windows XP/Vistaの場合以下の場所にhostsファイルがあります。

C:\WINDOWS\system32\drivers\etc\hosts

例えば以下の1行をhostsファイルに記載してみます。

74.125.95.104 hogehoge

ファイルを保存して、Webブラウザで「hogehoge」に アクセスしてみます。

 

アクセス結果

 

Googleのサイトが表示されました。 これは、「74.125.95.104」がGoogleのWebサイトのIPアドレスのため、 Webブラウザで「hogehoge」にアクセスすると、hostsファイルを参照し、 記載されている「74.125.95.104」にアクセスするためです。

関連記事