Upload
derick
View
39
Download
0
Embed Size (px)
DESCRIPTION
各種ルータに対応する P2P 通信環境に関する研究. 学籍番号 200511206 情報科学主専攻 鈴木良平 指導教員 朴泰祐. 背景と目的. P2P 環境上での, Volunteer Computing に関する研究が盛んに行われている 多数の遊休状態の PC を P2P 環境上で接続して,分散コンピューティングに利用 例 :BOINC 家庭や企業に散在している PC は NAT やファイア ウォールによって守られているため,容易に相互 通信できない 通信環境や家庭用ルータ ( NATbox ) の種類に応じた NAT 越えをユーザ透過に行うシステムを提案する. - PowerPoint PPT Presentation
Citation preview
1
各種ルータに対応するP2P通信環境に関する研究
学籍番号 200511206情報科学主専攻 鈴木良平指導教員 朴泰祐
P2P 環境上での, Volunteer Computing に関する研究が盛んに行われている◦ 多数の遊休状態の PC を P2P 環境上で接続して,分散コンピューティングに利用◦ 例 :BOINC 家庭や企業に散在している PC は NAT やファイア ウォールによって守られているため,容易に相互 通信できない
通信環境や家庭用ルータ (NATbox) の種類に応じた NAT 越えをユーザ透過に行うシステムを提案する2
背景と目的
リレー方式◦ サーバなどを介した通信
UDP hole punching◦ あらゆる NATbox に対応しているが, UDP 通信
TCP hole punching◦ TCP 通信で NAT 越えを行うが,すべての NATbox で行えない
UPnP (Universal Plug and Play)◦ 特定のポートを開けれるが,操作できない NATbox がある
先行研究◦ RI2N/UDP を用いた P2P オーバレイネットワーク「岡本 2006 」
上記のような NAT 越え技術 ( 通信モジュール ) の実装,そして,実装した通信モジュールを用いて TCP , UDP 通信をユーザ透過に行うシステムの実装3
現在のNAT越え技術
UDP hole punching◦Skype IP 電話,テレビ会議用アプリケーション
UPnP◦Windows Messenger インスタントメッセージの交換などを行うアプリケーション
4
NAT越え技術の使用例
5
ノード
ノード
サーバ
ノード
NATbox
NATbox
今回は UPnP モジュールと, UDP hole punching モジュールを実装し,これら2つの通信モジュールに優先度をつけてノード間通信を行うシステムを実装
システムの概念各ノードとそれを保護している NATbox の種類に応じて,自動的に通信方式を選択する
通信相手が NATbox に保護されていたら,リレー方式, UPnP , UDP hole punching など利用
通信相手が NATbox に保護されていないなら, NAT 越え技術は必要ない
宛先を指定して UDP パケットを送信しただけではパケットは通信相手の NATbox によって破棄される UDP パケットを何度か送信することで NATbox のポートを開け,通信相手と開いたポートを用いて通信をする
6
UDP hole punchingモジュール
The Internet
NATbox
ノード ノード
NATbox
UPnP デバイス開発用のライブラリとしてUPnP SDK を使用◦UPnP 対応 NATbox を SSDP (Simple
Service Discovery Protocol) によって検索◦発見できたら, NATbox の情報が XML で記述された URL の記載されたメッセージを受信◦NATbox の操作専用 URL に Action 命令を送信することで,操作する
グローバルアドレスの取得 TCP もしくは UDP のポートを開く
7
UPnPモジュール
8
サーバと接続◦ 自分の情報の登録◦ 通信相手の検索
通信相手を発見できたら,サーバに指示された通信方式を用いる
システムの構成 (1)
サーバNATbox
9
サーバ◦ 接続されたノードの情報を登録◦ ノードの情報から通信方式を選択する
通信する両ノードのうち 片方だけ UPnP 対応 NATbox によって保護されていたら,その内側のノードをインバウンド通信側とし,もう一方のノードをアウトバウンド通信側とする 両方 UPnP 非対応 NATbox だったら, UDP hole punchingを選択
◦ ノードに通信相手の情報と,通信方式の情報を送信する UPnP モジュールと UDP hole punching モジュールを統合したことで, TCP , UDP 通信をユーザ透過に行うことが可能
システムの構成 (2)
10
NATbox
ノード
NATbox
サーバ
100BASE-T
ノード
評価内容 : 各通信モジュールのスループット
NATbox はすべて 100Mbps 対応
評価環境サーバ ノード
CPU Intel®Pentium®4 2.4GHz
Intel®Pentium®M 1.2GHz
Memory
1024Mbyte 512Mbyte
NIC Intel®PRO/100 Intel®PRO/1000
NATbox UPnPBUFFALO BBR-4HG (NATbox1)
○
I-O DATA ETX-R (NATbox 2) ×
NATbo2 のノードがアウトバウンド側, NATbox1 のノードがインバウンド側 UDP hole punching 以外は Iperf2.0.2 を用いて測定 ( NATbox1 →
NATbox2 ) UPnP モジュールによって, NATbox の設定を行うのに約 6 秒かかった UDP hole punching によってポートを開けるのに約 20 m秒かかった
11
評価結果
TCP DMZ TCP by UPnP UDP DMZ UDP hole punching0
10
20
30
40
50
60
通信方式
スループット
(Mbp
s)
12
2 つの NAT 越え技術を統合し,ユーザ透過にした UDP hole punching と UPnP を適切に用いて,ノード間の通信に成功した 今後の課題
◦ 通信モジュールの種類を増やす◦ UDP hole punching を用いたストリーム通信の実装 先行研究の RI2N/UDP を用いることを検討する◦ DHT (Distributed Hash Table) を用いたサーバの実装
まとめ
13
TCP DMZ TCP normal UDP DMZ UDP hole punching0102030405060708090
100
NATbox1のアウトバウンド
1 → 21 → NAT なし
スループット
(Mbp
s)
TCP DMZ TCP normal UDP DMZ UDP hole punching0102030405060708090
100
NATbox2のアウトバウンド
1 ← 2NAT なし ← 2
スループット
(Mbp
s)
14
TCP DMZ TCP normal UDP DMZ UDP hole punching0
102030405060708090
100
NATbox1のインバウンド
1 ← 21 ← NAT なし
スループット
(Mbp
s)
TCP DMZ TCP normal UDP DMZ UDP hole punching0102030405060708090
100
NATbox2のインバウンド
1 → 2NAT なし → 2
スループット
(Mbp
s)