2023/12/23 追記: RFC 9520 になりました
==
「Negative Caching of DNS Resolution Failures」という提案が、Verisignの方らによって提案されています。
DNSの名前解決の結果はつぎのいずれかです。
- 1) 要求されたデータを含む応答
- 2) 要求されたデータが存在しないことを示す応答
- 3) ネットワークエラーや、データ不整合などの、有用な情報が得られない(失敗)
今回の提案では、(3)のエラーについても最低5秒間ネガティブキャッシュするよう要求します(5分以上キャッシュしてはいけない)。
RFC2308 「Negative Caching of DNS Queries」では、サーバが落ちていたり接続できない場合に、オプショナルでキャッシュする事が記述されてはいます。
モチベーション
提案仕様のなかで、DNSのエラーが起こり、再帰サーバのトラフィックが増大したことを説明しています。幾つかを紹介すると
- 2018年のDNSSECのKSK Rolloverにおいて、古いトラストアンカーを使用しDNSKEYをリトライする再起リゾルバーがいて、トラフィックが増大した (参考)
- 2021年、Verisignの研究により、REFUSEDやSERVFAILを返す権威サーバのクエリトラフィックが多いということを示した
- 2021年 10月、Facebookの障害で権威サーバにアクセスできなくなったとき、再帰サーバでタイムアウトが発生した。.comや.netへのクエリが、7000 query/sec から 900,000 query/secに増大した (参考)
失敗の種類
この提案仕様では、失敗の種類として、以下のものについて言及しています
- SERVFAILの応答
- REFUSEDの応答
- 要求のタイムアウト
- 委譲のループ (NSレコードの指定先がループしている)
- エイリアスのループ (CNAMEレコードの指定先がループしている)
- DNSSECの検証失敗