Вы находитесь на странице: 1из 62

Contrle du trac

Alain Jean-Marie
INRIA/LIRMM, Universit de Montpellier
161 Rue Ada, 34392 Montpellier Cedex 5, France
ajm@lirmm.fr

FMINP408
Fvrier 2010

Plan du chapitre

Contrle du trac dans les rseaux

1 Dimensionnement
2 Contrle de ux et de congestion

Architectures de QoS
1 IntServ/RSVP
2 DiServ

Plan du chapitre

Contrle du trac dans les rseaux

1 Dimensionnement
2 Contrle de ux et de congestion

Architectures de QoS
1 IntServ/RSVP
2 DiServ

Plan du chapitre

Contrle du trac dans les rseaux

1 Dimensionnement
2 Contrle de ux et de congestion

Architectures de QoS
1 IntServ/RSVP
2 DiServ

Plan du chapitre

Contrle du trac dans les rseaux

1 Dimensionnement
2 Contrle de ux et de congestion

Architectures de QoS
1 IntServ/RSVP
2 DiServ

Contrle du trac

chelle de temps
Grande
mois, annes
heure/session
minutes/ot
minute
100ms
ms
paquet
paquet
Petite
paquet

Technique
Planication
Contrle d'admission (CAC)
Routage dynamique
Compression dynamique
Contrle de ux de bout-en-bout
Contrle de ux par lien
Contrle de congestion
Gestion de les d'attente
Dlestage/Rejet

Plan

Contrle du trac
Dimensionnement
Contrle de Flux et de Congestion
Partage de bande passante
Lissage de trac
Contrle de Congestion

Planication
La Planication s'eectue pour des chelles de temps longues
(mois, annes).
On prvoit qu'il va falloir acheminer du trac de donnes d'un
ensemble de sources vers un ensemble de destinations.
Les quantits de trac (dbits) sont supposs connus ou estims.
Il faut choisir :
la topologie du rseau : noeuds, liens et leur interconnexion
les capacits des liens
les routes suivies par les ux d'information.

Planication (suite)
Les trois problmes sont lis. Mais les rsoudre simultanment est
trop dicile en gnral.
On adopte une stratgie par tapes :
1 On choisit une topologie
2 On choisit les routes a priori
3 On optimise les capacits
ou bien
2 On choisit les capacits a priori
3 On optimise les routes.
Puis on fait varier la topologie parmi un ensemble de congurations
raisonnables, et on choisit le meilleur cas.

Matrices de Trac
Les donnes du problme sont donc :
des paires source/destination, gnrant du trac de dbits
D(S ,D ) .
L'ensemble des valeurs D(S ,D ) constitue la matrice de trac.
des liens avec capacits CL
des routes reprsentant une suite des liens conscutifs allant
d'une certaine source S une certaine destination D .
L'ensemble des routes joignant S D est not RS ,D .
On appelle  lien  l'ensemble consitu du lien physique de
communication proprement dit (bre, cable, cellule radio) et de son
contrleur d'accs (le d'attente).
En plus des liens, il peut tre ncessaire de modliser les les
d'attente en entre des commutateurs, ou tout autre endroit o il y
a une le d'attente.

Charge des noeuds

Le dbit oert se prsentant sur le lien L :


d (L) =

S ,D

r RS ,D

r passe par le lien L

d (r ) .

Optimisation et Mtriques
Pour pouvoir optimiser, il faut choisir une mtrique.
Deux problmes :
quelle est la mtrique optimiser pour la situation considre ?
comment cette mtrique dpend-elle des paramtres ?
Exemple du temps de rponse. Grce aux thormes de
Kelly/Jackson : le temps de rponse moyen, tous ots confondus,
est :
1 X d (L)
T =

o D =

S ,D D(S ,D )

CL d (L)

est le trac total oert.

Mtriques, suite

Si on prend en compte le dlai de propagation sur le lien L, tL , une


