Vous êtes sur la page 1sur 16

QoS dans le rseau

Chapitre 4 : Ordonnancement et QoS Scheduling

2011

RMMQoS-chap4

Objectifs
Hypothse : plusieurs flux en comptition
dans un switch/routeur mme interface de sortie

Quelques objectifs possibles :


obtenir des garanties pour un flux
ex : dlai < 100 ms indpendamment autres flux

protger (isoler) un flux des autres rpartir les ressources de faon contrle
quit, priorit,
2011 RMMQoS-chap4 2

tapes de la QoS
flux

Mise en forme shaping

classifier
marquer

policer

commuter

Gestion de file AQM

Ordonnancer scheduling

host
2011

Contrle dadmission/ rservation

rseau
RMMQoS-chap4 3

Ordonnancement N paquets en attente mme sortie


Buffers (file d attente) choisir lequel envoyer ( = ordre)
si sortie libre

ventuellement lequel supprimer


si buffers plein

2011

RMMQoS-chap4

FIFO + drop tail


Solution simple :
une seule file FIFO si la file est pleine, rejeter paquet arrivant
drop tail (ou tail drop)

Couramment utilise
pas de protection ni de priorits quit trs approximative
favorise les flux gourmands => congestion
2011 RMMQoS-chap4 5

Priority Queuing
Plusieurs files FIFO : F1, F2,
de priorits dcroissantes A chaque instant si sortie libre
lui appliquer discipline FIFO

prendre file non vide de priorit maximale

Priorits strictes
une file n est servie que si les files plus prioritaires sont vides risque de famine
si (dbit files F1, , Fj) dbit lien
file Fj+1 jamais servie
2011 RMMQoS-chap4 6

Priority Queuing (suite)


Facile implmenter Ncessite un classifieur (classifier)
Ex : champ ToS (Type of service) entte IPv4
3 bits de prcdence (0-5 user 6-7 rseau)
- 0 - 000 - Routine (donnes ordinaires) - 1 - 001 - Prioritaire - 2 - 010 - Immdiat - 3 - 011 - Urgent - 4 - 100 - Trs urgent - 5 - 101 - Critique - 6 - 110 - Supervision interconnexion (ex PIM, VRRP, IGMP, OSPF) - 7 - 111 - Supervision rseau
2011 RMMQoS-chap4 7

Priority Queuing (suite)


entte ethernet champ CoS (Class of service)
Les trames ethernet peuvent contenir un tag
Utilis pour les VLAN (VLAN id) Champ priorit cod sur 3 bits (IEEE 802.1D)
Note : Champ Cos de MPLS user_priority Acronym Traffic type

1 2 0 (Default) 3 4 5 6 7
2011

BK BE EE CL VI VO NC

Background Spare Best Effort Excellent Effort Controlled Load Video, < 100 ms latency and jitter Voice, < 10 ms latency and jitter Network Control
RMMQoS-chap4 8

Autres critres de classification


interface d entre (favoriser un terminal) entte IP port TCP/UDP
ex : telnet prioritaire sur http ou smtp remarque : quid de RTP ?

adresses DST et SRC (IP ou ethernet)


= flux comment configurer ?
2011 RMMQoS-chap4 9

2011

RMMQoS-chap4

10

Ex : r-ordonnancement des paquets

2011

RMMQoS-chap4

11

Ex : Priority Queuing routeurs cisco 4 priorits


haute, moyenne, normale, basse
par dfaut : normale configur statiquement

Sur switch/routeur 3650 :


Possibilit dune file prioritaire
2011 RMMQoS-chap4 12

Equit Assurer quit/protection


entre flux ou classes de flux ventuellement avec des poids diffrents

Qu est-ce qu tre quitable


quit max-min (max-min fair share) ex en terme de dbit on suppose que demandes > disponible
2011 RMMQoS-chap4 13

Equit (suite)
Equit Max-Min
n flux (ou classes) capacit totale C demandes d1 d2 dn di > C si tous les di C/n => allouer C/n chacun sinon
allouer d1 au premier partager rcursivement C - d1 aux n-1 autres flux
2011 RMMQoS-chap4 14

