フルサービスリゾルバ 【full-service resolver】
概要
フルサービスリゾルバ(full-service resolver)とは、DNSサーバへドメイン名を照会して対応するIPアドレスを調べるリゾルバ(resolver)のうち、自力でドメイン名の探索を行う機能を持ったもの。多くは外部から名前解決の依頼を受け付ける「DNSキャッシュサーバ」として提供される。インターネット上では数字で表されるIPアドレスで機器やネットワークの識別や指定を行うが、人間には覚えにくいため英数字のラベルを組み合わせたドメイン名(個々の機器を表すものはホスト名とも呼ばれる)を付けることができる。
ドメイン名で指定された場所にアクセスするには対応する機器のIPアドレスを割り出さなければならない。インターネット上には各ドメイン名の情報を管理・発信する「権威DNSサーバ」が運用されており、サーバにIPアドレスの問い合わせを行う。この過程を「名前解決」(name resolution)という。
ドメイン名は階層構造で管理されており、各階層のドメインについてそれぞれ個別に管理主体と権威DNSサーバが存在する。ある特定のホスト名を解決するには、階層構造に従って上位側から順に各階層の権威サーバに問い合わせを繰り返す必要がある。
例えば、「www.example.jp」というホスト名を解決したければ、最上位のルートDNSサーバに「jp」の権威サーバの所在を尋ね、「jp」権威サーバに「example.jp」の権威サーバの所在を尋ね、「example.jp」権威サーバに「www.example.jp」のIPアドレスを尋ねるという手順を踏む。
このような「反復問い合わせ」を自力で実行する機能を持ったリゾルバをフルサービスリゾルバという。各端末のリゾルバが個別にこの問い合わせを行うのは非効率であるため、フルサービスリゾルバはDNSサーバの形で端末の名前解決の依頼を受け付け、代理で問い合わせを行って結果のみを通知する。
これを「DNSキャッシュサーバ」と呼び、名前解決の結果を一定期間保存(キャッシュ)することで、別の端末から同じ依頼を受けた際に問い合わせを繰り返さなくて良いようになっている。キャッシュサーバは権威DNSサーバ側に設置・運用されるものもあるため、すべてのDNSキャッシュサーバがフルサービスリゾルバなわけではない。
一方、各端末でアプリケーションなどから依頼を受けてDNSキャッシュサーバへ問い合わせを行うリゾルバは「スタブリゾルバ」(stub resolver)という。DNSにおける末端のクライアント機能であるため「DNSクライアント」(DNS client)とも呼ばれる。OSのネットワーク設定などに登場する「DNSサーバ」は実際にはフルサービスリゾルバのことを意味している。