http://citeseer.nj.nec.com/509010.html
@misc{ cox02serving,
author = "R. Cox and A. Muthitacharoen and R. Morris", title = "Serving DNS using a Peer-to-Peer Lookup Service", text = "R. Cox, A. Muthitacharoen, and R. T. Morris, Serving DNS using a Peer-to-Peer Lookup Service, in IPTPS, Mar. 2002.", year = "2002", url = "citeseer.nj.nec.com/article/cox02serving.html" }
DNSSECのように、recordの検証も考えた、別のDNSレコードストレージを作る。 Chord上に実装した。
しかし、現在のところ、Latencyなどの問題点がDNSに比べてある。
DNSの紹介
chord上にLookup Serviceを実装する
DDNSと呼ばれるプロトタイプ実装を行った。
これは、通常のDNSと同じように、Recored Sets(RRSets)を返す実装である。
DNSSECはRecored Setsに公開鍵で署名をする。その検証には通常のDNSを使う。
DDNSは、Chordの実装であるDHashを使用した。これはLoad-balanceとrobustness に優れている。
DHashにレコードを追加・更新する場合は、レコードに公開鍵で署名する。DHash はこの鍵を検証してから受け取る。
この検証にはコストがかかることから、.comのようなドメインに対する検証は省 略するようにした。
これらの結果から、以下のような結論が導き出される。
DHTは、ドメイン管理者の責任をなくし、だれでもドメインを登録できるように なるという点がイケてる。
DNSの弱点がいくつかある。(by Albitz and Liu1)
DDNSではそもそもslaveとかない。
DDNSはrobustだよ。
また、別の問題として、あるマシンがインターネットから切り離されたら、自分 自身の名前もひけなくなるという問題がある。DNSもDDNSも両方とも、この問題 に関してはキャッシュで解決している。
DDNSは、さらに、ネットワークから切り離されたら、その中で小さなchord ring をつくって、キャッシュを共有することになる。
DNSでは、subdomainのほうが先に作られると、そのサブドメインの委譲先がなく なり、とうたつできなくなってしまう。
DNSの管理者は、ホストに関する情報(A recordとか)と名前検索に関する情報(NS record)の両方を管理しなければならない。
DDNSは、そういうことは全部自動でやってくれる。
load balancing
DDNSは現在のDNSよりDoSに対する耐性がある。なぜなら、階層構造とかが存在し ないから。
また、Recordを大量に挿入する、というDoSも考えられる。これに対しては、 それぞれの組織ごとに、DDNSに参加しているマシンの数に応じて挿入できるRecordを制限すると言うことで回避できるのではないかと考えている。