BitTorrentは、P2P(Peer to Peer)通信システムであり、ユーザーが中央機関なしでインターネット上でデータやデジタルファイルを転送することを可能にします。
ユーザーは、インターネットに接続されたコンピューター上でBitTorrentクライアントを使用して、ファイルを送受信します。BitTorrent プロトコルを使用するコンピューター ソフトウェアは、クライアントと呼ばれます。さまざまなコンピューティングプラットフォームやオペレーティングシステムでBitTorrentクライアントを使用することができ、Rainberry, Inc.が公式化したものもある。Torrent、Xunlei Thunder、Transmission、qBittorrent、Vuze、Deluge、BitComet、Tixati などは、より有名なクライアントの一部です。BitTorrentトラッカーは、転送可能なファイルのリストを提供し、クライアントは転送を実行できる他のピア、または「種」を見つけることができます。
このプロトコルは、2001年4月にプログラマーのBram Cohenによって作成され、同年7月2日に一般公開されました。2017年5月15日、BitTorrent社(後にRainberry社に社名変更)はBitTorrent v2プロトコル仕様を公開した。2020年9月6日、BitTorrentは新しいバージョンに対応するために修正されました。
テレビのエピソードや動画の断片を含むデジタル動画ファイルや音楽を含むデジタル音声ファイルなど、巨大なファイルを送信するための代表的なプロトコルにBitTorrentがあります。2013年2月現在、ファイル共有に割かれる総帯域幅の6%のうち半分以上がBitTorrentによって使用されており、世界で使用される全帯域幅の3.35%を占めています。2019年の下流トラフィックの2.46%、上流トラフィックの27.58%を占めるBitTorrentは、ファイル共有業界を支配し、相当量のインターネットトラフィックを生み出しています。
2013年、BitTorrentのアクティブユーザーは常時1,500万人から2,700万人であった。2012年1月には、BitTorrentのアクティブユーザーは1億5000万人でした。この量から、毎月のユーザー数は2億5000万人以上、つまり25億人以上と推定することが可能です。
法律または著作権に基づき、インターネット サービス プロバイダ (ISP) が BitTorrent の使用に制限を課す場合があります。これらの制限を回避するために、ユーザーはシードボックスや仮想プライベート ネットワーク (VPN) を操作することができます。
BitTorrent プロトコルを使用すると、巨大なファイルをサーバーやネットワークに拡散する際の影響を最小化することができます。BitTorrent プロトコルでは、単一のソース サーバーからファイルをダウンロードするのではなく、ユーザーがホストの「群れ」に参加して、互いに同時にアップロードおよびダウンロードすることができます。このプロトコルは、容量の少ないネットワークでもうまく機能する可能性があり、データ配信のための時代遅れのシングルソース、マルチミラーソースの手法に代わるものです。
家庭用パソコンなどの安価なパソコン数台で、巨大なサーバーの代わりにBitTorrentプロトコルを使って多数の受信者に効率よくファイルを配信することができます。特定の場所でのインターネットトラフィックの著しい急増を防ぐだけでなく、このように帯域幅の利用を減らすことで、BitTorrentプロトコルを利用するかどうかにかかわらず、すべてのユーザーのインターネット速度が速く維持されます。
分散されたファイルは、ピースと呼ばれるセクションに分割されます。各ピアは、ファイルの新しいピースを受け取ると、他のピアの(そのピースの)ソースとなり、元のシードは、コピーを要求する各コンピュータやユーザーにそのピースを配信する手間が省けます。BitTorrent では、ファイルを配布する義務を希望者が共有するため、シードが素材のコピーを 1 つだけ送信して、最終的に無限のピアに配布することができます。
トレント記述子には、セキュリティを確保するために、各アイテムの暗号化ハッシュが含まれています。その結果、他のノードで受信したあらゆるピースの改変が確実に識別できるため、意図的でない改変も回避されます。ノードは、トレント記述の真正なコピーから開始すれば、受信したファイル全体の有効性を確認できます。
BitTorrent クライアントは、必要なピースと持っているピースを追跡し、他のピアに送信することができ、一般に非連続的にダウンロードされるコンポーネントを適切な順序に並べ替えます。1回のダウンロードを通じて、すべてのコンポーネントは同じサイズです(たとえば、10MBのファイルは、10個の1MBピースとして、または40個の256KBピースとして送信される場合があります)。
この方式の性質上、ファイルのダウンロードはいつでも停止でき、ダウンロード済みの情報を失うことなく後で再開できるため、BitTorrentは大きなファイルを転送する際に特に役立ちます。
これにより、クライアントは、ダウンロードを一時停止して後続の(利用できない可能性のある)コンポーネントを待つのではなく、すでに利用可能な部分を探してすぐにダウンロードすることができ、通常は合計ダウンロード時間を短縮することができます。ファイルの全体的な「健全性」は、ピアからシーダーへのこの最終的な変更によって定義されます(ファイルが完全な形で利用できる回数で決定されます)。
BitTorrent の分散アーキテクチャにより、ファイルは多数のピア コンピューター ノードに洪水のように広がる可能性があります。特定のノードでダウンロードが成功する可能性は、追加のピアがスウォームに参加するにつれて高くなります。このため、従来のインターネット配信システムと比較して、オリジナルの配信者のハードウェアと帯域幅リソースのコストを大幅に削減することができます。
分散ダウンロード方式では、システムの問題に対する冗長性があり、元の配信者への依存度が低く、一般的に一時的なファイルのソースを与えるため、一方的なサーバー・クライアント転送とは異なり、単一障害点が存在しません。
どちらも最終的にはネットワークを介してファイルを転送しますが、BitTorrent のダウンロードが一方的なサーバー/クライアント型ダウンロード (たとえば HTTP や FTP リクエストの典型) とは異なるいくつかの重要な点があります。
サーバー クライアントのダウンロードは通常、1 台のマシンへの 1 つの TCP 接続で実行されますが、BitTorrent はさまざまなマシンへのさまざまな IP 接続で多数の小さなデータ リクエストを実行します。
従来のダウンロードはシーケンシャルですが、BitTorrent はランダムまたは「レア ファースト」戦略を使用することにより、高い可用性を維持します。
これらのバリエーションを組み合わせることで、BitTorrent は従来のサーバー ソフトウェアよりもはるかに安いコストでコンテンツ プロバイダを配信し、はるかに多くの冗長性を備え、悪用や「フラッシュ モブ」に対してはるかに高い耐性を持つことができます。理論的には、この保護にはトレードオフがあります。適切なピア接続が必要なため、ダウンロード速度が最大レベルまで上昇するのに時間がかかる場合があり、ノードが信頼できるアップローダーとして機能するために十分なデータを蓄積するのに時間がかかる場合があります。
一方、通常のダウンロード(HTTPサーバーなど)は、過負荷や悪用されやすいにもかかわらず、かなりの速さでフルスピードになり、その状態をずっと維持することができます。当初は、BitTorrentの非連続ダウンロード技術により、「ストリーミング再生」を扱うことがより困難でした。BitTorrentの動画ファイルがストリーミング再生できるようになったのは、2014年にPopcorn Timeクライアントの力を借りたときです。それ以来、ストリーミングの可能性を提供するクライアントが増えました。
ユーザーは、トレント インデックス Web サイトまたはクライアント統合型検索エンジンを使用して、興味をそそるトレントを見つけ、ダウンロードし、BitTorrent クライアントでそれを起動します。クライアントは、トレント ファイルに記載されているトラッカーまたはシードとの接続を確立し、ファイルの一部を送信しているシードとピアのリストを受信します。
さまざまなコンポーネントを取得するために、クライアントはこれらのピアに接続します。クライアントは、スウォームの唯一の初期シーダーとの直接接続を確立し、ピースの要求を開始します。クライアントは、ダウンロードとアップロードの速度を向上させるためのツールを使用します。
クライアントが誰にデータを送信するかを選択するために採用するポリシーは、このデータ共有がうまく機能するかどうかに大きく影響する。公平な取引を促進する「tit for tat」交換の取り決めは、データをピアに提供し、ピアはそれを自分に送り返すことを望むクライアントに好まれるかもしれない。しかし、厳格なポリシーは、新しく参加したピアにはまだ交換するピースがないため、データを受信できない場合や、強い接続を持つ 2 つのピアがどちらも率先してデータを交換しない場合など、理想的とはいえない状況を頻繁に引き起こします。
公式の BitTorrent クライアント プログラムは、このような影響に対処するために「楽観的アンチョーキング」という技術を採用しています。この技術を使用すると、クライアントは帯域幅の一部を確保して、ランダムなピア (必ずしも良いパートナーとは限らない、いわゆる優先ピア) にビットを送信し、さらに良いパートナーを見つけ、新規参入者がスウォームに参加する機会を確保することが期待されるからです。
人気のあるコンテンツの場合、「群れ」は「フラッシュクラウド」を受け入れるためにうまくスケールしますが、嫌われているコンテンツや特定の市場をターゲットにしたコンテンツにはあまり有効ではありません。最初のラッシュの後、ピアはコンテンツが利用できないことを発見し、ダウンロードを完了する前に「シード」の配信を要求することができます。シードが届くまでしばらくかかることもあります(これは「シーダー促進問題」と呼ばれています)。
これは、不人気コンテンツのシードを保持するには高い帯域幅と管理費が必要なため、BitTorrentをクライアントサーバー方式に代わる低コストな手段と見なす出版社の目的と矛盾している。
測定によると、新しいトレント全体の38%が最初の1ヵ月で利用できなくなるという大規模な事態が発生しています。多くのファイルを1つの群にまとめることは、多くのパブリッシャーが不人気コンテンツの可用性を劇的に高めるために使用している戦術です。より複雑なソリューションも提案されています。一般的には、さまざまなトレントが協力してより効果的にコンテンツを交換できるようにするクロストレント技術が利用されています。
BitTorrentは、インターネット上で大量のデータを簡単にダウンロードする方法をユーザーに提供するソフトウェアで、ダウンロード速度の制御、多数のデバイスへの接続、RSSフィードの追加などの機能を備えています。
このソフトウェアは広告をサポートしているため、インストール手順で様々なサードパーティ製品をダウンロードしたり、デフォルトのWebブラウザの設定を変更したりする必要があることは驚くことではありません。インターフェイスは、ナビゲーションペイン、メニューバー、いくつかのボタン、および選択した情報の異なるタイプを表示するためのタブパネルで構成された、クリーンでよく整理されたスタイルを備えています。あらゆるレベルのユーザーが簡単に利用方法を学ぶことができます。
このプログラムを使って、インターネットから巨大なファイルをすばやくダウンロードしたり、URLやハードドライブ・ファイルからトレントを追加したりすることができます。さらに、ファイルやディレクトリから新しいトレントを作成し、トラッカー、Webシード、コメント、ピースサイズ、Webサイトなどのメタデータを追加することができます。
再チェックの強制、トラッカーの更新、キュー リストでのダウンロードの上下の移動、トレントの一部であるすべてのファイルの表示が可能です。また、ダウンロードを一時停止、停止、開始することができます。ワンクリックで、ダウンロードとアップロードの制限を変更したり、新しいラベルを作成したり、プロパティを新しいウィンドウに表示したりすることができます。
トレントには評価やコメントを追加することができ、他のユーザーがすでに残したものも見ることができます。ディスクデータ、転送履歴、ネットワークオーバーヘッドとともに、ダウンロードとアップロードの速度をグラフィックで表示します。
URLを入力し、ユニークなエイリアスを作成し、新着情報を自動的にダウンロードすることで、RSSフィードを追加することができます。また、Apple社製やAndroid社製のスマートフォン、PS3やXbox360などのゲーム機と連動させることも可能です。
結論として、BitTorrentは、BitTorrentプロトコルを悪用して膨大な量のデータをダウンロードするための便利なソフトウェアです。オリジナルのピアツーピア クライアントは、現在でもその分野で最高の選択肢の 1 つと見なされています。システムの動作が遅くなることもなく、すべてのタスクがミス、クラッシュ、フリーズすることなく迅速に完了します。