Exemple
4 demandes (flux) 1, 11, 17,19 (total 48) capacit 40 Allocation : 1, 11, 14, 14 Remarque :
allocation proportionnelle de 40/48 de la demande favoriserait les demandes importantes : 0.83 , 9.16, 14.16, 15.83 risque de sur estimer les demandes
2011 RMMQoS-chap4 15

Round Robin
Round Robin = Tour de rle (tourniquet) Ide :
une FIFO par classe servir un paquet par FIFO tour de rle
simple poids diffrents des diffrentes classes ?
adapter quit max-min multiplier une source par son poids pendant un tour servir cette FIFO n fois => Weighted Round Robin (Tour de rle pondr)

pas quitable :
paquets de tailles diffrentes ?
2011 RMMQoS-chap4 16

ex : Custom Queuing routeurs cisco 17 FIFO


dont 1 pour signalisation chaque file a un poids classification par protocole, interface d entre, configuration statique Weighted Round Robin (WRR)
2011 RMMQoS-chap4 17

Weighted Fair Queuing (WFQ)


Equit en prsence
de poids diffrents de paquets de taille diffrente
problme ne se pose pas avec ATM

ide du Fair Queuing simuler le cas o paquets diviss en parties trs petites
par exemple par bits

on envoie un bit de chaque file active chaque tour ( simule un envoi en parallle un dbit plus faible)
2011 RMMQoS-chap4 18

WFQ thorie

2011

RMMQoS-chap4

19

FQ : pratique
calculer finish time des paquets
temps o un paquet aurait t envoy
avec mthode thorique par bit

envoyer dans l ordre des finish time


=> arrivent mme instant que thorie

pendant un tour on consomme


un bit par file non vide ( = active) dure relle d un tour = nombre de files actives
2011 RMMQoS-chap4 20

Algorithme FQ
Variable NT = numro de tour, initialement 0 Temps (initialement 0) 1 unit = envoi 1 bit, initial. 0 chaque paquet a un Numro de Fin NF NF d une file = NF du dernier paquet Paquet arrive dans file vide
=>NF(paquet) := NT + taille(paquet)

Paquet arrive dans file active


=> NF(paquet) := NF(File) + taille paquet

Paquets servis dans l ordre de leurs NF


ex quo => arbitraire
2011 RMMQoS-chap4 21

Exemple FQ
3 files A, B et C

2011

temps 0, paquets P1, P2, P3 de tailles 2, 6, 6 dans A,B,C au temps 7, paquets P4, P5 de tailles 2 dans files A et B NF(P1) =2, NF(P2) = NF(P3) = 6 temps 0, NT=0 : envoyer P1 temps 2, NT = 2/3 : envoyer P2, A devient inactive temps 6, NT = 2/3 + 2 (4 bits 2 files) temps 7, NT vaut 2/3 + 2 + 1/2 (1 bit 2 files) = 3,16
=> NF(P4) = 3,16+ 2 = 5,16 (vide) NF(P5) = 8 (non vide)

temps 8, NT = 3+1/6 + 1/3 = 3,5, P2 est fini envoyer P4 temps 10 NT = 3,5 + 2/3, P4 fini, envoyer P3 (A vide) temps 16 NT = 3,5 + 2/3 + 3 P3 fini, envoyer P5 (C vide) temps 18, NT = 6,5 + 2/3 + 2, P5 fini
RMMQoS-chap4 22

Ex : WFQ routeurs cisco WFQ par flux (sur certains routeurs)


files cres dynamiquement
dtection flux actifs

poids affects
via le champ prcdence IP poids proportionnel prcdence +1

possibilit de rservation
via protocole RSVP
2011 RMMQoS-chap4 23

Combien y a-t-il de flux ?


Exemple d une trace de 15 minutes
connexion Osiris-Renater (interface giga) dbit moyen environ 200-300 Mb/s au total environ 480 000 flux TCP, 76 M paquets, 60 Go graphe suivant : flux dcoup en microflux
si silence d une seconde