formule raisonnable est :
T =

X
L lien

d (L)

CL d (L)

+ tL


.

Capacity Planning
On suppose connus : la matrice de trac et les routes, avec leurs
dbits.
Problme : allouer la capacit aux liens de telle sorte :
satisfaire les contraintes (solution minimale, ou satisfaisante )
optimiser la qualit de service (solution optimale )
min

(1 ,...,N )M

T (1 , . . . , N )

where M = set of feasible allocations


(economical/technical/ethical constraints).

Planication de routes

Assuming known : node and link capacities, O/D tracs.


Problem : allocate routes so as to minimize collective average.
Decision variables : xO ,D ,r = quantity of trac sent on route r
between O and D.
x : vector of all such variables.
min

xR

T (x)

where R = set of feasible route allocations.

Planication de routes, suite

Contraintes typiques
Si le trac peut tre partag sur toutes les routes (mode
 datagramme ) :
d (r ) [0, D (S , D )]

r RS ,D

d (r ) = D(S ,D )

Si le trac ne peut pas tre partag (mode  circuit virtuel )


d (r ) {0, D (S , D )}

X
r RS ,D

d (r ) = D(S ,D ) ! r ,

Contraintes de capacit : pour tout lien L


d (L) CL .

Contraintes de capacit avec rserve : pour tout lien L


d (L) g CL .

o g < 1 (par exemple : g = 80%, g = 70% ...)

d (r ) =

Routage optimal, exemple


A titre d'illustration, on dtaille le cas du routage optimal entre
deux routes.
Donnes du problme :
une seule paire source/destination
un dbit total D acheminer
deux routes, chacune assimile un seul lien
le lien i {1, 2} a pour capacit Ci
Objectif :
minimiser le temps de rponse moyen
en choisissant les tracs d (1) et d (2) sur chaque route

Routage optimal, exemple (suite)

d (1)
D

C1

C2

Origine
d (2) = D d (1)

Destination

Routage optimal, exemple (suite)


Faisabilit du problme ?
Est-ce que ce problme peut tre rsolu ? Existe-t-il une solution
 satisfaisante  ?
Les deux contraintes de dbit sont (on prend g = 100%) :
d (1) C1

d (2) C2 .

Ces contraintes impliquent que :


D = d (1) + d (2) C1 + C2 .

Donc si D > C1 + C2 , il n'y a aucune solution.


Rciproquement, si D C1 + C2 , il est possible de choisir d (1) et
d (2) qui satisfont les contraintes (voir un peu plus loin). Il existe
donc une solution.

Routage optimal, exemple (suite)


Ide de solution  de bon sens  : allouer le dbit
proportionnellement la capacit disponible. Donc :
d (1) = a C1

d (2) = a C2 .

Le facteur de proportionnalit a est tel que :


D = d (1) + d (2) = a (C1 + C2 )

a=

Les valeurs de d (1) et d (2) sont donc


d (1) =

D C1
C1 + C2

et elles satisfont les contraintes.

d (2 ) =

D C2
C1 + C2

C1 + C2

Routage optimal, exemple (suite)


Mais il est possible de faire mieux du point de vue du temps de
rponse moyen.
Celui-ci vaut (formules de Kelly ou de Jackson) :
T =

d (1)
d (2)
+
C1 d (1) C2 d (2)

En utilisant comme variable d = d (1), on remplace


d (2) = D d (1) et on doit tudier la fonction :
T (d ) =

D d
+
C1 d C2 D + d

Routage optimal, exemple (suite)

Trois cas de gure peuvent se prsenter.

Routage optimal, exemple (suite)


Supposons que C1 C2 . Le trac optimal est alors :
Si D C1 C1 C2 :
d (1) = D

d (2) = 0

Si D C1 C1 C2 :

d (1) =

C1

p

C1 C2 C2 + D

C1 + C2

p

C2

C1 C2 C1 + D
d (2) =
C1 + C2

