Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

SoftEtherVPN PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 62

Outline of Master Thesis,

January 16, 2013.

Design and Implementation


of SoftEther VPN
Daiyuu Nobori
Department of Computer Science,
Graduate School of Systems and Information Engineering,
University of Tsukuba, Japan.

Background:
Various VPN Protocols
VPN Client Devices

PCs: Windows, Mac, iOS, Android,


Routers: Cisco, Juniper, NEC, IIJ,

VPN Protocols

SoftEther VPN
L2TP/IPsec
SSTP
OpenVPN
L2TPv3/IPsec
EtherIP/IPsec

System Administrators have to prepare multiple


VPN Servers for each VPN protocol.
2

Characteristics of VPN Protocols


L2TP

SSTP

PPTP

OpenVPN

L2TPv3

EtherIP

SoftEther
VPN

Upper
Protocol

IP

IP

IP

Ethernet

Ethernet

Ethernet

Ethernet

Transport
Protocol

IPsec

HTTPS

GRE

Specific
TCP/UDP

IPsec

IPsec

HTTPS

Proxy
Support

NO

YES

NO

YES

NO

NO

YES

Restricted
FW

Blocked

PASS

Blocked

Blocked

Blocked

Blocked

PASS

Client OS
(PC)

Windows
Windows Windows
Linux
Windows
Linux
Linux
Mac
Mac
Mac

FreeBSD

Windows
Linux

Client OS

iOS
Android

Client OS

Cisco

(Smartphone)

(VPN Routers)

iOS
Android

Cisco
IIJ SEIL

NEC IX

Local Area Network

Windows

VPN Server

Mac

Server

iPhone, iPad

Cisco 1800 Series

SYS
OK

Android

SYS
PWR

Cisco

IIJ SEIL

Various VPN Protocols

NEC

Ideal All-in-One
VPN Server Program
Ideal All-in-One
VPN Server Program
SSTP
Server Function

SSTP VPN Client


(e.g. Windows)

OpenVPN
Server Function

A VPN Server
Computer

Such a VPN Server Program


doesn't Exists.

OpenVPN Client
(e.g. Mac OS X)

A Problem:
There is No Such an Ideal
VPN Server Program.

Existing VPN Server Programs Compatibles

Microsoft
RRAS
Mac OS X
Server
OpenVPN
Cisco IOS
NEC IX
Router OS
IIJ SEIL
Router OS

L2TP

SSTP

OpenVPN

L2TPv3

EtherIP

Supporting Multi VPN Protocols


by Single VPN Server Computer
Two VPN Server Programs
Run Together on a Host.
Microsoft RRAS
IP Routing
Between Two
VPN Servers

SSTP
Server Function

SSTP VPN Client


(e.g. Windows)

OpenVPN Server

OpenVPN
Server Function
A VPN Server
Computer

SSTP VPN Tunnel

OpenVPN Tunnel

OpenVPN Client
(e.g. Mac OS X)

Supporting Multiple VPN


Protocols by Single VPN Server
Overhead Problem

Context Switching Costs


User-to-Kernel Switching Costs
Memory Copying Costs

Management Problem

User Management Tasks


Log File Management Tasks
Inefficient IP Address Polls

VPN Server

VPN Tunnel #2

VPN Tunnel #1

Overhead Problem

Program #1

VPN Server Program #2


VPN Protocol #2

VPN Protocol #1

User Mode

Overhead

Overhead

Kernel Mode
tun / tap / ppp

tun / tap / ppp

Overhead

IP Router /
Ethernet Bridge

A VPN Server Host PC

10

Management Problem
Microsoft RRAS

Register
VPN Server
Admin

User A User B User C

Register

Same Users

SSTP
Server Function

OpenVPN Server

User A User B User C

OpenVPN
Server Function

A VPN Server
Computer

11

Log File Problem


Microsoft RRAS
Confusing

Log Files
of MS-RRAS

SSTP
Server Function
OpenVPN Server

VPN
Server
Admin

OpenVPN
Server Function
Log Files
of OpenVPN
A VPN Server
Computer

12

IP Address Pool Duplication


Problem
Microsoft RRAS
192.168.0.101192.168.0.150

IP Pool #1

SSTP
Server Function

Duplicate
IP Address Reserves
192.168.0.151192.168.0.200

OpenVPN Server
IP Pool #2

OpenVPN
Server Function

13

Goal of the Research


