Projet

Général

Profil

Bibliographie du projet » Historique » Version 2

Yanick Delarbre, 28/01/2012 15:15

1 1 Yanick Delarbre
h1. Bibliographie du projet
2 1 Yanick Delarbre
3 1 Yanick Delarbre
http://framapad.org/1OuW0Br2vr
4 2 Yanick Delarbre
5 2 Yanick Delarbre
6 2 Yanick Delarbre
h1. Agrégation en général
7 2 Yanick Delarbre
Deux objectifs :
8 2 Yanick Delarbre
augmenter la bande passante
9 2 Yanick Delarbre
redondance (failover)
10 2 Yanick Delarbre
11 2 Yanick Delarbre
Enjeux :
12 2 Yanick Delarbre
répartition efficace (utiliser au mieux la capacité totale)
13 2 Yanick Delarbre
résilience rapide et transparente en cas de panne (failover)
14 2 Yanick Delarbre
15 2 Yanick Delarbre
h1. Agrégation locale
16 2 Yanick Delarbre
Fonctionement master/slave :
17 2 Yanick Delarbre
les slaves sont les liens physiques (les différents points de sortie)
18 2 Yanick Delarbre
le master décide de la répartition du trafic entre les slaves
19 2 Yanick Delarbre
20 2 Yanick Delarbre
Peut s'opérer à plusieurs niveaux :
21 2 Yanick Delarbre
niveau 1 : ex: utiliser plusieurs cannaux wifi ex: MiMo (hors-contexte pour nous)
22 2 Yanick Delarbre
niveau 2 "Bonding", norme IEEE http://en.wikipedia.org/wiki/802.1AX-2008
23 2 Yanick Delarbre
niveau ?? MLPP
24 2 Yanick Delarbre
IPtables mark random
25 2 Yanick Delarbre
26 2 Yanick Delarbre
Approches logicielles :
27 2 Yanick Delarbre
Agrego http://code.google.com/p/agrego/
28 2 Yanick Delarbre
29 2 Yanick Delarbre
Agrégation via un TUN : tout ce qui est écrit dans l'interface tun est gérée par agrego
30 2 Yanick Delarbre
31 2 Yanick Delarbre
Agrégation 
32 2 Yanick Delarbre
33 2 Yanick Delarbre
34 2 Yanick Delarbre
35 2 Yanick Delarbre
36 2 Yanick Delarbre
h3. Le chanel bonding
37 2 Yanick Delarbre
http://downloads.sourceforge.net/project/bonding/Documentation/12%20November%202007/bonding.txt?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fbonding%2Ffiles%2FDocumentation%2F12%2520November%25202007%2F&ts=1317896490&use_mirror=heanet
38 2 Yanick Delarbre
Il s'agit sous linux du module "bonding". Une interface virtuelle est présentée au système, elle utilise de manière sous-jacente N interfaces physiques, soit en load-balancing, soit en fallback. Il faut bien être conscient que l'agrégation doit-être mise en place des 2 côtés. 
39 2 Yanick Delarbre
40 2 Yanick Delarbre
41 2 Yanick Delarbre
42 2 Yanick Delarbre
Soit :
43 2 Yanick Delarbre
Fallback (mode 2) : une seule interface est utilisée, avec basculement en cas de panne ;
44 2 Yanick Delarbre
Load-balancing (inclut de base la redondance)
45 2 Yanick Delarbre
mode 0 : round-robin
46 2 Yanick Delarbre
mode 2 : toute communication avec un hôte pair (= adresse MAC du correspondant) utilisera une et une seule interface (choisie de manière déterministe par XOR). Les cartes utilisent leurs adresses MAC physiques (2 différentes).
47 2 Yanick Delarbre
mode 3 : broadcast (inintéressant)
48 2 Yanick Delarbre
mode 4 (802.3ad)  load-balancing intelligent : prend en compte dynamiquement la capacité des liens et leur duplex (intéressant pour les liens sans-fil). Le switch doit supporter le mode 802.3ad. Nécessite un switch compatible
49 2 Yanick Delarbre
mode 5 : une seule addr. MAC, on envoie en round-robbin, on ne reçoit que sur une carte
50 2 Yanick Delarbre
mode 6 : 2 addr. MAC différentes : l-b en émission (idem que 5) et réception aussi, en émettant des réponses ARP pour assigner tel ou tel pair à telle ou telle interface
51 2 Yanick Delarbre
Fallback simple : 
52 2 Yanick Delarbre
mode 1
53 2 Yanick Delarbre
54 2 Yanick Delarbre
La détection de panne se fait par le module de bonding, de deux manières différentes :
55 2 Yanick Delarbre
vérifier que la liaison de niveau 1 est "branchée" (MII), passif, ne génère pas de trafic réseau ;
56 2 Yanick Delarbre
vérifier  que la passerelle répond (via une requête ARP) (actif, consomme de la  BP). En mode 0 ou 2, les réponses ARP n'arrivent que sur un des esclaves  si le switch ne prend pas soin de distribuer les réponses ARP sur tous  les liens.
57 2 Yanick Delarbre
58 2 Yanick Delarbre
59 2 Yanick Delarbre
/!\ Il y aurait problème à utiliser du bonding avec DHCP (car correspondances MAC/IP instables ?, cf doc) (pas très grave, le DHCP ne se pose que pour les clients finaux).
60 2 Yanick Delarbre
61 2 Yanick Delarbre
62 2 Yanick Delarbre
63 2 Yanick Delarbre
Les deux problématiques évoquées plus tôt nécessitent l'usage d'un protocole pour que les liens communiquent entre eux (s'informer de leur état, éventuellement de leur débit…).
64 2 Yanick Delarbre
-> LACP (ieee, normalisé) PaGP (cisco, proprio).
65 2 Yanick Delarbre
66 2 Yanick Delarbre
67 2 Yanick Delarbre
68 2 Yanick Delarbre
h1. Agrégation distante
69 2 Yanick Delarbre
Métriques
70 2 Yanick Delarbre
propagation des métriques
71 2 Yanick Delarbre
répartition (paquet par paquet, destination/destination… ?)
72 2 Yanick Delarbre
73 2 Yanick Delarbre
h1. Problématiques spécifiques wireless
74 2 Yanick Delarbre
75 2 Yanick Delarbre
h1. Point technique
76 2 Yanick Delarbre
Tun et tap sont des cartes réseaux virtuelles. TAP opère au niveaux deux. TUN opère au niveaux 3. TAP est utiliser pour créer un réseau bridgé alors que TUN est utilisé pour le routage.
77 2 Yanick Delarbre
Source: http://en.wikipedia.org/wiki/TUN/TAP
78 2 Yanick Delarbre
79 2 Yanick Delarbre
h2. Implémentation technique
80 2 Yanick Delarbre
Utilisation d'IPTables pour router (détermine le next-hop à l'aide de la pondération).
81 2 Yanick Delarbre
Utilisation d'IPv6 et de sa gestion native d'aggrégation (à approfondir)
82 2 Yanick Delarbre
83 2 Yanick Delarbre
h1. métrologie
84 2 Yanick Delarbre
85 2 Yanick Delarbre
86 2 Yanick Delarbre
Que mesurer ?
87 2 Yanick Delarbre
    On mesure au niveau du paquet. (et non d'un flot). Le paquet étant l'unité élémentaire traitée par la couche « réseau ».
88 2 Yanick Delarbre
Bande passante ?
89 2 Yanick Delarbre
Ping ?
90 2 Yanick Delarbre
Jitter ? //Variation du délai du transfert de l'information
91 2 Yanick Delarbre
92 2 Yanick Delarbre
h2. Source
93 2 Yanick Delarbre
http://igm.univ-mlv.fr/~dr/XPOSE2006/PICARD/definitions.htm
94 2 Yanick Delarbre
95 2 Yanick Delarbre
96 2 Yanick Delarbre
h2.Pourquoi mesurer la capacité et la charge des liens ?
97 2 Yanick Delarbre
Le but est de pouvoir hiérarchiser les routes vers internet en fonction de leur capacité. Une mesure ultra-précise n'a pas forcément d'intérêt, en revanche,
98 2 Yanick Delarbre
99 2 Yanick Delarbre
Deux choses : 
100 2 Yanick Delarbre
mesurer la capacité du lien
101 2 Yanick Delarbre
La bande passante du lien
102 2 Yanick Delarbre
mesurer la charge du lien
103 2 Yanick Delarbre
La bande passante utilisé à l'instant t
104 2 Yanick Delarbre
105 2 Yanick Delarbre
Il n'est pas dit que la prise en compte de la charge du lien soit pertinente : si le système a autorité sur la répartition de charge, la charge devrait être distribuée proportionellement à la capacité…
106 2 Yanick Delarbre
107 2 Yanick Delarbre
h2. mesure de la capacité du lien
108 2 Yanick Delarbre
*Passif naïf *, on se fie à ce que donne le driver (informations reportées par iwconfig, ou dans sysfs), à quelle vitesse se fait la synchro en somme. Problème, c'est très approximatif et c'est plus une borne supérieure qu'autre chose…
109 2 Yanick Delarbre
*Passif estimé* on peut certainement prendre en compte le SNR d'une liaison, des articles sur le sujet : 
110 2 Yanick Delarbre
http://citeseer.ist.psu.edu/viewdoc/download;jsessionid=D8D74970F81D4957F250F4357BB6CCC9?doi=10.1.1.15.5673&rep=rep1&type=pdf (dont approche adaptative)
111 2 Yanick Delarbre
112 2 Yanick Delarbre
113 2 Yanick Delarbre
-> Quel modèle utilisent les protocoles de routage mesh de type BATMAN/OLSR ?
114 2 Yanick Delarbre
115 2 Yanick Delarbre
Une comparaison de l'efficacité des différentes méthodes : http://www.thlab.net/~thsalon/papers/wons09.pdf
116 2 Yanick Delarbre
117 2 Yanick Delarbre
118 2 Yanick Delarbre
119 2 Yanick Delarbre
h1. Hypothèse de travail
120 2 Yanick Delarbre
Tous les clients/bornes ont une IP public
121 2 Yanick Delarbre
La répartition de charge se fait de manière aléaloitre distribué de manière équiprobable.
122 2 Yanick Delarbre
La pondération (métrique), s'effectue sur la capacité total d'un lien (et non la capacité disponible d'un lien)
123 2 Yanick Delarbre
124 2 Yanick Delarbre
h1. Fonctionnement général
125 2 Yanick Delarbre
    Simple: Sorties Internet de Rhizome relié par tunnel PPP (couche 2) vers une machine de Tetaneutral.net. La machine tetaneutral fait du routage BGP. Donc annonce BGP.
126 2 Yanick Delarbre
    Réel: tunnel transporte IP(passerelle dans le coeur tetaneutral)+UDP/TCP+IP(paquet original). Machine fait toujours du BGP. 
127 2 Yanick Delarbre
    
128 2 Yanick Delarbre
h1. Réseau de test
129 2 Yanick Delarbre
    Réseau N: 192.168.0./24&
130 2 Yanick Delarbre
131 2 Yanick Delarbre
132 2 Yanick Delarbre
ToDo: regarder comment fonctionne BATMAN
133 2 Yanick Delarbre
Questions auxquelles il nous faut répondre concernant BATMAN: 
134 2 Yanick Delarbre
De quelle manière BATMAN pondère-t-il les liens radio ?
135 2 Yanick Delarbre
BATMAN conserve-t-il une liste des routes possibles vers une adresse (ce qui nous serait utile pour faire du load-balancing) ou seulement la meilleure ?
136 2 Yanick Delarbre
BATMAN fait-il du load-balancing (pas à ma connaissance mais à creuser)
137 2 Yanick Delarbre
Comment fonctionne le routage LAN (radio/filaire) -> WAN (sachant que BATMAN a une gestion de l'annonce des points de sortie vers internet) ? Les liens vers internet (ex: xDSL) sont-ils pondérés en eux-même ou seul le réseau radio est pris en compte pour trouver le meilleur point de sortie vers internet ?
138 2 Yanick Delarbre
139 2 Yanick Delarbre
h1. Annexe : différents liens sur le fonctionnement 802.11x
140 2 Yanick Delarbre
Des vitesses de synchro et de restransmission, cas pratique : http://mobilesociety.typepad.com/mobile_life/2008/05/sniffing-wifi-p.html