Frage

Ich bin auf der Suche nach Informationen über Techniken, Algorithmen usw., wie die Netzwerkintegrität in einem dynamischen Peer-to-Peer-Netzwerk zu erhalten. Sowohl praktische Implementierungen, wissenschaftliche Arbeiten und alles, was in dieser Kategorie sind willkommen.

Stellen Sie sich ein Netzwerk, das ausschließlich Peer-to-Peer-basiert, wobei jeder Knoten nur eine Verbindung ist x andere Knoten. Ohne eine große Liste aller Knoten, wobei jeder Knoten eine Verbindung mit dem Netz für die Aufrechterhaltung verantwortlich. Knoten nach unten gehen und kommt dynamisch nach oben, wobei jeden Knoten Sinn muss es die Nachbarn fragen (und ihre Nachbarn?) Für neuen Knoten zu verbinden, um die x Anzahl der Verbindungen aufrecht zu erhalten.

Netzwerksegmentierung (zwei Hälften des Netzes werden nur durch einen Knoten von jedem Netzwerk verbunden sind - wenn eine der beiden nach unten gehen, das Netz teilt sich in zwei) und wie diese und effiziente Routing (Abstandsmetriken, etc.) zu vermeiden sind mein Hauptinteresse, aber alles, was zu Netzwerken mit ähnlichen Beschreibungen im Zusammenhang wäre interessant.

Ich bin gerade im Protokoll Chord DHT wie es eine gewisse Ähnlichkeit zu dem, was ich verlangen.

War es hilfreich?

Lösung

Für Ubiquitous Computing verschiedene Ad-hoc-P2P-Netzwerke entwickelt worden, und sie würden wahrscheinlich Ihre Bedürfnisse anzupassen. Es wurde zum Beispiel in der Armee verwendet, um Nachbarn bis zu in der Regel einige Kommandozentrale jedes Gespräch kleinen Kapseln zu implementieren. Wenn Sie nicht über ein Zentrum haben, können sie auf verteiltes Rechnen in Beziehung gesetzt werden, sind trotzdem hier einige Links:

Andere Tipps

Netsukuku Projekt zielt darauf ab, für die Erstellung von Protokollen und Software-Implementierung für großen WLAN-basiertes Ad-hoc-Netzwerk (en).

Aus ihrer FAQ : "Die Netsukuku Projekt basiert auf der einfachen Idee, die großen Möglichkeiten der Wi-Fi-Konnektivität zu nutzen, so dass die PCs von drahtlosen Gemeinden agieren als Router und behandeln gemeinsam ein ad-hoc-Netzwerk noch größer als das Internet. "

Meine Gedanken nur - keine vollständige Lösung; nicht in der Praxis getestet, aber immer noch auf eine Reihe interessanter Probleme und mögliche Lösungen berühren kann.

Standardisierte Zeit für Knotenausfall und Wiederverknüpfung muss aufgezeichnet und verwaltet werden. diese das Netzwerk zu erreichen berechnet nicht auf Echtzeitbasis, sondern auf einer Animation Rahmennummer Basis. Haben N Front-End-Prozessoren FEP-ID und Auftrags-ID und Netzwerk-Animation Rahmennummer eingehenden Aufträge zuweisen. Es gibt eine Reihe von Problemen mit Echtzeit, die nicht ganz mit der Quantisierung Zeit selbst adressierte; in einigen Ausnahmefällen, es ist ein bisschen wie in der Buchhaltung, die Entsendung Ereignisse wann sollten sie als auftretenden angesehen werden und nicht, wenn irgendwelche Geld bewegt.

Für hohe Leistung, die Herzschlag-Pakete müssen auch Details von Arbeitsplätzen enthalten durchgeführt werden und vor kurzem abgeschlossen oder sowie das Inventar der Hosts im Netzwerk verlassen.

