Vous êtes sur la page 1sur 31

Performances et QoS

Chapitre 3

Mécanismes de QoS

Jürgen Ehrensberger IICT/HEIG 3-Mecanismes.ppt


Contenu du chapitre
1 : Introduction : comment réaliser la QoS
– Surdimensionnement
– Différenciation de service

2 : Classification de paquets
3 : Contrôle de trafic
– Seau à jetons
– Seau percé
– Policing, shaping, downgrade

4 : Schedulers
– GPS
– WFQ
– WRR, DRR, ...

5 : Gestion active des files d’attente


– RED

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 2


Réalisation de la QoS
Approche par surdimensionnement
– Garder le même service Best Effort pour toutes les applications
– Dimensionner le réseau pour obtenir une utilisation faible
– Pro:
ƒ La capacité des fibres optiques n’est pas encore exploitée et continue à croître
ƒ Complexité faible du réseau
– Contre
ƒ Ne pas applicable aux réseaux d’accès et sans fil
ƒ La demande est élastique et s’adapte à la capacité offert
ƒ L’auto-similarité rend le surdimensionnement inefficace

Approche par différenciation de service


– Fournir des niveaux de QoS différents aux différents services
– Classification du trafic et traitement selon les besoins en QoS
– Avantageux surtout dans les réseaux d’accès et les réseaux d’entreprise
– Inconvénients:
ƒ Investissement considérable pour l’introduction dans un réseau important
ƒ Complexité d’opération et de maintenance

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 3


Survol des mécanismes de QoS
ƒ Classification
– Identifie les paquet et détermine la QoS à fournir
ƒ Contrôle de trafic
– Contrôle si la spécification de trafic est respectée
ƒ Ordonnancement
– Détermine l’ordre de transmission des paquets

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 4


Classification
ƒ Flux :
« Groupe de paquets utilisant un service bien défini »
– Micro-flux
ƒ Identifié par (IP src, IP dst, Port src, port dst, TCP/UDP)

– Agrégation de flux
ƒ Flux par classe de trafic, destination, ...

ƒ But de la classification
– Identifier le flux de chaque paquet
– Retrouver les informations de contrôle associées au flux

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 5


Méthodes de classification
Classification directe
– Le flux ou la classe sont directement indiqués dans
l’en-tête du paquet
ƒ Champs « Classe de trafic » de l’en-tête IP
ƒ Identificateur de circuit virtuel (MPLS)
ƒ Flow label (IPv6)

– Recherche en temps constant O(1) à l’aide d’une


fonction de hachage ou d’une mémoire CAM
Classification multi-champs
– Basée sur le contenu des différents en-têtes

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 6


Classification multi-champs

ƒ Problèmes
– Localisation des en-têtes
ƒ Les en-têtes ont souvent une longueur variable
ƒ Le classificateur doit analyser la structure des en-têtes

– Classification
ƒ Règles de classification similaire au règles d’un firewall
ƒ Complexité moyenne O(log(n))

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 7


Contrôle de trafic
ƒ Le trafic doit être limité afin de contrôler la QoS
ƒ Le contrôle de trafic
1. Vérifie si la spécification du trafic est respectée
2. Rend le trafic conforme à la spécification

Types de contrôle de trafic


– Shaping : retarder les paquets non conformes
– Policing / dropping : écarter les paquets non conformes
– Reclassification : dégrader la QoS de paquets non
conformes ou de flux non conformes

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 8


Shaping
ƒ Lissage du trafic pour obtenir un flux avec un
débit fixe ou un profile bien défini
ƒ Peut introduire un délai d’attente supplémentaire

ƒ Applications
– UDP
ƒ Lissage du flux pour obtenir un trafic plus régulier
– TCP
ƒ Lissage des rafales
ƒ Limitation du débit moyen

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 9


Policing
ƒ Écarte les paquets non conformes
ƒ N’introduit pas de délai d’attente supplémentaire

ƒ Applications
– Flux multimédia avec UDP
ƒ Peuvent tolérer des pertes de paquets
ƒ Sensibles aux délai de transit

– Dégrade fortement la performance de TCP


ƒ TCP est très sensible aux pertes consécutives
ƒ Conduit à la synchronisation des flux TCP avec des oscillations
périodiques du trafic

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 10


Reclassification
ƒ Diminution de la QoS offert aux paquets non
conformes
– Conduit à un réordonnancement des paquets
ƒ Dégradation de QoS sans réordonnancement
– Diminution de la QoS du flux entier lorsqu’il est non
conforme
ƒ Difficile à réaliser
– Augmentation de la probabilité d’élimination des paquets
non conformes
ƒ Les paquets sans marqués comme non conformes
– Exemple : Bit DE (Discard Eligibility) de Frame Relay
ƒ Un routeur surchargé supprime de préférence les paquets marqués

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 11


Seau à Jetons
(Token Bucket)
Algorithme de contrôle de trafic
– Le seau est rempli à une vitesse de
r jetons/s
– Le seau peut contenir jusqu’à b
jetons
– Un paquet à transmettre
consomme un nombre de jetons
(p.ex. 1 jeton par octet)
– Si suffisamment de jetons sont
disponibles, le paquet est
conforme au profile de trafic
– Shaping / Policing / reclassification
des paquets non conformes

