10

P2P または完全分散コンピューティング アーキテクチャに適合する分散ハッシュ テーブル (DHT)パラダイムについて学習しようとしています。理論的な観点からは、クラスターが確立されると、クラスターがどのようにデータを集めて作業を分散するかがある程度理解できます。

私にとって最も興味深い部分は、アーキテクチャが何らかの集中型コントローラーやコーディネーターを必要としないことです (単一障害点がありません)。ただし、特にクラスターがどのように形成されるかなど、概念の実際の実行を理解するのにまだ苦労しています。それが完全に分散されたシステムである場合、ノードはどのようにしてすでに確立されたクラスターに「参加」する方法を知っているのでしょうか?

簡単な例では:

  • DHT モデルに基づいて P2P アプリケーションを作成しているとします。
  • アプリケーションはインターネット全体に分散され (同じネットワーク内にはない)、パブリック クライアントはクラスターに接続できます。
  • クラスターに接続されたクライアントは、クラスター内の他のクライアントの一部 (必ずしもすべてではない) を表示できます。
  • 接続されていないクライアントには、クラスター内のクライアントのアドレスまたは名前がありません。

では、ビーコンとして機能する、または新しいクライアントをクラスタに導入する手段を提供する集中型サーバーがない場合、新しいクライアントはどのように「接続」するのでしょうか?

4

3 に答える 3

10

これは私が論文の一部として取り上げた問題であり、満足のいく解決策は見つかりませんでした。問題は、ネットワークに参加する前に、他のピアの 1 つだけに関するある種の情報が必要なことです。その最初のアドレスを取得するのは難しいことです。

私が思いついたいくつかのアイデア:

  • ピアにアドレスを公開するように勧めます。これにより、公開されている既知の IP のリストが作成されます。
  • いくつかの「よく知られている」ブートストラップ ピアを実行する
  • アドレス空間を力ずくで攻撃する

最後のオプションは、真に分散化された唯一のアプローチです。3 つの組み合わせが最適である可能性があります。

切断後に接続を再確立するネットワークにブートストラップされたら、ネットワーク内のすでに長期間使用されている数千のノードのアドレスを保存するだけで、そのうちの少なくとも 1 つが次回もオンラインになります。

于 2012-10-25T04:07:17.697 に答える
0

分散ハッシュテーブル (DHT) ソースのメイン トランクを維持するパーティが、その DHT インスタンスのGODであり、したがって主要な単一障害点であることは事実です。DHT ソースにハードコードされたアドレスを持つ匿名化ネットワーク ( TorGNUnetChimeraなど)ノード(以下、anonnodes) から DHT がブートストラップする場合、その DHT が何らかの「No-Such-エージェンシー」が増えてはいけません。古典的な wget は、 torsocksと組み合わせて使用​​する場合、Tor ネットワーク アドレスで動作します。例:

torsocks wget http://xmh57jrzrnw6insl.onion/

ブートストラップ ノードの一部をハイジャックすることで DHT がハイジャックされるリスクを軽減するために、自動投票プロセスを使用できます。アイデアは、起動ノードがハードコーディングされた anonnodes からアドレスのリストを取得し、リストの大部分に存在するノードからのみブートストラップするというものです。一部のアノノードが他のアノノードよりも「信頼できる」場合、システムを使用する代わりに、各アノノードが 1 票を持つ代わりに、「より信頼できる」アノノードが複数の票を持つことができます。

コンピューターの信頼性が低かった昔、投票システムは、異なる投票コンピューターの代わりに、同じコンピューターが同じアセンブラー コマンドのセットで複数回実行される形式で使用されていました。計算結果を比較した。最も多い回答が正しいものと見なされました。分散ハッシュテーブルの場合、同じ方法論が使用される可能性があります。異なるブートストラップ ノードに同じ質問、既知の DHT ノードのリストを、「より長い」期間にわたって個別の Tor セッションを通じて複数回尋ねます。

2014_07_xx の時点で、まだアイデアをテストしていませんが、現在のコメントがお役に立てば幸いです。

于 2014-07-23T21:08:45.240 に答える