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