14
各各各各各各各各各各 P2P 各各各各各各各各各各 学学学学 200511206 学学学学学学学 学学学学 学学学学 学学学 1

各種ルータに対応する P2P 通信環境に関する研究

  • 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

Page 1: 各種ルータに対応する P2P 通信環境に関する研究

1

各種ルータに対応するP2P通信環境に関する研究

学籍番号 200511206情報科学主専攻 鈴木良平指導教員    朴泰祐

Page 2: 各種ルータに対応する P2P 通信環境に関する研究

P2P 環境上での, Volunteer Computing に関する研究が盛んに行われている◦ 多数の遊休状態の PC を P2P 環境上で接続して,分散コンピューティングに利用◦ 例 :BOINC 家庭や企業に散在している PC は NAT やファイア ウォールによって守られているため,容易に相互 通信できない

通信環境や家庭用ルータ (NATbox) の種類に応じた NAT 越えをユーザ透過に行うシステムを提案する2

背景と目的

Page 3: 各種ルータに対応する P2P 通信環境に関する研究

リレー方式◦ サーバなどを介した通信

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越え技術

Page 4: 各種ルータに対応する P2P 通信環境に関する研究

UDP hole punching◦Skype IP 電話,テレビ会議用アプリケーション

UPnP◦Windows Messenger インスタントメッセージの交換などを行うアプリケーション

4

NAT越え技術の使用例

Page 5: 各種ルータに対応する P2P 通信環境に関する研究

5

ノード

ノード

サーバ

ノード

NATbox

NATbox

今回は UPnP モジュールと, UDP hole punching モジュールを実装し,これら2つの通信モジュールに優先度をつけてノード間通信を行うシステムを実装

システムの概念各ノードとそれを保護している NATbox の種類に応じて,自動的に通信方式を選択する

通信相手が NATbox に保護されていたら,リレー方式, UPnP , UDP hole  punching など利用

通信相手が NATbox に保護されていないなら, NAT 越え技術は必要ない

Page 6: 各種ルータに対応する P2P 通信環境に関する研究

宛先を指定して UDP パケットを送信しただけではパケットは通信相手の NATbox によって破棄される UDP パケットを何度か送信することで NATbox のポートを開け,通信相手と開いたポートを用いて通信をする

6

UDP hole punchingモジュール

The Internet

NATbox

ノード ノード

NATbox

Page 7: 各種ルータに対応する P2P 通信環境に関する研究

UPnP デバイス開発用のライブラリとしてUPnP SDK を使用◦UPnP 対応 NATbox を SSDP (Simple

Service Discovery Protocol) によって検索◦発見できたら, NATbox の情報が XML で記述された URL の記載されたメッセージを受信◦NATbox の操作専用 URL に Action 命令を送信することで,操作する

グローバルアドレスの取得 TCP もしくは UDP のポートを開く

7

UPnPモジュール

Page 8: 各種ルータに対応する P2P 通信環境に関する研究

8

サーバと接続◦ 自分の情報の登録◦ 通信相手の検索

通信相手を発見できたら,サーバに指示された通信方式を用いる

システムの構成 (1)

サーバNATbox

Page 9: 各種ルータに対応する P2P 通信環境に関する研究

9

サーバ◦ 接続されたノードの情報を登録◦ ノードの情報から通信方式を選択する

通信する両ノードのうち 片方だけ UPnP 対応 NATbox によって保護されていたら,その内側のノードをインバウンド通信側とし,もう一方のノードをアウトバウンド通信側とする 両方 UPnP 非対応 NATbox だったら, UDP hole punchingを選択

◦ ノードに通信相手の情報と,通信方式の情報を送信する UPnP モジュールと UDP hole punching モジュールを統合したことで, TCP , UDP 通信をユーザ透過に行うことが可能

システムの構成 (2)

Page 10: 各種ルータに対応する P2P 通信環境に関する研究

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) ×

Page 11: 各種ルータに対応する P2P 通信環境に関する研究

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)

Page 12: 各種ルータに対応する P2P 通信環境に関する研究

12

2 つの NAT 越え技術を統合し,ユーザ透過にした UDP hole punching と UPnP を適切に用いて,ノード間の通信に成功した 今後の課題

◦ 通信モジュールの種類を増やす◦ UDP hole punching を用いたストリーム通信の実装  先行研究の RI2N/UDP を用いることを検討する◦ DHT (Distributed Hash Table) を用いたサーバの実装

まとめ

Page 13: 各種ルータに対応する P2P 通信環境に関する研究

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)

Page 14: 各種ルータに対応する P2P 通信環境に関する研究

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)