21

磁気リンクがどのように機能するかを理解しようとしています。DHTとPEXを使用してピアを取得しているのですが、ネットワーク内の新しいノードの場合、ハッシュのみを使用してピアを見つけるにはどうすればよいですか。ファイル?!既知のホストへのリンクが常に必要ではありませんか?

ありがとう

4

1 に答える 1

26

BitTorrent DHTは、さまざまな方法でブートストラップできます。そこにある他の到達可能なDHTノードのIPとポートが必要です。

現在のクライアントは通常、次の戦略のいくつかを使用しています。

  • 前のセッションの存続期間の長いノードのキャッシュからのブートストラップ
  • 既知のポートを持つ既知のノード(例:router.bittorrent.comまたはdht.transmissionbt.com)へのDNS A/AAAAレコードマッピングを使用する
  • .torrentファイルに埋め込まれたノードを使用する
  • 従来のトラッカーなどの他の手段で確立されたビットトレント接続を介して、ビット トレントクライアントからDHTポートを取得します。
  • LSDを介したマルチキャスト近隣探索
  • IPv4からIPv6DHTへのクロスチャタリング(およびその逆)(必要な場合)

ユーザー設定可能なブートストラップリスト、DNS SRVなどの他の方法は、ライブノードへのラウンドロビンマッピングを記録します。または、他のすべてが失敗した場合は、友人のIPを手動で追加します。

ノードがネットワークに参加すると、上記の最初の戦略が開始され、再度ブートストラップする必要はほとんどありません。

したがって、ほとんどの実装は、利便性のためにネットワークへの単一/少数のエントリポイントに依存していますが、プロトコル自体は、エントリポイントを分散化するのに十分な柔軟性があります。

強調するために: DHTの任意のノードを使用してネットワークに参加できます。専用のブートストラップノードは実装の詳細であり、プロトコルの一部ではなく、必要に応じて他の検出メカニズムに置き換えることができます。

于 2012-06-18T19:29:34.363 に答える