Internet-heute

April 28, 2010

Selbstorganiserendes mehrdimensionales Netzwerk

Filed under: Uncategorized — admin @ 6:03 am

Das “jeder kennt jeden über n Ecken” ist aber ein alter Hut… Ich habe mal eine Software (C++, MacOS Classic, Powerplant) geschrieben, die auf dieser Grundlage ein selbstorganisierendes Netz aufbaut (aber noch etwas effizienter, als das bei den Menschen passiert). Jeder Teilnehmer bekommt eine zufällige 64-bittige SAM-(”Self Arranging Matrix”) Adresse (z.B. ein SHA-1 Wert aus Teilnehmerdaten, um sicherzustellen, dass sie auch wirklich gleichverteilt ist). Kollisionen sind möglich, aber extrem unwahrscheinlich. Eine Funktion wird definiert, die den Abstand zwischen zwei Adressen im Netz bestimmt. Trivial könnte das einfach die Anzahl der unterschiedlichen Bits sein (nicht 100% ok, aber als Gedankenmodell tauglich). Besser ist es, wenn das Übereinstimmen einer höheren Bitposition einen näheren Abstand ergibt, als das einer kleineren Bitposition (aber nie das Ergebnis bei wirklich unterschiedlichen Positionen überschreitet). Ein Knoten merkt sich beim Betrieb eine Liste der Nachbarn, die zu ihm den geringsten Abstand haben. In dieser Liste steht die SAM-Adresse und eine physikalische Adresse (z.B. IP 4, IP 6, oder was auch immer). Wenn ein anderer Knoten Kontakt aufnimmt, wird ggf. dessen Adresse aufgenommen. Wenn die Liste voll ist, wird der entfernteste bekannte Knoten vergessen. Ein neuer Knoten startet mit einem beliebigen einzelnen anderen Knoten in seiner Nachbar-Liste. Nun geht er durch diese Liste und fragt die darin enthaltenen Knoten nach den Nachbarn, die zum neuen Knoten den geringsten Abstand haben. Die so erhaltenen Adressen werden in die Nachbar-Liste einsortiert. Ändert sich die Nachbar-Liste, fängt der Knoten bei der Suche wieder von vorne an. Bleibt die Liste nach vollständiger Sondierung konstant, hat der neue Knoten seine Position im Netz mit den absolut nächsten Knoten als Nachbarn eingenommen. Dieses Netzwerk funktioniert völlig ohne zentrale Administration, was ihm natürlich einen gewissen Charme (ich sag’ nur ICANN) verleiht. Es ist dann natürlich notwendig, gegen Angriffe (z.B. gegen Knotenvergiften: “Ich bin deine 64 direkten Nachbarn”) ein Erkennungsverfahren zu haben, das hier nicht beschrieben ist - aber die Grundlage funktioniert (und das in existierender (experimenteller, kleines Speicherleck) Software, samt verteiltem Fileserver). Weiter gedacht könnten natürlich auch tatsächliche Begebenheiten (z.B. Leitungskapazität, persönliche Bekanntschaften usw) solch ein Netz organisieren. Im letzten Fall wäre damit sogar ein Rings-Of-Trust-Netz möglich, das für Angriffe und Abhören wirklich nur lokal verwundbar (bei Erlangung des Vertrauens eines Knotens) ist. Ich habe die Entwicklung abgebrochen, da das Netz in der Variante mit den IP-Adressen nicht gegen einen Abhör-Angriff sicher ist. Und damit wäre kein Vorteil gegenüber beliebigen existierenden P2P-Netzen (Gnutella mit Ultrapeers, FastTrack) gegeben. Der Vorteil, in einem Gruppenverbund einen festen tatenbestand redundant zu spiegeln, wäre sicherlich kein Killer-Kriterium für einen Einsatz. Die Selbst-Organisation eines Rings-Of-Trust Netzwerks in härteren Zeiten wäre vermutlich einer…

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

You must be logged in to post a comment.

Powered by WordPress