2011

RMMQoS-chap4

24

2011

RMMQoS-chap4

25

2011

RMMQoS-chap4

26

Ordonnancement Un bon ordonnancement est


facile implmenter et rapide
10 Gb/s : 100 ns pour dcider ? proportionnel au nombre de classes/flux ?

quitable fournit des bornes (garanties) permet un contrle dadmission facile


2011 RMMQoS-chap4 27

Contrle dadmission Garanties de QoS pour un flux


=> rseau ne peut accepter toutes demandes Phase initiale de contrle admission
vrification ressources disponibles par rapport demandes flux => en gnral rservation

Peu adapt un mode sans connexion


RSVP (voir architecture intserv)
2011 RMMQoS-chap4 28

Ordonnancement Agrgation de flux => classes


moins de files pas de protection dans une classe ?

2011

RMMQoS-chap4

29

Garanties de QoS avec WFQ Peut-on avoir des garanties sur un flux traversant n ordonnanceurs WFQ par flux ? Dbit garanti
dbit sur un lien au moins D/n (sans poids)
ou poids(file)*D / poids si WFQ

globalement min des dbits sur chaque lien


2011 RMMQoS-chap4 30

10

Garanties de QoS avec WFQ


Dlai garanti ?
Dlais se dcomposent :
1. Dlais de propagation (indpendant trafic) 2. Dlais ds aux paquets prcdents du mme flux/ classe 3. Dlais ds aux paquets des autres flux/classe

Mme sur rseau peu charg


Gigue due aux autres flux

2011

RMMQoS-chap4

31

Garanties de QoS avec WFQ


Dlai garanti ?
possible seulement si metteur limit
Sinon nombre arbitraire paquet dans file d attente => dlai arbitraire (ou perte) mission contrle par un leaky bucket (seau fuite) dbit et de capacit (rafale) Principe leaky bucket (version par bit) :
rserve (seau) de jetons maximum Nouveaux jetons arrivent raison de par seconde Un paquet de L bits ne peut tre mis que sil y a au moins L jetons (quil consomme) sinon il attend

Proprit : Emetteur ne peut transmettre plus de + t bits pendant temps t

2011

RMMQoS-chap4

32

Garanties dlai WFQ (suite)


P = taille plus grand paquet de tous les flux P idem pour ce flux g(k) = bande passante alloue au flux sur le kime WFQ g = min g(k) > (rservation > dbit mis) r(k) = dbit du kime lien (donc g(k) < r(k) ) (dbit lien > rservation )

Dlai max /g + P /g(k) + dlai burst mission total virtuelle sur file k Min 0 P /r(k)
2011 RMMQoS-chap4

P/r(k) + attente paquet autres flux 0

Tprop

Tprop
33

11

Garanties WFQ (suite)


Conclusions : Plus on alloue de BP (g) par rapport dbit mission () , plus dlai D est faible => surallocation Plus les paquets sont petits plus dlai max D faible Ncessite shaping et/ou policing en entre Plus il y a de sauts plus c est difficile et plus la borne est statistiquement surestime
2011 RMMQoS-chap4 34

Exemple
Route de 20 sauts P = 10Kb
P/r(k) = 0,2ms (liens giga) 200 ms (liens 1Mb/s)
Si sortie occupe quand paquet arrive

Tlphonie avec P = 128 octets, 64Kb/s rservs P /g(k) = 320 ms (160 ms si 128 Kb/s rservs)

2011

RMMQoS-chap4

35

Gestion des rejets


Paquet arrive dans une file pleine
rejeter un paquet (drop) => Active Queue Management (AQM) si couche transport adaptative
retransmet (TCP) adapte dbit aprs un retard (TCP) drop sert d indicateur l metteur

problme si application non adaptative


Ex : flux RTP vido en streaming Perte non compense, dbit non rduit
2011 RMMQoS-chap4 36

12

Rejets (2)
Drop tail (ou tail drop)
rejet paquet arrivant file pleine trs simple, trs implment mais indication tardive (pour TCP)
congestion dj l raction aprs un RTT => risque pertes multiples

