ITの教科書検索
入門読了 約8分

P2Pとは ― クライアントサーバとの違い

P2Pは、サーバを介さず端末どうしが対等に直接データを送り合う構成です。クライアントサーバとの違い、ピュア型とハイブリッド型、ファイル共有で起きた情報漏えいまで。

目次
  1. P2Pとは
  2. クライアントサーバとの違い
  3. ピュアP2PとハイブリッドP2P
  4. 1台を止めて比べる
  5. P2Pの利点と注意点
  6. P2Pが使われている例
  7. 練習問題

P2Pとは、端末どうしが対等にデータを送り合う構成

ファイル共有ソフト、ブラウザのビデオ通話、ビットコインには共通点があります。データを、サーバを介さずに利用者の端末どうしで直接送り合えることです。このように、端末どうしが対等な立場で直接データを送り合う構成をP2P(Peer to Peer)と呼びます。

P2Pでは、どの端末もサービスを求める側と応える側の両方を受け持ちます。役割を分けるクライアントサーバシステムと比べると、止まりにくい一方で、管理はしにくくなります。

ピアは英語のpeerで、対等な仲間という意味です。日本語ではピアツーピアと読みます。RFC 5694は、システムを作る要素が自分の資源を出し合うものをP2Pとしています。

P2Pとクライアントサーバの違いは、データの通り道

クライアントサーバシステムでは、頼む側と引き受ける側の役割が決まっています。端末は毎回サーバに頼み、データはすべてサーバを通ります。

P2Pでは、端末どうしが直接つながります。同じ端末が、ある時は頼む側になり、別の時は引き受ける側になります。そのため、データは端末と端末の間を流れます。

クライアントサーバデータサーバ端末A端末B端末C端末DハイブリッドP2P検索データ検索サーバ端末A端末B端末C端末DピュアP2Pデータサーバなし端末A端末B端末C端末Dデータのやり取り相手を探す問い合わせクライアントサーバデータサーバ端末A端末B端末C端末DハイブリッドP2P検索データ検索サーバ端末A端末B端末C端末DピュアP2Pデータサーバなし端末A端末B端末C端末Dデータのやり取り相手を探す問い合わせ
色の線がデータのやり取りです。クライアントサーバでは全部がサーバに集まり、P2Pでは端末どうしを直接結びます。
クライアントサーバとP2Pの違い
観点クライアントサーバP2P
役割頼む側と引き受ける側に分かれるどの端末も両方を受け持つ
データの通り道すべてサーバを通る端末どうしで直接
負荷サーバに集まる参加する端末に分かれる
1台が止まるとサーバなら全員が使えない端末なら残りの端末で続けられる
管理サーバでまとめてできる参加する端末ごとにばらばら

通り道の違いは、負荷のかかり方の違いになります。クライアントサーバでは、利用者が増えるほどサーバの負荷が増えます。P2Pでは、参加する端末が自分の回線や記憶領域を出すため、負荷が端末に分かれます。

ピュアP2PとハイブリッドP2Pの違いは、中央のサーバの有無

P2Pには、サービスを続けるのに中央のサーバが要る形と、要らない形があります。前者をハイブリッドP2P、後者をピュアP2Pと呼びます。この分け方は、RFC 5694が分散の度合いによる分類として紹介しているものです。

ハイブリッドP2Pでサーバに任せる仕事の例が、相手を探す仕事です。どの端末が何を持っているかの一覧だけをサーバが持ち、データそのものは端末どうしで直接送ります。RFC 5694は、この一覧を中央で持つものをハイブリッド型とし、その例にNapsterを挙げています。

ピュアP2Pでは、相手を探す問い合わせも端末どうしで回します。この分け方では、どの1台を取り除いてもサービスを続けられる形がピュア型です。最初に参加するときだけサーバを使う仕組みも、この分け方ではピュア型に入ります。

ハイブリッドP2PとピュアP2Pの違い
型中央のサーバの仕事例
ハイブリッドP2Pどの端末が何を持つかの一覧を持つNapster
ピュアP2P一覧は持たない初期のGnutella

サーバや端末を1台止めると、どこまで使えるかを比べる

次の図で構成を選び、止めるものを切り替えると、残った端末で使える線が変わります。止めたものにつながる線は、薄い点線になります。

構成と止めるものを選ぶと、残った端末で使える線が変わります。
構成
止めるもの
サーバ端末A端末B端末C端末D
使える端末
4台すべて
データの通り道
すべてサーバを通る
端末は頼む側、サーバは引き受ける側と、役割が決まっています。

クライアントサーバでは、サーバが止まると端末が何台残っていても使えません。このように、止まると全体が止まる1か所を単一障害点と呼びます。単一障害点の考え方は、フォールトトレラントの記事にも出てきます。

P2Pの利点と注意点

利点

  • 中央のサーバを持たない形なら、1台が止まっても残りの端末で動き続けられる
  • 参加する端末が増えると、負荷とともに処理する力も増える
  • データを配る負荷が、1台のサーバに集まらない

RFC 5694は、拡張性をP2Pの大きな特徴に挙げています。ピアが加わると負荷も増えますが、そのピアが資源を出すため、処理する力も増えるからです。

注意点

  • 端末がいつ抜けるか分からないため、同じデータの複製を持たせるなどの備えが要る
  • 参加する端末を1か所で管理できず、運用の手間がかかる
  • 悪意のある端末が混ざると、全体の安全性が下がる

RFC 5694は、P2Pの安全性は悪意のあるノードがどれだけ混ざるかに大きく左右されると書いています。

ファイル共有ソフトでは、利用者の意図しないファイルが公開される情報漏えいが問題になりました。情報処理推進機構(IPA)は、Winnyなどのファイル共有ソフトによる情報漏えいを防ぐツールを、2025年9月末まで配布していました。業務の端末では、許可していないソフトを入れない管理が要ります。

家庭や会社の端末は、NATを行うルータの内側にあることが多いです。RFC 5128は、NATの内側の端末はふつう外から見えるポートを持たず、P2Pの直接の通信が難しくなると説明しています。外から内側の端末に届ける設定は、ポート開放の記事で説明しています。

P2Pが使われている例

ファイルを配るBitTorrentでは、トラッカーと呼ぶサーバが、同じファイルをやり取りしている相手の一覧を返します。ファイルの断片は、ダウンロードする端末どうしが互いに送り合います。相手探しをトラッカーに頼る点で、ハイブリッドP2Pの形と言えます。

ブラウザで使うビデオ通話の仕組みであるWebRTCも、端末どうしを直接結べます。RFC 8825は、通話の相手をつなぐ連絡はサーバを通し、映像と音声はブラウザどうしを直接結ぶ構成を示しています。

ビットコインは、P2Pのネットワークで取引を記録します。論文の題も「A Peer-to-Peer Electronic Cash System」で、金融機関を通さずに当事者どうしで送金する仕組みとして提案されました。参加する端末が自由に抜けたり戻ったりできる点で、ピュアP2Pの形と言えます。

参考にした資料

練習問題(全4問)

Q1P2P(ピアツーピア)の説明として、正しいものはどれ?
Q2ハイブリッドP2PとピュアP2Pの違いとして、正しいものはどれ?
Q3クライアントサーバシステムと比べたP2Pの利点として、最も適切なものはどれ?
Q4クライアントサーバシステムで、サーバが1台だけのときに起きることとして正しいものはどれ?

選んでから「採点する」を押すと、解説つきで答え合わせができます。

関連記事

クラウドの記事を続けて読む

クラウド 全36本中23本目