QoS Réseaux haut débit et Qualité de service Auteurs : COUMATES Matthieu PETIT-JEAN Jérémy Responsable : PHAM Congduc (UPPA) 16 decembre 2010
Table des matières 1 Gestion de la QoS au niveau du noyau linux 2 2 Application de la QoS 3 2.1 Scénario de test.......................... 3 2.2 Présentation des outils...................... 3 2.2.1 Mgen............................ 3 2.2.2 GNUPlot......................... 4 2.2.3 Trpr............................ 4 2.3 Simulation de trafic sans QoS.................. 4 2.3.1 Mise en place....................... 4 2.3.2 Résultats......................... 5 2.4 Simulation de trafic avec notre QoS............... 6 2.4.1 Mise en place....................... 6 2.4.2 Résultats......................... 11 2.5 Conclusion............................. 12 1
Chapitre 1 Gestion de la QoS au niveau du noyau linux Afin de gérer la QoS, il faut d abord commencer par créer les classes de flux avec tc (Trafic control). Par exemple on crée une classe associée à une interface réseau (eth0) avec un id, en prescisant la bande passante, un débit max et une priorité. Exemple : tc class add dev eth0 parent 1 :1 classid 1 :10 htb rate 80kbit ceil 80kbit prio 0 HTB : Hierarchical Token Bucket On crée la classe 1 :10 avec une bande passante et un débit max de 80kbit. la classe aura une priorité de 0 (la plus haute priorité) Ensuite, toujour grâce à tc, on dispache les paquets selon leur marquage qui sera affecté grâce à iptable. Exemple : tc filter add dev eth0 parent 1 :0 protocol ip prio 1 handle 1 fw classid 1 :10 Les paquets marqués 1 seront redirigés dans la classe 1 :10 2
Chapitre 2 Application de la QoS 2.1 Scénario de test Nous allons gérer la QoS pour les protocoles Telnet, voip, nfs, http. Telnet permettra à l administrateur de travailler. Il faudra garantir un échange entre les personnes (trvaillant sur plusieurs sites) : Il faudra donc garantir les services dans cet ordre : Telnet, nfs, voip, http. Telnet pour laisser la priorité à l administrateur, nfs pour l échange de fichiers et donc ne pas bloquer le travail du personnel, voip pour que les personnes puissent échanger de vive voix et enfin http pour sortir sur internet ( ce qui est le moins important dans ce cas là). Afin de rendre le scénario plus complet, on peut supposer qu il y a des jours ou les différentes agences doivent faire des réunions en visio conférences, il définira donc un script ou la voip est priorisé par rapport aux autres protocoles. Le soir à 21h les fichiers sensibles sont sauvegardé sur le server, on donnera donc priorité, dans ce pas là, à NFS. 2.2 Présentation des outils 2.2.1 Mgen Mgen est un outil de génération de trafic réseau. Il permet notamment de générer des flux, constants ou variable selon des lois de probabilité,de paquets TCP/UDP. Enfin il est possible de créer un écouteur pour récuperer ces flux. La procédure d installation est la suivante : Récupérer l archive mgen, 3
CHAPITRE 2. APPLICATION DE LA QOS La compiler L executer 2.2.2 GNUPlot Cet outil permet de dessiner rapidement des courbes à partir de séries de chiffres. Il est extrêmement simple d utilisation et permet d interpréter rapidement des résultats parfois complexes. Pour l installer : apt-get install gnuplot 2.2.3 Trpr Trpr permet de traiter les données recueillis par Mgen afin de les transformer dans un format compatible avec GnuPlot. Il est possible d afficher des moyennes de débit ou des moyennes sur le taux de perte de paquets UDP. Procédure d installation : Récupérer l archive trpr La compiler L executer 2.3 Simulation de trafic sans QoS Grâce à cette simulation, nous pourrons établir des valeurs de références qui nous permettrons de comparer les débits avec et sans QoS. 2.3.1 Mise en place Pour la simulation, on suppose que chaque flux envoi un flux constant de paquets. Pour simuler celà, on utilise mgen configuré comme suit : 4
CHAPITRE 2. APPLICATION DE LA QOS Chaque flux de butera a t=0, vers le machine 192.168.1.2 sur le port 5023 par exemple pour la premie re ligne. Ce flux est de 10000 paquets de taille 1024 par seconde. Sur la machine 192.168.1.2, on la configure, toujours avec mgen, de telle fac on qu elle recoive ces flux. Avec la commande mgen input recepteur.mgen, on e coute sur les ports 5023, 2049, 1719, 5080 les flux de type UDP. re cepteur.mgen est de crit comme suit : 2.3.2 Re sultats 5
CHAPITRE 2. APPLICATION DE LA QOS On constate que seul les paquets associés à nfs sont recus. Les autres ne bénificient plus de bande passante, celle-ci est occupée entièrement par nfs, du coup aucun paquet (ou presque) ne sont reçu. Ceci ne respecte pas du tout le cahier des charges que l on s est fixé. Dans ce cas là, telnet est totalement inaccessible pour l administrateur. 2.4 Simulation de trafic avec notre QoS Le fait d installer une QoS nous permet de différencier le traffic arrivant sur chaque port afin de lui assigner un traitement particulier. Ici, on différencie les trafics sortant TCP sur le port 23 (Telnet), 80 (HTTP) et 2049 (NFS) et le trafic sortant UDP sur le port 1719(VOIP H323). 2.4.1 Mise en place Voici le script commenté mis en place pour la QoS : 6
CHAPITRE 2. APPLICATION DE LA QOS On définit en premier lieu les classes associées à chaque port avec des priorités différentes (prio 0/1/2/3) la classid 1 :10 sera associée au paquet arrivant sur le port 23 (5023 dans la simulation). Cette classe représentera Telnet. Elle sera de priorité maximale (0) et on lui garantira un débit compris entre 128 kbit et 1024 kbit. Celà ne sert 7
CHAPITRE 2. APPLICATION DE LA QOS à rien d offrir plus à ce protocole car ce service sera seulement utilisé par l administrateur réseau. Il en est de même pour les autres ports, NFS et VOIP auront un débit compris entre 1024kbit et le maximum (10000kbit) et http entre 512kbit et le max. A l aide de tc filter, on dispatchera les paquets dans leur classe correspondante et grâce à Iptables on marquera les paquets sortant. Ceci est la QOS de base qui sera appliqué la majorité du temps. comme nous l avons vu dans la partie scénario, nous avons deux autres cas de figure, celui ou la Voip est prioritaire, et celui ou NFS est prioritaire. Voici le script qui permet de donner la priorité a H323 pour la voip : 8
CHAPITRE 2. APPLICATION DE LA QOS 9
CHAPITRE 2. APPLICATION DE LA QOS Voici enfin celui qui donne la priorité au protocole NFS lors des sauvegardes journalieres : 10
CHAPITRE 2. APPLICATION DE LA QOS 2.4.2 Re sultats Voici les re sultats obtenus avec un re seau charge : nfs be nificie d un de bit stable e leve (fene tre entre 6000 et 8000), Telnet reste stable (jamais a 0 car prioritaire cf figure qui suit) mais bas. C est conforme a ce que l on a de finit (de bit max 1024), Voip utilisant UDP reste constant et stable le de bit consacre a http varie entre 0 et 1024. Comme celui-ci a sa priorite re gle e au minimum, il se peut qu a un instant t on ne recoive pas de paquets venant de lui. Sur la figure qui suit, la ligne bleu repre sente VOIP, la ligne rose http et la ligne rouge telnet. 11
CHAPITRE 2. APPLICATION DE LA QOS 2.5 Conclusion Gra ce a ce TP, nous avons pu de couvrir plusieurs outils pour tester des re seaux sous Linux et nous avons pu mesurer l importance d installer une ve ritable QoS dans une entreprise si l on veut garantir tous les jours que des services prioritaires soient accessibles et que d autres services puissent continuer d exister me me si le re seau se trouve surcharge. 12