Microsoft
RRAS
Mac OS X
Server
OpenVPN
Cisco IOS
NEC IX
Router OS
IIJ SEIL
Router OS

SoftEther
VPN

L2TP

SSTP

OpenVPN

L2TPv3

EtherIP

SoftEtherVPN

14

"SoftEther" means Software Ethernet.

SoftEther VPN Server


A high-performance VPN server which supports multiple VPN protocols.
SE-VPN

Windows

OpenVPN

Linux

L2TP

EtherIP

MS-SSTP

L2TPv3

Mac

iPad
Android Tab
Windows RT

iPhone
Android
Windows Phone

Cisco VPN Routers

Supports various VPN client devices.

15

Difficulties of the Research


7 VPN protocols by one VPN server
Inter-VPN protocol packet exchange
Bridges between L2 (Ether) / L3 (IP)

Management

User authentication
Dynamic IP address assignment to VPN clients

Security

Security policy / Packet filter


Packet log
Isolation

16

How to Support 7 VPN Protocols?


L2 VPN Protocols

L3 VPN Protocols

SoftEther VPN
OpenVPN (L3)
EtherIP/IPsec
L2TPv3/IPsec

L2TP/IPsec
SSTP/IPsec
OpenVPN (L2)

Strategy #1
Separate L2 VPN Ethernet / L3 VPN Router
Layer-conversions between L2 / L3
Problem: Duplication of Security Implementations, Complicated Codes

Strategy #2 [adopted]
Treat all L3 VPN as L2 VPN
All L3 packets will be descended to L2 Ether frames.
Benefit: Single Security Implementations, Simple Codes

17

Design #1
Ethernet (L2) as Common Bus.

Virtual Ethernet Switching Hub.


Layer conversion for IP-based VPN
protocols (L2TP, SSTP, OpenVPN L3).
Virtual DHCP Client.

18

Design #2
Kernel-mode

Difficult to debug
Lack of portability

Multiple User-mode Process

Easy to implement
Overhead Problem still occurs

Single User-mode process [adopted]


Easy to implement
Reduce overhead
19

Virtual Ethernet Switching Hub


Virtual Hub
Exchange Frames
Ether User IP Pkt

VPN Server Module #1

Forwarding
Database
(FDB)

VPN Session #2

VPN Session #1

Ether User IP Pkt

Ether User IP Pkt

VPN Server Module #2

20

L3/L2 Transparent Conversion


Virtual Hub

Ethernet Frame
Dest
MAC

Insert an
Ethernet
Header

DHCP Request

TP
ID

User IP Pkt

ARP Request

DHCP Response

L3 <-> L2
Protocol Converter

Session

DHCP Server
IP Address Pool

Src
MAC

ARP Response

Other Hosts
on Ethernet

Ethernet Frame
Dest
MAC

Src
MAC

TP
User IP Pkt
ID

L2 (Ethernet)
L3 (IP)

User IP Pkt

L3-VPN

VPN User IP Pkt

21

All-in-One VPN Server


Virtual Hub (Software Ethernet Switch) Module

VPN Session

VPN Session

L2-VPN Protocol Module


(e.g. SE-VPN, L2TPv3, etc.)

Ether User IP Pkt


Pass "As-Is"
Ether Frame L3-VPN Protocol Module
(e.g. L2TP, SSTP, etc.)

Pass Converted
Ether Frame

Ether User IP Pkt

Ether User IP Pkt


User IP Pkt

VPN Ether User IP Pkt

L3-VPN Tunnel

L2-VPN Tunnel

Decapsulate

Convert to
Ethernet Frame

Decapsulate
VPN User IP Pkt

Encapsulate

Encapsulate

Ether User IP Pkt


User IP Pkt

L2-VPN Client
L3-VPN Client

22

User Authentication
User Auth
Request

Virtual Hub
User Auth
Response

Configured to
Use the
External Radius.

User
Authentication
Database

SSTP
Server Function

User 'A'
Pass '123'

External
User 'B'
Radius Server Pass '456'

L2TP/IPsec
Server Function

Session #2

Session #1
SSTP Client
(e.g. Windows) Login as

User 'A'
Pass '123'

L2TP/IPsec Client
(e.g. Mac OS X) Login as

User 'B'
Pass '456'

Supports PAP (Password Authentication Protocol) and


MS-CHAPv2 (Microsoft Challenge-Handshake Authentication Protocol ver 2)
via Local User-auth DB and External Radius/Active Directory Server.

