Benchmark VPN » Historique » Version 8
Baptiste Jonglez, 31/05/2014 08:24
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 | 8 | Baptiste Jonglez | h3. Avec un seul laptop |
43 | 8 | Baptiste Jonglez | |
44 | 8 | Baptiste Jonglez | C'est possible de tester avec un seul laptop, si il a deux interfaces réseau (par exemple une carte réseau USB). Par contre, il faut bidouiller un peu : si on iperf vers une de ses propres adresses, ça va rester en local et ne pas passer par le routeur. |
45 | 8 | Baptiste Jonglez | |
46 | 8 | Baptiste Jonglez | Solution : utiliser les *network namespaces* de linux. Technique décrite ici : http://blog.bofh.it/debian/id_446 |
47 | 8 | Baptiste Jonglez | |
48 | 1 | Baptiste Jonglez | h2. Related |
49 | 2 | Baptiste Jonglez | |
50 | 2 | Baptiste Jonglez | Rien de bien concret côté OpenWRT : |
51 | 1 | Baptiste Jonglez | |
52 | 2 | Baptiste Jonglez | * http://wiki.openwrt.org/doc/howto/performance |
53 | 1 | Baptiste Jonglez | * http://wiki.openwrt.org/doc/hardware/performance |
54 | 2 | Baptiste Jonglez | |
55 | 2 | Baptiste Jonglez | h2. Résultats |
56 | 2 | Baptiste Jonglez | |
57 | 1 | Baptiste Jonglez | h3. L2TP |
58 | 1 | Baptiste Jonglez | |
59 | 1 | Baptiste Jonglez | Pour la mise en place, voir [[Tunnel L2TP]]. |