Routage optimal, exemple (suite)


Visualisation de la solution
Trac optimal de la route 1

Trac optimal de la route 2

C1

Trac proportionnel

C2

C1 C1 C2

C1 C1 C2

C1 + C2

Routage optimal, exemple (suite)

Enseignements :
il n'est pas toujours utile de se servir de toutes les ressources
la solution  proportionnelle  est toujours faisable mais n'est
pas optimale

Plan

Contrle du trac
Dimensionnement
Contrle de Flux et de Congestion
Partage de bande passante
Lissage de trac
Contrle de Congestion

Mcanismes de contrle de ux

Contrle de ux

TCP, mcanismes fentres, bout-en-bout


ECN : Explicit Congestion Notication
Explicit Rate
Relative Rate (rtropropagation par les routeurs)
Lissage et policing

Mcanismes de contrle de ux

Contrle de ux

TCP, mcanismes fentres, bout-en-bout


ECN : Explicit Congestion Notication
Explicit Rate
Relative Rate (rtropropagation par les routeurs)
Lissage et policing

Mcanismes de contrle de ux

Contrle de ux

TCP, mcanismes fentres, bout-en-bout


ECN : Explicit Congestion Notication
Explicit Rate
Relative Rate (rtropropagation par les routeurs)
Lissage et policing

Mcanismes de contrle de ux

Contrle de ux

TCP, mcanismes fentres, bout-en-bout


ECN : Explicit Congestion Notication
Explicit Rate
Relative Rate (rtropropagation par les routeurs)
Lissage et policing

Mcanismes de contrle de ux

Contrle de ux

TCP, mcanismes fentres, bout-en-bout


ECN : Explicit Congestion Notication
Explicit Rate
Relative Rate (rtropropagation par les routeurs)
Lissage et policing

Mcanismes de contrle de ux

Contrle de ux

TCP, mcanismes fentres, bout-en-bout


ECN : Explicit Congestion Notication
Explicit Rate
Relative Rate (rtropropagation par les routeurs)
Lissage et policing

Contrle de ux et notication


Ide directrice : informer ( notier ) la source de la quantit de
dbit qu'elle peut envoyer.
TCP Notication implicite par l'intermdiaire des pertes
des paquets.
ECN Notication explicite de congestion : les paquets
reoivent une marque, qui est renvoye dans les
ACK/NACK.
Explicit Rate Le routeur indique dans un paquet de retour le dbit
(max) permis.
Relative Rate Le routeur indique dans le paquet le dbit disponible.

Contrle de ux et notication (suite)

La source rduit son dbit en cas de perte, l'augmente si tout va


bien.
Elle utilise le dbit spci dans Explicit Rate.
Les paquets de retour peuvent tre des ACK/NACK du mme ot,
ou des messages ICMP  Source Quench .
En ATM, il y a des cellules spciales RM.

Le protocole TCP : principes


Principe de TCP (version  Reno  : il existe des variantes Vegas,
Tahoe, ...)
Les sources TCP utilisent une fentre W (mesure en paquets)
d'information non-acquite
Les packets sont acquits par le receveur, par groupes de b
(ACKs retards)
Les pertes de paquets sont dtectes :

soit la rception de ACKs multiples = W W/2


soit aprs expiration d'un time-out = W 1

La fentre crot :

W W+1 chaque rception d'un ACK en mode slow start


ou fast recovery
W W+1/W chaque rception d'un ACK en mode
congestion avoidance
aprs un RTT, W augmente de (W /b) 1/W = 1/b.

Note :

Le protocole TCP : analyse


Simplication du comportement cyclique :
W(t)

pente=1/bT

W(t)
W
W/2

cycle

Cela revient supposer :


que toutes les pertes sont dtectes par ACK multiples
que les pertes sont provoques par la connexion TCP
elle-mme
que la longueur de la phase  slow start  est ngligeable.

Le protocole TCP : analyse (suite)


