トレントファイルとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > トレントファイルの意味・解説 

トレントファイル

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/07/16 06:30 UTC 版)

トレントファイル
拡張子 .torrent
MIMEタイプ application/x-bittorrent
国際標準 BEP-0003 (v1),[1] BEP-0052 (v2)[2]
テンプレートを表示

BitTorrentファイル配布システムにおいて、トレントファイル: torrent file)またはメタ情報ファイル: meta-info file)とは、配布対象のファイルおよびフォルダに関するメタデータを含み、通常はトラッカーと呼ばれるコンピュータのネットワーク上の位置情報のリストも含むファイルである。トラッカーは、システム参加者同士が互いを見つけ、スウォームと呼ばれる効率的な配布グループを形成するのを助ける[1]。トレントファイルは通常、.torrentという拡張子を持つ。

トレントファイルは、トレントクライアントの使用により情報を見つけることが可能となる目次(インデックス)のような役割を果たす。トレントファイルを用いることで、元のファイルを既にダウンロード済みのコンピュータから小さな部分ごとに取得できる。これらの「ピア」は、プライマリサーバに加えて、あるいはその代替として、ファイルのダウンロードを可能にする。トレントファイル自体には配布されるコンテンツは含まれておらず、それらのファイルに関する情報、たとえばファイル名、ディレクトリ構造英語版、サイズ、ファイル完全性を検証するための暗号学的ハッシュ関数によるハッシュ値などが含まれている。

トレントシステムは中央サーバへの負荷を軽減するために設計されており、個々のクライアントがサーバからファイルを取得するのではなく、必要な帯域幅を分担することで、大容量ファイルのダウンロード時間を短縮する。多くの自由ソフトウェアフリーウェアLinuxディストリビューションをはじめとする各種オペレーティングシステムは、上記の利点を求めるユーザーのためにトレントによるダウンロードオプションを提供している。メディアファイルなどの他の大容量ダウンロードもトレントによって行われることが多い。

背景

一般的にインターネット接続は非対称型であり、アップロード速度よりもダウンロード速度が速く、各ダウンロードに割り当てられる帯域幅が制限されていたり、帯域制限やアクセス不能時間帯が設けられていたりする。このような状況では、多数のユーザーが同一ファイルセットを単一のソースから取得しようとする際に非効率が生じる。ソースは常時オンラインでなければならず、大量の送信帯域幅を必要とする。この問題を解決するためにトレントプロトコルは配布を分散化し、利用者同士が「P2P」でネットワークを構築する能力を活用する。

配布される各ファイルは「ピース」と呼ばれる小さな情報の断片に分割される。ダウンロードするピアは、スウォーム内の複数のコンピュータから同時に複数のピースを要求することで、高速なダウンロードを実現する。取得されたピースは通常、即座に他のスウォーム内の参加者がダウンロードできるように共有される。このようにして、ネットワーク負荷は中央の配布拠点ではなくダウンローダー間に分散される。すべてのピースが揃っていれば、ピア(ダウンローダーおよびアップローダー)は入退場自由であり、すべてのピースを保持していたりスウォームに常時接続していたりする必要はない。

共有対象のファイルまたはフォルダを表すために小さなトレントファイルが作成される。トレントファイルは実際のコンテンツのダウンロードを開始するための鍵となる。共有されたファイルまたはフォルダを取得したい者は、まず対応するトレントファイルを直接ダウンロードするか、マグネットリンクを利用して入手する。その後、ユーザーはそのファイルをトレントクライアントで開き、残りの処理は自動的に実行される。ピアのインターネット上の位置情報を得るため、クライアントはトレントファイルに記載されたトラッカーに接続、または分散ハッシュテーブルを利用して同様の結果を得る。そしてクライアントはピアに直接接続し、ピースの要求やスウォームへの参加を行う。クライアントは進捗状況をトラッカーに報告し、トラッカーによるピアの推薦を助ける場合もある。

すべてのピースが揃うと、トレントクライアントはそれらを組み立てて利用可能な形にする。またクライアントは引き続きピースを共有し、通常のピアではなく「シーダー」という役割を担うようになる。

ファイル構造

トレントファイルは、ファイルの一覧とすべてのピースに関する完全性メタデータを含み、任意で多数のトラッカーのリストを含む。

