Next Previous Contents

QoS de niveau 2 sous Linux

Ce document donne quelques indications pour la mise en place d'une QoS[*] de niveau 2 (dans le Modèle OSI[*]) sous Linux à l'aide d'Iptables.

Ce résumé est issu de l'article : QoS/Gestion de la bande passante sous Linux http://lea-linux.org/cached/index/Leapro-pro_reseau-qos.html# rédigé par Julien Lecubindu et publié sous la licence Creative Commons.

Creative Commons License
Creative Commons Attribution icon Creative Commons Share Alike icon Creative Commons Noncommercial
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique, Contexte non commercial 2.0 :
http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

Valeurs possible du champ TOS (Type Of Service) d'une trame TCP/IP

Binaire Décimal Signification
1000 8 Minimise le Délai (Minimize delay) (md)
0100 4 Maximalise le Débit (Maximize throughput) (mt)
0010 2 Maximalise la Fiabilité (Maximize reliability) (mr)
0001 1 Minimalise le Coût Monétaire (Minimize monetary cost) (mmc)
0000 0 Service Normal

TOS Binaire Décimal Signification Priorité Linux Bande
0x0 0000 0 Service Normal 0 Best Effort 1
0x2 0001 1 Minimise le Coût Monétaire (mmc) 1 Filler 2
0x4 0010 2 http://fr.wikipedia.org/wiki/Mod%C3%A8le_OSI 0 Best Effort 1
0x6 0011 3 mmc+mr 0 Best Effort 1
0x8 0100 4 Maximalise le Débit (mt) 2 Masse 2
0xa 0101 5 mmc+mt 2 Masse 2
0xc 0110 6 mr+mt 2 Masse 2
0xe 0111 7 mmc+mr+mt 2 Masse 2
0x10 1000 8 Minimise le Délai (md) 6 Interactive 0
0x12 1001 9 mmc+md 6 Interactive 0
0x14 1010 10 mr+md 6 Interactive 0
0x16 1011 11 mmc+mr+md 6 Interactive 0
0x18 1100 12 mt+md 4 Int. Masse 1
0x1a 1101 13 mmc+mt+md 4 Int. Masse 1 4 Int. Masse 1
0x1c 1110 14 mr+mt+md 4 Int. Masse 1
0x1e 1111 15 mmc+mr+mt+md 4 Int. Masse 1

Le tableau suivant provenant de la RFC 1349 (à lire pour plus de détails) indique comment les applications devraient configurer leurs bits TOS pour fonctionner correctement :


TELNET
1000 (minimise le délai)


FTP
Contrôle 1000 (minimise le délai)
Données 0100 (maximalise le débit)


TFTP
1000 (minimise le délai)


SMTP
phase de commande 1000 (minimise le délai)
phase DATA 0100 (maximalise le débit)


Domain Name Service
requête UDP 1000 (minimise le délai)
requête TCP 0000
Transfert de Zone 0100 (maximalise le débit)


NNTP
0001 (minimise le coût monétaire)


ICMP
Erreurs 0000
Requêtes 0000 (presque)
Réponses <même chose que requête> (presque)

QoS via iptables

Pour faire de la QoS, nous allons modifier la valeur du champs TOS se situant dans l'en tête IP grâce à iptables.

L'intérêt de la QoS sous Linux est très souvent associé à la priorisation de flux interactifs via iptables. Par exemple, vous ne souhaitez pas que votre session ssh soit interrompue à cause d'un utilisateur qui est en train de monopoliser la bande passante de votre réseau en downloadant une bande annonce sur internet (Il s'agit d'un cas de figure bien plus répandu qu'on ne le pense !). Nous allons ici à titre d'exemple optimiser les trafics courants avec iptables, à savoir le ftp et ssh :


# Priorisation des connexions ftp et ssh 
iptables -A PREROUTING -t mangle -p tcp -sport ssh -j TOS -set-tos Minimize-Delay  
iptables -A PREROUTING -t mangle -p tcp -sport ftp -j TOS -set-tos Minimize-Delay  
# On donne un maximum de débit aux transferts ftp, peu importe la latence 
iptables -A PREROUTING -t mangle -p tcp -sport ftp-data -j TOS -set-tos Maximize-Throughput


A vous d'adapter ce script suivant les services de votre réseau que vous souhaitez prioriser.

A Propos de ce document ...

QoS de niveau 2 sous Linux

Ce document à été en partie généré en utilisant LaTeX2HTML translator Version 2002-2-1 (1.71)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.



Définitions

... QoS[*]
sigle qui signifie Quality of Service en anglais, que l'on traduit par « qualité de service » en français. Dans un réseau informatique, les protocoles gérant la QoS permettent, à l'aide d'algorithmes, de prioriser certains flux par rapport à d'autres, mais aussi d'effectuer de la gestion de bande passante, etc.

Récupérée de http://fr.wikipedia.org/wiki/QoS

... Modèle OSI[*]
Le modèle OSI (Open Systems Interconnection, « modèle de référence d'interconnexion de systèmes ouverts ») a été créé à la fin des années 1970 par l'ISO (Organisation internationale de normalisation) norme ISO 7498 dans le but d'offrir une base commune à la description du processus de fonctionnement de tout réseau informatique et pour que les matériels et applications provenant de différents constructeurs et éditeurs puissent être compatibles entre eux.

Récupérée de http://fr.wikipedia.org/wiki/Mod