TP QoS Cisco
TP QoS Cisco
TP QoS Cisco
Important : Un rapport électronique doit être envoyé au plus tard 15 jours après le TP à l’adresse :
[email protected].
Objectif :
Pré-requis :
! Protocole IP et adressage
! Routage statique
Le TP doit se dérouler en deux phases : simulation par « Packet Tracer » et réalisation par des vrais routeurs et
câbles.
I. Configuration de base
Tâche 1 : configuration des informations IP sur les interfaces Ethernet d’un réseau
Étape 2 : configurez les informations IP sur les interfaces Ethernet et Série des routeurs 1 et 2.
Accédez au routeur R1. Sous l’onglet ILC, saisissez le mode d’exécution privilégié en entrant la
commande enable. Saisissez le mode de configuration globale en entrant la commande config t. Saisissez le mode
de configuration pour la première interface FastEthernet en entrant la commande interface fa0/0. Configurez
l’adresse IP en entrant la commande ip address 172.30.1.1 255.255.255.0. Activez l’interface en entrant la
commande no shutdown. Quittez le mode de configuration en utilisant le raccourci clavier Ctrl+z. Enregistrez la
configuration en lançant la commande copy run start. Répétez ces étapes pour l’interface FastEthernet 1/0 (ip
address 172.30.1.1 255.255.255.0).
Configurez les interfaces séries des deux routeurs R1 et R2. N’oubliez pas la commande "clock rate 64000" pour
synchroniser le lien entre les deux routeurs.
Pour établir une qualité de service il faut tout d'abord identifier et sélectionner les flux qu'on veut différencier. Nous
disposons de deux techniques de filtrage dans l'IOS du routeur qui sont basées sur l'utilisation d'ACLs (Access
Control List) ou bien de class-map.
Access Control List : Une liste de contrôles d'accès est une collection d'instructions permettant d'autoriser ou de
refuser des paquets en fonction d'un certain nombre de critères, tels que :
-L'adresse d'origine, L'adresse de destination, Le numéro de port, Les protocoles de couches supérieures
Il existe 3 types de listes de contrôles d'accès : les ACLs standards, les ACLs étendues et les ACLs nommées.
Les ACLs standards utilisent des spécifications d'adresses simplifiées et autorisent ou refusent un ensemble de
protocoles. C'est-à-dire en d'autres termes que l'on peut interdire par exemple à une machine l'accès à une autre
machine ou à un autre réseau.
Les ACLs étendues utilisent des spécifications d'adresses plus complexes et autorisent ou refusent des protocoles
précis. Ce type d'ACL utilise un filtrage bien plus spécifique - on peut selon nos besoins, interdire (ou permettre)
des flux depuis et vers une autre machine (ou réseaux) suivant des critères tels que :
- Le type de protocole de niveau 4 (en l'occurrence TCP ou UDP).
- Le numéro de port utilisé.
- Ou même le type de l'application (ftp, telnet .....).
Les ACLs nommées peuvent être soit standards, soit étendues; elles n'ont pour but que de faciliter la
compréhension et de connaître la finalité de l'ACL.
Routeur# access-list numéro { permit ou deny } protocole source destination opérateur (numéro de port)
numéro : <1-99> : IP standard, <100-199> : IP étendu (des paquets IP qui transitent le routeur ), …
protocole : IP, TCP, UDP, ICMP, GRE, IGRP
source : adresse source
destination : adresse destination
opérateur : lt less than (plus petit que), gt greater than (plus grand que), eq equal (egal à), neq not equal (différent
M2info, IR3 A. RACHEDI UPEM, ESIPE
3
de)
numéro de port : le numéro de port de l'application
Exemple : Pour filtrer les paquets TCP à destination du PC1 172.30.2.2, port 80, et quel que soit l’émetteur. Nous
pouvons utiliser la commande suivante :
access-list 101 permit tcp 0.0.0.0 255.255.255.255 172.30.2.2 255.255.255.0 eq 80
1. Dans le but de protéger le flux TCP, limiter le débit du trafic UDP avec l’utilisation de la commande Cisco
« rate-limit ». Cette méthode appelée CAR (Committed Access Rate) permet de limiter la bande passante sur
l’interface de sortie d’un trafic particulier.
La syntaxe de la cmd :
rate-limit {input | output} [dscp dscp-value] [access-group [rate-limit] acl-index] bps burst-normal burst-
max conform-action conform-action exceed-action exceed-action
Exemple : rate-limit output access-group 101 80000 8000 8000 conform-action transmit exceed-action drop
2. Analyser le trafic réseau.
3. Quelle est la limite de cette méthode?
Permet de marquer le trafic selon sa classe de priorité en utilisant le champ ToS (Type of Service) de 6 bit dans
l'entête du paquet IP. Les valeurs de ce champ définissent un code pour classer les priorités appelé DSCP
(Differentiated Services Code Point) autorisant 64 niveaux différents. Deux Classes de DSCP existent EF
(Expedited Forwarding) et AF (Assured Forwarding) : EF définie un service premium alors que AF est constitué de
quatre classes indépendantes, chacune comportant trois niveaux de priorités de rejet des paquets.
La notion IP Precedence est la technique de QoS la plus utilisée à cause de sa simplicité et de son interopérabilité
avec les éléments du réseau. Elle utilise les 3 bits de poids fort du DSCP ce qui assure la compatibilité avec la
technique précédente, mais n'offre, par conséquent, que 8 niveaux de classifications. Les valeurs 6 et 7 sont
réservées pour le contrôle du réseau et les protocoles de routage. Il reste 6 niveaux de priorités.
L'implémentation utilise généralement une priorité 5 pour la voix sur IP, 4 pour la vidéo et la visioconférence en
général, 0 pour le trafic Best effort. Selon les RFC791/RFC1349 l’interprétation des valeurs attribuées au champ
Tos et les recommandations en fonction de type de trafic réseau sont données dans les 2 tableaux suivants :
L’utilisation du Modular QoS CLI (MQC) permet de réduire la complexité de configuration afin de créer
des classes de services avec des politiques différentes. Une classe de trafic contient trois éléments essentiels :
le nom de la classe, une série de commandes match, et comment évaluer ces commandes match.
Les commandes match sont utilisées pour spécifier divers critères de classification des paquets. Les paquets sont
vérifiés pour déterminer s'ils appartiennent ou non à ces critères spécifiés par la commande match.
En utilisant la classification des paquets on peut par la suite partitionner notre réseau en plusieurs niveaux de
priorités ou en classes de services (class-map).
routeur(config)#class-map nom-de-la-classe
On spécifie que TOUS les critères doivent être vérifiés pour que le paquet appartienne à la classe.
On spécifie qu'AU MOINS un des critères doit être vérifié pour que le paquet appartienne à la classe.
On spécifie que le paquet doit vérifier l'ACL correspondante pour qu'il appartienne à la classe.
routeur(config-cmap)#match any
On spécifie que le paquet doit vérifier l'adresse MAC source ou destination pour qu'il appartienne à cette classe.
On spécifie que le paquet doit vérifier l'interface d'entrée indiquée pour qu'il appartienne à la classe.
Pour l'utilisation de DiffServ on a la possibilité de spécifier la valeur du ip dscp entre 0 et 63 pour que le paquet
appartienne à la classe.
3 bits du champ TOS dans l'entête ip forment l'IP precedence utilisée pour la qualité de service. Dans un paquet
reçu, si la valeur de ce champ est égale à la valeur indiquée ici alors le paquet appartient à cette classe.
Exemples :
Nous pouvons aussi assurer le filtrage et la classification des flux en fonction du protocole avec
l’utilisation de la commande class-map et match protocol comme l’exemple suivant :
A l’entrée du routeur, une vérification sur le type de trafic est effectuée pour établir une classification en
fonction du protocole utilisé. Nous pouvons aussi établir une classification du trafic en fonction de l’URL
avec la même commande voir l’exemple suivant :
En outre, la commande class-map permet aussi de vérifier si les paquets entrant sont déjà marqués ou pas
M2info, IR3 A. RACHEDI UPEM, ESIPE
6
afin respecter la politique de QoS. L’exemple suivant, nous montre l’utilisation de la commande class-
map avec la spécification « ip dscp » dans le but de détecter les paquets déjà marqués avec un dscp =
af31 :
class-map match-all VOIP
match ip dscp af31
Maintenant qu'on a différencié le trafic on doit partager la bande passante de notre routeur. C'est pourquoi on doit
utiliser des politiques de priorités (policy-map). C'est à partir du moment où on utilise les policy-map,
qu'effectivement on met en place la Qualité de Service voulue.
Une policy-map contient trois éléments : le nom de la politique, les classes associées et les commandes de qualité
de service.
routeur(config-pmap)#class nom-de-la-classe
On spécifie le nom de la classe sur laquelle on veut appliquer la politique de qualité de service
On spécifie pour la classe une bande passante avec un niveau de priorité élevé. Cette commande est en général
utilisée pour le trafic temps réel.
Les commandes MQC et leurs corrélations sont montrées dans la figure suivante :
Exemple : Dans l’exemple suivant, une politique de QoS est crée pour attribuer 35% du débit sortant au trafic web.
policy-map inbound-internet
class web-traffic
bandwidth percent 35
Pour afficher la configuration actuelle du routeur il suffit d’utiliser les commandes suivantes :
Cas pratique 1 :
Nous allons configurer le routeur R1 afin de différencier le trafic FTP des autres trafics réseau.
Router(config)#policy-map markingpolicy
Router(config-pmap)#class critical
Router(config-pmap-c)#set precedence 2
Il faut vérifier que le routeur (R1) est bien configuré ; il suffit d’utiliser la commande suivante :
Si vous travaillez avec Packet Tracer, il faut passer au mode simulation et activer les trafics FTP et ICMP de
manière périodique chaque 4 secondes. Lancer des captures avec un filtre sur les protocoles TCP et ICMP.
Analyser les en-têtes des paquets reçus au niveau du PC1.
Questions :
1) Est-il possible de filtrer les paquets avec la commande « access-lists » on se basant sur le champ
DSCP? Si oui donner la commande qui permet de filtrer les paquets dont le DSCP est marqué "EF"
(Expedited Forwarding).
2) Sur un routeur donné R1, comment peut-on marquer les paquets "telnet" destinés ou originaire du
routeur R1 pour leur attribuer un niveau de Precedence IP 6?
Remarque : Afin de convertir la notation de la classe AFxy en valeur décimale, vous pouvez utiliser la formule
suivante : « 8x + 2y = valeur décimale».
Exemple pour la classe AF41 : (8*4)+(2*1) = 34