|
ログイン : 新規アカウント登録
はじめに
Bittorrent(ビットトレント)とは
Bittorrentとはブラムコーエンによって開発されたP2Pファイル転送プロトコル及び、それらを実装したソフトウェアの総称である。Bittorrentプロトコルを実装したソフトウェアのことをBittorrentクライアント(以下クライアントと略)といい、通常単純にクライアントと呼ぶことが多い。Bittorrentの仕様及びコードはオープンソースであるため、複数のクライアントが開発されている。利用にあたってはクライアントがインストールされている必要がある。
概要
BittorrentはLinuxなどのオープンソースかつ大容量なファイルを効率よく配布するために開発されたプロトコルである。 その最大の特徴は、サーバーの負荷を最小限に、非常に効率よく大容量ファイルの転送が可能だという点である。(条件が揃えばであるが) 人気ファイル(DLユーザーの多い)であればあるほどDLが早くなると言われている。 さらに、違法ファイルなどの発見時に、ファイルの配布を停止させる手段も存在する点がWinnyなどとは決定的に異なる。 匿名性などの機能はなく、接続中のPCのIPリストがそのまま筒抜けである。
また、クライアント自体にファイルの検索機能を持たないため、ファイルをダウンロード(以下DLと略)するには.torrentファイルと呼ばれる小さなファイルをWeb上から見つけてくる必要がある。
.torrentファイルには、実際配布する本体ファイルのファイル名や容量、ファイルの改竄や破損をチェックをするためのハッシュ値と呼ばれる40文字の英数字列、ピース(用語解説参照)及び、各ピースのハッシュ値、この.torrentファイルをホストしているサーバーのアドレス(これをannounce URLと呼ぶ)などの情報が格納されている。
.torrentファイルは大抵の場合、ネット上に存在するトラッカーサイトやインデックスサイト(違いは用語参照)と呼ばれるWebサイトにユーザーが投稿する形や、管理者が掲載する形で配布されている場合が多い。 また、各種Linuxやオープンソースでそこそこ大容量であるものは公式サイトにてtorrentでの配布を行っているものもある。 いずれにせよ、そのようなサイトに集中している場合が多く、そのようなサイトはネット上に大量に存在しており、著作権の甘い海外では無法地帯と化しているのが現状である。
日本においては、その仕様上、Web上に.torrentファイルを公開する必要があるため違法ファイル配布時に摘発される可能性が高く、P2Pに違法ファイルDL目的しか見出せないユーザーが非常に多いこの国ではほとんど普及していないのが現状である。
クライアントこそほとんどが日本語に対応しているが、.torrentファイルそのもののタイトルに日本語がつけられているのは極めて稀であるため、検索は英語やローマ字となる。 また、トラッカーサイトで日本語のサイトは現在のところ数えるほどしかないのが現状であり、日本国内で運営していて日本語インターフェースのものは、検索エンジンにかかるトラッカーに至っては私が運用しているceena::BitTorrentTracker::くらいのものだと思う。 インデックスサイトとしては他に複数個存在するが違法なものがほとんどである。
一部MMORPGなどではゲームクライアントの配布にBittorrentを利用し、一度に大量のユーザーが集中してもサーバーがダウンしない上にユーザーが増えるほどDLスピードが上がるというメリットを活かして、ここ近年度々利用されるようになってきている。(ただし、実際にはDLスピードは非常に遅い場合が多い。これはUL/DLのバランスを考えていないからである。)
ゲーム情報サイトの4Gamer.netで4Gemaer Game LoaderというソフトにBittorrentプロトコルを採用し、各オンラインゲームのオープンベータテスト時のサーバーダウン時対策用として利用されることもある。 いずれにせよ、UL/DLのバランスが悪いため速度はFTPやHTTPより遅い場合が多い。
用語解説
ピア(peer): 実際にデータ転送を行っているPCのことをいう。 以下で説明するリーチャー及びシーダーをまとめてピアと呼ぶことが多い。
リーチャー(Leecher): リーチャーとはダウンロード(以下DL)中のピアのことである。 リーチャーのみのtorrent(シーダーの存在しない)は、ある程度までDLは進むが完了することはない。 これは、完全ファイルを所有しているピアが存在しないからである。 ファイルを完成させるにはシーダーが接続するのを待つか、完全ファイルを持っているシーダーに直接コンタクトを取って接続してもらうしかない。 なお、リーチャーであっても必ずアップロード(以下UL)も行う。 torrentの基本は、「ピア同士のピース交換」であり、回線の細いピアであっても配布に貢献するため、結果的に高速でDLできるというわけだ。
シード/シーダー(Seed/Seeder): シーダーとは、完全ファイルを所有しているピアのことをいう。 一番始めにファイルを配布するピアもシーダーである。 シーダーはULのみを行う。 リーチャーがDL完了後もそのままタスクを放置しているとシーダーになることができる。 torrentではシーダーが重要な鍵となる。 シーダーが0の場合、そのトレントはDLできないので、いつまでたっても完全ファイル(DL完了)になることはない。 この状態を「トレントが死んでいる」と表現する。 シーダーは多いに越したことはない。
負担率(Ratio): 負担率とはUL/DL量の比のことである。 例えば、100MBのファイルをDLし、100MBをULしている場合の負担率が1.0である。 100MBをDLし、200MBをULしている場合の負担率は2.0である。 負担率1.0以下でタスクを終了させることは持ち逃げと同じなので、個々のピース交換によって成り立っているtorrentにおいてもっとも嫌われるピアとなる。 トラッカーによっては、最低負担率に満たない状態でタスクを停止させる状況が続くとIPをBANされることや、一定負担率を超えるまでDLできないところもある。 なお、私は負担率3.0を目安にしている。 1人が3人ずつに配ればそのファイルの拡散速度は相当なものになる。
ピース(piece): ピースとは名前の通り断片である。 torrentでは配布するファイルをピースと呼ばれるサイズ固定の小さなファイルに分割してUL/DLを行う。 各ピースのサイズ及びハッシュ値は.torrentファイル内にバイナリ形式で記述されている。
ハッシュ値(hash): ハッシュ値とはファイルから生成したユニークな英数列の羅列である。 torrentで利用するハッシュ関数SHA-1では40文字の幅で生成される。 その特徴は全く違うファイルから同じハッシュ値が生成される確立はとても低いことと、似たデータから近いハッシュ値が生成されないことである。 一般的に暗号化や誤り訂正、改竄の検出等に利用されることがある。 torrentではこれを破損チェックと同一ファイルの確認に利用している。 なお、ハッシュ値から実際のファイルもしくは文字列に戻すことはできず、不可逆である。 torrentのハッシュ値は、torrentファイル内のInfoと呼ばれる部分のハッシュ値を求めたものであり、.torrentファイルそのもののハッシュ値ではないので注意が必要だ。
.torrentファイル(トレントファイル): .torrentファイルは本体ファイルのファイル名や容量、ファイルのハッシュ値、ピース及び、各ピースのハッシュ値、この.torrentファイルをホストしているサーバーのアドレス(これをannounce URLと呼ぶ)などの情報が格納されている。 ファイル本体のDLを開始するにはまず、この.torrentファイルをWebから探してくる必要がある。 なお、配布するファイルは、.torrentファイル作成に単体、複数(フォルダ)で指定可能だ。
トラッカー(Tracker): トラッカーとはBittorrentにおけるサーバーの役割を果たすソフトウェアまたはそれらの機能を有したWebサイトを指す。 .torrentファイル中に記述されたannounce URLがそうである。 トラッカーは新規接続ピアに対して、現在参加している他のピアのリストを紹介したり、クライアントからの停止/開始といったプロセスを適切に制御し、.torrentのネットワークを管理する。 また、トラッカーとしての機能はなく、単純に他のトラッカーにホストされたファイルを掲載し、検索やジャンル分けを施したサイトをインデックスサイトと呼ぶ。 通常、トラッカーサイトはインデックスサイトを兼ねている場合が多い。 ファイル名、容量、ファイルリスト一覧、UL/DL中のピア数、ハッシュ値など非常に多くの情報を確認することができるトラッカーも存在する。
DHT(分散ハッシュテーブル): DHTは後々クライアントに追加された機能である。 これは今までだと.torrentファイルに記述されたトラッカー(announce URL)が障害などでダウンした場合、そのトラッカーがホストしている.torrentが全て利用不可になっていた。 その状況を打開するために実装された機能である。 各ピアのクライアントに、ハッシュ値及びそのファイルを所有しているピアのIP、ポート番号等のリストを保持させ、トラッカーがなくても.torrentのUL/DLを可能としたものである。 トラッカーに接続不能とクライアントが判断した場合、クライアントはDHTから該当ハッシュ値を検索し、そのIPリストを受け取り接続を試みます。 この機能によりトラッカーレスが可能となり、違法ファイルの配布の可能性を広げたというのは言うまでもない。 ただしこれはオプションであり、クライアントで無効にすることも可能ですし、torrent作成時に明示的にオフにすることもできるし、トラッカーへの投稿時に強制的にオフもしくは受け付けないように書き換えることも可能だ。 ただし、書き換えた場合はハッシュ値が変わり、そのままではシードできないので注意が必要である。 DHTはクライアントやルーターに多大な負荷を与えるため、古いPCや一部メーカーのルーターではフリーズしたり、ルーターが落ちてネット接続が不能になったりすることがある。 故にオフにすることを推奨する。
Bittorrentの仕組み
torrentの仕組みはWebとP2Pを組み合わせたものである。 ファイル検索部分にWebを、データ転送にP2Pを使ったものである。
torrentでファイルのDLを行うには.torrentファイルをトラッカーサイトやインデックスサイトから見つけてくる必要がある。
目的の.torrentファイルが見つかったらファイルを開く。するとクライアントが自動的に起動する。(事前にクライアントをインストールして、拡張子.torrentと関連付けしておく必要がある)
保存場所などを確認し、OKなりをクリックすればDLが開始する。
DLが開始されるとクライアントは.torrentファイル内のannounce URLへDLの開始を報告し、トラッカーから現在接続中のピア一覧を受け取る。一覧を元にクライアントはランダムに接続を試み、ピースのDLを開始する。
トラッカーとの通信はトラッカーが指定したReannounceタイムと、各種イベント発生時に行われ、クライアントはトラッカーに対して、ハッシュ値、IPやポート番号、現在のDL容量や残りの容量、各種イベントKeyなどを付加して送信する。
torrentのDLの仕組みは上の方でも述べたとおり、ピア同士のピース交換である。 1つのファイルをパズルのピースのように分解し、自分の持っているピースの複製を持っていないピアに渡し、同じように自分の持っていないピースを他のピアから受け取ることを延々繰り返すことによって実行される。 これを複数ピアに対して同時に行う。
なお、各ピースのサイズ及びハッシュ値も.torrentファイルに格納されているため、ピース単位でファイルの完全性を検証することができる。 破損ピースが存在した場合、該当ピースのみを破棄し、再度DLするため、全体をDLし直す必要はない。 当然だが、DLの一時停止や中止、再開など自由にできるので、大容量ファイル(数十GBのファイル)など時間がかかる場合に便利である。
ここで重要なのはシーダーである。 シーダーは完全ファイルを所有しているピアで、ULのみに専念するため効率がよく、この数が多いほどよいとされる。 リーチャーに対してシーダーが少なすぎると全く速度が出ないことになる。
シーダー1に対してリーチャー1000とか。
シーダー200に対してリーチャー1000とかだと結構いけると思う。
シーダーが0だとファイルのDLは完了しない(ネットワーク内に全てのピースが存在しないため)。
前半で述べたオンラインゲームのクライアント配布で速度が出ない理由はここにあると思われる。 torrentの仕組みを理解していない人がシードなんてするわけないし、DLが完了すれば即行終了するのが普通だ。 リーチャー50000に対してシーダーが50とかだと目に見えて効率が悪い。
故に、DL完了後も負担率がせめて2.0になるくらいまではシードする必要がある。 このようにピア同士がお互いを補い合ってピースを交換し合い、結果的に高速で大容量ファイルを転送可能としたのがBittorrentである。
--------------------------------------------------------------------
ゲームクライアントや商業ソフトの体験版 オープンソースソフトやフリーソフト 日々の何気ないムービーや自信を持って見て欲しい風景
誰かに聴いてもらいたい自作曲や皆を笑わせたいネタ 伝えたい現実や認めたくない現実 ふと思ったことや前から気になってたこと 助けて欲しいや助けたい。
小さなものや大きなもの
規模に関係なく
「皆に見てもらえたら 聞いてもらえたら 伝えたい 伝えて欲しい」
というものがあるでしょう。
映像、音声、漫画、ゲーム、ソフト、絵。
著作権法の許す限り、公衆道徳を逸脱しない限り、
当Trackerではtorrentファイルをホストします。
自分の思い、伝えてみませんか。
ceena ::BitTorrentTracker::
1. 自身で著作権または配布する権利、それに相当する権利を保持しない違法ファイルの投稿を禁止します。また、投稿されたファイルは管理者が検閲し、違法と判断した場合は予告なく削除するものとします。
自作の動画(ゲームのプレイムービーや自分で撮影した動画を含む)の場合、映像ソースの配布が著作者によって認められているもしくは自身が著作者である場合において、音声、BGMに権利者の許可なしに楽曲を使用しているものは違法と判断します。 投稿者は十分に注意してください。
2. 投稿者(シーダー)は投稿後、最低、Ratio(負担率)が2.0になるまでシードしてください。
3. このサイトはBitTorrent用.torrentファイルのTracker(トラッカー/Index)サイトです。 投稿できるファイルは拡張子.torrent及び画像ファイル(.jpg/.gif/.png)のみとなっております。
4. Torrentファイルには的確な名称を付けてください。実際のファイルと無関係な.torrentファイル名をつけないでください。合法チックな.torrentファイル名なのに中身は違法なファイルである場合、即削除致します。また、その投稿者のアカウントも削除し、そのIPからの接続をブロックします。
5.Torrentファイルをリリース(投稿)する場合、説明フィールドには必ずファイルの概要を的確に記述してください。また、自身が著作者でない場合は著作者の情報、サイトへのリンクなども含めてください。 このフィールドはTorrent検索時にリリースタイトルとともに検索対象になります。いい加減な情報の入力及び誤解を招くような記述、著作者への誹謗中傷などは当然のことながら許されません。
6. 投稿者または著作権者以外の一般ユーザーによる.torrentファイルへの直リンクを禁止します。 ただし当トラッカーのリンクバナーを使って任意の.torrentファイルへリンクすることはこの限りではありません。
7. リーチャーは、DL完了後、有る程度の時間はUPを実行してください。即切断しないでネットワークのファイル負担率の向上に貢献してください。 理想とすると負担率は3.0です。
8. リリースにおいて、管理者が不適切または説明不足と判断した場合は予告無く編集、削除等を実行する場合があります。
以上のことに同意したうえでサイトの利用を認めます。
|
|
|
|
|
|
|