¾ Le trafic sortant a un débit moyen


de r mais peut contenir des rafales
d’une taille limitée

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 12


Double seau à jetons
ƒ Plusieurs seaux à jetons peuvent être chaînés afin de réaliser des profiles
de trafic complexes
ƒ Double seau à jetons
– Limite le débit moyen et la taille des rafales
– Limite le débit maximum des rafales
– Peut utiliser deux niveaux de reclassification
rmean

rmax

Taille de rafale
Taille de paquet
maximum

Con- Con-
Flux entrant forme? forme?
Trafic conforme

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 13


Seau percé
(Leaky Bucket)
Algorithme de contrôle de trafic
– Le seau est rempli à une vitesse de
r jetons/s
– Le seau peut contenir jusqu’à b
jetons
– Un paquet à transmettre
consomme un nombre de jetons
(p.ex. 1 jeton par octet)
– Si suffisamment de jetons sont
disponibles, le paquet est
conforme au profile de trafic
– Shaping / Policing / reclassification
des paquets non conformes

¾ Le trafic sortant a un débit moyen


de r mais peut contenir des rafales
d’une taille limitée

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 14


Seau percé
Leaky Bucket

Algorithme
– Les paquets du flux entrant sont
mis dans le seau avec un capacité b Flux d’entrée
– Les paquets sont transmis avec un
débit fixe r

Profondeur b
ƒ Souvent confondu avec le seau à
jetons
ƒ Permet le shaping à un débit fixe Débit r
ƒ Supprime les rafales trop Trafic conforme
importantes

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 15


Files d’attente et schedulers
ƒ Élément clé qui permet la différenciation de service

Critères à considérer
– Isolation des flux et partage des ressources
ƒ Isolation parfaite Æ commutation par circuits
ƒ Partage maximum Æ réseau « best effort »
¾ Compromis entre isolation et partage
– Différenciation de service
ƒ Un scheduler doit pouvoir réaliser différents niveaux de QoS
ƒ La réalisation doit être efficace
– Performances quantifiables
ƒ Le comportement du scheduler doit permettre de calculer les performances
déterministes, worst-case ou stochastiques
ƒ Performances par noeud et – idéalement – de bout en bout
– Équité
ƒ Si les ressources ne sont pas suffisantes, le scheduler doit allouer les ressources de
manière équitable
– Scalabilité
ƒ Le scheduler doit être capable de traiter un très grand nombre de flux

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 16


Schedulers simples
ƒ FIFO (First-In, First-Out)
– Les paquets sont transmis dans l’ordre d’arrivée
– Aucune isolation, partage complet des ressources
– Aucune différenciation de service

ƒ File d’attente prioritaire


– Permet une différenciation de service simple pour un
nombre de classes limité
– Un contrôle de trafic (policing/shaping) doit éviter que le
trafic haute priorité monopolise la ligne
– Aucune isolation des flux ayant la même priorité

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 17


General Processor Sharing GPS
ƒ Modèle idéalisé d’un scheduler équitable parfait
– Utilise un modèle fluide du trafic
– Repartit les ressources en fonction des poids assignés à
chaque flux
ƒ Chaque flux reçoit un débit minimum garanti qui correspond au rapport
entre son poids et la somme de tous les poids
ƒ Les ressources attibuées mais non utilisées par les flux sont reparties entre
les flux actifs en fonction de leurs poids

¾ Isolation des flux


¾ Partage parfait des ressources
¾ Permet de calculer un délai de séjour maximum par noeud
¾ Permet de calculer un délai de transit maximum de bout en
bout !

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 18


Modèle GPS
ƒ Si (t1, t2) :
Volume du trafic écoulé de la source
i dans l’intervalle [t1, t2]
r1 F1

=g
1

r2 F2 r
= g2
ƒ Chaque flux i obtient un débit
minimum garanti gi

???
=g
n

rn
Fn

ƒ Le débit non utilisé par les flux


inactifs est reparti entre les flux
actifs en fonction de leurs poids

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 19


Weighted Fair Queueing
ƒ WFQ ou PGPS (Packet-by-packet GPS)
– Approximation du modèle idéalisé de GPS
– Modélise la transmission de paquets avec une
taille variable
Algorithme
– WFQ calcule pour chaque paquet p le temps de
départ virtuel Fp comme le temps où le paquet
aurait fini la transmission sur un serveur GPS
– Les paquets sont transmis dans l’ordre de leurs
temps Fp

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 20


Problème du calcul de Fp
ƒ Le calcul du temps de
départ virtuel Fp est
complexe
Flux 1 F1
Exemple t0

1. A l’instant t0 les paquets


Flux 2 F2
les flux 1 et 2 sont actifs
2. Le paquet 1 commence le
service comme F1 < F2 Flux 3
3. Au moment t1 le flux 3 t1

devient actif
¾ Il faut recalculer les temps
de départ virtuels de tous
les paquets en attente

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 21


