リゾルバ 【resolver】 DNSリゾルバ / ネームリゾルバ
アクセス先がドメイン名で指定された場合、対応するIPアドレスを割り出さなければ実際にアクセスすることができない。リゾルバは自分の知っているDNSサーバ(OSのネットワーク設定やDHCPで与えられる)へ問い合わせを行ってIPアドレスの割り出しを行う。これを「名前解決」(name resolution)という。
リゾルバは nslookup のように単体のプログラムとして提供・使用されるものもあるが、ほとんどのオペレーティングシステム(OS)には標準機能として外部から呼び出し可能な形で実装されており、ネットワークを利用するソフトウェアは内部的にこのOS内蔵のリゾルバを呼び出して名前解決を行っている。その場合、利用者が直接リゾルバの存在を意識することは少ない。
フルサービスリゾルバとスタブリゾルバ
ドメイン名は階層構造で管理されており、それぞれのドメインについて情報を管理・発信する「権威DNSサーバ」が存在する。あるホスト名の解決を行うには、階層構造に従って各階層の権威サーバに問い合わせを繰り返す必要がある。
例えば、「www.example.jp」というホスト名を解決したければ、最上位のルートDNSサーバに「jp」の権威サーバの所在を尋ね、「jp」権威サーバに「example.jp」の権威サーバの所在を尋ね、「example.jp」の権威サーバに「www.example.jp」のIPアドレスを尋ねるという手順を踏む必要がある。
このような「反復問い合わせ」を自力で実行する機能を持ったリゾルバを「フルサービスリゾルバ」(full service resolver)と呼び、多くはサーバの形で外部に機能を提供しているため「DNSキャッシュサーバ」とも呼ばれる。
一方、フルサービスリゾルバに探索を依頼して結果を受け取るリゾルバを「スタブリゾルバ」(stub resolver)という。OSの設定で指定する「DNSサーバ」は実際にはフルサービスリゾルバを指し、OSに内蔵されているリゾルバ機能などは実際にはスタブリゾルバとなる。