ANALIZA KARAKTERISTIKA MPLS MRE@NOG SIMULATORA

Keywords: Multiprotocol Label Switching (MPLS), MPLS Network Simulator (MNS), Constraint based Routing -Label Distribution Protocol (CR-LDP), Quality of Service (QoS), resource preemption

Vojna akademija, Beograd

profesor dr Milojko Jevtovi}, dipl. in`. 

Uvod

Savremene metode projektovanja ra~unarskih i telekomunikacionih mre`a zasnivaju se na kori{}enju novih softverskih alata, me|u kojima su svakako naj-zna~ajniji mre`ni simulatori. Izradi glavnog projekta neke ra~unarske mre`e obi~no prethodi softverska simulacija komunikacionih procesa, kvaliteta usluga odre|ene mre`e, njene funkcionalne otpornosti ili raspolo`ivosti. Posebno je zna~ajno kori{}enje simulatora MPLS (Multi Protocol Label Switching) mre`e u procesu projektovanja paketskih mre`a zasnovanih na IP (Internet Protocol), od kojih se zahteva da omogu}e komunikaciju u realnom vremenu, multimedijalne usluge i prenos vremenski osetljivog sao-bra}aja. Takve IP mre`e koriste MPLS protokol koji omogu}ava komutaciju IP paketa preko IP mre`a. Simulator MPLS mre`e (u daljem tekstu MNS) nastao je adaptacijom i pro{irenjem funkcija mre-`nog simulatora ns (network simulator) [1]. Nastao je kao varijanta simulatora realnih telekomunikacionih mre`a, koji je razvijen 1989. godine u Univerzitetskom centru Berkeley u SAD. 
MNS simulator je predstavljen kao softverski alat za simulaciju procedura pri uspostavljanju veza kroz MPLS mre-`u (podr`ava uspostavljanje CR-LSP putanja odre|enog QoS), kao i simulaciju osnovnih MPLS funkcija (protokol distribucije labela i komutacija labela) [2] [3] [4]. U ovom radu opisani su namena i funkcije MNS simulatora, dat konceptualni prikaz modela simulatora i prikazana dva primera procedure simulacije. Prvom procedurom simulirano je nekoliko vrsta MPLS saobra}aja razli~itih QoS u jednostavnoj MPLS mre`i, ~ime su potvr|eni ta~nost i efikasnost MNS simulatora. U drugoj programskoj proceduri izvr{ena je simulacija poslu`ivanja saobra}aja vi{eg prioriteta u odnosu na ostali saobra}aj u mre`i. 

Namena MNS

Osnovna namena MNS simulatora je razvoj razli~itih MPLS aplikacija bez konstrukcije realne MPLS mre`e, ~ime se posti`e ispitivanje karakteristika budu-}ih mre`a kroz postupak simulacije. Mre`ni simulator je objektno orijentisan simulator napisan u programskom jeziku C++, sa Otcl interpreterom kao komandnim jezikom. C++ je brz za izvr{avanje, ali spor za promene, {to ga ~ini pogodnim za detaljnu manipulaciju protokola (manipulisanje bajtovima, zaglavljima i algoritmima koji se izvr{avaju nad velikim brojem podataka). Otcl se izvr{ava mnogo sporije, ali se mo`e menjati veo-ma brzo, {to je povoljno sa stanovi{ta promene konfiguracije simulacije ("promeni model", "na|i gre{ku", "ispravi gre{ku"). 
Osnovne karakteristike MNS simulatora su: 
-pro{irivost -verno prati objektnoorijentisan koncept radi podr`avanja raz-li~itih MPLS aplikacija; 
-iskoristivost -izgra|en na na~in da ga korisnici mogu jednostavno nau~iti i upotrebiti; 
-prenosivost -minimalno potrebna promena mre`nog koda kako bi se upotrebio u drugoj verziji mre`nog simulatora; 
-upotrebljivost -realizovan tako da pru`a podr{ku u razvoju realnih LSR rutera za komutaciju labela. 
Funkcije MPLS simulatora: a) komutacija labela -operacije prenosa/slaganja labela, dekrementiranje polja vremena `ivota labele, TTL (Time to Live); b) rad sa protokolom distribucije labela, LDP (Label Distribution Protocol) -obrada LDP poruka (Request -zahtev, Mapping -preslikavanje, Withdraw -ispisivanje, Release -osloba|anje i Notification -obave{tavanje); c) algoritam rutiranja na bazi ogra-ni~enja -LDP protokol, CR-LDP (Constraint base Routing -LDP) -obrada CR-LDP poruka; d) agregacija prenosa -grupisanje pojedina~nog saobra}aja u zbirni protok; e) rutiranje na bazi ograni~enja, CB (Constraint Based) -daje CB algoritam rutiranja za CR-LSP (Constraint Routing -Label Switching Path) putanju koja se uspostavlja kori{}enjem informacija sa mre`e [5]. Za razliku od tradicionalnih algoritama rutiranja (OSPF, BGP koji koriste samo informacije o broju skokova, ili ka{njenju), CB algoritam zahteva ve}i broj informacija. Primeri metrike koji se koriste za CB algoritam rutiranja su maksimalno ka{njenje na linku, trenutna rezervacija resursa, verovatno}a gubitaka paketa, varijacija ka{njenja na linku, i dr.; f) mehanizam rerutiranja (promena putanje) -podr`ava simulaciju koja se zasniva na odre|enim mehanizmima rerutiranja (npr. Haskin ili Makam) ili di-nami~kom principu (npr. na osnovu jednostavne {eme najkra}eg puta) [6]. 

Konceptualni prikaz modela mre`nog simulatora

Mre`ni simulator prikazan na slici 1 [1] sastoji se od slede}ih funkcionalnih celina: 
-LDP/CR-LDP -generi{e ili obra-|uje LDP/CR-LDP poruke; 
-MPLS klasifikator -izvr{ava operacije nad labelama, kao {to su: podizanje, postavljanje ili zamena labela na MPLS paketu; 
-klasifikator usluga -klasifikuje usluge koje se mogu primeniti na dolazni paket kori{}enjem labele i interfejsa, ili polja CoS (Class of Service) u MPLS zaglavlju, i povezuje svaki paket sa odre|enom rezervacijom; 
-upravljanje pristupom -istra`uje parametre saobra}aja na CR-LDP i odre-|uje da li MPLS ~vor poseduje odgova-raju}i resurs da podr`i zahtevani QoS; 
-upravljanje resursima -generi-{e/uklanja redove ~ekanja i upravlja informacijama vezanim za resurse; 
Sl. 1 -Model mre`nog simulatora -obrada paketa (Packet Scheduler) -upravlja paketima koji se nalaze u redovima ~ekanja, omogu}avaju}i da dobiju zahtevanu uslugu uz postavljeni QoS. 
-klasifikator adresa -obavlja funkciju prosle|ivanja paketa, pri ~emu ono mo`e biti direktno ili se paket prethodno {alje na klasifikator porta. 

Oblik i implementacija MNS

MPLS simulator je nastao pro{irenjem NS simulatora, {to ga ~ini simulatorom IP osnove. U NS svaki ~vor se sastoji od agenata i klasifikatora. Agent predstavlja objekat koji radi na nivou protokola, a klasifikator je objekat koji je zadu`en za klasifikaciju paketa. Da bi se realizovao MPLS ~vor, u IP ~vor uklju-~eni su "MPLS klasifikator" i "LDP agent", kako je prikazano na slici 2 [7]. 

Arhitektura MPLS ~vora za komutaciju labela

Nakon primanja paketa u MPLS ~vor -"MPLS klasifikator" odre|uje da li je primljeni paket sa labelom ili bez nje. Ukoliko je sa labelom on obavlja komutaciju labela za dati paket. Ukoliko je bez labele, ali uz postoje}u LSP, on se obra-|uje kao da je sa labelom. U suprotnom, MPLS klasifikator {alje paket u klasifikator adresa. Tada "klasifikator adresa" iz-vr{ava funkciju prosle|ivanja paketa, pri ~emu obavlja direktno prosle|ivanje ili paket {alje na klasifikator porta. 
Za komutaciju labela definisane su tri tabele (slika 3) [7]: 
1. Delimi~na tabela usmeravanja PFT (Partial Forwarding 

Obrada saobra}aja u realnom vremenu

Na slici 4 [1] predstavljena je {ema obrade saobra}aja u MPLS ~voru. Kada paketi podataka stignu u MPLS ~vor, odlaze u MPLS klasifikator. MPLS ~vor ispituje LIB tabelu da bi odredio odlaznu labelu i odlazni interfejs radi izvr{enja operacije nad labelom, a zatim analizira ERB tabelu za ServiceID radi obezbe|enja zahtevane usluge. U skladu sa odre-|enom klasom kojoj paket pripada, on se usmerava ka odgovaraju}em baferu u uspostavljenom redu ~ekanja CBQ (Constraint Based Que). U njemu se obra|uje i dalje {alje ka odlaznom interfejsu. 

Rezervacija resursa

"Upravljanje pristupom" i "Upravljanje resursom" su komponente simulatora koje su implementirane sa funkcijom upravljanja resursom. Upravljanje resursom je komponenta koja je odgovorna za stvaranje, odnosno ukidanje CBQ redova ~ekanja i upravljanje informacijama resursa (tabela resursa). 
Na slici 5 [1] prikazan je proces rezervacije resursa u MPLS ~voru. Kada "CR-LDP" primi CR-LDP poruku zahteva, on poziva "Upravljanje pristupom" da proveri da li ~vor podr`ava zahtevani resurs. Ukoliko ustanovi da je zahtevani resurs raspolo`iv, upravljanje pristupom izvr{ava funkciju rezervacije i a`urira tabelu resursa. Zatim se poruka LDP zahteva prenosi u slede}i ~vor. 
Kada CR-LDP primi poruku preslikavanja, on zapamti labelu i informaciju o odgovaraju}em interfejsu u LIB tabeli, kao i informaciju o zahtevanoj CR-LSP 

Sl. 4 -Obrada saobra}aja u realnom vremenu u MPLS ~voru i na linku

(LSPID) u okviru ServiceID u ERB tabeli. Zatim poziva "Upravljanje resursom" koji formira red za poslu`ivanje zahtevanog CR-LSP i sa~uva njegov ServiceID u ERB tabelu. Posle toga, LSP poruka mapiranja prelazi u prethodni MPLS ~vor. 

Nivoi saobra}aja

U MPLS simulatoru realizuju se tri nivoa saobra}aja i ~etiri razli~ite usluge. Prva usluga predstavlja signalizacioni sa-obra}aj, ST (Signaling Traffic), drugu ~i- 

CR-LDP poruka zahteva


Simulacija QoS definisanog saobra}aja

MPLS simulator predstavlja verziju implementiranu na UNIX sistemu preko ns-2.1b6 programa, na bazi mre`nog simulatora ns 2.1. 
Na primeru jednostavne MPLS mre-`e bi}e prikazana razli~ita efikasnost i ta~nost MPLS simulatora, kroz simulaciju razli~itih vrsta MPLS saobra}aja. Na slici 7 [1], ~vorovi Node0 i No-de4 su IP ~vorovi, dok su LSR1, LSR2 i LSR3, MPLS ~vorovi. Definisani su jednostavni "Best-effort" (SBT) saobra}aj, zatim "Best-effort" saobra}aj visokog prioriteta (HBT) i dva saobra}ajna toka u realnom vremenu. Oni ulaze u mre`u preko ulaznog (ingress) ~vora, Node0 i izlaze preko izlaznog ~vora (engress) Node4. Definisan je propusni opseg iz-me|u svakog ~vora u mre`i i iznosi 1Mb/s, osim na linku izme|u ~vorova Node0 (IP ulazni ~vor) i LSR1 (prvi MPLS ~vor), koji iznosi 2Mb/s. SBT i HBT generi{u saobra}aj konstantnog bitskog protoka (CBR) koji iznosi 250 kb/s. Izvori saobra}aja RT1 i RT2 generi{u, ta-ko|e, saobra}aj konstantnog bitskog protoka od 350 kb/s, odnosno 450 kb/s, respektivno. Generisani saobra}aj je sa Puasonovom raspodelom. U prikazanoj analizi bi}e izvr{ena samo simulacija sa-obra}aja konstantnog bitskog protoka, dok se saobra}aj promenljivog bitskog protoka ne}e razmatrati. 

Sl. 7 -Primer MPLS mre`e

Mo`e se zaklju~iti da je ukupno op-tere}enje ve}e od propusnog opsega MPLS mre`nog linka (1,3 Mb/s u odnosu na mre`ni od 1Mb/s). 
Pretpostavka je da su uspostavljene ~etiri LSP putanje za dati saobra}aj od kojih su dve ER-LSP za SBT i HBT, a dve CR-LSP sa RT1 i RT2. U prvoj de- 

Simulacija prioriteta nad resursom

U ovom delu prikazan je deo koda simulacije prioriteta u dodeli resursa definisanog CR-LSP parametrima (tabela 2). Za ovu simulaciju saobra}aj koji poti~e od SBT i HBT je kao u prethodnom slu~aju (po 250 kb/s), dok RT1 i RT2 generi{u sa-obra}aj konstantnog bitskog protoka od 600 kb/s, odnosno 700 kb/s, respektivno. Na ovaj na~in definisano, ukupno saobra-}ajno optere}enje je ve}e od propusnog opsega date MPLS mre`e (1,8 Mb/s). 
Vrednosti "setup-priority" (uspostavljanje prioriteta) i "holding-priority" (odr`avanje prioriteta) za CR- LSP putanju izvora saobra}aja RT1 iznose 7 i 4, respektivno. Vrednosti "setup-priority" i "holding-priority" za CR-LSP putanju izvora RT2 iznose 3 i 2. Na ovaj na~in definisano, zaklju~uje se da izvor saobra}aja RT2 ima prednost nad rezervacijom resursa u odnosu na RT1, jer je vrednost "setup-priority" izvora RT2 ni`a od vrednosti "holding-priority" izvora RT1, odnosno definisane vrednosti 3 i 4, respektivno. 
Rezultati simulacije pokazuju da je resurs izvora RT1 koristio izvor RT2, u trajanju 11 sekundi (kao {to se vidi sa slike 9). U tom periodu RT1 je posmatran kao SBT. S druge strane, jedino je RT2 dostigao zahtevani propusni opseg od 700 kb/s, dok su SBT, HBT i RT1 imali na raspolaganju ostatak propusnog opsega (HBT oko 250 kb/s, a RT1 i SBT ukupno oko 50 kb/s). 

Zaklju~ak

U radu su analizirane karakteristike simulatora MPLS mre`e sa ciljem da se uka`e na mogu}nosti njegovog kori-{}enja pri projektovanju IP mre`a, koje podr`avaju QoS multimedijalnih usluga. Opisana je jednostavna MPLS mre-`a definisane topologije i saobra}ajnih karakteristika kojom se uspostavlja CR-LSP. 
Kori{}enjem MNS mre`nog simulatora, simulirana su dva primera. U prvom primeru je prikazana analiza QoS definisanog saobra}aja konstantnog bitskog protoka, po dvema LSP putanjama (CR-LSP i ER-LSP). Rezultati simulacije pokazuju da se u slu~aju uspostavljanja CR-LSP putanje kroz mre`u mo`e posti}i prenos celokupnog sao-bra}aja generisanog na izvoru, dok se u slu~aju ER-LSP putanje prenos generisanog saobra}aja obavlja samo u preo- Sl. 9 -Rezultati simulacije prioriteta u saobra}aju stalom delu propusnog opsega datog linka. Drugim primerom simuliran je prioritet u dodeli resursa saobra}aja, pri ~emu je pokazano da izvor saobra}aja sa dodeljenim ni`im vrednostima uspostavljanja i odr`avanja prioriteta koristi resurse izvora (prenosni oseg linka) sa dodeljenim vi{im vrednostima prioriteta (primer izvor saobra}aja RT2 u odnosu na RT1). Oba primera ukazuju na jednostavnost, prakti~nost i efikasnost mre`nog simulatora MNS. Sl. 9 -Rezultati simulacije prioriteta nad saobra}ajem 

Sl. 5 -

 5 Proces rezervacije resursa MPLS ~vora i linka Sl. 6 -Nivoi i usluge saobra}aja u MNS ~ ni saobra}aj u realnom vremenu, RT (Real-time Traffic), slede}a je "best-effort" saobra}aj visokog prioriteta, HBT (High "Best-effort" Traffic) i poslednja usluga predstavlja jednostavni "best-effort" saobra}aj, SBT (Simple "Best-effort" Traffic), {to je prikazano na slici 6 [1]. Korisnik mo`e da konfiguri{e odre-|ene parametre saobra}aja, kao {to su: brzina, veli~ina bafera, prioritet i druge. Karakteristike ST, HBT i SBT se stati-sti~ki realizuju pri samoj konfiguraciji simulacionog okru`enja, dok se RT dina-mi~ki stvara, odnosno raskida kada se realizuje odre|eni simulacioni doga|aj, npr. kada CR-LDP poruka stigne u MPLS ~vor. 




  -lsp {FEC ER LSPID Bandwidth BufferSize PacketSize SetupPrio # HoldingPrio} $ns at 0.1 "$LSR1 setup-cr-lsp 3 1.0 "$SBT start" $ns at 1.0 "$HBT start" $ns at 1.0 "$RT1 start" $ns at 10.0 "$LSR2 setup-cr-lsp 3 11.0 "$RT2 start" $ns at 30.0 "$RT2 stop" $ns at 31.0 "$LSR1 release-lsp-using-release 1300" $ns at 40.0 "$SBT stop" $ns at 40.0 "$HBT stop" $ns at 40.0 "$RT1 stop" 




  1.0 "$SBT start" $ns at 1.0 "$HBT start" $ns at 1.0 "$RT1 start" $ns at 10.0 "$LSR2 setup-cr-lsp 3 


#setup-priority=7, holding-priority=4 for RT1 traffic $ns at 0.1 "LSR1 setup-cr-lsp 3 1_2_3 1200 600K 400 200 7 4" $ns at 1.0 "$SBT start" $ns at 1.0 "$HBT start" $ns at 1.0 "$RT1 start" #setup-priority=3, holding-priority=2 for RT2 Traffic $ns at 10.0 "LSR1 setup-cr-lsp 3 1_2_3 1300 700K 2000 200 3 2" $ns at 11.0 "$RT2 start" $ns at 30.0 "$RT2 stop" $ns at 31.0 "$LSR1 release-lsp-using-release 1300" $ns at 40.0 "$SBT stop" $ns at 40.0 "$HBT stop" $ns at 40.0 "$RT1 stop" 3" $ns at 11.0 "$RT2 start" $ns at 30.0 "$RT2 stop" $ns at 31.0 "$LSR1 release-lsp-using-release 1300" $ns at 40.0 "$SBT stop" $ns at 40.0 "$HBT stop" $ns at 40.0 "$RT1 stop" Tabela 2 Programski kod simulacije prioriteta nad resursom $ns at 0.1 "$LSR1 setup-er-lsp 3 1_2_3 1000" $ns at 0.1 "$LSR1 setup-er-lsp 3 1_2_3 1100" #setup-priority=7, holding-priority=4 for RT1 traffic $ns at 0.1 "LSR1 setup-cr-lsp 3 1_2_3 1200 600K 400 200 7 4" $ns at 1.0 "$SBT start" $ns at 1.0 "$HBT start" $ns at 1.0 "$RT1 start" #setup-priority=3, holding-priority=2 for RT2 Traffic $ns at 10.0 "LSR1 setup-cr-lsp 3 1_2_3 1300 700K 2000 200 3 2" $ns at 11.0 "$RT2 start" $ns at 30.0 "$RT2 stop" $ns at 31.0 "$LSR1 release-lsp-using-release 1300" $ns at 40.0 "$SBT stop" $ns at 40.0 "$HBT stop" $ns at 40.0 "$RT1 stop"
ANALIZA KARAKTERISTIKA MPLS MRE@NOG SIMULATORA