1 / 14

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

各種ルータに対応する P2P 通信環境に関する研究. 学籍番号 200511206 情報科学主専攻 鈴木良平 指導教員    朴泰祐. 背景と目的. P2P 環境上での, Volunteer Computing に関する研究が盛んに行われている 多数の遊休状態の PC を P2P 環境上で接続して,分散コンピューティングに利用 例 :BOINC 家庭や企業に散在している PC は NAT やファイア ウォールによって守られているため,容易に相互 通信できない 通信環境や家庭用ルータ ( NATbox ) の種類に応じた NAT 越えをユーザ透過に行うシステムを提案する.

derick
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 各種ルータに対応するP2P通信環境に関する研究各種ルータに対応するP2P通信環境に関する研究 学籍番号 200511206 情報科学主専攻鈴木良平 指導教員   朴泰祐

  2. 背景と目的 • P2P環境上での,Volunteer Computingに関する研究が盛んに行われている • 多数の遊休状態のPCをP2P環境上で接続して,分散コンピューティングに利用 • 例:BOINC 家庭や企業に散在しているPCはNATやファイアウォールによって守られているため,容易に相互通信できない • 通信環境や家庭用ルータ(NATbox)の種類に応じたNAT越えをユーザ透過に行うシステムを提案する

  3. 現在のNAT越え技術 • リレー方式 • サーバなどを介した通信 • UDP hole punching • あらゆるNATboxに対応しているが,UDP通信 • TCP hole punching • TCP通信でNAT越えを行うが,すべてのNATboxで行えない • UPnP(Universal Plug and Play) • 特定のポートを開けれるが,操作できないNATboxがある • 先行研究 • RI2N/UDPを用いたP2Pオーバレイネットワーク「岡本 2006」 • 上記のようなNAT越え技術(通信モジュール)の実装,そして,実装した通信モジュールを用いてTCP,UDP通信をユーザ透過に行うシステムの実装

  4. NAT越え技術の使用例 • UDP hole punching • Skype • IP電話,テレビ会議用アプリケーション • UPnP • Windows Messenger • インスタントメッセージの交換などを行うアプリケーション

  5. システムの概念 通信相手がNATboxに保護されていたら,リレー方式,UPnP,UDP holepunchingなど利用 • 今回はUPnPモジュールと,UDP hole punchingモジュールを実装し,これら2つの通信モジュールに優先度をつけてノード間通信を行うシステムを実装 各ノードとそれを保護しているNATboxの種類に応じて, 自動的に通信方式を選択する 通信相手がNATboxに保護されていないなら,NAT越え技術は必要ない

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

  7. UPnPモジュール • UPnPデバイス開発用のライブラリとしてUPnP SDKを使用 • UPnP対応NATboxをSSDP (Simple Service Discovery Protocol) によって検索 • 発見できたら,NATboxの情報がXMLで記述されたURLの記載されたメッセージを受信 • NATboxの操作専用URLにAction命令を送信することで,操作する • グローバルアドレスの取得 • TCPもしくはUDPのポートを開く

  8. システムの構成(1) • サーバと接続 • 自分の情報の登録 • 通信相手の検索 • 通信相手を発見できたら,サーバに指示された通信方式を用いる

  9. システムの構成(2) • サーバ • 接続されたノードの情報を登録 • ノードの情報から通信方式を選択する • 通信する両ノードのうち • 片方だけUPnP対応NATboxによって保護されていたら,その内側のノードをインバウンド通信側とし,もう一方のノードをアウトバウンド通信側とする • 両方UPnP非対応NATboxだったら,UDP hole punchingを選択 • ノードに通信相手の情報と,通信方式の情報を送信する • UPnPモジュールとUDP hole punchingモジュールを統合したことで,TCP,UDP通信をユーザ透過に行うことが可能

  10. 評価環境 評価内容:各通信モジュールのスループット NATboxはすべて100Mbps対応

  11. 評価結果 • NATbo2のノードがアウトバウンド側, NATbox1のノードがインバウンド側 • UDP hole punching以外は Iperf2.0.2 を用いて測定 (NATbox1 → NATbox2) • UPnPモジュールによって,NATboxの設定を行うのに約6秒かかった • UDP hole punchingによってポートを開けるのに約20m秒かかった

  12. まとめ • 2つのNAT越え技術を統合し,ユーザ透過にした • UDP hole punchingとUPnPを適切に用いて,ノード間の通信に成功した • 今後の課題 • 通信モジュールの種類を増やす • UDP hole punchingを用いたストリーム通信の実装  先行研究のRI2N/UDPを用いることを検討する • DHT (Distributed Hash Table) を用いたサーバの実装

More Related