• Aucun résultat trouvé

Le Pacing : un mécanisme de prévention des bursts

Dans les années 2000, le Pacing a été proposé pour contrer les effets indésirables des bursts sur les performances des réseaux [51,52,53].

3.3.1

Principe et objectifs du Pacing

Le principal objectif du Pacing est d’éviter l’émission de bursts autant que possible en étalant régulièrement l’émission des segments sur le RTT. Un calcul est fait chaque RTT fondé sur la taille de l’IWet de laCWNDpour déterminer l’espacement entre deux émissions, et ce jusqu’à ce que cet espacement soit inférieur au temps d’émission d’un segment.

Le Pacing vise à augmenter le débit de la connexion en minimisant l’impact des segments envoyés sur le routeur du lien qui crée le goulot d’étranglement, ce qui aura pour conséquence de limiter les pertes isolées dues aux bursts. La transmission du flux est étalée et n’engendre pas de surcharge momentanée de la capacité de traitement du routeur. Dans l’idéal, les performances individuelles sont améliorées par la réduction du taux de perte et les performances générales du réseau le sont par un meilleur partage des buffers entre les différents flux en compétition.

3.3.2

Inconvénients du Pacing

Une étude a néanmoins montré que ce qui faisait en théorie la force du Pacing, était en fait la cause d’inconvénients majeurs [1]. Cette étude a sonné le glas des ambitions de ce mécanisme. Il nous semble important de revenir ici sur ces principaux inconvénients.

Synchronisation des flux

Dans la partie précédente nous avons montré l’évolution de la transmission d’un flux TCP

et notamment souligné le rôle prépondérant des bursts dans les pertes de segments. Ces bursts peuvent avoir des conséquences préjudiciables sur les performances comme nous avons pu le voir avec laFigure 3.3mais sont paradoxalement nécessaires au bon fonctionnement deTCP. Ainsi,

TCPet notamment ses dernières versions utilisent les pertes pour étalonner leur débit et partager le débit de façon équitable. En étalant et lissant le trafic, le Pacing réduit les pertes au minimum et donc les indications de congestion, ce qui permet à chaque connexion d’augmenter son débit. Finalement, le Pacing ne fait que retarder la détéction d’événement de congestion jusqu’à ce que le réseau soit complètement saturé. La capacité d’accueil du buffer du lien bottleneck se retrouve donc dépassée par les débits atteints par chaque connexion et tous les nouveaux segments se retrouvent rejetés.

Ceci a de fortes implications :

– Les pertes successives dans un même flux dues à la saturation du réseau vont empêcher le déclenchement des mécanismes de reprise sur erreur et entraîner l’attente du RTO, pénalisant ainsi les débits individuels.

3.3. LE PACING : UN MÉCANISME DE PRÉVENTION DES BURSTS

– Les pertes de segments touchant des flux multiples vont engendrer une synchronisation des flux : tous les flux réduiront en effet drastiquement leur débit simultanément. Le réseau passera donc d’un état de surcharge à un état de sous-exploitation et les flux auront ten- dance à repartir simultanément dans le même état.

LaFigure 3.4illustre les effets du Pacing à travers les performances de flux de différente taille. Afin de pouvoir comparer l’évolution des conséquences du Pacing selon la taille des flux transmis, les résultats des simulations ont été normalisés. Pour cela, la durée moyenne de transmission de ces flux est divisée par une estimation de la durée idéale de délivrance d’une même taille de flux, c’est-à-dire du temps nécessaire à une connexion pour transmettre la totalité de son flux en évoluant en slow-start avec uneIWde 3 segments jusqu’à atteindre et conserver uneCWND

permettant un partage équitable de la bande passante entre les différents utilisateurs.

NS2 est utilisé pour simuler une topologie “Dumbbell” comme illustrée par la Figure 3.2

où, cette fois, 20 flux de taille variable utilisant TCP New RENO sont émis en parallèle entre 20 émetteurs et récepteurs différents situés de part et d’autre d’un goulot d’étranglement de sorte à créer une congestion. Dès qu’un flux se termine, un nouveau flux est établi entre les deux mêmes nœuds d’extrémité après un temps d’attente moyen d’1 seconde. Le débit du goulot d’étranglement est 25 Mbit/s tandis que le débit des autres liens est égal à 100 Mbit/s. LeRTT

moyen est de 100ms et le buffer du routeur d’entrée du goulot d’étranglement est égal à un quart de produit délai-bande passante. Par ailleurs, les flux sont soit tous avec Pacing soit tous sans Pacing, de sorte à n’ajouter aucune incertitude sur l’équité du mécanisme, celle-ci étant vérifiée ultérieurement.

Figure 3.4 – Durée normalisée de la transmission de différentes tailles de flux avec et sans Pacing. Figure tirée de [1]

Quatre phases distinctes permettent de constater les effets du Pacing :

avec ou sans Pacing, ne subissent pas de pertes et restent majoritairement en Slow Start. La durée légèrement plus importante des flux avec Pacing est due à l’étalement des segments sur leRTT.

2. Phase 2 : Les bursts induits par l’évolution en Slow Start des flux sans Pacing provoquent les premières pertes et causent la sortie du Slow Start pour le passage probable à l’état stable. Les connexions avec Pacing, non sujettes à ces pertes isolées, restent en Slow Start et augmentent leur débit. Le Pacing permet ainsi d’atteindre momentanément de meilleures performances.

3. Phase 3 : Les flux avec Pacing ayant continué à augmenter leur débit saturent complètement le réseau. Ils subissent des pertes nombreuses et simultanées et recommencent tous ensemble en Slow Start après une période d’inactivité correspondant à l’attente d’un ou plusieurs

RTOs. La taille des flux à transmettre augmentant, il est probable que la synchronisation engendrée entraîne la répétition de la situation précédente.

4. Phase 4 : La taille très importante du flux à transmettre amoindrit les effets de synchroni- sation, et les deux solutions tendent vers des performances similaires.

Ainsi en diminuant les pertes isolées et retardant la congestion au maximum, le Pacing réduit sur le long terme l’indépendance des flux et donc leurs performances individuelles et collectives. Les connexions longues sont très significativement touchées : les performances peuvent être deux fois moindres avec que sans Pacing.

Figure 3.5 – Durée de la transmission de flux de 300 segments en fonction du pourcentage de flux utilisant le Pacing. Figure tirée de [1]

Equité du Pacing