1

これは、大規模でスケーラブルなP2Pネットワーキングアプローチである論理リングネットovrlayに関する質問です。

P2Pネットワーキングのコンテキストを検討してください。リングを介して全員が相互に接続されているN台のコンピューターがあります。すべてのノードには、先行ノードと後続ノードを記憶するルーティングテーブルがあります。これは、ルーティングテーブルが先行と後続のみを格納する場合の最も単純なケースです。すべてのノードには、番号であるIDが提供されます。リングは、昇順の番号が時計回りの方向に割り当てられるように編成されています。

したがって、次のような状況になる可能性があります。* --12 --13 --45 --55 --180 --255-*このネットワークには6つのノードがあり、それらは円で接続されています。

ノードが別のノードにメッセージを送信する必要がある場合、ルーティングテーブルが使用されます。汎用ノードに着信メッセージがある場合は、宛先アドレスが確認され、ルーティングテーブルにない場合は、後続ノードまたは先行ノードがルーティングされます。それ。

次に、この例を考えてみましょう。私の単純なネットワークでは、ノード13はノード255にメッセージを送信したいと考えています。すべてのノードは先行ノードと後続ノードしか見ることができないため、すべてのノードはグローバルネットワークを考慮することができません。実際、P2Pではノードはしか見ることができません。ネットの一部。したがって、ノード13は、次の決定を行う必要があります。メッセージをどこにルーティングするか(宛先がその近隣にないため)?メッセージは45または12に送信する必要がありますか?(時計回りまたは反時計回り?)。

もちろん、12に送信する方が適切な決定ですが、ノード13はどのようにしてこれを知ることができますか?

最も簡単な解決策は次のとおりです。常に時計回りにルーティングしますが、この場合、非常に近いノードに非常に長い時間で到達します。

これをどのように処理しますか?

PS:Fingering時計回りのルーティングベースのアプローチに適用されるようなソリューションがあります。運指は、ジャンプリンクを作成するためにルーティングテーブルに他のアドレスを配置します...これは、時計回りのルーティングでのみ使用できるソリューションです...

http://en.wikipedia.org/wiki/File:Chord_route.png

正しいルーティング方向を見つけるための良い解決策を知りたいです...それは存在しますか?Chordはこれをどのように処理しますか?

ありがとうございました。

4

1 に答える 1

2

すべてのノードが次のノード、2 番目のノード、4 番目のノード、8 番目のノードなどへのリンクを記憶している場合、任意のノードを見つけるのに log(n) 時間しかかかりません。これは、時計回りにするか反時計回りにするかを考えないほど速いと思います。

于 2011-05-14T13:22:36.230 に答える