IPsec and processing power

I recently bought a RB750. Amazing capabilities for the price! It’s the first time i’m using a Routerboard device or RouterOS. Beginning to understand the basics, a lot more advanced than the m0n0wall based routers i’ve used for the last years.

I’ve successfully set up an IPsec tunnel between the RB750 (local) and a m0n0wall router (remote). The m0n0wall box is a PC Engines Alix 2d3. My internet connection bandwidth is about 28 Mbit down and 10.5 up. On the remote site it’s about 18 Mbit down and 3.5 up. When running iperf between one local and one remote computer i’m getting the following results:
Sending traffic TO the remote computer gives a bandwidth of about 10.5 Mbit with CPU usage on the RB750 at about 74% and 92% on the m0n0wall box.
Sending traffic FROM the remote computer gives a bandwidth of just below 1.5 Mbit with CPU usage on the RB750 at 100% and just below 10% on m0n0wall.
This must mean that it takes a lot more processing power to decrypt the traffic than to encrypt it. Without knowing much about encryption one would think that it would be equally “hard” to encrypt and decrypt traffic. Can someone explain this? And are my results what should be expected with this hardware?
Maybe questions about IPsec isn’t beginner basics, but i am an absolute beginner when it comes to both RouterOS and IPsec :slight_smile:

10Mbps seems to be ok, but 1.5Mb is too slow. How large packets you were sending over the tunnel?

We use 750GLs to terminate IPSec tunnels in branch offices, with 1100AHx2 as the concentrators.
From my experience, you should be able to get ~16mbit of IPSec bandwidth using aes128 on the 750GL.

So, as said above, how did you test, and post “/ip ipsec export compact”

I have the RB750, not the GL version.
Here is the output from "/ip ipsec export compact", with the public addresses and key removed:

jan/04/2013 16:12:47 by RouterOS 5.16

software id = RX6Y-D8US

/ip ipsec proposal
set [ find default=yes ] enc-algorithms=blowfish lifetime=12h
/ip ipsec peer
add address=11.11.11.11/32 dpd-interval=disable-dpd enc-algorithm=blowfish
exchange-mode=aggressive hash-algorithm=sha1 lifetime=8h my-id-user-fqdn=
lan.local secret="-------------------------------"
/ip ipsec policy
add dst-address=192.168.10.0/24 sa-dst-address=11.11.11.11 sa-src-address=
22.22.22.22 src-address=192.168.64.0/18 tunnel=yes

Not sure about packet size, just used the default:

iperf -c 192.168.110.10

Client connecting to 192.168.110.10, TCP port 5001
TCP window size: 21.0 KByte (default)

[ 3] local 192.168.10.10 port 35895 connected with 192.168.110.10 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-11.2 sec 1.75 MBytes 1.31 Mbits/sec

Double post..