DNSサーバーは大きく二種類に分かれる。ゾーン情報を答える「コンテンツサーバー」と、リゾルバーの問い合わせに応答する「フルサービスリゾルバー」である。
多くの場合、クライアントパソコンはフルサービスリゾルバーをDNSサーバーとして設定・登録している。コンテンツサーバーとフルサービスリゾルバーは互いに連携して動いている。
名前解決をするために、まずクライアントのリゾルバーがフルサービスリゾルバーに問い合わせを行う(図の(1))。問い合わせを受けたフルサービスリゾルバーは、図に示した反復問い合わせを行ってIPアドレスを調べる(同(2))。
コンテンツサーバーから目的のIPアドレスを得ると(同(3))、フルサービスリゾルバーは問い合わせのあったクライアントのリゾルバーにIPアドレスを教える(同(4))。
フルサービスリゾルバーは、名前解決の結果を一定時間保存する。その時間内に問い合わせがあると反復問い合わせを実行せず、保存結果をリゾルバーに返す。このため、キャッシュサーバーと呼ばれることもある。
DNSでは、コンテンツサーバーとフルサービスリゾルバーの連携やキャッシュによって、LAN内の混雑を低減させる。なお、フルサービスリゾルバーは通常LAN内に設置するか、もしくはインターネットプロバイダーが用意したものを利用する。
特殊なアドレスを使って逆引きを行う
名前解決は、通常ドメイン名からIPアドレスを調べることを指す。しかし、逆にIPアドレスからドメイン名を調べることを指す場合もある。これを逆引きという。
逆引きには、「in-addr.arpa」という特殊なアドレスを使う。目的のIPアドレスの各数字を逆順にし、その後ろにin-addr.arpaを加える。それをリゾルバーがIPアドレスを調べるときと同様の手順で名前解決を実行する。
ただしWebサーバー設置者には、逆引きできるようにDNSサーバーを設置する義務はない。そのため、逆引きは失敗することがある点に注意が必要だ。
- 名前解決では、最上位のルートDNSから順番に問い合わせていくことで、目的のドメイン名のIPアドレスがわかる。
- DNSサーバーはゾーン情報を答えるコンテンツサーバーと、リゾルバーの問い合わせに応答するフルサービスリゾルバーに分かれる。両者の連携によってネットワークの混雑を防げる。