Strat Gies QoS Simples Sur Cisco
Strat Gies QoS Simples Sur Cisco
Strat Gies QoS Simples Sur Cisco
Cette article prsente rapidement les commandes de bases affectes au QoS sur les routeurs Cisco de la srie 26xx. Remarque : Des bases sur le fonctionnement d'un routeur en gnral et de Cisco IOS en particulier sont requises.
Sommaire
Introduction 1. Rappel sur QoS 1.1. La latence 1.2. La Jigue 1.3. Les paquets perdus 1.4. Le contrle du dbit 1.5. Politiques QoS 2. Etapes de la mise en place 2.1. Type de trafic 2.2. Rgles 2.3. Application a une interface 2.4. Cas de la limitation de bande passante 3. Dtails des commandes et des possibilits 3.1. Rappel sur les ACLs 3.2. Class-map 3.3. Policy-map 3.4. Service-policy 3.5. Rate-limit 4. Exemple de configuration 4.1. Limitation de bande passante par shapping 4.2. Limitation de bande passante avec rate-limit 4.3. Priorisation des trafics Conclusion
Introduction
QoS pour Quality of Service est un concept de qualit de service introduit il y a quelques annes avec la croissance exponentielle des donnes changes sur les rseaux, notamment les rseaux IP. Il vise apporter des garanties l'utilisateur sur des points tels que le dbit ou la perte de paquets. Il se concentre davantage sur une utilisation plus efficace du rseau actuel que sur laugmentation des ressources. Nous verrons dans cet article comment appliquer des politiques de QoS trs simples sur des Routeurs Cisco de la srie 26xx Remarque : les IOS suivants ont t utiliss pour les tests : 12.0(7)T et 12.2(11)T10
1.1. La latence
La latence est le temps que met un paquet pour parcourir le chemin complet de sa source jusqu sa destination. Plus elle est faible, plus le rseau est rapide. La principale source de latence est le temps de traitement dans les diffrentes units traverses. Les applications compensent gnralement la latence par le biais des mmoires tampons ou "buffer". Elle est donc trs gnante lorqu'elle est leve pour les applications dites temps rel (ex :
confrence vido). La QoS vise rduire cette latence pour les trafics critiques en permetant de prioriser ces trafics par rapport dautres.
1.2. La gigue
La jigue, ou jitter en anglais, correspond la variation de la latence dans le temps : Jitter = [ Latency (n) Latency (n-1) ] Le jigue est plus critique encore que la latence car elle est imprvisible. Une latence mme forte est toujours prfrable une jigue non nulle. La QoS permet de maitriser la jigue l'aide d'algorithmes de gestion des files d'attente evolus.
La mise en place dune stratgie de QoS chez Cisco peut se faire de plusieurs faons, selon les stratgies que vous aurez dfinies. Il faut avant tout dfinir le trafic concern par la stratgie, il faut ensuite appliquer des rgles prcises ce trafic. Enfin, il faut indiquer au routeur quelle interface est concerne par ces rgles.
2.2. Rgles
Maintenant que lon a isol le trafic concern, il faut dfinir les rgles auquelles on veut lastreindre Nous utiliserons pour cela une "policy" qui lie une ou plusieurs "class" des contraintes.
3.2. Class-map
La commande sutilise en mode configuration globale et permet de crer une nouvelle "class" ou bien de modifier une "class" existante : Router(config)#class-map match-all nom_de_la_class Remarque : Le mot cl match-all permet de spcifier que tous les crtires de la "class" doivent tre remplis Nous entrons donc dans le mode de configuration de class : Router(config-cmap)# Les options suivantes soffrent nous : exit : Quitte le mode de configuration de class-map match : Dfini un critre no : Annule une commande ou rtabli les paramtres par dfaut Intressons nous la commande match :
Router(config-cmap)#match access-group numero_de_l'acl La commande match va nous servir attribuer une ou plusieurs ACL notre "class". On peut repeter lopration autant de fois que lon a dACLs a "matcher" Remarque : Il est possible de dfinir un trafic directement dans la "class" dans utiliser dACL, nanmoins les options changent selon les IOS et il est plus propre de passer pas les ACLs Afin de vrifier la configuration de notre "class", nous utiliserons la commande show en mode enable : Router#show class-map nom_de_la_class
3.3. Policy-map
La commande policy-map fonctionne comme la commande class-map, elle sexecute en mode de configuration globle et permet de crer une nouvelle "policy" ou de modifier une "policy" existante : Router(config)#policy-map nom_de_la_class Nous entrons donc dans le mode de configuration de policy : Router(config-pmap)# Une fois dans le mode de configuration de "policy", il faut lier une ou plusieurs "class" cette "policy" laide de la commande class Router(config-pmap)#class nom_de_la_class Nous sommes maintenant en mode de configuration de la "class" au sein de notre "policy". Router(config-pmap-c)#
Shaping
La commande shape permet de mettre en oeuvre le shapping afin de limiter la bande pasasnte et s'utilise comme ceci : Router(config-pmap-c)#shape average bp_max Pour connaitre les valeurs que peut prendre bp_max, on utilisera la commande d'aide de la fonction shape Router(config-pmap-c)#shape average ?
Afin de vrifier la configuration de notre "policy", nous utiliserons la commande show en mode enable :
3.4. Service-policy
La commande service-policy sexecute en mode de configuration dinterface et permet de spcifier quelle(s) "policy(s)" seront appliques sur cette interface et pour quel trafic (entrant ou sortant). Router(config-if)#service-policy [input | output] nom_de_la_policy
Remarque : Certaines restrictions ne pourront sappliquer qua un trafic entrant ou un trafic sortant. Afin de vrifier que notre "policy" est bien applique linterface, nous utiliserons la commande show en mode enable : Router#show policy-map interface nom_de_linterface
3.5. Rate-limit
La commande Rate-limit est spcialise dans la limitation de bande passante et sexecute en mode configuration dinterface. Elle permet de mettre en uvre trs rapidement, a partir dune ACL par exemple, une limitation de trafic et cela dans passer par des "class" et des "policys" Remarque : Nous verrons ici une utilisation trs simple de la commande rate-limit sans rentrer dans les dtails pousss. Nous utiliserons la commande rate-limit comme ceci : Router(config-if)#rate-limit {input | output} access-group bps burst-normal burst-max conform-action conform-action exceed-action exceed-action {input | output} : on doit spcifier dans quel sens le traffic sera limit. access-group : numero de lACL concerne. bps : vitesse maximale. burst-normal et burst-max : vitesse et vitesse max en rafale (nous utiliserons les valeurs par dfaut). conform-action : indique ce que lon fait quand le traffic est conforme la limitation. exceed-action : indique ce que lon fait quand le traffic dpasse la limitation. Ce qui donne dans la pratique: Router(config-if)#rate-limit output access-group 101 560000 8000 8000 conform-action transmit exceed-action drop Nous avons choisi ici de transmettre les paquets quand ils taient conformes au taux de transfert max et de les dtruire le cas chant.
4. Exemples de configuration
Les exemples de configuration qui suivent reprsentent les parties concernant la QoS des configurations actives des routeurs.
! policy-map my_policy class ftp shape average 32000 ! interface FastEthernet0/1 ip address 172.16.1.16 255.255.0.0 service-policy output my_policy
Conclusion
Cet article dcrit quelques possibilits simples de la mise en pratique de la QoS. Les possibilits actuelles en matire de QoS sont trs vastes et trs pousses et diffre selon le matriel. Avec l'arrive de l'IPv6 il devrait y avoir une explosion de la QoS puisqu'elle est intgre nativement dans ce protocole. VOus trouverez tous les dtails pratiques ainsi que la liste de toutes les commandes selon votre IOS dans la partie support du site de cisco (en anglais).