variante : WTD (weighted Tail Drop)


voir sur cisco 3560 seuils de remplissage diffrents pour n classes
2011 RMMQoS-chap4 37

RED
RED : Random Early Discard
Pour sources ractives aux pertes (TCP) paquets rejets alatoirement avant file pleine => 1 source ralentit avant congestion statistiquement toutes sources ractives ralentissent

2011

RMMQoS-chap4

38

Rejet : RED
En pratique
dfinir seuil remplissage file S (ex 50%) Calcul remplissage en moyenne pondre MP
MP = (1-a) MP + a Remplissage_courant (ex a = 0,002)

si file assez remplie MP > S


rejeter nouveau paquet
avec probabilit proportionnelle MP : P = Pmax * (MP -S ) / (MaxS -S)
Probabilit rejet

1 Pmax S MaxS Longueur moyenne file d attente

2011

RMMQoS-chap4

39

13

Rejet : RED
RED : Donne bons rsultats avec TCP
petites rafales non pnalises flux gourmands pnaliss (ou ralentissent : TCP) Implant dans certains routeurs Assez peu utilis en pratique

Variante WRED: Weighted RED (cisco)


le seuil est diffrent par prcdence IP

Trs nombreuses variantes proposes

2011

RMMQoS-chap4

40

Rejet (3) Si plusieurs files


indpendantes (pool buffers indpendants)
=> appliquer politique chaque file

utilisent mme pool de buffer


limitation globale somme des files rejet file moins prioritaire ou rejet file plus longue

2011

RMMQoS-chap4

41

Rejet (4) rejeter paquet dj en file


premier (metteur prvenu plus vite) alatoire (plus difficile implmenter) dernier

2011

RMMQoS-chap4

42

14

Policing et Shaping
Indpendamment de la charge
limiter le dbit un seuil fix
ncessaire pour les garanties de dlai

shaping : mise en forme


faire attendre les paquets en trop lissage des pics de trafic utilis en sortie (hte, rseau, ) seau jeton dbit + taille rafale (= buffer)
suppose que l application mettrice peut attendre

2011

RMMQoS-chap4

43

Contrle de conformit
Policing
utilis en entre (de domaine avec QoS) vrifier si trafic conforme trafic non conforme
jet ou marqu (ex : diminuer sa priorit)

Algorithme : seau fuite (leaky bucket)


dbit fuite, taille rafales acceptes

2011

RMMQoS-chap4

44

Classification
Permet ensuite appliquer politique
marquage, policing, ordonnancement, rejet

base sur
interface d entre champs spcifiques la QoS
ethernet avec tag : champ Cos 3 bits IP : champ ToS 8 bits (3 bits de prcdence) ou 8 bits de DSCP (Differentiated Service Code Point)
si architecture Diffserv

autres champs
adresses Mac, IP, protocole, port
2011 RMMQoS-chap4 45

15

Classification et marquage classification sur enttes coteuse


=> faite l entre du domaine QoS peut tre ensuite marque dans paquet :
champ CoS ou DSCP inspection rapide dans les autres switchs/ routeurs

2011

RMMQoS-chap4

46

Chane traitement paquet


marquer marquer marquer attente shaper

classifier

policer

commuter

AQM

attente attente

shaper shaper

scheduler

1 Classifier trame en entre en fonction 2 marquer trame trame et port d entre 3 policer classe => champ DSCP ou ToS 4 commuter si classe a un dbit limit = sortie 5 AQMmme classe filemme QoS mettre : envoyerdans excdenttrame vers sortie 6 Shaper (ventuel) ou dclass ventuellement utilise supprim table commutation si file soumise / shaping 7 scheduler/ordonnanceur (drop tail) jeter ce IP ethernetpaquet limite files dpaquet parmi dbit/rafale enprtes jeter attentes d (RED) peut ncessiter buffersfile entre indpendamment autres choisir paquet envoyer files RR, PQ, WFQ,
2011 RMMQoS-chap4 47

16

Vous aimerez peut-être aussi