[strongSwan] ipsec tunnel throughput measurement
Noel Kuntze
noel.kuntze+strongswan-users-ml at thermi.consulting
Tue Mar 13 14:25:39 CET 2018
Hi,
That is not really surprising, considering the overhead the block cipher, hmac and additional headers contribute.
If your CPU isn't maxed out yet, you can get even higher speeds. You need one CHILD_SA per CPU core to take advantage of them.
Kind regards
Noel
On 12.03.2018 17:14, Marco Berizzi wrote:
> Hello everyone,
>
> I have completed some speed test between two slackware linux
> 4.14 system running strongswan. The purpose is to estimate
> the network throughput inside an ipsec tunnel. Strongswan will
> not affect results, but I hope this message will be still
> informative for users subscribed to this list.
>
> Here is the network schema:
>
> +--------+ +--------+ +--------+
> | linux | | linux | | linux |
> | iperf +-----+ ipsec +---ipsec tunnel---+ ipsec +---dummy0 interface
> | client | | gateway| | gateway| linux iperf server
> +--------+ +--------+ +--------+
>
> MTU=1500bytes for all systems
> The two ipsec gateway are running on Intel i5-3470 at 3.20GHz
> AES-NI extension are enabled on this processor and the
> kernel is built with them enabled as externals modules.
> NIC models on the ipsec gateways are Intel Corporation I350
> and Intel Corporation 82579LM
>
> The following esp configuration where tested:
>
> aes256-sha384-modp4096
> camellia256-sha384-modp4096
> camellia128-sha384-modp4096
> chacha20poly1305-ntru256
> 3des-sha384
>
> with the following tcp mss: 200 bytes, 500 bytes, 1000 bytes
> and the maximum permitted by the ipsec tunnel.
>
> And here are the results. Summary: chacha20 is the winner
> followed by aes256 and camellia128.
>
> maximum MSS:
>
> throughput without any tunnel ipsec (only routing):
> 0.00-10.00 sec 1.09 GBytes 933 Mbits/sec sender
> 0.00-10.04 sec 1.09 GBytes 929 Mbits/sec receiver
>
> chacha20poly1305
> 0.00-10.00 sec 1.06 GBytes 908 Mbits/sec sender
> 0.00-10.05 sec 1.05 GBytes 901 Mbits/sec receiver
>
> aes256-sha384
> 0.00-10.00 sec 1.04 GBytes 896 Mbits/sec sender
> 0.00-10.05 sec 1.04 GBytes 889 Mbits/sec receiver
>
> camellia128-sha384
> 0.00-10.00 sec 949 MBytes 796 Mbits/sec sender
> 0.00-10.04 sec 947 MBytes 791 Mbits/sec receiver
>
> camellia256-sha384
> 0.00-10.00 sec 805 MBytes 676 Mbits/sec sender
> 0.00-10.05 sec 804 MBytes 671 Mbits/sec receiver
>
> 3des-sha384
> 0.00-10.00 sec 280 MBytes 235 Mbits/sec sender
> 0.00-10.05 sec 279 MBytes 233 Mbits/sec receiver
>
>
> 1000 bytes MSS:
>
> throughput without any tunnel ipsec (only routing):
> 0.00-10.00 sec 1.06 GBytes 912 Mbits/sec sender
> 0.00-10.04 sec 1.06 GBytes 907 Mbits/sec receiver
>
> chacha20poly1305
> 0.00-10.00 sec 1.02 GBytes 874 Mbits/sec sender
> 0.00-10.05 sec 1.01 GBytes 867 Mbits/sec receiver
>
> aes256-sha384
> 0.00-10.00 sec 1016 MBytes 852 Mbits/sec sender
> 0.00-10.05 sec 1013 MBytes 846 Mbits/sec receiver
>
> camellia128-sha384
> 0.00-10.00 sec 861 MBytes 723 Mbits/sec sender
> 0.00-10.04 sec 859 MBytes 718 Mbits/sec receiver
>
> camellia256-sha384
> 0.00-10.00 sec 735 MBytes 617 Mbits/sec sender
> 0.00-10.04 sec 733 MBytes 612 Mbits/sec receiver
>
> 3des-sha384
> 0.00-10.00 sec 264 MBytes 221 Mbits/sec sender
> 0.00-10.05 sec 262 MBytes 219 Mbits/sec receiver
>
>
> 500 bytes MSS:
>
> throughput without any tunnel ipsec (only routing):
> 0.00-10.00 sec 992 MBytes 832 Mbits/sec sender
> 0.00-10.04 sec 990 MBytes 827 Mbits/sec receiver
>
> chacha20poly1305
> 0.00-10.00 sec 920 MBytes 772 Mbits/sec sender
> 0.00-10.05 sec 918 MBytes 766 Mbits/sec receiver
>
> aes256-sha384
> 0.00-10.00 sec 879 MBytes 738 Mbits/sec sender
> 0.00-10.04 sec 877 MBytes 732 Mbits/sec receiver
>
> camellia128-sha384
> 0.00-10.00 sec 684 MBytes 574 Mbits/sec sender
> 0.00-10.04 sec 681 MBytes 569 Mbits/sec receiver
>
> camellia256-sha384
> 0.00-10.00 sec 593 MBytes 498 Mbits/sec sender
> 0.00-10.04 sec 591 MBytes 493 Mbits/sec receiver
>
> 3des-sha384
> 0.00-10.00 sec 231 MBytes 194 Mbits/sec sender
> 0.00-10.05 sec 229 MBytes 191 Mbits/sec receiver
>
>
> 200 bytes MSS:
>
> throughput without any tunnel ipsec (only routing):
> 0.00-10.00 sec 795 MBytes 667 Mbits/sec sender
> 0.00-10.04 sec 792 MBytes 662 Mbits/sec receiver
>
> chacha20poly1305
> 0.00-10.00 sec 549 MBytes 460 Mbits/sec sender
> 0.00-10.04 sec 546 MBytes 456 Mbits/sec receiver
>
> aes256-sha384
> 0.00-10.00 sec 499 MBytes 418 Mbits/sec sender
> 0.00-10.04 sec 496 MBytes 414 Mbits/sec receiver
>
> camellia128-sha384
> 0.00-10.00 sec 403 MBytes 338 Mbits/sec sender
> 0.00-10.04 sec 399 MBytes 333 Mbits/sec receiver
>
> camellia256-sha384
> 0.00-10.00 sec 362 MBytes 303 Mbits/sec sender
> 0.00-10.04 sec 359 MBytes 300 Mbits/sec receiver
>
> 3des-sha384
> 0.00-10.00 sec 177 MBytes 148 Mbits/sec sender
> 0.00-10.04 sec 173 MBytes 145 Mbits/sec receiver
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.strongswan.org/pipermail/users/attachments/20180313/ada76444/attachment.sig>
More information about the Users
mailing list