IMFile

IMFile

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

Trackerが返すコンパクトなピアリストの理解方法

紹介#

Tracker の応答サイズを小さくし、Tracker のメモリと計算要件を低減するために、Tracker はピアノードをパックされた文字列として返すことができます。これは bencoded リストとして返すのではありません。

このドキュメントでは、"MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY"、および "OPTIONAL" というキーワードの解釈については、IETF RFC 2119 を参照してください。

概要#

BitTorrent プロトコル仕様に従って、ファイルを転送するためには、ピアノードが中央のトラッカーに接続する必要があります。トラッカーは、ファイルの転送を行っているピアノードのリストを返します。このピアノードのリストは、一連の bencoded 辞書として実装されています。リストの各辞書には、ピア ID、IP、およびポートの 3 つのフィールドが含まれています。

ピア ID は、20 バイトのバイト列に 3 バイトの bencoding の追加負荷が加わったものです。IP は、ドメイン名または IP アドレスと整数のポート番号を含む文字列です。IP の長さは可変ですが、最長の形式ではドメイン名であるため、255 バイトを超えることはできません。さらに、4 バイトの bencoding の追加負荷が加わります。bencoded 整数も可変長ですが、ポート番号を表すため、7 バイトを超えることはありません。これには bencoding の追加負荷も含まれます。

BitTorrent プロトコル仕様によれば、BitTorrent プロトコルのピアノードリストは、ピア ID、IP、およびポートの 3 つのフィールドを持つ bencoded 辞書の形式で格納されます。これらは、ピアノードの一意の識別子、IP アドレス、およびポート番号をそれぞれ表します。

したがって、

バイト単位の総ピアリストの長さ < n * ( 23 + 259 + 7 )

現在、一般的には、各ピアノードを表すためにコンパクトな形式が使用されており、各ピアノードはわずか 6 バイトしか使用しません。最初の 4 バイトには 32 ビットの IPv4 アドレスが含まれ、残りの 2 バイトにはポート番号が含まれます。アドレスとポート番号の両方について、ネットワークバイトオーダーが使用されます。

トラッカーはデフォルトでコンパクトな形式を返すことが推奨されています。announce URL に "compact=0" を含めることで、クライアントはトラッカーに元の形式を使用するように提案することができます。同様に、"compact=1" はトラッカーにコンパクトな形式を使用するように提案します。ただし、"compact" キーバリューペアは参考までであり、トラッカーはどちらの形式を返すかを選択することができます。"compact" は提案の性質を持つ設定であり、トラッカーがコンパクトな形式のみをサポートする可能性があります。ただし、クライアントは両方の形式を引き続きサポートする必要があります。

上記の説明に基づいて、トラッカーはデフォルトでコンパクトな形式のピアノードリストを返すことが推奨されます。クライアントは、対応するパラメータを announce URL に指定することで、トラッカーに元の形式またはコンパクトな形式を使用するように提案することができます。ただし、最終的な形式はトラッカーが自身で決定することができます。クライアントは両方の形式をサポートする必要があります。

例:

GET /announce?peer_id=aaaaaaaaaaaaaaaaaaaa&info_hash=aaaaaaaaaaaaaaaaaaaa
&port=6881&left=0&downloaded=100&uploaded=0&compact=1

BitTorrent プロトコルの "compact format" データ形式。伝統的な BitTorrent トラッカーの応答では、"peers" というキーを使用してピアノードリストを表し、その値は bencoded(一種のエンコード形式)のリストです。

しかし、"compact format" では、引き続き同じ "peers" キーを使用しますが、その値はリスト形式ではなく、bencode エンコードされた文字列です。伝統的な形式とは異なり、"compact format" にはピアノードの ID(peer id)は含まれません。ピアノードの ID の情報が欠落しているにもかかわらず、このコンパクトな形式は長年広く使用されており、問題を引き起こしていません。

この "compact format" 形式は、BitTorrent の主要なクライアントである IMFile、qBittorrent、libtorrent、uTorrent など、ほとんどのクライアントでサポートされています。

結論#

ピアツーピアのファイル共有ネットワークでは、共有ファイルの他のユーザーの情報を取得するためにトラッカーに接続すると、トラッカーは通常、ピアノードのリストを返します。このリストには、そのファイルを共有している他のユーザーの情報が含まれる場合があります。この情報には、IP アドレス、ポート番号などが含まれる場合があります。

"Tracker Returns Compact Peer Lists" は、"Compact Peer Lists" という用語で、ピアノードリストのコンパクトな形式を表す方法または形式です。詳細なノードリストなどの他の形式と比較して、コンパクトなピアノードリストは、ノード情報を表すためにより少ないデータを使用し、ネットワークトラフィックとリソースの消費を減らすことができます。

通常、コンパクトなピアノードリストはバイナリ形式で表され、特定のエンコーディングスキームが使用されます。通常、ノードの IP アドレスとポート番号が含まれており、このリストをデコードして処理することで、ノードの具体的な情報を取得できます。

要するに、"Tracker Returns Compact Peer Lists" は、トラッカーがコンパクトな形式で表されたピアノードリストを返すことを意味し、このリストを使用して他の共有ファイルユーザーとの接続を確立することができます。

参考リンク#

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