DNS周りは同じ機能を複数の言い方で表していたり、ある単語が文脈によって違うものを指す場合があるので、その視点でまとめてみました。
登場人物
2つのDNS
一般の会話では単純に「DNS」と参照される事が多いと思いますが、DNSと一口に言っても、「キャッシュDNS」と、「権威DNS」で全く機能と役割が異なるDNSになります。さらに、「キャッシュDNS」側は、他にも「リカーシブDNS」、「フルサービス・リゾルバ」等と呼ばれたりします。
-
権威DNS
IPアドレス等のゾーンのレコードを管理しているDNSです。
最も簡単なものは、「www.example.com のIP が 1.2.3.4 」のような、FQDN と IPアドレスを紐付けたレコードです。IPアドレスのレコードはAレコード(IPv6の場合は、AAAAレコード)と呼ばれます。
(かなり雑な説明ですが・・・他にどんなタイプのレコードがあるかはネットに大量に情報があるのでここでは割愛します) -
キャッシュDNS
複数の呼び方がありますが、私の周りでは「キャッシュDNS」と呼ばれる事が多いので(呼び方が一番短くなるから?)タイトルを「キャッシュDNS」としました。
他にも「フルサービス・リゾルバ」という呼び方があります。Google検索すると直接的な言葉としてはひっかからないのですが、私の周りでは「権威 DNS」 に対して、再帰的にアクセスしてIPアドレスを解決するので、「リカーシブDNS」と言う呼び方も頻繁に聞かれます。
番外編
- DNS Forwarder
文字通り名前解決を自分で行わず他の「キャッシュDNS」サーバーにフォワードする DNSサーバーもしくは、フォワード機能の部分だけを指します。単純にフォワードしても存在意義が無いので、現実社会で遭遇するのは社内でだけ名前解決したいドメインを解決しつつ、それ以外の一般的なドメイン名は正式な(?)「キャッシュDNS」サーバーにフォワードするようなDNSサーバーになります。
Active Directory がこの機能を持っているので、Active Directory の文脈で目にする事が個人的には多いです。
2つのリゾルバ
こちらも単純に「リゾルバ」として呼ばれる事が殆どだと思いますが、2つのリゾルバがあり役割的に別ものです。
-
スタブ・リゾルバ
ユーザーの端末の中に居て、ユーザーのアプリケーションからドメイン名の解決を受け付けるソフトウェアです。例外があるかもしれませんが、通常、OSレイヤーのコンポーネントです。「DNSクライアント」と呼ばれる事も多いです。
スタブ・リゾルバは、ローカルの hosts ファイルを見たり、フルサービス・リゾルバに問い合わせる事で、FQDNをIPアドレスに解決しようとします。 -
フルサービス・リゾルバ
前述の「キャッシュDNS」と同じものです。権威 DNS に再帰的に問い合わせをして、IPアドレスに解決をしようとする DNS サーバーです。再帰的に問い合わせをするので「リカーシブDNS」と呼ばれる事があります。また、問い合わせした結果は、TTL 時間キャッシュされて再利用されるので、「キャッシュDNS」と呼ばれる事もあります。