トラッカーがトラッカーに含まれておらず、ビトレントクライアントを開始したため、まだピアがない場合... DHTで最初に接続する相手を知るにはどうすればよいですか?開始するには、DHTの少なくとも1つのノードを知っている必要があるようです。..
BitTorrentクライアントがDHTに接続すると、最初にピアを見つける場所があります。オリジナルのBitTorrentクライアントでは、物事を始めるのに役立つbitorrent.comへのURLがありました。参照を検索しようとしましたが、見つかりませんでした。他のクライアントとの接続を確立したら、DHTネットワークでannounce
を実行して、探しているトレントのピアを見つけることができます。
DHTについて説明している BitTorrentの仕様 へのリンクです。
トラッカーレストレント辞書には「アナウンス」キーがありません。代わりに、トラッカーレストレントには「ノード」キーがあります。このキーは、クライアントのルーティングテーブルを生成するトレントで最も近いKに設定する必要があります。あるいは、キーは、トレントを生成する人が操作するノードなど、既知の良好なノードに設定できます。 「router.bittorrent.com」をトレントファイルに自動的に追加したり、このノードをクライアントルーティングテーブルに自動的に追加したりしないでください。
メインラインDHT bootstrapノードはrouter.uTorrent.com
とCNAME、router.bittorrent.com
。港 6881
。
この下部のグラフ DHTモニタリングプロジェクト サイトが示しています
ブートストラップピアとして
BiTTorrentには、3つの主なオプションがあります。
nodes
を埋め込み、DHTにリンクできます(実際、トレントファイルを作成する際に推奨されます)Transmission
は、ピアを取得する他の方法がない場合、dhtに hardcoded bootstrap node を使用します。
bootstrap_from_name( "dht.transmissionbt.com", 6881, bootstrap_af(session) );
各トレントクライアントは、独自のbootstrap=ノードを使用していると思います。
レコードの場合、- Deluge は ハードコードされたブーストラップノード も使用します。
self.session.add_dht_router("router.bittorrent.com", 6881)
self.session.add_dht_router("router.uTorrent.com", 6881)
self.session.add_dht_router("router.bitcomet.com", 6881)
クライアントは、他のDHT対応ピアとのやり取りを通じて他のピアについて学習できます。 DHTのピアのサポートは、そのハンドシェイクでアドバタイズされます。クライアントは、適切に接続された少なくとも1つの適切なDHTピアを検出すると、DHTをナビゲートして、より多くのより近いDHTピアを見つけることができます。ソフトウェアの再起動とDHTでノードと呼ばれるこれらのピアを記憶し、実行中にリストを継続的に維持/更新します。クライアントが良いDHT対応ピアを知らないというより悪いケースでは、トラッカーを介して学習したいくつかの良いDHT対応ピアに連絡できるように、トラッカーベースのトレントをダウンロードする必要があります。
更新: DHTピアの初期リストについて、@ Seppoが指摘するように、トレントクライアントは1つ以上のハードコードされたDNS名を使用して、既知のピアのアドレスを見つけることができます。最終フォールバックとしてピアのハードコーディングされたリストも含めます。 DNSの制限の1つですが、ポート情報が提供されないため、通常はデフォルトのポート6881が想定されますが、他の手段は異なるポートで動作するピアをサポートします。
話をするには、他の急流の仲間が必要です。あなたはこれらを持っていないと述べたように、あなたは一緒に行くことはあまりありません....