【ぴーつーぴー】

P2P とは?

最終更新:
💡 参加端末で分担する、データと資源のやり取り

参加端末がデータや資源を互いに提供・利用するネットワーク方式。端末間の転送を分担できますが、相手の発見や認証にサーバーを使う構成や、通信を中継する構成もあります。

📌 このページのポイント
P2P:参加端末でデータを分担端末A端末B端末C線:端末間の接続の例同じ性能・全員との接続は必須ではない発見・認証等にサーバーを併用もWebRTCはTURNで中継する場合もある実際の経路と、データ検証・権限を確認
端末と配布ファイルを具体化した接続の例で、線は命令の順序ではありません。サーバーの併用と端末間の分担は両立し、帯域・離脱・費用も条件によります。
ひよこ ひよこ
P2Pはどんな仕組み?
ペンギン先生 ペンギン先生
参加端末同士がデータや資源を提供し合う方式だよ。BitTorrentでは、ファイルの断片を参加者から受け取り、自分も他の参加者へ提供できる。すべての端末が同じ役割や能力を持つこと、全員と同時につながることまでは意味しないんだ。
ひよこ ひよこ
サーバーは一切いらない?
ペンギン先生 ペンギン先生
そうとは限らないよ。相手を見つける、認証する、接続情報を交換するなどの機能にサーバーを使う構成もある。BitTorrentの基本仕様にもトラッカーが登場する。端末間でデータを分担することと、すべての中央機能をなくすことは別なんだ。
ひよこ ひよこ
故障に強くて費用も下がる?
ペンギン先生 ペンギン先生
複数端末が同じデータを持ち、接続も維持できれば、転送元を分散できる。ただし必要なデータを持つ相手がいない、探索サービスが止まる、回線が細いといった制約もあるよ。端末側の帯域や中継サーバーの費用まで含めて評価しよう。
ひよこ ひよこ
WebRTCなら必ず直接つながる?
ペンギン先生 ペンギン先生
必ずではないよ。接続情報の交換にはシグナリングを用意し、環境によってはTURNサーバーで通信を中継する。端末間の通信を作るAPIがあることと、実際の通信経路にサーバーが入らないことを分けて考えるんだ。
ひよこ ひよこ
身近な利用例はある?
ペンギン先生 ペンギン先生
Windowsの配信の最適化があるよ。設定や条件が合えば、更新などのコンテンツを他のPCから受け取り、インターネット側の転送を減らせる。Microsoftのクラウドによる調整やCDNからの取得も組み合わせるので、これもサーバーとP2Pが共存する例なんだ。
もっと詳しく知りたい人へ

参加者から受け取るデータはそのまま信頼してよい?

提供元が参加端末であることだけでは、内容の正しさは保証されません。BitTorrentには断片のハッシュ確認があり、配信の最適化にも取得データの検証があります。検証方式、信頼する情報、アクセス権限をサービスごとに確認してください。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「P2P」って出てきたら「参加端末でデータや資源を分担する方式」と思えばだいたいOK!
📖 おまけ:英語の意味
「Peer-to-Peer」 = 対等な立場の参加者同士
💬 peerは同じ立場の相手を表します。ネットワーク内の全端末が同じ性能で、完全に同じ機能を持つという保証ではありません。

参考資料

← 用語集にもどる