...

ピアツーピア型レイヤ 2 インターネット VPN 自動設定方式の実装と評価 3

by user

on
Category: Documents
2

views

Report

Comments

Transcript

ピアツーピア型レイヤ 2 インターネット VPN 自動設定方式の実装と評価 3
情報処理学会第67回全国大会
4S-3
ピアツーピア型レイヤ 2 インターネット VPN 自動設定方式の実装と評価
堀 賢治
株式会社 KDDI 研究所
プロバイダ
異なるサブネットにある PC,Web カメラ,ネットワークプリンタ,
ストレージ,ゲーム機同士などが,あたかも同じサブネットにあ
るかのように通信できるレイヤ 2 インターネット VPN(Virtual
Private Network, 仮想私設網)を,複雑な設定なく容易に構築
できるソフトウェア[1]が注目されている.[1]は VPN トラヒックが
特定ノードに集中するのに対し,ピアツーピア(以下, P2P と呼
ぶ)型トポロジを採ればトラヒックが特定ノードに集中せず有利
である一方,VPN ルータの設定が複雑で煩わしい.著者らは
[2]においてユーザ宅に置くことを想定した VPN ルータにおけ
る VPN トンネルの自動設定機能を,プロバイダから常時安定し
て提供する方式を提案している.本稿ではその実装概要と,
VPN トンネルの接続処理時間の観点から評価結果を述べる.
VPN
VPN
管理
サーバ
(3)ユーザ
認証
(5)ルータリ
スト更新
VPN
ルータ(R3)
VPN
ルータ(R1)
VPN
ルータ(R2)
VPNルータ管理メッセージ
VPN1のルータリスト={R1}
ホスト
(ユーザの操作するPC)
HTTP
(1)R1の管理用web画面を開く
(2)ユーザID, パスワード入力
(4)VPN参加操作(VPN名称=
「 VPN1」 を入力, 事前共有鍵
を指定)
(6)DHCPリ
レーエージ
ェント設定 DHCPサーバのUDPポートxxxにDHCPパケットを転送させる
DHCP(DHCPサーバのUDPポートxxxへ転送)
(8) IPアドレス
割当て
ピアツーピア(P2P)型レイヤ 2 インターネット
VPN の概要と構築時の問題
DHCP
(7)IPアドレス
再取得操作
★ プロバイダのDHCPサーバによりVPN内のIPアドレス割当
てを管理する(3.節の(3))
※以下, R2,R3でもR1と同様にVPN参加操作を行ったとする.
本稿想定のインターネット VPN はインターネット上に構築す
る.特定ノードにすべての VPN トラヒックが集中するセンター型
の VPN に対し,複数 VPN ルータ間で直接 VPN トラヒックを交
換する VPN は P2P 型と呼ばれる.VPN トラヒックは IP パケット
にカプセル化されたインターネットの経路(以下,VPN トンネル
と呼ぶ)上を転送されるが,IP パケット内に直接 Ethernet フレー
ムを格納する方式がレイヤ 2 インターネット VPN である.本稿
では VPN トンネルを VPN ルータで終端し,ルータ配下に
DHCP クライアントを搭載したホストを接続する形態を仮定する.
P2P 型の場合は全 VPN ルータ数 n に応じて最大 n(n-1)/2
個,センター型の場合は常に n 個の VPN トンネルを設定する
必要がある.VPN トンネル数に応じて IP アドレスなど必要とな
る構成情報の数も増え,また ADSL など非固定 IP アドレスのア
クセス回線を利用する場合,VPN トンネルを接続するたびに利
用中の IP アドレスを確認しなければならないため,P2P 型では
VPN ルータ設定が複雑である.
3.
インター
ネット
※本図はR1,R2,R3を「 VPN1」 に順次参加させ
る様子を表している.
インターネット VPN 自動設定方式の概要
筆者らは VPN ルータにおける VPN トンネルの自動設定機
能および DHCP サーバによる IP アドレス割当て機能をプロバイ
ダから常時安定して提供する P2P 型レイヤ 2 インターネット
VPN 自動設定方式[2]を提案している.本方式の概要を図 1 と
ともに以下に示す.尚,ユーザは VPN 管理サーバに ID とパス
ワードを予め登録する.
(1) ユーザが VPN 管理サーバ上に VPN の識別子(VPN 名
称)と参加を許可するユーザ ID とを登録することで,登録ユー
ザ(登録したユーザとされたユーザ)は当該 VPN に VPN ルータ
を参加させることが可能となる.登録操作はある一台の VPN ル
ータの管理用 web 画面からユーザ自身が行う(図 1 では省略).
(2) 登録ユーザが VPN ルータの管理用 web 画面を開いてロ
グインすると,VPN 管理サーバ上で認証され(図 1 (1)∼(3)),
所望の VPN 名称を入力(図 1 (4))することで,VPN 管理サーバ
上の当該 VPN のルータリストに,当該 VPN ルータ(およびその
IP アドレス)が追加される(図 1 (5),(9),(12)).ルータリスト上に 2
台以上の VPN ルータがあれば,そのすべての VPN ルータの
間にフルメッシュで VPN トンネルが自動接続されるように,
VPN 管理サーバから VPN ルータに対し,独自に定義したプロ
トコルによって要求する(図 1 (10),(11),(13),(14)).このときルー
Implementation and Evaluation of Automatic Configuration Method of P2P
Layer2 Internet VPNs,Kenji HORI, Kiyohito YOSHIHARA and Hiroki
HORIUCHI, KDDI R&D Laboratories Inc.
(9)ルータ
リスト更新
R2が参加
2.
DHCP
DHCP
サーバ
R1のみがVPN1に参加
はじめに
堀内 浩規
VPN1のルータリスト={R1,R2}
★ VPN管理サーバにVPN内
のルータリストを維持し, これ
を基にVPNトンネルを接続する
(3.節の(2))
(10)VPN
トンネル接 UDPポートyyyにてVPNトンネルソフトウェアを待ち受けさせる
続処理
R1のUDPポートyyyにVPNトンネル接続させる
(11)VPNトンネル接続
(12)ルータ
リスト更新 VPN1のルータリスト={R1,R2,R3}
(13)VPN
トンネル接
続処理
R3が参加
1.
吉原 貴仁
※R2,R3でもR1と同様にDHCP
リレーエージェントを設定し, 配
下のホストにIPアドレスを取得さ
せる.
※R3にもR2と同様に, VPN1内
の他のルータ(R2,R3)に対する
VPNトンネル接続先を指定.
(14)VPNトンネル接続
図 1 P2P 型レイヤ 2 インターネット VPN 自動設定方式の概要
タリスト上の IP アドレスが利用される.
(3) VPN ルータ上に設ける DHCP リレーエージェントとプロバ
イダの管理する DHCP サーバとにより VPN ルータおよびホスト
の IP アドレス割当てを管理する(図 1 (6)∼(8)).DHCP サーバ
は個々の VPN 内の IP アドレス割当てを管理する複数のサー
バインスタンスを異なる UDP ポート上で同時実行する.
4.
インターネット VPN 自動設定方式の実装
3 節の方式に従って P2P 型レイヤ 2 インターネット VPN 自動
設定ソフトウェアを,Linux 2.4 系 OS を搭載した x86 ベースの
PC に実装した.ソフトウェアの構成を図 2 とともに以下に示す.
VPN 管理サーバ
(1) VPN ルータとの間で管理メッセージの送受を行い,VPN
への参加や VPN トンネル接続処理などを行う VPN 管理サー
バデーモンを C 言語にて新たに実装する.
(2) VPN 名称,VPN へ参加を許可されたユーザ ID,VPN に
参加している VPN ルータの IP アドレスなどを管理するデータ
ベースとして MySQL4.0.22 を用いる.
DHCP サーバ
(1) ISC dhcpd v3.0pl2(DHCP サーバデーモン)を利用し,
VPN 管理サーバからの要求により DHCP サーバインスタンスを,
任意の UDP ポートを指定して複数同時に実行可能とする.
VPN ルータ
(1) VPN 管理サーバからの管理メッセージを受信し,VPN ト
ンネルソフトウェア(以下(6)にて説明)や DHCP リレーエージェ
ントを起動する VPN ルータ管理クライアントデーモンを C 言語
3−485
VPNおよびユーザ情報データベース
VPN管理サーバデーモン
DHCPサーバ
.........
DHCPサーバデーモン#2
(UDPポート10002)
DHCPサーバデーモン#1
(UDPポート10001)
インターネット
VPN管理サーバから
VPNルータへの命令
(例:VPNトンネルソフトウェア起動)
VPN
ルータ2
(R2)
ユーザからVPN管理
サーバへの操作入力
(例:VPN参加)
VPNルータ管理
クライアントデーモン
VPNトンネル
ソフトウェア
DHCPリレー
エージェント
Linuxカーネル
br
tap
VPNトンネル
ソフトウェア
tap
VPNトンネル
(EthernetフレームをSSLにてカプセル化)
Ethernetフレーム
※tap:仮想Ethernetデバイスドライバ
※br:Ethernetブリッジデバイスドライバ
Ethernet
※本評価ではインターネットを介さず,
Ethernetスイッチにより直接接続
VPNルータ1(R1)
DHCP VPN
VPN
DHCP
管理
サーバ
サーバ
CPU:Pentium IV 2.4GHz
RAM:512MBytes
LAN:rtl8139c(100Base-TX)
VPNログオン
クライアント
CGIスクリプト
ユーザ向けVPN
管理用webサーバ
ホスト
(ユーザの操作するPC)
図 2 ソフトウェアおよびシステム構成
にて新たに実装する.
(2) ISC dhcrelay v3.0pl2 に対し DHCP パケット転送先 UDP
ポートを任意指定可能とする機能拡張を行った DHCP リレーエ
ージェントを搭載する.
(3) ユーザとの対話処理のために管理用 web サーバとして
apache 2.0.43 を利用する.apache より cgi(perl)スクリプト経由に
て VPN ログオンクライアントを起動する.
(4) C 言語で実装した VPN ログオンクライアントを使い,ユー
ザ認証処理や VPN 参加操作時の VPN 管理サーバへのデー
タ送信を行う.
(5) 物理 Ethernet デバイスで受信した Ethernet フレームは,
Linux カーネルの Ethernet ブリッジデバイスドライバ(br)を経由
して,VPN トンネル接続先に対応する複数の仮想 Ethernet デ
バイスドライバ(tap)に転送する.
(6) ユーザランドプロセスとして実装した VPN トンネルソフトウ
ェア(OpenVPN 1.6.0)により,tap に転送した Ethernet フレームを
UDP/IP 上の SSL パケットとしてカプセル化し,下記(7)の通り決
定する VPN トンネルに転送する.
(7) Ethernet ブリッジデバイスドライバ(br)において Spanning
Tree Protocol(STP)を起動し,VPN ルータ間での Ethernet フレ
ームのループ転送を防止するとともに,Ethernet フレームを転
送する VPN トンネルを決定する.
5.
評価
評価方法
提案方式の VPN トンネルの自動設定における有効性を評
価するため,4.節に示した実装および図 3 に示す評価構成を
用い,(n-1)台のルータが VPN に参加している状態から,さらに
1 台のルータに対し VPN 参加操作を行って合計 n 台が一つの
VPN に参加完了となるまでの時間 T を評価した.ここで VPN
参加操作の時刻とは図 1 (4)の参加操作の後,VPN ルータがメ
ッセージ(図 1(A))を VPN 管理サーバに送信した時刻 T1 を指
し,VPN に参加完了とはすべての VPN トンネルが接続完了し
た時刻 T2 を指し,T=T2-T1 と定義する.ここでは T1,T2 を
VPN ルータのログファイル出力によって確認する.
評価結果と考察
評価結果を図 4 に示す.図 4 において Nt とは,合計n台の
VPN ルータをフルメッシュ接続する総 VPN トンネル数 n(n-1)/2
と , (n-1) 台 を フ ル メ ッ シ ュ 接 続 す る 総 VPN ト ン ネ ル 数
(n-1)(n-2)/2 との差(=n-1)であり,上記評価方法で VPN ルータ
R1∼ R6: VPNルータ
R1
....
PC
R2
R6
CPU:Geode 266MHz
RAM:128MBytes
LAN:dp83815(10Base-T)
VPN参加操作用と
してR1∼ R6に各
一台接続
CPU: PentiumIII
700MHz
OS:WindowsXP
ブラウザ: IE6SP1
図 3 評価構成
VPNトンネル接続完了までの時間T[秒]
VPN
ルータ3
(R3)
DHCP
パケット
VPN管理サーバ
16
15
14
13
12
11
10
9
8
7
6
5
実線:Tの実測値
破線:T = 2.6Nt + 3.2
1
2
3
4
5
接続するVPNトンネル数Nt[個]
図 4 VPN トンネル数に対する接続時間の評価結果
を 1 台新たに参加させたとき,新たに接続される VPN トンネル
数に等しい.
図 4 の実線が T の実測値であり,破線は T=2.6Nt+3.2 による
線形近似値を示している.まず実測値より Nt=5 でも T=16[秒]
となっており,提案方式は[2]で主に想定する個人や小規模グ
ループ向け用途としては実用上問題無い処理時間を達成でき
ると考えられる.
次に実測値の傾向は良好に線形近似できていることから,
VPN 接続完了までの時間は本評価の範囲において Nt(≒n)
にほぼ比例していることが分かる.これは本実装が複数 VPN ト
ンネルを順次接続する処理となっているためと考えられ,処理
を並行化する等によって処理時間を短縮可能と思われる.また
破線の傾きから VPN トンネル 1 個あたりの接続処理に約 2.6
秒を要していることが読み取れるが,この中には VPN トンネル
ソフトウェア(OpenVPN)による処理時間が含まれており,使用
する VPN トンネルソフトウェアによって変動すると思われる.
尚,図 3 の構成では VPN 管理サーバと VPN ルータとの間
にインターネットを経由する伝送遅延が加わらない.このため
実際には数十から数百ミリ秒程度の時間が T に加わると考えら
れるが,図 4 に示した T の実測値に比してその影響は小さい.
6.
おわりに
本稿では P2P 型レイヤ 2 インターネット VPN 自動設定方式
に基づくシステムの実装概要を述べるとともに,小規模な VPN
の構築においては実用上問題無い処理時間を達成できること
を示した.日頃ご指導頂く(株)KDDI 研究所浅見所長,ならび
に長谷川執行役員に感謝する.なお本研究の一部は,総務
省委託研究「ユビキタスネットワーク技術の研究開発」により実
施している.
参考文献
[1] SoftEther VPN System, http://www.softether.com/.
[2] 堀他, パーソナル用途向けインターネット VPN の自動設
定方式, FIT2004 講演論文集 L-010, Sep.2004.
3−486
Fly UP