キャッシュDNSサーバとは
キャッシュDNSサーバとは、 DNSクライアントからドメイン名に関する問い合わせ依頼を受け(再帰的問い合わせ)、 複数の権威DNSサーバに対して繰り返し問い合わせを行い(反復問い合わせ)、 必要があればデータをキャッシュし、 結果をDNSクライアントに回答するDNSサーバです。 DNSクライアントには、パソコンやスマートフォン、各種サーバなどがあります。 1987年にRFC1034およびRFC1035で概要が記述されました。
DNSは、ルートゾーンを起点としたツリー構造を持つ、 世界中に存在する多数のサーバが協調しあって動作する分散データベースです。 それらのサーバ群にアクセスすることで、 ホスト名からIPアドレスを検索したり、 メールアドレスから送信先メールサーバを特定したりします。
このとき、分散化したデータを持つDNSサーバを権威DNSサーバと呼び、 また、権威DNSサーバに対してデータを検索する(名前解決すると言います)DNSサーバをキャッシュDNSサーバと呼びます(フルサービスリゾルバとも呼ばれます)。
キャッシュDNSサーバは社内ネットワークやプロバイダー、クラウド事業者など、 さまざまな場所で運用されています。
DNSの名前解決は、 複数の権威サーバに対してデータを問い合わせるため時間や負荷がかかります。 そのため、キャッシュDNSサーバは、 処理の過程で得られた情報を一時的に保存しておき再利用する機能を持っています。
権威DNSサーバへの問い合わせの処理において、 保存しておいた情報が再利用できる場合にはそれを使うことで処理を短縮し、 負荷軽減や速度向上を実現させています。 また、DNSクライアントから受けた問い合わせが保存されている場合も、 それを回答することで処理を軽減します(Recursive mode、再帰的モード)。
この機能は一般にキャッシュと呼ばれていますが、 キャッシュDNSサーバの名前の由来にもなっています。
■参考
-
RFC 1034: Domain names - concepts and facilities
https://www.rfc-editor.org/rfc/rfc1034 -
RFC 8499: DNS Terminology
https://www.rfc-editor.org/rfc/rfc8499