Hallo, ich bin Michael vom AstLinux Project. Eine Linux-basierte Asterisk + Router/VPN Distribution. Wir haben kürzlich das hervorragende WireGuard VPN in unser Projekt integriert und einige Vergleichstests zwischen WireGuard und dem ebenfalls vorhandenem OpenVPN gemacht.
WireGuard hat einen wesentlich höheren Durchsatz und weniger Jitter als OpenVPN bei gleicher Hardware. Es ist relativ leicht in Linux zu integrieren und im Vergleich zu OpenVPN in der Größe winzig. WireGuard wird inzwischen auch von professionellen VPN Providern eingesetzt.
Angaben zur Testumgebung:
Hardware:
Qotom Q190G4N-S07 Quad Core Celeron J1900, 2 GHz, 2 GB DDR3 RAM, mSATA
Jetway NF9HG-2930 Quad Core Celeron N2930, 1,83 GHz, 2 GB DDR3 RAM, mSATA
Software:
Linux 3.16.47 x86_64, iPerf 3.0.12, OpenSSL 1.0.2m
OpenVPN 2.4.4
Bei einem einzelnen SIP-Gespräch (100Kbps) ist der UDP Jitter noch gleich (nur 16 datagrams im Test). Aber bei höherem Traffic ist der Jitter bei WireGuard wesentlich niedriger als bei OpenVPN.
PS: Neuere WireGuard Versionen (ab 0.0.20171127) enthalten zusätzliche CPU Optimierungen für höhere Performance.
Michael
http://www.mksolutions.info
WireGuard hat einen wesentlich höheren Durchsatz und weniger Jitter als OpenVPN bei gleicher Hardware. Es ist relativ leicht in Linux zu integrieren und im Vergleich zu OpenVPN in der Größe winzig. WireGuard wird inzwischen auch von professionellen VPN Providern eingesetzt.
Angaben zur Testumgebung:
Hardware:
Qotom Q190G4N-S07 Quad Core Celeron J1900, 2 GHz, 2 GB DDR3 RAM, mSATA
Jetway NF9HG-2930 Quad Core Celeron N2930, 1,83 GHz, 2 GB DDR3 RAM, mSATA
Software:
Linux 3.16.47 x86_64, iPerf 3.0.12, OpenSSL 1.0.2m
OpenVPN 2.4.4
- Compression=On
- Data Channel: Cipher 'AES-256-GCM'
- ChaCha20 for symmetric encryption, authenticated with Poly1305
- Curve25519 for ECDH
- BLAKE2s for hashing and keyed hashing
- SipHash24 for hashtable keys
- HKDF for key derivation
Bei einem einzelnen SIP-Gespräch (100Kbps) ist der UDP Jitter noch gleich (nur 16 datagrams im Test). Aber bei höherem Traffic ist der Jitter bei WireGuard wesentlich niedriger als bei OpenVPN.
Code:
## Jetway
pbx3 ~ # iperf3 -s
## Qotom
# OpenVPN #
pbx ~ # iperf3 -c 10.8.1.2
--
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 132 MBytes 111 Mbits/sec 38 sender
[ 4] 0.00-10.00 sec 132 MBytes 111 Mbits/sec receiver
--
# WireGuard #
pbx ~ # iperf3 -c 10.4.0.3
--
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 606 MBytes 508 Mbits/sec 1086 sender
[ 4] 0.00-10.00 sec 603 MBytes 506 Mbits/sec receiver
--
# OpenVPN #
pbx ~ # iperf3 -c 10.8.1.2 -u -b 100K
--
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 128 KBytes 105 Kbits/sec 0.033 ms 0/16 (0%)
[ 4] Sent 16 datagrams
--
# WireGuard #
pbx ~ # iperf3 -c 10.4.0.3 -u -b 100K
--
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 128 KBytes 105 Kbits/sec 0.036 ms 0/16 (0%)
[ 4] Sent 16 datagrams
--
# OpenVPN #
pbx ~ # iperf3 -c 10.8.1.2 -u -b 1M
--
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 1.19 MBytes 996 Kbits/sec 0.258 ms 0/152 (0%)
[ 4] Sent 152 datagrams
--
# WireGuard #
pbx ~ # iperf3 -c 10.4.0.3 -u -b 1M
--
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 1.19 MBytes 996 Kbits/sec 0.050 ms 0/152 (0%)
[ 4] Sent 152 datagrams
--
# OpenVPN #
pbx ~ # iperf3 -c 10.8.1.2 -u -b 10M
--
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 11.8 MBytes 9.90 Mbits/sec 0.571 ms 0/1511 (0%)
[ 4] Sent 1511 datagrams
--
# WireGuard #
pbx ~ # iperf3 -c 10.4.0.3 -u -b 10M
--
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 11.8 MBytes 9.90 Mbits/sec 0.075 ms 0/1511 (0%)
[ 4] Sent 1511 datagrams
--
# OpenVPN #
pbx ~ # iperf3 -c 10.8.1.2 -u -b 100M
--
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 118 MBytes 99.0 Mbits/sec 0.701 ms 13293/14977 (89%)
[ 4] Sent 14977 datagrams
--
# WireGuard #
pbx ~ # iperf3 -c 10.4.0.3 -u -b 100M
--
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 118 MBytes 99.1 Mbits/sec 0.098 ms 2995/15099 (20%)
[ 4] Sent 15099 datagrams
--
# OpenVPN #
pbx ~ # iperf3 -c 10.8.1.2 -u -b 500M
--
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 591 MBytes 496 Mbits/sec 0.728 ms 73173/74925 (98%)
[ 4] Sent 74925 datagrams
--
# WireGuard #
pbx ~ # iperf3 -c 10.4.0.3 -u -b 500M
--
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-10.00 sec 592 MBytes 497 Mbits/sec 0.092 ms 49873/75819 (66%)
[ 4] Sent 75819 datagrams
--
Latency:
# OpenVPN #
pbx ~ # fping -c10 10.8.1.2
--
10.8.1.2 : xmt/rcv/%loss = 10/10/0%, min/avg/max = 0.48/0.52/0.61
--
# WireGuard #
pbx ~ # fping -c10 10.4.0.3
--
10.4.0.3 : xmt/rcv/%loss = 10/10/0%, min/avg/max = 0.34/0.46/0.53
--
PS: Neuere WireGuard Versionen (ab 0.0.20171127) enthalten zusätzliche CPU Optimierungen für höhere Performance.
Michael
http://www.mksolutions.info
Zuletzt bearbeitet: