Kresdには記憶機構がある。
- それを使って、rrcache, pktcache などが実装されている。
それとは別なのか、zonecutというのもある。
適切に使われているかは不明だが、これらを分割しているのはいい。
- delegation毒の毒見にnegative caching情報を使いたいのだが、 分離されていうせいで参照しづらい。
1. kresd/caches
/** Cache entry tag */
enum kr_cache_tag { KR_CACHE_RR = 'R', KR_CACHE_PKT = 'P', KR_CACHE_SIG = 'G', KR_CACHE_USER = 0x80 };
- rrcache : rrsetを保持するもの
- pktcache : 否定返答などを保持している
- pktcacheにranking付けがある。なぜか。DNSSEC向けのようだ。
zone cutsはこれとは別に管理されている。
- delegationは*cacheには保存する必要はなさそう。
-- ToshinoriMaeno 2016-05-05 23:37:17
情報源
- ローカルファイル /etc/hosts, hints
- キャッシュ
- 問い合わせに対する返答
2. 否定返答のSOA
SOA情報のownerは否定返答に対する責任をもっているゾーン名を示している。
- これはowner名より下にはquery nameまでにゾーンが存在しないことを示す。
問い合わせたサーバ(zone cut)とowner名との間にゾーンが存在するかどうかは 不明である。(直系ゾーンの同居の可能性がある)
-- ToshinoriMaeno 2016-05-06 01:55:20