Hi, I am Michael from the
AstLinux Project. A Linux-based Asterisk + Router/VPN distribution.
We've recently included the excellent
WireGuard VPN into
our project and made some tests comparing it with OpenVPN (which we also include).
WireGuard has much faster throughput on the same hardware and lower jitter than OpenVPN.
It is also very lightweight and easy to implement in Linux.
It would be great if Yealink would consider to additionally include Wireguard into their IP phone firmware in the future.
Wireguard is used by professional VPN providers as well.
Here are some OpenVPN/WireGuard comparisons.
For a single phone call (100Kbps) the UDP jitter is the same (but only 16 datagrams in the test)
As the traffic increases, the WireGuard jitter remains much lower than 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: If there is any interest, I can also post the exact data for for the test environment.