P2P ファイル共有
概要
P2P ファイル共有は P2P ネットワーク技術を使用したファイルの配布と共有を行うサービス、アプリケーションまたはネットワーク。ダウンロードのネットワーク負荷をユーザ側で分散することから低コストでサービスを運営することができるが、一方で、データのマネジメントを行うことができず著作権管理や情報漏えいと言った法的な問題に巻き込まれることも多い。
Table of Contents
Napster
最初に世間に認知された P2P ファイル共有サービスは音楽ファイル共有の Napster (1999) である。当時はハイエンドサーバでも Pentium III (550MHz)×4 に 1GB のメモリといった計算能力しかなく、またネットワークも LAN が 100BASE-TX、一般ユーザの WAN は ISDN 64kbps や電話回線 54kbsp と非常に低速だった。したがって大きなファイルのダウンロードをサーバに一極集中させないようにユーザ間で交換させる設計は非常に野心的な試みだった。
Napster は負荷の排除を目的とした設計であったためメタ情報や検索に中央サーバを使用するハイブリッド P2P であった。当初から著作権の違法性が指摘され悪名は高かったが非常に人気を集めた。そして公衆ネットワーク上で広く個人のファイルを共有することへの初の社会的なテストケースとなった。Napster は裁判に負けたあとサービスを終了したが、Napster が直面した法的な課題への対処として、後続のファイル共有サービスはピュア P2P 化することとなった。
Gnutella
Gnutella は広く利用された P2P サービスの中で最初のピュア P2P 型ファイル共有サービスである。非構造化オーバーレイネットワークであり初期のバージョンでは Flooding による検索を行っていた。しかしネットワークが大きくなると Flooding 負荷でネットワークが飽和することが大きな問題となったため ver 0.4 からはすべてのクエリーがスーパーピアを経由する設計となった。
WinMX
WinMX (2001-2005) は Napster の互換プロトコルである OpenNap を使用したファイル共有サービス。Napster と同様に法的な問題によって閉鎖したが、現在でも有志によって WinMX ネットワークは利用可能である。
FastTrack
スーパーピア型 P2P
Freenet
Freenetは言論の自由が保証されていない地域において自由な言論を行うことを目的とした P2P フレームワーク。転送効率や利便性より通信の匿名性を重視して設計されている。
Freenet では、要求のあったファイルを暗号化してブロックに分割し P2P ネットワーク上に Flooding を行う。ファイル受信者は該当するファイルの断片が自分のノードに到着するのを待ってファイルを復元し復号化する。この仕組みにより、ファイルの送信者/受信者および中継するノードはファイルの送信者、受信者を判断することができず、断片化されたブロックの内容も知ることができない。
この Freenet 方式はファイル送信者が拡散するブロックと受信者が出す検索要求をネットワークの隅々まで行き渡らせる必要があるため、ネットワーク規模が大きくなると機能性が低下する。
Winny
BitTorrent
IPFS
参考リンク
- 金子勇 (2005), Winnyの技術, アスキー