完全分散型VPNの設計と実装
Download
Report
Transcript 完全分散型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