1. DNS/リゾルバー/zone cut検出
Contents
DNS/1/ゾーン/zone-cut DNS/qname-minimisation
TLDにはローカル(定義された)ゾーンを認める。
- 逆引き空間の特定の範囲なども。
初期値: qnameは本来の問い合わせドメイン名である。cut はroot serverであるとする。問い合わせ名は空とする。
- 問い合わせをqnameの末尾から全体に向かって1ラベルだけ伸ばす。(伸ばせなければ終了)
- zone cut情報(*)を調べる。(NSが存在するか。)
- NS(zone cutあり)なら、cutを更新する。1. に戻る。
- zone cut はなかったが名前は存在している。1. に戻る。(CNAME返答だったときもNSは存在しなかったと判断する。)
- NXDomainが検出されたら、この先にはzone cutは存在しないことが分かる。(現状で、それでいいかは問題なのだが)
- つまり、zone cutが決定した。
(*)zone cut情報ではcutの存在が分かっていない場合にはNS queryを行う。
- delegationが返ってくれば、zone cutありなので、そのNSに対しての確認をおこなう。zone cutありを返す。
- そうでなければ、zone cutがなかったことを記録して、zone cutなしを返す。
ただし、NoErrorとNXDomainとを区別する必要がある。
-- ToshinoriMaeno 2017-03-17 12:01:33
さしあたりはTTLのことは考えないで作ってみる。
CNAMEをchaseしないのは当然なのか。(ns.ilドメインを見ると当然だと分かる。)
1.1. zone cut 情報
以下のみっつに分類できる。
- zone cutが存在する。
- zone cutが存在しない。(NSがなかった。NXDomain 返答中のSOAから非存在が推定できる。)
- zone cutが存在するか、しないか、現在は不明である。
-- ToshinoriMaeno 2017-03-22 06:37:19
1.2. delegation
delegation情報によりzone cut の存在が確認できる。
NXDOMAIN返答などのSOA情報により、zone cutの不存在が示される。
1.3. NSレコード
ゾーンサーバが保持するNSレコードが優先される(TTLを別にして) RFC 2181
2. メモ
zone cuts: delegationにより、zone cuts の存在することが示される。
その一方で、NXDOMAIN, NoData返答中のSOAレコードによりzone cutsの不在が示される。
現状のリゾルバーは後者の情報を毒盛対策に活用していない。
-- ToshinoriMaeno 2017-04-30 02:55:44