ファイル交換ソフトの登場など、「P2P」という言葉をよく耳にするようになりました。P2Pとはどういったものなのでしょうか?
|
|
|
|
|
P2Pは、「Peer to Peer」と呼ばれるネットワークサービス形態の一種です。現在、インターネット上で一般的なサービスは、サービスを提供する側(サーバー)とそれを利用する側(クライアント)の役割が分かれている「クライアント/サーバー型」です。
これに対して、P2Pでは、サーバーを利用せず、クライアント同士が直接データをやり取りする点が異なります。
P2Pのメリットは、サーバーが必要ないため、柔軟なネットワークを構築できる点にあります。ADSLなどのブロードバンド回線とパソコンをユーザーが用意するだけでネットワークを構成でき、データもクライアント同士でやり取りされるため、サーバーの障害などの影響を受けにくいのが特徴です。
P2Pによるファイル交換ソフトの不正な利用など、良くないイメージを持たれることもありますが、インターネット電話の「Skype」、グループウェアの「アリエル・プロジェクトA」などでも採用されており、今後の発展が非常に期待されています。
|
|
|
|
|
|
■ クライアント同士が直接データをやり取りするP2P
私たちが普段利用しているインターネット上のサービスは、サーバーを介してデータがやり取りされるのが一般的です。たとえば、ホームページを閲覧する場合を考えてみましょう。パソコンでブラウザを起動してURLを入力すると、そのURLが指定したサーバーに接続、そこからホームページのデータが送られてきて、ブラウザに表示されます。
つまり、ホームページのデータを保管し、要求に応じてデータを送信するというサービスを提供する側の「サーバー」と、表示したいホームページをサーバーに対して要求する側の「クライアント」の役割がはっきりと分かれているのです。
これとはまったく異なる形態のネットワークが「P2P」です。「Peer to Peer」という言葉の意味の通り、対等の役割を持った端末同士がデータをやり取りする形態です。
具体的に見てみましょう。ファイルをやり取りする場合、クライアント/サーバー型のネットワークでは、サーバーにデータが集中し、これを各クライアントから利用するという形態です。しかし、P2Pでは、クライアント同士が接続されたネットワークのため、それぞれに分散して存在するデータをクライアント同士が直接やり取りします。
たとえば、下図のPC4を基準に見た場合、AというデータはPC1から、BというデータはPC2から転送してもらい、その一方で自分が所有しているDというデータをPC3に提供するといったイメージです。
|
P2Pではクライアント同士が直接データをやりとりすることで、全体としてネットワークを構築する
|
つまり、ネットワーク上のPCは、ほかのPCのデータを利用するクライアントであると同時に、ほかのPCからの要求に応じてデータを提供するサーバーでもあるのです。このように、対等の役割を持ったPC同士が数多く集まり、相互に接続することで、インターネット上に巨大なネットワークを形成することができます。ある意味では、アプリケーション専用の仮想的なネットワークとも言えるでしょう。
|
|
P2P電話ソフト「Skype(スカイプ)」
|
P2Pグループウェア「アリエル・プロジェクトA」
|
■ ピュアP2PとハイブリッドP2P
このようなP2Pには、純粋にクライアントだけで構成されるネットワークと、一部にサーバーを用いるネットワークの2種類があります。前者は「ピュアP2P」と呼ばれ、後者が「ハイブリッドP2P」と呼ばれています。P2Pはサーバーが不要な点が特徴なのに、なぜサーバーを利用するハイブリッドP2Pが存在するのでしょうか?
サーバーを利用すると言っても、クライアント/サーバー型のような利用方法とは異なります。ハイブリッドP2Pで利用するサーバーは、主にユーザーの管理に利用され、実際のデータのやり取りはピュアP2Pと同様に、クライアント同士で行なわれます。P2Pの場合、ユーザーが利用するPCがそれぞれつながった巨大なネットワークですが、この時、どのようなユーザーがP2Pのネットワークに参加しているのか、現在オンラインかオフラインなのか、どのようなデータを所有しているのかなどといった情報を、サーバーで管理した方が効率的な場合があるからです。
|
ピュアP2PとハイブリッドP2Pの違い。ハイブリッドP2Pではユーザー情報などの管理にサーバーを利用する
|
匿名性を特徴とするファイル交換ソフトなどではピュアP2Pが採用されていることがありますが、一般的にはサーバーでユーザー情報や状態などを管理するハイブリッドP2Pの形態が利用されることの方が多いと言えます。たとえば、P2Pを利用したインスタントメッセージソフトやインターネット電話ソフト、グループウェアなどでは、サーバーでユーザー情報などが管理されています。
■ P2Pのメリットとデメリット
P2Pのメリットは、拡張性の高いネットワークを構築できることでしょう。たとえば、P2Pを利用したインターネット電話ソフトの「Skype」は、昨年末の発表でユーザー数が1290万人を超え、100万ユーザーまで同時接続可能な体制を整えたと発表しました。
このような多数のユーザーを抱えるシステムをクライアント/サーバー型のネットワークで構築しようとすれば、非常に処理能力の高いサーバーと広い帯域を持った回線を用意しなければなりません。そうでなければ、アクセスの集中によって、あっという間にサーバーや回線がダウンしてしまうでしょう。
しかし、P2Pであれば、接続されているユーザー間でバケツリレーのようにデータを送信する上、ユーザーごとにその経路を分けることができるため、多くのユーザーが利用したとしてもアクセスの集中を避けられます。データや通信経路を分散させることで、高い拡張性を持ったネットワークを構築できるのです。
また、万が一の障害に対しても高い耐性を発揮します。クライアント/サーバー型のシステムの場合、サーバーの障害によってサービス全体が停止してしまいますが、P2Pではネットワーク上のどれか1台のPCに障害が発生しても、それが全体に影響を与えることはありません。たとえ、ネットワーク上のPCが起動していなかったとしても、別の経路を選択して通信を行なえば済むからです。データに関しても、ネットワーク上の複数台のPCに分散して配置されているため、特定のPCに障害が発生しても、別のPCから転送すれば済みます。
もちろん、デメリットもあります。P2Pのネットワークでは、データが分散していることなどから、そこで流通するデータの著作権を保護したり、課金を行なうことが難しいという点があります。ユーザーの管理や追跡なども課題の1つで、いったんネットワーク上に流出したデータを回収したり、削除することも難しいでしょう。
このため、ファイル交換ソフトのように不正な利用が後を絶たず、ウィルスなどの流行に歯止めをかけることも難しい状況になっています。技術的には注目すべき点が多く、今後の発展も期待できる分野であるのも事実ですので、P2Pのネットワーク上でどのように秩序を作っていくかといった課題に取り組んでいく必要があるでしょう。
■ 関連記事
・ P2P電話「Skype」の最新ベータ版、SkypeInやVoicemailなど新機能搭載
・ アリエル、P2Pグループウェア2製品の不具合修正版を公開
2005/04/22 11:22
|