DNSの世界で使われることの多い「キャッシュ」と「ネガティブキャッシュ」という言葉の意味を解説する。
コンピューターシステムなどにおいては、無駄を防ぐために、頻繁に利用されるデータやアクセスコストの高いデータを、例えばメモリーのような高速な記憶領域に一時的に格納しておく機能が利用される。これを「キャッシュ」と呼ぶ。
キャッシュDNSサーバーでは名前解決の効率を上げるために、名前解決の際に得られた情報を一時的にキャッシュとして保持する。また、検索対象が存在しなかった結果も同様にキャッシュとして保持するが、これは「ネガティブキャッシュ」と呼ぶ。
DNSの名前解決は、クライアントからの名前解決要求を受けたキャッシュDNSサーバーが、権威DNSサーバー群との間でドメイン名の反復検索を行い、その結果をクライアントに返すことによってなされる。一方で、人気のあるWebサイトのドメイン名などではその名前解決は繰り返し行われることになるため、その度にキャッシュDNSサーバーが反復検索を行うのは、キャッシュDNSサーバーと権威DNSサーバー群の双方にとって効率が悪い。そのためキャッシュDNSサーバーは、名前解決の際に得た情報を一定期間キャッシュとして保持し、クライアントからの問い合わせに対する応答に再利用する。
また、一般的に存在しないドメイン名の検索はキャッシュDNSサーバーと権威DNSサーバーの双方にとって負荷が大きい。そのため、キャッシュDNSサーバーは名前解決要求が否定応答となる(検索対象が存在しなかった)場合にも情報をキャッシュし、その名前の検索を繰り返さないようにする(ネガティブキャッシュ)。
DNSではこれらのキャッシュ機能を用いることにより、名前解決処理全体の効率化を図っている。
Copyright © ITmedia, Inc. All Rights Reserved.