QoS : Classification et Marquage
Les outils de la QOS : Dans l'objectif de pouvoir donner à certains paquets un meilleur traitement , il faut d'abord, pouvoir les identifier :
C'est ce qu'on appelle la classification.
La classification peut se faire de plusieurs manières.
La plus courante, est d'utiliser une access-list pour faire correspondre certaines valeurs du paquet IP comme :
-
Les adresses source et/ou de destination
-
Ou les numéros de port.
Par exemple, une liste d'accès qui correspond au port de destination TCP80 , peut être classée comme du trafic HTTP.
Après avoir classé le type de paquet , il faut pouvoir le marquer.
Le marquage , est la modification d'un ou plusieurs champs de l'en-tête d'un paquet IP ou d'une Trame Ethernet.
Par exemple, dans un paquet IP, ce sera le champ ToS ( T ype of S ervice) qui sera utilisé pour marquer le paquet .
Et dans une trame Ethernet, comme ils n'ont pas de champ ToS, le marquage se fera dans le champ « Tag » qui est déjà utilisé pour marquer les trunks et les vlan.
Voici une illustration pour vous aider à visualiser la classification et le marquage :
Sur cette topologie , nous avons :
-
Un commutateur
-
Un routeur
-
Un téléphone IP
-
Et un PC.
Le commutateur reçoit les paquets du téléphone IP et du PC.
Il est configuré pour classer ces paquets à l'aide d'une liste d'accès sur ses interfaces.
Le commutateur marque ensuite les paquets IP à l'aide du champ ToS de l'en-tête IP.
Alors petite particularité pour les téléphones IP, c'est qu'ils marquent eux-mêmes leurs paquets, au moment de leurs créations.
Il est préférable d'utiliser plutôt le « marquage », car la classification , qui se fait à l'aide d'access-list, peut devenir assez complexe et dégrader les performances du routeur ou du commutateur qui se charge de cette classification .
Sur la topologie, le routeur reçoit des paquets marqués , il n'a donc pas à effectuer de classification complexe à l'aide de listes d'accès , comme le fait, le commutateur.
Un autre outil, très utile pour la classification, est NBAR (Network Based Application Recognition).
C’est un outil qui est capable de détecter les applications du trafic réseau en s’aidant du contenu des paquets IP.
Ça permet une meilleure classification par rapport à une liste d’accès.
QoS : Gestion de la file d’attente
(Queuing – Congestion Management)
Une autre méthode de QoS et la gestion de la file d’attente.
Lorsqu’un routeur reçoit un paquet IP :
-
Il vérifie sa table de routage
-
Choisis l’interface de sortie à utiliser
-
Puis tente d’envoyer le paquet.
Mais lorsque l’interface choisie est occupée, alors le paquet est placé dans une file d’attente en attendant que l’interface soit disponible.
Cette règle de mise en attente d’un paquet IP sur un routeur s’applique aussi sur les switchs avec les trames Ethernet.
Et voici une représentation du processus de mise en attente :
Ici, le routeur, quand il reçoit un paquet, il peut faire une ou plusieurs actions d’entrée, par exemple, ça peut être une access-list d’entrée qui filtre les paquets.
Dès que le routeur à décider ou transférer le paquet, il peut faire une ou plusieurs actions de sortie, par exemple du NAT.
Le paquet est ensuite placé dans une file d’attente de sorties, en attendant que l’interface soit prête, pour être transmis.
Alors ici, nous n’avons qu’une seule file d’attente de sorties, donc tous les paquets sont traités sur la base du premier arrivé, premier servi. Rappelé vous, il s’agit du concept de FIFO (First In First Out).
Il n’y a qu’une seule file d’attente et tout le monde doit faire la queue.
Heureusement, la plupart des périphériques réseau d’aujourd’hui, permettent d’avoir plusieurs files d’attente de sorties, comme le montre cette nouvelle représentation.
Ici, le routeur utilisera la classification pour décider quels paquets vont dans quelle file d’attente.
QoS : Programmation Round Robin
Le mode de traitement des files d’attente dépend du planificateur QoS qui est utilisé.
La planification « Round Robin » est un algorithme qui parcourt les files d’attente dans l’ordre, c’est-à-dire à tour de rôle.
Par exemple, sur le schéma, il va prendre un paquet de chaque file d’attente, en commençant par la file 1, puis la 2, la 3, et recommencera par la 1.
Le Round Robin permet aussi de privilégier certaines files d’attente. C’est ce qu’on appelle du Round Robin Pondéré (Weighted round robin).
C’est-à-dire qu’il va prendre 3 paquets dans la file d’attente de sorties 1,
2 paquets dans la 2, et 1 paquet dans la 3.
Ensuite il retournera à la une, avec la même procédure.
Les routeurs Cisco utilisent aussi un planificateur très populaire, qui s’appelle « CBWFQ » (Class Based Weighted Fair Queuing). Il permet de garantir une bande passante minimale sur chaque classe en cas de congestion, c’est-à-dire de saturation de la file d’attente.
Pour ça, il utilise la planification round Robin pondérée (Weighted round robin), en permettant de configurer cette pondération en pourcentage d’utilisation de la bande passante de l’interface.
Par exemple, sur le schéma, on voit que le classificateur envoie des paquets dans les différentes files d’attente.
Et chaque file d’attente a un pourcentage différent de la bande passante.
En cas d’encombrement, la file d’attente 1 obtient 55% de la bande passante, la file d’attente 2 obtient 30% et la 3, à 15% de la bande passante.
Low Latency Queuing
La planification du « Round Robin » fonctionne très bien pour les applications de données, car elle garantit une certaine bande passante à chaque file d’attente.
Mais cette méthode de QoS ne fonctionne pas pour le trafic, sensible aux retards, comme la VoIP (Voice Over IP).
Parce qu’en « Round Robin » lorsque le planificateur, vide les files d’attente 2 et 3, et bien tous les paquets qui sont encore présents dans la file 1, attende toujours d’être servis… => Ce qui ajoute du retard.
C’est pourquoi cette stratégie ne fonctionne pas pour le trafic vocal qui est sensible au délai et à la gigue.
Ce type de trafic doit être envoyé immédiatement et ne doit surtout pas attendre.
Pour résoudre ce problème, il faut ajouter un fichier d'attente prioritaire :
Sur le nouveau schéma, on peut voir que le premier fichier d'attente est maintenant rattachée au processus LLQ ( L ow L atency Q ueuing).
Chaque fois qu'un paquet est ajouté au fichier d'attente de sorties 1, il est immédiatement transféré, et tous les autres fichiers d'attente doivent attendre.
Alors, il est important de fixer une limite au fichier d'attente prioritaire , car sinon, il est possible que le prochainement soit tellement occupé à transmettre des paquets à partir du fichier d'attente prioritaire que les autres fichiers d'attente ne ne soyez jamais traité…
Et lorsque ces fichiers d’attente sont saturés , et bien les paquets sont directement supprimés.
Le fait de prioriser un fichier d’attente ajoute un autre problème…
Imaginez maintenant que vous avez tellement de trafic vocal, que ça sature le fichier prioritaire … Et bien les paquets en surplus seront également supprimés…
Ce qui affecterait énormément les appels vocaux.
Ce problème, peut-être résolu en Amon | directement sur le PABX ( P rivate Automatic B ranch e X change), avec une fonction qui contrôle les appels, et qu'on retrouve dans les paramètres du serveur de téléphonie | sous les initiales de « CAC » ( C all A dmission C ontrol).
Cette fonction, qui se règle directement sur le PABX , permet de limiter le nombre d'appels simultanés . Par exemple si on le configure à 15 appels vocaux simultanés , et bien le 1 6e appel recevra une tonalité d'occupation, ou bien sera établi vers la ligne téléphonique traditionnelle, c'est-à-dire celle du réseau commuté (RTCP : R éseau T éléphonique C ommuté P ublic).
Retrouver de nombreuses vidéos de cours sur la chaîne Youtube Formip