Академический Документы
Профессиональный Документы
Культура Документы
Î Allocation de ressources
– Sans Négociation : rigide (tout ou rien), sûre
– Avec Négociation : à la connexion, flexible, complexe
– Avec Renégociation : s’adapter au réseau à tout moment,
transmettre à moindre coût, (très) complexe
1
1. Principes d’allocations de ressources
Allocation de ressources (2/4)
Î Allocation statistique
Demande réelle
Performances dégradées
Niveau réservé
Ressources gaspillées
Temps
2
1. Principes d’allocations de ressources
Allocation de ressources (4/4)
Î Gestion de buffers (tampons ou queues)
■ Gestion de buffers (un flux / une file, une file partagée entre plusieurs flux)
■ Mémoire de stockage
g des paquets
p q limitée ⇒ Contrôler son utilisation
■ Deux décisions majeures : Quand rejeter les paquets ?
Quels paquets rejeter ?
■ Contrôle de congestion
■ Contrôle
C ôl de
d trafic
fi dde l’
l’utilisateur
ili
■ Façonnage du trafic de l’utilisateur (« traffic shaping »)
■ Marquage de paquets
Mesure de
QoS obtenue QoS Infos de QoS
Avantages
1. Chaque source connaît le meilleur moyen de réduire ses exigences.
2. Chaque source peut appliquer une stratégie qui dépend de sa classe.
Inconvénients
1. La dégradation de QoS peut venir d’autres sources “non disciplinées”.
3
1. Principes d’allocations de ressources
Allocation adaptative (2/2)
Adaptation globale
QoS QoS demandée
désirée
+ Fonction de Réduction Architecture
feedback de demandes support
−
Mesure de
QoS obtenue QoS Infos de QoS
Avantages
1. Meilleure utilisation des ressources.
2. Les surcharges de réseau peuvent être limitée par rédution des demandes.
Inconvénients
1. Surcoût important.
Emetteur Récepteur
1. réserver
é 2. réserver 3. réserver
Flux de données
■ Modèle orienté Récepteur
Emetteur Récepteur
3. réserver 2. réserver 1. réserver
Flux de données
4
2. Problème de congestion
Bits/sec
Throughput
Throughput
Temps Temps
2. Problème de congestion
Suppression de paquets
Standard … Premium
Rejet
5
2. Problème de congestion
Stratégies de suppression de paquets
2. Problème de congestion
Propriétés de stratégies de contrôle de congestion
6
3. Technique FIFO
Mise en queue (‘bufferisation’) dans les routeurs IP
Interface
réseau
3. Technique FIFO
Technique FIFO pour la gestion de queue
FIFO : technique la plus simple pour gérer les files d’attente de routeurs.
– une seule queue par interface de sortie
– servir le ppaquet
q en tête
– mettre en queue le paquet arrivant si file non pleine
– rejeter le dernier paquet si queue pleine
Interface
réseau
7
3. Technique FIFO
Limites (inconvénients) de FIFO :
– Impossible de différencier les trafics (car on a une seule queue) : les paquets
arrivant sont rejetés sans distinction en cas de queue saturée. Donc on ne prend pas en
compte l’importance des paquets.
– Il n’y a pas d’isolation de flux. Un flux qui persiste à envoyer plus de paquets finit
par avoir plus de service par rapport aux autres qui s’auto limitent.
Rejet/marquage
probabiliste
SeuilMin Pas de
rejet/marquage
Temps
Trafic reçu par le routeur
(avant application de RED)
8
4. Technique RED
Algorithme de la technique RED (1/2)
Î Pour chaque paquet arrivant
Estimation d’une taille moyenne de queue Qmoy :
Qmoy = (1-w)Qmoy + w*Qreel w<<1 (ex. w=0.002)
/* Qreel : taille réelle de la queue de paquets acceptés et non encore transmis.
Cette variable est incrémentée à chaque acceptation de nouveau paquet et
décrémentée à chaque transmission de paquet. */
Qreel Qmoy
SeuilMax
SeuilMin
Temps
4. Technique RED
Algorithme de la technique RED (2/2)
9
4. Technique RED
Explication des paramètres de RED
Î Si l’on admet que l’on peut accepter des rafales de L paquets au maximum, alors le
poids w doit respecter : L +1
(1 − w) −1
L +1+ < SeuilMin
w
Par exemple : SeuilMin = 5 et L = 50,
50 conduit à choisir w ≤ 0.0042
0 0042
La variation de Qmoy (i.e. la sensibilité de Qmoy aux rafales) dépend de la valeur de w.
Si w est très petit alors, Qmoy répond lentement aux changements de la queue réelle.
10
4. Technique RED
Exemple de fonctionnement de RED (1/6)
SeuilMin = 2 On suppose qu’il y a
SeuilMax = 7 une rafale et qu’il n’y a
pas de transmission de
Pmax = 0.1 paquets acceptés
w = 1/4
Interface
réseau
1 Interface
1 réseau
4. Technique RED
Exemple de fonctionnement de RED (2/6)
2 2 1
Interface
réseau
Compte
p = -1 Qmoy = 0.25 Qreel = 2
3 3 2 1
Interface
réseau
11
4. Technique RED
Exemple de fonctionnement de RED (3/6)
4 4 3 2 1
Interface
réseau
Compte
p = -1 Qmoy = 1.27 Qreel = 4
5
5 4 3 2 1
Interface
réseau
4. Technique RED
Exemple de fonctionnement de RED (4/6)
6 6 5 4 3 2 1
Interface
réseau
Compte
p =0 Qmoy = 2.71 Qreel = 6
Le SeuilMin est dépassé, on calcule pa = 0,014. On tire une valeur aléatoire pour savoir si
on rejette ou non le paquet. On suppose ici que l’on ne rejette pas le paquet.
Après le 6ème paquet
7 7 6 5 4 3 2 1
Interface
réseau
Le SeuilMin est dépassé, on calcule pa = 0,03. On tire une valeur aléatoire pour savoir si on
rejette ou non le paquet. On suppose ici que l’on ne rejette pas le paquet.
Après le 7ème paquet
12
4. Technique RED
Exemple de fonctionnement de RED (5/6)
8 8
Interface
7 6 5 4 3 2 1 réseau
Compte
p =2 Qmoy = 4.40 Qreel = 8
Le SeuilMin est dépassé, on calcule pa = 0,05. On tire une valeur aléatoire pour savoir si on
rejette ou non le paquet. On suppose ici que l’on ne rejette pas le paquet.
Après le 8ème paquet
9 9 8 7 6 5 4 3 2 1
Interface
réseau
Le SeuilMin est dépassé, on calcule pa = 0,087. On tire une valeur aléatoire pour savoir si
on rejette ou non le paquet. On suppose ici que l’on ne rejette pas le paquet.
Après le 9ème paquet
4. Technique RED
Exemple de fonctionnement de RED (6/6)
10 10 9 8
Interface
7 6 5 4 3 2 1 réseau
Compte
p =4 Qmoy = 6.23 Qreel = 10
Le SeuilMin est dépassé, on calcule pa = 0,127. On tire une valeur aléatoire pour savoir si
on rejette ou non le paquet. On suppose ici que l’on ne rejette pas le paquet.
Après le 10ème paquet
11 10 9 8 7 6 5 4 3 2 1
Interface
réseau
13
4. Technique RED
RED est vulnérable en présence de flux agressifs
(exemple de résultat d’expérimentation)
1,400
Rafale UDP
1,200
FIFO
1,000 RED
TCP Throughput
(Kbytes/s)
800
Ceci est dû au fait que TCP
600 est un protocole adaptatif
qui arrête de transmettre
quand il y a des pertes de
400 paquets, alors que UDP
continue à transmettre
même si les routeurs
rejettent ses paquets.
200 Ainsi, il va conduire TCP à
réduire considérablement
son débit.
0
0 10 20 30 40 50 60 70 80 90 100
Temps (secondes)
4. Technique RED
Variantes de RED
FRED (Flow RED)
CBT RED ((Class Based Threshold RED)) : analogue
g à FRED
SRED (Stabilized RED)
DRED (Dynamic RED)
WRED (Weighted RED)
ARED (Adaptative RED)
14
4. Technique RED
Rejet selon Drop-tail, RED, WRED
Probabilité
Drop-tail de rejet
Taille de
P
queue
Queue Max
Probabilité
de rejet
Service
Probabilité
premium
de rejet
Taille de
Std. Min. Prem. Min. Queue Max queue
Principe de base :
• Maintenir une seule queue FIFO, mais garder la trace du nombre de paquets
issus de chaque connexion
• Rejeter les paquets issus d’une connexion quand celle-ci dépasse sa capacité
de partage de la queue
– Les rejets sont proportionnels à la bande passante utilisée
– Les flux agressifs sont identifiés et pénalisés
15
5. Technique Flow RED (FRED)
Paramètres de FRED (en plus de ceux de RED) :
Min_Q : nombre minimum de paquets dans la queue par flux. Aucun rejet ne peut être
appliqué à un flux qui n’a pas plus de Min_Q paquets dans la queue.
Max_Q : nombre maximum de paquets dans la queue par flux.
Countf : nombre de paquets dans la queue pour le flux f.
Strikesf : nombre de fois que le flux f a émis un paquet en excès.
Les flux avec une valeur élevée de Strike sont pénalisés en premier.
NbFlux : nombre de flux actifs.
MoyFlux : estimation d’une taille moyenne de queue par flux. Les flux qui ont moins de
paquets que MoyFlux sont favorisés par rapport à ceux qui en ont plus.
Interface
Classificateur
réseau
5. Technique FRED
Algorithme détaillé de FRED (1/3)
/* Paramètres et variables utilisés */
SeuilMax, SeuilMin /* seuils de la queue */
w /* poids du filtre d’estimation */
Pmax /* probabilité maximum de rejet */
Min_Q, Max_Q /* nombre minimum et maximum de paquets par connexion */
Qreel /* taille –en nombre de paquets- de la queue réelle */
Qmoy /* taille moyenne estimée de la queue */
Compte /* nombre de paquets reçus depuis le dernier paquet marqué. Ce nombre
s’incrémente uniquement quand la condition SeuilMin ≤ Qmoy < SeuilMax est satisfaite */
s /* durée de transmission d’un paquet typique */
MoyFlux /* taille moyenne de queue par flux */
Strike /* tableau qui compte les nombres de débordements pour les flux */
Count /* tableau qui compte les nombres de paquets dans la queue pour les flux */
NbFlux /* nombre de flux (ou connexions) actifs */
/* Initialisation */
Qreel := 0 ;
Qmoy := 0 ;
C
Compte
t := -1 1 ;
NbFlux := 0 ;
Répéter indéfiniment
{ Bloc_Arrivée
|| /* l’un ou l’autre des deux blocs peut s’exécuter */
Bloc_Départ }
Fin Répéter
16
5. Technique FRED
Algorithme détaillé de FRED (2/3)
Bloc_Arrivée
Pour chaque arrivée de paquet en provenance du flux i :
Si le flux i n’a pas d’état alors {Count[i] :=0 ; Strike[i] :=0 } FinSi
Si Qreel = 0 alors Calculer_la_nouvelle_taille_moyenne_de_queue FinSi
/* identifier et gérer les flux non adaptatifs, ceux qui poussent vers la congestion */
Si ( (Count[i] >= Max_Q) || ( (Qmoy >= SeuilMax)&&(Count[i] > 2*MoyFlux) ) ||
( (C t[i] >=
(Count[i] > MoyFlux)
M Fl ) && (St ik [i] > 1)) )
(Strike[i]
alors { Strike[i]++ ; Rejet paquet arrivant ; Return }
FinSi
5. Technique FRED
Algorithme détaillé de FRED (3/3)
Bloc_Départ
Pour chaque départ (i.e transmission par le routeur) de paquet issu du flux i :
Count[i]--;
Calculer_la_nouvelle_taille_moyenne_de_queue ;
Si Count[i] = 0 alors { NbFlux-- ; Effacer l’état du flux i }
Fi P
Fin Pour
Procédure Calculer_la_nouvelle_taille_moyenne_de_queue :
Si ((Qreel > 0) || (Départ de paquet))
alors {Qmoy := (1- w)Qmoy + w*Qreel}
Sinon { m = f(InstantCount – Q_instant) ; /* Généralement f(x) = x/s */
Qmoy := (1-w)mQmoy ; /* m : même sens que pour RED */
Q_instant := InstantCourant ;}
FinSi
17
5. Technique FRED
Exemple de fonctionnement de FRED (1/12)
/* Initialisation */ SeuilMin = 2
Qreel := 0 ;
Qmoy := 0 ; SeuilMax = 6
Compte := -1 ;
NbFlux := 0 ;
Pmax = 0.1
W = 1/4
+ f1 – Min_Q = 2
1 Max_Q = 3
0
Interface
Classificateur réseau
5. Technique FRED
Exemple de fonctionnement de FRED (2/12)
Connection Database
+ f1 –
2
0
Interface
Classificateur réseau
18
5. Technique FRED
Exemple de fonctionnement de FRED (3/12)
Connection Database
+ f1 f2 –
2 1
0 0
Interface
Classificateur réseau
Compte = -1
Qmoy = 1,27
5. Technique FRED
Exemple de fonctionnement de FRED (4/12)
Connection Database
+ f1 f2 f3 f4 –
2 1 1 1
0 0 0 0
Interface
Classificateur réseau
19
5. Technique FRED
Exemple de fonctionnement de FRED (5/12)
Connection Database
+ f1 f2 f3 f4 f5 –
32 1 1 1 1
0 0 0 0 0
Interface
Classificateur réseau
5. Technique FRED
Exemple de fonctionnement de FRED (6/12)
Connection Database
+ f1 f2 f3 f4 f5 –
32 2 1 1 1
0 0 0 0 0
Interface
Classificateur réseau
20
5. Technique FRED
Exemple de fonctionnement de FRED (7/12)
Connection Database
+ f1 f2 f3 f4 f5 –
32 2 1 1 1
1 0 0 0 0
Interface
Classificateur réseau
5. Technique FRED
Exemple de fonctionnement de FRED (8/12)
Connection Database
+ f1 f2 f3 f4 f5 –
2 2 1 1 1
1 0 0 0 0
Interface
Classificateur réseau
21
5. Technique FRED
Exemple de fonctionnement de FRED (9/12)
Connection Database
+ f1 f2 f3 f4 f5 –
2 2 1 1 1
1 0 0 0 0
Interface
Classificateur réseau
Compte = 0
5. Technique FRED
Exemple de fonctionnement de FRED (10/12)
Connection Database
+ f1 f2 f3 f4 f5 –
2 2 1 1 2
1 0 0 0 0
Interface
Classificateur réseau
22
5. Technique FRED
Exemple de fonctionnement de FRED (11/12)
Connection Database
+ f1 f2 f3 f4 f5 –
12 1 1 1 2
1 0 0 0 0
Interface
Classificateur réseau
5. Technique FRED
Exemple de fonctionnement de FRED (12/12)
Connection Database
+ f1 f2 f4 f5 –
12 1 1 2
1 0 0 0
Interface
Classificateur réseau
Qreel = 5
Count[3] = 0
Qmoy = 6,02
MoyFlux = Max(Qmoy / NbFlux, 1) = 1.0
23
5. Technique FRED
Performance TCP avec FRED
(résultat d’expérimentation)
1,400
Rafale UDP
1,200
1,000
TCP Throughput
FIFO
(Kbytes/s)
800
RED
FRED
600
400
200
0
0 10 20 30 40 50 60 70 80 90 100
Temps (secondes)
M2R IT – UE Réseaux et QoS – Z. MAMMERI
244
24
6. Contrôle de trafic utilisateur
Contrôle du trafic de l’utilisateur – Seau percé (‘Leacky Bucket’)
Arrivée de paquets
Arrivée de paquets
t
Jetons
en excès P Jetons
B : taille maxi (burst Size)
p : débit moyen
Fil
File
Jetons
FIFO Sortie avec rythme régulier
p
t
25
6. Contrôle de trafic utilisateur
Mise en œuvre du seau percé pour ATM (1/2)
– Dans le cas où certaines rafales contiennent trop de cellules pour tenir dans
le tampon, il y a rejet de certaines cellules (on parle dans ce cas de
débordement du seau).
Notations :
TTA : temps théorique d’arrivée (c-à-d temps d’arrivée normalement prévu)
ta(k) : temps d’arrivée effectif de la kème cellule
I : Incrément
L : Limite
26
6. Contrôle de trafic utilisateur
Façonnage de trafic (« traffic shaping ») (1/3)
Arrivée avec rythme régulier
27
6. Contrôle de trafic utilisateur
Façonnage de trafic (3/3)
ÎProblèmes
– Surcoût du « traffic shaping
p g » : maintient d’info d’état sur les flux
– Où placer les « shapers » ?
– Agrégation de flux et traffic shaping
7. Conclusion
Gestion de ressources et contrôle de congestion : fonctions vitales pour la QoS
Internet actuel : techniques utilisées simples, mais vulnérables
28