qualité de service sur linux malik guillaud nicolas coutant

Post on 03-Apr-2015

108 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related