Distributed DNS
| DDNS ist ein P2P Programm, welches einen dezentralen, verteilten DNS anbietet. Der heutige Domain Name Service (DNS) ist eine weltweit verteilte Datenbank, die immer noch zentrale Elemente hat. Dieses Projekt untersucht die Machbarkeit eines dezentralen DNS. Dazu wird eine Peer-to-Peer Distributed Hashtable verwendet, die stark an das Kademlia Protokoll angelehnt ist. | | Autor: tom - Date: 05.03.2004 - Size: 5004 chars - Hits / Day: 6.71 - Total Hits: 16055 | Dieser Prototyp ist zum öffentlichen Testen freigegeben. Aber Achtung, der Prototyp hat bekannte Schwächen. Das System ist noch nicht stabil und es ist kein Verlass auf das Speichern von Namen. Feedback, Diskussionen und Anregungen sind erwünscht. <!l>http://distributeddns.sourceforge.net<!/l>Announcement auf freshmeat: <!l>http://freshmeat.net/releases/159578/<!/l><!i0left>
<b>Ausgangslage</b>
Der heutige Domain Name Service ist eine weltweit verteilte Datenbank, die immer noch zentral organisiert wird. Die Top Level Domains (TLDs) werden von der Organisation ICANN vergeben.
Für die weitere Aufteilung (2nd Level Domain) sind so genannte Registratoren zuständig. Für die Schweiz ist SWITCH und für Deutschland ist DeNIC zuständig. Der 2nd Level Domainname muss bei den jeweiligen TLD-Registratoren gekauft werden. Der Name wird zentral in einer Datenbank des Registrators eingetragen.
Die Zahl der registrierten Domains Ende Januar 2004 ist aus der folgenden Tabelle ersichtlich.
<table border=1><tr><td><table border=0><tr><td>TLD</td><td> Anzahl</td></tr><tr><td> .com</td><td>26.519.305</td></tr><tr><td> .de</td><td>7.050.853</td></tr><tr><td> .uk</td><td>4.777.227</td></tr><tr><td> .net</td><td>4.394.156</td></tr><tr><td> .org</td><td>2.799.082</td></tr><tr><td> .info</td><td>1.093.261</td></tr></table></td><td><table border=0><tr><td>TLD</td><td> Anzahl</td></tr><tr><td> .nl</td><td>1.032.885</td></tr><tr><td> .it</td><td>994.785</td></tr><tr><td> .biz</td><td>913.905</td></tr><tr><td> .us</td><td>744.206</td></tr><tr><td> ...</td><td>...</td></tr><tr><td> .ch</td><td>564’873</td></tr></table></td></tr></table>
Quellen: <!l>http://www.denic.de/de/domains/statistiken/domainvergleich_tlds/index.html<!/l>, <!l>http://www.switch.ch/id/stat/stat-ch.html<!/l>
<b>Neuer Ansatz mit DDNS</b>
Der neue Ansatz (DDNS) soll komplett dezentral laufen. Dazu wird ein P2P Netz gewählt welches in die Kategorie DHT (Distributed Hashtable) fällt. Ein anderer Ansatz wäre das Broadcastverfahren oder ein Ansatz mit Super Peers. Beide haben jedoch Nachteile. Das Broadcastverfahren skaliert nicht besonders gut, und der Ansatz mit den Super Peers führt wieder eine Hierarchie ein.
DDNS geht einen neuen Weg und versucht ohne Hierarchie auszukommen. Nun mag sich der interessiert Leser fragen: "Was passiert wenn man beliebig viele Namen speichert? Etwa mit folgender Codezeile <i>while(true) insertName(loop over all possible names);</i>". Ganz einfach: Das System kollabiert. Um das zu verhindern muss eine knappe Ressource her. Im DNS ist es das Geld und beim DDNS ist es die Rechenzeit. Jedes Speichern eines Namens benötigt Rechenzeit.
Was tun mit soviel Rechenzeit? Nun die Rechenzeit steht jedem zur Verfügung. Es ist nicht wichtig was gerechnet wird, es ist wichtig dass etwas gerechnet wird.
Die Geschwindigkeit ist O(log n) welches akzeptabel ist, aber wesentlich langsamer als DNS mit O(1). Mit Caching kann man noch eine wenig mehr Geschwindigkeit rausholen, aber es bleibt immer noch O(log n).
Das Programm kann man auf der folgenden Seite downloaden. <!l>http://sourceforge.net/project/showfiles.php?group_id=99882<!/l>
<b> Hintergründe</b>
Dieses Projekt entsteht im Rahmen meiner Diplomarbeit an der Universität Zürich. Es handelt sich um eine Machbarkeitsanalyse, welches durch einen Prototyp veranschaulicht werden soll.
<b> In the News</b>
Das Projekt ist auf folgenden Seiten erschienen:
<!l>http://www.golem.de/0405/31113.html<!/l>
<!l>http://www.symlink.ch/articles/04/05/03/1554227.shtml<!/l>
<!l>http://freshmeat.net/projects/distributeddns/release_id=159578<!/l>
<!l>http://www.numlock.ch/news/<!/l>
| Bemerkungen, Kommentare und Feedback  | | Beiträge: 2 | 19.05.2004 12:28 |
 | | Beiträge: 1 | 18.05.2004 23:58 |
 | | Beiträge: 2 | 05.05.2004 20:45 |
|
Du kannst auch selber einen Thread starten, indem du hier klickst. |
| Home
| Artikel / Tipps und Tricks | | Artikel Navigation | |
|
|