ピア メッシュ

"メッシュ" は、互いに通信可能で、一意のメッシュ ID により識別されるピア ノードの名前付きコレクション (相関グラフ) です。 各ノードは複数の別のノードに接続されています。 接続状況が良好なメッシュでは、2 つのノード間にパスが存在します。メッシュの一番端のノード間には比較的少数のホップがあります。メッシュは、一部のノードまたは接続が終了した場合でも、接続されたままになります。メッシュ内のアクティブ ノードでは、エンドポイント情報と対応するメッシュ ID が公開され、他のピアが検索できるようにします。

ピア メッシュを使用して作成されたメッシュの特徴

一意の識別

  • 一意の ID によって各メッシュが識別されます。 メッシュ名 (メッシュ ID) はドメイン ネーム システム (DNS) ホスト名と同じ形式です。 したがって、このメッシュ ID は、アプリケーションの対象クライアントに対して、リゾルバーの使用範囲内で一意にする必要があります。 "MyFamilysPeers" や "KevinsPokerTable" のような一般的な名前にすると、他のユーザー名と容易に衝突する可能性があり、意図しないピア エンドポイントの情報が返る場合があります。その結果、プライバシーの問題が発生したり、接続の待ち時間が増加したりする可能性があります。 このような問題を回避する 1 つの方法は、一意の ID をメッシュのニックネームの接尾辞として追加することです (たとえば、"KevinsPokerTable90210" のようにします)。

大量のメッセージ

  • メッシュでは、1 人以上の送信者から同じメッシュ内の他のすべてのピア ノードにメッセージを伝達できます。 ピア ノードから大量に送られたメッセージは、http://schemas.microsoft.com/net/2006/05/peer の名前空間で指定されたヘッダーを使用します。

最適化された接続

  • ノードが参加したり離脱したりすると、ピア チャネル メッシュが自動的に調整されます。これにより、良好な接続が維持され、パーティション (互いに分離するノード グループ) が作成される可能性はほとんどなくなります。 メッシュ内の接続は現在のトラフィック パターンに基づいて動的に最適化され、送信者から受信者へのメッセージの待ち時間は可能な限り短縮されます。

ピア チャネルで提供されない一般的なネットワーク機能を認識しておくことは重要です。 その機能 (ピア チャネルの上にすべて構築される場合もあります) を次に示します。

  • メッセージの順序付け: 単独のソースから送信されたメッセージは、他のすべてのパーティに同じ順序またはソースが送信した順序で到着しない場合があります。 メッセージを特定の順序で配信する必要のあるアプリケーションでは、その順序をアプリケーションに組み込む必要があります (決まった値で増加する ID をすべてのメッセージに含めるなど)。

  • 信頼できるメッセージング: ピア チャネルには、すべてのピアでメッセージの受信を確認するメカニズムはありません。 メッセージの配信を保証するには、信頼性の層をピア チャネルの上に記述する必要があります。