31
3-Mecanismes.ppt Jürgen Ehrensberger IICT/HEIG Performances et QoS Chapitre 3 Mécanismes de QoS

3-Mecanismes

Embed Size (px)

Citation preview

Page 1: 3-Mecanismes

3-Mecanismes.pptJürgen Ehrensberger IICT/HEIG

Performances et QoS

Chapitre 3

Mécanismes de QoS

Page 2: 3-Mecanismes

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

Page 3: 3-Mecanismes

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

Page 4: 3-Mecanismes

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

Page 5: 3-Mecanismes

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

Page 6: 3-Mecanismes

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

Page 7: 3-Mecanismes

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))

Page 8: 3-Mecanismes

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

Page 9: 3-Mecanismes

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

Page 10: 3-Mecanismes

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

Page 11: 3-Mecanismes

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

Page 12: 3-Mecanismes

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

Page 13: 3-Mecanismes

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?

Page 14: 3-Mecanismes

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

Page 15: 3-Mecanismes

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

Page 16: 3-Mecanismes

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

Page 17: 3-Mecanismes

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é

Page 18: 3-Mecanismes

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 !

Page 19: 3-Mecanismes

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

Page 20: 3-Mecanismes

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

Page 21: 3-Mecanismes

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

Page 22: 3-Mecanismes

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

Page 23: 3-Mecanismes

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

Page 24: 3-Mecanismes

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

Page 25: 3-Mecanismes

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

Page 26: 3-Mecanismes

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

Page 27: 3-Mecanismes

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)

Page 28: 3-Mecanismes

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

Page 29: 3-Mecanismes

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

Page 30: 3-Mecanismes

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

Page 31: 3-Mecanismes

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