Peer to Peer(ピアトゥピア、ピアツーピア)とは、多数の端末間で通信を行う際のアーキテクチャのひとつで、対等の者(ピア)同士が通信をすることを特徴とする通信方式、通信モデル、あるいは、通信技術の一分野を指す。P2Pと略すことが多い。
目次
1 概要
2 オーバーレイネットワークとしてのP2P
3 メリット、デメリット
3.1 メリット
3.2 デメリット
4 P2Pアプリケーションの分類
4.1 一対一通信型
4.2 オンデマンド型
4.3 放送型
5 技術的な分類
5.1 インデックス情報の持ち方での分類
5.1.1 ハイブリッドP2P
5.1.2 ピュアP2P
5.1.3 スーパーノード型P2P
5.2 ピュアP2Pの構造による分類
6 P2Pノードの一般的な機能
7 P2Pに対する誤解と技術的課題
8 関連項目
9 外部リンク
9.1 研究資料
9.2 P2P関連情報サイト
10 脚注
//
概要クライアント-サーバ 型ネットワーク。サーバー(図中央)とクライアントは一対一の通信を行うのが特徴である。
Peer to Peerに相対する用語として、クライアント-サーバ方式がある。これは、サーバのURLが広く周知・公開されており、このURLに対して、一般ユーザのクライアント(パソコンなど)がアクセスするという形態を取る。
これに対して、Peer to Peerは、一般ユーザの名もない端末装置(パソコンなど)に対して、他のユーザの端末装置が直接アクセスする、という点が大きな特徴である。ネットワークの接続形態としては、メッシュ型、ツリー型、ハイブリッド型を取る場合が多い。
クライアント-サーバ方式が、端末数が非常に多くなるとサーバがパンクするのに対して、Peer to Peer方式は、端末数が膨大になっても回線帯域などに余裕がある限り通信が可能という特徴があるため、ここ数年、商用的にも注目を集めており、特にIP電話や動画配信サービスなどへの応用例が増えてきている。
さらにPeer to Peer方式には、通信を行うソフトウェアや通信プロトコルなどに左右されつつも、発信者の匿名性が微々たる程度に確保できるという特徴があり、Winnyに代表されるようなアンダーグラウンドな用途でも利用が多い。
以下、本文中では、P2Pと略記する。
P2P技術の応用範囲は非常に広く、P2Pデータ配信、P2P電話、P2P掲示板、P2P放送(テレビ、ラジオ)、P2Pグループウェア、P2P分散ファイルシステム、P2P-SIP[1]、P2P-DNS、P2P-仮想ネットワーク[2]、P2P地震情報、など、多くの適用例が生まれつつある。 が、歴史的にはまだ日が浅く、西暦2000年頃から実用化された技術で、成熟技術となるまでには、まだクリアしなければいけない様々な問題がある(後述)。
無線通信で使われるアドホックネットワークも、P2Pの一種であるが、無線での通信可能距離を稼ぐという特有の使い方であるので、詳細な解説は別項に譲る。
P2Pにおける通信端末は、ピア(peer)と呼ばれるが、トポロジー理論などで用いる「ノード」(node:節点)という呼称を用いることも多い。 また、クライアントの機能とサーバの機能を併せ持つという意味で、サーバントという呼び方をすることもある。
端末装置の種類としては、一般家庭のPCが使われることが多いが、STB(Set-Top-Box)や、HDDレコーダ、HDD内蔵ルータといったものも、ピアになりうる。
今日のインターネットを支えているIPネットワークは、基本的にP2P方式を念頭に置いたネットワークである。IPアドレスさえ分かっていれば、誰にでも到達でき、ピアとピアで通信ができる。
従って、実際のP2Pでは、どのように相手のIPアドレスを知るか、が重要なポイントとなる。昨今のP2Pでは、例えば、コンテンツのタイトルや検索キーワード、放送局のチャンネル名といった、人にとって意味のある名前で通信相手を特定して、通信ができるようになっている。 この意味で、P2P方式での通信網は、オーバーレイネットワーク(Overlay Network)と見ることができる(以下、OLNと略記する)。 通常のIPネットワークの上に、もう一層、別のネットワークを、特定のニーズに合うノード同士で作り上げる、という意味合いである。
もう少し具体的に言うと、例えばWinnyでは、「欲しいコンテンツの名前」で「そのキャッシュを持っている相手」を特定して通信をおこない、例えば、Skypeでは、「ニックネーム」で「ニックネームに対応する相手」を特定して通信をおこなう。 一般化すると、「キー」を手かがりに「キーに対応するデータを持つ者」を発見して、その相手と通信をする、という動作になる。 「キー」と「データ」をペアで結びつけた情報をインデックス情報と呼ぶ。通常「データ」は、そのデータを持つ者のIPアドレスとして記憶させる。(インデックスは、key-valueペアという呼び方をする場合もある。) P2Pでは、インデックス情報をどのように管理するかが重要となる。
放送型のサービスにP2Pを応用する場合は、マルチキャスト型の通信形態となるため、これを、オーバーレイマルチキャスト(Overlay Multicast: OLM)あるいは、アプリケーションレイヤマルチキャスト(Application Layer Multicast: ALM)と呼ぶことがある[3]。 後者の呼び方は、IPマルチキャストがTCP/IPのレイヤでのパケットの複製によりマルチキャストを行うのに対して、アプリケーション層でデータのコピーをしてマルチキャストを行う、という意味合いから来ている。