ネットワークアーキテクチャ 第10回(2003/12/15) 「P2Pとオーバレイネットワーク」 村井 純 2003/12/15 Network Architecture 2003f 1 2003年度秋学期授業日程 09/29 10/06 10/13 10/20 10/27 11/03 11/10 11/17 11/24 11/26 12/01 12/08 12/15 12/22 ~ 01/08 01/12 01/19 2003/12/15 (最新情報はSoI*で確認してください) (1) 講義概要/インターネットのアーキテクチャ (2) もうインターネットを分かっちゃおう 体育の日 (3) DNSのアーキテクチャ (4) インターネット自動車のアーキテクチャ 文化の日 (5) SOIのアーキテクチャ (6) メールのアーキテクチャ 勤労感謝の日の振替休日 (7) WWWのアーキテクチャ (8) セキュリティーのアーキテクチャ (9) グローバルインターネットアーキテクチャ (10) P2Pとオーバレイネットワーク (11) これからのネットワークアーキテクチャ(1) 冬休み (12) これからのネットワークアーキテクチャ(2) 成人の日 (13) 最終試験 Network Architecture 2003f <-(水曜日) 今日はここ <-(木曜日) 2 今日の流れ 2003/12/15 Network Architecture 2003f 3 2003/12/15 Network Architecture 2003f 4 世の中全てIPで繋がった! • どこのコンピュータともIPでお話しできる – IPアドレスで識別 – TCP/UDPによる通信路 • それじゃ何をしようか? 2003/12/15 Network Architecture 2003f 5 とにかくあるファイルが欲しい! • ネットワーク上のどこかのホスト上に存在する ファイルを手に入れたい! – 同じファイルなら誰からもらっても良い • リソースと持ち主を分離 2003/12/15 Network Architecture 2003f 6 友達といつでも情報をやりとりしたい! • 友達といつでも情報をやりとりしたい! – IPアドレスが変わってしまうかもしれない – インターネットには繋がらないけど、物理的に近くにい るので直接つなぐことはできる。 • ネットワークトポロジ上のコミュニティーネットワー クの独立 2003/12/15 Network Architecture 2003f 7 自分に足りない資源を拝借したい • 人が余らせている資源を自分にも使わせて! – CPU – HDD – 回線帯域 • 分散システム、GRIDコンピューティング 2003/12/15 Network Architecture 2003f 8 P2P: Peer to Peer 2003/12/15 Network Architecture 2003f 9 PeerとPeerが手をつなぐ • クライアントサーバ – サーバとクライアントが手をつなぐ – 特定の存在(サーバ)にサービスを依存する形態。 • Peer to Peer – Peer同士が直接手をつなぐ。 – お互いがサービスを提供し合う形態。 – Peerはサーバとクライアント両方の機能を持つので、 「サーバント」とも呼ばれる。 2003/12/15 Network Architecture 2003f 10 P2Pの背景 • 今までは資源がサーバに集中していた。 – 家庭の回線は細く、太い回線は高価 – サービスを提供するのに高い処理性能が必要 • 現在は資源は潤沢になった。 – 家庭の回線はADSLやFTTHで数Mbps – CPUの処理性能は余ってる • 今までサーバに集中させてた処理を分散させれ ばいいじゃない! 2003/12/15 Network Architecture 2003f 11 身近なP2Pアプリケーション • インスタントメッセンジャー(IM) – MSNメッセンジャー – ICQ • ファイル共有 – Napster 2003/12/15 Network Architecture 2003f 12 インスタントメッセンジャー • 以前はWebチャットだった – 例:サーバ上のチャットプログラム – 自分の書き込みをサーバに送信 – サーバから新しい内容を受信 メッセージ 新しい発言 2003/12/15 Network Architecture 2003f 13 インスタントメッセンジャー • P2Pなら…… – サーバは、ユーザのIPアドレスだけを管理 – クライアントはメッセージ送信先のユーザのIPアドレス をサーバから取得、メッセージ本文を直接送信 自分のIPアドレスを登録 相手の問い合わせ 新しい発言 2003/12/15 Network Architecture 2003f 14 ファイル共有 • それまではWWWやFTPだった – – – – WWWやFTPサーバ上にファイルの複製を送信 HTTP/FTPによってファイルを取得 検索は外部の検索エンジンやリンクでたどる。 サーバはディスクを潤沢に必要とした。 ファイルの複製を送信 2003/12/15 ファイルを取得 Network Architecture 2003f 15 ファイル共有 • P2Pになったことで…… – サーバは利用者が保っているファイルの情報と、その 利用者のIPアドレスを管理 – サーバ上でファイルを検索し、求めるファイルを保っ ている相手のIPアドレスを取得 – その相手に接続してファイルを要求・受信。 自分の持つファイルを登録 ファイルの検索 ファイルを取得 2003/12/15 Network Architecture 2003f 16 P2Pアプリケーション • サーバの仕事が減った! – サーバを用いて通信相手を検索 – データの内容は相手に直接接続して転送 • ファイルや相手の検索はサーバを利用している。 – この部分もサーバなしでできないのか? – インターネット上に分散してうじゃうじゃ居るPeerから どうやって目的の相手を見つけるのか。 2003/12/15 Network Architecture 2003f 17 P2Pネットワーク 2003/12/15 Network Architecture 2003f 18 P2Pネットワーク • Peer同士が接続してネットワークを構成 – ネットワーク上でデータをやりとり • 全てのPeerは対等にネットワークに参加 2003/12/15 Network Architecture 2003f 19 P2Pネットワーク • 対故障性の実現 – 一部のPeerが故障しても他のPeerが引き継げる • 資源分散 – Peerはネットワークを介して接続 – 地理的・ネットワーク的に分散できる • 自由なランデブー 2003/12/15 Network Architecture 2003f 20 IPネットワークとの比較 • IPネットワーク • P2Pネットワーク – 管理者・組織毎に構成した ネットワークの相互接続 – 階層的な構造 – ただ宛先のIPアドレスのホ ストにデータを送信する単 純な機能 2003/12/15 – 管理者なし – 全参加者が対等な関係 – それぞれのアプリケーショ ンの目的に応じた多様な 転送方法 Network Architecture 2003f 21 実例 2003/12/15 Network Architecture 2003f 22 ファイル共有のアーキテクチャ 2003/12/15 Network Architecture 2003f 23 ファイル共有 • 目的:どこかのコンピュータが持っているファイル を取得したい • 必要な機能 – 検索:P2Pネットワークに参加するホストから、目的の ファイルを持つ相手を探し出す。 – 転送:ファイルを持つ相手から転送してもらう。 2003/12/15 Network Architecture 2003f 24 ファイルの検索 • ファイル共有アプリケーションの利用者から、目 的のファイルを持つノードを探し出す。 • 大きく分けて二通り – インデックスサーバに検索機能を依存 – P2Pネットワークを利用して検索 2003/12/15 Network Architecture 2003f 25 Napster • Napster社が運営するインデックスサーバ – インデックスサーバに所持ファイルの一覧を送信 – 検索条件をサーバに送り、結果をもらう。 – ファイルの検索 絵 自分の持つファイルを登録 • 問題点: ファイルを取得 – インデックスサーバはNapster社が運営 – Napster社に運営差し止め請求 → サービス停止 – 現在は著作権者と提携し、Napster2へ…… 2003/12/15 Network Architecture 2003f 26 WinMX • Napster社以外のサーバにも接続 – Napster社以外の複数の組織が、Napsterのプロトコ ルを利用したインデックスサーバを運営 • 限られた参加者だけのサーバを自由に立ちあげられる。 – 複数のサーバを選択できるようになった。 サーバA サーバB ファイルの検索 自分の持つファイルを登録 2003/12/15 ファイルを取得 Network Architecture 2003f 27 Gnutella • P2Pネットワーク上で検索要求を転送 – – – – インデックスサーバに依存しない 検索者が積極的にファイルを探しに行く。 あらかじめ設定したノード数(TTL)まで探す。 ファイルの所持者は受動的 持ってない よ! 持ってない よ! 持ってない よ! 持ってない よ! 持ってない よ! Bさん Aさん 2003/12/15 持ってない よ! あのファイルが欲しい… 皆に聞いてみよう! Network Architecture 2003f もってるよ! 送るね! 28 Winny • 所持者からのファイルの広告と検索要求 – 所持者は、ファイルの情報をP2Pネットワークを通じて 隣接するノードに広告 – 広告されているファイルの情報に検索要求が合致 持ってない よ! 持ってない よ! 持ってない よ! Bさんのファイ ルをAさんが 探してる!! Bさんがあの ファイルを持ってる Cさん Aさん Bさん あのファイルが欲しい… 皆に聞いてみよう! 2003/12/15 Bさんがあの ファイルを持ってる このファイルを持ってることを 皆に教えてあげよう! Network Architecture 2003f 広告 29 ファイルの転送 • 検索によって見つかったファイルを実際に転送 • Napster、WinMX、Gnutellaは相手に直接接続して 転送 • Winnyでは中継転送とキャッシュを採用 2003/12/15 Network Architecture 2003f 30 Winnyにおける中継転送 • 中継転送とキャッシュの利用 – 中継転送 • P2Pネットワークで中間のノードが転送を中継する。 • 保持者を匿名化 • 下の例では検索と広告を合致したCさんが中継転送する。 Bさんのファイルを Aさんが探して る!! Cさん Aさん Bさん あのファイルが欲しい… 皆に聞いてみよう! 2003/12/15 このファイルを持ってることを 皆に教えてあげよう! Network Architecture 2003f 31 Winnyにおけるキャッシュ – キャッシュ • ファイルを取得したノードや、中継転送したノードがそのファ イルの複製を第三者に自動的に再公開 • 公開者の匿名化 • 効率の向上 中継したファイルを他の人 にも配って良いよね! Cさん Aさん Bさん このファイルを他の人にも 配ってあげよう! 2003/12/15 最初に配ったのが 私だとわからなくなるね! Network Architecture 2003f 32 ストリーミングのアーキテクチャ 2003/12/15 Network Architecture 2003f 33 ストリーミング • リアルタイムなデータを送信 – 今までは、ストリーミングサーバに対して全ての閲覧 者が接続していた。 – ストリーミング放送をするには太い帯域幅が必要 → 気軽にストリーミング放送ができない。 ♪ ♪ Bさんのラジオ 聞いてます! Cさん Bさん Aさん Bさんのラジオ 聞いてるよ! 2003/12/15 ラジオのDJやりたいけど、 回線がすぐ埋まっちゃう…… Network Architecture 2003f 34 PeerCast • P2Pによる解決 – ストリーミングを聞いてる人が、他の人にも送ってあげたら? • PeerCast – Gnutellaと同様に、聞きたい放送を聞いている人を探す。 – その人に接続して、放送内容を中継(リレー)してもらう。 – つまり、他の人の上り帯域を再利用! そうだ! Cさんに中継してもらおう! ♪ ♪ Bさんのラジオ 聞いてます! Cさん Bさん Aさん Bさんのラジオ、 私も聞きたいな… 2003/12/15 Network Architecture 2003f 回線は太くないけど、 ラジオのDJ頑張ってるよ♪ 35 P2Pによる資源分散 2003/12/15 Network Architecture 2003f 36 資源分散 • 他人の余っている資源をぶんどる – 暇をもてあましてる人を見つける。 – その人にやって欲しい仕事を送りつける。 – 仕事の成果を持ってこさせる。 2003/12/15 Network Architecture 2003f 37 OceanStore • 大規模分散ファイルシステム 2003/12/15 Network Architecture 2003f 38 処理分散 • 計算機資源を共有 2003/12/15 Network Architecture 2003f 39 HyperBee • 分散型検索エンジンロボット 2003/12/15 Network Architecture 2003f 40 メッセンジャーとグループウェア 2003/12/15 Network Architecture 2003f 41 メッセンジャーとグループウェア • メッセンジャー – 特定の相手にメッセージやファイルを送信 • グループウェア – グループ内での情報共有 – スケジュール・ToDoの共有 – ファイルの共有 2003/12/15 Network Architecture 2003f 42 3degrees 2003/12/15 Network Architecture 2003f 43 Skype • P2Pベースの音声チャット 2003/12/15 Network Architecture 2003f 44 グループウェア • グループウェア – Groove – Ariel AirOne 2003/12/15 Network Architecture 2003f 45 P2P技術の発展 2003/12/15 Network Architecture 2003f 46 検索性の向上 2003/12/15 Network Architecture 2003f 47 Winnyにおけるクラスタ化 • P2Pネットワークを動的に最適化 – クラスタ化キーワード – 転送の成功可否 • 絵 2003/12/15 Network Architecture 2003f 48 Chord • 仮想的なリングを作ってみんな載せてみよう – 各Peerはリング上に分散 – ファイルはハッシュ値を元にリング上に分散 – 一番近いノードにそのファイルを保存する。 • わっかの絵 2003/12/15 Network Architecture 2003f 49 Chord • かなり先、だいぶ先、少し先へのリンク • Finger Tableの絵 2003/12/15 Network Architecture 2003f 50 匿名性の実現 • Winnyのような中途半端ではない匿名性の実現 • 匿名性の定義 2003/12/15 Network Architecture 2003f 51 Freenet 2003/12/15 Network Architecture 2003f 52 Freenet • 検索:ファイル内容の広告と、検索要求 – 所持者はファイルの内容ごと隣接するノードに送信 – 検索要求によってファイルの内容(の複製)を持つノー ドを探す 2003/12/15 Network Architecture 2003f 53 Freenet 検索ネットワークの最適化 • 検索ネットワークの最適化 – ハッシュ値(第08回セキュリティのアーキテクチャ参照) の大小に基づいてネットワークの構成を変更 2003/12/15 Network Architecture 2003f 54 Freenet • 中継転送とキャッシュの利用 – 中継転送 • P2Pネットワーク上の保持者と、検索者の間のノードが延々 と中継を行う – キャッシュ • Winnyと同様に中継したノードがファイルの複製を公開 2003/12/15 Network Architecture 2003f 55 P2Pにおけるセキュリティ 2003/12/15 Network Architecture 2003f 56 通信相手の信頼性 • 相手が嘘を言っているかもしれない。 • 悪いデータを送られてしまうかもしれない。 2003/12/15 Network Architecture 2003f 57 Authorityの不在 • P2Pネットワーク上の情報の信頼性を誰が担保し てくれるのか 2003/12/15 Network Architecture 2003f 58 P2Pネットワーク上での信頼 • ファイル共有の例: – ファイルをアップロードしたら信頼が上がる – ファイルをダウンロードしたら信頼が下がる 2003/12/15 Network Architecture 2003f 59 ネットワークとの乖離 2003/12/15 Network Architecture 2003f 60 • IPネットワークのトポロジとの分離 – IPネットワークの管理者やその他気にすることなく、 自由に参加・離脱できるネットワーク 2003/12/15 Network Architecture 2003f 61 トポロジを考慮しないデメリット • IPネットワークのトポロジによる影響 – RTTとか帯域とかそこらへん – でもある程度うまくいってる。 • ISP間トラフィックとか話してみる? – ISPにやさしくないよねー 2003/12/15 Network Architecture 2003f 62 P2Pネットワークによるモビリティ • モビリティの実現 • mipとの対比? 2003/12/15 Network Architecture 2003f 63 マルチキャスト 2003/12/15 Network Architecture 2003f 64 P2Pと著作権 2003/12/15 Network Architecture 2003f 65 Winnyの利用者から逮捕 • どっかのニュースサイトのスクリーンショット 2003/12/15 Network Architecture 2003f 66 何が著作権侵害になるのか • 送信可能化状態 • Winnyのキャッシュの合法性 2003/12/15 Network Architecture 2003f 67 アプリケーションの違法性 • 「もっぱら」 • DCMAとの関係 2003/12/15 Network Architecture 2003f 68 BBS • 管理権限のおはなし • 2ちゃんねるとかにつなげる? 2003/12/15 Network Architecture 2003f 69 今後の潮流 2003/12/15 Network Architecture 2003f 70 他のシステムに載るP2P • TrackBack – WWW上にかぶさるP2Pネットワーク 2003/12/15 Network Architecture 2003f 71 TrackBackによる相互言及支援 • 自分がリンクを張った相手に、そのことを通知 – AさんがBさんの記事Cにリンクを張り、記事Dを追加 – BさんのウェブサイトにTrackBack Ping(言及通知)を送信 – Bさんの記事Cから記事Dにリンクを張り返す 記事の追加 記事D Bさんご飯食べれば? ↑ Bさんの記事Cへのリンク Aさん リンクの張り返し 記事C おなかすいたー!!!! TrackBack to 記事D Bさんご飯食べれ ば? TrackBack Ping (言及通知) Aさんのウェブサイト 2003/12/15 Bさんのウェブサイト Network Architecture 2003f 72 TrackBackによるネットワーク • 図 2003/12/15 Network Architecture 2003f 73 相互の信頼 • PGP 2003/12/15 Network Architecture 2003f 74 移動するプログラム • モバイルコード • モバイルエージェント 2003/12/15 Network Architecture 2003f 75 まとめ 2003/12/15 Network Architecture 2003f 76 まとめ 2003/12/15 Network Architecture 2003f 77 おわり 2003/12/15 Network Architecture 2003f 78
© Copyright 2024 ExpyDoc