30
Introduction aux M ´ ecanismes de Qualit ´ e de Service Chaput Emmanuel 2007-2008 Chaput Emmanuel () Introduction aux M ´ ecanismes de Qualit ´ e de Service 2007-2008 1 / 85 1 Introduction 2 Sch ´ ema g ´ en´ eral 3 Exemples d’AQM 4 Exemples de shaper 5 Algorithmes d’ordonnancement 6 Un cas d’ ´ etude Chaput Emmanuel () Introduction aux M ´ ecanismes de Qualit ´ e de Service 2007-2008 2 / 85 Introduction Introduction 1 Introduction 2 Sch ´ ema g ´ en´ eral 3 Exemples d’AQM 4 Exemples de shaper 5 Algorithmes d’ordonnancement 6 Un cas d’ ´ etude Chaput Emmanuel () Introduction aux M ´ ecanismes de Qualit ´ e de Service 2007-2008 3 / 85 Notes : Notes : Notes :

Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Introduction aux Mecanismes de Qualite de Service

Chaput Emmanuel

2007-2008

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 1 / 85

1 Introduction

2 Schema general

3 Exemples d’AQM

4 Exemples de shaper

5 Algorithmes d’ordonnancement

6 Un cas d’etude

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 2 / 85

Introduction

Introduction

1 Introduction

2 Schema general

3 Exemples d’AQM

4 Exemples de shaper

5 Algorithmes d’ordonnancement

6 Un cas d’etude

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 3 / 85

Notes :

Notes :

Notes :

Page 2: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Introduction

Le probleme

Reseaux a commutation de paquets : multiplexage temporelasynchrone

Alteration du profil temporel des flots de paquetsInequite lors de contention entre les taux de perte des flotsPas de traitement specifique en fonction de besoins differents

Comportement best effort

Le reseau fait ce qu’il peutSans garantir quoi que ce soit

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 4 / 85

Introduction

Objectifs

Fournir des mecanismes permettant d’assurer de la “Qualite deservice” dans les reseaux de paquets.

Distribuer “equitablement” le debit des liensIsoler les trafics entre euxAccroıtre les performances du service fourni

Delai de bout en boutGigue sur un fluxDebit sur le cheminPerte de paquets

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 5 / 85

Introduction

Differents types de metriques

Metrique additiveMr1,r2 = Mr1 + Mr2

pe delai, gigueMetrique concave

Mr1,r2 = min(Mr1 ,Mr2)pe debit

Metrique multiplicativeMr1,r2 = Mr1 ×Mr2

pe probabilite de non perte

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 6 / 85

Notes :

Notes :

Notes :

Page 3: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Introduction

Mecanismes =/= architecture

Mise en œuvre de la qualite de service

Une architecture (IntServ, DiffServ, . . . )Des protocoles (RSVP, DSCP, . . . )Des mecanismes (ordonnancement, lissage, . . . )

Mecanismes non lies a une architecture bien queSouvent implantes pour assurer des services definis dans lecadre d’une architecture

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 7 / 85

Schema general

Schema general

1 Introduction

2 Schema general

3 Exemples d’AQM

4 Exemples de shaper

5 Algorithmes d’ordonnancement

6 Un cas d’etude

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 8 / 85

Schema general

Les fonctions

Classifier Marker

CAC

AQM Scheduler

Meter

Shaper

Policer

Presence et localisation dependantes

De l’architectureIntServ [3], DiffServ [1], . . .

De l’entite dans l’architectureRouteur de frontiere, de cœur, . . .

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 9 / 85

Notes :

Notes :

Notes :

Page 4: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Schema general

Classifier

Objectif : realiser une segregation des paquetsSegregation par flot (a la IntServ)Segregation par classe (a la DiffServ)Fondee sur des informations contenues dans les paquetsNecessaire du fait de l’absence de connexion IP

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 10 / 85

Schema general

Meter

