完全分散型VPNの設計と実装

完全分散型VPNの設計と実装
ECN sada
親 makoto, hitomi
アウトライン
‫ ﻪ‬背景と問題意識
‫ ﻪ‬ELA
‫ﻩ‬
‫ﻩ‬
‫ﻩ‬
‫ﻩ‬
提案と概要
設計課題
ネットワーク構築方法
実装と評価
‫ ﻪ‬関連研究
‫ ﻪ‬まとめと今後
背景と問題意識
背景
‫ ﻪ‬インターネットの普及と仕事の変化
‫ ﻩ‬在宅勤務制を導入する企業の増加(Oracle
等)
‫ ﻩ‬自由な時間や場所で仕事が可能に
‫ ﻪ‬在宅勤務で利用されるネットワーク技術
‫ ﻩ‬VPN
VPN
‫ ﻪ‬なぜVPNが利用されるのか?
‫ ﻩ‬専用線やダイアルアップより遥かに安価
‫ ﻩ‬既存のソフトウェアに手を加えることなく利用
できる
‫ ﻩ‬認証や通信経路暗号化等によるセキュリティ
‫ ﻪ‬個人同士の作業にも利用できないか?
‫ ﻩ‬しかし企業のような設備がない
問題意識
‫ ﻪ‬やりたいこと
‫ ﻩ‬個人同士が協調作業するための専用ネットワークとし
て、VPNを構築したい
‫ ﻩ‬オーバーレイ型VPN
‫ ﻪ‬従来のオーバーレイ型VPN機構
‫ ﻩ‬クライアントサーバモデルによる運用・性能の問題点
インターネット
問題意識
‫ ﻪ‬クライアントサーバモデルのVPN
‫ ﻩ‬運用の問題点
‫ ﻯ‬Addressing
‫ ﻯ‬Single Point of Failure
‫ ﻯ‬Etc.
‫ ﻩ‬性能の問題点
‫ ﻯ‬Single Source of Bottleneck
ELA ~提案と概要~
ELA
‫ ﻪ‬ELA (Everywhere Local Area network)
‫ ﻩ‬個人同士のノードによる専用ネットワーク
(ELA-VPN)
‫ ﻯ‬LANと同様に扱える
‫ ﻯ‬内部的にはP2Pネットワークになっており、ノード同
士の通信にサーバ不要
‫ ﻯ‬ELA-VPN用IPアドレスの割り当て
ELA イメージ図
P2Pネットワーク
10.0.0.1
10.0.0.2
10.0.0.6
10.0.0.3 ELA-VPN
10.0.0.5
10.0.0.4
インターネット
ELA ~関連研究~
関連研究(1)
‫ ﻪ‬Emotion Link
‫ ﻩ‬仮想的なLANを構築
‫ ﻩ‬通信の中継はサーバが行う
‫ ﻩ‬EL IPアドレスが割り当てられる
‫ ﻩ‬サーバのダウン=サービス停止
関連研究(2)
‫ ﻪ‬IPv6 P2P VPN システム
‫ ﻩ‬株式会社DITが開発
‫ ﻩ‬IPv6 のIPsecを用いたVPN
‫ ﻩ‬End-to-Endの通信
‫ ﻯ‬管理が煩雑化
‫ ﻩ‬IPv6 の導入が必要
ELA ~設計課題~
設計課題
‫ ﻪ‬カプセル化パケットの転送プロトコル
‫ ﻩ‬TCP? UDP? GRE? IPSec?
‫ ﻩ‬Firewall, NATなどのノードを考慮
‫ ﻪ‬P2Pネットワークの構築方法
‫ ﻩ‬ルーティング手段の確立
カプセル化パケットの転送プロトコル
‫ ﻪ‬NATやFirewallによる通信への影響
‫ ﻩ‬TCP/IP 設定によって通信可、内側からセッションを
張れることが多い
‫ ﻩ‬UDP/IP 設定によって通信可
‫ ﻩ‬GRE
ルータやNATによっては通信不可
‫ ﻩ‬IPSec
〃
‫ ﻪ‬以上の理由から、オーバーレイ型VPNではTCP,
UDPを利用する実装が多い
カプセル化パケットの転送プロトコル
‫ ﻪ‬UDPのメリット
‫ ﻩ‬転送速度がTCPより約1.6倍高速(OpenVPN
の場合、当然実装による)
‫ ﻪ‬TCPのメリット
‫ ﻩ‬Firewall, NAT内からでも接続できる
‫ ﻪ‬共にメリットがある
P2Pネットワークの構築方法
‫ ﻪ‬カプセル化パケットの転送プロトコル
‫ ﻩ‬TCPとUDPを適宜使い分けるネットワークトポロジ
‫ ﻩ‬ノードが利用できるプロトコルによってノードを分別
‫ ﻪ‬ELA-IPアドレスとインターネットのIPアドレスの対
応表
‫ ﻩ‬全ノードで分散して保持、必要に応じてやり取り
‫ ﻩ‬分散ハッシュテーブルの利用
P2Pネットワークの構築方法
ELA ~ネットワーク構築方法~
設計方針
‫ ﻪ‬ネットワーク
‫ ﻩ‬ルーティングに分散ハッシュテーブルを利用
‫ ﻩ‬TCPとUDPの両方の特性を生かす
‫ ﻪ‬認証や初期ノード発見
‫ ﻩ‬サーバを用意
論理ネットワークの例
30
コアノード
27
3
エッジノード
8
23
UDP
TCP
12
16
14
TCP(予備)
コアノードとエッジノード
‫ ﻪ‬コアノード
‫ ﻩ‬他ノードからTCPを受け付けられる
‫ ﻩ‬UDPで送受信できる
‫ ﻩ‬ELA-IPアドレスと実際のIPアドレスの対応表
を持つ
‫ ﻪ‬エッジノード
‫ ﻩ‬コアノード以外のノード
論理ネットワークの例
30
コアノード
27
3
エッジノード
8
23
UDP
TCP
12
16
14
TCP(予備)
ブートストラップ
‫ ﻪ‬サーバに認証される
‫ ﻪ‬二種類に分類される
‫ ﻩ‬コアノード、エッジノード
‫ ﻪ‬ELA-VPNの他のノードのIPアドレスを聞く
‫ ﻪ‬ELA-IPアドレスを決定
コア
ノード
認証
他のノード
はここ
ELA-VPN
論理ネットワークの例
分散ハッシュテーブル
30
xx.yy.zz.3
27
3
8
23
12
gg.hh.ii.23
16
dd.ee.ff.16
aa.bb.cc.12
14
Key
Value
3
xx.yy.zz.3
8
aa.bb.cc.12
12
aa.bb.cc.12
14
dd.ee.ff.16
16
dd.ee.ff.16
23
gg.hh.ii.23
27
xx.yy.zz.3
30
xx.yy.zz.3
Key = hash(ELA-IP);
Value = インターネット
におけるIPアドレス
論理ネットワークの例
30
コアノードが参加す
る場合:例 12
27
1. ハッシュテーブル
の更新
3
8
23
12
16
14
2. 8のセッション張
替え
論理ネットワークの例
30
通信例:27→14
1. 27→3
27
3
2. 分散ハッシュテー
ブルの参照
8
3. 3→16
4. 16→14
23
12
16
14
論理ネットワークの例
30
コアノードが離脱す
る場合:例 12
27
1. 8はセッションの
張替え
3
8
23
×
12
16
14
2. ハッシュテーブル
の更新
ELA ~実装と評価~
実装
‫ ﻪ‬OpenVPNを拡張実装
‫ ﻩ‬オープンソースのVPN実装
‫ ﻩ‬TCP, UDPのPoint-to-PointのVPN
‫ ﻩ‬Linux, FreeBSD, Windowsに対応
‫ ﻪ‬分散ハッシュテーブルにChordを利用
モジュール図
ユーザインタフェース
ルーティング
管理用ヘッダ付加
OpenVPN
UDP
トンネリング
TCP
トンネリング
仮想ネットワークデバイス
Chord
DHT
ネットワークデバイス
評価
‫ ﻪ‬定量評価
‫ ﻩ‬シミュレータの利用
‫ ﻯ‬シナリオの想定
‫ ﻯ‬Scalability, Robustness
‫ ﻯ‬Delay, Throughput
‫ ﻪ‬定性評価
‫ ﻩ‬既存のVPN機構と比較
まとめと今後
まとめ
‫ ﻪ‬ELAのコンセプト
‫ ﻩ‬個人のノード同士でP2P型VPNを構築
‫ ﻩ‬通常のLANと同等に扱える
‫ ﻪ‬ELAの設計
‫ ﻩ‬TCPとUDPを使い分けるネットワークトポロジ
‫ ﻩ‬分散ハッシュテーブルを利用したルーティング
今後のスケジュール
‫ ﻪ‬9月
‫ ﻩ‬WIT2004の論文執筆
‫ ﻪ‬10月
‫ ﻩ‬実装
‫ ﻪ‬11月・12月
‫ﻩ‬
評価・卒論執筆
成果物
‫ ﻪ‬Conference
‫ ﻩ‬S. Aoyagi, M. Takizawa, M. Saito, H. Aida, and H. Tokuda
“A Fully Distributed VPN System over Peer-to-Peer Network”
The 2005 International Symposium on Applications and the
Internet (SAINT 2005) 2005年1月
以上です
隠しスライド
カプセル化パケットの転送プロトコル
‫ ﻪ‬TCPとUDPの性能差の実験
スループット (Mbps)
‫ ﻩ‬パケット損失率を変えてスループット計測
実験環境
100
90
80
70
60
50
40
30
20
10
0
PC: ThinkPad T41p
TCP over UDP
TCP over TCP
Network: 100base-TX
使用ツール
Netperf, NistNet
0 1 2
3 4 5 6 7 8 9 10
パケット損失率 (%)
VPN
‫ ﻪ‬VPNとは
‫ ﻩ‬公衆通信網を利用した仮想的な専用通信路
‫ ﻪ‬VPNのメリット
‫ ﻩ‬専用線よりコストが低い
‫ ﻩ‬既存のソフトウェアを変更せずに、インター
ネット等の公衆通信網でセキュアな通信が可
能
VPNの種類(1)
‫ ﻪ‬LAN間接続VPN(左図)
‫ ﻩ‬従来の専用線の代替
‫ ﻪ‬リモートアクセスVPN(右図)
‫ ﻩ‬従来のダイアルアップの代替
VPNの種類(2)
‫ ﻪ‬オーバーレイ型VPN
‫ ﻩ‬Layer 7でネットワークを作り、VPNを構築
‫ ﻩ‬ノードの物理的配置に依らない柔軟なネット
ワークを構築できる
‫ ﻩ‬クライアントサーバ型
VPN機構の比較
通信網がインターネット
一対一 PPTP, L2TP, OpenVPN
それ以外
ATM
一対多 SoftEther, TinyVPN,
Emotion Link, Vtun
多対多 ELA
BGP/MPLS