Presentation is loading. Please wait.

Presentation is loading. Please wait.

P2P型アプリケーション用ライブラリ SUNET

Similar presentations


Presentation on theme: "P2P型アプリケーション用ライブラリ SUNET"— Presentation transcript:

1 P2P型アプリケーション用ライブラリ SUNET
B3 suno

2 アウトライン 背景・問題 STUNの説明 SUNETの概要 システム構成 動作フロー デモ まとめ・感想

3 背景 家庭のネットワーク環境 P2Pアプリケーション ブロードバンド化 ルーター 集中負荷がかからない クライアントの能力の有効活用 例
多くのコンピュータがプライベートなネットワークへ P2Pアプリケーション 集中負荷がかからない クライアントの能力の有効活用 ファイル交換 VoIP、ビデオチャット

4 問題 多くのコンピュータプライベートアドレスを持っている 直接通信が行えない
今のP2PソフトはグローバルなIPアドレスを持つノードを経由している 帯域の限界 遅延の発生

5 STUNとは? Simple Traversal of UDP through NATs NAT内の端末同士が直接通信できるようにする
RFC 3489 NAT内の端末同士が直接通信できるようにする Suno家ネットワーク Quno家ネットワーク ルーター xxx.xxx.xxx.xxx ルーター yyy.yyy.yyy.yyy Qunoマシン Sunoマシン STUN

6 何故直接通信できるか サーバー ルーターがポート51を開いて サーバーのポート50へ送る ポート50からサーバーのポート50に送信
ルーターがポート51を開いて サーバーのポート50へ送る Suno家ネットワーク Quno家ネットワーク ポート50からサーバーのポート50に送信 ルーター xxx.xxx.xxx.xxx ルーター yyy.yyy.yyy.yyy Suno家のルータのポート51に送ると sunoマシンのポート50にに届く Sunoマシン

7 ルーターの種類 Full Cone Restricted Cone Port Restricted Cone Symmetric
高スループット Full Cone Restricted Cone Port Restricted Cone Symmetric 高セキュリティ

8 SUNETの概要 STUNを利用したP2Pのライブラリ ユニキャスト ブロードキャスト 直接通信 あて先にメッセージを送れる
参加者全員にメッセージを送れる 直接通信 STUNを用いた直接通信が行える 従来のP2PソフトではGlobalなIPアドレスをもったノードを経由していた 帯域と遅延の問題が解決

9 ノードのタイプ 親ノード 子ノード グローバルなIPアドレスを持っている 他の親ノード全てと繋がっている
親ノードのうち一つと繋がっている

10 システム構成

11 動作フロー(参加) 参加ノードに初期親ノードを与える 初期親ノードから親ノードのリストを受け取る ルーターのタイプをチェック
参加ノードがGlobalなIPを持っている場合親ノードとして参加 参加ノードがPrivateなIPを持っている場合子ノードとして参加 suno.net 初期ノード:suno.net リストくれ あいよ ルーターチェックさせて

12 動作フロー(ユニキャスト) 親 親 子 子 Suno 親 子 子 Sunoとはつながってないから 別の親ノードに送ろう
メッセージキター!! Sunoとはつながってないな。 メッセージは破棄しよう

13 動作フロー(ブロードキャスト) 親 親 子 子 親 子 子 つながってるみんなに 送るぞー つながってる子ノードに 送るぞー
みんなにメッセージを 送りたい! 親ノード

14 動作フロー(直接通信) 親 親 子 子 親 直接通信確立 133.27.170.YのB番に接続してちょうだい
XのA番に接続してちょうだい YのB番 XのA番 直接通信確立 開いたUDPポートと マッピングされている ルーターのIPとポートは? 開いたUDPポートと マッピングされている ルーターのIPとポートは?

15 デモ サンプルアプリケーション P2P型共有お絵かきボード 2つのノードで同じお絵かきボードを共有

16 まとめ P2P型アプリケーション用ライブラリ SUNETを作成した ユニキャスト ブロードキャスト 直接通信 帯域・遅延問題の解消

17 感想 時間がなくて設計がいまいち 親ノード間のトポロジーがいまいち P2Pのルーティングは大変だ クラスをより適切に定義すべきだった
今のままだとスケールしない P2Pのルーティングは大変だ Jxta使えばよかった・・・


Download ppt "P2P型アプリケーション用ライブラリ SUNET"

Similar presentations


Ads by Google