Analyse d'un cycle. La transmission est constitue de  rounds 
d'une dure de 1 RTT chacun.
Nombre de rounds :
W /2
bW
NR =
=
.
1 /b
2

Dure du cycle :
TC = NR RTT =

b RTT W

secondes

Le protocole TCP : analyse (suite)


Nombre de paquets transmis :




W
W
1
W
NR 1
N =
+
+
+ ... +
+
2
2 b
2
b
NX
R 1
W
1
=
NR +
k
2
b
k =0
N2
W
1 NR (NR 1)
W
=
NR +
'
NR + R
2
b
2
2
2b
=

b2 W 2
8b

3bW 2
paquets
8
nombre de paquets perdus : 1, soit une proportion de
8
p =
3bW 2
=

bW 2

Le protocole TCP : analyse (suite)

En n de compte, le dbit eectif est :


De =

N 1

TC

3W
4RTT

RTT

3
paquets/s
2pb

C'est la  formule racine carre  (square root formula) qui donne


une relation entre le taux de perte p et le dbit De .
= raction de TCP aux pertes (mais pas UDP ! !)
= concept de services  TCP friendly .

Plan

Contrle du trac
Dimensionnement
Contrle de Flux et de Congestion
Partage de bande passante
Lissage de trac
Contrle de Congestion

Partage de bande passante


Question : que se passe-t-il quand plusieurs ots de donnes se
partagent
un lien
un rseau ?
Rponses :
il pourrait y avoir instabilit
un partage se met en place
Proprits de ce partage :
ecacit : la bande passante est-elle bien utilise ?
quit : le partage est-il  juste  ?

Equit et ecacit

Exemple de plusieurs ots partageant un lien :


quit = mme dbit pour chacun
Exemple de plusieurs ots partageant deux liens :
quit = ?

Equit max-min
Dnition : une allocation de dbits est max-min quitable si toute
autre allocation qui augmente une des parts, diminue aussi une des
parts qui obtenait dj moins que cette part.
Construction de cette allocation : l'algorithme de remplissage
progressif.
augmenter progressivement le dbit des ots
quand un lien sature, bloquer les sources des ots impliqus
continuer avec les ots non bloqus
jusque saturation de tous les ots.

Implmentation d'un partage

Comment implmenter un partage de bande passante ?


Partage adaptatif : utiliser TCP ou un autre mcanisme adaptatif
base de rtroaction
quel partage cela ralise-t-il ?
Partage proactif : quiper chaque source avec un rgulateur de
dbit positionn la valeur adquate (espacement de paquets,
mcanisme de crdits)
que se passe-t-il quand l'tat du rseau change ?

Plan

Contrle du trac
Dimensionnement
Contrle de Flux et de Congestion
Partage de bande passante
Lissage de trac
Contrle de Congestion

Surveillance et Lissage du Trac

Principe : les rafales crent l'attente (et les pertes).


Objectifs :
limiter l'importance des rafales
dtecter les excs de trac et les pnaliser

Illustration des bnces du lissage


quantit
dinformation

(t)

(t)
Temps de rponse de llment
dinformation "q"
file dattente au temps t
temps

Flux d'arrive original :


si prsence de rafales.

le d'attente et temps de sjour grand

Illustration des bnces du lissage


quantit
dinformation

(t)

(t)
Temps de rponse de llment
dinformation "q"
file dattente au temps t
flux dinformation liss
t

Flux d'arrive liss :


sjour plus petit.

temps

le d'attente plus courte, temps de

Le seau jetons (token bucket)

Accs au rseau
Arrive des paquets
Dbit de ligne p

Arrive des jetons


Dbit r

Seau de b jetons

Le seau jetons (suite)

Signication des paramtres :


r : dbit des jetons (octets/s)
b : taille du seau (octets)
p : dbit crte
M : taille maximum de paquet.

Le seau jetons comme rgulateur de trac

