Projet agregation » Historique » Version 19
Jocelyn Dealande, 11/11/2011 23:54
1 | 1 | Laurent GUERBY | h1. Projet agregation |
---|---|---|---|
2 | 1 | Laurent GUERBY | |
3 | 2 | Yanick Delarbre | * [[Bibliographie du projet]] |
4 | 18 | Yanick Delarbre | * [[L'installation de gitolite]] |
5 | 3 | Yanick Delarbre | * http://pad.rhizome-fai.net/U7HSgxYvDM | Le code du tunnel tun réalisé avec python |
6 | 17 | Yanick Delarbre | * http://pad.rhizome-fai.net/TS2HBLkTnN | Spécification de l'iperf (de quel manière on détecte la capacité d'un lien de manière opportuniste ? Monitoring ?) |
7 | 1 | Laurent GUERBY | |
8 | 1 | Laurent GUERBY | * http://lists.tetaneutral.net/listinfo/projet-agregation |
9 | 1 | Laurent GUERBY | * http://chiliproject.tetaneutral.net/issues/16 |
10 | 4 | Jocelyn Dealande | |
11 | 4 | Jocelyn Dealande | |
12 | 4 | Jocelyn Dealande | h2. Test de tunproxy.py |
13 | 4 | Jocelyn Dealande | |
14 | 4 | Jocelyn Dealande | On utilise "tunproxy.py":http://www.secdev.org/projects/tuntap_udp/files/tunproxy.py. Entre 2 machines |
15 | 4 | Jocelyn Dealande | * client-adsl (une machine chez nous) |
16 | 4 | Jocelyn Dealande | * gateway (la VM) |
17 | 4 | Jocelyn Dealande | |
18 | 4 | Jocelyn Dealande | h3. Sur la gateway (= VM ttn) |
19 | 4 | Jocelyn Dealande | |
20 | 4 | Jocelyn Dealande | Démarrer le tunnel, il crée lui-même une interface _toto0_ (détruite à la sortie). |
21 | 4 | Jocelyn Dealande | |
22 | 4 | Jocelyn Dealande | <pre> |
23 | 4 | Jocelyn Dealande | ./tunproxy.py -s 6000 |
24 | 11 | Jocelyn Dealande | ifconfig toto0 10.0.0.1/24 mtu 1468 |
25 | 4 | Jocelyn Dealande | </pre> |
26 | 1 | Laurent GUERBY | |
27 | 15 | Jocelyn Dealande | La MTU est calculée comme suit : |
28 | 1 | Laurent GUERBY | |
29 | 11 | Jocelyn Dealande | MTU de l'iface virtuelle = MTU de l'iface physique - taille_max(header IP) - taille(header UDP) |
30 | 15 | Jocelyn Dealande | MTU de l'iface virtuelle = 1500 - 24 - 8 |
31 | 11 | Jocelyn Dealande | |
32 | 17 | Yanick Delarbre | http://www.commentcamarche.net/faq/7185-introduction-au-mtu |
33 | 11 | Jocelyn Dealande | |
34 | 4 | Jocelyn Dealande | h3. Sur le client |
35 | 4 | Jocelyn Dealande | |
36 | 4 | Jocelyn Dealande | |
37 | 4 | Jocelyn Dealande | <pre> |
38 | 4 | Jocelyn Dealande | ./tunproxy.py -c rhizome-fai.tetaneutral.net:6000 |
39 | 12 | Yanick Delarbre | ifconfig toto0 10.0.0.2/24 mtu 1468 |
40 | 4 | Jocelyn Dealande | </pre> |
41 | 4 | Jocelyn Dealande | |
42 | 4 | Jocelyn Dealande | Tout le trafic vers les adresses en 10.0.0.x passera par le tunnel. |
43 | 4 | Jocelyn Dealande | |
44 | 4 | Jocelyn Dealande | * http://lists.tetaneutral.net/listinfo/projet-agregation |
45 | 1 | Laurent GUERBY | * http://chiliproject.tetaneutral.net/issues/16 |
46 | 1 | Laurent GUERBY | |
47 | 15 | Jocelyn Dealande | Un test de perf sur un téléchargement d'un fichier de 40Mio donne : |
48 | 15 | Jocelyn Dealande | |
49 | 15 | Jocelyn Dealande | * avec tunnel : 909kb/s |
50 | 15 | Jocelyn Dealande | * sans tunnel : 942kb/s |
51 | 15 | Jocelyn Dealande | |
52 | 11 | Jocelyn Dealande | h1. Petits points techniques⦠|
53 | 11 | Jocelyn Dealande | |
54 | 11 | Jocelyn Dealande | h2. Que mesure iperf et comment (en UDP) ? |
55 | 11 | Jocelyn Dealande | |
56 | 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.* |
57 | 1 | Laurent GUERBY | |
58 | 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. |
59 | 1 | Laurent GUERBY | |
60 | 1 | Laurent GUERBY | |
61 | 15 | Jocelyn Dealande | h2. Pourquoi iperf ne fonctionne pas bien (plein de pertes) en TCP avec une mauvaise MTU ? |
62 | 15 | Jocelyn Dealande | Les faits, lorsque la MTU de l'interface de tunnel est à 0 : |
63 | 1 | Laurent GUERBY | |
64 | 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) |
65 | 15 | Jocelyn Dealande | * un wget se foire comme iperf |
66 | 16 | Jocelyn Dealande | * ping -s 1400 10.0.0.1 fonctionne au poil) |
67 | 17 | Yanick Delarbre | |
68 | 17 | Yanick Delarbre | h2. Quelques outils réseaux bien pratique |
69 | 17 | Yanick Delarbre | |
70 | 17 | Yanick Delarbre | * tcpdump | http://openmaniak.com/fr/tcpdump.php |
71 | 17 | Yanick Delarbre | <pre bash> |
72 | 17 | Yanick Delarbre | tcpdump -D #Interfaces réseaux disponibles pour la capture |
73 | 17 | Yanick Delarbre | tcpdump port 80 -i eth0 -w capture.log #Enregistre le trafic Web vers le fichier capture.log pouvant être ouvert avec Wireshark |
74 | 17 | Yanick Delarbre | tcpdump icmp #Affiche tout le trafic associé au protocole icmp |
75 | 17 | Yanick Delarbre | </pre> |
76 | 17 | Yanick Delarbre | * ping | http://www.bortzmeyer.org/ping-taille-compte.html |
77 | 17 | Yanick Delarbre | ** Permet de tester un problème de MTU grâce à l'option -s de ping permettant de fixer une taille de paquet |
78 | 17 | Yanick Delarbre | * hping3 |
79 | 17 | Yanick Delarbre | <pre bash> |
80 | 17 | Yanick Delarbre | hping --syn -p 80 --data 1200 10.0.0.1 #Envoie de paquet tcp syn sur le port 80 de taille 1200 |
81 | 17 | Yanick Delarbre | </pre> |
82 | 5 | Jocelyn Dealande | |
83 | 15 | Jocelyn Dealande | |
84 | 10 | Jocelyn Dealande | h1. Journal (Ã partir du 28 oct) |
85 | 9 | Jocelyn Dealande | |
86 | 6 | Jocelyn Dealande | Activités du projet de Yanick & Jocelyn (TX) |
87 | 1 | Laurent GUERBY | |
88 | 19 | Jocelyn Dealande | h2. 11 nov. |
89 | 19 | Jocelyn Dealande | |
90 | 19 | Jocelyn Dealande | * Debuggage du problème de MTU (c'est honteux mais c'est bêtement la taille des buffers qui n'était pas assez grande dans le programme. Notamment dû aux pseudo en-têtes, cf plus bas). |
91 | 19 | Jocelyn Dealande | * Configuration auto des adresses IP de chaque côté du tunnel (plus besoin d'ifconfig à la main) |
92 | 19 | Jocelyn Dealande | * Ajout sur tunproxy.py de compteurs de débit |
93 | 19 | Jocelyn Dealande | * mémorise le traffic sur les x dernières tranches de n secondes (défaut 10 tranches de 1 seconde) |
94 | 19 | Jocelyn Dealande | * Affiche les moyennes et les max. |
95 | 19 | Jocelyn Dealande | * Compréhension de ce qui passe dans TUN : bien qu'étant un tunnel de niveau 3, il y a une pseudo-en-tête de L2, cf "doc officielle":http://www.mjmwired.net/kernel/Documentation/networking/tuntap.txt#102 (merci Laurent!) |
96 | 19 | Jocelyn Dealande | * discussion avec Laurent sur les intérêts de faire un tunnel L2 (qui rajoute pourtant l'overhead de l'en-tête L2), en bref : |
97 | 19 | Jocelyn Dealande | * évite de gérer les soucis spécifiques du niveau IP |
98 | 19 | Jocelyn Dealande | * TUN ne supporte pas IPV6 par exemple ⦠|
99 | 19 | Jocelyn Dealande | |
100 | 19 | Jocelyn Dealande | |
101 | 5 | Jocelyn Dealande | h2. 28 oct. |
102 | 6 | Jocelyn Dealande | |
103 | 12 | Yanick Delarbre | * Initiation python (découverte pour Yanick ET Jocelyn) |
104 | 5 | Jocelyn Dealande | * Commentaire intégral du tunproxy.py et premiers tests de ce dernier |
105 | 8 | Jocelyn Dealande | ** ping ok (+1ms) |
106 | 15 | Jocelyn Dealande | ** iperf à travers le tunnel : BP ~= celle de l'uplink ADSL. Le dernier datagrame ne reçoit pas d'ACK |
107 | 5 | Jocelyn Dealande | |
108 | 5 | Jocelyn Dealande | <pre> |
109 | 5 | Jocelyn Dealande | [ 3] local 10.0.0.2 port 50191 connected with 10.0.0.1 port 5001 |
110 | 5 | Jocelyn Dealande | [ ID] Interval Transfer Bandwidth |
111 | 5 | Jocelyn Dealande | [ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec |
112 | 5 | Jocelyn Dealande | [ 3] Sent 893 datagrams |
113 | 5 | Jocelyn Dealande | [ 3] WARNING: did not receive ack of last datagram after 10 tries. |
114 | 5 | Jocelyn Dealande | </pre> |
115 | 13 | Yanick Delarbre | |
116 | 13 | Yanick Delarbre | h2. 2 novembre |
117 | 13 | Yanick Delarbre | |
118 | 13 | Yanick Delarbre | * Modification de la MTU pour éviter la fragmentation de paquet |
119 | 13 | Yanick Delarbre | |
120 | 13 | Yanick Delarbre | h1. Fonctionnalité |
121 | 13 | Yanick Delarbre | |
122 | 13 | Yanick Delarbre | * Ajouter plusieurs sockets sur le tunnel pour éviter le traffic shaping de la part d'un opérateur |