Projet

Général

Profil

Benchmark VPN » Historique » Version 7

Baptiste Jonglez, 31/05/2014 08:13

1 2 Baptiste Jonglez
{{>toc}}
2 2 Baptiste Jonglez
3 1 Baptiste Jonglez
h1. Benchmark VPN
4 1 Baptiste Jonglez
5 1 Baptiste Jonglez
But : *étudier la performance de différentes solutions de VPN sur des petits routeurs OpenWRT.*
6 1 Baptiste Jonglez
7 1 Baptiste Jonglez
Le but final étant de se servir des tunnels pour router des IP publiques : [[Partage_ADSL_OpenVPN]]
8 1 Baptiste Jonglez
9 2 Baptiste Jonglez
Pour les autres critères de choix (facilité de mise en place, sécurité, etc), voir [[VPN]].
10 1 Baptiste Jonglez
11 2 Baptiste Jonglez
h2. Méthodologie
12 1 Baptiste Jonglez
13 7 Baptiste Jonglez
Matériel : un routeur à benchmarker, et deux ordinateurs testeurs (voir plus bas pour se contenter d'un seul ordinateur testeur)
14 7 Baptiste Jonglez
15 7 Baptiste Jonglez
Le routeur monte un tunnel VPN avec un ordinateur branché sur le WAN.  Sur le LAN, l'autre ordinateur se connecte normalement.
16 7 Baptiste Jonglez
17 7 Baptiste Jonglez
En un schéma :
18 7 Baptiste Jonglez
19 1 Baptiste Jonglez
!benchmark-setup.png!
20 1 Baptiste Jonglez
21 7 Baptiste Jonglez
Une fois ce setup en place, on utilise iperf en TCP entre les deux laptops, en empruntant le tunnel (i.e. entre 192.168.42.1 et 172.23.38.2 sur le schéma)
22 7 Baptiste Jonglez
23 7 Baptiste Jonglez
On ne fait pas de iperf sur le routeur directement, car iperf bouffe lui-même pas mal de CPU.  De plus, sur le routeur, on ne met ni firewall, ni NAT.
24 7 Baptiste Jonglez
25 7 Baptiste Jonglez
Tests à réaliser : *iperf TCP entre les deux laptops, dans les deux sens*, dans les cas suivants :
26 7 Baptiste Jonglez
27 7 Baptiste Jonglez
* test gros paquets (1400 octets), puis petits paquets (cf. VoIP, 50 à 100 octets, la mesure standard étant 64 octets)
28 7 Baptiste Jonglez
* sans emprunter le VPN (baseline), puis à travers le VPN
29 7 Baptiste Jonglez
30 7 Baptiste Jonglez
Paramètres mesurés :
31 7 Baptiste Jonglez
32 7 Baptiste Jonglez
* débit mesuré par iperf, et en déduire le nombre de paquets par secondes (attention à la taille des headers dans le calcul)
33 7 Baptiste Jonglez
* consommation CPU sur le routeur (difficilement automatisable / reproductible ?)
34 7 Baptiste Jonglez
35 7 Baptiste Jonglez
Autres tests possibles :
36 7 Baptiste Jonglez
37 7 Baptiste Jonglez
* avec/sans firewall stateful
38 7 Baptiste Jonglez
* client connecté sur le wifi plutôt que sur un des ports LAN (mais les résultats risquent de beaucoup dépendre du matériel wifi)
39 2 Baptiste Jonglez
40 1 Baptiste Jonglez
À terme, on peut envisager une automatisation de ce processus, par exemple via un paquet OpenWRT pour le routeur et une configuration toute faite et/out script pour le testeur.
41 2 Baptiste Jonglez
42 1 Baptiste Jonglez
h2. Related
43 2 Baptiste Jonglez
44 2 Baptiste Jonglez
Rien de bien concret côté OpenWRT :
45 1 Baptiste Jonglez
46 2 Baptiste Jonglez
* http://wiki.openwrt.org/doc/howto/performance
47 1 Baptiste Jonglez
* http://wiki.openwrt.org/doc/hardware/performance
48 2 Baptiste Jonglez
49 2 Baptiste Jonglez
h2. Résultats
50 2 Baptiste Jonglez
51 1 Baptiste Jonglez
h3. L2TP
52 1 Baptiste Jonglez
53 1 Baptiste Jonglez
Pour la mise en place, voir [[Tunnel L2TP]].