Upload
internet
View
107
Download
0
Embed Size (px)
Citation preview
Qualité de Service sur Linux
Malik GUILLAUD
Nicolas COUTANT
Plan
Problématique
Analyse
État de l’art
Nos Propositions
Contexte
Qualité de Service (QoS) ?– Disponibilité– Bande Passante– Latence– Gigue– Pertes
Exemples
Les problèmes concrets (1/2)
Vue générale
gros download/upload ftp (ralentissement général des autres trafics)
les flux multimédia ex : radio, vidéoconférence, vocal, VoIP
favoriser la réactivité des protocoles interactifs légers ex : ssh, telnet, http, …
favoriser/limiter des applications spécifiques ex : son serveur web, un jeu, messagerie instantanée
Les problèmes concrets (2/2)
Vue réseau
limiter les trafics parasites et gourmands
(ex : p2p, recherche de MAJ automatique)
contrôler le partage de la bande passante– control suivant des paramètres précis
(ex : adresse/masque IP, utilisateur)
Analyse
Les principaux ordonnanceurs et les architectures d’ordonnancement
Les possibilités du noyau Linux 2.6
La commande TC
Les Ordonnanceurs
Les Architectures d’ordonnancement (1/2)
Class Based Queuing– Les differents flux sont divisés en classes avec
des priorités différentes.– Les autres flux sont envoyés en Best-Effort.
Les Architectures d’ordonnancement (2/2)
Heriarchical Token Bucket– Même principe que pour CBQ (hiérarchisation
des flux) mais avec un sceau à jeton comme ordonnanceur.
Les possibilités du noyau Linux 2.6
Marquage par Netfilter/Iptables :– Grâce à la table mangle, qui permet de marquer
n’importe quel paquet passant a travers le Netfilter.
La Commande TC
tc qdisc {add | del} dev INTERFACE
root cbq [avpkt AVPKT] [bandwidth BP]
[cell CELL] [maxburst MAXBURST]
[minburst MINBURST] [minidle MINIDLE]
[mpu MPU] [rate RATE]
Les classificateurs :– Fw (Firewall) : suivant le marquage par NetFilter.
– U32 : peut lire n’importe quel champ d’un paquet IP.
– Route : permet de classer les paquet en fonction de leur numéro de route.
État de l’Art
Les Script de QoS
TCNG (Traffic Control Next Generation)
Les Script de QoS
CBQ.init et HTB.init– Avantage : Puissant, Beaucoup de possibilités– Inconvénient : Complexité de configuration
WonderShaper– Avantage : Simplicité de configuration,
« priorisation » de flux interactifs légers (ssh,telnet,…)
– Inconvénient : Fonctionnalités limitées
Traffic Control Next Generation (1/2)
Génère, à partir d’un pseudo langage du genre C ou Perl et grâce à un compilateur (TCC), plusieurs formes de commandes TC.
Offre aussi la possibilité de simuler différents trafics (TCSIM).
Traffic Control Next Generation (2/2)
Nos propositions
Les contraintes
Utilisable par des personnes ayant les connaissances de bases en réseau (port, adresse IP, bande passante)
Relativement simple à configurer
Couvre un maximum de besoin en QoS
Architecture et files
Quelle architecture choisir ? Implémentation HTB de l’architecture CBQ
- la plus performante
- exploite les dernières MAJ du kernel
Quelles files d’attentes ?
htb semble être un bon choix…
Schéma général
CLASSE MEREIntègre des
fonctionnalités communes à tous
CLASSE FILLE 1Configuration pour
le 1er groupe demachines
CLASSE FILLE 2 CLASSE FILLE 3
La classe mère
Intégration d’une « pré-hiérarchie des priorités » : - Forte priorité pour les protocoles interactifs légers :
ssh, telnet- Priorité « moyenne » pour http- Priorité « assez faible » pour ftp
Hiérarchie bénéfique dans la très grande majorité des cas
Les classe filles (1/2)
Une classe-fille correspond à un groupe de machines
Pour chacun de ses groupes sont à configurer: les adresses des machines du groupe les applications spécifiques (ports et/ou adresses
destinations) à forte priorité celles à très faible priorité la bande passante affectée à ce groupe éventuellement les attributs unbounded et isolated
(par défaut à faux pour optimiser le réseau)
Les classe filles (2/2)
Répond à la plupart des problèmes pouvant se poser
Évolutivité
Assez léger à configurer (un seul fichier et un nombre de variables raisonnable)
Nécessité de connaître tous les ports/adresses destinations des applications à configurer
Hiérarchie des priorités
Partage de bande passante
Test du script
pour les priorités, une simple machine sous linux avec accès à internet
pour un 1er test sur les groupes, une passerelle et une machine cliente
tests poussés: hommel ?
MERCI