neco Presentation network communication yuuki(M2) scottie(M1) ami(B4) masa(B4) ami-ta(B3) odakei(B3) junk(B1) egichan(D1) P2Pチュートリアル P2Pの基礎 P2Pの仕組み 最近の話題 P2Pの基礎 昔から存在したP2Pモデル P2P Peer to Peer 同等の関係 発祥は10年以上前に遡る ARPANet コンピュータ同士を対等な「ピア」として結びつけるという観念 の上に成り立っていた アプリケーション NetWare-Lite…小規模なネットワークシステムに利用 P2PとC/Sの特徴 P2Pの特徴 – みんな頑張れ 安価なコストで構築できる 管理や監視がしにくい、隠蔽性が高い C/Sの特徴 – サーバー頑張れ クライアントの処理能力が小さくて済む 高性能なサーバーや大容量の回線等コストが かかる 中央管理や監視がしやすい P2Pのいろいろなサービス タイプA: ファイル共有 タイプB: CPU資源共有 タイプC: 協調作業支援 タイプA: ファイル共有 MP3などのファイルを共有、検索、交換できる ♪ ♪ ♪ タイプA: ファイル共有の例 Napster Gnutella Pure P2P型 WinMX Freenet ハイブリット型 匿名性を高めている もっとも盛んな分野 Crypttobox, Espera, Winny, iMesh, Scour Exchange, Aimster, KaZaA タイプB: CPU資源共有 巨大な処理をコンピュータで分散して処理 C/S 例)世界中のコンピュータで分担処理 例)複数のCPUで処理を分担 TypeA タイプB: CPU資源共有の例 SETI@HOME http://setiathome.ssl.berkeley.edu/ 地球外からの電波を分析をし、地球外生命体 の存在を探す ガン治療プロジェクト http://www.geocities.co.jp/Playtown/2824/ jp2.html ガンの治療薬の開発 タイプC: 作業環境の共有 ファイル共有に加え、IM, 音声チャット、テレビ 会議など アプリケーション共有 タイプC:作業環境の共有の例 Groove Lotus Notesの設計をしたOzzie氏 サーバーのいらないグループウェア データは各ユーザーが保持 Plug-in形式のサポート Microsoft Officeアプリケーションの共有等ができる Groove 見てみよう P2Pの分類 Hybrid Pure Hybrid P2P データの インデックス ファイル名・user名 ※Napsterがこの形態 server IPアドレス・ポート 番号・パス コネクト要求 PC データ蓄積 ダウンロード開始 PC データ蓄積 Pure P2P Cacheの配布 ファイルやindexをサーバントへ配布 →ファイルの保有情報 ディスカバリー サーバントが目的のファイルを持っているピアを探す手段 →目的ファイル場所の特定 転送 目的のファイルをダウンロード Gnutella NullSoft の Justin Frankel と Tom Pepper により2000年3月に開発されたP2Pタイプ のファイル共有ソフトウェア Pure P2P型での実装、中央サーバーを必 要としない あらゆる種類のデータを扱うことができる 帯域幅をけっこう消費するため、リッチな回 線環境が必要である Gnutella型(1) Cacheの配布 B F Network C A 自分のピア G D E •ネットワーク内のノードはつながっているが、 互いに何を保持しているかは検索するまでわからない Gnutella型(2) ディスカバリー B F 見つかった! C A data 自分のピア D E 求めるデータのあるピア Gnutella型(3) 転送 B F C A data 自分のピア G D E 求めるデータのあるピア Freenet イアン・クラークの1999年の論文“A distributed decentralized information storage and retrieval system”「分散自立 型情報の保管と検索システム」 オープンソースで開発 情報の検閲なき配布 広帯域幅コンテンツの効率的分配 Freenet型 ブロードキャストの代わりにルーティングを 導入 関係のないピアには問い合わせを発行し なくてすみ、負荷が軽減される。 Freenet型(1) Cacheの配布 B F C A data ※HTL(TTL)=2 Network Hash値 ソースデータ data data Hash値 Hash値 D E G 情報保持者 •ソースデータとHash値をまわりにばらまく Hash next F 100~299 100~300 Freenet型(2) ディスカバリー B 求めるデータの ハッシュ値=300 300~499 301~499 E ・・・ ・・・ F 見つかった! C A Hash = 300 data hash 自分のピア hash next 0~699 C 700~799 B ・・・ ・・・ D E Next うちには無いよ! C 200~299 G 100~300 求めるデータのあるピア G 400~999 ・・・ ・・・ Freenet型(3) 転送 B F data C A data data 自分のピア G D E 求めるデータのあるピア 既存の問題点 Gnutella型 検索要求が溢れたり届かなかったりすることが多い 人気のあるノードでボトルネックが発生 Freenet型 キャッシュがすぐに押し出される 安定するのに時間がかかる 帯域幅やトポロジを考えていない (中継者が細い等) 最近の話題 Winny ダウンロード板@2ch.netにて開発中 申告した通信速度によって、階層的に接続 転送時に中間のノードが中継し匿名化 ダウンロード/中継したノードがキャッシュ 内容ではなく保持キーをばらまく。 Winny (接続画面) Winny (検索画面) Winny (ダウンロード画面) Winnyの例(検索リンク) 1000 1000 100 A:60 B:300 80 200 50 C:50 15 Winnyの例(保持キー) 1000 100 A:60 index B:300 index index data 80 1000 •上流に保持キーを 流していく。 index index 50 200 C:50 15 Winnyの例(検索キー) 1000 100 A:60 index B:300 index index 80 1000 •上流に検索キーを 流していく。 index ! index 50 200 C:50 15 Winnyの例(転送リンク) 1000 1000 100 B:300 80 A:60 data •発見したノードが 中継を行う。 ! 200 50 C:50 15 現時点での問題点 保持キー/検索キーがやはり溢れる。 現時点で推定1万ノード超 保持キーがバッファから押し出される。 カテゴリによるグループ化(未実装) グループ化 角度がカテゴリ、中心からの距離が速度 FTTH ISDN xDSL グループ化(Cont.) 近いノードは検索が成功しやすい。 映画 A B C JPOP おしまい P2Pの歴史 昔から存在したP2Pモデル P2Pとは Peer to Peer 同等の関係 発祥は10年以上前に遡る ARPANet コンピュータ同士を対等な「ピア」として結びつけるという観念 の上に成り立っていた 草創期のインターネットプログラムは,接続を簡素化するた め,サーバを仲介せずに,コンピュータ同士で通信するもの だった アプリケーション NetWare-Lite…小規模なネットワークシステムに利用 ディスカバリー 求めるファイル・サービス を提供してくれる相手を どうみつけるの? Winny型 あらかじめ、データを持っているピアから、そのデータが あるというインデックスの情報が、グループ内に投げられ、 キャッシュされている。 データがほしいピアはそのインデックスの情報を探しに、 問い合わせを投げる。 求めるデータのインデックスに達することができればよい ので、早い時点で見つかる可能性は高い。 ただ、インデックスと実データの同期が取れているとは限 らず、インデックスが見つかったのに、実際のデータを 持っているピアがオフラインだったりする可能性はある。 P2Pのいろいろなサービス [email protected] P2Pモデルの分類 P2Pなコミュニケーション ICQ MSN-Messanger P2Pアプリケーション Napster Gnutella FreeNet Winny 再び注目されるP2P Napster 従来の技術を使ったWebサイトにはない優位 性 従来だと… P2P技術を用いると… ・すべてのデータを持 つのでサーバーに重 い負荷がかかる ・優秀なエンジニアや サイト構築に多大な 資金が必要 ・データの目次だけ持てば いいのでサーバーへの 負荷が軽減される ・少ないコストと人材で 構築できる Pure P2P ※Gnutellaがこの形態 Network 自分のindexを検 ない 索 検索依頼 Aの検索依頼 検索結果 Cの検索結果 A 自分のindexを検 索 B コネクト要求 C ダウンロード開始 ディスカバリー Gnutella型 Freenet型 Winny型 Cacheの配布 Gnutella型…Cacheなし Freenet型…データのhash値をブロード キャスト Winny型…データのindexのcacheをブ ロードキャスト ※hash関数…原文から固定長のぶつかりの少な い値を生成する演算手法。 P2Pの今後 様々な研究分野がある。 ネットワークの構成 相手の発見 セキュリティの確保(匿名性,正確性,etc.) アプリケーション ネットワークの構成 網状に構成するだけでは効率が悪い。 自律的なグルーピング ハッシュ値を利用(Freenet) 通信速度を利用(Winny) 相手の発見 意味情報を利用した検索(SIONet) NTTみらいねっと研究所 ファイル名の代わりに意味情報を付加。 イベントプレースとして転送範囲を限定するこ とで意味情報の一意性を確保。 自然言語処理による自動分類 セキュリティの確保 匿名性 基本的には転送に中継を挟むことで確保 Freenet Winny 正確性 電子署名等を利用 Winny型(1):Cacheの配布 index Network index index 自分のピア 情報保持者 • 保持データのindexをbroadcast ※HTL(TTL)=2 Winny型(2):ディスカバリー B F C A index Index index data G 自分のピア 見つかった! D E index 求めるデータのあるピア
© Copyright 2024 ExpyDoc