TINC and OpenVPN tunnel performance on a Windows client
Teemu Kiviniemi
teemuki at iki.fi
Thu Nov 6 14:39:03 CET 2003
Hi,
I had some performance problems with TINC running on Windows XP. I had a
VPN tunnel running over a wireless network to a Linux VPN server. Web
browsing through the tunnel was a pain. Big web pages with lots of
pictures loaded very slow compared to a plain network connection.
When the VPN client was running on a Linux computer, and a Windows
computer was browsing the web through the VPN tunnel, everything worked
just fine. The performance of web browsing through the tunnel was about
the same as with a plain unencrypted network connection.
I recently tested the setup with OpenVPN on Windows too, but the
performance of web browsing didn't get better.
The speed of a single file transfer through the tunnel was quite good.
Browsing a complex web page creates a lot of simultaneous transfers from
the web server to the browser. I thought that the problem must have
something to do with simultaneous transfers.
I did some tests of OpenVPN and TINC performance on a Windows client.
Specifically, I was looking at the performance of multiple simultaneous
transfers and PING latency/packet loss during the transfer.
****
Test method:
- three simultaneous FTP downloads are started on the Windows computer
(file size 7612995 bytes)
- at the same time, the Linux computer pings the Windows computer to see
the latency and packet loss of the tunnel during the transfer.
- record the transfer times, packet loss and latency
- repeat three times, calculate the average
****
Test setup:
Network: 10Mbps switched Ethernet, only test computers connected
VPN client:
- Windows Server 2003
- TINC 1.0.1 (Windows installer version)
- OpenVPN 1.5 beta12 (Windows installer version)
- Windows command line FTP client
VPN server:
- Debian Woody
- 2.4.20 kernel
- TINC 1.0pre8
- OpenVPN 1.5 beta12
- OpenBSD FTP server
VPN client settings:
- Generic OpenVPN settings:
cipher bf-cbc
dev tap
tun-mtu 1500
tun-mtu-extra 32
- OpenVPN-TCP settings:
proto tcp-client
- OpenVPN-UDP settings:
proto udp
- OpenVPN-UDP-LZO settings:
proto udp
comp-lzo
- Generic TINC settings:
Mode = switch
PriorityInheritance = no
Cipher = blowfish
Compression = 0
MACLength = 4
- TINC-TCP settings:
TCPonly = yes
- TINC-UDP settings:
TCPonly = no
****
Test results:
PING: packet loss:
- plain network: 0%
- OpenVPN-TCP: 0%
- OpenVPN-UDP: 27,3%
- OpenVPN-UDP-LZO: 25%
- TINC-TCP: 19,3%
- TINC-UDP: 52%
OpenVPN-TCP works as well as the plain network connection during the
transfers. The other tunnels drop too much packets to be usable.
PING: latency, min/avg/max (ms):
- plain network: 1,2/9,1/50,7
- OpenVPN-TCP: 4,5/121,1/352,6
- OpenVPN-UDP: 3,7/25,7/88,9
- OpenVPN-UDP-LZO: 3,5/25,4/79,0
- TINC-TCP: 7,3/34,4/88,9
- TINC-UDP: 4,1/14,5/75,9
The maximum latency of TINC-TCP doesn't get as big as the latency of
OpenVPN-TCP, but that might have something to do with the large packet
loss TINC-TCP is having.
FTP: transfer times FTP1/FTP2/FTP3/total (s):
- plain network: 24,0/24,6/24,9/73,5
- OpenVPN-TCP: 52,2/52,3/52,3/156,9
- OpenVPN-UDP: 57,5/56,8/68,9/183,1
- OpenVPN-UDP-LZO: 62,8/64,5/70,4/197,7
- TINC-TCP: 160,1/148,1/137,7/445,9
- TINC-UDP: 57,6/85,9/63,9/207,3
OpenVPN-TCP is clearly the fastest tunnel. TINC-TCP is way too slow, and
UDP tunnels are somewhat slower than OpenVPN-TCP.
FTP: difference of the simultaneous transfer times:
(slowest transfer time/fastest transfer time*100-100)
- plain network: 3,9%
- OpenVPN-TCP: 0,4%
- OpenVPN-UDP: 35,0%
- OpenVPN-UDP-LZO: 37,9%
- TINC-TCP: 17,4%
- TINC-UDP: 75,9%
OpenVPN-TCP wins again. It provides the most consistent transfer times
for the simultaneous transfers.
Subjective analysis:
I had the hash printing of the FTP clients enabled, so I could see the
transfer progress. All the UDP tunnels and TINC-TCP provided very
inconsistent transfer speeds. One FTP client could transfer very fast,
while two were transferring slower, if transferring anything at all. The
transfers over a plain network connection and OpenVPN-TCP ran without
delays, and the speed of all the transfers looked the same.
****
I have had these performance problems only with a Windows client. A
TINC-UDP VPN tunnel between two Linux computers runs perfectly.
Has anyone else had problems like this? Can anyone verify my results
with another setup? I haven't got access to other computers at the
moment. What could cause the problems on Windows?
Thanks,
Teemu
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://brouwer.uvt.nl/pipermail/tinc-devel/attachments/20031106/326dcc74/attachment.pgp
More information about the Tinc-devel
mailing list