はじめに



  • Torrent は悪いイメージもあるが、世の中に貢献している
  • P2Pの学習に最適



今、私はTorrentクライアントを開発しています。 この本は、その時に P2P について学習した事をまとめたものです。 今でこそ、仕様書に書かれている内容に満足していますが、当 初は上手く理解できない所が、かなりありました。

実際に作成していくうちに、理解できる範囲が広がっていきま した。そして、そろそろ完成というところまで進みました。

この本では、この経験にならい、実際に Torrent クローンを作 成しながら、P2Pについて解説して行きたいと思います。


ネガティブなイメージ

ちまたでは、Torrent は違法なファイル共有アプリという認識 が強いように思います。 Twitter の検索機能で、Torrent と検索 してみてください。 あなたは、Torrentについてネガティブなイメージを持 つことでしょう。違法な利用を助長するようなツイートを発見 する事ができるからです。

Google で、Torrentと検索してみてください。 「 アメリカ合衆 国のデジタルミレニアム著作権法に基づいたクレームに応じ、 このページからxx件の検索結果を除外しました。」 といった文 言が表示されます。また、Twitterで検索した結果と同じように 違法な利用を助長するようなサイトを発見することができるで しょう。

世の中に貢献している

しかし、こういったネガティブなイメージは Torrent の一面で しかありません。まっとうな使い方も多くされています。 例えば、大規模なネットワークシステムのデプロイといった事 があげられます。デプロイとは、ユーザーへサービスを提供す るための、準備作業の事をいいます。 Google であれば、データを即座に検索できる用にサーバーを 立ち上げる。 Twitter ならば、ツイートの送信、表示、などを できるようにするといった事です。

大手のネットワークでは数千、数万のコンピュータが動作して います。 これらのコンピュータへ変更を加える必要が出てきた場合に は、この変更を数千、数万のコンピュータへ反映する必要があ ります。こういったデータの配信の Torrent の技術が利用され ています。

また、大量にデータを配信する環境が必要ななのは企業だけで はありません。個人でも活用されています。例えば、OSのイメ ージの配信に利用されています。 OSというと、WindowsやMACなどメーカーが CD や DVD と いった記憶媒体を通して配布される事をイメージするかも知れ ません。 しかし、独自にOSをパッケージングする事は、大手の企業だ けがする仕事ではありません。今では個人が趣味でOSをパッ ケージングして配信する事も可能です。可能なだけではなく、 ありふれた行為になりつつあります。

しかし、個人で配信する場合、当然ながら数千、数万のサーバ ーを用意する事はできません。また、 CD や DVD の記憶媒体 を大量に配るにしても限界があります。そういった、個人がデ ータを配布するのにTorrentの技術が利用されています。

学習に最適

また、Torrent を学ぶことは、P2Pを学ぶ上で最適な教材でな いかと考えられます。 まず Torrent は、もっとも普及した P2P の通信方法でありま す。 それだけではなく、 最新の技術を取り入れ進化し続けて いる技術でもあります。 Torrent を学習すると、ネットワークアプリの作成のノウハ ウ、 分散ハッシュテーブル、 ゲーム理論を応用した柔軟なネ ットワークなどなど、 基本から応用まで扱う事になります。 なによりも、おおくのアプリや仕様がオーブンに公開されてお り、P2Pを実例をもって学ぶことができるのです。

Torrent 以外でメジャーな P2P アプリはあります。 しかし Torrent ほど、オッピロゲなはないでしょう。日本で流行した Winny のソースは公開されていません。 Winny について知りた ければ、 ハックする必要があります。海外で流行したWinmxも そうです。 Torrentはその仕様が公開されています。どのような通信プロト コルが利用されているのか文章化されています。おおくの実装 例がオープンソースとして公開されています。公開されている だけではありません。さまざまな言語で書かれています。 Python、 Ruby、Java、JavaScript、C++ などなど、ありとあ らゆる言語で書かれています。 もしも、煮詰まった時は、これらの実装を読む事で保管する事 も可能でしょう。あなたの得意な言語で読む事ができるので す。

さいごに

Torrent のネガティブなイメージは一面にすぎない事。多くの史 実用的なプロダクトを利用されていること。 また、Torrent がP2P の教材として優れている事ほ理解して頂けたでしょうか? 少しでも興味を持たれた方、本書を通してTorrentの理解の助け になれば幸いです。


Kyorohiro work

http://kyorohiro.strikingly.com