Objectif : mesurer les caracteristiques (temporelles) d’un ensemble depaquets

Caracteristiques selon criteres de segregationVerification de conformite

A un profil de trafic negocieComparaison a des seuils

Eventuellement negociesEventuellement dynamiques

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 11 / 85

Schema general

Marker

Objectif : ajouter des informations pertinentes au paquet

Emplacement prevu dans les entetesChamp ToS d’IPv4, . . .

Encapsulation supplementaireLabel MPLS, . . .

Structure de donnees associeeTraitement local

Pemet un traitement plus rapide en aval

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 12 / 85

Notes :

Notes :

Notes :

Page 5: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Schema general

Shaper

Objectif : Lisser le trafic

Le rendre conforme a un profil temporelEvite les bursts en avalIntroduction de “delai” entre paquetsImplante dans le scheduler

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 13 / 85

Schema general

Policer

Objectif : contraindre le trafic

Le rendre conforme a un contratDestruction/remarquage de paquetsPas de lissageIsolation des trafics

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 14 / 85

Schema general

Active Queue Management

Objectif : diminuer les risques de congestion

Gestion active des files d’attente [2]Eviter les files d’attente pleines

Capacite a accueillir les burstsMinimiser le temps de traversee

Prevenir la congestion plutot que la subirDefinition de taux de remplissage seuilsActions curatives (anticipees) ou preventivesActions plus equitables

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 15 / 85

Notes :

Notes :

Notes :

Page 6: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Schema general

Scheduler

Objectif : realiser le multiplexage temporel

Utiliser “equitablement” le debit disponibleAppliquer les choix faits lors des etapes precedentesImplantation integre les fonctions de shaper/policerEventuellement non work conserving (CF page suivante)

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 16 / 85

Schema general

Ordonnancement Work Conserving

Ordonnancement Work ConservingUn paquet en attente est emis des que le support est disponibleUtiliser au mieux la bande passante

Ordonnancement Work ConservingUn paquet en attente doit de plus etre eligible pour etre emisAttendre un paquet plus prioritaireMettre en place du lissage

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 17 / 85

Schema general

Connexion Admission Control

Objectif : Verifier qu’un contrat peut etre assure

Negociation de parametres de QoSAssocie a de la reservation de ressourceNecessite un protocole oriente connexion ou un equivalentPeut permettre l’isolation des trafics

Notion de SLA

Service Level AgreementAccord entre le client et l’operateurDescription des parametres de QoS

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 18 / 85

Notes :

Notes :

Notes :

Page 7: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Schema general

Un exemple : IntServ

Classifier Policer Scheduler

CAC

Ressources reservees par RSVP

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 19 / 85

Schema general

Un exemple : DiffServ (edge router)

Classifier Marker

Meter

ShaperPolicer

Segregation evoluee (MF-classifier)Marquage simple (DSCP) pour le domainePolicing (ingress router)Shaping (egress router)

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 20 / 85

Schema general

Un exemple : DiffServ (core router)

Classifier Scheduler

segregation simplecomportement conforme a un PHB

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 21 / 85

Notes :

Notes :

Notes :

Page 8: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Exemples d’AQM

Exemples d’AQM

1 Introduction

2 Schema general

3 Exemples d’AQM

4 Exemples de shaper

5 Algorithmes d’ordonnancement

6 Un cas d’etude

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 22 / 85

Exemples d’AQM

Random Early Detection

p=1 p=00 < p < 1

Observation de l’etat de la fileDefinition d’une probabilite en fonction de l’etatMarquage/destruction de paquets choisis aleatoirementDesynchronisation des TCPsPremiere proposition en 1993 [7]

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 23 / 85

Exemples d’AQM

RED with In and Out

1

0

P(drop)

Pmax_in

Pmax_out

max_out/avg_total

max_in/avg_inmin_out/avg_total min_in/avg_in

Double RED [4]Paquets marques in ou out

