ネットワークアーキテクチャ 第10回(2003/12/15) 「P2Pとオーバレイネットワーク」 TAによる代講 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 • ネットワークゲーム – Diablo – Age of Empire 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 ネットワークゲーム • サーバが全てのユーザの行動を管理 • 例:FINAL FANTASY XI – 巨大なサーバ群に全ての利用者が接続 – 行動データを逐一サーバに送信 – サーバはその行動に関係のある利用者に送信 • 全ての行動を処理するのでサーバはとても大変! – 例えばFFXIでは1400台のサーバで地域ごとに分担 2003/12/15 Network Architecture 2003f 17 ネットワークゲーム • P2Pでやると…… – Diablo、Age of Empire – 限られた人数ごとに一つのゲーム空間を設定するもの • 行動データを他の参加者に送信 – 手動で他の参加者のIPアドレスを入力 – ロビーサーバによる斡旋 – 1つのゲームの参加者が多いと困難 ロビーサーバ 斡旋 新規参加者 2003/12/15 Network Architecture 2003f 18 P2Pアプリケーション • サーバの仕事が減った! – サーバを用いて通信相手を検索 – データの内容は相手に直接接続して転送 • ファイルや相手の検索はサーバを利用している。 – この部分もサーバなしでできないのか? – インターネット上に分散してうじゃうじゃ居るPeerから どうやって目的の相手を見つけるのか。 2003/12/15 Network Architecture 2003f 19 P2Pネットワーク 2003/12/15 Network Architecture 2003f 20 P2Pネットワーク • Peer同士が接続してネットワークを構成 – ネットワーク上でデータをやりとり • 全てのPeerは対等にネットワークに参加 2003/12/15 Network Architecture 2003f 21 P2Pネットワーク • サービス内容に応じてアプリケーション毎に構築 されたネットワーク • 対故障性の実現 – 一部のPeerが故障しても他のPeerが引き継げる • 資源分散 – Peerはネットワークを介して接続 – 地理的・ネットワーク的に分散できる • 自由なランデブー – 好きなときに参加・離脱できる 2003/12/15 Network Architecture 2003f 22 IPネットワークとの比較 • IPネットワーク • P2Pネットワーク – 管理者・組織毎に構成した ネットワークの相互接続 – 階層的な構造 – ただ宛先のIPアドレスのホ ストにデータを送信する単 純な機能 2003/12/15 – 管理者なし – 全参加者が対等な関係 – それぞれのアプリケーショ ンの目的に応じた多様な 転送方法 Network Architecture 2003f 23 実例 2003/12/15 Network Architecture 2003f 24 ファイル共有のアーキテクチャ 2003/12/15 Network Architecture 2003f 25 ファイル共有 • 目的:どこかのコンピュータが持っているファイル を取得したい • 必要な機能 – 検索:P2Pネットワークに参加するホストから、目的の ファイルを持つ相手を探し出す。 – 転送:ファイルを持つ相手から転送してもらう。 2003/12/15 Network Architecture 2003f 26 ファイルの検索 • ファイル共有アプリケーションの利用者から、目 的のファイルを持つノードを探し出す。 • 大きく分けて二通り – インデックスサーバに検索機能を依存 – P2Pネットワークを利用して検索 2003/12/15 Network Architecture 2003f 27 Napster • Napster社が運営するインデックスサーバ – インデックスサーバに所持ファイルの一覧を送信 – 検索条件をサーバに送り、結果をもらう。 ファイルの検索 自分の持つファイルを登録 • 問題点: ファイルを取得 – インデックスサーバはNapster社が運営 – Napster社に運営差し止め請求 → サービス停止 – 現在は著作権者と提携し、Napster2へ…… 2003/12/15 Network Architecture 2003f 28 WinMX • Napster社以外のサーバにも接続 – Napster社以外の複数の組織が、Napsterのプロトコ ルを利用したインデックスサーバを運営 • 限られた参加者だけのサーバを自由に立ちあげられる。 – 複数のサーバを選択できるようになった。 サーバA サーバB ファイルの検索 自分の持つファイルを登録 2003/12/15 ファイルを取得 Network Architecture 2003f 29 Gnutella • P2Pネットワーク上で検索要求を転送 – – – – インデックスサーバに依存しない 検索者が積極的にファイルを探しに行く。 あらかじめ設定したノード数(TTL)まで探す。 ファイルの所持者は受動的 持ってない よ! 持ってない よ! 持ってない よ! 持ってない よ! 持ってない よ! Bさん Aさん 2003/12/15 持ってない よ! あのファイルが欲しい… 皆に聞いてみよう! Network Architecture 2003f もってるよ! 送るね! 30 Winny • 所持者からのファイルの広告と検索要求 – 所持者は、ファイルの情報をP2Pネットワークを通じて 隣接するノードに広告 – 広告されているファイルの情報に検索要求が合致 持ってない よ! 持ってない よ! 持ってない よ! Bさんのファイ ルをAさんが 探してる!! Bさんがあの ファイルを持ってる Cさん Aさん Bさん あのファイルが欲しい… 皆に聞いてみよう! 2003/12/15 Bさんがあの ファイルを持ってる このファイルを持ってることを 皆に教えてあげよう! Network Architecture 2003f 広告 31 ファイルの転送 • 検索によって見つかったファイルを実際に転送 • Napster、WinMX、Gnutellaは相手に直接接続して 転送 • Winnyでは中継転送とキャッシュを採用 2003/12/15 Network Architecture 2003f 32 Winnyにおける中継転送 • 中継転送 – – – – P2Pネットワークでの中間のノードが転送を中継 ファイルの保持者を匿名化 下の例では検索と広告を合致したCさんが中継転送 AさんはCさんがファイルを持っていたように見える! Bさんのファイルを 中継してあげよう! Cさん Aさん Bさん Cさんが持ってたんだね! 2003/12/15 私が直接送ると、 誰のファイルか分かっちゃう… Network Architecture 2003f 33 Winnyにおけるキャッシュ • キャッシュ – ファイルを取得したノードや、中継転送したノードがそ のファイルの複製を第三者に自動的に再公開 – 公開者の匿名化 – 効率の向上 中継したファイルを他の人 にも配って良いよね! Cさん Aさん Bさん このファイルを他の人にも 配ってあげよう! 2003/12/15 最初に配ったのが 私だとわからなくなるね! Network Architecture 2003f 34 ストリーミングのアーキテクチャ 2003/12/15 Network Architecture 2003f 35 マルチキャストストリーミング • リアルタイムなデータを複数人に対して送信 – 今までは、ストリーミングサーバに対して全ての閲覧 者が接続していた。 – ストリーミング放送をするには太い帯域幅が必要 → 気軽にストリーミング放送ができない。 ♪ ♪ Bさんのラジオ 聞いてます! Cさん Bさん Aさん Bさんのラジオ 聞いてるよ! 2003/12/15 ラジオのDJやりたいけど、 回線がすぐ埋まっちゃう…… Network Architecture 2003f 36 P2Pによるマルチキャストの実現 • P2Pによる解決 – ストリーミングを聞いてる人が、他の人にも送ってあげたら? • PeerCast – – – – Gnutellaと同様に、聞きたい放送を聞いている人を探す。 その人に接続して、放送内容を中継(リレー)してもらう。 つまり、他の人の上り帯域を再利用! Cさんのようにリレーしてくれる人が多いほど快適になる。 そうだ! Cさんに中継してもらおう! ♪ ♪ Bさんのラジオ 聞いてます! Cさん Bさん Aさん Bさんのラジオ、 私も聞きたいな… 2003/12/15 Network Architecture 2003f 回線は太くないけど、 ラジオのDJ頑張ってるよ♪ 37 P2Pによる資源分散 2003/12/15 Network Architecture 2003f 38 資源分散 • 他人の余っている資源を拝借する – 暇をもてあましてる人を見つける。 – その人にやって欲しい仕事を送りつける。 – 仕事の成果を持ってこさせる。 • 資源 – – – – CPU HDD 回線帯域 これらをどのようにすれば再利用できるのか? 2003/12/15 Network Architecture 2003f 39 OceanStore • 大規模分散ファイルシステム – 地球規模を想定 • 100億台のコンピュータ • 1010テラバイト(1億PB)のデータ P2Pネットワーク全体が一つの巨大なファイル置き場 2003/12/15 Network Architecture 2003f 40 処理分散 • 計算機資源を共有 • SETI@HOMEの例 – “the Search for ExtraTerrestrial Intelligence”の略 – プエルトリコにある巨大な電波 望遠鏡で得られたデータの解析 を多くの人々のコンピュータで分 割して計算し、地球外生命体存 在の可能性を探ろうというプロ ジェクト。 – スクリーンセーバーとしてこのソ フトを利用することで、パソコン を利用していない時間にデータ の処理を進めるという仕組み http://setiathome.ssl.berkeley.edu/ 2003/12/15 Network Architecture 2003f 41 HyperBee • 分散型検索エンジンロボット – 検索エンジンのインデックスをP2Pネットワークの参加 者によって分散処理 2003/12/15 Network Architecture 2003f 42 メッセンジャーとグループウェア 2003/12/15 Network Architecture 2003f 43 メッセンジャーとグループウェア • メッセンジャー – 特定の相手にメッセージやファイルを送信 • グループウェア – グループ内での情報共有 – スケジュール・ToDoの共有 – ファイルの共有 2003/12/15 Network Architecture 2003f 44 3degrees • MSNメッセンジャーの拡張 – グループの参加者間で音楽や画像を共有する。 2003/12/15 Network Architecture 2003f 45 Skype • P2Pベースの音声チャット – 中継者をうまく使って、ファイヤー ウォールやNATに穴を空ける “UDP Hole Punching”という技術 2003/12/15 Network Architecture 2003f 46 グループウェア • グループウェア – Groove – Ariel AirOne • サーバに依存せず様々な情報を共有 – ネットワーク越しの同期 – 更新の通知 – グループのメンバーの発見 2003/12/15 Network Architecture 2003f 47 P2P技術の発展 2003/12/15 Network Architecture 2003f 48 検索性の向上 • Gnutellaの事例 – 障害には強い。 – ネットワーク上を流れる検索メッセージが、最悪な条 件では台数に比例して増える。 – 検索時のやりとりが全体のトラフィックの6割を占めて いたという報告もある。 • より少ないトラフィックで、検索を確実に! 2003/12/15 Network Architecture 2003f 49 Winnyにおけるクラスタ化 • P2Pネットワークを動的に最適化 – クラスタ化キーワード – 転送の成功可否 – 自分から欲しいファイルを持っている人に近づく 私が欲しいファイル、 Cさんは他にも持ってるかも! Cさん Aさん Bさん 接続! Cさんと直接手を繋いだら、 他のファイルも探しやすくなるね! 2003/12/15 Network Architecture 2003f 50 Chord • 仮想的なリングを作ってみんな載せてみよう – 各Peerはリング上に分散 – ファイルはハッシュ値を元にリング上に分散 – 一番近いノードにそのファイルを保存する。 Key 5 Node 105 K5 N105 K20 Circular 7-bit ID space N32 N90 K80 Keyはそのsuccessorに置く: 次に大きな IDをもつノード 2003/12/15 Network Architecture 2003f 51 Chord • かなり先、だいぶ先、少し先へのリンク 2003/12/15 Network Architecture 2003f 52 匿名性の実現 • 内緒の話をしたい! – 誰が、誰と、何を話してるのか知られたくない…… • 何を秘密にすればいい? – 送っている人のIPアドレス – 受け取っている人のIPアドレス – その内容 • 基本的な考え方 – 第三者に中継してもらう。 – 内容を暗号化して、送っている人と受け取っている人 だけが読めるようにする。 2003/12/15 Network Architecture 2003f 53 Freenet • 論文題目 – “A Distributed Anonymous Information Storage and Retrieival System(「匿名で配布された情報の保存と 検索のシステム」) by Ian Clarke他 • 設計の指針 – – – – – – 情報を中央集権的な管理から解放する 情報の発信は、誰でも匿名で行える 情報の受信は、誰でも匿名で行える 需要の多い情報は消えない 需要の無い情報は消えていく 情報は意図的に削除できない 2003/12/15 Network Architecture 2003f 54 Freenetにおける検索 • ファイル内容の広告と、検索要求 – 所持者はファイルの隣接するノードに内容ごと送信 – 検索要求によってファイルの内容(の複製)を持つノー ドを探す • 中継転送とキャッシュの利用 – 中継転送 • データの保持者と、検索者の間のノードが延々と中継する – キャッシュ • Winnyと同様に中継したノードがファイルの複製を公開 • 基本はこれだけ! 2003/12/15 Network Architecture 2003f 55 Freenetネットワークの最適化 • 検索ネットワークの最適化 – ハッシュ値(第08回セキュリティのアーキテクチャ参照) の大小に基づいてネットワークの構成を変更 – ただやみくもに検索要求がぐるぐる回るのではなく、 ある程度の方向が分かるようにする。 2003/12/15 Network Architecture 2003f 56 P2Pにおける課題点 2003/12/15 Network Architecture 2003f 57 通信相手の信頼性 • 自分も相手も利己的! – 相手が嘘を言っているかもしれない。 – 悪いデータを送られてしまうかもしれない。 – フリーライダー(ただ乗り)ばかりだとネットワークが機 能低下してしまう。 – 逆に、資源をたくさん提供してくれる人もいる。 • アーキテクチャとして良いノードを優先したい! – 資源を提供するモチベーションにもなる。 2003/12/15 Network Architecture 2003f 58 P2Pネットワーク上における相手の評価 • ファイル共有を想定した一例: – ファイルを送ったら評価が上がる – ファイルをもらったら評価が下がる – みんな評価が高い人に優先してファイルを送る。 – 自分の評価が低くなると他の人からもらえなくなる。 → みんながファイルを提供したくなる! 出典:An Excess-Based Economic Model for Resource Allocation in Peer-to-Peer Networks (Christian Grothoff) 2003/12/15 Network Architecture 2003f 59 Authorityの不在 • 情報の信頼性に対する責任を誰が持つのか – 誤った情報をどうするか – 情報の「目利き」はどうすればいいのか • 一度流れたデータを誰も消せないシステム – – – – Freenet P2P掲示板 誹謗中傷や個人情報が流れたらどうするのか 参考:2ちゃんねるの書き込み削除訴訟 • 判決:「真実性などの立証責任は管理者にある」 2003/12/15 Network Architecture 2003f 60 相互の信頼を利用したモデル • PGP 2003/12/15 Network Architecture 2003f 61 ネットワークとの乖離 2003/12/15 Network Architecture 2003f 62 IPネットワークのトポロジとの関係 • IPネットワークのトポロジとの分離 – IPネットワークの管理者やその他気にすることなく、 自由に参加・離脱できるネットワーク 2003/12/15 Network Architecture 2003f 63 トポロジを考慮しないデメリット • IPネットワークのトポロジによる影響 – 自分が手をつないでいる相手は地球の裏側かも…… – 実際に転送できる帯域が細い! – 返事が返ってくるのが遅い! 2003/12/15 Network Architecture 2003f 64 ISP間をまたぐトラフィック • IX(ISPの接続点)でのトラフィック – Winny利用者から逮捕者が出た直後に激減! – つまり、目に見えるくらいのトラフィックがP2P関係 JPIX http://www.jpix.ad.jp/jp/techncal/traffic.html JPNAP – プロバイダとしては、 できれば近くの人と 手を繋いで欲しい…… http://www.mfeed.ad.jp/jpnap/fr-traffic.html 2003/12/15 Network Architecture 2003f 65 マルチキャスト • P2Pによるマルチキャスト – IPによるマルチキャスト(IPマルチキャスト)もある • IPネットワークの設定で使えないことが多い • 自分が管理するネットワーク内でしか使えない • ISP内でしか使えない – P2PマルチキャストならISPやIPネットワークの設定に 依存せず、誰でも参加できる そうだ! Cさんに中継してもらおう! ♪ ♪ Bさんのラジオ 聞いてます! Cさん Bさん Aさん Bさんのラジオ、 私も聞きたいな… 2003/12/15 Network Architecture 2003f 回線は太くないけど、 ラジオのDJ頑張ってるよ♪ 66 P2Pマルチキャストの問題 • 中継する人の帯域が細かったら…… – BさんやAさんが同じISPで回線が太くても、データが 途中で途切れたりしてしまう。 そうだ! Cさんに中継してもらおう! ♪ PHSで繋いで Bさんのラジオを 聞いてます! Cさん Bさん Aさん データの転送が 追いつかないよぅ 2003/12/15 ラジオのDJ頑張ってるよ♪ 実はFTTHなんだけどね。 Network Architecture 2003f 67 P2Pネットワークによるモビリティ • モビリティの実現 • mipとの対比? 2003/12/15 Network Architecture 2003f 68 P2Pと著作権 2003/12/15 Network Architecture 2003f 69 Winnyの悪用者が逮捕・製作者宅捜索 2003/12/15 http://www.asahi.com/national/update/1127/035.html Network Architecture 2003f 70 何が著作権侵害になるのか • 何をすると違法になるの? – 著作隣接権の送信可能化権を侵害 – 権利を持っていないのに他人に送信できる状態 – 公開することが問題 • ダウンロードは? – 他の人からもらうだけなら合法 – Winnyのような自分がもらったファイルが自動で送信可能にな るシステムは自動的に違法 – 中継転送で意図せず公開していた場合は、プロバイダ責任法 によって免除になる……かもしれない。 • 意図していなかったことを自分で証明する義務があるかも しれない。グレーゾーン。 – 立ち上げるだけでその意志があるとみなされるかもしれない。 2003/12/15 Network Architecture 2003f 71 アプリケーションの違法性 • あくまでアプリケーションに罪はないという立場 – 実際に権利を侵害しているのは利用者の勝手 – 合法なファイルを共有している人だってちゃんと居る。 • オープンソースソフトウェア • 自分で作った画像や音声等の素材 • アプリケーションにも罪があるという立場 – もっぱら、著作権を侵害するためのソフトウェア – ソフトウェアの開発による権利侵害の幇助 – 実際、Winnyの製作者は家宅捜索を受けた。 • 結論が出ていない。 – 参考:著作権とP2Pシンポジウム@SFC 2003/12/15 Network Architecture 2003f 72 最近の動き • 著作権管理システム:NetLeader – – – – ファイル再生時の広告表示・課金処理 再生する権利をネトワーク越しに取得し再生 誰がどれくらい見たのか追跡 ファイルそのものは自由に再配布ができる • ライセンス:Creative Commons – 権利者が指定した範囲(非営利、改変禁止等)で再配布を許可 – 派生したライセンスも何種か存在 • OpenCreation Public License • 自由利用マーク • Communitas ex Machina – 自由なライセンスの楽曲によるインターネットラジオ – ライセンスをデータに埋め込むことによる自由な流通 2003/12/15 Network Architecture 2003f 73 今後の潮流 2003/12/15 Network Architecture 2003f 74 他のシステムに載るP2P • TrackBack – WWW上にかぶさるP2Pネットワーク 2003/12/15 Network Architecture 2003f 75 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 76 TrackBackによるネットワーク • 図 2003/12/15 Network Architecture 2003f 77 移動するプログラム • モバイルコード • モバイルエージェント 2003/12/15 Network Architecture 2003f 78 まとめ 2003/12/15 Network Architecture 2003f 79 まとめ 2003/12/15 Network Architecture 2003f 80 おわり 2003/12/15 Network Architecture 2003f 81
© Copyright 2024 ExpyDoc