ネガティブキャッシュ 【negative cache】

概要

ネガティブキャッシュ(negative cache)とは、問い合わせシステムなどで応答を高速化・効率化する手法の一つで、「存在しなかった」という情報を一定期間保管しておき、再検索などを抑止すること。DNSにおける存在しないドメイン名のキャッシュがよく知られる。

DNSのネガティブキャッシュ

ドメイン名とIPアドレスの対応関係を管理するDNSDomain Name System)では、DNSクライアントIPアドレスを知りたいドメイン名をDNSキャッシュサーバフルサービスリゾルバ)に問い合わせ、キャッシュサーバが当該ドメインを管理する権威DNSサーバに問い合わせる。

その際、権威DNSサーバから受信した回答を指定された期間保存しておき、期間内に別のクライアントから同じドメイン名について問い合わせがあった場合は権威DNSサーバには問い合わせを行わずに保管している回答をそのまま応答する。この仕組みを「キャッシュ」(cache)という。

通常のキャッシュは存在するドメイン名について対応するIPアドレス(あるいは他の何らかのDNS情報)を紐づけたものだが、ネガティブキャッシュは「そのドメイン名を探索したが存在しなかった」(NXDOMAINステータス)という情報を保管する。次に同じドメイン名の問い合わせを受けた際、わざわざ同じ探索を繰り返さずに「存在しない」という応答をすぐに返すことができる。

権威DNSサーバでは、管理するドメイン配下のサブドメインの情報を記述したリソースレコード中にキャッシュの保管期限(TTLTime To Live)を記載するが、存在しないサブドメインでは対応するリソースレコードも存在しないため、ドメイン自体のSOAレコードの末尾にある「MINIMUM」値で指定する。設定ファイルなどには「Negative cache TTL」等のコメントが添えられていることがある。

(2023.5.5更新)

DNSの用語一覧