Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
DIFFSERV EMULÁCIÓ ÉS SZIMULÁCIÓ DIFFSERV EMULATION AND SIMULATION
Lengyel Miklós, Sztrik János Debreceni Egyetem, Informatikai Kar Összefoglaló A hálózati protokollok és alkalmazások tanulmányozása a legtöbb esetben szimuláció segítségével vagy valós hálózatokon történő kísérletek révén valósul meg. Mindkét megközelítésnek van előnye is és hátránya is. Szimulációk készítéséhez szükséges, hogy a vizsgálandó rendszerről megalkossunk egy szimulációs modellt. A modellben lévő elkerülhetetlen pontatlanságok károsan befolyásolhatják a szimulációk eredményeit. Másfelől viszont, a valós hálózatokon végzett kísérletek szükségessé teszik egy megfelelő tesztkörnyezet meglétét, mely vagy nem létezik vagy nehezen konfigurálható. Ezen problémák nagy részére megoldást jelentenek az emulátorok, melyek egyesítik a szimuláció és a valós hálózaton történő kísérletezés előnyeit, így alkotva egy rugalmas és olcsó tesztelési eszközt. A Dummynet egy hálózati emulátor, melyet a Pisai Egyetemen fejlesztettek ki. Ezen szoftver segítségével szeretnénk ellenőrizni illetve kibővíteni egy korábbi munkánk eredményeit, melyben szimulációs kísérletek során hatékonysági vizsgálatokat végzünk (adatátvitel, késleltetés és sorhossz figyelembe vételével) Diffserv hálózatban különböző ütemezőket használva. A szimulációk a Kaliforniai Egyetemen kifejlesztett Network Simulator programcsomag felhasználásával készültek.
Kulcsszavak emuláció, szolgáltatás minőség, ütemező, sor kezelés
Abstract The study of network protocols and application is often done by simulation or by running experiments in a real network. Both approaches have their pros and cons. Simulations require the development of a simulation model of the system under analysis. The unavoidable inaccuracies in the model might adversely affect the results of experiments. Experiments on a real network, on the other hand, require the availability of a suitable testbed, which might not exist or might be hard to configure correctly. Emulators solve many of these problems, by merging the advantages of simulation and testing on real networks, thus constituting a flexible and cheap testing tool. Dummynet is a network emulator, which was developed at the University of Pisa. We use this tool to validate and enhance the results of our earlier work, in which performance comparison (in terms of throughput, delay and queue length) was made in Diffserv networks with means of simulation using different schedulers. Simulations were performed using Network Simulator, which was developed at the University of California.
Keywords emulation, quality of service, scheduler, queue management
A kutatásokhoz az OTKA-K 60698/2006 pályázat részleges anyagi támogatást nyújtott.
1
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
1. Bevezetés A Differentiated Services (Diffserv) architektúra [1] egy modellt definiál az Internetbeli szolgáltatások megkülönböztetésének skálázható implementálására. A szolgáltatás alatt itt a hálózat egy adott irányába történő csomag továbbítás lényeges karakterisztikáit értjük. Ilyen karakterisztika az adatátvitel, a késleltetés, illetve a csomagvesztés. A Diffserv architektúra egy sokkal rugalmasabb és skálázhatóbb modellt nyújt mint az eddigi megkülönböztetett szolgáltatások modellei (Integrated Services vagy RSVP). Azonban ezek az alternatív modellek használhatók a Diffserv architektúra kiterjesztésére illetve az architektúrával történő együttműködésre. A Diffserv architektúra a skálázhatóságot úgy éri el, hogy a komplex klasszifikáló funkciókat csak a hálózat határán lévő csomópontokban implementálja és aztán a hálózat belsejében a megfelelően megjelölt csomagokra alkalmazza a hozzátartozó PHB-t (per-hop behaviour) [2,3]. A csomagok megjelölése az IPv4 vagy IPv6 fejlécben lévő DS mező értékének beállítását jelenti. A PHB egyfajta leírása annak, hogy a megfelelően megjelölt csomagot mily módon, hogyan kell továbbítani. A PHB-k a csomópontokban puffer menedzselő [6] és csomag ütemező mechanizmusok révén vannak implementálva. Két különböző PHB lett kifejlesztve: az Assured (biztosított) Forwarding (AF) PHB és az Expedited (sürgetett) Forwarding (EF) PHB. Ez az architektúra csak a csomag folyam egyik irányába nyújt szolgáltatás differenciálódást vagyis aszimmetrikus. Korábbi munkáink [4,5] során Diffserv hálózatokat vizsgáltunk szimulációk segítségével. Hatékonysági vizsgálatokat végeztünk adatátvitel, késleltetés és sorhossz elemzésével, összehasonlítva különböző hagyományos csomag ütemező algoritmusokat. Ilyen ütemező volt a Priority (PRI), a Weighted Round Robin (WRR), illetve ez utóbbinak módosított változata a Weighted Interleaved Round Robin (WIRR). Megnéztük, hogy a csomagok méretének változtatása hogyan befolyásolja a figyelt hatékonysági mutatókat. Ezen szimulációs vizsgálatokat a Kaliforniai Egyetemen kifejlesztett Network Simulator (NS) program csomag használatával végeztük. Ez egy C++ és OTcl (Object Tool Command Language) nyelven készült eseményvezérelt hálózati szimulátor. Mivel a szimuláció a valós világ egy absztrakciója, emiatt pontatlanságokat hordozhat magában. Ezért szeretnénk a fentiekben leírt eredményeket a valósághoz közelebb álló eszköz, az emulátor segítségével ellenőrizni, kiegészíteni. Erre a célra a Pisai Egyetemen kifejlesztett Dummynet [8] nevű hálózati emulátort választottuk. A Dummynet egy C nyelven készült szoftver, mely hálózati protokollok, alkalmazások vizsgálatát hivatott támogatni. A program FreeBSD platformon használható, teljes mértékben integrálva lett a BSD rendszerekbe. A Dummynet alaphelyzetben csak a WF2Q+ (Worst-case Fair Weighted Fair Queueing) [7] ütemező használatát támogatja. A Network Simulator Diffserv moduljában viszont csak a hagyományos ütemezők érhetők el. Ezek miatt első lépésben kiterjesztjük korábbi szimulációs munkánkat és megvizsgáljuk a WF2Q+ ütemezőt is Diffserv környezetben, ily módon összehasonlíthatóvá válik a Dummynet használatával kapott eredményekkel. Egy másik problémával is szembe kell néznünk a Dummynet Diffserv környezetben történő használata során. A Dummynet-et ugyanis nem azért hozták létre, hogy a Diffserv architektúrát megvalósítsa, ezért az architektúra bizonyos részei nincsenek implementálva benne. Ilyen funkciók többek között az él csomópontokban található klasszifikáló és jelölő algoritmusok. A Network Simulator-ral ellentétben itt a forgalom generálók sem állnak rendelkezésre. Ezen hiányzó alkotó elemeket nekünk kell valamilyen programnyelven
2
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
elkészíteni. A megvalósításuk jelenleg folyamatban van, ezért jelen cikkben csak a WF2Q+ ütemező vizsgálatával kapcsolatos szimulációs eredményeket prezentáljuk. Ezt összevetjük a hagyományos ütemezőkkel kapott korábbi eredményekkel valamint kitérünk arra milyen elvárásokat támasztunk a közeljövőben elkészülő Dummynet vizsgálat eredményeivel kapcsolatban. 2. Szimulációs eredmények A fentiekben már említettük, hogy a Network Simulator (NS) Diffserv modulja csak a hagyományos ütemezők használatát teszi lehetővé. Ahhoz, hogy a WF2Q+ ütemezővel szimulációs kísérleteket tudjunk végezni egy kiegészítő modult kell beintegrálnunk az NS-be, mely implementálja a WF2Q+ ütemező algoritmust. Ezt modult az Olasz Nemzeti Kutatási és Fejlesztési Központ kutatója Dr. Sergio Andreozzi fejlesztette ki. A szimuláció során az 1. ábrán látható egyszerű súlyzó hálózati topológiát vizsgáltuk meg. Minden link 5 ms-os késleltetéssel rendelkezik. A vizsgálatot a Core csomópontban végeztük el, itt található a szűk keresztmetszetű adatátviteli vonal. A Core csomópont kimeneti interfészének a szerkezetét a 2. ábra mutatja.
1. ábra Szimulált hálózati topológia
2. ábra Kimeneti interfész
A szimulációt 60 másodpercig futattuk. Minden forgalomgenerálónk CBR (Constant Bit Rate), melyek alatt UDP protokollt állítottunk be. A 0-3 csomópontok AF1-AF4 forgalmat generálnak, míg a 4-es csomópont EF forgalmat. Az i.-ik csomópont az i+8.-ik csomópontnak küld adatot, i = 0,1,2,3,4. Egy AF osztály egy csomópontban egy olyan fizikai RED [9] sorral van implementálva melynek három virtuális sora van, míg az EF osztály egy FIFO sorral kerül implementálásra. A 3. és 4. ábrán látható a Core csomópontokba megérkező illetve távozó csomagok százalékos eloszlása és azok darabszáma. A 3. ábrán lévő EF, AF1, AF2, AF3, AF4 osztályok megoszlása a CBR forgalom generálók küldési rátájától függ. Az egyes AF osztályokon belül a három alosztály (dobási precedencia) megoszlása a 0, CIR, PIR, rate paraméterek által definiált intervallumok méretével (azok megoszlásával) azonos. A CIR és PIR a TSW3CMPolicer (Time Sliding Window with 3 Color Marking Policer) osztályozó Committed Information Rate (CIR) és Peak Information Rate (PIR) paraméterét jelenti, míg a rate a CBR forgalom generáló küldési rátáját jelöli. A 4. ábrán látható EF, AF1, AF2, AF3, AF4 osztályok megoszlása a WF2Q+ ütemező paraméterétől (QueueWeights) függ. Az egyes AF osztályokon belül a három alosztály (dobási precedencia) megoszlására a 4 darab RED sor
3
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
MinTh (Mininum Threshold), MaxTh (Maximum Threshold) és MaxP (Maximum Probability) paraméterei vannak hatással.
3. ábra Érkezett csomagok eloszlása
4. ábra Elküldött csomagok eloszlása
A szimulációt úgy állítottuk be, hogy a fent említett eloszlások ugyanazok legyenek mint amit a korábbi munkánk során használt ütemezőknél beállítottunk. Tehát a jelenlegi és a korábbi szimulációk egymástól csak a használt ütemezőben térnek el. A kísérlet során 1000 byte-os csomagokat használtunk, a csomópontokban lévő sorok hossza pedig 50 csomag. Az 5. ábra a sorhossz változását mutatja a Core csomópontban. A vízszintes tengely a szimulációs időt mutatja másodpercben, a függőleges tengely pedig a sorok hosszát az egyes osztályok esetén csomagban kifejezve. Az EF, AF1 és AF2 osztályok esetén a sorhossz folyamatosan 50 csomag körül mozog. Ennek az az oka, hogy ezen osztályok esetén a RED paramétereit úgy állítottuk be, hogy a Minth (Minimum threshold) nagyobb mint az adatátviteli vonal puffer kapacitása (50 csomag). Ez azt jelenti, hogy nincs ’Early’ csomag dobás, csak az adatátviteli vonal végez csomag dobást. Megfigyelhetjük, hogy ezen osztályok esetén az átlagos sorhossztól való eltérés a prioritásos (PRI) ütemezőnél látottakkal [4] közel megegyező mértékű. Az AF3 és AF4 osztályok esetén láthatjuk, hogyan működik a RED algoritmus. Ahogyan az átlagos sorhossz tart a Minth értéktől a Maxth érték felé úgy nő lineárisan a csomag dobások száma is, de ha az átlagos sorhossz eléri a Minth értéket, akkor nincs csomag dobás. Fentebb említettük, hogy egy AF osztály egy csomópontban egy olyan fizikai RED sorral van implementálva melynek három virtuális sora van. A 6. ábra szemlélteti az egyes AF osztályokon belül a virtuális sorhossz változását. Minden egyes AF osztály esetén a 3 virtuális sor hosszának összege adja meg az adott AF osztályhoz tartozó fizikai sor hosszát. A 7. ábra mutatja a valós sorhossz és a RED algoritmus által számított átlagos sorhossz egymáshoz való viszonyát illetve ezek változását. A RED az átlagos sorhosszt egy egyszerű exponenciálisan súlyozott mozgó átlag segítségével számolja ki. Láthatjuk hogyan követi az átlagos sorhossz a valós sorhossz változását.
4
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
5. ábra A sorhossz változása
6. ábra A virtuális sorhossz változása
5
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
7. ábra A valós sorhossz és a RED átlagos sorhossz változása
A 8. ábrán a csomagok késésének változását figyelhetjük meg a Core csomópontban. A vízszintes tengelyen a csomag azonosítót, a függőleges tengelyen pedig a késést látjuk. A késés ugyanúgy változik ahogy a sorhossz változik, ami megfelel a jól ismert Littleformulának (Q = λ*W). Ez azt jelenti pontosan, hogy a sorhossz és a késleltetés aránya egy konstans érték. Az adatátvitel változását a 9. ábra szemlélteti. Az osztályonkénti átlagos realizált adatátvitel összehasonlítva a korábban vizsgált hagyományos ütemezők esetén mért értékekkel nem mutat szignifikáns különbséget. Az adatátvitel átlagtól való eltérése (ingadozása) tekintetében a WF2Q+ ütemező a prioritásos (PRI) ütemezőhöz áll közelebb. A Dummynet-tel elvégzendő vizsgálatoktól azt várjuk, hogy az itt és a korábban kapott szimulációs eredményeket elfogadható mértékben alátámasszák.
6
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
8. ábra A csomagok késleltetése
9. ábra Adatátvitel
7
Informatika a felsőoktatásban 2008
Debrecen, 2008. augusztus 27-29.
Irodalomjegyzék [1]
S. Blake et al. (1998) An Architecture for Differentiated Services. IETF RFC 2475.
[2]
J. Heinanen et al. (1999) Assured Forwarding PHB Group. IETF RFC 2597.
[3]
B. Davie et al. (2002) An Expedited Forwarding PHB. IETF RFC 3246.
[4]
M. Lengyel, J. Sztrik, C.S. Kim (2004) Simulation of Differentiated Services in Network Simulator. Annales Universitatis Scientiarium Budapestinensis de Rolando Eötvös Nominatae, Sectio Computatorica 25, 85-102.
[5]
M. Lengyel, J. Sztrik (2004) Performance comparison of traditional schedulers in Diffserv architecture using NS. 16th European Simulation Symposium: Simulation in Industry, Budapest, 281-288.
[6]
B. Braden et al. (1998) Recommendations on Queue Management and Congestion Avoidance in the Internet. IETF RFC 2309.
[7]
J.C.R. Bennett, H. Zhang (1997) Hierarchical Packet Fair Queueing Algorithms. IEEE/ACM Transactions on Networking, Vol. 5., No. 5., 675-689.
[8]
L. Rizzo (1997) Dummynet: A Simple Approach to the Evaluation of Network Protocols. ACM Computer Communication Review, Vol. 27., No. 1., 31-41.
[9]
S. Floyd, V. Jacobson (1993) Random Early Detection gateways for Congestion Avoidance. IEEE/ACM Transactions on Networking, Vol. 1., No. 4., 397-413.
8