documentation:examples:ipsec_performance_of_a_pc_engines_apu
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
| — | documentation:examples:ipsec_performance_of_a_pc_engines_apu [2016/12/01 16:09] (current) – created - external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== IPSec performance lab of a PC Engines APU ====== | ||
| + | {{description> | ||
| + | ===== Hardware detail ===== | ||
| + | |||
| + | This lab will test a [[http:// | ||
| + | * Dual core [[http:// | ||
| + | * 3 Realtek RTL8111E Gigabit Ethernet ports | ||
| + | * 2Gb of RAM | ||
| + | |||
| + | [[documentation: | ||
| + | ===== Lab set-up ===== | ||
| + | |||
| + | For more information about full setup of this lab: [[documentation: | ||
| + | |||
| + | A current version of [[https:// | ||
| + | |||
| + | ==== Diagram ==== | ||
| + | |||
| + | < | ||
| + | +---------------------+ | ||
| + | | R1 | ||
| + | | | ||
| + | | and receiver | ||
| + | | | ||
| + | |igb2: 198.18.0.201/ | ||
| + | | | ||
| + | | 00: | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | |igb3: 198.19.0.201/ | ||
| + | |2001: | ||
| + | | | ||
| + | +---------------------+ | ||
| + | || || | ||
| + | ==================================< | ||
| + | </ | ||
| + | |||
| + | ===== Devices configuration ===== | ||
| + | |||
| + | ==== R1 (Packet generator/ | ||
| + | |||
| + | < | ||
| + | ifconfig igb2 up | ||
| + | ifconfig igb3 up | ||
| + | </ | ||
| + | |||
| + | ==== APU (DUT) ==== | ||
| + | |||
| + | Disable fastforwarding (not compliant with IPSec), configure IP address, routes and static IPSec. | ||
| + | |||
| + | / | ||
| + | < | ||
| + | # Hostname | ||
| + | hostname=" | ||
| + | |||
| + | # Disable INTERRUPT and ETHERNET from entropy sources | ||
| + | harvest_mask=" | ||
| + | |||
| + | # IPv4 router | ||
| + | gateway_enable=" | ||
| + | ifconfig_re1=" | ||
| + | ifconfig_re2=" | ||
| + | static_routes=" | ||
| + | route_generator=" | ||
| + | route_receiver=" | ||
| + | static_arp_pairs=" | ||
| + | static_arp_generator=" | ||
| + | static_arp_receiver=" | ||
| + | |||
| + | # IPv6 router | ||
| + | ipv6_gateway_enable=" | ||
| + | ipv6_activate_all_interfaces=" | ||
| + | ipv6_static_routes=" | ||
| + | ipv6_route_generator=" | ||
| + | ipv6_route_receiver=" | ||
| + | ifconfig_re1_ipv6=" | ||
| + | ifconfig_re2_ipv6=" | ||
| + | static_ndp_pairs=" | ||
| + | static_ndp_generator=" | ||
| + | static_ndp_receiver=" | ||
| + | |||
| + | # Enabling IPSec | ||
| + | ipsec_enable=" | ||
| + | </ | ||
| + | |||
| + | / | ||
| + | |||
| + | < | ||
| + | flush; | ||
| + | spdflush; | ||
| + | spdadd 198.18.0.0/ | ||
| + | spdadd 198.19.0.0/ | ||
| + | add 198.18.1.203 198.18.1.207 esp 0x1000 -E rijndael-cbc " | ||
| + | add 198.18.1.207 198.18.1.203 esp 0x1001 -E rijndael-cbc " | ||
| + | spdadd 2001:2::/49 2001: | ||
| + | spdadd 2001: | ||
| + | add 2001: | ||
| + | add 2001: | ||
| + | </ | ||
| + | ==== R3 (Reference device) ==== | ||
| + | |||
| + | Disable fastforwarding (not compliant with IPSec), configure IP address, routes and static IPSec. | ||
| + | |||
| + | / | ||
| + | < | ||
| + | # Hostname | ||
| + | hostname=" | ||
| + | |||
| + | # Disable INTERRUPT and ETHERNET from entropy sources | ||
| + | harvest_mask=" | ||
| + | |||
| + | # IPv4 router | ||
| + | gateway_enable=" | ||
| + | ifconfig_igb2=" | ||
| + | ifconfig_igb3=" | ||
| + | |||
| + | static_routes=" | ||
| + | route_generator=" | ||
| + | route_receiver=" | ||
| + | static_arp_pairs=" | ||
| + | static_arp_generator=" | ||
| + | static_arp_receiver=" | ||
| + | |||
| + | # IPv6 router | ||
| + | ipv6_gateway_enable=" | ||
| + | ipv6_activate_all_interfaces=" | ||
| + | ifconfig_igb2_ipv6=" | ||
| + | ifconfig_igb3_ipv6=" | ||
| + | |||
| + | ipv6_static_routes=" | ||
| + | ipv6_route_generator=" | ||
| + | ipv6_route_receiver=" | ||
| + | static_ndp_pairs=" | ||
| + | static_ndp_generator=" | ||
| + | static_ndp_receiver=" | ||
| + | |||
| + | # Enabling IPSec | ||
| + | kld_list=" | ||
| + | ipsec_enable=" | ||
| + | </ | ||
| + | |||
| + | / | ||
| + | < | ||
| + | flush; | ||
| + | spdflush; | ||
| + | spdadd 198.18.0.0/ | ||
| + | spdadd 198.19.0.0/ | ||
| + | add 198.18.1.203 198.18.1.207 esp 0x1000 -E rijndael-cbc " | ||
| + | add 198.18.1.207 198.18.1.203 esp 0x1001 -E rijndael-cbc " | ||
| + | spdadd 2001:2::/49 2001: | ||
| + | spdadd 2001: | ||
| + | add 2001: | ||
| + | add 2001: | ||
| + | </ | ||
| + | |||
| + | ===== Using IPSec bench " | ||
| + | |||
| + | Once done, we start using a fast method for measuring the "IPsec equilibrium throughput" | ||
| + | |||
| + | Notice that the reference device (IBM x3550-M3) used in front of the PC Engines APU1 has a [[IPSec performance lab of an IBM System x3550 M3 with Intel 82580|equilibrium throughput of 843Mb/s]]. Then if the value measured during this bench is close to 843Mb/s we had to found a more powerful reference device. | ||
| + | |||
| + | From the packet generator/ | ||
| + | < | ||
| + | [root@R1]# equilibrium -l 100 -d 00: | ||
| + | Benchmark tool using equilibrium throughput method | ||
| + | - Benchmark mode: Bandwitdh (bps) for VPN gateway | ||
| + | - UDP load = 500B, IPv4 packet size=528B, Ethernet frame size=542B | ||
| + | - Link rate = 100 Mb/s | ||
| + | - TOLERANCE = 0.01 | ||
| + | Iteration 1 | ||
| + | - offering load = 50 Mb/s | ||
| + | - STEP = 25 Mb/s | ||
| + | - Measured forwarding rate = 50 Mb/s | ||
| + | Iteration 2 | ||
| + | - offering load = 75 Mb/s | ||
| + | - STEP = 25 Mb/s | ||
| + | - TREND = increasing | ||
| + | - Measured forwarding rate = 72 Mb/s | ||
| + | Iteration 3 | ||
| + | - offering load = 63 Mb/s | ||
| + | - STEP = 12 Mb/s | ||
| + | - TREND = decreasing | ||
| + | - Measured forwarding rate = 63 Mb/s | ||
| + | Iteration 4 | ||
| + | - offering load = 69 Mb/s | ||
| + | - STEP = 6 Mb/s | ||
| + | - TREND = increasing | ||
| + | - Measured forwarding rate = 68 Mb/s | ||
| + | Iteration 5 | ||
| + | - offering load = 66 Mb/s | ||
| + | - STEP = 3 Mb/s | ||
| + | - TREND = decreasing | ||
| + | - Measured forwarding rate = 65 Mb/s | ||
| + | Estimated Equilibrium Ethernet throughput= 65 Mb/s (maximum value seen: 72 Mb/s) | ||
| + | </ | ||
| + | |||
| + | Here is the ministat distribution: | ||
| + | < | ||
| + | root@R1:~ # ministat -s -w 74 apu-ipsec | ||
| + | x Equilibrium throughput with rijndael-cbc | ||
| + | +--------------------------------------------------------------------------+ | ||
| + | | | ||
| + | |x | ||
| + | | |___________________________A__________M_______________| | ||
| + | +--------------------------------------------------------------------------+ | ||
| + | N | ||
| + | x | ||
| + | |||
| + | </ | ||
| + | Using AES-CBC (rijndael-cbc) with a 128 bits key, we can estimate an IPSec Equilibrium throughput of 64Mb/s. | ||
| + | |||
| + | And same performance for IPv6: | ||
| + | < | ||
| + | [root@R1]# equilibrium -l 100 -d 00: | ||
| + | Benchmark tool using equilibrium throughput method | ||
| + | - Benchmark mode: Bandwitdh (bps) for VPN gateway | ||
| + | - UDP load = 500B, IPv6 packet size=548B, Ethernet frame size=562B | ||
| + | - Link rate = 100 Mb/s | ||
| + | - TOLERANCE = 0.01 | ||
| + | Iteration 1 | ||
| + | - offering load = 50 Mb/s | ||
| + | - STEP = 25 Mb/s | ||
| + | - Measured forwarding rate = 50 Mb/s | ||
| + | Iteration 2 | ||
| + | - offering load = 75 Mb/s | ||
| + | - STEP = 25 Mb/s | ||
| + | - TREND = increasing | ||
| + | - Measured forwarding rate = 72 Mb/s | ||
| + | Iteration 3 | ||
| + | - offering load = 63 Mb/s | ||
| + | - STEP = 12 Mb/s | ||
| + | - TREND = decreasing | ||
| + | - Measured forwarding rate = 63 Mb/s | ||
| + | Iteration 4 | ||
| + | - offering load = 69 Mb/s | ||
| + | - STEP = 6 Mb/s | ||
| + | - TREND = increasing | ||
| + | - Measured forwarding rate = 68 Mb/s | ||
| + | Iteration 5 | ||
| + | - offering load = 66 Mb/s | ||
| + | - STEP = 3 Mb/s | ||
| + | - TREND = decreasing | ||
| + | - Measured forwarding rate = 66 Mb/s | ||
| + | Estimated Equilibrium Ethernet throughput= 66 Mb/s (maximum value seen: 72 Mb/s) | ||
| + | </ | ||
| + | |||
| + | ==== Graphs ==== | ||
| + | |||
| + | {{: | ||
documentation/examples/ipsec_performance_of_a_pc_engines_apu.txt · Last modified: 2016/12/01 16:09 by 127.0.0.1
