拠点間接続における一提案

既存ネットワークとの高親和性を持つ
ノードグルーピング機構に関する研究
さだ
2.背景
• 2.1 インターネットの普及
– IPアドレスが足りなくなるくらい多くのノードがインター
ネットを介した通信を実現
– ノードには2種類
• IPホスト:一般的なPCのように,ソフトウェアを容易に更新で
きるノード
• IPデバイス:ネットワークプリンタ・DLNA対応テレビなど,ソフ
トウェアの更新が無理・困難なノード
• 2.2 ノードグルーピングの必要性
– 現在のネットワークは(原則として)地理的に近いノー
ドを集約したもの
– ネットワークを跨いだ通信はファイアウォールやNAT
などの制限が多い
– 今後のユビキタスコンピューティングの発展に伴い,
より多くのノードが,(地理的に遠い)ネットワークを跨
いだ通信を行う必要性がでてくる
– ノードをグルーピングし,そのノード群で互いに透過的
な通信ができる基盤が必要
3. ノードグルーピング実現の問題点
• 3.1 問題の背景
– IPデバイスの普及
• 各ノードにソフトウェアインストールを要するモデルでは,IPデ
バイスがグループに参加できない
– ネットワーク構成の必要性
• ネットワークを物理的に変更(ルータを換装する,LANケーブ
ルを差し替えるなど)が必要なモデルは
– ネットワーク設定の必要性
• ネットワークを論理的に変更(ルーティングテーブルを変更す
るなど)
– ノードグルーピング時の目標
• IPデバイスへの変更を必要としない
– IPで通信できるだけでよい
• 既存のネットワーク構成を変更しない
– LANケーブルの抜き差しなど,物理的な変更を行わない
• 既存のネットワーク設定を変更しない
– ルータの設定など,論理的な変更を行わない
• 3.2 既存のモデル
– Sites Connected Model
トンネリング用の
サーバが必要
ネットワーク構成の
変更が必要
Layer 2 の場合
ルーティングテーブル
の書き換え必要
トンネリング用の
サーバが必要
Layer 3 の場合
• 既存のモデル
– Nodes Connected Model
IPデバイスのソフト
ウェア改変が必要
• 3.3 問題の解決策
– Sites Connected Model with Alternative Path ?
• 既存のPC1台にソフトウェアをインストールするだけで良い
• それ以外のノードに変更は必要ない
• ネットワーク構成,設定などを変更する必要がない
ソフトウェアの
インストール
4.設計
• 4.1 概要
• 4.2 動作手順
– 4.2.1 想定環境
• ホームネットワーク
• ルータ1台
– ソフトウェアの改変できない
– NAT,DHCPを提供
• IPホストが1台以上
– そのうち1台がソフトウェアのインストール可能
• IPデバイスが0台以上
• 4.2.2 ノードのグローバルな把握
– Global Buddy List:他ネットワークに存在するノードの
一覧
– XMPP(オープンIM用プロトコル)を用いて取得
あるXMPP サーバ
(talk.google.com など)
• 4.2.3 ノードのローカルな
把握
– IPデバイス接続時
• IPデバイスはDHCP要求
• PCはIPデバイスのMACアドレス
を把握する
新しいIPデバイスを検出しました
VPN接続するデバイスに追加?
デバイス名:
はい
接続,DHCP要求
いいえ
•
•
4.3.4 トンネリング通信
Proxy ARP をVPNに応用する
– PC (10.0.0.254) は未使用IPアドレスを発見
• 例えば 10.0.0.2 とする
• 10.1.0.1 と通信するときは,10.0.0.2 を用いる
– 端末 (10.0.0.1)は 10.0.0.2 と通信するためARPを投げる
– PCはARPに対して応答する
– 端末は10.0.0.2 宛のIPパケットを送信
• これはサーバに届く
– PCはそのIPパケットの宛先を 10.1.0.1 に書き換えてカプセル化
– 他のネットワークのPC (10.1.0.254) に送信
10.0.0.1
10.0.0.254
10.1.0.1
10.1.0.254
5.実装
• 5.1 概要
– 環境
• Windows XP
– 言語
• Visual C++
– ライブラリ
• 低レイヤのネットワーク処理
– WinPcap
• Buddy List の管理
– Libjingle を用いたXMPPによる通信
Contribution
• Lower load
– 監視すべきパケットが減る
• Scalability
– サーバの性能が足りなくなってきたらサーバを
追加するだけでよい
• Redundancy
– サーバを複数設置して冗長性を持たせること
が可能
Motivation
• 異なるネットワークに属するIPデバイス同士を容
易につなげたい
– ユビキタスコンピューティングの発展によって,IPデバ
イスおよびこのような需要は増えるはず
Internet
• 4.2.2 ノードのグローバルな把握
– 各PCはBuddy List を保持
– 各IPデバイスごとにアクセス制限ができる
○○家のDVDレコーダからの接続
NAS:
○許可 ●禁止
プラズマ: ●許可 ○禁止
Related Works
• アプローチの種類
– Application Layer
– Transport Layer
Related Work
• 拠点間接続VPN
– 端末は何もインストールしなくてもOK
– 端末とゲートウェイの間にIPsecサーバを設置
• IPsecサーバは端末からの「全て」のトラフィックを監視
• 特定宛先のパケットだけトンネリング処理
– SoftEther, P2P-CUG なども基本的に同一
ゲートウェイ
IPsecサーバ
• 問題点
– 性能的な問題
• 高負荷
– 全てのトラフィックを監視す
るので重い
– トンネリング通信以外の通
信も影響をうける
• ボトルネック
– サーバが遅いと,全通信が
遅くなる
– 気軽にサーバを追加でき
ない
» ネットワーク構成を
変更する必要がある
• 冗長性の欠如
– 壊れたら全く通信できない
– 使用上の問題
• 細かいアクセス制限が出
来ない
– DVDレコーダには通信
してよいが,NASはダメ
とか
• 普通にDHCPでIPアドレス
が割り当てられると,その
デバイスにどのアドレス
がついたか分かりにくい
• 2.3 ノードグルーピングのアプローチ
– Application Layer
• pucc
– Transport Layer
• SOCKS
– Network Layer
• SoftEther,
– Data Link Layer
• SoftEther, P2P-CUG,