QoS 07/12/2021
Chapitre 3
IP QoS
Mécanismes génériques de base
Plan
1. QoS sur un réseau IP
2. Marquage
3. Classification
4. Réglementation de trafic (policing)
5. Mécanismes d’ordonnancement
6. Régulation de trafic
2 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
1
QoS 07/12/2021
Introduction
Le réseau IP offre un service Best-effort
2 mécanismes de QoS sont disponibles: IntServ et DiffServ
flux 1 IP
flux 2 Best-effort
flux 3 Tous les
flux
flux 4
flux 5
IntServ DiffServ
flux 1 IP flux 1 IP
flux 2 flux 2 Classe 1
flux 3 flux 3
Classe 2
flux 4 flux 4
flux 5 flux 5 Classe 3
3 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
QoS sur un réseau IP
Le réseau doit effectuer les tâches suivantes:
1. Différencier entre les types de services ou de trafics
Marquage et classification des paquets (principe 1)
Typiquement implémentée dans les interfaces user-net ou net-net
2. Traiter les différentes classes de façon différente
Réglementation (limitation, écrêtage) de trafic (policing)
Mesure et analyse des flux (metering)
Changer le marquage du paquet (re-marking)
Gestion active des files d’attente (par ex. RED)
Ordonnancement des paquets (flux, classes)
Formatage (Régulation) du trafic (traffic shaping)
Typiquement réalisée par les équipements réseaux (dépend des
constructeurs)
4 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
2
QoS 07/12/2021
Marquage
Affecter à des champs appropriés de l’entête IP des valeurs
spécifiques pour pouvoir distinguer un type de paquets d’un
autre. Par exemple:
@ source
@ destination
Une combinaison des deux
TOS (Type of Service), IP precedence, DSCP (DiffServ Code
Point)
Un paquet qui se présente à l’interface d’entrée d’un
routeur:
S’il est marqué, il peut être re-marqué si par exemple:
il ne respecte pas les conditions d’admission (policing).
Il traverse plusieurs domaines DS, il peut être re-marqué à l’entrée d’un
nouveau domaine dépendamment du SLA entre les domaines
S’il n’est pas marqué, il peut être marqué
Le marquage dépend d’une décision de gestion de réseaux
5 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
Classification
Regrouper les paquets selon une règle de
classification
Le marquage et la classification sont 2 concepts
reliés mais différents. Analogie:
Les 20 étudiants d’une classe peuvent être marqués de
1 à 20
Les étudiants sont classifiés en 2 groupes: le 1er groupe
de 1 à 10 et le 2ème groupe de 11 à 20.
2 types de classification:
1. Multi-champs (MF: Multi-field)
2. Agrégats de comportement (BA: Behavior aggregate)
6 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
3
QoS 07/12/2021
Classification MF
Les paquets sont classifiés selon une combinaison de
valeurs d’un ou plusieurs champs d’entête
D’autres paramètres, comme l’interface d’entrée,
peuvent aussi être utilisés
7 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
Classification BA
Basée uniquement sur les valeurs du DSCP
Plus de détails au prochain chapitre
8 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
4
QoS 07/12/2021
Réglementation de trafic (policing)
Vérifier si le trafic entrant est conforme à la
description qui a été convenue entre l’utilisateur
et le fournisseur
Consiste à mesurer et marquer (ou re-marquer)
les paquets
Des paquets peuvent être rejetés
9 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
Points de contrôle
(Long terme) Débit moyen (Committed
Information Rate (CIR)): nombre de
paquets envoyés par intervalle de
temps (à long terme)
Question fondamentale: quelle est la
longueur de l’intervalle: 100 paq/sec
ou 6000 paquets/min ont la même
moyenne!
Débit de pointe (Peak Information Rate
(PIR)) : e.g., 6000 paquets par min.
(ppm) avg.; 1500 pps débit de pointe
Dimension (Max.) des rafales: nombre
maximum de paquets pouvant être
envoyés dans le réseau pendant un
court instant (sans pause)
10 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
10
5
QoS 07/12/2021
Marquage à trois couleurs simple débit
srTCM: Single Rate Three Color Marker
[Link]
Contrôler un seul débit: débit moyen long-terme CIR
Mesurer le débit et marquer les paquets par 3 couleurs:
vert, jaune ou rouge indiquant le degré de conformité
Quelle échelle de temps? Suffisamment longue pour
inclure la durée d’une session typique
Non appropriée pour le policing dont le rôle est de détecter les
violations au fur et à mesure que les paquets passent
Besoin d’un mécanisme de policing à court-terme
On définit 2 nouvelles mesures court-terme:
CBS: Committed Burst Size – Dimension maximale des rafales
EBS: Excess Burst Size – mesure la taille de rafale qui excède le CBS
srTCM utilise 2 types de seaux à jetons: C et E
11 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
11
srTCM: Description
Seau C: profondeur (taille max) =CBS
Le seau est initialement plein: nombre de jetons Tc=CBS
Seau E: profondeur (taille max) =EBS
Le seau est initialement plein: nombre de jetons Te=EBS
Tc et Te sont mis à jour au taux CIR, i.e., chaque 1/CIR sec
Algorithme de mis-à-jour
Si Tc<CBS (C non plein) alors Tc = Tc +1
On ajoute un jeton à C chaque 1/CIR sec
Si Tc=CBS (C plein) et Te<EBS (E non plein) alors Tc = Tc et Te = Te +1
Les jetons en excès vont aller dans le seau E
Si Tc=CBS (C plein) et Te=EBS (E plein) alors Tc = Tc et Te = Te
On arrête l’alimentation des seaux
12 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
12
6
QoS 07/12/2021
srTCM: (re-)Marquage
Un paquet de taille B
octets arrive
Si C a assez de jetons
(B< Tc)
le paquet est
marqué vert
Tc = Tc –B
Sinon, si E a assez de
jetons (B> Tc et B < Te )
le paquet est marqué
jaune
Te = Te –B
Sinon, (B> Tc et B > Te) le
paquet est marqué rouge
Traffic accounting collects statistics in bytes or packets
13 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
13
Exemple 1: flot en rafale conforme au CIR
Débit du lien 64kb/s=8 koctets/s = 8 octets/ms
PIR = 8 octets/ms
CIR = 2 octets/ms
CBS = 4 octets
On suppose qu’une rafale de taille 4 octets vient juste de
passer, vidant ainsi le seau C: Tc =0
Après 1ms, C accumule 2 jetons (1 jetons chaque 0.5 ms)
À 1.25ms, un paquet d’1 octet arrive, 1 jeton est dépensé
À 2ms, 2 autres jetons sont ajoutés, Tc =3
À 2.2ms, un paquet de 3 octets arrive, Tc =0
Tous ces paquets sont marqués vert
Sur une période de 2.5ms, un trafic total de 4 octets est
transmis, 1.6octets/ms ou 1.6kb/s <CIR donc trafic
conforme
14 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
14
7
QoS 07/12/2021
Exemple 2: flot en rafale non conforme
au CIR
Si les 2 paquets de l’exemple 1 étaient de 5 octets, le
seau C ne sera pas utilisé dans les 2 cas: violation de
la condition
Débit moyen = 8 octets par 2.5 ms ou 3.2kb/s > CIR
15 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
15
Exercice
CIR=1000 octets/s
CBS=50 jetons (octets)
EBS=400 jetons
À l’instant t, Tc =10 jetons et Te =70 jetons
1. À l’instant t, un paquet de 5 octets arrive. Déterminer
la couleur du paquet et les valeurs de Tc et Te après le
traitement du paquet.
2. Même condition que 1, on suppose qu’à l’instant t, un
paquet de 20 octets arrive, mêmes questions.
3. On suppose CIR=100 octets/s, et qu’à l’instant t, Tc =10
jetons et Te =50 jetons. Dans les 2 prochaines secondes, il
n’y a aucune arrivée, déterminer les états de C et E après
2s.
16 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
16
8
QoS 07/12/2021
Marquage à trois couleurs deux débits
two rate three color marker (trTCM)
Rfc2698
Contrôler séparément le
P C
PIR et le CIR
2 seaux P et C
Tc: nbre de jetons dans C,
mis-à-jour au taux CIR
Tp: nbre de jetons dans P,
mis-à-jour au taux PIR
PBS: Peak Burst Size Tp = Tp –B Tp = Tp –B
CBS: Committed Burst Tc = Tc –B
Size
17 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
17
Mécanismes d’ordonnancement
Ordonnancement: Choisir le prochain paquet à envoyer
Ordonnancement FIFO (first in first out): envoyer les
paquets selon leur ordre d’arrivée
Règle du rejet de paquets: si un paquet arrive à une file pleine:
quel paquet rejeter?
Tail drop: rejeter le paquet qui arrive
priority: rejeter le paquet le moins prioritaire
random: rejeter un paquet choisi aléatoirement
18 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
18
9
QoS 07/12/2021
Mise en attente avec respect des priorités
Ordonnancement avec priorité:Transmettre le paquet
avec la plus haute priorité
multiple classes, avec différentes priorités
La classe de priorité d’un paquet est précisée par un
marqueur dans l’entête ([Link]), adresse source, adresse
destination, numéro de port de destination, etc.
Chaque classe de priorité dispose généralement de sa propre
file d’attente
19 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
19
Round Robin
Ordonnancement avec recherche cyclique:
Les paquets sont classés en différentes classes
Un gestionnaire à recherche cyclique s’occupe des
différentes catégories en attente à tour de rôle
Recherche cyclique et optimisation de ressources
20 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
20
10
QoS 07/12/2021
Gestion équitable et pondérée
WFQ: Weighted Fair Queuing:
Chaque classe obtient une quantité pondérée de
ressources pendant un intervalle de temps donné
Débit min de la classe i = R. wi
w j
21 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
21
Ordonnancement
Exemple :
Trois classes de trafic
% bande
Class Taille des
Ratio (R) passante R x BW Normaliser Byte Count
e trames
BW
1086 1 x 0.2 1 x 1086 =
A 1 20 0,2 / 0,2 =1
bytes =0.2 1086
1086/291 3,73 x 0,6 2, 23 / 0,2= 12 x 291 =
B 291 bytes 60
= 3,73 = 2,239 11,3 3492
1086/831 1,3 x 0,2 0,261/0,2=
C 831 bytes 20 2 x 831 = 1662
=1,3 = 0,261 1,3
Pour déterminer la quantité d’info (byte count) qui va être transmise pour chaque file :
- Pour chaque service, déterminer la taille des trames
- Calculer le ratio R en divisant la taille de trame la plus élevée par la taille de chaque trame
- Choisir le % de bande passante BW à attribuer pour chaque service, multiplier R par BW
-Normaliser le résultat en le divisant par la plus petite valeur
-Garantir la répartition souhaitée de la bande passante
-Pour trouver le byte count , multiplier ce ratio par la taille de la trame. On peut utiliser
des multiples de ces résultats
22 © 2015, K. Mnif et Y. Boujelben Evaluation des Perormances
22
11
QoS 07/12/2021
Régulation de trafic
Faire en sorte
que le trafic
sortant soit
plus lisse
2 types:
1. seau percé
2. seau à jetons
seau percé
23 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
23
Seau à jetons
Limite l’arrivée à une taille de rafale et un débit moyen
spécifiés.
Le seau peut contenir b jetons: dimension maximale des rafales
Les jetons sont générés à un taux r jetons/s
Le jeton est ajouté si le seau contient moins de b jetons
Le nombre maximal de paquets pouvant entrer dans le réseau en un
intervalle de temps t quelconque = rt+b
24 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
24
12
QoS 07/12/2021
Policing vs. shaping
Policing Shaping
Objectif Extraction (ou nouveau Mise en mémoire tampon et
marquage) des paquets qui en file d'attente des paquets
dépassent les débits validés. qui dépassent les débits
Pas de mise en mémoire validés
tampon
Rafales Propage les rafales. Pas de Contrôle les rafales en lissant
lissage. le débit en sortie
Avantages Contrôle le débit en sortie Moins de risques d'extraction
par des extractions de des paquets excédentaires
paquets. Évite des retards puisque ceux-ci sont mis en
dus à la mise en file mémoire tampon.
d'attente.
Inconvénients Extrait les paquets Peut introduire des retards
excédentaires dus à la mise en file d'attente,
en particulier les files
d'attente profondes.
25 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
25
Délai garanti
Seau à jetons + WFQ= Temps d’attente maximal
démontrable au sein d’une file d’attente
Garantie de QoS! b1
d max
R. w1 w j
w1
R. paquets / s
Rafale de b1 paquets wj
R paquets / s
26 © 2015, K. Mnif et Y. Boujelben Evaluation des Performances
26
13