Perdre prioritairement des paquets hors-profilIndependant du marquage des paquetsQuel parametrage ?

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 24 / 85

Notes :

Notes :

Notes :

Page 9: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Exemples de shaper

Exemples de shaper

1 Introduction

2 Schema general

3 Exemples d’AQM

4 Exemples de shaper

5 Algorithmes d’ordonnancement

6 Un cas d’etude

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 25 / 85

Exemples de shaper

Leaky bucket

b

r

Les paquets entrent dans le “seau”Sortie du seau a debit borne (r)Si capacite (b) finie : policingSeau = metering

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 26 / 85

Exemples de shaper

Token bucket

b

r

Chaque paquet (octet) consomme un jetonBursts possibles en sortie (limites par b)Paquets hors profil (pas de jeton)

Retardes (shaper)Detruits/declasses (policer)

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 27 / 85

Notes :

Notes :

Notes :

Page 10: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Algorithmes d’ordonnancement

Algorithmes d’ordonnancement5 Algorithmes d’ordonnancement

First In First OutRound RobinDeficit Round RobinFair QueuingStochastic Fair QueuingGeneralized Processor SharingPacket Generalized Processor SharingVirtual ClockPriority QueuingObjectifsImplantation dans Linux

Architecture generaleLes architecturesLes ordonnanceursLa mecanique DiffServLes outils annexesPolicing de trafic

Exemple de mise en placeLe lienLe terminal satellite

Les difficultes techniquesDeveloppementInteractionsServeur de QoS

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 28 / 85

Algorithmes d’ordonnancement First In First Out

First In First Out

Tail dropSimple a implanterPas de distinction entre trafics du buffer)

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 29 / 85

Algorithmes d’ordonnancement Round Robin

Round Robin

Classification du traficSimple a implanterCertaine isolation entre les traficsEquitable en paquets : en debit ?

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 30 / 85

Notes :

Notes :

Notes :

Page 11: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Algorithmes d’ordonnancement Deficit Round Robin

Deficit Round Robin

Constat : packet round robin non equitable si taille variableService pondere : Qi bits max par tour pour la file iPrise en compte du deficit (Qi - service) au tour suivantCompatible avec SFQ

[14]

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 31 / 85

Algorithmes d’ordonnancement Deficit Round Robin

Deficit Round Robin : algorithme

Qi nombre max de bits du flux i transmis par cycleDCi deficit du flux i

Lki nombre de bits du paquet k du flux i

AlgorithmeDCi = 0A chaque cycle, pour chaque flux i

DCi ← DCi + Qitant qu’il existe un paquet k en attente tel que Lk

i ≤ DCi

emettre le paquetDCi ← DCi − Lk

i

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 32 / 85

Algorithmes d’ordonnancement Fair Queuing

Fair Queuing

Simulation d’un round-robin fluide (bit a bit)Reception d’un paquet : calcul de sa date de depart theoriqueEmission ordonnee selon les dates theoriques[11] [12] [6]

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 33 / 85

Notes :

Notes :

Notes :

Page 12: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Algorithmes d’ordonnancement Fair Queuing

Fair Queuing : principe

NotationR(t) nombre de cycles du round robin a t

Na(t) nombre de flux actifs a tak

i date d’arrivee du paquet i du flux kLk

i nombre de bits du paquet i du flux kSk

i et F ki dates de debut et fin de service du paquet i du flux k en

nombre de cyclesProprietesNa(t) = card({k ,F k

max(i,aki )≤ t)})

F ki = Sk

i + Lki

Ski = max(F k

i−1,R(aki )) (respect de l’ordre !)

∂R(t)∂t = 1

Na(t) si 1 bit par unite de temps

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 34 / 85

Algorithmes d’ordonnancement Fair Queuing

Fair Queuing : algorithme

Reception d’un paquet : calcul de sa date de fin de service par unround-robin bit a bitSupport libre : emission du paquet de plus faible F k