トレントファイルは、以下のキーを持つBencode形式の連想配列(Bencoded辞書のキーは常に辞書式順序で並ぶ)である。

  • announce — メイントラッカーのURL
  • info — 以下のキーを持つ辞書に対応し、キーは1つまたは複数のファイルが共有されるかに大きく依存する:
    • files — 各ファイルに対応する辞書のリスト(複数ファイルが共有される場合のみ)。各辞書は以下のキーを持つ:
      • length — ファイルのバイト単位のサイズ
      • path — サブディレクトリ名に対応する文字列のリストで、最後の要素が実際のファイル名
    • length — ファイルのバイト単位のサイズ(単一ファイルが共有される場合のみ)
    • name — ファイルが保存される際の推奨ファイル名(単一ファイルの場合)/ファイル群が保存される推奨ディレクトリ名(複数ファイルの場合)
    • piece length — ピースごとのバイト数。一般的に28KiB = 256 KiB = 262,144 B
    • piecesハッシュリスト英語版、すなわち各ピースのSHA-1ハッシュを連結したもの。SHA-1は160ビットのハッシュを返すため、 piecesは20バイトの倍数長の文字列となる。トレントが複数ファイルを含む場合、 files辞書に記載された順にファイルを連結してピースが構成される(すべてのピースは完全な長さを持つが、最後のピースのみ短くなることがある)

すべての文字列は piecesを除きUTF-8でエンコードされていなければならない。 piecesはバイナリデータを含む。

トレントはinfohashによって一意に識別される。これは info辞書の内容をBencode形式でSHA-1ハッシュ化したものである。他の部分を変更してもこのハッシュは変化しない。このハッシュは、DHTを通じたピア間通信やトラッカーとのやり取り、そしてマグネットリンクで使用される。

BitTorrent v2

BitTorrent v2プロトコル(BEP-0052)は、トレントファイルの新たな定義を導入する[2]。基本構造は以下のとおりである。

  • announce — トラッカーのURL
  • info — 以下のキーを持つ辞書に対応し、キーは1つまたは複数のファイルが共有されるかに依存する:
    • name — ファイル群が保存される推奨ディレクトリ名
    • piece length — ピースごとのバイト数。一般的に28KiB = 256 KiB = 262,144 B。v2では2の累乗でなければならない
    • meta version — 数値 "2"
    • file tree — 辞書のツリー構造。各キーはディレクトリ名またはファイル名を表す。ファイルには以下が含まれる:
      • length — ファイルのバイト単位のサイズ(単一ファイルが共有される場合のみ)
      • piece root — 非空ファイルの場合、ファイルを16KiBのブロックに分けて構築された分岐2のハッシュ木のルートハッシュ
  • piece layers — 各ピースに対応する新しいタイプのマークルルートハッシュを含む文字列の辞書

新しい形式では、ピースのハッシュ化とinfohashの両方にSHA-256が使用され、破損したSHA-1に置き換わる。"btmh"マグネットリンクには32バイトの完全なハッシュが含まれ、トラッカーやDHTとの通信では旧来のメッセージ構造に収めるため20バイトに短縮されたバージョンが用いられる[2]。"v2"トレントとして新しいフィールドのみを用いたファイル、または旧形式と新形式の両方のフィールドを持つ「ハイブリッド」形式のファイルを構成することが可能である。ただし、v1とv2ではinfohashが異なるため、2つのスウォームが形成され、クライアントによる特別な統合処理が必要となる[3]

新形式の中核的な特徴はハッシュ木の応用であり、ピースを16KiB単位で個別に検証・再取得することが可能となる。各ファイルは常に完全なピースサイズに適合し、独立したマークルルートハッシュを持つため、ピースサイズが異なる無関係なトレント間でも重複ファイルの検出が可能である。ファイルサイズ自体は変化しない(ピースサイズが同じである場合。v2のツリー構造により、大きなピースでも影響が少ない)一方、マグネットリンクに必要な info辞書のサイズは縮小される(v2専用トレントに限る)[3]

拡張

トレントファイルには、BitTorrent仕様の拡張として定義された追加のメタデータを含めることができる[4]。これらは「BitTorrent Enhancement Proposals(BEP)」として知られている。その例としては、トレントの作成者や作成日時に関するメタデータがある。

承認された拡張

これらの拡張は、1つ以上の実装において導入されており、かつ一貫した広範な使用により有用性が実証されている。わずかな改訂が必要な場合もあるが、基本的には完成したものと見なされており、ブラム・コーエンの承認を得て最終/アクティブプロセスの地位へと昇格することが期待されている。

分散ハッシュテーブル

BEP-0005[5]は、BitTorrentを分散ハッシュテーブル、特にMainline DHTに対応させるための拡張である。

トラッカーを持たないトレント辞書には announceキーが存在しない。その代わりに、 nodesキーが使用される。

{
  # ...
  'nodes': [["<host>", <port>], ["<host>", <port>], ...],
  # ...
}

例えば、

  'nodes': [["127.0.0.1", 6881], ["your.router.node", 4804]],

