ピアツーピアとは?
ピアツーピア(Peer-to-Peer、P2P)は、参加するマシンがデータやリソースの受け取り側にも提供側にもなれるアーキテクチャです。 各参加者をピアと呼びます。
たとえば、ファイルをダウンロードしているマシンは、すでに持っている部分をほかのマシンに送れます。すべてのダウンロードを一つの中央サーバーから行うのではなく、参加者同士でデータをやり取りします。
P2Pシステムでも、参加者がネットワークに参加したり、ピアを見つけたりするのを助けるサーバーを利用できます。それらのサーバーが、転送されるすべてのデータを運ぶとは限りません。
アプリケーションがファイルをいくつかの部分に分割するとします。自分のマシンは、まだ持っていない部分を持つピアを見つけ、複数のピアから異なる部分を同時にダウンロードできます。
一つの部分を受信すると、アプリケーションはその内容から計算した値であるハッシュを、信頼できる入手元から得たファイルメタデータ内の期待値と比較します。正しい部分は保持され、ほかのピアにも共有できます。すべての部分が届くと、アプリケーションは完全なファイルに組み立てます。
ピアとの接続が切れた場合、アプリケーションは同じ部分を持つ別のピアを探します。その部分がどこかに残っている場合に限り、ダウンロードを続けられます。P2Pに参加するだけで、ファイルが常に利用可能になるわけではありません。
P2Pは、ファイル共有、コンテンツ配信、参加者同士でリソースを交換するアプリケーションに適しています。システムはピアの参加と離脱に対応し、重要なデータを保持する仕組みを提供する必要があります。
一元的な管理と厳密なデータ制御が必要な業務用ウェブサイトでは、クライアント・サーバー型の設計の方が構築・運用しやすいことが多いです。
ジュニアからシニアまで、詳細な回答付きのIT面接質問ライブラリ。
寄付する