Caractéristiques de WFQ
ƒ Le retard du temps de départ effectif par rapport au temps de départ
virtuel est borné par le temps de transmission d’un paquet maximum

ƒ Le temps de séjour maximum Ri d’un flux contrôlé par un seau à jetons


avec (ri,bi) est bornée par

si ri ≤ gi

ƒ WFQ est très répandu sur les noeuds à bas débit


ƒ Inconvénients de WFQ
– WFQ ne se prête pas pour l’utilisation à haut débit
ƒ La complexité de calcul augmente linéairement avec le nombre de flux: O(n)
– La déviation du service idéal GPS peut devenir très important (rafales de trafic)
dans certains scénarios

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 22


Déviation de WFQ du service GPS

ƒ Dans WFQ uniquement le retard


supplémentaire par rapport à GPS A5 A 4 A3 A2 A1
est borné
ƒ Un paquet peut partir bien avant le

4F
B1
F
temps de départ virtuel Fp
C
– Rafales de transmission C1 F

F
D1
Exemple

F
– 5 flux sur un serveur WFQ E1
– Flux A a un poids de 4Φ

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 23


Déviation de WFQ du service GPS (cont.)
Service sous GPS
– Tous les paquets sont transmis
en parallèle
– Les paquets A1, ..., A4 finissent
leur transmission avant les
autres paquets
Flux A A1 A2 A3 A 4 A5
Service sous WFQ
– Le paquets A1, ..., A4 sont
Flux B B1

transmis en rafale Flux C C1

– Le paquet A5 est retardé Flux D D1

¾ Variation de délai élevée


Flux E E1

0 1 2 3 4 5 Temps

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 24


Worst-Case WFQ (WF2Q)
Algorithme
– Pour chaque paquet
1. Calculer le temps virtuel de début
service et de départ
2. Transmettre le paquet avec le plus petit
temps virtuel de départ, parmi ceux qui
auraient déjà commencé leur service
sous GPS

Caractéristiques de WF2Q Flux A A1 A2 A3 A4 A5


– Temps de séjour maximum borné
comme dans WFQ Flux B B1

– Meilleure équité, même dans des


échelles de temps très courtes Flux C C1

– Moins de variations de délai Flux D D1

– Complexité O(n)
– Algorithme amélioré : WF2Q+ Flux E E1

ƒ Complexité O(log(n))
0 1 2 3 4 5 Temps

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 25


Simplifications de WFQ
ƒ Weighted Round Robin (WRR)
Algorithme
ƒ Normaliser les poids des flux en fonction de leur taille de paquet moyenne L

ƒ Calculer le nombre de paquets à transmettre par flux pendant un cycle

ƒ Servir les flux en tourniquet, avec ∑i ni paquets par cycle


Caractéristiques
ƒ Complexité linéaire avec le nombre de flux
ƒ Comportement non équitable à l’échelle d’un cycle
ƒ La taille de paquet moyenne doit être connue

ƒ Algorithme amélioré: « Deficit Round Robin » (DRR)


– Ne dépend pas de la taille moyenne des paquets

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 26


Gestion active de files d’attente
ƒ Problèmes des files « Tail Drop »
– Les files d’attente sont longues en moyenne, les délais d’attente aussi
– Le débordement non contrôlé conduit à une synchronisation des flux et une
oscillation du trafic du réseau
– Le débordement non contrôlé pénalise les flux qui envoient leurs paquets par
rafales

Méthodes AQM (Active Queue Management)


– Réalisent un contrôle de congestion sur les noeuds du réseau
– Visent à réaliser une QoS dans les réseaux où le trafic TCP est dominant
– Visent à optimiser le efficacité du réseau, sans distinguer les différents flux

ƒ Fonctionnement
– Supprimer des paquets de manière aléatoire avant que les files soient pleines
ƒ Avantages
– Files plus courtes
– Meilleure utilisation du réseau
– Taux de perte plus faible
– Recommandé pour l’utilisation dans Internet (RFC 2309)

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 27


Random Early Detection (RED)
ƒ Idée
– Suppression de paquets avec une
probabilité qui augmente avec la
longueur moyenne de la file
d’attente
Lmax Lmin

Algorithme (Gentle RED)


Probabilité
1. Estimation de la longueur d’élimination
moyenne de la file d’attente 1
ƒ Lissage exponentiel

L: longueur instantanée, wq: coeff.


2. Décision de supprimer un paquet
Pmax

ƒ Calcul de la probabilité d’élimination


Lmin Lmax 2?Lmax Longueur
moyenne

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 28


Efficacité de RED
Throughput total

ƒ RED
n’améliore que
légèrement le
throughput
total

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 29


Efficacité de RED
Longueur de la file d’attente

ƒ La longueur
moyenne de la
file d’attente
est réduite

ƒ Les délais
d’attente sont
réduits

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 30


Efficacité de RED
Taux de perte

ƒ Le taux de perte
augmente avec RED !

ƒ Ces résultats
soulignent la difficulté
de choisir les
paramètres de RED

ƒ Une alternative est la


méthode AVQ qui a
un base théorique
plus solide que RED

Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 31