Peer_to_Peer
[Wikipedia|▼Menu]
応用例:P2Pコンテンツ配信、P2P掲示板、P2Pグループウェア、P2P分散ファイルシステム、無線のアドホックネットワーク、ゲームソフトのアップデート[8]
分散型データ管理

ビットコインRippleなどでは、通貨の取引履歴情報を、各ノードで分散して持つことによって、通常はサーバーで管理する台帳データの不正な改竄を防ぐことができるので、P2Pを利用している。これにより自分のノードの台帳データを改ざんしたとしても、他の多数のノードが正しいデータを保持していることにより、比較した際に改竄を検知することができる。
技術的な分類
インデックス情報の持ち方での分類

「こういうデータを持っているのは誰ですかね?」という問いに答えるためには、データを検索するための属性キーとデータのありかの対応表(インデックス)を持っている必要があるが、これをサーバーに集中して持たせる場合と、各ノードに分散して持たせる場合と、特定の選ばれたノードに分散して持たせる場合、の3種類が存在する。


ハイブリッドP2PハイブリッドP2Pの仕組み(図はBitTorrentのもの)。
欲しい情報となるキーファイルをサーバーに伝え、実際のデータはノード同士でやりとりを行う仕組み

ハイブリッドP2Pにおいては、インデックス情報を、中央のインデックスサーバーで一括して管理する。新しいデータを保持したノードは、自分が持っていることを、インデックスサーバーに申告しておく。データを欲するノードが、「このキーに対応する相手を教えて下さいな」とインデックスサーバーに問い合わせると、対応する相手のIPアドレスを教えてくれる。インデックスが膨大になると、スケーラビリティが無くなる点が、後述のピュアP2Pと比べて劣るが、通常規模のシステムであれば、この方式で事足りるケースが多い。インデックスサーバーがダウンすると、システム全体が停止するため、耐障害性の面では、ピュアP2Pに劣る。

BitTorrentNapsterWinMX、放送型P2P (オーバーレイマルチキャスト(英語版)) の多くは、この方式を採用している。


ピュアP2PピュアP2Pの仕組み。一切の処理をコンピューター同士が対等に通信を行うのが特徴である。

インデックス情報は、各ノードが少しずつ分散して持ち合う。自分の知っているノードに、「データを持っているのは誰ですかね?」というメッセージを投げると、そのノードが知っていれば回答が返り、知らなければ又聞きをしてくれる(メッセージを転送する)仕組みになっている。インデックスが膨大になっても破綻しないため、スケーラビリティが高い。メッセージ転送の方式により、非構造化タイプと構造化タイプの2つに分類できる(後述)。

GnutellaFreenet、OceanStore、WinnyShare は、この方式を採用している。

ピュアP2Pに参加する際には、既に参加しているノードのIP情報を何らかの形で知っている必要がある。このためには、常に活きているノード(コンタクトノード)を用意しておいて、参加時はいつもそこに接続するようにするか、あるいは、参加しているいくつかのノードの情報をサーバーに集めて、ここから知るように構成する。


スーパーノード型P2P

インデックス情報は、特定の選ばれたノード(スーパーノード)が分担して持つ。スーパーノードには、できるだけ安定な端末(ずっと電源が入っていて、通信回線も安定していて、帯域幅も太いようなノード)が選ばれる。スーパーノードは、一般のエンドユーザーの端末から能力に応じて選ばれるが、サービス提供者側が用意した端末であることも多い。

KaZaASkypeは、この方式を採用している。
ピュアP2Pの構造による分類

ピュアP2Pにおいては、インデックス情報も分散されて持たれるため、相手先IPアドレスの発見の仕組みは、検索メッセージを転送することで行われる。転送方式で、2種類に分類ができる。
非構造化オーバーレイ
問い合わせ元のノードは、キーに対応する相手を発見するために、手当たり次第に、自分が知っているノード(かつて通信をしたことがあるノードなど)に対して、「データを持っているのは誰ですかね?」というメッセージを投げつけ、受け取ったノードは、持っていれば返答し、持っていなければ検索メッセージをコピーして、他のノードに転送する方式。メッセージがネズミ算式に増えるので、フラッディング方式(洪水という意味)という別名が付いているが、メッセージが増えすぎないように、転送回数やメッセージの生存時間などで制限をかける必要がある。そのため、OLN上のどこかに相手が存在するにも関わらず、発見できない場合がある。
GnutellaFreenetWinnyShare などで実装されている。
構造化オーバーレイ
「データを持っているのは誰ですかね?」というメッセージを転送する際の、転送先を選ぶ方法をあらかじめ構造的に決めておいて、「キーに対応する相手」が確実に分かるようにした方式である。よく知られている方式として、DHT(Distributed Hash Table)、SkipGraphなどがある。検索メッセージの転送先の範囲が、キーに応じてだんだんと絞られていくように設計されている。概略イメージは、A県の中のB市の中のC町の中の田中さん、というように範囲を絞る形で、メッセージが転送される、と考えると理解がしやすい。DHTの実装例としては、Chord、CAN、Pastry、TapestryKademlia、OpenDHT、Overlay Weaverなどがよく知られている。
脚注[脚注の使い方]
出典^P2PSIP
^P2P@i
^アプリケーション層マルチキャスト
^PeerCastStation
^シェアキャスト
^「BBブロードキャスト
^UG live視聴ページ
^コナミのゲームソフト、METAL GEAR ONLINE 2のパッチ配布にはBitTorrentの技術を用いて行っている

関連項目

Wi-Fi Direct
(英語版) - Wi-Fiを利用したP2P通信の規格。

Miracast



P2P共有

ファイル共有ソフトウェア

Gnutella

LimeWire

Cabos



WinMX

Winny/Freenet

Antinny


Perfect Dark

Profes

StealthNet





分散コンピューティング

Tor

Ripple

新月_(掲示板)

Real Time Media Flow Protocol



ポイント・ツー・ポイント

エンドツーエンド

外部リンク
研究資料

CoopNet cooperative content distribution system(英語)

More peer-to-peer research resources(英語)

オーバレイ構築ツールキット

P2P関連情報サイト

ネットワーク高度利用推進協議会シンポジウム「商用P2P、クラウド、キャッシュを活用したネットワーク効率化最新動向」の開催について

P2P関連問題研究会 P2P基本提言 (PDF)

P2Pのこれまでとこれから : ネットワーク高度利用推進協議会活動の歴史とともに










暗号化ソフトウェア
OpenPGPS/MIME

メールサーバーの比較(英語版)

電子メールクライアントの比較(英語版)

GnuPG (Gpg4winGPGTools)

PGP

Enigmail

Thunderbird

Outlook

Apple Mail

Claws Mail

Autocrypt(英語版)

Kontact

pretty Easy privacy(英語版)

Sylpheed

セキュア通信

OTR(英語版)

Adium

BitlBee(英語版)

Centericq(英語版)

ChatSecure

climm(英語版)

Jitsi

Kopete

MCabber(英語版)

Profanity(英語版)

SSH

SSHクライアントの比較(英語版)

Dropbear

lsh(英語版)

OpenSSH

PuTTY

SecureCRT(英語版)

WinSCP

wolfSSH(英語版)

RLogin

Poderosa

Tera Term


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:35 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef