430 likes | 715 Views
P2P の過去・現在・未来. 数理情報 能一貢士 松本慎佑. これからの説明. P2P についての説明 Winny について Skype について P2P のこれから. P2P とは・・・. Peer to Peer の略 意味は「対等なもの同士が対等な立場で相互にデータなどのやり取りを行う方式」. P2P 型. クライアント・サーバ型. サーバ. ノード. ノード. ノード. ノード. クライアント. クライアント. ノード. クライアント. クライアント・サーバ型との比較. ・・・ダイナミック P2P アクセス.
E N D
P2Pの過去・現在・未来 数理情報 能一貢士 松本慎佑
これからの説明 • P2Pについての説明 • Winnyについて • Skypeについて • P2Pのこれから
P2Pとは・・・ • Peer to Peer の略 • 意味は「対等なもの同士が対等な立場で相互にデータなどのやり取りを行う方式」
P2P型 クライアント・サーバ型 サーバ ノード ノード ノード ノード クライアント クライアント ノード クライアント クライアント・サーバ型との比較
・・・ダイナミックP2Pアクセス ・・・基本ネットワーク インデックスサーバ 第一世代 ハイブリッドP2P クライアント・サーバ型とP2P型のハイブリッド(混合)。 サーバがデータ検索を担当して、実際のデータのやり取りはノード同士で行う。 代表的なソフト:Napster、WinMX
・・・ダイナミックP2Pアクセス ・・・基本ネットワーク 第二世代 ピュアP2P データ検索を行うサーバすらもたないP2Pシステム。 データ検索はノード同士で教えあい、助け合うことによって実現。 データのやり取りもノード同士で行う。 代表的なソフト:Gnutella、Winny
・・・ダイナミックP2Pアクセス ・・・基本ネットワーク スーパーノード群 第三世代 スーパーノード型ハイブリッドP2P ハイブリッドP2Pのサーバの代わりに、スーパーノードに選ばれたノードが検索を行う方式。データのやり取りはノード同士が行う。 代表的なソフト:Skype、KaZaA
P2Pのメリット • スケーラビリティ(拡張性) • 冗長性 • オフライン利用 サーバなど、中心になるものがないので、無限のスケーラビリティを持っている。 一部のノードがダウンして障害が起きても、システム上影響が出ない。 データが各コンピュータ上に存在するので、オフライン状態でもデータ編集・閲覧が可能。
Winnyの説明の流れ • Winnyネットワークの概観 • ファイル公開から転送まで • Winnyの特徴的なシステム • Winnyのまとめ
Winnyネットワークの概観 検索リンク・・・・・・ノードの情報、キーの交換、ファイルの検索 転送リンク・・・・・・ファイルの転送
高速・・・上流 低速・・・下流 Winnyネットワークの概観
アップロードフォルダ ファイルボディ(本体) キー ファイルの公開 オリジナルファイル ・ファイルの名前 ・ファイルの大きさ ・更新時刻 ・ファイルの識別に使う ファイルID(ハッシュ値) ・ファイル本体の位置情報 IPアドレスとポート番号 ・ファイル本体の内容
キー キー キー キー 拡散 キー キー オリジナルファイル キーの拡散 A B ファイル公開 検索元
検索クエリ 検索クエリ 検索クエリ ファイルの検索 キー キー キー キー キー キー A B オリジナルファイル ファイル公開 検索元
応答 応答 応答 ファイルの検索 キー キー キー キー キー キー キー キー A B キー オリジナルファイル ファイル公開 検索元
キー キー キー キー キー キー キー A B キー オリジナルファイル ファイル公開 検索元 キャッシュフォルダ ファイルの転送 キー 転送リンク 複製ファイル
キー 応答 キー キー 拡散 キー 応答 キー A オリジナルファイル キー ファイル公開 キーの拡散と書き換え Y キー キー X B 検索元
転送リンク 転送リンク 中継 Y キー X キー キー 複製ファイル Xのキャッシュフォルダ キー B キー A オリジナルファイル 複製ファイル ファイル公開 Bのキャッシュフォルダ 中継が発生されるたびにファイルの共有効率があがる 中継により匿名性も実現
Winnyのまとめ • Winnyによる情報漏洩の問題 情報漏洩の問題はWinnyそのものの問題ではない。 • 究極のファイル共有効率と匿名性の実現 「上流と下流」の概念や中継によりファイル共有効率を追求。 中継の機能によって第一発信者の特定が困難。 • 著作権の問題
Skypeについて スカイプ・テクノロジーズという会社が作った、スーパーノード型P2Pシステムを用いた電話ソフト。 • 特徴 • 固定電話やIP電話との通話も可能。 • メッセンジャーよりも高い接続状態、高音性を実現し、また無料で利用できる。(固定電話との通話など、一部サービスは有料) • 面倒な設定をせずに、ほとんどのネットワーク環境で使用可能。
Skype説明の流れ • 電話帳の管理 • 電話帳への登録方法 • 電話をかける • セキュリティについて • Skypeの問題点
Skypeの電話帳について それぞれのグループのリーダー(スーパーノード)がグループの電話帳を持ち、それぞれは繋がっている。 グループ分けの方法は、ハッシュ関数によって振り分けられる。 (ハッシュ関数とは、文字列を数値に変換する関数のこと) Aグループ Cグループ Bグループ
所属グループを見つける方法 Akira Bill • グループBのスーパーノードにグループAのスーパーノードを問い合わせる。 • スーパーノードに自分のIPアドレスを通知。電話帳に登録。 • グループAのスーパーノードはAkira(IPアドレス)と回答。 • 所属するグループAのスーパーノードを知らない。知り合いのBobさんに問い合わせ。 Alice Bob • グループAのスーパーノードはAkira(IPアドレス)と回答。
電話をかける①(同じグループ内) グループAの電話帳 Akira (グループAの スーパーノード) • AikoさんのIPアドレスを教えて • 電話帳を見て、AikoさんのIPアドレスを通知 Alice Aiko • スーパーノードから聞いたIPアドレスを利用し、Aikoさんに電話をかける
電話をかける②(違うグループ同士) • グループAのスーパーノードに、通信相手のIPアドレスを問い合わせ • グループBのスーパーノードに、 BeckyさんのIPアドレスを問い合わせ グループB グループA Aiko Alice Akira Bill Becky グループAの電話帳 グループBの電話帳 • BeckyさんのIPアドレスをAグループのスーパーノードに回答 • BeckyさんのIPアドレスを回答
証明書の発行 • ログイン(SkypeID、パスワードを送信) サーバ A • IDとパスワードが正しければ、サーバが証明書を発行して送る。 • 通信時に証明書を送って、本人であることを証明する。
セキュリティ①(RSA暗号) アイウエオ 暗号化 復号 暗号化データ 秘密鍵 ○△?× ○△?× 公開鍵 アイウエオ インター ネット B A 公開鍵で復号できた →秘密鍵を持っている この人は確かにBさんだ
セキュリティ②(AES暗号) RSAの公開鍵(Aさんの)で 暗号化した共通鍵 複合 共通鍵 共通鍵 もしもし もしもし B A インター ネット ○△?× ○△?× 通話
Skypeの問題点 • 固定電話との接続を行うゲートウェイサーバーがない地域がある。 • 日本内では、まだ固定電話との通話ができない。 • Skypeを禁止する国や、電話会社がある。
P2Pのこれから • まだまだこれからのP2Pソフト • Skypeを利用した企業などもでてきている。 • Skypeを教育現場で有効活用できないか。
私たちの実体験から・・・ • 生の授業を見る機会が少ない。 • いざ実習に入ってもどう授業をすればいいのか分からない。 Skypeを利用すれば、 この問題を解消できないか?
Skypeの有効活用 参観と同時に授業資料を配布 学生 授業の資料 学生 学生 学生 学生 P2Pネットワークを通じて授業参観
問題点と改善の見込み • 映像を複数人に配信できない。 • 7人以上で通話ができない。 今後の見込み • Skype自体の改良の可能性 • SkypeはAPIというものを公開しており、これを利用すれば、他のソフトとの連携が可能 Skypeに足りない機能を別のソフトウェアで補う。
まとめ • P2P=ファイル共有ソフト=「悪」ではない! • 使いようによってはとても便利なネットワークシステムになる。 • P2Pはこれからの未来にとても期待が持てる。
参考文献 • 金子勇、Winnyの技術、アスキー、2005 • 池嶋俊、入門 Skypeの仕組み、日経BP社、2005 • 岩田真一、なるほどナットク!P2Pがわかる本 オーム社、2005 • 徳力基彦、図解P2Pビジネス、翔泳社、2005 • Skypeやろうぜ http://ikejisoft.com/skype/ • P2PWikihttp://p2pwiki.ikejisoft.com/
キー キー キー キー キー ファイル キー キー キー キー キー キー キー ファイル キー キー キー キー キー キー キー ファイル キー 上流と下流 高速・・・上流 低速・・・下流 上流のノードは検索する必要がない 下流のノードは上流のノードにさえ、検索クエリを投げかければよい 検索をスムーズに行い、帯域の圧迫も少ない
無料化の秘密 P2Pシステムを使用している部分は、会社が整備する必要がないので無料!! サーバーを経由するサービスはサーバーなどの整備がいるため有料となる。 (他の電話サービスと比べれば格安!!)
中継① • AさんがBさんと電話したいと言ってるよ スーパーノード • Bさんに電話したいと伝えて B A インターネット ファイアウォール またはNAT機器 • BからAに電話をかける Aから始める通信は不可能
中継② スーパーノード UDPホールパンチング • スーパーノードの掛け声とともに、同時にパケットを送る。ファイアウォールやNAT機器が記録。 • 相手から届いたパケットを返事だと勘違いして、ファイアウォールが許可。電話がつながる。 OK OK B A ファイアウォール またはNAT機器 ファイアウォール またはNAT機器
中継③(TCP) ファイアウォール/NAT内部のSkypeとも通信できるスーパーノードが、電話を中継する。 スーパーノード 常時通信中 B A ファイアウォール またはNAT機器 ファイアウォール またはNAT機器 × × 直接は通信できない
音質を決める要素 • 遅延:声が相手に届くまでにかかる時間。 自分が話した後に、相手の声がなかなか返ってこないと通話しにくくなる。 • ゆらぎ:音声パケットの遅延がばらつく状況。 ゆらぎが大きいと音が欠けてしまい、会話が成り立たなくなる。 • コーデック:音声をデジタル信号に変換する方式。 データ量が大きいと、データが届かなかったり遅延、ゆらぎが大きくなる。
遅延、ゆらぎ、コーデックの対策 • ゆらぎ吸収バッファ いったん音声データをバッファに貯めて、順番に並び替えてから再生する。 • 中継を行う場合、4ルートを用意 中継ノード(リレーノード)を4台選び、その中で一番ゆらぎの少ないルートを選ぶ。 • 3種類のコーデックを使用 どのコーデックを使えば一番通話しやすいかを自動的に採用して使用する。