0

解決策が見つからない問題があります:

すべて同じアプリケーション Foobar を実行している純粋なピア ツー ピア システム内のノードを特定するにはどうすればよいですか?

ここに画像の説明を入力

上の図で、すべてのノードが、純粋なピア ツー ピア ネットワークに基づく同じアプリケーションを実行しているとします

注 : Java でタグ付けしたのは、これが私が使用したい言語だからです。すでにそれを行っているライブラリの名前を引用する代わりに、検索を行う方法やアルゴリズムを説明してください。よく考えました。でも検索の仕方がわからない?純粋な p2p システムとは何かを理解するために、純粋な p2p システムを反映した小さなアプリケーションを書きたいと思います。これは単純なチャット アプリケーションかもしれません。

4

3 に答える 3

1

ノードを見つける方法について質問している場合は、これがディレクトリサービスの目的です。ノードはそれらのサーバーに登録されます。

ノードに名前を付ける方法について質問している場合は、GUIDが適切に機能するか、ディレクトリサービスを使用して名前を付けることができます。

于 2013-02-14T13:46:14.743 に答える
0

アプリケーションの規模によって異なります。LAN では簡単です。自分の存在をブロードキャストします (通常は、あらかじめ決められたマルチキャスト アドレスを介して)。

大規模なインターネットでは、ルーターがブロードキャスト トラフィックとマルチキャスト トラフィックをブロックするため、自分の存在を知らせる方法がありません。代わりに、他のピアを検出するために、シードとして少なくとも 1 つのピアが必要です。各ピアが他の人について知ると、その知識を交換します。

于 2013-02-14T13:45:00.620 に答える
0

上で述べたように、ディレクトリ サービスは torrent ネットワークなどの p2p ネットワークで人気があります。

より「純粋な」p2p については、Gnutellaプロジェクトについて読むことができます。

... 最初の起動時に、クライアント ソフトウェアはブートストラップし、少なくとも 1 つの他のノードを見つける必要があります。これには、既知のノードの更新された Web キャッシュ (Gnutella Web キャッシュと呼ばれる)、UDP ホスト キャッシュ、まれに IRC を使用して、ソフトウェアに同梱されている可能性のある動作中のノードの既存のアドレス リストを含む、さまざまな方法が使用されてきました。

他のソリューションには、同じネットワーク p2p のマルチキャストが含まれる場合があります

于 2013-05-19T12:46:40.943 に答える