DNSクライアント 【DNS client】 スタブリゾルバ / stub resolver
概要
DNSクライアント(DNS client)とは、ドメイン名とIPアドレスを対応付けるDNSで、情報を管理するDNSサーバへ問い合わせを行い、必要な情報を取り寄せるソフトウェアのこと。オペレーティングシステム(OS)などに内蔵されており、単体のソフトウェアとして操作したり意識することは少ない。インターネット上での機器(ホスト)やネットワークの識別や指定には「198.51.100.1」のような形式のIPアドレスと呼ばれる番号を用いるが、人間には分かりづらいため「www.example.jp」といった英数字の識別名を組み合わせた「ドメイン名」(ホスト名を含む)を用いることができる。
ドメイン名で表されるネットワーク上の所在情報(URLなど)に実際にアクセスするには、そのドメイン名を持つ機器のIPアドレスを割り出さなければならない。このドメイン名とIPアドレスの対応関係を管理する分散データ管理システムをDNS(Domain Name System)という。
DNSクライアントは利用者が操作する端末などに必要となる機能で、所属するネットワーク(企業やISPなど)が運用するDNSサーバへ接続し、ドメイン名から対応するIPアドレスを問い合わせたり(正引き)、逆にIPアドレスから対応するドメイン名を問い合わせたり(逆引き)する。WebブラウザなどのアプリケーションはDNSクライアントから得たIPアドレスの情報に基づいて接続先を特定し、アクセスを行う。
権威DNSサーバとDNSキャッシュサーバ
ドメイン名は「jp」のような広い範囲を指し示すラベルから「www」のように個別のホストを指し示すラベルまで階層構造で管理されている。各改装のドメイン名について管理主体が存在し、「権威DNSサーバ」と呼ばれるDNSサーバを運用して情報を発信している。
実際にドメイン名からIPアドレスを割り出すには、「ルートDNSサーバに『jp』の権威サーバの所在を教えてもらう」→「『jp』の権威サーバに『example.jp』の権威サーバの所在を教えてもらう」→「『example.jp』の権威サーバに『www.example.jp』のIPアドレスを教えてもらう」という具合に複数のサーバに順番に問い合わせなければならない。
この手順をDNSクライアント自身が毎回繰り返すのは非効率であるため、権威サーバに問い合わせてIPアドレスを割り出す処理を行うための専用のDNSサーバが用意されている。これを「DNSキャッシュサーバ」あるいは「フルサービスリゾルバ」という。DNSクライアントが問い合わせを行うDNSサーバは権威DNSサーバではなくDNSキャッシュサーバである。