23

Security
Virtual Hub

Security Functions
Packet Filter

Security Policy Enforcer

Packet Logger

Exchange Frames
Ether User IP Pkt

Session #2

User
Authentication
Database

Session #1

Packet
Filter
Rules

Packet Logs
to the Disk

24

Isolation between Virtual Hubs


VPN Server Process
Virtual Hub #2

Virtual Hub #1

Ether User IP Pkt

Ether User IP Pkt

L3-VPN Client

VPN Group #1

L3-VPN Tunnel

L2-VPN Tunnel

L3-VPN Tunnel

L2-VPN Tunnel

L2-VPN Client

L2-VPN Client

Isolated

L3-VPN Client

VPN Group #2

25

Implementation
SoftEther VPN Server
Current features

Virtual Ethernet Switching Hub


Security Policy / Packet Filter Enforcement
Packet Logging
Internal and External User-authentication

Language

C / C++

IPsec Modules based on

BitVisor IPsec Client (Univ of Tsukuba)


26

SoftEther VPN Architecture


Physical Local Area Network

Local Bridge
Session

Physical
Network Adapter

SoftEther VPN Server


IP Routing
between Segments

Virtual Hub #1

Virtual Hub #2

Security Functions
Packet Filter

Security Policy Enforcer

Packet Logger

Virtual
Layer-3
Switch

Exchange Frames
Ether User IP Pkt

Packet Adapter

Packet Adapter

FDB

SoftEther VPN Client

VPN Session
#2

VPN Session
#1

VPN Ether User IP Pkt

Packet Log
Lazy Writer

VPN Ether User IP Pkt

SoftEther VPN Client

27

OS Abstraction Layer
SoftEther VPN Functions
(Cedar Module)

Function Calls
Library Routines
(Mayaqua Module)

OS
Independent
Parts

Abstraction Layer
Win32
UNIX
9x

User Mode

NT

Linux

FreeBSD Solaris

Darwin

OS
Dependent
Parts

System Calls

Kernel Mode
NDIS Virtual
Network
Adapter Driver

NDIS
Local Bridge
Driver

tap Driver

SOL_PACKET
Raw Sockets

28

7 Protocol Modules
SoftEther VPN Server
L2 VPNs

Virtual Hub

Mac

iPad
Android Tab
Windows RT

L2TPv3/IPsec
Protocol Module

iPhone
Android
Windows Phone

EtherIP/IPsec
Protocol Module

EtherIP

OpenVPN (L2)
Protocol Module

L2TPv3

OpenVPN (L3)
Protocol Module

OVPNL2

Linux

SSTP
Protocol Module

OVPNL3

L2TP

SE-VPN
Windows

L2TP/IPsec
Protocol Module

SSTP

SE-VPN
Protocol Module

L3 VPNs

Cisco VPN Routers

Various Types of VPN Clients


29

Divide 7 VPN Protocols


into Sub Modules
Overlapped Parts of Processing VPN Protocols

PPP stack is used by L2TP and SSTP.


IPsec stack is used by L2TP, L2TPv3 and EtherIP.
OpenVPN stack is used by OpenVPN L2 and L3.
A portion of L2TP stack is used by L2TPv3.

Divide into Sub Modules

Minimize Volumes of Codes


Reduce Bugs

Connections between Sub Modules


Tube: A new fast in-process pipe

for Single-thread and Multi-thread inter-module


communication.
30

Sub Modules
SoftEther VPN Server
A Virtual Hub

L3 / L2
Protocol Converter
PPP
Sub Module

SE-VPN
Sub Module

L2TPv3
Sub Module

HTTP Parser
Sub Module

L2TP
Sub Module
OpenVPN
Sub Module

SSL
Sub Module

OpenVPN (L3)
Listener

OpenVPN (L2)
Listener

L2TPv3/IPsec
Listener

EtherIP/IPsec
Listener

OVPNL2

L2TPv3

EtherIP

L2TP

SE-VPN

SSTP
Listener

OVPNL3

L2TP/IPsec
Listener

IPsec
Sub Module

SSTP

SE-VPN
Listener

EtherIP
Sub Module

L2 VPNs
L3 VPNs

31

Tube
(fast lightweight pipe)
Module A
(on Thread 1)

Module A
(on Thread 1)

TubeSend()
Packet

TubeSend()
Packet

TubeFlush()

Tube for Single Thread

Queue Packet Packet Packet Packet

