Symulacja w Badaniach i Rozwoju Vol. 1, No. 1/2010 Walenty ONISZCZUK Politechnika Białostocka, Wydział Informatyki 15-351 Białystok, ul. Wiejska 45A, E-mail: walenty@wi.pb.edu.pl Symulator sieciowy do badania algorytmów protokołu TCP 1 Wstp Modelowanie protokołu TCP zwizane jest z rozwojem Internetu i rozpowszechnianiem si TCP jako dominujcego protokołu transportowego. Protokół TCP/IP jest standardowym rodkiem globalnej łcznoci internetowej, umoliwiajcym komunikowanie si rónych lokalnych urzdze oraz sieci. Protokół ten podlega cigłej ewolucji, gdy pojawiaj si coraz to nowe problemy zwizane z jego wydajnoci. Nieustannie ukazuj si coraz to nowsze modele skupiajce si na okrelonych aspektach protokołu lub opisujce jego działania w sposób bardziej ogólny [1-3]. Dc do przypieszenia działania Internetu jako całoci i poszukujc nowych rozwiza, naley tu odwoła si do modeli matematycznych opisujcych jego działanie, a dokładniej do tworzenia symulatorów jego pracy. Takie symulatory, tworzone w oparciu o istniejce modele matematyczne protokołu TCP, umoliwiaj badanie wpływu okrelonych parametrów wejciowych na działanie sieci jako całoci. 2 Model przepływowy Rys.1. Symulacja oparta na przepływach. Fig.1. Fluid simulation 65
Modelowanie matematyczne protokołu TCP jest jedn z technik oceny ich wydajnoci, a co za tym idzie wydajnoci całej sieci TCP. Model taki powinien odwzorowa procesy zachodzce w sieci, a wic: dynamik okna i proces odrzucania pakietów. Wielko okna, w czasie poprawnego dostarczania pakietów ronie liniowo, za w przypadku utraty pakietów, zmniejszana dwukrotnie, itd. Proces utraty pakietów, z reguły modeluje si za pomoc teorii procesów stochastycznych, biorc pod uwag prawdopodobiestwo utraty pakietu lub modelujc czas midzy kolejnymi odrzuceniami. Ta informacja jest podstaw działania algorytmów zmniejszania rozmiarów okna TCP. Symulator przedstawiony w pracy opiera si na matematycznym modelu przedstawiajcym ruch sieciowy, jako zbiór przepływów, a nie na odwzorowaniu ruchu pojedynczych pakietów (rys. 1). Przepływem nazywana jest grupa pakietów o jednakowych charakterystykach [4-6]. Pakiety te pochodz z tego samego ródła, maj jednakowy rozmiar okna i przesyłane s do tego samego wzła. Dla dowolnego wzła sieci (rutera), podstawowymi parametrami przepływów TCP s [4, 5]: 1. Opónienie podróy pakietu w obie strony RTT: q( t ) R( t ) = d p + (1) C gdzie: d p opónienie propagacji cieki połczenia, q(t) liczba pakietów przebywajcych w kolejce wzdłu całej cieki, C pojemno łcza. 2. Dynamika rozmiaru okna dla przepływu W(t): dt W( t ) dw( t ) = dn( t ) (2) R( q( t )) 2 gdzie, N(t) liczba strat pakietów: proces Poissona z intensywnoci i (t). 3. Dynamika liczby pakietów w kolejce q(t): L dq( t ) W i( t ) = C + dt i= 1 R i( t ) gdzie: L liczba przepływów TCP przez ruter. Procedury aktywnego zarzdzania kolejkami: AQM (ang. Active Queue Management) posiadaj nastpujce mechanizmy: prewencyjnego odrzucania pakietów, zwikszania prawdopodobiestwa odrzucenia wraz ze wzrostem przecienia. Dla algorytmów wczesnej losowej detekcji RED (ang. Random Early Detection) prawdopodobiestwo p(x) odrzucenia pakietu na podstawie długoci kolejki x dane jest nastpujcym wzorem: (3) 66
3* 3-0 53*.9=> 0 dla 0 x < min x min p( x ) = Pdrop dla min x max max min 1 dla x > max gdzie P drop prawdopodobiestwo odrzucenia pakietu. Wyraenia (1) (4) zaimplementowano w symulatorze sieci TCP. Symulator sieciowy wykorzystuje, tzw. stochastyczny model przepływu, a równania róniczkowe reprezentujce modele matematyczne s rozwizywane algorytmem Rungego-Kutty. Schemat blokowy symulatora pokazany jest na rys. 2. (4) Rys. 2. Algorytm procesu symulacji. Fig. 2. Computer simulation algorithm. Symulator sieciowy został zaimplementowany w jzyku Java. Aby korzysta z aplikacji naley zainstalowa wirtualn maszyn Javy, na przykład Version 6 Update 7. Aplikacja posiada moliwo ledzenia zmian nastpujcych parametrów: a) przepływów: wielko okna TCP, szybko wysyłania pakietów, czas RTT, 67
b) łczy: chwilowa długo kolejki, rednia długo kolejki, opónienie kolejkowania, prawdopodobiestwo odrzucenia pakietów, szybko wysyłania pakietów. 3 Eksperymenty symulacyjne Topologia badanej sieci pokazana jest na rys. 3. W eksperymentach badano zachowanie pojedynczej kolejki bdcej wskim gardłem sieci, gdzie uyto algorytmu RED do odrzucania pakietów. Jest to łcze Node4 Node5. Przepustowo tego łcza wybrano jako dziesiciokrotnie mniejsz ni pozostałych. W tym przypadku, na pozostałych nie bdzie kolejkowania, a na eksperyment wpływ bdzie miał tylko czas propagacji na tych łczach. Czas eksperymentu ustalono na 250 sekund, a symulacj przeprowadzono z dokładnoci do 2.5 ms. Rys. 3. Uproszczona topologia sieci. Fig. 3. Simple network topology. Na rys. 4 pokazane s zmiany długoci kolejki, jako funkcja czasu eksperymentu. 68
3* 3-0 53*.9=> Rys. 4. Chwilowa długo kolejki. Fig. 4. Instantaneous queue length. Z rysunku wida, e w pocztkowej fazie pracy wystpowały znaczne fluktuacje długoci kolejki. Dochodziło tu momentami do całkowitego zapełnienia bufora, a po 60 sekundach długo kolejki zaczła spada a do ustabilizowania si na poziomie 200 pakietów. Sie przechodzi do stabilnej pracy dopiero po 125 sekundach. Nastpny z rysunków pokazuje urednion długo kolejki, gdzie na pocztku zaobserwowa mona cigły jej wzrost do poziomu 196 pakietów. Nastpiło to po ok. 100 sekundach. Dalej rednia kolejka ustabilizowała si, a pocztkowy stabilny wzrost zwizany był z jej chwilowymi fluktuacjami. Warto redniej długoci kolejki zmienia si zbyt powoli i przez to sie reaguje na przecienia z duym opónieniem. Jest to przyczyn zapełnienia bufora i odrzucania pakietów z prawdopodobiestwem równym 1, a w konsekwencji wstrzymaniem nadawania przez ródła. 69
Rys. 5. rednia długo kolejki. Fig. 5. Average queue length. Rys. 6. Fluktuacje opónienia w kolejce. Fig. 6. Queue delay jitting. Na powyszym rysunku pokazane s opónienia generowane przez kolejk. Tutaj minimalne opónienie wyniosło 34 ms, a maksymalne 245 ms. Jest to czas propagacji tego łcza. Po pocztkowych fluktuacjach, po około 125 sekundach, stabilizuj si ono na poziomie 85 ms. Literatura 1. Altman E., Avrachenkov K., Barakat Ch.: A stochastic model of TCP/IP with stationary random losses. IEEE/ACM Transactions on Networking 13(2) (2005), pp. 356-369. 70
3* 3-0 53*.9=> 2. Floyd S., Jacobson V.: Random early detection gateways for congestion avoidance. IEEE/ACM Transactions on Networking 1(4) (1993), pp. 397-413. 3. Grzech A.: Sterowanie ruchem w sieciach teleinformatycznych. Oficyna Wydawnicza Politechniki Wrocławskiej 2002. 4. Hassan M., Jain R.: Wysoko wydajne sieci TCP/IP. Helion Gliwice 2004. 5. Misra V., Gong W-B., Towsley D.: Fluid-based analysis of a network of AQM routers supporting TCP flows with an application to RED. ACM SIGCOMM: Computer Communication Review 30(4) (2000), pp. 151-160. 6. Misra V., Towsley D.F., Liu Y., Presti F.L., Gu Y.: Scalable fluid models and simulations for large-scale IP networks. ACM: Transaction on Modeling and Computer Simulation 14(3) (2004), pp. 305-324. Streszczenie W artykule przedstawiono problemy modelowania sieci TCP/IP, oraz zagadnienia opisania ich dynamiki i przeciwdziałania ich przecieniom. Protokół TCP/IP jest standardowym rodkiem globalnej łcznoci internetowej, umoliwiajcym komunikowanie si rónych lokalnych urzdze oraz sieci. Protokół ten podlega cigłej ewolucji, gdy pojawiaj si coraz to nowe problemy zwizane z jego wydajnoci. Rozwizujc aktualne problemy zwizane z wydajnoci Internetu, naley tworzy wyspecjalizowane modele matematyczne opisujce jego dynamik i działanie (symulatory pracy). Takie symulatory, tworzone w oparciu o istniejce modele matematyczne protokołu TCP, umoliwiaj badanie wpływu okrelonych parametrów wejciowych na działanie sieci jako całoci. TCP Network Protocols Simulator Summary Active queue management techniques have recently been proposed to both alleviate some congestion control problems for TCP/IP networks as well as provide some notation of quality of service. Modelling and analysis of such networks is important to understand their dynamics. While traditional discrete event simulations work well in general, even the most efficiently coded simulators suffer from the problem of scaling. In this paper, the author exploit fluid modelling to present a general methodology for the analysis of a network of routers supporting active queue management with TCP flows. In this simulator, the interactions of a set of TCP flows and Active Queue Management routers in a network are setting. As an application, the author models and solves a network where RED is the AQM policy. This simulator enables us to get an in-depth understanding of the RED algorithm. 71