BitTorrentの動作原理をシミュレーションする「BitTorrent Simulator」
BitTorrentは一切の匿名性を排除するのと引き替えに極めて効率的なP2Pのファイル共有ネットワークを構築しているわけです。全ファイルを持っているSeederからファイルをピースという小さな単位でダウンロードすると同時に、同じようにダウンロードしているほかのユーザー、いわゆるLeecherからもファイルをダウンロードすることで、ダウンロードしている者同士で持っているピースを交換し合い、Seederの帯域の負担を減らして効率的に共有するわけです。
というような説明を読んでも理解しがたいわけですが、この「BitTorrent Simulator」を使えば、どうやってたった一人のSeederから複数のLeecherにファイルが行き渡り、そしてLeecherが次々とSeederになって行くのかが分かります。
BitTorrent Simulator: How and Why BitTorrent works at Torrentfreak
以下がシミュレータの本体。Javaで動作します。
btsim Built with Processing
七色の各色がピースになっています。「+」キーを押すとLeecherが追加されるので、いくつか配置します。次に「s」キーを押してSeederを配置すると、Seederから各Leecherにファイルの欠片が転送され始めます。さらにもうしばらくすると、Leecher同士でもファイルの欠片を交換しているのが分かります。
わかりやすくシミュレーションしようと思うと、まず「s」キーを1回押して、次に「+」キーを30回から50回ぐらい押すと、それらしい感じになります。1分ぐらい経過すると、ものすごいことになります。
Seederばっかりになった図
ここにLeecherが1人加わると、一斉にファイルが転送され始めます
こうやって見ると、いかに帯域を消費するのかがよく分かりますね……。
・関連記事
インターネット全転送量の3分の1はBitTorrent - GIGAZINE
BitTorrentが映画祭に正式採用 - GIGAZINE
・関連コンテンツ