利用者主導型仮想プライベート・ サブネットワークに関する研究
DESCRIPTION
利用者主導型仮想プライベート・ サブネットワークに関する研究. 慶應義塾大学政策・メディア研究科修士二年 サイバーインフォマティクス (CI) 青柳禎矩 主査 徳田英幸,副査 高汐一紀,戸辺義人. : Shepherd. 概要. 利用者主導型 VPN 構築機構の Shepherd の提案 ノード単位のアクセス制御が可能 既存ネットワーク構成,設定などを変更する必要がない 導入回数はプライベートネットワーク毎に一度のみ. アウトライン. 利用者主導型 VPN の必要性 Shepherd の提案および関連研究との比較 Shepherd の設計・実装 評価 - PowerPoint PPT PresentationTRANSCRIPT
利用者主導型仮想プライベート・サブネットワークに関する研究
慶應義塾大学政策・メディア研究科修士二年サイバーインフォマティクス (CI) 青柳禎
矩
主査 徳田英幸,副査 高汐一紀,戸辺義人
概要
ه 利用者主導型 VPN 構築機構の Shepherd の提案ه ノード単位のアクセス制御が可能ه 既存ネットワーク構成,設定などを変更する必要がないه 導入回数はプライベートネットワーク毎に一度のみ
: Shepherd
アウトライン
ه 利用者主導型 VPN の必要性ه Shepherd の提案および関連研究との比較ه Shepherd の設計・実装ه 評価ه 今後とまとめ
本研究の背景と目的
プライベートネットワーク
ه IP 通信可能なノードの増加ه ノード:個人利用する端末
ه 組織でのプライベートネットワーク構築
:プライベートネットワーク
Public NetworkPublic Network
仮想プライベートネットワーク(VPN: Virtual Private Network)
VPN
ه 遠隔地に存在する同一組織のプライベートネットワークの結合ه ノード間の透過的な通信の実現ه ネットワーク管理者による構築
接続形態による VPN の分類
CE CE
private network A private network B
(a) Virtual Leased Line
CECE CE
private network Bprivate network A private network C
(b) Virtual Private Routed Networks/Virtual Private LAN Segment
CE
private network public network
(c) Virtual Private Dial Networks
mobilenode
private network A
(d) Virtual Private SubNetworks
private network B
node a node c
node b node d
本研究の着目点
ه 利用者主導型の VPN に着目ه 従来の多くの VPN は管理者主導型
ى 利用者は無意識に VPN を利用していたه 利用シナリオ
ى 利用者が他のプライベートネットワークのノードと通信したい時ى プライベートネットワークは同一組織とは限らない
ه 機能要件ى ノード単位のアクセス制御が可能であることى 利用者のみで容易に VPN 構築機構を導入・利用可能であること
映像が見たい
映像が見たい
本研究の目的
ه 利用者主導型 VPN の機能要件ه ノード単位のアクセス制御が可能であること
ى VPN の接続形態の一種である VPSN によって実現可能ه 利用者のみで容易に VPN 構築機構を導入可能であること
既存のى VPSN 構築機構には存在しない
利用者のみで容易に導入可能な VPSN 構築機構を提案し,設計・実装すること
本研究による貢献
ه 下記を実現可能ه プライベートネットワーク専用アプリケーションの利用ه グループ専用アプリケーションの通信基盤
プライベートネットワーク専用の
アプリケーション使用 (DLNAなど)
グループ専用のアプリケーション実装
映像鑑賞
映像鑑賞新しいユビキタスアプリケーション
Shepherd の提案および関連研究との比較
Shepherd の提案
ه 利用者のみで容易に導入可能な VPSN 構築機構ه 既存ネットワーク構成,設定などを変更する必要がないه 導入回数はプライベートネットワーク毎に一度のみ
: Shepherd
関連研究
ه ノードが送信した Ethernet フレームの集約手法の観点から分類ه Bridge Modelه Routing Modelه Flat Model
関連研究 (1/3)
ه Bridge Model
ブリッジノードが必要
ネットワーク構成の変更が必要
既存の実装
・ P2P-CUG (NEC) など
問題点
・ネットワーク構成変更が必要
・ネットワークの知識が必要
: VPSN 構築機構
関連研究 (2/3)
ه Routing Model
ルーティングテーブルの書き換え必要 既存の実装
・ SoftEther ( ソフトイーサ ) など
問題点
・ルータの設定変更が必要
・ネットワークの知識が必要
: VPSN 構築機構
関連研究 (3/3)
ه Flat Model
ノードのソフトウェア改変が必要
全てのノードにインストールの必
要
既存の実装
・ i3・ hamachi・ ELA など
問題点
・導入の手間が多い・ノードによっては導入困難
: VPSN 構築機構
Shepherd
ه Shepherd のトラフィック集約手法ه Proxy ARP を利用するه シェパード(羊飼い)のようにトラフィック
を特定ノードに呼び寄せることができる
ns ss nd sd ARP 要求 ARP 代理応答
本来応答すべきノー
ド
送信元 送信先
比較
ه シェパードは導入が容易である
Bridge Routing Flat Shepherd
ネットワークの物理的変更
必要 不要 不要 不要
ネットワークの論理的変更
不要 必要 不要 不要
機構導入回数 少ない 少ない 多い 少ない
導入後の設定 必要 必要 必要 必要
Shepherd の設計と実装
Shepherd の機能要件
ه ノード単位のアクセス制御ه 既存プライベートネットワークの物理
的変更の不要ه 既存プライベートネットワークの論理
的変更の不要ه 少ない機構導入回数ه 接続先の容易な発見ه IP アドレス衝突の回避
機能要件の実現手法 (1/4)
ه ノード単位のアクセス制御ه ⇒フォールドの概念を導入
The Internet
Private Network A Private Network Bsa na nb sb
fold 1
fold 2
機能要件の実現手法 (2/4)
ه 既存プライベートネットワークの物理的変更の不要ه 既存プライベートネットワークの論理的変更の不要ه 少ない機構導入回数
ه ⇒Proxy ARP によって実現
ns ss nd sd ARP 要求 ARP 代理応答
本来応答すべきノー
ド
送信元 送信先
機能要件の実現手法 (3/4)
ه 接続先の容易な発見ه プライベートネットワークによっては IP アドレスが不定
利用者が接続毎に手動で教えてもらうのは利便性に欠けるىه ⇒ XMPP (eXtensible Messaging and Presence Protocol) の利
用インスタントメッセンジャのオープンプロトコルىXMPPى サーバによるアカウントの発行,認証
ي アカウント毎の Jabber ID 割り当てすでに多くの実装が存在ى
ي Google Talk など
機能要件の実現手法 (4/4)
ه IP アドレス衝突の回避ه 新しいアドレス空間の形成 (10.0.0.0/8 など )
既存アドレス空間と衝突する可能性があるىه 既存アドレス空間の拡張
IPى アドレスを多く消費するが,衝突の可能性はない
実際の IP アドレス : 192.168.0.1 192.168.0.2 192.168.0.1 192.168.0.2 送信先 IP アドレス : 192.168.0.3 192.168.0.4 192.168.0.3 192.168.0.4
全体構成と制約条件ه プライベートネットワーク
ه インターネットとの接続を持つEthernet , IPv4 のネットワークه Shepherd を導入した 1台のシェパードノードه DHCP サーバの存在
ه XMPP サーバه シェパードノードのアカウントが存在することه 他のアカウントを追加していること(フレンドシェパードノード)
ns ss nd sd
XMPP サーバ
シェパードノード(ss のフレンドシェパードノード)シェパードノード
Shepherd
モジュール構成
Internal Message
TrafficUser Interface Module
Account ModuleManaging Fold
Module
ShepherdNodes List
Nodes List Fold List
Tending Module Proxy Module
Authenticate Refresh Refer Refresh Define Fold
Refresh Refer
Shepherd ID, password Edit Folds
ARP, DHCP Node’s traffic Shepherd
NetworkTo Shepherd Managing Server
To Nodes To Friend Shepherd Nodes
To Nodes, Friend Shepherd Nodes
実装
ه Shepherdه 実装対象 OS
Windows XP ى
ه 実装言語C++ (Visual Studio .NET)ى
ي ヘッダを合わせて約 6000行
ه 使用ライブラリWinPcap: 低レイヤのネットワーク処理ىLibjingle: XMPPى 通信
スクリーンショット
初期設定
フレンドシェパードノード一覧フォールド一覧
メッセージ
Shepherd の利用手順 (1/5)
ه XMPP サーバへのログインه フレンドシェパードノードの
発見
ns ss nd sd
XMPP サーバ
発見フレンドシェパード
ノードが表示される
Shepherd の利用手順 (2/5)
ه フォールドの作成ه 把握したノードの指定ه フレンドシェパードノードの指定ه フォールド名の指定
ns ssブロードキャストフレーム
( ARP 要求等)
ns ss nd sd
フォールドが表示される
Shepherd の利用手順 (3/5)
ه 送信先 IP アドレスの決定ه リレーエージェント DHCP 要求を出すه nd の IP アドレスが決定されるه 画面に表示される IP アドレスに送信
ns ss nd sd DHCP 要求
192.168.2.190 192.168.2.198
(192.168.2.197)
10.0.0.1 10.0.0.2
DHCP 応答受信
Shepherd の利用手順 (4/5)ه トラフィックの誘導
ه ns が 192.168.2.197 宛に送信するため ARP 要求する
ه シェパードノード ss が ARP に応答する (Proxy ARP)
→ns が 192.168.2.197 宛 IP パケットを ss に送信するようになる
ns ss nd sd
ARP 要求where 192.168.2.197
ARP 応答192.168.2.190 192.168.2.198
(192.168.2.197)
10.0.0.1 10.0.0.2
Shepherd の利用手順 (5/5)ه 実際のトラフィック転送
ه ns が 192.168.2.197宛に送信→ ssへ
ه ss はカプセリングして sd に転送
ه sd は宛先を 10.0.0.1 に書き換え等して ndへ転送
ns ss nd sd
IP PacketTo:192.168.2.197
192.168.2.190 192.168.2.198
(192.168.2.197)
10.0.0.1 10.0.0.2
Shepherd の評価
評価手法
ه 定性的評価ه 機能の観点による関連研究との比較
ه 定量的評価遅延・スループットの計測によるه
Shepherd の性能評価
定性的評価 - 評価項目 -
ه 利用者主導型 VPN の機能要件ه ノード単位のアクセス制御ه 既存プライベートネットワークの物理的変更の不
要ه 既存プライベートネットワークの論理的変更の不
要ه 少ない機構導入回数ه 接続先の容易な発見ه IP アドレス衝突の回避
定性的評価 - 評価対象 -
ه ノード単位のアクセス制御可能な機構に限定
定性的評価 - 評価結果 -既存 PN の物理
的変更不要既存 PN の論理
的変更不要少ない
機構導入回数接続先の
容易な発見IP アドレス衝突の回避
Shepherd ○ ○ ○ ○ ○p2pcug × ○ ○ ○ ×
ELA ○ ○ × × ○i3 ○ ○ × × ○
hamachi ○ ○ × ○ ○SoftEther
(Bridge Model)× ○ ○ × ×
SoftEther (Router Model)
○ × ○ × ×
SoftEther(Flat Model)
○ ○ × × ×
SSH ○ ○ × × ×SOCKS ○ ○ × × ×
定量的評価
ه 計測項目ه 遅延
ى node 1 - node 4 間の RTT
ى ping を用いて計測ه スループット
ى node 1 -> node 4 に対する UDP スループット
ى netperf を用いて計測 node 1 node 2 node 3 node 4
private network A private network B 192.168.1.0/24 192.168.2.0/24
router
: Shepherd
計測環境
定量的評価 (1/2) 遅延
ه RTT 増加(中央値で約 2.84 msec の増加)ه Shepherd による処理増加ه ホップ数の増加
ه ばらつき( q1 は 2.72 msec, q3 は 4.05 msec )ه 結果⇒許容範囲内である
ه インターネットでは定常的に発生しうる値ه 実装改良・ハードウェア性能向上により改善
1 2
Shepherd の処理時間の分析 (1)
ه Pentium Counter を用いて計測ه Shepherd に評価用実装を加えたため,若干性能が減少する
ه ノードからシェパードノードへの Ethernet フレーム転送時ه Ethernet フレームの修正に用いるデータのキャッシュなどによっ
て改善の余地あり
node 1 node 2 node 3 node 4
router
処理時間 割合
転送先フレンドシェパードノードの検索
0.026 msec 0.04
Ethernet フレームの修正
0.454 msec 0.74
フレンドシェパードノードへの転送
0.303 msec 0.22
計 0.563 msec 1
1
Shepherd の処理時間の分析 (2)
ه シェパードノードからノードへの Ethernet フレーム転送時ه 検索処理は処理削減による改善の余地ありه ノードへの転送は, WinPcap に頼らない手法 (Ra
w Socket など ) を検討する必要あり
node 1 node 2 node 3 node 4
router処理時間 割合
送信元・送信先ノードの検索
0.316 msec 0.32
Ethernet フレームの修正
0.250 msec 0.25
ノードへの転送 0.435 msec 0.43
計 1.126 msec 1
2
定量的評価 (2/2) スループット
ه スループットは 35.53 Mbps (中央値)ه Shepherd による処理の限界
ه 結果⇒許容範囲であるه インターネットの方がボト
ルネックになる
スループット減少の過程の検証
ه IPヘッダの ID に着目ه 考察
ه 最初:バッファ内の受信した Ethernet フレーム全てを送信しようとするه 途中から: Shepherd は処理が追いつかずバッファが溢れ,受信した Eth
ernet フレームを間引いて送信する
今後とまとめ
今後の課題
ه セキュリティه 既存プロトコルなどを用いた下記項目の実装
通信の暗号化ى改ざん検出ى成りすまし検出ى
ه オーバヘッド軽減ه 実装改良による遅延の軽減,スループットの向上
ه 利用制限ه 必要に応じて,管理者による制限
まとめ
ه 動的ノードグルーピングの必要性ه 利用者主導型 VPSN 構築機構 Shepherd の提
案ه ノード単位のアクセス制御が可能な VPN
ه 利用者のみで導入可能ه 導入はプライベートネットワーク毎に一回のみ
参照文献
ه "異種セグメント端末による分散型仮想 LAN 構築機構の設計と実装 " 青柳 禎矩 , 滝沢 允 , 斉藤 匡人 , 間 博人 , 徳田 英幸 情報処理学会全国大会 Vol.66 (3) 2004 年 3月 March. 2004
ه "ELA: 分散型 VPN の設計と実装 " 青柳 禎矩 , 滝沢 允 , 斉藤 匡人 , 間 博人 , 徳田 英幸 日本ソフトウェア学会インターネットテクノロジーワークショップ (WIT2004)
ه "ELA: A Fully Distributed VPN System over Peer-to-Peer Network" Sadanori Aoyagi, Makoto Takizawa, Masato Saito, Hiroto Aida, Hideyuki Tokuda IEEE International Symposium on Applications and the Internet (SAINT 2005) 2005 年 1月 January. 2005 pp.89-92
ه "Shepherd: 利用者主導型動的ノードグルーピング機構 " 青柳禎矩 , 高橋ひとみ , 斉藤匡人 , 間博人 , 徳田英幸 日本ソフトウェア学会 SPA X
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 LayerSOCKSى
ه Network Layer ,SoftEtherى
ه Data Link Layer ,SoftEther, P2P-CUGى
通信相手による通信の分類
ه パブリックなサーバに対する通信ه プライベートなノード同士の通信
番組表取得
動画鑑賞ファイル共
有
Shepherd のモジュール図
Inducing module Capsulating module
User Interface
Node managingmodule
Nodes managingmodule
ARP要求
ARP応答
DHCP要求
MACアドレ
ス
ノード追加?
ノード追加要請
トラフィック受信
トラフィック
送信
宛先要求
宛先応答
宛先存在確認
宛先存在応答
ノード追加
内部メッセージ
トラフィック
private network A private network B 192.168.1.0/24 192.168.2.0/24
router