拠点間接続における一提案 - 慶應義塾大学 徳田研究室
Download
Report
Transcript 拠点間接続における一提案 - 慶應義塾大学 徳田研究室
利用者主導型仮想プライベート・
サブネットワークに関する研究
慶應義塾大学政策・メディア研究科修士二年
サイバーインフォマティクス(CI) 青柳禎矩
主査 徳田英幸,副査 高汐一紀,戸辺義人
概要
ﻪ利用者主導型VPN構築機構のShepherdの提案
ﻩノード単位のアクセス制御が可能
ﻩ既存ネットワーク構成,設定などを変更する必要がない
ﻩ導入回数はプライベートネットワーク毎に一度のみ
:Shepherd
アウトライン
ﻪ
ﻪ
ﻪ
ﻪ
ﻪ
利用者主導型VPNの必要性
Shepherdの提案および関連研究との比較
Shepherdの設計・実装
評価
今後とまとめ
本研究の背景と目的
プライベートネットワーク
ﻪIP通信可能なノードの増加
ﻩノード:個人利用する端末
ﻪ組織でのプライベートネットワーク構築
:プライベート
ネットワーク
仮想プライベートネットワーク
(VPN: Virtual Private Network)
ﻪ遠隔地に存在する同一組織のプライベートネット
ワークの結合
ﻩノード間の透過的な通信の実現
ﻩネットワーク管理者による構築
VPN
Public Network
接続形態によるVPNの分類
CE
CE
private network A
private network
CE
CE
private network B
(a) Virtual Leased Line
CE
CE
private network A
private network B private network C
(b) Virtual Private Routed Networks/
Virtual Private LAN Segment
node a
node c
mobile
node
node b
node d
public network
private network A
private network B
(c) Virtual Private Dial Networks
(d) Virtual Private SubNetworks
本研究の着目点
ﻪ利用者主導型の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
ブリッジノード
が必要
ネットワーク構成の
変更が必要
:VPSN構築機構
既存の実装
・P2P-CUG (NEC) など
問題点
・ネットワーク構成変更が必要
・ネットワークの知識が必要
関連研究 (2/3)
ﻪRouting Model
ルーティングテーブル
の書き換え必要
:VPSN構築機構
既存の実装
・SoftEther (ソフトイーサ) など
問題点
・ルータの設定変更が必要
・ネットワークの知識が必要
関連研究 (3/3)
ﻪFlat Model
:VPSN構築機構
既存の実装
ノードのソフトウェア
改変が必要
・i3
・hamachi
・ELA など
問題点
・導入の手間が多い
・ノードによっては導入困難
全てのノードに
インストールの必要
Shepherd
ﻪShepherdのトラフィック集約手法
ﻩProxy ARP を利用する
ﻩシェパード(羊飼い)のようにトラフィックを特定
ノードに呼び寄せることができる
送信先
送信元
ns
ARP要求
ss
nd
ARP代理応答
sd
本来応答
すべきノード
比較
ﻪシェパードは導入が容易である
Bridge
Routing
Flat
Shepherd
ネットワークの
物理的変更
必要
不要
不要
不要
ネットワークの
論理的変更
不要
必要
不要
不要
機構導入回数
少ない
少ない
多い
少ない
導入後の設定
必要
必要
必要
必要
Shepherdの設計と実装
Shepherd の機能要件
ﻪノード単位のアクセス制御
ﻪ既存プライベートネットワークの物理的変
更の不要
ﻪ既存プライベートネットワークの論理的変
更の不要
ﻪ少ない機構導入回数
ﻪ接続先の容易な発見
ﻪIP アドレス衝突の回避
機能要件の実現手法 (1/4)
ﻪノード単位のアクセス制御
⇒ ﻩフォールドの概念を導入
fold 1
fold 2
The Internet
sa
Private Network A
na
nb
sb
Private Network B
機能要件の実現手法 (2/4)
ﻪ既存プライベートネットワークの物理的変更の不要
ﻪ既存プライベートネットワークの論理的変更の不要
ﻪ少ない機構導入回数
⇒ ﻩProxy ARP によって実現
送信先
送信元
ns
ARP要求
ss
nd
ARP代理応答
sd
本来応答
すべきノード
機能要件の実現手法 (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
送信先IPアドレス: 192.168.0.3
192.168.0.2
192.168.0.4
192.168.0.1
192.168.0.3
192.168.0.2
192.168.0.4
全体構成と制約条件
ﻪプライベートネットワーク
ﻩインターネットとの接続を持つEthernet , IPv4のネットワーク
ﻩShepherdを導入した1台のシェパードノード
ﻩDHCPサーバの存在
ﻪXMPPサーバ
ﻩシェパードノードのアカウントが存在すること
ﻩ他のアカウントを追加していること(フレンドシェパードノード)
XMPP サーバ
Shepherd
シェパードノード
ns
ss
シェパードノード
nd
sd
(ssのフレンドシェパードノー
ド)
モジュール構成
Internal Message
User Interface Module
Shepherd ID, password
Managing Fold
Module
Account Module
Authenticate
Refresh
Shepherd
Nodes List
Refer
Nodes List
Refresh
Tending Module
Define Fold
Fold List
Refresh
Shepherd
Traffic
Edit Folds
Refer
Proxy Module
ARP, DHCP
Node’s traffic
Network
To Shepherd
Managing Server
To Nodes
To Nodes, Friend
Shepherd Nodes
To Friend
Shepherd Nodes
実装
ﻪShepherd
ﻩ実装対象OS
ﻯWindows XP
ﻩ実装言語
ﻯC++ (Visual Studio .NET)
ﻳヘッダを合わせて約6000行
ﻩ使用ライブラリ
ﻯWinPcap: 低レイヤのネットワーク処理
ﻯLibjingle: XMPP通信
スクリーンショット
初期設定
フレンドシェパード
ノード一覧
フォールド一覧
メッセージ
Shepherdの利用手順 (1/5)
ﻪXMPPサーバへのログイン
ﻩフレンドシェパードノードの発見
XMPP サーバ
フレンドシェパードノードが
表示される
発見
ns
ss
nd
sd
Shepherdの利用手順 (2/5)
ﻪフォールドの作成
ﻩ把握したノードの指定
ﻩフレンドシェパードノードの指定
ﻩフォールド名の指定
ns
ブロードキャストフレーム
(ARP要求等)
ss
フォールドが
表示される
ns
ss
nd
sd
Shepherdの利用手順 (3/5)
ﻪ送信先IPアドレスの決定
ﻩリレーエージェントDHCP要求を出す
ﻩndのIPアドレスが決定される
ﻩ画面に表示されるIPアドレスに送信
ns
192.168.2.190
DHCP要求
ss
192.168.2.198
(192.168.2.197)
nd
10.0.0.1
DHCP応答受信
sd
10.0.0.2
Shepherdの利用手順 (4/5)
ﻪトラフィックの誘導
ﻩns が 192.168.2.197 宛に送信するためARP要求する
ﻩシェパードノードssがARPに応答する (Proxy ARP)
→nsが192.168.2.197 宛IPパケットをssに送信するよう
になる
ARP要求
where 192.168.2.197
ns
192.168.2.190
(192.168.2.197)
ss
192.168.2.198
ARP応答
nd
10.0.0.1
sd
10.0.0.2
Shepherdの利用手順 (5/5)
ﻪ実際のトラフィック転送
ﻩnsが192.168.2.197宛に送信→ssへ
ﻩssはカプセリングしてsdに転送
ﻩsdは宛先を10.0.0.1に書き換え等してndへ転送
IP Packet
To:192.168.2.197
ns
192.168.2.190
ss
192.168.2.198
(192.168.2.197)
nd
10.0.0.1
sd
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
○
○
×
×
×
定量的評価
ﻪ計測項目
: Shepherd
ﻩ遅延
ﻯnode 1 - node 4間のRTT
ﻯpingを用いて計測
router
ﻩスループット
ﻯnode 1 -> node 4 に対する
UDPスループット
ﻯnetperfを用いて計測
node 1
node 2
private network A
192.168.1.0/24
node 3
node 4
private network B
192.168.2.0/24
計測環境
定量的評価 (1/2) 遅延
ﻪ
ﻩ
ﻩ
16
14
ﻪ
ﻪ
12
RTT (msec)
RTT増加(中央値で約 2.84 msec の増加)
ばらつき(q1は2.72 msec, q3は4.05 msec)
結果⇒許容範囲内である
ﻩ
ﻩ
10
Shepherdによる処理増加
ホップ数の増加
インターネットでは定常的に発生しうる値
実装改良・ハードウェア性能向上により改善
8
6
4
1
2
0
Shepherd
No Shepherd
2
Shepherdの処理時間の分析 (1)
ﻪPentium Counter を用いて計測
ﻩShepherdに評価用実装を加えたため,若干性能が減少する
ﻪノードからシェパードノードへのEthernetフレーム転送時
ﻩEthernetフレームの修正に用いるデータのキャッシュなどによって
改善の余地あり
処理時間
割合
転送先フレンドシェ 0.026 msec
パードノードの検索
0.04
Ethernetフレームの
修正
0.454 msec
0.74
フレンドシェパード
ノードへの転送
0.303 msec
0.22
計
0.563 msec
1
router
1
node 1
node 2
node 3
node 4
Shepherdの処理時間の分析 (2)
ﻪシェパードノードからノードへのEthernetフレーム
転送時
ﻩ検索処理は処理削減による改善の余地あり
ﻩノードへの転送は,WinPcapに頼らない手法 (Raw
Socketなど) を検討する必要あり
処理時間
割合
送信元・送信先
ノードの検索
0.316 msec
0.32
Ethernetフレームの
修正
0.250 msec
0.25
ノードへの転送
0.435 msec
0.43
計
1.126 msec
1
router
2
node 1
node 2
node 3
node 4
定量的評価 (2/2) スループット
ﻪスループットは 35.53 Mbps
(中央値)
100
90
ﻩShepherdによる処理の限界
Throughput (Mbps)
80
ﻪ結果⇒許容範囲である
70
ﻩインターネットの方がボトル
ネックになる
60
50
40
30
20
10
0
Shepherd
No Shepherd
スループット減少の過程の検証
70000
60000
id of ip header
50000
40000
Shepherd
Ethereal
30000
20000
10000
0
0
2
4
6
8
10
12
time (sec)
ﻪIPヘッダのIDに着目
ﻪ考察
ﻩ最初:バッファ内の受信したEthernetフレーム全てを送信しようとする
ﻩ途中から:Shepherdは処理が追いつかずバッファが溢れ,受信した
Ethernetフレームを間引いて送信する
今後とまとめ
今後の課題
ﻪセキュリティ
ﻩ既存プロトコルなどを用いた下記項目の実装
ﻯ通信の暗号化
ﻯ改ざん検出
ﻯ成りすまし検出
ﻪオーバヘッド軽減
ﻩ実装改良による遅延の軽減,スループットの向上
ﻪ利用制限
ﻩ必要に応じて,管理者による制限
まとめ
ﻪ動的ノードグルーピングの必要性
ﻪ利用者主導型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 Layer
ﻯSOCKS
ﻩNetwork Layer
ﻯSoftEther,
ﻩData Link Layer
ﻯSoftEther, P2P-CUG,
通信相手による通信の分類
ﻪパブリックなサーバに対する通信
ﻪプライベートなノード同士の通信
google
番組表取得
動画鑑賞
ファイル共有
Shepherdのモジュール図
User Interface
ノード
追加要請
ノード
追加?
ノード
追加
Nodes managing
module
MAC
アドレス
Node managing
module
宛先存在
確認
宛先
存在応答
宛先
要求
宛先
応答
内部メッセージ
Inducing module
DHCP
要求
ARP
要求
Capsulating module
ARP
応答
トラフィック
受信
トラフィック
送信
トラフィック
router
private network A
192.168.1.0/24
private network B
192.168.2.0/24