Transcript Document
ELA: A Fully Distributed VPN
over P2P Network
Sadanori Aoyagi, Makoto Takizawa, Masato Saito,
Hiroto Aida, and Hideyuki Tokuda
Keio University, Japan
Outline
ﻪVirtual Private Network (VPN)
ﻪELA
ﻩAbstract
ﻩDesign and Implementation
ﻩEvaluation of ELA
ﻪRelated Work
ﻪFuture Works and Conclusion
Background
VPN
ﻪWhat’s VPN.
ﻩAn architecture to construct a virtual private
connection across a public network.
ﻪClassification by
ﻩSite-to-Site VPN (usual)
ﻩOverlay VPN
What’s Site-to-Site VPN
ﻪWhat’s Site-to-Site VPN
ﻩUsed for replace dedicated line.
Tunnel
Overlay VPN
ﻪWhat’s overlay VPN.
ﻩConstructing VPN over overlay network.
ﻩOverlay VPN is independent from existing
network.
論理的に
等価
The Internet
LAN 1
LAN 2
LAN 3
LAN 4
LAN
Overlay VPN
ﻪTopology
ﻩClient/Server
ﻪProblem
ﻩRequire server
ﻯCost, single point of failure, bottleneck.
Company
The Internet
Branches
Company
VPN
The Internet
VPN
LAN
LAN
LAN
Outside
The Issue
ﻪ
Can we satisfy both of the following
issues?
1. To secure connection between nodes directly.
2. Easy setting if there are many applications.
Proposal
ﻪSystem that constructs a secure base
between user nodes extemporarily.
ﻪELA (Everywhere Local Area network)
ELA ~Abstract~
Abstract of ELA
ﻪPurpose
ﻩTo construct a secure base between user nodes
ﻪMethod
ﻩELA constructs an overlay VPN between user
nodes extemporarily.
The Internet
VPN
Example of the Utility
ﻪUse applications that user nodes connect each
other directly
ﻩInstant Messenger, Video Chat
ﻪUse applications for LAN
ﻩGroupware
ﻩWindows Network, NFS
ﻩSome network games
ﻪAssumption
ﻩAll user of nodes are acquaintance
ﻩUnder 30 nodes.
The reason ELA constructs
Overlay VPN
ﻪThere are 3 reasons.
ﻩNo modification of existing applications.
ﻩLittle risk of security.
ﻩIndependent network from unknown users.
Protocol Issue
ﻪTransport Protocol used by VPN
ﻩNodes in NAT connects other node with TCP easily.
ﻩUDP is more simple protocol than TCP.
Protocol
Merit
Demerit
TCP
Node in NAT connects other node
easily
TCP over TCP
UDP
Simple and Fast
Requirement of port forward setting in
NAT
Remarkable Points of ELA
ﻪNetwork of ELA
ﻩOverlay VPN
ﻩP2P Topology
↑ ﻯELA creates automatically.
ﻪTunneling Protocol
ﻩUse 2 protocols as a restrict of network.
ﻯUDP if there is no restrict by NAT or firewall.
ﻯTCP if node cannot use UDP.
ELA ~Design~
Image of ELA
ﻪELA constructs a virtual network.
↑Define this as ELA-VPN
ELA-VPN
Position of ELA
ﻪELA relays a data over ELA-VPN
ﻩUsers can use application like in LAN.
ﻩELA replays a data via other node if necessary
10.0.0.1
Application
10.0.0.2
ELA
ELA
Data flow by ELA
10.0.0.3
Application
ELA
The Internet
Example of how ELA is used
1. Starting ELA
ﻩ
ﻩ
Type “ela”, and ELA requires user authorization.
“ela0” network interface is created.
2. Communication using IP address of ELA-VPN
ﻪ
For example, a node uses samba and fetches the PDF
file from other node.
# ela
# ifconfig ela0
ela0
Link encap:Point-to-Point Protocol
inet addr:10.0.0.1 P-t-P:10.0.0.1 Mask:255.255.255.0
UP POINTOPOINT RUNNING NOARP MTU:1400
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Step 1
# smbclient \\\\10.0.0.3\\home -U sada
Smb: \> get thesis.pdf
Step 2
Sequence of Start inside ELA
1. Preparation
2. Constructing ELA-VPN
3. Using ELA-VPN
1. Preparation
1. Look up other node.
•
•
ELA doesn’t have this future.
Look up other node of ELA-VPN by using WWW or
E-mail
2. User Authentication
•
•
Nodes of ELA-VPN share list of users.
Nodes authenticate a new node with list of users.
1. Preparation
3. ELA assigns private IP address on ELA - VPN.
•
New node can use IP address not used by the other
nodes.
4. ELA classifies into 2 types.
•
Core node (CN):
•
•
•
The node can send and receive a data with UDP.
The node can be connected from other nodes with TCP.
Edge node (EN):
•
•
Except CN.
The node can connect to other nodes with TCP.
2.Constructing ELA-VPN
ﻪClockwise rotation by ID
ﻩID = hash(IP address)
ﻪCN:
ﻩInside of P2P network.
ﻩCNs make full mesh topology,
and connects each other with
UDP.
ﻪEN:
ﻩOutside of P2P network.
ﻩEach EN connects to CN
whose ID is next of the EN.
3. Connection Over ELA-VPN
ﻪAll core nodes share
the routing table.
ﻩKey: ID
ﻩValue:
ﻯIf CN, IP address on the
Internet.
ﻯIf EN, IP address on the
Internet of Core Node
that EN connects to.
Example of Relay
ﻪNode 27→14
ﻩNode 27 : relay to 3
ﻩNode 3:search from routing
table → relay to 16
ﻩNode 16: relay to 14
ﻪNumber of maximum relay
is 3.
Required Futures
ﻪConstructing P2P network
ﻩConstructing topology
ﻩRouting
ﻪUsing as VPN
ﻩNetwork Pseudo Device
ﻩCapsulating
ﻩSending, Receiving
ELA ~Implementation~
Structure of modules
Application
Send IP packet
Receiving IP packet
ELA
Constructing Topology
Send Capsulated
IP packet
Update
Send Message
Search
Routing
Receive Capsulated
IP packet
Routing Table
NO
Is to me?
YES
Capsulating
User layer
Sending
Message
Recieving
Recive data
Kernel layer
Network Pseudo
Device
When sending a data
ﻪApplication
ﻩSending a data
ﻪNetwork Pseudo Device
ﻩGetting an IP packet.
ﻪCapsulating Module
ﻩCapsulating
ﻪRouting Module
ﻩSearching the node to
relay
ﻪSending Module
ﻩRelaying to other node.
When relaying a data
ﻪReceiving Module
ﻩReceiving a data
which is not to me.
ﻪRouting Module
ﻩSearching the node to
relay
ﻪSending Module
ﻩRelaying to other
node.
When receiving a data
ﻪReceiving Module
ﻩReceiving a data
which is to me
ﻪCapsulating Module
ﻩEncapsulating
ﻪNetwork Pseudo Device
ﻪApplication
ﻩGetting a data
Proto-type Implementation
ﻪEnvironment
ﻩRed Hat Linux 7.2 (Kernel 2.4.18)
ﻪImplementation Method
ﻩC Language
ﻩNPD is implemented at Kernel layer
ﻩThe others are implemented at User layers
Implemented Modules
ﻪFinished
ﻩNPD, Capsulating Module, Sending
Module, Receiving Module
ELA ~Evaluation~
Evaluation
ﻪQualitative Evaluation
ﻩHow easy to construct between many user
nodes?
ﻪQuantitative Evaluation
ﻩOverhead of ELA
ﻩRelation between relay count and delay
Qualiative Evaluation
ﻪComparing with …
ﻩPoint-to-Point VPN
ﻩClient/Server VPN
Qualiative Evaluation
Cost
Saving work of users
Automatic selection
of Tunneling Protocol
Many nodes
Point-to-Point型
Client/Server型
○
△
×
×
○
×
ELA
○
△
○
×
○
○
ﻪELA is most suitable when many nodes
construct VPN each other!
Quantitive Evaluation
ﻪEvaluation Environment
ﻩConstructin on VMware
ﻯPC (CPU Pentium4 EE 3.6GHz, Memory 2.0GB)
ﻩHost OS: Windows XP (SP1)
ﻩGuest OS: Knoppix 3.1 for VMware
VMware
①
VMware
①
②
②
192.168.88.128 192.168.88.132
③
192.168.88.133
TCP
UDP
④
192.168.88.134
③
EN
10.0.0.3
CN
10.0.0.1
CN
10.0.0.2
ELA-VPN
④
EN
10.0.0.4
Overhead of ELA
ﻪ
Measuring RTT by using Ping
1. No ELA (①⇔②)
2. ELA, tunneling protocol is UDP(①⇔②)
3. ELA, tunneling protocol is TCP(①⇔③)
VMware
①
②
1
VMware
①
②
2
CN
③
UDP
TCP
④
③
EN
CN
ELA-VPN
④
EN
Result of Overhead of ELA
1.4
1.219
RTT (msec)
1.2
1
0.892
0.8
0.6
0.4
0.304
0.2
0
Without ELA
With ELA (UDP)
With ELA (TCP)
With/Without ELA
ﻪThere is overhead by ELA.
ﻪThere is more overhead when TCP than when UDP.
Relation between
relay count and delay
ﻪMesuaring RTT by using ping
ﻩ
ﻩ
ﻩ
ﻩ
1 relay (③⇔①)
2 relays (③⇔① ⇔② )
3 relays (③⇔① ⇔② ⇔④)
※ There is no case of more than 4 relays.
CN
③
EN
VMware
①
②
3
ELA-VPN
UDP
TCP
CN
④
EN
Result of between
relay count
and
delay
3
2.453
RTT (msec)
2.5
1.799
2
1.5
1.219
1
0.5
0
1 hop
2 hops
ﻪMore relay counts, more delay.
ﻪBut they are a little delay.
3 hops
Related Work
Related Work
ﻪIVGMP (Internet VPN
Group Management
Protocol)
ﻩOne VPN System
ﻩEvery nodes connects to
other with IPSec.
ﻩVNOC provides a policy.
ﻩNo mention to detail of
VNOC and topology.
Future Works and Conclusion
Future Works
ﻪImplementation
ﻩConstructing Topology Module
ﻩRouting Module
ﻪEvaluation
ﻩUse ELA at an actual environment
ﻯHow scalable? How robust?
ﻪImprovement of Design
ﻩSupports QoS, Improvement of scalability.
Conclusion
ﻪProposal of ELA
ﻩPurpose is to construct secure base.
ﻪDesign
ﻩELA constructs VPN over P2P network.
ﻪEvaluation
ﻩELA is most suitable when constructing VPN
between many user nodes.
ﻩOverhead is little
Thank you.
ﻪThank you for your kind attention!
トポロジ構築モジュール
ﻪP2Pネットワークの形成&維持
ﻩノードの参加処理(認証、IPアドレス割当など)
ﻩノードの種類に基づくP2Pネットワークの形成
ﻩノードの参加・離脱に応じてルーティングテー
ブルを更新
ルーティングモジュール
ﻪコアノードの場合
ﻩ通信内容の転送先を、ルーティングテーブルを参照し
て決定
ﻪエッジノードの場合
ﻩ常に親のコアノードに転送指示
NPD (Network Pseudo Device)
ﻪ仮想ネットワークデバイス
ﻩアプリケーションがELA-VPN上のノードと通信
する際に利用
ﻩELA-VPNにおけるIPアドレスやネットマスクを
割当て
カプセリングモジュール
ﻪ送信時
ﻩIPパケットのカプセリング(ELA独自のヘッダの付加、
ペイロードの暗号化)
ﻪ受信時
ﻩIPパケットのカプセリング除去
送信モジュール
ﻪルーティングテーブルの指示に従い、デー
タを送信
受信モジュール
ﻪ他ノードからデータを受信
ﻩメッセージ:トポロジ構築モジュールへ
ﻩ自分宛のIPパケット:カプセリングモジュールへ
ﻩ他ノード宛のIPパケット:ルーティングモジュールへ
Related work (2)
ﻪIPv6 P2P VPN システム
ﻩ株式会社DITが開発
ﻩIPv6 のIPsecを用いたVPN
ﻩEnd-to-Endの通信
ﻯ管理が煩雑化
ﻩIPv6 の導入が必要