Tube for Multi Threads


Queue Packet Packet Packet Packet

Synchronization
Object

TubeRecv()
Packet

TubeRecv()
Packet

Module B
(on Thread 1)

Module B
(on Thread 2)

GetCancel(),
WaitSockEvent()
etc.

32

Programming
C / C++ Source Codes
396,867 Lines (11.5MB)
(including 31,686 comment lines)

Compiler
Visual C++ 2008 for Windows Binaries
gcc (any version) for UNIX and Linux Binaries

Planning to be Open Source (GPL) in Mid 2013.


Now translating a lot of comments into English
before releasing the source.

33

Screen Shots

SoftEther VPN Client


34

Screen Shots

SoftEther VPN Server (GUI Config Tools)


35

Screen Shots

A lot of VPN Server Setting Screens (total 70+ dialogs)


36

Screen Shots

L2TP / L2TPv3 / EtherIP

OpenVPN (L2 & L3) / SSTP


37

Screen Shots

Ethernet over DNS, Ethernet over ICMP


(Enjoy your Wi-Fi Life!)

38

Screen Shots

Beautiful Installer for SoftEther VPN


39

Screen Shots

User-Mode Install Option


(System Admins will be Surprised!)

40

Screen Shots

Multi-languages Support

41

Evaluation
1. Functional Tests
Self Test
Beta Test

2. Performance Tests

Simple throughput test


Comparison to existing methods
42

L2TP/IPsec

iOS

Android

Windows

Mac OS X

SSTP
43

OpenVPN

44

L2TPv3/IPsec, EtherIP/IPsec

L2TPv3: Cisco IOS, IIJ SEIL


EtherIP: NEC IX
45

Results of Self Functional Tests


VPN Protocol

VPN Client Software / Device


iPhone (iOS 4.x, 5.x, 6.x)
iPad (iOS 4.x, 5.x, 6.x)

L2TP/IPsec

Android (2.x, 3.x, 4.x)


Windows XP, Vista, 7, 8, RT
Mac OS X (10.6, 10.7, 10.8)

SSTP

Windows Vista, 7, 8, RT

OpenVPN (L3)

Windows, Linux, Mac, iPhone, Android

L2TPv3/IPsec

Cisco 892J
Cisco 1812J

EtherIP/IPsec

NEC IX2015

OpenVPN (L2)

OpenVPN 2.2 for Windows, Linux

Results

46

Results of Beta Tests

4,007 Users on
Jan 09, 2013.

47

Achievement
L2TP

SSTP

OpenVPN

L2TPv3

EtherIP

SoftEtherVPN

SoftEther
VPN (Old)

SoftEther
VPN (New)

Microsoft
RRAS
Mac OS X
Server
OpenVPN
Cisco IOS
NEC IX
Router OS

IIJ SEIL
Router OS

48

Performance Tests
Computer

Fujitsu PRIMERGY TX100 S3 (3 Pieces)

CPU

Intel Xeon E3-1230 3.2GHz 8M

RAM

16GB (4GB 1333MHz DDR3 ECC CL9 DIMM x 4)

Chipset

Intel C202

NIC #1, #2

Intel 10 Gigabit CX4 Dual Port Server Adapter

OS

Windows Server 2008 R2 x64


Windows Server 2003 R2 x64 (for OS abstraction-layer performance tests)
Linux 2.6.32 x64 (for OS abstraction-layer performance tests)

49

Target Protocols

SoftEther VPN Protocol


L2TP/IPsec
SSTP
OpenVPN (L3)
OpenVPN (L2)
50

Test 1.
Each Protocol (Solo)
Our Implementation vs. Vendors Original Implementation
for L2TP,
for SSTP

for L2TP,
for SSTP,
for OpenVPN

vs.

SoftEther VPN

for OpenVPN

Examples (for SSTP)


Server PC (k1)

Server PC (k1)

Windows Server
2008 R2 RRAS
(SSTP)

SoftEther VPN
Server 4.0
(SSTP)

SSTP

SSTP

Compare

SSTP

PC (k3)

Physical LAN

SSTP

SSTP VPN
Client #1

SSTP VPN
Client #2

SSTP VPN
Client #1

SSTP VPN
Client #2

Client PC #1 (k2)

Client PC #2 (k3)

Client PC #1 (k2)

Client PC #2 (k3)

Microsofts SSTP-VPN Implementation

Our SSTP-VPN Implementation

