modelisation analytique du protocole tcp new reno et etude

Transcription

modelisation analytique du protocole tcp new reno et etude
1
MODELISATION ANALYTIQUE DU PROTOCOLE
TCP NEW RENO ET ETUDE COMPARATIVE AVEC
LE SIMULATEUR NS .
Jean-Marie Garcia, Le Ha Duc, David Gauchard, Olivier Brun
LAAS – CNRS, 7 av colonel Roche, 31400 Toulouse, France
{jmg, dleha, gauchard, brun}@laas.fr
Abstract— Presently, the Transfer Control Protocol (TCP) is the
most used transport layer protocol in the whole world. With the
exponential growth of the Internet, there are more and more new
network applications requiring a high and sometimes constant
throughput such as video applications or industrial controls. As a
consequence, the Internet is more and more saturated by
thousands of high throughput streams (this problem is known as
congestion collapse) and there are many research works to
optimize the use of the Internet by TCP. This paper presents a
new analytical model of TCP New Reno. The first part describes
the mechanisms of TCP New Reno (Slow – Start, Congestion
Avoidance and Fast Recovery). Next, we use differential analytic
modelling to describe the behaviour of all network components
(output rate, congestion window, round trip time, number of
losses, etc.). Finally, we show the accuracy of our model by
comparing it with Network Simulator (NS).
Key words—TCP, differential modeling, event-driven simulation.
Résumé— Actuellement, le protocole TCP (Transfer Control
Protocol) est utilisé à grande échelle dans le monde entier. Avec la
croissance exponentielle de l’Internet, il y a de plus un plus
d’applications reseau demandant un haut, et parfois constant,
débit comme les applications vidéo ou de contrôle industriel. Par
conséquent, le réseau est de plus en plus encombré par des
milliers de flux de haut débit (congestion collapse). Ce papier
présente un nouveau modèle analytique de TCP New Reno. La
première partie donne une brève présentation des algorithmes de
TCP New Reno (Slow – Start, Congestion Avoidance et Fast
Recovery). Dans la deuxième partie, nous modelisons par des
équations differentielles le comportement de tous les éléments du
réseau (débit, fenêtre de congestion, RTT, nombre de pertes, etc.).
Finalement, nous montrons la precision du modèle developpe en
comparant avec Network Simulator (NS).
Mots clés—TCP, theorie differentielle du trafic, simulation
evenementielle.
I. INTRODUCTION
Le protocole TCP/IP est utilisé à grande échelle sur Internet.
C’est un protocole de niveau 4 (transport) qui assure un
transfert des données bidirectionnel, de façon fiable avec
contrôle des erreurs, et une retransmission des données
effectuée aux extrémités de la liaison. Il est de type « best effort », c’est - à - dire qu’il fait de son mieux pour amener les
paquets à la destination.
TCP/IP est utilisé dans tous les services réseaux qui
nécessitent de transférer des données de façon fiable. Les
services l’utilisant peuvent aller de la simple liaison type
terminal (telnet, rlogin) interactive et lente, aux transferts type
FTP (File Transfert Protocol) de plusieurs mégaoctets non
interactifs, en passant par les requêtes HTTP (World Wide
Web), le mail (SMTP), etc. Avec la croissance quasiment
exponentielle de la grande toile, il y a de plus en plus de
nouvelles applications sur le concept « à distance » qui exigent
un débit élevé et parfois constant comme les applications
vidéos ou des contrôles industriels. Pourtant, avec l’apparition
de ces applications, le réseau actuel est de plus en plus
encombré à cause des milliers de flux à haut débit (ce
problème est connu sous le nom de congestion collapse).
Actuellement, il y a dans le monde entier un grand nombre de
travaux de recherches d’une solution afin d’optimiser
l’utilisation du réseau Internet avec le protocole TCP/IP.
II. LA MODELISATION HYBRIDE DES RESEAUX
L’analyse des performances de bout en bout complète d’un
réseau IP-MPLS-DiffServ, incluant toute la chaîne des
traitements effectués (commutation, transmission, propagation)
ainsi que les différents protocoles utilisés, est une tâche très
complexe qui ne peut être accomplie qu’en utilisant un
environnement de simulation puissant (générateurs de trafic,
modèles de routeurs, etc.). Cependant, pour des réseaux réels,
les temps de calcul de ces simulations deviennent extrêmement
importants. En général, cette complexité calculatoire provient
de la taille des réseaux, des matrices de trafic, de la complexité
des traitements réalisés dans le réseau ou encore des
intervalles de confiance nécessaires pour une estimation
precises des performances.
L’approche hybride, basée sur la theorie des files d’attente,
permet de diminuer singulièrement cette complexité par une
superposition de processus événementiels (discrets) et de
processus continus (différentiels). Toutefois les flux généré par
TCP ne sont pas stationnaires et il n’y a pas à l’heure actuelle
2
de modèle dynamique analytique qui permette de représenter
correctement de telles sources. L’approche différentielle
développée ici, préserve l’aspect essentiel du protocole TCP
qui fait que la source émettrice fait varier sans cesse son débit,
en boucle fermée en fonction de la réponse du réseau, par une
fenêtre de congestion qui augmente puis se réduit brutalement.
L’intérêt d’une telle approche mathématique est de pouvoir
modéliser des milliers de connexions TCP sans utiliser de
simulation événementielle qui conduirait à des temps de calcul
prohibitifs pour de grands réseaux.
III. MODELE ANALYTIQUE DE TCP NEW RENO
Nous avons développé un modèle analytique décrivant par le
biais d’équations différentielles le comportement des éléments
principaux du réseau au cours du temps :
•
•
•
•
débit λ(t) de la source TCP,
taille CWND(t) de la fenêtre de congestion,
nombre de paquets ni(t) dans chaque routeur,
Round Trip Time RTT(t)
en fonction du nombre b d’ACKs dupliqués
avant
déclenchement de la phase de Fast Recovery et du taux de
service minimal µmin des routeurs en aval de la source.
3.1. Présentation du protocole TCP New Reno [RFC 2582]
•
• Slow - Start : c’est un mécanisme permettant d’augmenter
progressivement (de manière exponentielle) le debit de la
source.
• Congestion Avoidance : il est clair que la phase Slow–Start
finira par engendrer la perte de paquets en saturant les buffers
de reception des routeurs en aval de la source. A la premiere
perte detectee, la source passe en mode Congestion Avoidance
pour augmenter plus doucement son debit.
• Fast Recovery : après avoir reçu un certain nombre d'ACKs
dupliqués (typiquement trois), l’émetteur déduit qu’il y a eu
une perte et entre en phase Fast Recovery. Il retransmet le
dernier segment non acquitté, met ssthresh à la moitié de la
taille de la fenêtre de congestion et réduit sa fenêtre de
congestion de moitié. TCP New Reno ne sort de cette phase
que síl recoit un ACK acquittant tous les segments envoyés.
Soit RTT(t) le Round Trip Time à l’instant t. Notons λ(t) le
débit de la source TCP et CWND(t) sa fenêtre de congestion à
l’instant t, on a :
Phase Slow Start sans pertes
λ (t )
µ

