Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

26
Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT

Transcript of Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

Page 1: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

Qualité de Service sur Linux

Malik GUILLAUD

Nicolas COUTANT

Page 2: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

Plan

Problématique

Analyse

État de l’art

Nos Propositions

Page 3: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

Contexte

Qualité de Service (QoS) ?– Disponibilité– Bande Passante– Latence– Gigue– Pertes

Exemples

Page 4: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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

Page 5: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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)

Page 6: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

Analyse

Les principaux ordonnanceurs et les architectures d’ordonnancement

Les possibilités du noyau Linux 2.6

La commande TC

Page 7: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

Les Ordonnanceurs

Page 8: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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.

Page 9: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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.

Page 10: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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.

Page 11: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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.

Page 12: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

État de l’Art

Les Script de QoS

TCNG (Traffic Control Next Generation)

Page 13: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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

Page 14: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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).

Page 15: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

Traffic Control Next Generation (2/2)

Page 16: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

Nos propositions

Page 17: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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

Page 18: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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…

Page 19: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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

Page 20: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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

Page 21: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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)

Page 22: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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

Page 23: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

Hiérarchie des priorités

Page 24: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

Partage de bande passante

Page 25: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

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 ?

Page 26: Qualité de Service sur Linux Malik GUILLAUD Nicolas COUTANT.

MERCI