ネットワークアーキテクチャ 第10回(2003/12/15) 「P2Pとオーバレイネットワーク」 TAによる代講 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 2003年度秋学期授業日程 (最新情報はSoI*で確認してください) 09/29 (1) 講義概要/インターネットのアーキテクチャ 10/06 (2) もうインターネットを分かっちゃおう 10/13 体育の日 10/20 (3) DNSのアーキテクチャ 10/27 (4) インターネット自動車のアーキテクチャ 11/03 文化の日 11/10 (5) SOIのアーキテクチャ 11/17 (6) メールのアーキテクチャ 11/24 勤労感謝の日の振替休日 11/26 (7) WWWのアーキテクチャ <-(水曜日) 12/01 (8) セキュリティーのアーキテクチャ 12/08 (9) グローバルインターネットアーキテクチャ 12/15 (10) P2Pとオーバレイネットワーク 12/22 (11) これからのネットワークアーキテクチャ(1) ~ 冬休み 01/08 (12) これからのネットワークアーキテクチャ(2) <-(木曜日) 01/12 成人の日 01/19 (13) 最終試験 今日はここ 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 今日の流れ 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 世の中全てIPで繋がった! どこのコンピュータともIPでお話しできる IPアドレスで識別 TCP/UDPによる通信路 それじゃ何をしようか? 2003/12/15 Network Architecture 2003f
Network Architecture 2003f とにかくあるファイルが欲しい! ネットワーク上のどこかのホスト上に存在するファイルを手に入れたい! 同じファイルなら誰からもらっても良い リソースと持ち主を分離 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 友達といつでも情報をやりとりしたい! 友達といつでも情報をやりとりしたい! IPアドレスが変わってしまうかもしれない インターネットには繋がらないけど、物理的に近くにいるので直接つなぐことはできる。 ネットワークトポロジ上のコミュニティーネットワークの独立 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 自分に足りない資源を拝借したい 人が余らせている資源を自分にも使わせて! CPU HDD 回線帯域 分散システム、GRIDコンピューティング 2003/12/15 Network Architecture 2003f
Network Architecture 2003f P2P: Peer to Peer 2003/12/15 Network Architecture 2003f
Network Architecture 2003f PeerとPeerが手をつなぐ クライアントサーバ サーバとクライアントが手をつなぐ 特定の存在(サーバ)にサービスを依存する形態。 Peer to Peer Peer同士が直接手をつなぐ。 お互いがサービスを提供し合う形態。 Peerはサーバとクライアント両方の機能を持つので、「サーバント」とも呼ばれる。 「ノード」と呼ばれることも。 2003/12/15 Network Architecture 2003f
Network Architecture 2003f P2Pの背景 今までは資源がサーバに集中していた。 家庭の回線は細く、太い回線は高価 サービスを提供するのに高い処理性能が必要 現在は資源は潤沢になった。 家庭の回線はADSLやFTTHで数Mbps CPUの処理性能は余ってる 今までサーバに集中させてた処理を分散させればいいじゃない! 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 身近なP2Pアプリケーション インスタントメッセンジャー(IM) MSNメッセンジャー ICQ ファイル共有 Napster ネットワークゲーム Diablo Age of Empire 2003/12/15 Network Architecture 2003f
Network Architecture 2003f インスタントメッセンジャー 以前はWebチャット 例:サーバ上のチャットプログラム 自分の書き込みをサーバに送信 サーバから新しい内容を受信 メッセージ 新しい発言 2003/12/15 Network Architecture 2003f
Network Architecture 2003f インスタントメッセンジャー P2Pなら…… サーバは、ユーザのIPアドレスだけを管理 クライアントはメッセージ送信先のユーザのIPアドレスをサーバから取得、メッセージ本文を直接送信 自分のIPアドレスを登録 相手の問い合わせ 新しい発言 2003/12/15 Network Architecture 2003f
Network Architecture 2003f ファイル共有 以前はWWWやFTP WWWやFTPサーバ上にファイルの複製を送信 HTTP/FTPによってファイルを取得 検索は外部の検索エンジンやリンクでたどる。 サーバはディスクを潤沢に必要とした。 ファイルを取得 ファイルの複製を送信 2003/12/15 Network Architecture 2003f
Network Architecture 2003f ファイル共有 P2Pになったことで…… サーバは利用者が保っているファイルの情報と、その利用者のIPアドレスを管理 サーバ上でファイルを検索し、求めるファイルを保っている相手のIPアドレスを取得 その相手に接続してファイルを要求・受信。 自分の持つファイルを登録 ファイルの検索 ファイルを取得 2003/12/15 Network Architecture 2003f
Network Architecture 2003f ネットワークゲーム サーバが全てのユーザの行動を管理 例:FINAL FANTASY XI 巨大なサーバ群に全ての利用者が接続 行動データを逐一サーバに送信 サーバはその行動に関係のある利用者に送信 全ての行動を処理するのでサーバはとても大変! 2003/12/15 Network Architecture 2003f
Network Architecture 2003f ネットワークゲーム P2Pでやると…… Diablo、Age of Empire 限られた人数ごとに一つのゲーム空間を設定するもの 行動データを他の参加者に送信 手動で他の参加者のIPアドレスを入力 ロビーサーバによる斡旋 1つのゲームの参加者が多いと困難 ロビーサーバ 斡旋 新規参加者 2003/12/15 Network Architecture 2003f
Network Architecture 2003f P2Pアプリケーション サーバの仕事が減った! サーバを用いて通信相手を検索 データの内容は相手に直接接続して転送 ファイルや相手の検索はサーバを利用している。 この部分もサーバなしでできないのか? インターネット上に分散してうじゃうじゃ居るPeerからどうやって目的の相手を見つけるのか。 2003/12/15 Network Architecture 2003f
Network Architecture 2003f P2Pネットワーク 2003/12/15 Network Architecture 2003f
Network Architecture 2003f P2Pネットワーク Peer同士が接続してネットワークを構成 ネットワーク上でデータをやりとり 全てのPeerは対等にネットワークに参加 2003/12/15 Network Architecture 2003f
Network Architecture 2003f P2Pネットワーク サービス内容に応じてアプリケーション毎に構築されたネットワーク 対故障性の実現 一部のPeerが故障しても他のPeerが引き継げる 資源分散 Peerはネットワークを介して接続 地理的・ネットワーク的に分散できる 自由なランデブー 好きなときに参加・離脱できる 2003/12/15 Network Architecture 2003f
Network Architecture 2003f IPネットワークとの比較 IPネットワーク 管理者・組織毎に構成したネットワークの相互接続 階層的な構造 ただ宛先のIPアドレスのホストにデータを送信する単純な機能 P2Pネットワーク 管理者なし 全参加者が対等な関係 それぞれのアプリケーションの目的に応じた多様な転送方法 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 実例 2003/12/15 Network Architecture 2003f
Network Architecture 2003f ファイル共有のアーキテクチャ 2003/12/15 Network Architecture 2003f
Network Architecture 2003f ファイル共有 目的:どこかのコンピュータが持っているファイルを取得したい 必要な機能 検索:P2Pネットワークに参加するホストから、目的のファイルを持つ相手を探し出す。 転送:ファイルを持つ相手から転送してもらう。 2003/12/15 Network Architecture 2003f
Network Architecture 2003f ファイルの検索 ファイル共有アプリケーションの利用者から、目的のファイルを持つノードを探し出す。 大きく分けて二通り インデックスサーバに検索機能を依存 P2Pネットワークを利用して検索 2003/12/15 Network Architecture 2003f
Network Architecture 2003f Napster Napster社が運営するインデックスサーバ インデックスサーバに所持ファイルの一覧を送信 検索条件をサーバに送り、結果をもらう。 ファイルの検索 ファイルを取得 自分の持つファイルを登録 問題点: インデックスサーバはNapster社が運営 Napster社に運営差し止め請求 → サービス停止 現在は著作権者と提携し、Napster2へ…… 2003/12/15 Network Architecture 2003f
Network Architecture 2003f WinMX Napster社以外のサーバにも接続 Napster社以外の複数の組織が、Napsterのプロトコルを利用したインデックスサーバを運営 限られた参加者だけのサーバを自由に立ちあげられる。 複数のサーバを選択できるようになった。 サーバA サーバB ファイルの検索 自分の持つファイルを登録 ファイルを取得 2003/12/15 Network Architecture 2003f
Gnutella P2Pネットワーク上で検索要求を転送 インデックスサーバに依存しない 検索者が積極的にファイルを探しに行く。 あらかじめ設定したノード数(TTL)まで探す。 ファイルの所持者は受動的 持ってないよ! 持ってないよ! 持ってないよ! 持ってないよ! 持ってないよ! 持ってないよ! Aさん Bさん もってるよ! 送るね! あのファイルが欲しい… 皆に聞いてみよう! 2003/12/15 Network Architecture 2003f
Winny 所持者からのファイルの広告と検索要求 所持者は、ファイルの情報をP2Pネットワークを通じて隣接するノードに広告 広告されているファイルの情報に検索要求が合致 BさんのファイルをAさんが 探してる!! Bさんがあの ファイルを持ってる 持ってないよ! Bさんがあの ファイルを持ってる 持ってないよ! 持ってないよ! Cさん Aさん Bさん あのファイルが欲しい… 皆に聞いてみよう! このファイルを持ってることを 皆に教えてあげよう! 広告 2003/12/15 Network Architecture 2003f
Network Architecture 2003f ファイルの転送 検索によって見つかったファイルを実際に転送 Napster、WinMX、Gnutellaは相手に直接接続して転送 Winnyでは中継転送とキャッシュを採用 2003/12/15 Network Architecture 2003f
Winnyにおける中継転送 中継転送とキャッシュの利用 中継転送 P2Pネットワークで中間のノードが転送を中継する。 保持者を匿名化 下の例では検索と広告を合致したCさんが中継転送する。 Bさんのファイルを Aさんが探してる!! Cさん Aさん Bさん あのファイルが欲しい… 皆に聞いてみよう! このファイルを持ってることを 皆に教えてあげよう! 2003/12/15 Network Architecture 2003f
Winnyにおけるキャッシュ キャッシュ ファイルを取得したノードや、中継転送したノードがそのファイルの複製を第三者に自動的に再公開 公開者の匿名化 効率の向上 中継したファイルを他の人にも配って良いよね! Cさん Aさん Bさん このファイルを他の人にも配ってあげよう! 最初に配ったのが 私だとわからなくなるね! 2003/12/15 Network Architecture 2003f
Network Architecture 2003f ストリーミングのアーキテクチャ 2003/12/15 Network Architecture 2003f
ストリーミング リアルタイムなデータを送信 ♪ ♪ 今までは、ストリーミングサーバに対して全ての閲覧者が接続していた。 ストリーミング放送をするには太い帯域幅が必要 → 気軽にストリーミング放送ができない。 Bさんのラジオ 聞いてます! ♪ ♪ Cさん Bさん Aさん Bさんのラジオ 聞いてるよ! ラジオのDJやりたいけど、 回線がすぐ埋まっちゃう…… 2003/12/15 Network Architecture 2003f
PeerCast ♪ ♪ P2Pによる解決 PeerCast ストリーミングを聞いてる人が、他の人にも送ってあげたら? Gnutellaと同様に、聞きたい放送を聞いている人を探す。 その人に接続して、放送内容を中継(リレー)してもらう。 つまり、他の人の上り帯域を再利用! Bさんのラジオ 聞いてます! ♪ そうだ! Cさんに中継してもらおう! ♪ Cさん Bさん Aさん Bさんのラジオ、 私も聞きたいな… 回線は太くないけど、 ラジオのDJ頑張ってるよ♪ 2003/12/15 Network Architecture 2003f
Network Architecture 2003f P2Pによる資源分散 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 資源分散 他人の余っている資源を拝借する 暇をもてあましてる人を見つける。 その人にやって欲しい仕事を送りつける。 仕事の成果を持ってこさせる。 資源 CPU HDD 回線帯域 これらをどのようにすれば再利用できるのか? 2003/12/15 Network Architecture 2003f
Network Architecture 2003f OceanStore 大規模分散ファイルシステム 地球規模を想定 100億台のコンピュータ 1010テラバイト(1億PB)のデータ P2Pネットワーク全体が一つの巨大なファイル置き場 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 処理分散 計算機資源を共有 SETI@HOMEの例 “the Search for Extra-Terrestrial Intelligence”の略 プエルトリコにある巨大な電波望遠鏡で得られたデータの解析を多くの人々のコンピュータで分割して計算し、地球外生命体存在の可能性を探ろうというプロジェクト。 スクリーンセーバーとしてこのソフトを利用することで、パソコンを利用していない時間にデータの処理を進めるという仕組み http://setiathome.ssl.berkeley.edu/ 2003/12/15 Network Architecture 2003f
Network Architecture 2003f HyperBee 分散型検索エンジンロボット 検索エンジンのインデックスをP2Pネットワークの参加者によって分散処理 2003/12/15 Network Architecture 2003f
Network Architecture 2003f メッセンジャーとグループウェア 2003/12/15 Network Architecture 2003f
Network Architecture 2003f メッセンジャーとグループウェア メッセンジャー 特定の相手にメッセージやファイルを送信 グループウェア グループ内での情報共有 スケジュール・ToDoの共有 ファイルの共有 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 3degrees MSNメッセンジャーの拡張 音楽や 2003/12/15 Network Architecture 2003f
Network Architecture 2003f Skype P2Pベースの音声チャット 2003/12/15 Network Architecture 2003f
Network Architecture 2003f グループウェア グループウェア Groove Ariel AirOne 2003/12/15 Network Architecture 2003f
Network Architecture 2003f P2P技術の発展 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 検索性の向上 Gnuttelaモデルは障害に強いが、N台から成るGnuttelaネットワークでは、検索時に最悪 O(N) のメッセージが発生する 検索時のやりとりが全体のトラフィックの6割を占めていたという報告もある 2003/12/15 Network Architecture 2003f
Network Architecture 2003f Winnyにおけるクラスタ化 P2Pネットワークを動的に最適化 クラスタ化キーワード 転送の成功可否 絵 2003/12/15 Network Architecture 2003f
Network Architecture 2003f Chord 仮想的なリングを作ってみんな載せてみよう 各Peerはリング上に分散 ファイルはハッシュ値を元にリング上に分散 一番近いノードにそのファイルを保存する。 Key 5 K5 Node 105 N105 K20 Circular 7-bit ID space N32 N90 K80 Keyはそのsuccessorに置く: 次に大きな IDをもつノード 2003/12/15 Network Architecture 2003f
Network Architecture 2003f Chord かなり先、だいぶ先、少し先へのリンク 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 匿名性の実現 通信者と通信路における匿名性の実現 匿名性の定義 2003/12/15 Network Architecture 2003f
Network Architecture 2003f Freenet 論文題目 “A Distributed Anonymous Information Storage and Retrieival System(「匿名で配布された情報の保存と検索のシステム」) by Ian Clarke他 設計の指針 情報を中央集権的な管理から解放する 情報の発信は、誰でも匿名で行える 情報の受信は、誰でも匿名で行える 需要の多い情報は消えない 需要の無い情報は消えていく 情報は意図的に削除できない 2003/12/15 Network Architecture 2003f
Network Architecture 2003f Freenet 検索:ファイル内容の広告と、検索要求 所持者はファイルの内容ごと隣接するノードに送信 検索要求によってファイルの内容(の複製)を持つノードを探す 2003/12/15 Network Architecture 2003f
Network Architecture 2003f Freenet 検索ネットワークの最適化 検索ネットワークの最適化 ハッシュ値(第08回セキュリティのアーキテクチャ参照)の大小に基づいてネットワークの構成を変更 2003/12/15 Network Architecture 2003f
Network Architecture 2003f Freenet 中継転送とキャッシュの利用 中継転送 P2Pネットワーク上の保持者と、検索者の間のノードが延々と中継を行う キャッシュ Winnyと同様に中継したノードがファイルの複製を公開 2003/12/15 Network Architecture 2003f
Network Architecture 2003f P2Pにおけるセキュリティ 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 通信相手の信頼性 相手が嘘を言っているかもしれない。 悪いデータを送られてしまうかもしれない。 2003/12/15 Network Architecture 2003f
Network Architecture 2003f Authorityの不在 P2Pネットワーク上の情報の信頼性を誰が担保してくれるのか 2003/12/15 Network Architecture 2003f
Network Architecture 2003f P2Pネットワーク上での信頼 ファイル共有の例: ファイルをアップロードしたら信頼が上がる ファイルをダウンロードしたら信頼が下がる 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 相互の信頼 PGP 2003/12/15 Network Architecture 2003f
Network Architecture 2003f ネットワークとの乖離 2003/12/15 Network Architecture 2003f
Network Architecture 2003f IPネットワークのトポロジとの分離 IPネットワークの管理者やその他気にすることなく、自由に参加・離脱できるネットワーク 2003/12/15 Network Architecture 2003f
Network Architecture 2003f トポロジを考慮しないデメリット IPネットワークのトポロジによる影響 RTTとか帯域とかそこらへん でもある程度うまくいってる。 ISP間トラフィックとか話してみる? ISPにやさしくないよねー 2003/12/15 Network Architecture 2003f
Network Architecture 2003f P2Pネットワークによるモビリティ モビリティの実現 mipとの対比? 2003/12/15 Network Architecture 2003f
Network Architecture 2003f マルチキャスト 2003/12/15 Network Architecture 2003f
Network Architecture 2003f P2Pと著作権 2003/12/15 Network Architecture 2003f
Network Architecture 2003f Winnyの利用者から逮捕 どっかのニュースサイトのスクリーンショット 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 何が著作権侵害になるのか 送信可能化状態 Winnyのキャッシュの合法性 2003/12/15 Network Architecture 2003f
Network Architecture 2003f アプリケーションの違法性 「もっぱら」 DCMAとの関係 2003/12/15 Network Architecture 2003f
Network Architecture 2003f BBS 管理権限のおはなし 2ちゃんねるとかにつなげる? 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 最近の動き インターネットで自由に流しても良い著作物 NetLeader Creative Commons 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 今後の潮流 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 他のシステムに載るP2P TrackBack WWW上にかぶさるP2Pネットワーク 2003/12/15 Network Architecture 2003f
Network Architecture 2003f TrackBackによる相互言及支援 自分がリンクを張った相手に、そのことを通知 AさんがBさんの記事Cにリンクを張り、記事Dを追加 BさんのウェブサイトにTrackBack Ping(言及通知)を送信 Bさんの記事Cから記事Dにリンクを張り返す リンクの張り返し 記事D Bさんご飯食べれば? ↑ Bさんの記事Cへのリンク 記事C おなかすいたー!!!! 記事の追加 TrackBack to 記事D Bさんご飯食べれば? Aさん TrackBack Ping (言及通知) Aさんのウェブサイト Bさんのウェブサイト 2003/12/15 Network Architecture 2003f
Network Architecture 2003f TrackBackによるネットワーク 図 2003/12/15 Network Architecture 2003f
Network Architecture 2003f 移動するプログラム モバイルコード モバイルエージェント 2003/12/15 Network Architecture 2003f
Network Architecture 2003f まとめ 2003/12/15 Network Architecture 2003f
Network Architecture 2003f まとめ 2003/12/15 Network Architecture 2003f
Network Architecture 2003f おわり 2003/12/15 Network Architecture 2003f