Project

General

Profile

Projet agregation » History » Version 16

Jocelyn Dealande, 11/02/2011 07:24 PM

1 1 Laurent GUERBY
h1. Projet agregation
2 1 Laurent GUERBY
3 2 Yanick Delarbre
* [[Bibliographie du projet]]
4 3 Yanick Delarbre
* http://pad.rhizome-fai.net/U7HSgxYvDM | Le code du tunnel tun réalisé avec python
5 1 Laurent GUERBY
6 1 Laurent GUERBY
* http://lists.tetaneutral.net/listinfo/projet-agregation
7 1 Laurent GUERBY
* http://chiliproject.tetaneutral.net/issues/16
8 4 Jocelyn Dealande
9 4 Jocelyn Dealande
10 4 Jocelyn Dealande
h2. Test de tunproxy.py
11 4 Jocelyn Dealande
12 4 Jocelyn Dealande
On utilise "tunproxy.py":http://www.secdev.org/projects/tuntap_udp/files/tunproxy.py. Entre 2 machines
13 4 Jocelyn Dealande
* client-adsl (une machine chez nous)
14 4 Jocelyn Dealande
* gateway (la VM)
15 4 Jocelyn Dealande
16 4 Jocelyn Dealande
h3. Sur la gateway (= VM ttn)
17 4 Jocelyn Dealande
18 4 Jocelyn Dealande
Démarrer le tunnel, il crée lui-même une interface _toto0_ (détruite à la sortie).
19 4 Jocelyn Dealande
20 4 Jocelyn Dealande
<pre>
21 4 Jocelyn Dealande
 ./tunproxy.py -s 6000
22 11 Jocelyn Dealande
 ifconfig toto0 10.0.0.1/24 mtu 1468
23 4 Jocelyn Dealande
</pre>
24 1 Laurent GUERBY
25 15 Jocelyn Dealande
La MTU est calculée comme suit : 
26 1 Laurent GUERBY
27 11 Jocelyn Dealande
  MTU de l'iface virtuelle  = MTU  de l'iface physique - taille_max(header IP) - taille(header UDP)
28 15 Jocelyn Dealande
  MTU de l'iface virtuelle = 1500 - 24 - 8
29 11 Jocelyn Dealande
30 11 Jocelyn Dealande
31 4 Jocelyn Dealande
h3. Sur le client
32 4 Jocelyn Dealande
33 4 Jocelyn Dealande
34 4 Jocelyn Dealande
<pre>
35 4 Jocelyn Dealande
 ./tunproxy.py -c rhizome-fai.tetaneutral.net:6000
36 12 Yanick Delarbre
 ifconfig toto0 10.0.0.2/24 mtu 1468
37 4 Jocelyn Dealande
</pre>
38 4 Jocelyn Dealande
39 4 Jocelyn Dealande
Tout le trafic vers les adresses en 10.0.0.x passera par le tunnel.
40 4 Jocelyn Dealande
41 4 Jocelyn Dealande
* http://lists.tetaneutral.net/listinfo/projet-agregation
42 1 Laurent GUERBY
* http://chiliproject.tetaneutral.net/issues/16
43 1 Laurent GUERBY
44 15 Jocelyn Dealande
Un test de perf sur un téléchargement d'un fichier de 40Mio donne :
45 15 Jocelyn Dealande
46 15 Jocelyn Dealande
* avec tunnel : 909kb/s
47 15 Jocelyn Dealande
* sans tunnel : 942kb/s
48 15 Jocelyn Dealande
49 11 Jocelyn Dealande
h1. Petits points techniques…
50 11 Jocelyn Dealande
51 11 Jocelyn Dealande
h2. Que mesure iperf et comment (en UDP) ?
52 11 Jocelyn Dealande
53 1 Laurent GUERBY
Iperf mesure le débit du client vers le serveur (dans un seul sens). En UDP, il envoie à une vitesse nominale (par défait 1M). Le résultat donné par le client n'est pas une mesure mais correspond à cette vitesse nominale. *Seul le server repport correspond à la "vraie" mesure.*
54 1 Laurent GUERBY
55 5 Jocelyn Dealande
La saturation d'un lien générant des pertes, pour mesurer les pertes liées à la qualité du lien (et non à sa capacité), il faut demander au client d'émettre un peu en-dessous de la vitesse à laquelle peut recevoir le serveur.
56 1 Laurent GUERBY
57 1 Laurent GUERBY
58 15 Jocelyn Dealande
h2. Pourquoi iperf ne fonctionne pas bien (plein de pertes) en TCP avec une mauvaise MTU ?
59 15 Jocelyn Dealande
Les faits, lorsque la MTU de l'interface de tunnel est à 0 :
60 1 Laurent GUERBY
61 15 Jocelyn Dealande
* iperf -c 10.0.0.1 ne fonctionne pas bien, à se demander si la fragmentation IP fonctionne (ne se termine jamais, on ne voit pas de paquets revenir vers le client)
62 15 Jocelyn Dealande
* un wget se foire comme iperf
63 16 Jocelyn Dealande
* ping -s 1400 10.0.0.1 fonctionne au poil)
64 5 Jocelyn Dealande
65 15 Jocelyn Dealande
66 10 Jocelyn Dealande
h1. Journal (à partir du 28 oct)
67 9 Jocelyn Dealande
68 6 Jocelyn Dealande
Activités du projet de Yanick & Jocelyn (TX)
69 1 Laurent GUERBY
70 5 Jocelyn Dealande
h2.  28 oct. 
71 6 Jocelyn Dealande
72 12 Yanick Delarbre
* Initiation python (découverte pour Yanick ET Jocelyn) 
73 5 Jocelyn Dealande
* Commentaire intégral du tunproxy.py et premiers tests de ce dernier
74 8 Jocelyn Dealande
** ping ok (+1ms)
75 15 Jocelyn Dealande
** iperf à travers le tunnel : BP ~= celle de l'uplink ADSL. Le dernier datagrame ne reçoit pas d'ACK
76 5 Jocelyn Dealande
77 5 Jocelyn Dealande
<pre>
78 5 Jocelyn Dealande
[  3] local 10.0.0.2 port 50191 connected with 10.0.0.1 port 5001                        
79 5 Jocelyn Dealande
[ ID] Interval       Transfer     Bandwidth                                              
80 5 Jocelyn Dealande
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec                                         
81 5 Jocelyn Dealande
[  3] Sent 893 datagrams                                                                 
82 5 Jocelyn Dealande
[  3] WARNING: did not receive ack of last datagram after 10 tries.
83 5 Jocelyn Dealande
</pre>
84 13 Yanick Delarbre
85 13 Yanick Delarbre
h2. 2 novembre
86 13 Yanick Delarbre
87 13 Yanick Delarbre
* Modification de la MTU pour éviter la fragmentation de paquet
88 13 Yanick Delarbre
89 13 Yanick Delarbre
h1. Fonctionnalité
90 13 Yanick Delarbre
91 13 Yanick Delarbre
* Ajouter plusieurs sockets sur le tunnel pour éviter le traffic shaping de la part d'un opérateur