Peer-MeshsPeer Meshes

Ein mesh ist eine benannte Auflistung (ein verbundenes Diagramm) von Peerknoten, die untereinander kommunizieren können und durch eine eindeutige Mesh-ID gekennzeichnet sind,A mesh is a named collection (an interconnected graph) of peer nodes that can communicate among themselves and that are identified by a unique mesh ID. Jeder Knoten ist mit mehreren anderen Knoten verbunden.Each node is connected to multiple other nodes. In einer gut organisierten Netzstruktur besteht zwischen zwei Knoten immer eine Verbindung, und zwischen den am weitesten außen liegenden Knoten liegen immer nur wenige Hops. Darüber hinaus bleibt die Verbindung des Netzes auch dann bestehen, wenn einige Knoten oder Verbindungen ausfallen. Aktive Knoten im Mesh veröffentlichen ihre Endpunktinformationen mit einer entsprechenden Mesh-ID, sodass andere Peers sie finden können.In a well-connected mesh, there is a path between any two nodes, with relatively few hops between the nodes on the furthest edges of the mesh, and the mesh will remain connected even if some nodes or connections drop out. Active nodes in the mesh publish their endpoint information with a corresponding mesh ID so that other peers can find them.

Eigenschaften eines Netzes, das mit Peerkanal erstellt wurdeCharacteristics of a Mesh Created Using Peer Channel

Eindeutige IdentifizierungUniquely Identified

  • Jedes Netz ist durch eine eindeutige ID gekennzeichnet.A unique ID identifies each mesh. Der Name des Meshs (die Mesh-ID) hat das gleiche Format wie der Domain Name System (DNS)-Hostname.The name of the mesh (or mesh ID) is in the same format as a Domain Name System (DNS) host name. Diese Mesh-ID muss für den vorgesehenen Client der Anwendung im Bereich des verwendeten Resolvers eindeutig sein.As such, this mesh ID must be unique for the intended client of the application within the scope of the resolver being used. Allgemeine Namen wie "MyFamilysPeers" oder "KevinsPokerTable" können sich schnell mit anderen Benutzernamen überschneiden und unter Umständen unerwünschte Peerendpunktinformationen zurückgeben, was zu Datenschutzproblemen führen oder die Verbindungswartezeit erhöhen kann.A common name such as "MyFamilysPeers" or "KevinsPokerTable," may easily collide with other user names and may return unintended peer endpoint information, which could result in privacy issues or increase connection latency. Sie können eine eindeutige ID als Postfix zum Spitznamen für das Netz hinzufügen (beispielsweise "KevinsPokerTable90210").One way to avoid these issues may be to add a unique ID as a postfix to the nickname for the mesh (for example, "KevinsPokerTable90210").

NachrichtenweiterleitungMessage Flooding

  • Das Mesh ermöglicht die Weitergabe von Nachrichten von einem oder mehreren Absender an alle anderen Peerknoten im gleichen Mesh.The mesh allows messages to be propagated from one or more senders to all other peer nodes in the same mesh. Durch Peerknoten weitergeleitete Nachrichten verwenden Header, die im Namespace unter http://schemas.microsoft.com/net/2006/05/peer angegeben sind.Messages flooded by peer nodes use headers specified in the namespace at http://schemas.microsoft.com/net/2006/05/peer.

Optimierte VerbindungenOptimized Connections

  • Ein Peerkanalnetz wird beim Hinzufügen und Entfernen von Knoten automatisch angepasst. Damit wird sichergestellt, dass die Verbindung für alle Knoten gut und die Wahrscheinlichkeit für die Entstehung von Partitionen (voneinander isolierte Knotengruppen) gering ist.A Peer Channel mesh automatically adjusts when nodes join and leave, ensuring that all nodes have good connectivity with little chance of creating partitions (groups of nodes isolated from each other). Verbindungen im Mesh werden auch auf der Grundlage aktueller Muster im Datenverkehr dynamisch optimiert, sodass die Nachrichtenwartezeit vom Absender zum Empfänger so kurz wie möglich ist.Connections in the mesh are also dynamically optimized based on current traffic patterns so that message latency from sender to receiver is as small as possible.

Einige gebräuchliche Netzwerkfunktionen werden von Peerkanal nicht bereitgestellt.It is important to be aware of popular network features that Peer Channel does not provide. Zu diesen Funktionen, die alle auf „Peerkanal“ aufbauen können, gehören:These features, which may all be built on top of Peer Channel, include the following:

  • Nachrichtensortierung: Nachrichten einer einzelnen Quelle kommen eventuell nicht an allen anderen Seiten in der gleichen Reihenfolge oder in der Reihenfolge, die die Quelle gesendet.Message ordering: Messages originating from a single source may not arrive at all other parties in the same order or in the order that the source sent. Anwendungen, die erfordern, dass Nachrichten in einer bestimmten Reihenfolge übermittelt werden, müssen dies integrieren (z. B. durch Einschließen einer gleichmäßig zunehmenden ID in alle Nachrichten).Applications that require messages be delivered in a certain order must build it into their applications (for example, by including a monotonically increasing ID with all messages).

  • Zuverlässiges messaging: Peerkanal enthält keinen Mechanismus, um den Nachrichtenempfang durch alle Peers sicherzustellen.Reliable messaging: Peer Channel does not include a mechanism to ensure message reception by all peers. Um die Meldungsübermittlung zu garantieren, müssen Sie eine Zuverlässigkeitsebene schreiben, die Peerkanal übergeordnet ist.To guarantee message delivery, you must write a reliability layer on top of Peer Channel.