Netzwerk geht Workitems zu verarbeiten und ihre Ergebnisse zu benachbarten Peers oder FEPs zu veröffentlichen. FEPS Forward-Job Details zu Kunden abgeschlossen und kann für gescheiterten FEPs als einziger Staat in einem FEP ist die letzte auf Anfrage abgestempelt Seriennummer übernehmen.

Netzwerk muss ein Quorum hat fortzusetzen. Externe Monitore verfolgen Konnektivität und informieren die Knoten, die Veränderungen in der Konnektivität erfahren, ob sie nun innerhalb oder außerhalb des Quorum.

Wenn ein Workitem nicht von einer Maschine abgeschlossen ist, weil es fehlschlägt, oder ein neuer Knoten schließt sich das Netzwerk, eine neue Arbeit Allokationspolitik auf der Arbeit Artikel ID etabliert beruhen müssen, die Arbeit zu dem verbleibenden Knoten zuzuzuweisen, bis die neuen Knoten kommt wieder online.

Für die Fälle, in denen mehrere Knoten die gleiche Arbeit (Doppelarbeit -, die durch die Gestaltung der übliche Timeouts sinnvoll möglich, aber minimiert ist) durchführen. Die Arbeitsplätze rollbackable sein muss, und der Konflikt gelöst Markov-Ketten mit

Um die möglichen Doppelungen zuverlässig Jobs müssen Auto-Rollback in weniger Zeit als die Timeout-Erkennung Auftragsergebnisse für den Empfang, die während eines Krisenzeit dh gilt, wenn Knoten versagen. Eine kürzere Timeout gilt, wenn Knoten nicht versagen.

Nur um zu vermeiden, das Rad neu zu erfinden, an den verschiedenen Routing-Protokollen einen Blick darauf werfen. OSPF könnte ein guter Ausgangspunkt sein, Ihr Szenario gegeben. Natürlich gibt es viele, viele Variablen, die es nicht die beste Wahl für Sie machen könnte. Wie zum Beispiel:

  • Sie können einen kürzesten Weg zu X Knoten halten; wenn ein Knoten ausfällt, sind an Knoten informiert und können eine neue SP-Suche einen passenden zu finden; Sie müssen Aufwand für Ping berücksichtigen und Keep-Alive-Nachrichten
  • tun müssen, um Sie instradate Verbindungen (das heißt Suchaktionen im p2p-Netz) oder einfach nur einen großen Satz von Knoten miteinander verbunden sind (a la Botnet) halten? Wenn ja, ein gemischter Ansatz (eine kleine, verteilte Hash-Tabelle für kleine Untergruppen des Netzwerks + OSPF / BGP für Grenzen) könnte helfen;
  • so weiter und so fort

Haben Sie sich Kademlia ? Es ist ähnlich wie Chord und Versionen davon werden von BitTorrent und eMule verwendet. Das Papier einige Maßnahmen aufgelistet, um sicherzustellen, Netzwerk Integrität, selbst im Angesicht des Angriffs. Die beiden grundlegenden diejenigen sind

  • Pflegen genug Peers so dass der Ausfall genug von ihnen Probleme zu verursachen ist unwahrscheinlich
  • Pflegen Sie die Liste der bekannten Peers in der Reihenfolge der längsten Betriebszeit. Studien haben gezeigt, dass die Wahrscheinlichkeit eines Knotens innerhalb der nächsten Stunde offline gehen wird, je länger senken sie bereits online. Dies macht es auch schwierig für Angreifer das Netzwerk mit bösartigen Knoten zu überfluten.

Ich bin mir nicht sicher, wie viel von diesem zu Chord gilt, weil ich nicht so viel darüber gelesen, aber ich denke, mit einem DHT gehen ist eine gute Idee, es sei denn, Sie unscharfe Suche benötigen.

Mit Chord. http://en.wikipedia.org/wiki/Chord_(peer-to -peer)

Ich habe es in Projekten umgesetzt, bevor und es geht diese Probleme an.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top