Physical LAN

Server PC (k1)

Server PC (k1)

Windows Server
2008 R2 RRAS
(SSTP)

SoftEther VPN
Server 4.0
(SSTP)

SSTP

SSTP

Compare

SSTP VPN
Client #1

SSTP VPN
Client #1

Client PC #1 (k2)

Client PC #1 (k2)

Microsofts SSTP-VPN Implementation

PC-to-PC VPN

PC (k3)

Our SSTP-VPN Implementation

PC-to-LAN VPN

51

Test 1 Results (PC-to-PC)


Original VPN Software v.s. SoftEther VPN Server 4.0 (1 VPN Protocol, PC to PC)
1,200 Mbps
1,000 Mbps

974.8

800 Mbps

478.0

600 Mbps
400 Mbps

664.3

779.8

383.8

200 Mbps

89.8 86.4

80.0 85.8

OpenVPN (L3)

OpenVPN (L2)

0 Mbps

SEVPN

L2TP
By Original VPN Software

SSTP

By SoftEther VPN Server 4.0

52

Test 1 Results (PC-to-LAN)


Original VPN Software v.s. SoftEther VPN Server 4.0 (1 VPN Protocol, PC to LAN)
1,200 Mbps
1,000 Mbps

980.0

800 Mbps

593.7 614.0

600 Mbps

715.1 737.8

400 Mbps
200 Mbps

76.6 89.8

83.8 90.1

OpenVPN (L3)

OpenVPN (L2)

0 Mbps

SEVPN

L2TP
By Original VPN Software

SSTP

By SoftEther VPN Server 4.0

53

Test 2.
Combination of 2 Protocols
Our Implementation (New) vs. Mixture of 2 VPN Programs (Traditional)

vs.

SoftEther VPN

+ Mixture

Mixture

SoftEther VPN

Solo

Example (for SSTP+OpenVPN L3)


VPN Server PC (k1)

VPN Server PC (k1)

IP Routing

OpenVPN2.2.2
(L3 Mode)

MS Win2008 R2
SSTP Server

NIC #2

NIC #1
SSTP VPN
Protocol Tunnel

SSTP VPN Client


VPN Client PC #1 (k2)

SoftEther VPN Server

Traffic

OpenVPN (L3)
Protocol Tunnel

Compare

NIC #2

NIC #1
SSTP VPN
Protocol Tunnel

OpenVPN Client
(L3 Mode)

SSTP VPN Client

VPN Client PC #2 (k3)

VPN Client PC #1 (k2)

Traffic

OpenVPN (L3)
Protocol Tunnel

OpenVPN Client
(L3 Mode)
VPN Client PC #2 (k3)

54

Combination Matrix
No. Protocol 1

Protocol 2

Bridge / Routing

SEVPN

L2TP/IPsec

IP Routing

SEVPN

SSTP

IP Routing

SEVPN

OpenVPN_L3

IP Routing

SEVPN

OpenVPN_L2

Ethernet Bridging

L2TP/IPsec

SSTP

IP Routing

L2TP/IPsec

OpenVPN_L3

IP Routing

L2TP/IPsec

OpenVPN_L2

IP Routing

SSTP

OpenVPN_L3

IP Routing

SSTP

OpenVPN_L2

IP Routing

10

OpenVPN_L3

OpenVPN_L2

IP Routing

Total 10 Tests

55

Test2 Results (Throughput)


Original VPN Software v.s. SoftEther VPN Server 4.0 (2 VPN Protocols)
1,200 Mbps
1,000 Mbps
800 Mbps
600 Mbps

546.8

608.0

662.5

716.0

557.6

612.9

400 Mbps
200 Mbps

83.4 86.6

83.6 86.6

SEVPN+OVPNL3

SEVPN+OVPNL2

80.2 84.1

82.9 86.6

83.8 87.9

82.7 87.3

86.0 88.0

L2TP+OVPNL3

L2TP+OVPNL2

SSTP+OVPNL3

SSTP+OVPNL2

OVPNL3+OVPNL2

0 Mbps
SEVPN+L2TP

SEVPN+SSTP

L2TP+SSTP

By Combination of Two Original VPN Software

By SoftEther VPN Server 4.0 Standalone

56

Test2 Results
(Percentage of Improvement)
Percentage of Improvement
120%

111.2%

108.1%

SEVPN+L2TP

SEVPN+SSTP

103.8%

103.5%

SEVPN+OVPNL3