i

On ne s’interesse pas aux dates reelles puisque r(t) eststrictement croissanteDuree de cycle variable (arrivee d’un paquet sur un flux inactif)

Dates (reelles) de depart theorique a recalculerDates en R(t) inchangees !

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 35 / 85

Algorithmes d’ordonnancement Stochastic Fair Queuing

Stochastic Fair Queuing

Constat du Fair Queuing : lourd a implanter a haut debit (gestionsdes files)Flots repartis selon une methode de hachageHachage modifiee regulierement[10] [9]

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 36 / 85

Notes :

Notes :

Notes :

Page 13: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Algorithmes d’ordonnancement Generalized Processor Sharing

Generalized Processor Sharing (GPS)

Service fluide pondere (debit de sortie φi pour flux i)Chacun obtient φiP

φi

Extremement equitableImpossible a implanter

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 37 / 85

Algorithmes d’ordonnancement Generalized Processor Sharing

Packet GPS

Weighted Fair Queuing (pondere par φi , ou∑φi = 1

Pour chaque paquet : estimation de sa date de sortie sur un GPS

Paquets emis dans l’ordre de ces dates[6] [13]

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 38 / 85

Algorithmes d’ordonnancement Packet Generalized Processor Sharing

Packet GPS : principes

Notations du Fair Queuing plusV (t) temps virtuel evoluant proportionnellement a 1P

i∈{actifs} φisi

1 bit par unite de tempsProprietes

F ki = Sk

i +Lk

iφi

Ski = max(F k

i−1,V (aki ))

∂V (t)∂t = 1P

i∈{actifs} φisi 1 bit par unite de temps

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 39 / 85

Notes :

Notes :

Notes :

Page 14: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Algorithmes d’ordonnancement Virtual Clock

Virtual Clock

Inspire du TDM

Calcul d’une date de depart theoriqueDate calculee en supposant un debit constantEmission ordonnee selon les dates theoriquesIsolation des flux[15]

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 40 / 85

Algorithmes d’ordonnancement Virtual Clock

Virtual Clock : principes

Notationsri debit moyen associe au flot i (i ∈ [1 . . . n])

Ski et VCk

i dates de debut et fin de service du paquet i du flux kak

i date d’arrivee du paquet i du flux kLk

i nombre de bits du paquet i du flux kProprietes

VCki = Sk

i +Lk

iri

Ski = max(F k

i−1,aki ) (respect de l’ordre !)

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 41 / 85

Algorithmes d’ordonnancement Priority Queuing

Priority Queuing

Chaque file est dotee d’une prioriteFile de plus faible priorite servie si prioritaire videGeneralement pas de preemptionRisque de famine

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 42 / 85

Notes :

Notes :

Notes :

Page 15: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude

Un cas d’etude

6 Un cas d’etudeObjectifsImplantation dans Linux

Architecture generaleLes architecturesLes ordonnanceursLa mecanique DiffServLes outils annexesPolicing de trafic

Exemple de mise en placeLe lienLe terminal satellite

Les difficultes techniquesDeveloppementInteractionsServeur de QoS

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 43 / 85

Un cas d’etude Objectifs

6 Un cas d’etudeObjectifsImplantation dans Linux

Architecture generaleLes architecturesLes ordonnanceursLa mecanique DiffServLes outils annexesPolicing de trafic

Exemple de mise en placeLe lienLe terminal satellite

Les difficultes techniquesDeveloppementInteractionsServeur de QoS

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 44 / 85

Un cas d’etude Objectifs

Architecture de qualite de service dynamique

Definition d’une architecture de qualite de service

Utilisation de l’implantation des mecanismes DiffServ dans lenoyau Linux ;Couplage avec les couches hautes et basses

QoS server ;Couche MAC (allocation) ;

Evaluation des algorithmes disponibles (tache 2).

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 45 / 85

Notes :

Notes :

Notes :

Page 16: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Implantation dans Linux

Implantation dans Linux

6 Un cas d’etudeObjectifsImplantation dans Linux

Architecture generaleLes architecturesLes ordonnanceursLa mecanique DiffServLes outils annexesPolicing de trafic

Exemple de mise en placeLe lienLe terminal satellite

Les difficultes techniquesDeveloppementInteractionsServeur de QoS

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 46 / 85

Un cas d’etude Implantation dans Linux

Objectifs de l’architecture

Lissage des trafics : supression des salves, . . .Ordonnancement des paquets selon diverses strategies

Policing des trafics entrantsDestruction des paquets hors-limites

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 47 / 85

Un cas d’etude Implantation dans Linux

Architecture de base

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 48 / 85

Notes :

Notes :

Notes :

Page 17: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Implantation dans Linux

Trois grandes familles

Les architectures fournissent un cadreLes ordonnanceurs . . . ordonnancentLes outils annexes offrent d’autres fonctionnalites

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 49 / 85

Un cas d’etude Implantation dans Linux

Les architectures

CBQ ancetre historique propose par S. Floyd et Van Jacobson[8]

CSZ partiellement implante [5]HTB autre implantation des concepts de CBQ

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 50 / 85

Un cas d’etude Implantation dans Linux

Clark Shenker Zhang

Description de trafic et controle d’admissionToken bucket ou debit max

Classification des fluxTemps reel avec contraintes strictesTemps reel “mou”Best effort

OrdonnancementIsolation pour temps reel (WFQ)Technique non optimale pour le reste (FIFO, FIFO+)

Quelle garantie de bout en bout ?

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 51 / 85

Notes :

Notes :

Notes :

Page 18: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Implantation dans Linux

Clark Shenker Zhang (implantation)

Version simplifieePas de controle d’admissionFIFO + priorites pour non temps reelWFQ version paquet simplifiee

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 52 / 85

Un cas d’etude Implantation dans Linux

Hierarchical Token Bucket, CBQ

Issu des travaux de Floyd et V. JacobsonHierarchisation des traficsCadre generique pour partager les liens :

Debit par classeOrdonnancement avec/sans congestionPartage du debit non utilise

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 53 / 85

Un cas d’etude Implantation dans Linux

Hierarchical Token Bucket, CBQ (implantation)

Bien plus simple que CSZ

Estimation des ressources utliseesDetermination des classes a controlerUtilisation du debit residuel

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 54 / 85

Notes :

Notes :

Notes :

Page 19: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Implantation dans Linux

Prio

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 55 / 85

Un cas d’etude Implantation dans Linux

Prio

Plusieurs niveaux de prioritesClassifieursCorrespondance avec le champ TOS

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 56 / 85

Un cas d’etude Implantation dans Linux

First In, First Out

Premier arrive premier serviLimite sur longueur de fileVersion paquet et version octet

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 57 / 85

Notes :

Notes :

Notes :

Page 20: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Implantation dans Linux

FIFO rapide

FIFO a trois prioritesImplantation du TOS IPv4Plus rapide que PRIO + FIFO

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 58 / 85

Un cas d’etude Implantation dans Linux

Token Bucket Filter

Classique. ParametresTaille du seau, debitTaille maximale de la fileBurst maximal

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 59 / 85

Un cas d’etude Implantation dans Linux

Stochastic Fairness Queuing

Distribution des flux sur des filesTourniquet sur les filesHashage pour repartition

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 60 / 85

Notes :

Notes :

Notes :

Page 21: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Implantation dans Linux

...

classifier

discipline dsmark

marquageclassediscipline

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 61 / 85

Un cas d’etude Implantation dans Linux

Le plus haut niveau

Outil dsmarkCadre general(Re)marquage des paquetsConsultation du DSCP

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 62 / 85

Un cas d’etude Implantation dans Linux

Le filtrage en entree

Classifieur tcindexChoix d’une classe en fonction du marquageDefinition d’un nouveau champUtilisation delicate

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 63 / 85

Notes :

Notes :

Notes :

Page 22: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Implantation dans Linux

Prio

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 64 / 85

Un cas d’etude Implantation dans Linux

Random Early Detection

Destruction (marquage) probabilisteInteraction avec ECN possible[2]

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 65 / 85

Un cas d’etude Implantation dans Linux

Generalized RED

Files d’attentes virtuellesCaracteristiques a la RED distinctesPossibilite de prioritePour les BAs de type AF de DiffServ

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 66 / 85

Notes :

Notes :

Notes :

Page 23: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Implantation dans Linux

Policing de trafic

Discipline ingress

Policing par des filtresPeu evolutif

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 67 / 85

Un cas d’etude Implantation dans Linux

Itermediate Queuing device

Peripherique virtuelRecoit le trafic de peripheriques reelsRe-injecte le trafic dans le systeme

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 68 / 85

Un cas d’etude Exemple de mise en place

Exemple de mise en place

6 Un cas d’etudeObjectifsImplantation dans Linux

Architecture generaleLes architecturesLes ordonnanceursLa mecanique DiffServLes outils annexesPolicing de trafic

Exemple de mise en placeLe lienLe terminal satellite

Les difficultes techniquesDeveloppementInteractionsServeur de QoS

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 69 / 85

Notes :

Notes :

Notes :

Page 24: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Exemple de mise en place

1 Introduction2 Schema general3 Exemples d’AQM4 Exemples de shaper5 Algorithmes d’ordonnancement

First In First OutRound RobinDeficit Round RobinFair QueuingStochastic Fair QueuingGeneralized Processor SharingPacket Generalized Processor SharingVirtual ClockPriority Queuing

6 Un cas d’etudeObjectifsImplantation dans Linux

Architecture generaleLes architecturesLes ordonnanceursLa mecanique DiffServLes outils annexesPolicing de trafic

Exemple de mise en placeLe lienLe terminal satellite

Les difficultes techniquesDeveloppementInteractionsServeur de QoS

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 70 / 85

Un cas d’etude Exemple de mise en place

Architecture generale

ST

user

satellite

NCC

émulateur

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 71 / 85

Un cas d’etude Exemple de mise en place

Simulation du lien

Outil de simulation de reseau netem pour pertes et retardOrdonnancement pour debit

# tc qdisc add dev eth0 root handle 1 : netem delay240ms 1ms loss 0.00001% 90%# tc qdisc add dev eth0 parent 1 : handle 2 : tbfrate 512kbit

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 72 / 85

Notes :

Notes :

Notes :

Page 25: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Exemple de mise en place

Configuration du ST

eth0 eth1 réseau satelliteréseau utilisateur

Terminal

Satellite

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 73 / 85

Un cas d’etude Exemple de mise en place

Classification des trafics

Possibilites MFC tres vastes

Tous les champs de l’en-tete paquetNombreux autres champsResultat routageResultat policing

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 74 / 85

Un cas d’etude Exemple de mise en place

Policing

ingress et filtres# tc qdisc add dev eth0 handle ffff : ingress# tc filter add dev eth0 parent ffff : protocolip u32 match ip src 1.2.3.0/24 police rate128kbit burst 10k drop flowid :1

IMQ si necessaire# ip link set imq0 up# qdisc add dev imq0 root handle 1 : dlb# iptables -t mangle -A PREROUTING -i eth1 -pudp -j IMQ --todev 0

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 75 / 85

Notes :

Notes :

Notes :

Page 26: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Exemple de mise en place

Ordonnancement : strategie

# tc qdisc add dev eth1 handle 1 : root dsmarkindices 64 set tc index# tc filter add dev eth1 parent 1 : prio 1 tcindexmask 0xfc shift 3

Classe dscp indiceaf11 001010xx 0x05. . . . . . . . .

af13 001110xx 0x07. . . . . . . . .ef 101110xx 0x17. . . . . . . . .

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 76 / 85

Un cas d’etude Exemple de mise en place

Ordonnancement : organisation

Utilisation d’une hierarchie de classes# tc qdisc add dev eth1 parent 1 : handle 2 : htbrate 2mbit burst 16k# tc filter add dev eth1 parent 2 : protocol ip prio1 tcindex mask 0x1c shift 3 pass on

Trafic Classeaf1n 0x1naf2n 0x2naf3n 0x3naf4n 0x4n

ef 0x50be 0x60

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 77 / 85

Un cas d’etude Exemple de mise en place

Ordonnancement : repartition

# tc filter add dev eth1 parent 2 : protocol ip prio1 handle 1 tcindex classid 2 :10# tc filter add dev eth1 parent 2 : protocol ip prio1 handle 2 tcindex classid 2 :20# tc filter add dev eth1 parent 2 : protocol ip prio1 handle 3 tcindex classid 2 :30# tc filter add dev eth1 parent 2 : protocol ip prio1 handle 4 tcindex classid 2 :40

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 78 / 85

Notes :

Notes :

Notes :

Page 27: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Exemple de mise en place

Ordonnancement : gestion des files

Expedited Forwarding# tc class add dev eth1 parent 2 : classid 2 :50rate 512Kbit ceil 1Mbit# tc qdisc add dev eth1 parent 2 :50 red limit256000 min 16000 max 32000 avpkt 1000 burst 10probability 0.02 bandwith 512 ecn

Assured Forwarding . . . patience !Best Effort# tc class add dev eth1 parent 2 : classid 2 :50rate 512Kbit ceil 1Mbit

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 79 / 85

Un cas d’etude Exemple de mise en place

Assured Forwarding

Les AFxy (x constant) ont des taux de pertes differents# tc class add dev eth1 parent 2 : classid 2 :10 htbrate 64kbit ceil 128kbit# tc qdisc add dev eth1 parent 2 :10 gred setup DPs3 default 3 grio

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 80 / 85

Un cas d’etude Exemple de mise en place

Assured Forwarding

Parametrage des taux de perte# tc qdisc change dev eth1 parent 2 :10 gred limit2048 min 512 max 1024 burst 10 avpkt 512 bandwidth64kbit DP 1 probability 0.05 prio 1# tc qdisc change dev eth1 parent 2 :10 gred limit2048 min 512 max 1024 burst 10 avpkt 512 bandwidth64kbit DP 2 probability 0.10 prio 2# tc qdisc change dev eth1 parent 2 :10 gred limit2048 min 512 max 1024 burst 10 avpkt 512 bandwidth64kbit DP 3 probability 0.15 prio 3

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 81 / 85

Notes :

Notes :

Notes :

Page 28: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Les difficultes techniques

Les difficultes techniques

6 Un cas d’etudeObjectifsImplantation dans Linux

Architecture generaleLes architecturesLes ordonnanceursLa mecanique DiffServLes outils annexesPolicing de trafic

Exemple de mise en placeLe lienLe terminal satellite

Les difficultes techniquesDeveloppementInteractionsServeur de QoS

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 82 / 85

Un cas d’etude Les difficultes techniques

Algorithmes de traitement de la QoS

Lissage, marquage, ”policage” ;Reecriture ?

Deja faitPlus adapte !

Remplacement ?Choix des remplacants ?Plus perenne.

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 83 / 85

Un cas d’etude Les difficultes techniques

Dialogue emulation/prototypage

Flux de donnees / informations de controle ;Efficacite/mise en œuvre ;Impact des deux cotes ;TUN/TAP, Netfilter/libipq, netlink, appels systeme, . . .

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 84 / 85

Notes :

Notes :

Notes :

Page 29: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Les difficultes techniques

Quelle implantation ?

Actuellement : module applicatif dialogant avec le module de miseen œuvre de la QoS ;Transitoirement : le meme module controlant l’ordonnanceur ;Idealement : module proche de l’ordonnanceur.

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 85 / 85

Un cas d’etude Les difficultes techniques

[1] S. Blake, D. Black, M. Carlson, E. Davies, and Z. Wang January.RFC 2475 - an architecture for differentiated service.Informational, IETF, December 1998.

[2] B. Braden, D. Clark, J. Crowcroft, B. Davie, S. Deering, D. Estrin,S. Floyd, V. Jacobson, G. Minshall, C. Partridge, L. Peterson,K. Ramakrishnan, S. Shenker, J. Wroclawski, and L. Zhang.RFC 2309 : Recommendations on queue management andcongestion avoidance in the internet.Technical report, IETF, April 1998.Category : Informational.

[3] R. Braden, D. Clark, and S. Shenker.Integrated services in the internet architecture : an overview.Technical report, Internet Engineering Task Force, United States,1994.

[4] David D. Clark and Wenjia Fang.Explicit allocation of best-effort packet delivery service.

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 85 / 85

Un cas d’etude Les difficultes techniques

IEEE/ACM Trans. Netw., 6(4) :362–373, 1998.

[5] David D. Clark, Scott Shenker, and Lixia Zhang.Supporting real-time applications in an integrated services packetnetwork : Architecture and mechanism.In SIGCOMM, pages 14–26, 1992.

[6] A. Demers, S. Keshav, and S. Shenker.Analysis and simulation of a fair queueing algorithm.In SIGCOMM ’89 : Symposium proceedings on Communicationsarchitectures & protocols, pages 1–12, New York, NY, USA, 1989.ACM Press.

[7] Sally Floyd and Van Jacobson.Random early detection gateways for congestion avoidance.IEEE/ACM Transactions on Networking, 1(4) :397–413, 1993.

[8] Sally Floyd and Van Jacobson.Link-sharing and resource management models for packetnetworks.

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 85 / 85

Notes :

Notes :

Notes :

Page 30: Introduction aux Mécanismes de Qualité de Servicechaput.perso.enseeiht.fr/supports/2007-2008/QoS...Fondee sur des informations contenues dans les paquets´ Necessaire du fait de

Un cas d’etude Les difficultes techniques

IEEE /ACM Transactions on Networking, 3(4) :365–386, 1995.

[9] Paul E. McKenney.High-speed event counting and classification using a dictionaryhash technique.Proceedings of the International Conference on ParallelProcessing, 3 :71–75, 1989.

[10] P.E. McKenney.Stochastic fairness queuing.In IEEE, editor, INFOCOM’90 proceedings, volume 2, pages733–740, June 1990.

[11] J. Nagle.On packet switches with infinite storage.Technical report, IETF, United States, 1985.

[12] J. B. Nagle.On packet switches with infinite storage.Innovations in Internetworking, pages 136–139, 1988.

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 85 / 85

Un cas d’etude Les difficultes techniques

[13] Abhay K. Parekh and Robert G. Gallager.A generalized processor sharing approach to flow control inintegrated services networks : the single-node case.IEEE/ACM Trans. Netw., 1(3) :344–357, 1993.

[14] M. Shreedhar and George Varghese.Efficient fair queueing using deficit round-robin.IEEE/ACM Trans. Netw., 4(3) :375–385, 1996.

[15] L. Zhang.Virtual clock : a new traffic control algorithm for packet switchingnetworks.In SIGCOMM ’90 : Proceedings of the ACM symposium onCommunications architectures & protocols, pages 19–29, NewYork, NY, USA, 1990. ACM Press.

Chaput Emmanuel () Introduction aux Mecanismes de Qualite de Service 2007-2008 85 / 85

Notes :

Notes :

Notes :