III.5. LA CONGESTION DANS
LES RÉSEAU
III.5.1 Définition
Basé sur un trafic sporadique et aléatoire, le
partage statistique des ressources d'un réseau fragilise celui-ci.
À une augmentation de trafic soumis, correspond une augmentation du
temps d'attente avant traitement dans les noeuds. Vu du destinataire, le
débit diminue, le temps de transit dans réseau croît
(congestion légère). Les paquets retardés peuvent, dans ce
cas, ne pas être acquittés dans les délais, ce qui provoque
leur retransmission et contribue à augmenter la charge du réseau,
plus de paquets ne sont pas acquittés à temps, plus de
réémissions inutiles..., les files d'attente débordent...,
le réseau s'effondre, c'est la congestion sévère
(figure 3.26).
Trafic écoulé
Latence
(Délai de transit)
Trafic soumis
Trafic normal
Pas de congestion
Congestion légère
Congestion sévère
0
Figure 3.26 L'écoulement du trafic dans un
réseau.
En présence d'une surcharge du réseau, les
mécanismes de reprise sur erreur des protocoles ont tendance à
réagir ensemble. L'indépendance des sources n'est plus vraie, la
congestion s'installe.
Indépendamment du blocage du réseau, si on veut
garantir une certaine qualité de service, il est nécessaire de
mettre en oeuvre des mécanismes spécifiques pour d'une part,
prévenir l'état de congestion et, d'autre part, si celui-ci
apparaît, le résoudre (guérison). Ces mécanismes
constituent le contrôle de congestion.
III.5.2. Les mécanismes
de prévention de la congestion
La congestion résulte d'un trafic à
écouler supérieur aux capacités du réseau, la
solution la plus simple, pour se prémunir contre celle-ci, consiste
à ne pas admettre, dans le réseau, plus de trafic que celui-ci
est capable d'en assimiler. Plusieurs solutions sont envisageables :
- asservir le débit des sources sur les
capacités de traitement de chacun des noeuds, c'est le contrôle de
flux ;
- ne pas admettre plus de trafic dans le réseau que
celui-ci n'est capable d'en écouler, c'est le contrôle
d'admission ;
- éviter la propagation de rafales de données au
coeur du réseau en réalisant un lissage de trafic.
Le contrôle de con gestion et contrôle de
flux
Les notions de contrôle de flux et de contrôle de
congestion sont différentes. Le contrôle de flux
s'intéresse aux échanges entre deux noeuds alors que le
contrôle de congestion cherche à limiter le nombre de paquets en
transit dans le réseau (figure 3.27). Cependant, en limitant la
longueur des files d'attente dans les noeuds intermédiaires, le
contrôle de flux participe à la prévention de la
Congestion.
Contrôle de congestion
Voie logique 1
Voie logique 2
Voie logique 3
Contrôle de flux
0
Figure 3.27 Distinction entre contrôle de flux et
contrôle de congestion.
En synthèse, le contrôle de flux asservit le
débit de la source en fonction des capacités de réception
du destinataire (mode point à point ou de bout en bout), alors que le
contrôle de congestion limite le débit de la source en fonction
des capacités de transport du réseau. Ainsi, le contrôle de
flux est un mécanisme qui consiste à éviter la perte de
données par saturation des buffers du destinataire, alors que le
contrôle de congestion vise à ne pas perdre de données par
saturation du réseau.
Le contrôle de flux reste un mécanisme
insuffisant. Dans les réseaux modernes, compte tenu du débit, la
taille de la fenêtre est importante et le contrôle de flux devient
inefficace, il est aujourd'hui abandonné dans les coeurs de
réseau.
Le contrôle d'admission
Les réseaux en mode circuit sont naturellement
protégés contre la congestion. En cas de manque de ressource dans
le réseau, la connexion est purement et simplement refusée. Ce
mode de prévention se heurte au principe de mutualisation des
ressources. Une politique plus souple peut être utilisée : le
contrat de service ou SLA (Service Level Agreement)
dont un exemple est fourni figure 3.28
Chaque abonné du réseau spécifie,
à l'abonnement ou à la connexion, la description du trafic qu'il
va soumettre au réseau. Une fonction de surveillance vérifie en
permanence que le flux respecte le contrat. Trois zones de fonctionnement
peuvent alors être définies. La première correspond
à un trafic garanti. Ce trafic, dit trafic moyen est toujours
écoulé par le réseau quel que soit son état. La
seconde zone correspond à un volume excédentaire mais
toléré, les données remises au réseau sont
acheminées mais identifiées (Celltagging). En cas de
congestion, elles seront éliminées. Enfin, la troisième
zone définit un volume excédentaire mais hors contrat, ce trafic
est purement et simplement refusé par le réseau. C'est le noeud
d'accès au réseau qui assure le contrôle d'admission
(CAC, Connection Admission Control).
ELIMINATION
ECOULEMENT DU TRAFIC
MARQUAGE DES DONNEES
Intervalle de temps d'analyse du débit réel de la
source
Temps
Volume au début du lien
Volume de crête toléré
Volume moyenne
Trafic
0
Figure 3.28 Principe du contrat de
service.
Le lissage de trafic
Même si chaque source respecte son contrat de service,
la congestion peut résulter de la simultanéité de
soumission de rafales par les différentes sources. Pour éviter
cet afflux sporadique, on effectue, à l'entrée du réseau,
un lissage du trafic (technique du seau percé,
Leakybucketalgorithm). Dans ce système, les données sont
mises en file d'attente et délivrées régulièrement.
Le mécanisme du seau percé est un mécanisme de
prévention, ce n'est pas un mécanisme de résolution ;
la figure 3.29illustre ce principe.
Source au débit irrégulier
Débit régulé
Buffer de lissage
Réservoir tampon
0
Figure 3.29 La technique du sceau
percé.
La figure 3.30 illustre la mise en oeuvre du
contrôle d'admission et de lisage de flux tel qu'ils sont mis en oeuvre
dans les réseaux Frame Relay.
Le Frame Relay définit deux niveaux d'analyse du
trafic. Le premier est un trafic garanti correspondant à un débit
moyen (CIR, CommittedInformation Rate) auquel
correspond un volume associé (Bc, CommittedBurst
size). Le deuxième niveau correspond à un volume
toléré qui n'est acheminé que si le réseau le
permet, le débit excédentaire associé est
dénommé EIR (Excess Information Rate)
et correspond à un volume dit Be (ExcessBurst
size). Les données écoulées dans cet espace de
tolérance sont marquées (positionnement du bit
DE ou DiscardEligibility) et éliminées
en cas de congestion.
EIR
CIR
DE=1
BE
BC
Données utilisateur
0
Figure 3.30 Le contrôle d'admission et le
lissage de trafic
|