Freigeben über


Peer-Meshs

Ein Gitter ist eine benannte Auflistung (ein miteinander verbundenes Diagramm) von Peerknoten, die unter sich kommunizieren können und die durch eine eindeutige Gitter-ID identifiziert werden. Jeder Knoten ist mit mehreren anderen Knoten verbunden. In einem gut verbundenen Mesh gibt es einen Pfad zwischen beliebigen zwei Knoten, mit relativ wenigen Hops zwischen den Knoten am äußersten Rand des Mesh, und das Mesh bleibt verbunden, auch wenn einige Knoten oder Verbindungen ausfallen. Aktive Knoten im Mesh veröffentlichen ihre Endpunktinformationen mit einer entsprechenden Mesh-ID, damit andere Peers sie finden können.

Merkmale eines Gitters, das mit dem Peerkanal erstellt wurde

Eindeutig identifiziert

  • Eine eindeutige ID identifiziert jedes Gitter. Der Name des Gitters (oder der Gitter-ID) weist das gleiche Format wie ein DNS-Hostname (Domain Name System) auf. Daher muss diese Gitter-ID für den vorgesehenen Client der Anwendung innerhalb des Gültigkeitsbereichs des verwendeten Resolvers eindeutig sein. Ein allgemeiner Name wie "MyFamilysPeers" oder "KevinsPokerTable" kann leicht mit anderen Benutzernamen kollidieren und unbeabsichtigte Peerendpunktinformationen zurückgeben, was zu Datenschutzproblemen führen kann oder die Verbindungslatenz erhöht. Eine Möglichkeit, diese Probleme zu vermeiden, kann sein, eine eindeutige ID als Postfix zum Spitznamen für das Gitter hinzuzufügen (z. B. "KevinsPokerTable90210").

Nachrichtenflutung

  • Mit dem Gitter können Nachrichten von einem oder mehreren Absendern an alle anderen Peerknoten im selben Gitter verteilt werden. Nachrichten, die von Peerknoten geflutet werden, verwenden Header, die im Namespace unter http://schemas.microsoft.com/net/2006/05/peer angegeben sind.

Optimierte Verbindungen

  • Ein Peerkanal-Gitter passt sich automatisch an, wenn Knoten verbunden und verlassen werden, um sicherzustellen, dass alle Knoten eine gute Verbindung haben und wenig Wahrscheinlichkeit haben, Partitionen zu erstellen (Gruppen von Knoten, die voneinander isoliert sind). Verbindungen im Gitter werden auch dynamisch basierend auf aktuellen Datenverkehrsmustern optimiert, sodass die Nachrichtenlatenz von Absender zu Empfänger so klein wie möglich ist.

Es ist wichtig, sich der beliebten Netzwerkfeatures bewusst zu sein, die peer channel nicht bereitstellt. Zu diesen Funktionen, die alle auf dem Peer-Channel basieren können, gehören die folgenden:

  • Nachrichtenreihenfolge: Nachrichten, die von einer einzigen Quelle stammen, könnten bei den anderen Parteien nicht in derselben Reihenfolge oder in der von der Quelle gesendeten Reihenfolge eintreffen. Anwendungen, bei denen Nachrichten in einer bestimmten Reihenfolge übermittelt werden müssen, müssen dies in ihre Anwendungen integrieren (z. B. durch eine monoton ansteigende ID mit allen Nachrichten).

  • Zuverlässiges Messaging: Der Peerkanal enthält keinen Mechanismus, um den Empfang von Nachrichten durch alle Peers sicherzustellen. Um die Meldungsübermittlung zu garantieren, müssen Sie eine Zuverlässigkeitsebene schreiben, die Peerkanal übergeordnet ist.