octets transmis

Arrive paquets

bxM

Arrive jetons

Temps de service M/p

Temps entre tokens M/r

Spcications de trac

Les 4 paramtres du seau jeton correspondent une spcication


de la  courbe d'arrive  du trac.
= ide de spcication de trac par ces paramtres : dbit
crte, dbit moyen, taille de rafale, taille max de paquet.
Possibilit d'utiliser le mcanisme :
pour lisser le trac
pour le marquer  IN  ou  OUT  (policing )

Plan

Contrle du trac
Dimensionnement
Contrle de Flux et de Congestion
Partage de bande passante
Lissage de trac
Contrle de Congestion

Mcanismes de contrle de congestion


Contrle de congestion : mcanismes courants
Drop Tail
Rejet des paquets qui se prsentent quand le buer est plein.
Push Out
limination de paquets moins importants dj prsents pour
faire de la place pour les paquets de premire classe. Drop Tail
l'intrieur de la classe la plus haute.
RED/RIO
RIO = RED for IN and OUT

Mcanismes de contrle de congestion


Contrle de congestion : mcanismes courants
Drop Tail
Rejet des paquets qui se prsentent quand le buer est plein.
Push Out
limination de paquets moins importants dj prsents pour
faire de la place pour les paquets de premire classe. Drop Tail
l'intrieur de la classe la plus haute.
RED/RIO
RIO = RED for IN and OUT

Mcanismes de contrle de congestion


Contrle de congestion : mcanismes courants
Drop Tail
Rejet des paquets qui se prsentent quand le buer est plein.
Push Out
limination de paquets moins importants dj prsents pour
faire de la place pour les paquets de premire classe. Drop Tail
l'intrieur de la classe la plus haute.
RED/RIO
RIO = RED for IN and OUT

Mcanismes de contrle de congestion


Contrle de congestion : mcanismes courants
Drop Tail
Rejet des paquets qui se prsentent quand le buer est plein.
Push Out
limination de paquets moins importants dj prsents pour
faire de la place pour les paquets de premire classe. Drop Tail
l'intrieur de la classe la plus haute.
RED/RIO
RIO = RED for IN and OUT

Le mcanisme RED (1)


RED (Random Early Detection) : un mcanisme de gestion
 active  de le d'attente.
chaque arrive de paquet, on estime une taille moyenne de la
le L,
L (1 )L + L
dpasse un seuil maximal le paquet est rejet,
Si L
ne dpasse pas un seuil minimal le paquet est accept
Si L
dans la le.
).
Sinon le paquet est rejet avec la probabilit d (L

Le mcanisme RED (2)


d(L)
1
0.9

Probabilit de rejet

0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1

Taille moyenne de la file

0
0

20

40

60

80

Une fonction de rejet de RED d (L).

100

(nb de paquets)

Le mcanisme RED (2)


d(L)
1
0.9

Probabilit de rejet

0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1

Taille moyenne de la file

0
0

20

40

60

80

100

(nb de paquets)

Une fonction de rejet de RED d (L) (mode  gentle ).

RIO : plusieurs classes de trac


d(L)

Probabilit de rejet

1
0.9

paquets IN

0.8

paquets OUT

0.7
0.6
0.5
0.4
0.3
0.2
0.1

Taille moyenne de la file

0
0

20

40

60

80

100

(nb de paquets)

Fonctions de rejet dans le cas de plusieurs classes. La taille de la le


est : soit la taille globale, soit le nombre de paquets  IN .

Pourquoi RED ?
Inconvnients de RED :
Rejeter des paquets avant que ce soit vraiment ncessaire
= perte d'information et de dbit
Des paramtres xes ne peuvent pas fonctionner dans toutes
les conditions de trac.
= mcanismes d'adaptation
Avantages :
Doit permettre d'viter les fermetures brutales des sources et
leur synchronisation
Doit pnaliser galement toutes les connexions TCP

Оценить