仕様では、 nodesは「トレント生成クライアントのルーティングテーブル内でK個の最も近いノードに設定されるべき」と推奨している。または「トレントを生成する者が運用する既知の良好なノード」でもよいとされている。

複数トラッカー

BEP-0012[6]は、BitTorrentにおいて複数のトラッカーをサポートするための拡張である。

新たなキー announce-listは、最上位の辞書(つまり announceおよび infoと同じ階層)に配置される。

{
  # ...
  'announce-list': [['<tracker1-url>']['<tracker2-url>']],
  # ...
}

HTTPシード

BEP-0019[7]は、BitTorrentでHTTPシードを使用可能にする2つの拡張のうちの1つである。

BEP-0019では、新たなキーurl-listが最上位のリストに配置される。クライアントはこのリンクを用いて通常のHTTP URLを組み立てる。サーバー側のサポートは不要である。この機能は、ソフトウェアのダウンロードを提供するオープンソースプロジェクトで非常によく使用されている。Webシードを利用することで、クライアントはP2PとHTTP(S)のいずれも含めたミラーサイトを賢く選択し、同時に使用できる。これによりプロジェクトのサーバー負荷を軽減しつつ、ダウンロード速度を最大化できる。MirrorBrainドイツ語版はWebシード付きのトレントを自動生成する。

プライベートトレント

BEP-0027[8]は、BitTorrentでプライベートトレントをサポートするための拡張である。

新たなキー privateは、 info辞書内に配置される。このキーの値が1であれば、そのトレントはプライベートである。

{
  # ...
  'info': {
    # ...
    'private': 1,
    # ...
  },
  # ...
}

プライベートトレントは「プライベートトラッカー」と共に使用される。こうしたトラッカーは、ピアのIPを確認し、未知のIPにはピアリストを提供しないことでトレントへのアクセスを制限する。通常、ピアはゲート付きオンラインコミュニティを通じてトラッカーに登録され、プライベートトラッカーはそのコミュニティ内で使用されるデータ転送量の統計も保持する。

DHT、PeX、LSDといった分散型の手法は、集中管理を維持するために無効化される。プライベートトレントは手動で編集してプライベートフラグを削除できるが、その場合、info-hashは決定論的に変化し、別の「スウォーム」が形成される。一方、トラッカーリストを変更してもハッシュは変化しない。このフラグは真のプライバシーを提供するものではなく、むしろ紳士協定として機能する。

参考文献

脚注

  1. ^ a b BEP-0003: The BitTorrent Protocol Specification”. Bittorrent.org. 2019年7月26日時点のオリジナルよりアーカイブ。2009年10月22日閲覧。
  2. ^ a b c bep_0052.rst_post”. bittorrent.org. 2020年11月12日時点のオリジナルよりアーカイブ。2023年2月9日閲覧。
  3. ^ a b BitTorrent v2”. Libtorrent (2020年9月). 2020年10月30日時点のオリジナルよりアーカイブ。2023年2月9日閲覧。
  4. ^ BEP-0000: Index of BitTorrent Enhancement Proposals”. Bittorrent.org. 2010年2月11日時点のオリジナルよりアーカイブ。2009年10月22日閲覧。
  5. ^ BEP-0005: DHT Protocol”. Bittorrent.org. 2010年2月13日時点のオリジナルよりアーカイブ。2009年10月22日閲覧。
  6. ^ BEP-0012: Multitracker Metadata Extension”. Bittorrent.org. 2012年12月27日時点のオリジナルよりアーカイブ。2009年10月22日閲覧。
  7. ^ bep_0019.rst_post”. www.bittorrent.org. 2025年5月5日閲覧。
  8. ^ BEP-0027: Private Torrents”. Bittorrent.org. 2013年3月24日時点のオリジナルよりアーカイブ。2009年10月22日閲覧。

外部リンク


トレントファイル

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/31 19:48 UTC 版)

BitTorrent」の記事における「トレントファイル」の解説

トラッカーへのリンクを含むインデックスとなるファイル拡張子が「.torrentとなっており、クライアント関連けがされている。これを読み込むことによりクライアントトラッカー接続しピア情報受取りダウンロード開始される。これ自体はただのインデックスにすぎないので、本体ファイルをまったく含まない

※この「トレントファイル」の解説は、「BitTorrent」の解説の一部です。
「トレントファイル」を含む「BitTorrent」の記事については、「BitTorrent」の概要を参照ください。

ウィキペディア小見出し辞書の「トレントファイル」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「トレントファイル」の関連用語

トレントファイルのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



トレントファイルのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのトレントファイル (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのBitTorrent (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS