550 likes | 656 Views
neco Presentation ne twork co mmunication. 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 コンピュータ同士を対等な「ピア」として結びつけるという観念の上に成り立っていた
E N D
neco Presentationnetworkcommunication yuuki(M2) scottie(M1) ami(B4) masa(B4) ami-ta(B3) odakei(B3) junk(B1) egichan(D1)
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資源共有 • 巨大な処理をコンピュータで分散して処理 • 例)世界中のコンピュータで分担処理 • 例)複数のCPUで処理を分担 C/S 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アプリケーションの共有等ができる
P2Pの分類 • Hybrid • Pure
※Napsterがこの形態 ダウンロード要求 検索要求 IPアドレス・ポート 番号・パス ファイル検索結果 対象ファイル情報 コネクト要求 ダウンロード開始 Hybrid P2P データの インデックス ファイル名・user名 server 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 data 自分のピア G D 求めるデータのあるピア E
Freenet • イアン・クラークの1999年の論文“A distributed decentralized information storage and retrieval system”「分散自立型情報の保管と検索システム」 • オープンソースで開発 • 情報の検閲なき配布 • 広帯域幅コンテンツの効率的分配
Freenet型 • ブロードキャストの代わりにルーティングを導入 • 関係のないピアには問い合わせを発行しなくてすみ、負荷が軽減される。
Freenet型(1) Cacheの配布 B F data ※HTL(TTL)=2 Network C A Hash値 ソースデータ data data Hash値 G Hash値 D E 情報保持者 • ソースデータとHash値をまわりにばらまく
Freenet型(2) ディスカバリー 100~300 B 301~499 求めるデータのハッシュ値=300 F 見つかった! C A Hash = 300 data 自分のピア うちには無いよ! G 100~300 D 求めるデータのあるピア E
Freenet型(3) 転送 B F data C A data data data data 自分のピア G D 求めるデータのあるピア E
既存の問題点 • Gnutella型 • 検索要求が溢れたり届かなかったりすることが多い • 人気のあるノードでボトルネックが発生 • Freenet型 • キャッシュがすぐに押し出される • 安定するのに時間がかかる • 帯域幅やトポロジを考えていない (中継者が細い等)
Winny • ダウンロード板@2ch.netにて開発中 • 申告した通信速度によって、階層的に接続 • 転送時に中間のノードが中継し匿名化 • ダウンロード/中継したノードがキャッシュ • 内容ではなく保持キーをばらまく。
Winnyの例(検索リンク) 1000 1000 100 B:300 200 15 50 C:50 80 A:60
Winnyの例(保持キー) 1000 index 1000 • 上流に保持キーを • 流していく。 index 100 index index B:300 200 15 index 50 80 C:50 A:60 data
Winnyの例(検索キー) 1000 index 1000 • 上流に検索キーを • 流していく。 index ! 100 index index B:300 200 15 index 50 C:50 80 A:60
Winnyの例(転送リンク) 1000 1000 • 発見したノードが • 中継を行う。 ! 100 B:300 200 15 50 C:50 80 A:60 data
現時点での問題点 • 保持キー/検索キーがやはり溢れる。 • 現時点で推定1万ノード超 • 保持キーがバッファから押し出される。 • カテゴリによるグループ化(未実装)
グループ化 • 角度がカテゴリ、中心からの距離が速度 FTTH ISDN xDSL
グループ化(Cont.) • 近いノードは検索が成功しやすい。 映画 A B C JPOP
昔から存在したP2Pモデル • P2Pとは • Peer to Peer • 同等の関係 • 発祥は10年以上前に遡る • ARPANet • コンピュータ同士を対等な「ピア」として結びつけるという観念の上に成り立っていた • 草創期のインターネットプログラムは,接続を簡素化するため,サーバを仲介せずに,コンピュータ同士で通信するものだった • アプリケーション • NetWare-Lite…小規模なネットワークシステムに利用
ディスカバリー 求めるファイル・サービスを提供してくれる相手をどうみつけるの?
Winny型 • あらかじめ、データを持っているピアから、そのデータがあるというインデックスの情報が、グループ内に投げられ、キャッシュされている。 • データがほしいピアはそのインデックスの情報を探しに、問い合わせを投げる。 • 求めるデータのインデックスに達することができればよいので、早い時点で見つかる可能性は高い。 • ただ、インデックスと実データの同期が取れているとは限らず、インデックスが見つかったのに、実際のデータを持っているピアがオフラインだったりする可能性はある。
P2Pのいろいろなサービス scottie@sfc.wide.ad.jp
ICQ MSN-Messanger Napster Gnutella FreeNet Winny P2Pなコミュニケーション P2Pアプリケーション P2Pモデルの分類
再び注目されるP2P • Napster • 従来の技術を使ったWebサイトにはない優位性 従来だと… ・すべてのデータを持つのでサーバーに重い負荷がかかる ・優秀なエンジニアやサイト構築に多大な資金が必要 P2P技術を用いると… ・データの目次だけ持てば いいのでサーバーへの 負荷が軽減される ・少ないコストと人材で 構築できる
※Gnutellaがこの形態 ない 検索依頼 Aの検索依頼 検索結果 Cの検索結果 コネクト要求 ダウンロード開始 Pure P2P Network 自分のindexを検索 自分のindexを検索 A B C
ディスカバリー • Gnutella型 • Freenet型 • Winny型
Cacheの配布 • Gnutella型…Cacheなし • Freenet型…データのhash値をブロードキャスト • Winny型…データのindexのcacheをブロードキャスト ※hash関数…原文から固定長のぶつかりの少ない値を生成する演算手法。
P2Pの今後 • 様々な研究分野がある。 • ネットワークの構成 • 相手の発見 • セキュリティの確保(匿名性,正確性,etc.) • アプリケーション