SEVPN+OVPNL2

109.9%

104.9%

104.4%

104.9%

105.5%

L2TP+OVPNL3

L2TP+OVPNL2

SSTP+OVPNL3

SSTP+OVPNL2

102.3%

100%
80%
60%
40%
20%
0%
L2TP+SSTP

SEVPN+L2TP

SEVPN+SSTP

SEVPN+OVPNL3

SEVPN+OVPNL2

L2TP+SSTP

L2TP+OVPNL3

L2TP+OVPNL2

SSTP+OVPNL3

SSTP+OVPNL2

OVPNL3+OVPNL2

OVPNL3+OVPNL2

57

Test 3. Evaluation of
OS-Abstraction Layer
4.1.1. SEVPN RC4 PC-to-PC OS Comparison (Throughput)

4.1.3. SEVPN RC4 PC-to-LAN OS Comparison (Throughput)

2,500 Mbps

2,500 Mbps

2,000 Mbps

2,000 Mbps

1,500 Mbps
1,000 Mbps

951 929 941

1,037 1,021 979

1,094 1,104 1,011

1,500 Mbps
1,000 Mbps

500 Mbps

500 Mbps

0 Mbps

0 Mbps

Download

Upload

Both

918 915

Download

1,033 1,042 1,041

1,088 1,048 987

Upload

Both

SEVPN RC4 (PC-to-PC) by SoftEther VPN on WinServer2003 R2

SEVPN RC4 (PC-to-LAN) by SoftEther VPN on WinServer2003 R2

SEVPN RC4 (PC-to-PC) by SoftEther VPN on WinServer2008 R2

SEVPN RC4 (PC-to-LAN) by SoftEther VPN on WinServer2008 R2

SEVPN RC4 (PC-to-PC) by SoftEther VPN on Linux 2.6.32

SEVPN RC4 (PC-to-LAN) by SoftEther VPN on Linux 2.6.32

4.1.5. L2TP PC-to-PC OS Comparison (Throughput)

4.1.6. L2TP PC-to-LAN OS Comparison (Throughput)

2,500 Mbps

2,500 Mbps

2,000 Mbps

2,000 Mbps

1,500 Mbps

1,500 Mbps

1,000 Mbps
500 Mbps

1,106

1,000 Mbps

372 387 327

354 381 294

367 392 303

0 Mbps

500 Mbps

630 645

482

620 583 581

706 673

518

0 Mbps

Download

Upload

Both

Download

Upload

Both

L2TP (PC-to-PC) by SoftEther VPN on WinServer2003 R2

L2TP (PC-to-LAN) by SoftEther VPN on WinServer2003 R2

L2TP (PC-to-PC) by SoftEther VPN on WinServer2008 R2

L2TP (PC-to-LAN) by SoftEther VPN on WinServer2008 R2

L2TP (PC-to-PC) by SoftEther VPN on Linux 2.6.32

L2TP (PC-to-LAN) by SoftEther VPN on Linux 2.6.32

58

Conclusions #1
This Research Designs and Implements a New
VPN Server Program.
Supports 7 VPN Protocols.
SoftEter VPN, L2TP over IPsec, SSTP, OpenVPN (L3, L2),
EtherIP over IPsec and L2TPv3 over IPsec.
The Worlds First VPN Server Program for Support All of
Above VPN Protocols.

Runs on Windows, Linux, Mac, FreeBSD and Solaris.


Unified Management, Security, User-auth and
IP Address Assignment.

59

Conclusions #2
Results of Performance Tests show:
Generally better throughputs,
compare to Microsoft and OpenVPNs
implementations.
Overheads of combination of different VPN
protocols are reduced.
(Performance Improvements: 102.3% - 111.2%)
OS Abstraction Layer works well.

60

Future Works
More Improvements of Performance.
Additional VPN Protocols.

IKEv2, PPTP and IPsec Tunnel Mode

Release as Open-Source Software (GPL license).


SoftEther VPN, http://www.softether.org/
Estimated release date: by end of March 2013.
(First, close-source with binaries. Translate all
Japanese comments to English and release it in
middle 2013.)

Enable third-Developers to Add More VPN


Protocol Modules Easily.

61

Outline of Master Thesis,


January 16, 2013.

Design and Implementation


of SoftEther VPN
Daiyuu Nobori
Department of Computer Science,
Graduate School of Systems and Information Engineering,
University of Tsukuba, Japan.

You might also like