Upload
othman666
View
252
Download
0
Tags:
Embed Size (px)
Citation preview
3-Mecanismes.pptJürgen Ehrensberger IICT/HEIG
Performances et QoS
Chapitre 3
Mécanismes de QoS
Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 2
Contenu du chapitre
1 : Introduction : comment réaliser la QoS– Surdimensionnement– Différenciation de service
2 : Classification de paquets3 : 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 3
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îtreComplexité faible du réseau
– ContreNe pas applicable aux réseaux d’accès et sans filLa demande est élastique et s’adapte à la capacité offertL’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 importantComplexité d’opération et de maintenance
Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 4
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 5
Classification
Flux : « Groupe de paquets utilisant un service bien défini »
– Micro-fluxIdentifié par (IP src, IP dst, Port src, port dst, TCP/UDP)
– Agrégation de fluxFlux 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 6
Méthodes de classification
Classification directe– Le flux ou la classe sont directement indiqués dans
l’en-tête du paquetChamps « 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 7
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
– ClassificationRè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 8
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 9
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
– TCPLissage des rafales
Limitation du débit moyen
Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 10
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 TCPTCP 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 11
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
conformeDifficile à 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 12
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 / reclassificationdes 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 13
Double seau à jetonsPlusieurs seaux à jetons peuvent être chaînés afin de réaliser des profiles de trafic complexesDouble 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
Trafic conforme
Taille de paquet maximum
rmax
Flux entrant Con-forme?
Taille de rafale
rmean
Con-forme?
Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 14
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 / reclassificationdes 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 15
Seau percéLeaky Bucket
Algorithme– Les paquets du flux entrant sont
mis dans le seau avec un capacité b
– Les paquets sont transmis avec un débit fixe r
Souvent confondu avec le seau àjetons
Permet le shaping à un débit fixe
Supprime les rafales trop importantes
Flux d’entrée
Profondeur b
Débit rTrafic conforme
Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 16
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 circuitsPartage maximum réseau « best effort »Compromis entre isolation et partage
– Différenciation de serviceUn scheduler doit pouvoir réaliser différents niveaux de QoSLa réalisation doit être efficace
– Performances quantifiablesLe 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 17
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 18
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 19
Modèle GPS
Si (t1, t2) : Volume du trafic écoulé de la source i dans l’intervalle [t1, t2]
Chaque flux i obtient un débit minimum garanti gi
Le débit non utilisé par les flux inactifs est reparti entre les flux actifs en fonction de leurs poids
???
= g1
= g2
= gn
F 1
F 2
F n
r
r1
r2
rn
Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 20
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 21
Problème du calcul de Fp
Le calcul du temps de départ virtuel Fp est complexe
Exemple1. A l’instant t0 les paquets
les flux 1 et 2 sont actifs
2. Le paquet 1 commence le service comme F1 < F2
3. Au moment t1 le flux 3 devient actif
Il faut recalculer les temps de départ virtuels de tous les paquets en attente
F1
F2
t0
t1
Flux 1
Flux 2
Flux 3
Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 22
Caractéristiques de WFQLe 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ébitInconvé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 23
Déviation de WFQ du service GPS
Dans WFQ uniquement le retard supplémentaire par rapport à GPS est borné
Un paquet peut partir bien avant le temps de départ virtuel Fp
– Rafales de transmission
Exemple– 5 flux sur un serveur WFQ
– Flux A a un poids de 4Φ
A1A2A3A4A5
B1
C1
D1
E1
4F
F
F
F
F
C
Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 24
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
Service sous WFQ
– Le paquets A1, ..., A4 sont transmis en rafale
– Le paquet A5 est retardé
Variation de délai élevée
A1 A2 A3 A4 A5
B1
C1
D1
E1
Temps
Flux E
Flux D
Flux C
Flux B
Flux A
0 1 2 3 4 5
Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 25
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– Temps de séjour maximum borné
comme dans WFQ– Meilleure équité, même dans des
échelles de temps très courtes– Moins de variations de délai – Complexité O(n)– Algorithme amélioré : WF2Q+
Complexité O(log(n))
A1 A2 A3 A4 A5
B1
C1
D1
E1
Temps
Flux E
Flux D
Flux C
Flux B
Flux A
0 1 2 3 4 5
Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 26
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éristiquesComplexité linéaire avec le nombre de fluxComportement non équitable à l’échelle d’un cycleLa 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 27
Gestion active de files d’attenteProblè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 28
Random Early Detection (RED)
Idée– Suppression de paquets avec une
probabilité qui augmente avec la longueur moyenne de la file d’attente
Algorithme (Gentle RED)1. Estimation de la longueur
moyenne de la file d’attenteLissage exponentiel
L: longueur instantanée, wq: coeff.
2. Décision de supprimer un paquetCalcul de la probabilité d’élimination
Lmax Lmin
Lmin Lmax 2?Lmax
Pmax
1
Probabilité d’élimination
Longueur moyenne
Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 29
Efficacité de REDThroughput total
RED n’améliore que légèrement le throughput total
Jürgen Ehrensberger IICT/HEIG Cours PQS 3-Mécanismes QoS 30
Efficacité de REDLongueur 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 31
Efficacité de REDTaux 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