IMFile

IMFile

A Free And Unlimited BT / HTTP / HTTPS / eD2k Download Software From Singapore

多数のトラッカーのメタデータ拡張

Multitracker Metadata Extension(多 Tracker 元データ拡張)は、BitTorrent プロトコルのためのメタデータ拡張であり、複数の BitTorrent トラッカー間の協調作業の効率を向上させることを目的としています。この拡張により、Torrent ファイルは複数のトラッカーのアドレスリストを含むことができ、クライアントはこれらのアドレスを使用して利用可能なトラッカーに接続することができます。したがって、1 つのトラッカーがオフラインの場合でも、クライアントは他のトラッカーを介してファイルをダウンロードまたは共有することができます。

標準の BitTorrent プロトコルとは異なり、Multitracker Metadata Extension ではトラッカーのアドレスリストが含まれていますので、クライアントはアクティブなトラッカーをより速く見つけることができます。これにより、Torrent ファイルのダウンロードをより速く開始することができ、同時に単一のトラッカーの負荷を軽減することができます。

Bit-Torrent-13813

BitTorrent のメタデータファイルには 2 つのキーが含まれています:1 つは標準の「announce」キーであり、もう 1 つは新しい「announce-list」キーです。これらの 2 つのキーは、クライアントが使用する BitTorrent トラッカーサーバーの URL アドレスリストを指定するために使用されます。

「announce」キーとは異なり、「announce-list」キーはネストされたリスト(リストのリスト)を参照しています。各内部リストはトラッカーサーバーの優先度を表しています。これは、クライアントが最初に最初の内部リストのすべてのサーバーにリクエストを送信し、利用できないか応答がない場合に次の内部リストのサーバーを順番に試すということを意味します。利用可能なトラッカーサーバーが見つかるまで続けられます。

クライアントが複数のトラッカー仕様をサポートし、メタデータファイルに「announce」と「announce-list」の両方のキーが存在する場合、クライアントは「announce-list」の URL アドレスリストのみを使用し、「announce」キーのアドレスを無視します。これにより、複数のトラッカーサーバーを使用することでダウンロードの効率と信頼性が向上し、ダウンロードタスクが他のピアを見つけてダウンロード速度を向上させることが容易になります。

実行順序#

「announce-list」キーの URL アドレスリストは優先度(tiers)ごとに個別に処理され、クライアントはリスト内の URL アドレスを優先度ごとに順番に処理します。各優先度内では、URL アドレスはランダムな順序で処理されるため、前に位置するアドレスによるダウンロード速度の低下や失敗を回避することができます。また、クライアントが特定のトラッカーサーバーとの接続に成功すると、そのサーバーが所属する優先度がリストの最前面に移動されるため、そのサーバーとの通信の確率が向上し、ダウンロード速度が加速します。

例:

  d['announce-list'] = [ [tracker1], [backup1], [backup2] ]

「announce」イベントが発生した場合、まず「tracker1」に接続を試みることをお勧めします。接続に失敗した場合(トラッカーが利用できない可能性があります)、次に「backup1」に接続し、それでも失敗した場合は「backup2」に接続を試みます。次回のアナウンス時には、同じ試行順序を繰り返す必要があります - 最初に「tracker1」を試し、次に「backup1」、最後に「backup2」が必要な場合はそれを試します。この方法を採用する理由は、異なるトラッカーが互いの情報を共有できないためのようです。各トラッカーに毎回同じ順序で接続を試みることにより、システムは常に最優先のトラッカーに接続を試みることを確保し、同時に利用可能なオプションを持つことができます。

  d['announce-list'] = [[ tracker1, tracker2, tracker3 ]]

まず、トラッカーリストがシャッフルされているとします。クライアントがトラッカーに接続する必要がある場合、次の順序で接続を試みます:

  1. 最初に「tracker1」に接続を試みます。
  2. 「tracker1」に接続できない場合、「tracker2」に接続を試みます。
  3. 「tracker2」に接続できる場合、トラッカーリストを「tracker2,tracker1,tracker3」に再配置し、この順序で後続の接続試行を行います。
  4. 「tracker2」または「tracker1」に接続できないが、「tracker3」に接続できる場合、トラッカーリストを「tracker3,tracker2,tracker1」に再配置し、この順序で後続の接続試行を行います。

トラッカー間の負荷分散ポリシー。この方法により、クライアントとトラッカー間で情報を交換し、負荷分散を実現し、特定のトラッカーが過負荷になることでシステム全体のパフォーマンスが低下することを防ぐことができます。

  d['announce-list'] = [ [ tracker1, tracker2 ], [backup1] ]

プロセス中には、システムが 3 つのレベルに分かれます:tracker1、tracker2、および backup1。最初のレベルには tracker1 と tracker2 が含まれ、その順序はランダムかもしれません。 「announce」イベントが発生した場合、システムは特定の順序(各イベントごとに異なる順序があるかもしれません)で tracker1 と tracker2 に接続を試み、その後に backup1 を使用しようとします。つまり、backup1 を使用する前に、システムはまず tracker1 と tracker2 に接続を試みます。

参考リンク#

http://www.bittorrent.org/beps/bep_0012.html

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。