Zitat:
|
Zitat von tele die clients merken sich nur eine liste ihrer nachbarn und versuchen die immer aktuell zu halten |
Ja das ist schon klar, aber woher krieg ich die IP des "ersten" Peers zu dem ich mich verbinde und der mir die IPs der weiteren Clients gibt? Diese Aufgabe übernehmen bei Peer-to-Peer Netzwerken wie Gnutella oder ähnlichem immer so genannte "Masterserver", die eine feste IP oder einen DNS haben. Das ist ja aber dann wieder zentralisiert. Nehme ich den Masterserver vom Netz, läuft das Netzwerk zwar untereinander weiter aber neue Peers können nicht hinzu weil sie erstmal irgendeinen "bekannten" Peer brauchen den sie nicht haben. Dann könnte man höchstens noch einen Kumpel per ICQ fragen ob er einen Gnutella-User kennt. Das ja aber nich effektiv.

Vor allem anfangs wenn das Netzwerk noch niemand kennt.
Stelle Dir vor Du hättest ein Telefon und würdest einen Freund anrufen wollen und hättest weder Telefonbuch noch Auskunft noch die Nummern von irgendwelchen anderen Leuten. Dann wärst Du gezwungen "irgendwo" anzurufen und zu fragen ob man ihn kennt, aufzulegen und eine andere zufällige Nummer zu wählen. Das ist aber ein ziemlich blödes Unterfangen und Du würdest viele Leute nerven.

Das muss doch aber auch anders gehen.
Die Dokumentation von Kademlia-Netzwerken (=Kad-Netzwerken) habe ich mir auch schon durchgelesen. Das ist ein gutes Konzept, aber Du brauchst auch erstmal die IP irgendeines beliebigen Peers. Und wie gesagt ist die Chance dass Du mal zufällig eine triffst recht gering wenn das Netz noch unbekannt ist.
Das heißt alles um was man das Kad-Prinzip erweitern müsste wäre die Fähigkeit am Anfang erstmal irgendeine Verbindung herzustellen, das heißt die IP von irgendeinem Peer zu erhalten. Das ist aber garnicht so einfach wenn Du davon ausgehst dass Du von dem gesamten Netzwerk erstmal garnichts weißt (weil keine Masterserver) außer dass die Peers zum Beispiel eine bestimmte Identifikation senden wenn Du sie queriest.
EDIT: Und zu guter letzt: Es könnte ja ein PC eine Reply faken und übermitteln er wüsste keine weiteren IPs so dass ein Teil des Netzwerks unerkannt bleibt. Das ganze müsste also auch noch redundant sein, dass also jeder jeden kennt und nicht nur die nächsten Rechnern. Das wäre ja zu machen, aber wie gesagt, wie den "ersten" Peer finden?