一つのDDNSが落ちた場合,DDNSを複数使っていても名前解決できなくなる理由.

以前,miniDNSが落ちていた時,ちょっと実験してみました.
鷹の巣サイトはminidnsとhnが登録されています.(現在は違います)
鷹の巣サイトが見れなくなっていたのでns1.hn.orgでIPを確認.
鷹の巣サイトをIPで表示できることを確認.
nslookupでminiDNSが落ちていることを確認.
この状態で
ipconfig /flushdns
rndc flushを試行.
鷹の巣さんのサイトが見れることを確認.
dumpdbで
; authauthority
sakaguch.com. 86358 NS ns1.hn.org.
86358 NS aux1.hn.org.

となってました.
キャッシュをフラッシュすれば,miniDNSではなくて
ns1.hn.orgを見に行ってくれることを確認.
で,しばらくしてminiDNS復活.
; authauthority<
sakaguch.com. 86390 NS ns1.minidns.net.<
86390 NS ns2.minidns.net.<
再び,miniDNSに変化.
私のところからは鷹の巣さんのサイトはまず,miniDNSを見に行くようです.ここままでで,リゾルバは最初に反応したDNSを見に行きますからminidnsは落ちて反応がないはずなのにどうしてhnを見に行かないのかという疑問が湧いてきます.キャッシュをフラッシュしないとhnを見に行かないのです.このときキャッシュの状態はどうなっているのでしょうか?

【www.yaguma.comの場合】
1)whoisのNS全てに問い合わせ
2)ns.yaguma.comがwww.yaguma.comのAレコードを返答。
3)yaguma.comのNSがns.yaguma.com, ns1.high-mountain.net, ns2.b-dash.netであることが、86400秒キャッシュされる。
4)www.yaguma.comのAレコードが86400秒キャッシュされる。

【sakaguch.comの場合】
1)whoisのNS全てに問い合わせ
2)ns1.minidns.netがsakaguch.comのAレコードを返答.
3)sakaguch.comのNSがns1.minidns.net, ns2.minidns.netであることが,
 86400秒キャッシュされる.ns1.hn.org, aux1.hn.orgがsakaguch.comのNSであることは、キャッシュされない.これはNSの不整合のためと考えられます.つまり,minidnsとhnの間にはゾーン転送がなく,minidnsとhnのNSレコードはそれぞれ独立しているのです.
4)sakaguch.comのAレコードが3600秒キャッシュされる。

【3600秒後にsakaguch.comにアクセスしたら...】
1)sakaguch.comのAレコードのキャッシュは切れている.
2)sakaguch.comのNSがns1.minidns.net、ns2.minidns.netであることは,まだ82800秒キャッシュされたままなので,minidns.netにsakaguch.comのAレコードを聞く.hn.orgの方には聞きに行かない.
3)ここでもしminidnsが落ちていたら,sakaguch.comは正引きできない.
私の場合,sakaguch.comはいつもNSにminidns.netがキャッシュされます.で,minidns.netが落ちると,bindのキャッシュをflushしないと,1日の間sakaguch.comにアクセスできないです.minidnsのNSが86400秒キャッシュされるのはちょっと不便ですが,複数のDynamicDNSサイトを使うユーザのことを、考慮していないから当然だと思います.

結論
DDNSを複数使っていても,一つのDDNSが落ちた場合に名前解決できなくなる理由は,AレコードのキャッシュはなくてNSレコードのキャッシュのみ残っているからである..また,その原因はAレコードとNSレコードのTTLが違うことにある.