d λ (t ) 
, si λ (t) < (b + 1) ⋅
=  b ⋅ RTT (t ) + k (t ) ⋅ λ (t )
b
dt
 0
sinon
min

µ
 dRTT (t ) 1 
dCWND (t ) λ (t ) ⋅ 
⋅ RTT (t )
+  si CWND(t) < (b + 1) ⋅
=
b
dt
b

dt
 0
sinon

avec CWND(0) = 1
min
où :
k (t ) =
La figure suivante explique le fonctionnement de TCP New
Reno au cours du temps.
1 RTT (t ) 1
⋅
⋅
2 b +1 µ
min
• Phase Congestion Avoidance sans pertes
d λ (t )
1
=
,
dt
b ⋅ RTT (t )
avec λ (0) = λ (phase précédente)/2
2
Reémission des paque ts pe rdus
D étection d’ une per te e t l’émission s’arrè te
D émarrage de la pre mière p hase C o ngestion A voida nce
Reémission (à débit minim a l) des paq uets perd us
avec λ (0) = 1
dCWND (t )
1
dRTT (t )
=
+ λ (t ) ⋅
,
dt
b ⋅ RTT (t )
dt
avec CWND(0) = CWND(phase précédente)/2
D étection d’ une per te (par un triple ack) et
l’émission s’arrète
P hase s low s tar t (le débit croit très
forte me nt et enge ndre très vite des pertes )
• L'équation de charge simplifiée du buffer i
3.2. Le modèle
dn ( t )
= a (t ) − d (t )
dt
où
i
i
i
 λ (t ) si n (t ) < C
