1 / 35

自律分散協調システム論 第 13 回「 Peer-to-peer systems 」

自律分散協調システム論 第 13 回「 Peer-to-peer systems 」. 中村 修 osamu@sfc.wide.ad.jp. 今日の概要. P2P P2P モデルとクライアントサーバモデル P2P のアプリケーション. クライアントサーバモデルと P2P モデル. Winny 悪用による逮捕者とそのインパクト. 2003 年 11 月 27 日に逮捕者がでた段階で日本中のトラフィックは 2 割減少した. http://www.mfeed.co.jp/jpnap/fr-traffic.html.

wylie
Download Presentation

自律分散協調システム論 第 13 回「 Peer-to-peer systems 」

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 自律分散協調システム論第13回「Peer-to-peer systems」 中村 修 osamu@sfc.wide.ad.jp

  2. 今日の概要 • P2P • P2Pモデルとクライアントサーバモデル • P2Pのアプリケーション

  3. クライアントサーバモデルとP2Pモデル

  4. Winny悪用による逮捕者とそのインパクト • 2003年11月27日に逮捕者がでた段階で日本中のトラフィックは2割減少した http://www.mfeed.co.jp/jpnap/fr-traffic.html http://www.zdnet.co.jp/news/0311/27/nj00_winny.html

  5. Winnyの悪用者が逮捕・製作者宅捜索 http://www.asahi.com/national/update/1127/035.html

  6. P2Pのインパクト – trafficの推移 出典: WIDE報告書(1994-1999) 2000-2005はdaily sampling ポート番号からサービス特定がしにくい時代 P2P登場 WWW全盛

  7. クライアントプログラム サーバプログラム クライアントサーバモデル • インターネット上の通信の基本モデル • 2種類のコンピュータ • サーバ : サービスを提供するコンピュータ • クライアント : サービスを受けるコンピュータ クライアント サーバ あるポート番号でクライアントからの要求を常に 待ち受けているプログラム 必要なときにサーバプログラムと通信して要求を送るプログラム データだよ クライアント データちょうだい

  8. クライアントサーバはSingle Point of Failure • ボトルネック • サーバの計算能力 • ネットワーク帯域 • ボトルネック解消のアプローチ • ロードバランサの利用 • キャッシュ/CDNの利用 • P2Pモデルの導入 アクセスの集中による 回線の飽和 Server サーバのダウン Clients

  9. 例(1/4) : IRCの負荷分散方法 • IRC(Internet Relay Chat) • 一つサーバに処理が集中しない • RFC1459 Client 1 Server 1 Server 2 Hi! グループに1,2,3が 加わってる場合 Server 4 Client 2 Hi! Server 3 Hi! Client 4 Server 4にはグループに加 わったクライアントがない ためメッセージはこない Client 3

  10. コネクション要求 負荷分散装置 例(2/4) : ロードバランシング • 同じIPアドレスで複数のサーバが反応 • ラウンドロビン、URLで、重み付け、負荷、コネクション数、反応速度などで割り振る • 利点 • CPU負荷を軽減できる • 問題点 • ログが分割される • メンテナンス負荷は高くなる

  11. www.asahi.comどこ? www.asahi.comどこ? Client 2 210.80.197.158だよ 209.249.129.20だよ Client 1 209.249.129.20 Wwwld2.asahi.com 210.80.197.158 Uunet3.asahi.com 例(3/4) : DNSを利用した負荷分 • 同じ名前で複数のサーバが登録されている • 物理的に別の場所で処理 • www.asahi.comなど • 利点 • 回線資源を分散利用できる • 問題点 • 均等に負荷が分散されない • 落ちているサーバにも振る • Cacheがあるためタイムラグがある

  12. Cache Servers キャッシュを拠点に置き アクセスを分散させる Server コンテンツの配置 Clients 例(4/4) : キャッシュを利用した負荷分散 • Accelia Durasitehttp://www.accelia.net/japanese/news/12.html • ファイルを広域に分散しネットワーク負荷を分散 • Akamaihttp://www.akamai.com/ • クライアントに一番近い、最適なキャッシュを探す • サーバのかわりにキャッシュがクライアントに応答 • 利点 • CPU資源の分散 • 回線資源の分散

  13. Peer-To-Peer Peerとは端末ノードのこと(中継ノードではない) Peer(端末)とPeer(端末)が1対1で直接対等な立場での通信形態 代表的なアプリケーション ファイル共有・交換・配信型 Napster コラボレーション型 Groove 分散コンピューティング型 SETI@home 特徴 耐故障性の実現 資源分散が可能 自由なランデブー P2Pとは?

  14. コミュニケーションとは? • コミュニケーションには主体がある。 • P2Pではこれらは対等のものとしてpeerと呼ぶ。 • 誰かとコミュニケーションをとるためには、まずその主体同士が、 • 相手を発見・識別する • コミュニケーションを開始する • コミュニケーションを終了する ……という手順が必要になる 相手の発見と識別 コミュニケーションの開始 コミュニケーションの終了

  15. クライアントサーバ、P2Pモデルの比較 クライアントサーバ ハイブリッドP2P ピュアP2P 中心 : Server 中心 : Server ピア ピア ピア ランデブーも通信も中心で行う ランデブーを中心で行い、通信をピア同士で行う ランデブーも通信もピア同士で行う WWWなどのインターネット上の大部分のアプリケーション Napster MSN Messengerなどの主要IM Gnutella ,Freenet, Winny

  16. ファイル共有 Napster Gnutella Morpheus WinMX Winny Share GNUnet ストリーミング PeerCast Joost (Skype) インスタントメッセンジャー MSNメッセンジャー ICQ、Jabber 3degrees、Skype Groove、Ariel AirOne 資源分散 OceanStore SETI@home HyperBee ネットワークゲーム Diablo Age of Empire 身近なP2Pアプリケーション

  17. P2Pを考察する際のメトリック • 性能 • 匿名性 • 可用性 • 堅牢性 • Open性

  18. ファイル共有の変遷 WWW、FTP Napster、WinMX Gnutella Winny

  19. ファイル共有: P2Pモデルの代名詞 • ファイル共有アプリケーション • ファイルの公開・検索・転送を実現する • WWWとの比較(登場人物と役割は?) • 公開:WWWサーバへのアップロード • 検索:検索エンジン • 転送:ブラウザによるページの取得 • 自律的なコミュニケーションとしてどう実現するか • オリジナル・ファイルは各Peerが分散して保有 • ネットワーク上に分散したファイルからの検索 • ファイルの転送 • 中継転送、キャッシュの利用 • 直接転送

  20. ファイル共有 • 以前はWWWやFTPを利用 • WWWやFTPサーバ上にファイルの複製を送信 • HTTP/FTPによってファイルを取得 • 検索は外部の検索エンジンやサーバ内で実現 • サーバはディスクを潤沢に必要とした。 WWW/FTPサーバ ファイルを取得 ファイルの複製を送信

  21. P2Pシステムの台頭 • 第1世代P2Pファイル共有システム • ファイルの転送はノード間 • ノード情報は中央管理サーバが持つ • Ex. Napster, WinMX • 第2世代P2Pファイル共有システム • 特定のサーバを必要としない • Ex. Gnutella • 第3世代P2Pファイル共有システム • さらにキャッシュ機能を有する • Ex. Winny

  22. Napster • インデックスサーバの利用 • 所持ファイルの一覧をサーバに送信 • 検索条件をサーバに送り、結果をもらう。 • 公開されているファイルをサーバが制御できる。 インデックスサーバ ファイルの検索 自分の持つファイルを登録 ファイルを取得

  23. インデックス・サーバの運営者が責任を持つ Napster社に運営差し止め請求 → サービス停止 現在は著作権者と提携し、Napster2へ…… 中央集権的なサーバ無しでやるにはどうすればいい? Napsterは ハイブリッドP2P 中心にインデクッス・サーバが存在 ピア インデックスサーバに障害が発生すると、システム全体が停止する Napsterの問題

  24. Gnutella • 自律的に参加するPeerの集合体 • インデックス・サーバに依存しない • P2Pネットワーク上で検索要求を転送(TTLは最大7) • 検索者が積極的にファイルを探しに行く • ファイルの所持者は受動的 持ってないよ! 持ってないよ! 持ってないよ! 持ってないよ! 持ってないよ! 持ってないよ! Bさん Aさん もってるよ! 送るね! あのファイルが欲しい…皆に聞いてみよう!

  25. ピュアP2P インデクッス・サーバに依存せず 堅牢性の実現 中継したキャッシュを再公開 高い匿名性 間接的な接続により、取得者には公開元が不明 暗号化により、中継者には通信内容が不明 Winnyを悪用した犯罪行為が多発 知的所有権を侵害 摘発されにくかったが… Winny

  26. Winny: ネットワーク • ノードの持つネットワーク速度(自己申告)に応じて階層化 より高速 より低速

  27. オーバレイネットワーク どうやってオーバレイネットワークに参加? ピア ランデブーも通信もピア同士で行う P2Pの鶏と卵問題 • 何も知らないピアがP2Pネットワークに参加する • 1つでもP2Pネットワークのノードを知らないと参加できない • P2Pネットワークに参加していればピアについて認知できる • 中心のないシステムの宿命 • Winnyでは「初期ノード」の登録を手動で行うことで解決

  28. Winny: 広告と検索 • 公開者がより積極的に広告を行う • 公開者は、ファイルの情報をP2Pネットワークを通じて隣接するPeerに広告 • 広告された情報と検索要求を各Peerが比較 BさんのファイルをAさんが探してる!! Bさんがあのファイルを持ってる 持ってないよ! Bさんがあのファイルを持ってる 持ってないよ! 持ってないよ! Cさん Aさん Bさん 広告 あのファイルが欲しい…皆に聞いてみよう! このファイルを持ってることを皆に教えてあげよう!

  29. Winny: ファイルの公開 • オリジナルファイルからキーとボディを生成 • キーに含まれる情報 • ファイルサイズ • 更新時刻 • ハッシュ値 • ファイルの所在を表すIPアドレス・ポート番号 など • ファイルの公開と同時にキーがネットワーク上を拡散 upload folder キー(ファイルの要約情報) ファイルボディ(ファイルの本体) file.ppt

  30. Winny: ファイルの転送 • Winnyでは中継転送とキャッシュを採用 • 第三者を介在する • 匿名性を実現 • Napster、WinMX、Gnutellaは相手に直接接続 • 公開者と検索者だけ転送が完結

  31. Winny: 中継転送 • 中継転送 • P2Pネットワークでの中間のPeerが転送を中継 • 下の例では検索と広告を合致したCさんが中継転送 • 転送のパフォーマンスを犠牲にすることで、キャッシュを持つPeerを増やし冗長性を確保 Bさんのファイルを中継してあげよう! Cさん Aさん Bさん Cさんが持ってたんだね! 私のファイル人気があって配るのが大変……

  32. Winny: キャッシュ • キャッシュ • ファイルを取得したPeerや、中継転送したPeerがそのファイルの複製を第三者に自動的に再公開 • 耐故障性の実現(冗長性の確保) • 検索効率の向上 中継したファイルを他の人にも配って良いよね! Cさん Aさん Bさん このファイルを他の人にも配ってあげよう! 他の人も配ってくれると楽で良いね!

  33. Bさんのファイルを中継してあげるね! Aさん Bさん Cさん Cさんが持ってたんだね! 中継したファイルを他の人にも配って良いよね! Aさん Cさん Bさん このファイルを他の人にも配ってあげよう! 私が最初に公開したとわからなくなる! Winny: 中継転送とキャッシュによる匿名性 • 一度流れたデータを誰も消せないシステム • キャッシュとして多数のPeerに情報が残っている • ソフトの例:Freenet、Winny • 用途の例:P2P掲示板、ファイル共有 • 解決しなければならない問題 • 公開した元の人間の特定 • 法的に問題のあるコンテンツ   の転送を知らずに行えない   ようにする (ということが必要かもしれない)

  34. Winny: ネットワークの上流と下流 • 能力の高いノードにキーとキャッシュが集まる 高速なノードほど データの流量が多い (処理に負荷がかかるがデータは大漁) キャッシュ キャッシュ キー キー キー キャッシュ キャッシュ キー キャッシュ キー キャッシュ キャッシュ キャッシュ キー より高速 キー キー キー オリジナル ファイル より低速 キー キー オリジナル ファイル キャッシュ 低速なノードほど データの流量が少ない

  35. Winny: クラスタリング • 検索嗜好のより近いものでグルーピング • より効率のよい検索が可能となる 嗜好A 嗜好B 嗜好C 輪を絞って ファイルを探索 全体の輪の中 からファイルを探索 クラスタA クラスタB クラスタC

More Related