a (t ) = 
 0 si n (t ) = C
 λ (t ) si n ( t ) < 1
d (t ) = 
 µ si 1 ≤ n (t ) ≤ C
i
i
i
i
i
i
i
i
i
i
i
i
3
§ Résultat analytique : La figure suivante montre le
comportement de la source TCP Analytique dans le
temps (la courbe bleue décrit la fenêtre de congestion,
la verte correspond au seuil SSTHRESH).
• Soit TA(t) le temps de transit de bout en bout du paquet
TA(t ) =
 n (t )
∑ 
n
i =1
i
µ

+ delay 

i
i
• Soit TR(t) le temps que mettent les paquets
d’acknowledgement pour revenir du nœud destinataire au
nœud émetteur
TR (t ) =
 n (t )
∑  α ⋅ µ
m
j
j =1

+ delay 

j
i
§ Résultat événementiel avec NS : nous obtenons
exactement la même chose (la courbe verte décrit la
fenêtre de congestion, la jaune correspond au seuil
SSTHRESH)
• Round Trip Time (RTT) :
RTT(t) = TA(t) + TR(t)
IV. RESULTATS ET COMPARAISONS AVEC NS
(NETWORK SIMULATOR)
Afin de vérifier la fiabilité du modèle analytique, un ensemble
de tests a été effectué. Il s’agit de tests assez simples
permettant de valider le modèle analytique.
4.1. Topologie
Les tests ont étés menés avec différents paramètres sur le
réseau décrit ci-desous :
•
Débit :
§ Résultat analytique
4.2. Paramètres du réseau
Les taux de service des noeuds sont 100 paquets/s, les
capacités de leurs buffers sont 5 paquets, la valeur initiale de
ssthresh est de 15 paquets et le délais des liens est de 10ms.
4.3. Résultats du test
•
Fenêtre de congestion :
§ Résultat événementiel avec NS
4
[GRE]
Le tableau suivant donne une comparaison globale entre le
modèle analytique et NS (statistiques calculées sur une durée
de simulation de 60 secondes) :
Débit moyen
(Ko/s)
Débit max
(Ko/s)
Nombre de
pertes en
Slow – Start
(paquets)
Modèle
analytique
95.4754
Ko/s
200 Ko/s
5.6
NS
98.352 Ko/s
200 Ko/s
8
V. CONCLUSION
Ces résultats sont très encourageants puisqu’ils ouvrent une
nouvelle voie de recherche et dans un futur proche, nous
espérons pouvoir modéliser encore les réseaux plus complexes
avec plusieurs flux TCPs.
REFERENCE
[ALT00]
E. Altman, K. Avrachenkov, C. Barakat, “A Stochastic
model for TCP/IP with stationary random losses”, ACM
SIGCOMM, August 2000
[GAR99]
J.M.Garcia “A new approach for analytical modeling of
packet switched telecommunication networks Rapport”
LAAS No98443, October 1998
[GAR02]
J.M.Garcia, O.Brun, D.Gauchard, C.Bockstal “Les
réseaux IP : architecture, protocoles de routage, IntServ,
DiffServ, RSVP-TE et MPLS”, Rapport LAAS No02120,
Février 2002
Tutorial de NS en ligne – M. Greis
http://www.isi.edu/nsnam/ns/tutorial/in
dex.html
[MIS99]
V. Misra, W-B. Gongrand, D.Towskey, “Stochastic
differential equations modeling and analysis of TCPwindow Size behavior”, in Proceedings of Performance,
Istanbul, October 1999
[NS]
Documentation en ligne du logiciel Network-Simulator
http://www.isi.edu/nsnam/nsnam/ns/nsdocumentation.html
[RFC793]
Information Sciences Institute “Transmission Control
Protocol” University of Southern California, September
1981
[RFC2001]
W. Stevens, “TCP Slow Start, Congestion Avoidance, Fast
Retransmit, and Fast Recovery Algorithms”, 1997
[STE]
W. Stevens TCP/IP Illustrated, Volume 1: The protocols
(Chapters 17, 19, 20, 21) Addison Wesley, 1994
[VEG94]
Brakmo, L., O'Malley, S., “TCP Vegas: New Techniques
for Congestion Detection and Avoidance” SIGCOMM'94,
London, pp 24-35, October 1994