You are on page 1of 76

Laborator 1 Familiarizarea cu simulatorul EXata. Rularea unor scenarii simple.

n acest laborator se vor dezvolta urmtoarele abiliti: Pornirea interfeei grafice a EXata i crearea unui scenariu nou Plasarea unor noduri, legturi i crearea unor aplicaii: o Manual o Automat Rularea unei simulri Vizualizarea i interpretarea rezultatelor unei simulri 1. Prezentarea EXata 1.1. Despre EXata EXata este un mediu cuprinztor pentru dezvoltarea protocoalelor, crearea i animarea scenariilor de folosire a reelelor de telecomunicaii i evaluarea performanelor sale. EXata se compune din urmtoarele unelte: EXata Architect - O unealt grafic pentru dezvoltarea i vizualizarea experimentelor. Arhitectul are dou moduri: modul Design pentru crearea scenariilor i modul Visualize pentru rularea i vizualizarea experimentelor. EXata Analyzer O unealt pentru analizarea statisticilor grafice EXata Packet Tracer O unealt grafic pentru afiarea i analizarea urmelor pachetelor EXata File Editor - Un editor de text EXata Command Line Interface (CLI) Acces n linie de comand la simulator EXata poate rula sub Windows, Linux i Mac OS X. O list complet cu cerinele de sistem necesare pentru a funciona se poate gsi n EXata-2.2-InstallationGuide din documentaie. EXata e instalat n directoare diferite, n funcie de sistemul de operare i/sau alegerea utilizatorului. Pe parcursul laboratoarelor urmtoare, directorul de instalare EXata va fi denumit EXATA_HOME. 1.2. Simularea unei reele de telecomunicaii pe baz de scenariu n EXata, o topologie de reea este denumit scenariu. Un scenariu permite utilizatorului s specifice toate componentele unei reele i condiiile n care va opera aceasta. Acestea includ: detaliile reliefului, efectele propagrii undelor electromagnetice (atenuarea de cale, fading, umbrire), subreele cu i fr fir, dispozitive de reea (switch-uri, huburi, rutere), ntreaga stiv de protocoale a diferite componente de reea standard sau definite de utilizator i aplicaii ce ruleaz prin reea. Multe dintre acestea sunt opionale; se poate porni cu un scenariu de baz i se pot specifica apoi ct mai multe detalii necesare pentru a mbunti acurateea modelului simulat.

Simularea Sistemelor de Comunicaii

Laborator 1

1.2.1. Modul de abordare n general,o simulare cuprinde urmtoarele faze: Prima faz este crearea i pregtirea scenariului pe baza descrierii sistemului i a metricilor de interes (vezi 1.2.2). Urmtorul pas este execuia, vizualizarea i analiza scenariului creat i colectarea rezultatelor simulrii. Aceste rezultate pot include animaii ale scenariului, statistici n timp real, statistici finale i output traces Ultima faz este analiza rezultatelor simulrii. De obicei, utilizatorii trebuie s-i adapteze scenariile pe baza statisticilor colectate. 1.2.2. Crearea scenariilor Crearea unui scenariu se face n mai muli pai. Mai nti se configureaz proprietile generale care sunt aplicabile ntregului scenariu. Apoi, se specific topologia reelei prin crearea de subreele, plasarea nodurilor i definirea mobilitii nodurilor. Apoi, este necesar configurarea stivei de protocoale pentru noduri singulare sau grupate, dup cum este necesar. Ultimul pas este configurarea parametrilor pentru colectarea rezultatelor simulrii i controlul n timp real al simulrii. 1.2.3. Fiiere asociate cu un scenariu Exist mai multe fiiere de intrare pentru EXata (ce conin parametrii necesari pentru simulator). Fiierele de intrare sunt text, iar cele principale sunt: Fiierul de configurare a scenariului: Acesta este fiierul principal de intrare pentru EXata i specific scenariul i parametrii pentru simulare. Are de obicei extensia .config. Fiierul de plasare a nodurilor: Acesta constituie o referin pentru fiierul de configurare i specific poziiile iniiale i viitoare ale nodurilor din cadrul scenariului. Are, de obicei, extensia .nodes. Fiierul de configurare a aplicaiilor: Acesta este, de asemenea, apelat de ctre fiierul de configurare a scenariului i specific aplicaiile care ruleaz pe nodurile din scenariu. Are, de obicei, extensia .app n plus fa de acestea, EXata poate folosi i alte fiiere de intrare, dup cum se va vedea i n laboratoarele urmtoare. Acestea depind de modelele specificate n fiierul de configurare. Cnd utilizatorul folosete interfaa n linia de comand, trebuie s le creeze manual. La crearea unui scenariu n modul Architect, fiierele principale, ce reprezint scenariul, sunt create automat. Fiierul principal generat de o rulare a unei simulri n EXata este un fiier cu statistici, cu extensia .stat. Fiierul conine statisticile colectate n cadrul simulrii. Alte fiiere ce pot fi generate de simulator includ fiierul de urmrire (trace) (cu extensia .trace) care nregistreaz urmele pachetelor i fiierul de animaie (cu extensia .anim) care nregistreaz animaia uni scenariu rulat n Arhitect. Att fiierele de statistici i trace sunt de tip text i pot fi deschise cu orice editor de text. n plus, se poate folosi Analyzer pentru a vizualiza coninutul lor ntr-un mod grafic, uor de analizat.
2

Simularea Sistemelor de Comunicaii

Laborator 1

1.3.

Simulare i Emulare

EXata este, de fapt, un emulator de reea care permite evaluarea reelelor de comunicaii, crend o replic virtual a unei reele care se interfaeaz cu reele i aplicaii reale. Un emulator de reea mimeaz funcionalitile unei reele reale, astfel nct aceasta s apar, s interacioneze i s se comporte precum o reea real. Astfel, sistemul emulat nu poate fi deosebit de unul real. Folosirea unui emulator permite o metod de evaluare eficient din punctul de vedere al costurilor a noilor tehnologii nainte de a ncepe construcia propriuzis a reelelor sau sistemelor. Un simulator de reea red comportamentul unei reele reale, dar nu poate interaciona cu aceasta. Folosete o reproducere sau o abstractizare a sistemului real i singurul su scop e de a reproduce comportamentul acestuia. O simulare a unei reele este o metod eficient folosit n cadrul primelor etape de dezvoltare a reelelor. Utilizatorii pot evalua comportamentul primar al reelei i pot testa combinaii ale proprietilor reelei care sunt susceptibile de a funciona. Emularea reelelor ajut la dezvoltarea aa-numitelor net-centric systems sau sisteme de reele, furniznd un mediu n care deciziile de proiectare alese pot fi schimbate rapid i impactul lor evaluat. Utilizatorii pot folosi reeaua emulat i vedea cum aplicaiile lor (VoIP, redare video etc.) se vor comporta cnd sistemul real este construit. Reeaua emulat poate, de asemenea, fi integrat cu sisteme mai vechi pentru a testa interoperabilitatea cu acestea i a forma utilizatorii pentru reelele de generaii viitoare. 2. Prezentarea mediului vizual al EXata, crearea i rularea unui scenariu Interfaa grafic (GUI) a EXata se deschide printr-un dublu click al iconiei de pe Desktop:

La pornirea EXata, implicit acesta se va deschide n modul Architect. Fereastra afiat la pornirea EXata este aceasta:

Simularea Sistemelor de Comunicaii

Laborator 1

Not: Implicit, la pornirea EXata, modul de lucru este emulare. Totodat, la fiecare ncrcare a unui scenariu, modul de lucru este tot emulare. Va trebui, pentru a rula EXata n modul simulare, ca, de fiecare dat, s se selecteze modul Simulation din bara de emulare. S.1. Zona de lucru pentru un nou scenariu este deja creat i ea trebuie doar salvat. Pentru a salva un scenariu, se apas File > Save din meniu (sau Ctrl+S folosind tastatura) i se navigheaz ctre directorul %EXATA_HOME%/scenarios/user. Se denumete scenariul Lab1.config. Se va crea automat un director cu acelai nume n care va fi plasat fiierul .config.

Simularea Sistemelor de Comunicaii

Laborator 1

Din Panoul lateral cu unelte de lucru, de sub bara Devices se selecteaz Default device (prima iconi din stnga). Apoi se face click pe zona de lucru n colurile din stnga-sus i dreapta-jos (se creeaz astfel nodurile 1 i 2). Se face clic n continuare pentru a amplasa mai multe noduri ntre cele dou, aproximativ ca n figura de mai jos:

Se apas pe Select n bara de aspect i apoi se mut nodurile prin zona de lucru folosind mouse-ul. Se face clic dreapta pe un nod i se selecteaz Properties pentru a vedea proprietile implicite ale nodului respectiv:

Simularea Sistemelor de Comunicaii

Laborator 1

Se creeaz o aplicaie de tip CBR (rat de bit constant) ntre nodurile 1 i 2 astfel: n panoul lateral, se apas CBR din bara Applications, apoi se face clic pe nodul 1 i se ine apsat; se deplaseaz mouse-ul pe nodul 2 i se d drumul. Pentru a vedea proprietile implicite ale aplicaiei, se face click dreapta pe legtura CBR i se selecteaz Properties. Se terg toate nodurile n afar de 1 i 2 folosind unealta Select pentru a selecta nodurile i apoi se apas tasta Delete sau se face click-dreapta i se selecteaz Delete din meniul pop-up. Mai simplu, se poate folosi unealta Lasso pentru a se selecta toate nodurile deodat i a le terge.

Simularea Sistemelor de Comunicaii

Laborator 1

n final, ar trebui s rmn doar nodurile 1 i 2 i aplicaia CBR n zona de lucru. Se selecteaz din meniu Tools > Node Placement. Va aprea o astfel de fereastr:

Se introduc urmtoarele setri: Number of Nodes: 25 Placement Model: Uniform Se creeaz nc 2 aplicaii CBR ntre nodurile 21-25 i 5-20. Zona de lucru ar trebui s arate acum aproximativ aa:

Simularea Sistemelor de Comunicaii

Laborator 1

Se alege Simulation din bara de emulare. Se apas acum butonul Run Simulation din Bara de rulare (butonul apoi se pune pauz. ). Se apas butonul Play. Se vizualizeaz pentru o perioad,

n panoul lateral din partea stng, se selecteaz Animation Filters > Event Filters > Node Radio Range:

Se apas Play i se las scenariul s ruleze pn la sfrit. Prin activarea acestui filtru se poate vedea acoperirea radio a unui nod. Zona de lucru va arta aproximativ astfel:

Simularea Sistemelor de Comunicaii

Laborator 1

Se selecteaz din meniu Animation > Step Setting > By Command. Va aprea urmtoarea fereastr:

Se seteaz Command Interval la valoarea 100. Se apas OK. Apoi se apas butonul Step din bar ( ). Astfel simularea va avansa cu un pas de 100 de comenzi, la fiecare apsare a butonului. Apsai de cteva ori, apoi se apas Play i se las scenariul s ruleze pn la sfrit. Se face click pe Output Window din panoul inferior i se observ mesajele de ieire i faptul c scenariul a rulat 100%.(De obicei, dac apare o eroare, zona se extinde automat pentru ca utilizatorul s vad ce erori au aprut).

Simularea Sistemelor de Comunicaii

Laborator 1

Se observ c butonul Analyze Statistics of the Current Scenario a devenit activ. Se apas din nou butonul Run Simulation. Se selecteaz din meniu Animation > Dynamic Statistics > Scenario Statistics. n fereastra ce apare, se seteaz urmtoarele: Se bifeaz IP: Number of Packets Received. Se alege opiunea Per node Se seteaz intervalul dintre dou actualizri succesive ale statististicilor: 100 ms

Se ruleaz scenariul. Rezultatul final arat aproximativ n felul urmtor:

10

Simularea Sistemelor de Comunicaii

Laborator 1

E.1. Se vizualizeaz statisticile apsnd butonul . Se face clic pe Application > CBR Server > Total Packets Sent. Se observ valorile pentru cele 3 noduri client (1, 5 i 21). Se face apoi clic tot n submeniul Application pe CBR Client > Total Packets Received. Q.1. Se compar numrul de pachete de date trimise de clieni (nodurile 1, 5, respectiv 21) cu numrul de pachete primite de ctre servere (2, 20, respectiv 25). De ce difer? Exist soluii pentru ca pierderile de pachete s fie mai mici (ideal nule)? 3. Simularea unei reele cu fir. Utilizarea EXata Packet Tracer S.2. Dac exist scenarii deschise, se nchide fiecare prin apsarea butonului Close Tab ( ). Va rmne zona de lucru implicit. Se salveaz scenariul cu numele Lab1-2 n directorul %EXATA_HOME%/scenarios/user. Se plaseaz pe zona de lucru dou noduri. Se face clic pe unealta Link din panoul lateral de sub tabul Links. Se face clic pe nodul 1 i se trage mouse-ul pn la nodul 2, apoi se d drumul. Se creeaz astfel o conexiune de tip punct-la-punct (cablat) ntre cele 2 noduri.

Se face clic dreapta pe legtur i se alege Properties. Se fac, sau se verific existena urmtoarelor setri: Link Type: Wired MAC Protocol: Abstract Link MAC Symmetric: Yes Bandwidth: 2 Mbps Use Station VLAN Tagging: No
11

Simularea Sistemelor de Comunicaii

Laborator 1

Se face clic pe aplicaia CBR din panoul lateral i se definete o aplicaie CBR de la nodul 2 la nodul 1. n acest moment, se va vedea doar una din cele dou (aplicaia sau legtura punct-la-punct). Faptul c exist mai mult de o conexiune ntre dou noduri va fi denotat de un + care apare deasupra liniei:

Pentru a comuta ntre cele dou, se face clic dreapta i se alege Links and Applications > CBR sau Link.

E.2. Se ruleaz simularea i se vizualizeaz rezultatele. Se apas pe Architect din bara de componente pentru a reveni la modul Architect. Apoi se apas butonul Switch to Design Mode ( )pentru a modifica scenariul.

Se terge aplicaia CBR i legtura punct-la-punct. Se adaug nc 7 noduri: 4 switch-uri conectate n romb (Panoul lateral > Devices > Switch) 2 noduri conectate la unul din switch-uri printr-o legtur punct-la-punct 2 noduri conectate la un hub (Panoul lateral > Network Components > Hub), folosind o legtur 802.3 (legtura se creeaz implicit de tip 802.3)

12

Simularea Sistemelor de Comunicaii

Laborator 1

E.3. Se adaug o aplicaie de tip Lookup ntre nodurile 1 i 4. n EXata, Lookup este un model abstract de trafic de tip cerere/rspuns cum ar fi DNS look-up sau ping. Se seteaz urmtoarele: Reply Delay: 1 ms Start time: 5 min End Time: 10 min

13

Simularea Sistemelor de Comunicaii

Laborator 1

n panoul lateral se apas pe Scenario Properties > Open Scenario Properties.

Se seteaz General Settings > Simulation Time s fie 10 minute

Se ruleaz simularea i se ncearc setarea vitezei de execuie ct mai mic pentru a permite vizualizarea detaliilor animaiei.

E.4. Se vizualizeaz rezultatele, apoi se schimb momentul de start al aplicaiei la 1 minut. Se mai mrete numrul de pachete trimise (Requests to send) la 500 i se reia simularea. Q.2. Se noteaz momentul la care a fost trimis primul pachet de ctre client, momentul la care primul pachet este primit de ctre server i intervalul mediu dintre momentul trimiterii unei cereri i momentul primirii rspunsului (Average Roundtrip Delay). Ce legtur exist ntre valorile obinute? E.5. Se terge aplicaia Lookup i se creeaz din nou o aplicaie CBR ntre nodurile 1i 4. Se face clic dreapta pe aplicaie i se introduc urmtoarele setri: Items to Send: 500 Interval: 20 ms Start Time: 0 s EndTime: 10 s

Q.3. Se ruleaz simularea i se verific statisticile de la CBR Server i CBR Client. Ce se ntmpl? Care ar putea fi explicaia? E.6. Se modific proprietile aplicaiei CBR astfel:
14

Simularea Sistemelor de Comunicaii

Laborator 1

Items to Send: 100 Interval: 200 ms Start Time: 20 s End Time: 50 s

Q.4. Se ruleaz iar simularea i se compar momentul la care a fost trimis primul pachet de ctre client cu momentul la care primul pachet este primit de ctre server. Lund n consideraie aceste valori, care este cauza pierderilor de pachete i care ar putea fi soluia (sau soluiile) pentru remedierea problemei? Se revine n modul Design prin apsarea butonului Switch to Design Mode. Se activeaz modul Packet Tracer astfel: Se face clic pe Scenario Properties > Open Scenario Properties, apoi tabul Statistics and Tracing. Se introduc urmtoarele: Enable Packet Tracing: Yes Trace All Layers: Yes Trace Direction: Both Trace Included Headers: No Enable Access List Tracing: No

E.7. Se ruleaz iar simularea, iar dup terminarea acesteia se face clic pe fiierul .trace corespunztor din fereastra File system din bara de componente i se apas Open din meniul aprut:

15

Simularea Sistemelor de Comunicaii

Laborator 1

Se va deschide modul Packet Tracer i fereastra va arta asemntor cu aceasta:

4. Simularea unei reele fr fir S.3. Se creeaz un nou scenariu cu durata de 2 minute. Se salveaz cu numele Lab1-2. Se verific dimensiunile zonei de lucru. Aceasta trebuie s fie de 1500m x 1500m. Dimensiunile se modific din Scenario Properties > Terrain > Coordinate System > Scenario Dimensions.

Se plaseaz 7 noduri pe diagonal de la colul din stnga-sus la cel din dreapta-jos.

16

Simularea Sistemelor de Comunicaii

Laborator 1

Fiecare scenariu are o subreea fr fir (wireless subnet) implicit. Orice nod plasat n zona de lucru ce nu este conectat la un alt dispozitiv sau o alt subreea face parte din subreeaua implicit. Aceasta nu este reprezentat n nici un fel pe zona de lucru. Se face clic pe View > Display Settings (sau pe butonul din bara de aspect) i se bifeaz IP Address. Astfel, adresele IP asociate fiecrui nod vor aprea pe zona de lucru. Se observ astfel c toate nodurile fac parte din aceeai subreea. Se face clic pe Scenario Properties > Channel Properties. Se fac urmtoarele setri: Number of Channels: 1 Channel Frequency[0]: 2.0 GHz Pathloss Model[0]: FreeSpace (modelul atenurii de cale n spaiu liber)

E.8. Se definete o aplicaie CBR de la nodul 1 la 7. Se aleg parametrii aplicaiei astfel nct s ncap n durata de 2 minute a simulrii. Se ruleaz scenariul i se vizualizeaz rezultatele n Analyzer, notnd numrul total de pachete trimise i recepionate. Se revine n modul Design. Modificarea proprietilor nivelului fizic se poate face fie la nivel de subreea, fie la nivel de nod, fie la nivel de interfa. Fiind mai comod, se vor modifica proprietile subreelei fr fir implicite. Se face clic n panoul inferior pe Table View > Networks, se d clic dreapta pe Default Wireless Subnet i se alege Properties apoi din fereastra care apare, tabul Physical Layer.

17

Simularea Sistemelor de Comunicaii

Laborator 1

Se modific puterile de emisie la valorile 11, 12, 15, respectiv 20 dBm.

E.9. Se ruleaz scenariul, se vizualizeaz rezultatele i se noteaz din nou, numrul de pachete trimise i recepionate. E.10. Se revine n modul Design i, folosind procedura descris mai sus, se deschide fereastra ce conine proprietile nivelului fizic. Se modific rata de date la 5.5 Mbps i se reia simularea. Q.5. Ce se ntmpl acum? (Indicaie: Se verific statisticile de la nivelul MAC > 80211DCF > Packet Drops due to retransmission limit, RTS packets sent i CTS packets sent) Q.6. Se poate modifica scenariul pentru a nu avea pierderi de pachete la rata de transmisie de 2 Mbps?
18

Laborator 2 Simularea reelelor complexe folosind EXata


Scopul acestui laborator este de a dezvolta urmtoarele abiliti: Dezvoltarea unor reele cu fir complexe Depanarea ncrcrii legturilor radio Crearea unui scenariu cu mai mult de un canal radio Diferenierea ntre diversele tipuri de antene Rularea n serie a scenariilor (Batch Experiment) Folosirea modelelor de fading

1. Simularea unei reele cu fir complexe. Crearea rutelor statice. S1. Se creeaz un scenariu cu urmtoarea topologie: Nodurile 1 i 2 sunt conectate la nodul 3 printr-o legtur punct-la-punct de 10 Mbps cu o ntrziere de propagare de 1 ms Nodul 3 este conectat la nodul 4 printr-o legtur punct-la-punct de 1 Mbps cu o ntrziere de propagare de 1 ms Nodurile sunt plasate ca n figur:

Simularea Sistemelor de Comunicaii

Laborator 2

Nodul 1 i nodul 2 trimit fiecare trafic tip CBR ctre nodul 4. Fiecare trimite 750 de pachete de date (512B) la fiecare 1 ms ncepnd de la 0 s la 30 s. Se face clic pe Open Display Settings i se bifeaz IP Address i Interface Name. Se noteaz adresele IP corespunztoare interfeei pentru fiecare nod. Folosind un editor de text, se creeaz un fiier numit Lab2-1.routes-static. Folosind adresele IP ale interfeelor (dac nu se disting, se poate folosi zoom), se definesc urmtoarele rute ca n figur:

Sintaxa unui fiier de rutare este urmtoarea: <identificator nod> <adresa destinaiei> <adresa urmtorului hop> Se verific dac intrrile respect sintaxa i se salveaz i nchide fiierul. Nu are importan unde este salvat fiierul, dar cel mai indicat este n acelai director cu scenariul. Se d clic pe Table View n panoul inferior i apoi sub tabul Networks, se selecteaz, innd apsat Ctrl toate elementele existente (sau alternativ, pe zona de lucru se selecteaz, tot cu Ctrl, toate cele trei legturi), se d clic dreapta i se alege Properties. n fereastra care apare, se face clic pe Routing Protocol i se specific urmtoarele: Specify Static Routes: Yes Static Route File: se navigheaz ctre directorul unde a fost salvat fiierul de rutare i se alege acesta

20

Simularea Sistemelor de Comunicaii

Laborator 2

n Display Settings se bifeaz Queues pentru a vizualiza cozile de ateptare ale nodurilor. Se apas Run i, nainte de a apsa Play, se verific sub Event Filters, activarea filtrului Packet Queuing. Se apas Play pentru a rula scenariul. Se vizualizeaz rezultatele. E1. Notai numrul de pachete primite de server, respectiv trimise de client. Notai numrul de pachete aruncate de nivelul reea (Network->FIFO->Total Packets Dropped) E2. Modificai parametrii scenariului astfel nct s nu mai existe pachete aruncate. E3. Schimbai direcia uneia dintre legturile CBR (de ex: n loc de 1->4 s fie 4->1). Modificai corespunztor fiierul Lab2-1.routes-static. Rulai din nou scenariul i notai statisticile cerute la E1 2. Simularea unei reele complexe fr fir. Crearea mai multor canale radio. S2. Se creeaz un nou scenariu numit Lab2-2. Nodurile se plaseaz conform ilustraiei de mai jos:

21

Simularea Sistemelor de Comunicaii

Laborator 2

Se deschide Scenario Properties > Channel Properties. Se adaug un nou canal radio modificnd Number of Channels la valoarea 2. Se apas iconia pentru a vizualiza i modifica proprietile celor dou canale radio. Canalele apar ntr-o list i sunt indexate ncepnd cu 0. Se modific frecvena canalului 1 la valoarea 2,5 GHz.

22

Simularea Sistemelor de Comunicaii

Laborator 2

Se adaug dou subreele fr fir, i se conecteaz nodurile ca n figura de mai sus folosind unealta Link din panoul lateral. Se modific proprietile ambelor subreele astfel nct fiecare s utilizeze canale radio diferite. Pentru aceasta se face clic dreapta pe fiecare din subreelele reprezentate pe zona de lucru, se alege Properties > Physical Layer i se editeaz valorile cmpurilor Listenable i Listening Channel Mask, astfel nct s aib valorile 10 pentru cea din stnga i 01 pentru cea din dreapta:

23

Simularea Sistemelor de Comunicaii

Laborator 2

Se adaug o aplicaie Traffic Gen de la nodul 1 la nodul 5 cu urmtorii parametri: Start Time Distribution: Deterministic o Start Time: 1 s Duration Distribution: Deterministic o Duration Time: 30 s Packet Size Distribution: Uniform o Smallest Packet Size: 1 byte o Largest Packet Size: 2020 bytes Packet Interval Distribution: Uniform o Shortest Packet Interval: 10 ms o Longest Packet Interval: 100 ms Restul parametrilor rmn cei implicii. E4. Se ruleaz simularea i se noteaz rezultatele (numrul de pachete data units trimise i recepionate, ntrzierea cap-la-cap i jitter-ul). Dac numrul de pachete recepionate este mai mic dect cel de pachete trimise, se noteaz i cte pachete au fost aruncate (fie la Network fie la MAC->802.11DCF->Packet drops due to retransmission limit).
24

Simularea Sistemelor de Comunicaii

Laborator 2

3. Rularea experimentelor n serie (batch mode). Folosirea modelelor de propagare. S3. Se creeaz un nou scenariu numit Lab2-3. Acesta va consta n urmtoarele: 25 de noduri distanate la 300m unul de cellalt o Se alege din meniu Tools > Node Placement. Se introduc setrile: Number of Nodes: 25 Placement Model: Grid Grid Unit: 300 o Se apas OK

O aplicaie CBR de la nodul 21 la nodul 5

25

Simularea Sistemelor de Comunicaii

Laborator 2

Se folosete modul de execuie n serie (Batch Mode) pentru a rula scenariul cu urmtoarele configuraii: o Model de propagare deasupra suprafeelor reflectante (Two-Ray) sau n spaiu liber (Free Space) (Scenario Properties->Channel Properties>Pathloss Model) cu nlimile antenelor de 1,5 i 3,5 m (Default Wireless Subnet Properties->Physical Layer->Specify Antenna Model From File>Antenna Height)

Pentru a rula n modul Batch, se lucreaz cu tabul Batch Experiments din panoul inferior. Parametrii ce trebuie modificai n cursul simulrilor multiple trebuie adugai fiecare n tabelul cu parametri din Batch Experiments. Acest lucru se face mergnd la fereastra de editare a parametrului ca n cazul unui scenariu obinuit, se face click pe acel parametru i se apas butonul Add to Batch. Atenie! Dac un parametru este dependent de un parametru printe, atunci acela trebuie adugat primul n tabelul cu parametri. De exemplu, pentru a aduga Pathloss Model, trebuie mai nti adugat parametrul Number of Channels

26

Simularea Sistemelor de Comunicaii

Laborator 2

Pentru a specifica valorile pentru fiecare parametru se apas butonul corespunztor fiecrui parametru din coloana Value ceea ce va duce la deschiderea unui editor pentru specificarea parametrilor. Se introduce fiecare parametru i se apas Add de fiecare dat. Dup ce se introduc toi parametrii, se nchide editorul. Se apas apoi butonul Run Experiments, ceea ce va duce la apariia ferestrei de alegere a modului de rulare. Se alege Non-Interactive.

n modul non-interactiv, toate experimentele sunt executate unul dup altul fr intervenia utilizatorului. Execuia scenariului nu este animat. Fiecare din experimente se numete Experiment-1, Experiment-2 .a.m.d. i fiierele asociate fiecrui experiment sunt denumite corespunztor. Acestea sunt plasate automat ntr-un subdirector numit BatchRun din directorul scenariului. E5. Se analizeaz statisticile rezultate n urma execuiei scenariului i se identific experimentul (sau experimentele) cu cele mai bune rezultate (pierderi minime de pachete). Se noteaz, deschiznd fiierul .config corespunztor ce valori ale parametrilor au fost folosite. S4. Pe baza experimentului de mai sus, se ruleaz acelai scenariu n mod Batch cu urmtorii parametri: Parametri implicii Model de propagare Two-Ray cu o nlime a antenei de 1.5 m: o Fr fading o Fading Rayleigh
27

Simularea Sistemelor de Comunicaii

Laborator 2

o Fading Rice (K = 5) E6. Se vizualizeaz i se compar rezultatele simulrilor, notnd valorile parametrilor folosii pentru care s-au obinut rezultatele cele mai bune. 4. Folosirea antenelor directive n simulri Modelele de anten prezente n EXata sunt urmtoarele: omnidirectiv: are acelai ctig pentru orice direcie; orientabil (steerable): direcia lobului principal poate fi variat, pentru maximizarea ctigului ntr-o anumit direcie; cu comutare a lobului principal (switched beam): are mai multe caracteristici de radiaie dintre care este aleas cea cu ctigul cel mai mare pentru direcia dat.

S5. Se creeaz un nou scenariu intitulat Lab2-4. Se plaseaz 3 noduri n linie la o distan de aproximativ 500 m ntre ele i se creeaz o aplicaie CBR ntre nodurile 1 i 3. Se vor folosi setrile implicite mai puin modelul de anten.

Se seteaz modelul de anten la anten direcional tot la nivelul subreelei fr fir implicite. n tabul Physical Layer din proprietile acesteia, se scriu urmtoarele: Specify Antenna Model from Files: No Antena Model: Switched Beam

28

Simularea Sistemelor de Comunicaii

Laborator 2

Antena Azimuth Pattern File: se navigheaz EXATA_HOME/data/antenna/default.antenna-azimuth

se

alege

fiierul

Apoi, n tabul MAC Layer se seteaz opiunea Enable Directional Antenna Mode: Yes i se las setrile care apar implicite.

29

Simularea Sistemelor de Comunicaii

Laborator 2

Se ruleaz scenariul, ncetinind viteza de execuie pentru a se putea observa caracteristicile de radiaie ale antenelor. Dac simularea ruleaz prea repede chiar i la viteza cea mai mic, se poate mri durata simulrii mpreun cu o cretere corespunztoare a numrului de pachete generate.

Se observ rezultatele i apoi se ncearc urmtoarea modificare:

30

Simularea Sistemelor de Comunicaii

Laborator 2

E7. Se adaug nc dou noduri n mijloc, ntre cele 3 noduri. Se ruleaz scenariul i se observ rezultatele, apoi se revine la modul Design i se mut cele dou noduri n sus sau n jos. Se ruleaz din nou scenariul. Ce se observ?

Se revine n modul Design i se mut unul din noduri napoi pe linie. Se seteaz, folosind paii de mai devreme, modelul de anten la steerable antenna. Se alege fiierul steerable.antenna-azimuth:

E8. Se ruleaz scenariul i se observ diverii lobi laterali.


31

Simularea Sistemelor de Comunicaii

Laborator 2

32

Laborator 3 Simularea unei reele GSM. Folosirea utilitarelor auxiliare ale EXata
1. Utilitarul Radio Range Programul radio_range, localizat n directorul EXATA_HOME/bin este un utilitar n linie de comand care ntoarce acoperirea radio a unui nod, lunnd n consideraie setul de parametri specificai n fiierul de configurare (.config) al scenariului. Presupune c nu exist interferene de la celelalte emitoare. Valorile date de acest utilitar sunt aproximative, din moment ce componentele aleatoare cum ar fi fadingul i umbrirea nu sunt luate n consideraie la estimarea distanei. Pentru a folosi programul radio range, se deschide o linie de comand se schimb directorul curent cu cel n care e plasat scenariul i se apeleaz programul ca mai jos:
c:\snt\exata\2.2\scenarios\user\director_nume_scenariu>..\..\..\bin\radi o_range.exe nume_scenariu.config

Se va afia ceva similar cu linia de mai jos: (exemplu pentru 802.11):


radio radio radio radio range: range: range: range: 483.741m, 370.968m, 356.973m, 283.554m, for for for for 802.11b 802.11b 802.11b 802.11b data data data data rate rate rate rate 1.0 Mbps 2.0 Mbps 5.5 Mbps 11.0 Mbps

Simularea Sistemelor de Comunicaii

Laborator 3

2. Scriptul Urban Grid Scriptul Urban Grid (urban_grid.pl) este un script scris n limbajul Perl plasat n directorul EXATA_HOME/bin care poate fi folosit pentru a genera eantioane de date cu caracteristici ale terenului (cldiri, strzi, parcuri, staii de metrou) n format de teren specific EXata (un fiier tip .xml). Datele sunt generate n coordonate carteziene. Strzile sunt aranjate ntr-o gril. O staie de metrou este plasat n fiecare din cele 4 coluri ale grilei. Un bloc al grilei trebuie s fie un parc. Toate celelalte blocuri au cldiri plasate aleator. nlimile cldirilor sunt alese la ntmplare dintr-o gam specificat. Liniile sunt numerotate ncepnd cu 0, crescnd n direcia axei Y. Coloanele sunt numerotate ncepnd de la 0, crescnd n direcia axei X. Semafoare nu sunt generate cu acest utilitar. Datele de ieire sunt afiate pe ecran dac nu sunt direcionate ctre un fiier. Pentru a folosi scriptul Urban Grid, se tasteaz urmtoarea comand (toi parametrii trebuie scrii pe o singur linie):
perl urban_grid.pl <num_linii> <num_col> <lat_grila> <lat_strada> <linie_parc> <coloana_parc> <inalt_min> <inalt_max>

unde
<num_linii> <num_col> <lat_grila> <lat_strada> <linie_parc> <coloana_parc> <inalt_min> <inalt_max>

numrul de linii generate numrul de coloane generate Distana dintre blocuri n metri Limea strzilor n metri Numrul liniei unde parcul este situat Numrul coloanei unde parcul este situat nlimea minim a unei cldiri nlimea maxim a unei cldiri

Exemplu de utilizare(textul afiat n consol va fi direcionat ctre fiierul mapdata001.xml) :


perl urban_grid.pl 3 3 320 20 1 1 50 100 > ../mapdata001.xml

Not: Comanda perl va funciona numai dac este instalat o variant de perl pe staia de lucru. Comanda de mai sus va produce fiierul de teren mapdata001.xml plasat n directorul EXATA_HOME. Pentru a-l ncrca ntr-un scenariu din EXata, se procedeaz n felul urmtor:
34

Simularea Sistemelor de Comunicaii

Laborator 3

Se creeaz un nou scenariu i se salveaz cu numele ales Se navigheaz la Scenario Properties > Terrain i se introduc umtoarele: o Specify Urban Terrain Features: Yes o Urban Terrain Features Format: EXata Terrain Format o Number of Terrain Files: 1 o Urban Terrain Features File[0]: cale_ctre_fiier/mapdata001.xml Se apas OK

Spaiul de lucru arat astfel:

Aceasta este o privire de sus, corespunztoare modului de vizualizare implicit al EXata i anume X-Y View. Pentru a vedea terenul din perspectiv, se va alege modul 3-D View din meniul de vizualizare:

Acum, terenul arat astfel:

35

Simularea Sistemelor de Comunicaii

Laborator 3

Pentru a manipula vizualizarea n mod 3-D a scenariului, se pot folosi urmtoarele butoane: Rotate (3D View) Pan Zoom - Rotete imaginea

- Mut/mic vederea scenariului - Mrete - Vedere de aproape a unei anumite poriuni a spaiului de

Binoculars (3D View) lucru Free Camera (3D View)

- Micare liber a camerei

Not: Scriptul urban_grid.pl genereaz o zon dreptunghiular cu blocurile ocupate fiecare fie de parc sau cldiri. Pentru a genera un teren oarecare dorit exist dou variante: 1. Se genereaz folosind scriptul Urban Grid o gril cu dimensiuni acoperitoare relativ la terenul dorit, dup care se editeaz fiierul .xml generat, tergnd din acesta etichetele corespunztoare obiectelor nedorite. De exemplu, dac se dorete tergerea unei cldiri, se terge marcajul <Building>....</Building> corespunztor; dac se dorete tergerea unei strzi, se terge marcajul <Street_Segment>...</Street_Segment> .a.m.d. 2. Dac se dispune de terenul dorit n format ESRI (extensia .shp), atunci se poate folosi utilitarul Shapefile-to-XML disponibil n acelai director. Acesta va converti terenurile din format ESRI n format .xml folosind urmtoarea sintax:
shptoxml [<opiuni>] <nume_fiier>

Lista cu opiuni, precum i alte detalii se gsesc n Anexa D5 din EXata Users Guide

36

Simularea Sistemelor de Comunicaii

Laborator 3

3. Simularea unei reele GSM E1. Se creeaz un nou scenariu cu numele Lab3-1.config i se creeaz 8 canale radio cu urmtoarele proprieti: 4 canale (Fiecare este o pereche de legturi ascendent i descendent) cte unul pentru fiecare staie de baz Frecvena pe canalul ascendent este fa = 890 MHz + 0,2*n (unde n este numrul canalului) Frecvena pe canalul descendent este fd = fa + 45 MHz

1. Se completeaz urmtoarele cmpuri la Scenario Properties > Channel Properties: o Number of Channels: 8 o Channel Frequency[0]: 935 MHz o Channel Frequency[1]: 890 MHz o Channel Frequency[2]: 935.2 MHz o Channel Frequency[3]: 890.2 MHz o Channel Frequency[4]: 935.4 MHz o Channel Frequency[5]: 890.4 MHz o Channel Frequency[6]: 935.6 MHz o Channel Frequency[7]: 890.6 MHz 2. La Statistics and Tracing > File Statistics se bifeaz GSM 3. Se face clic pe Tools > Toolset Editor > Customized Toolbar i se adaug nodurile GSM-BASE-STATION, GSM-MOBILE-STATION i GSM-MOBILESWITCHING-CENTER n bara de unelte Devices. Se apas OK. (Dac sunt deja prezente, se ignor acest pas.)

37

Simularea Sistemelor de Comunicaii

Laborator 3

4. Se plaseaz 2 staii de baz mpreun cu un MSC ntre acestea. Se conecteaz toate BS-urile printr-o subreea fr fir. Se conecteaz fiecare BS cu MSC-ul. Apoi se adaug 7 staii mobile. Zona de lucru ar trebui s arate acum aproximativ ca n figura de mai jos.

5. Se configureaz GSM la nivelul staiilor de baz i MSC: o Din Table View->Networks se face clic dreapta pe Wireless Subnet (nu Default Wireless Subnet), se alege Properties > Physical Layer i se completeaz urmtoarele: Listening Channel Mask: 00000000 (0 pentru toate canalele) Radio Type: GSM Packet Reception Model: BER-based Reception Model Number of BER Tables: 1 BER Table[0]: C:/snt/exata/2.2/data/modulation/gmsk.ber o Se trece la MAC Layer i se completeaz: MAC Protocol: GSM GSM Control Channel List: poate rmne valoarea implicit, va fi configurat ulterior la nivel de nod. o La Network Layer > General Properties se scrie: Network Protocol: GSM Layer3 GSM Node Type: Base Station
38

Simularea Sistemelor de Comunicaii

Laborator 3

o Se apas OK o Se face clic dreapta pe Default Wireless Subnet, se alege Properties > Physical Layer i se completeaz urmtoarele: Listening Channel Mask: 00000000 (0 pentru toate canalele) Radio Type: GSM Packet Reception Model: BER-based Reception Model Number of BER Tables: 1 BER Table[0]: C:/snt/qualnet/5.0/data/modulation/gmsk.ber o Se trece la MAC Layer i se completeaz: MAC Protocol: GSM GSM Control Channel List: [0 4] (canalele de control ale tuturor staiilor de baz din simulare) o La Network Layer > General Properties se scrie: Network Protocol: GSM Layer3 GSM Node Type: Mobile Station o Se face apoi clic dreapta pe Link, se alege Properties > Network Protocol i se alege Network Protocol: GSM Layer3 o Se repet pentru cealalt legtur punct-la-punct o Se face clic pe MSC i se specific: La Network Layer > General Properties se scrie: Network Protocol: GSM Layer3 GSM Node Type: Mobile Switching Center 6. Se aloc un canal de control pentru fiecare staie de baz: o Se face clic dreapta pe BS1 i se alege Properties > Interfaces > Interface# > MAC Layer (# corespunde numrului interfeei GSM) o Se introduc urmtoarele: BS Downlink Control Channel: [0] Location Area Code: 226 Cell ID: 1 Channel Range: 0-3 Neighboring Base Stations: 4-226-2 o Se repet pentru BS2: BS Downlink Control Channel: [4] Location Area Code: 226 Cell ID: 2 Channel Range: 4-7 Neighboring Base Stations: 0-226-1 Not: n mod normal, valoarea pentru Neighboring Base Stations nu o s poat fi selectat pentru BS1, deoarece BS2 nc nu a fost configurat. Dup ce BS2 este configurat, se revine i se configureaz Neighboring Base Stations pentru BS1. Dac tot nu apare nimic, va trebui editat manual fiierul Lab3-1.gsm dup sintaxa urmtoare:
39

Simularea Sistemelor de Comunicaii # GSM-BS [NodeId] [Neigh.BS Info] [LAC] [CellId] [ChannelRange] [MSC

Laborator 3 NodeId]

GSM-BS 2 226 2 4-7 3 0-226-1 GSM-BS 1 226 1 0-3 3 4-226-2

7. Se configureaz canalele de control pentru staiile mobile: o Se face clic dreapta pe una din staiile mobile i se alege Properties > Interfaces > Interface0 > MAC Layer o Se introduc urmtoarele: MAC Protocol: GSM GSM Control Channel List: [0 4] o La Network Layer > Network Protocol se alege GSM Node Type: Mobile Station o Se repet paii pentru celelalte 6 staii 8. Se configureaz aplicaiile: o Din bara de aplicaii, se apas pe GSM i se creeaz astfel dou apeluri de voce de la nodul 1 la nodul 3 i, respectiv, de la nodul 5 la nodul 6 o Pentru apelul de la nodul 1 la nodul 3, se configureaz (se face clic dreapta pe GSM i se alege Properties): Call Start Time: 18S Call Duration: 10S o Pentru apelul de la nodul 5 la nodul 6, se scrie: Call Start Time: 15S Call Duration: 12S 9. Se ruleaz simularea i se noteaz urmtorii parametri: Network: o GSM_MS Calls Received Calls initiated Channel Assignments received Location Update Request Received Traffic Packets Sent Traffic Packets Received o GSM_MSC Location Update Request Received Traffic Packets Transferred o GSM_BS Traffic Packets (On Air) Received Traffic Packets (On Air) Sent MAC o GSM_MS Cell Selection Cell Selection Failures
40

Simularea Sistemelor de Comunicaii

Laborator 3

Q1: Comparai numrul de pachete trimise/primite de staiile mobile cu numrul de pachete trimise/primite de staiile de baz, respectiv numrul de pachete transferate de MSC E2: Se creeaz un fiier de teren, conform procedurii de la punctul 2. Numrul de cldiri, precum i nlimile lor sunt la alegere. Se poziioneaz una dintre staiile de baz deasupra unei cldiri. Pentru a-i modifica coordonata pe axa z (pe nlime), se face clic pe nodul respectiv i se completeaz valoarea nlimii dorite n cmpul Z al indicatorilor de poziie. Se ruleaz din nou scenariul. Q2:Se noteaz diferenele (dac exist) dintre valorile statisticilor generate la scenariul precedent i cele generate acum.

E3: Se utilizeaz utilitarul radio_range i se noteaz acoperirea radio a unei staii de baz.

41

Laborator 4 Reele wireless avansate


n acest laborator se vor atinge urmtoarele obiective: Crearea i configurarea unor scenarii n tehnologiile WiMAX i UMTS Configurarea protocoalelor de rutare ntre reele UMTS i IP

1. Configurarea unui scenariu n tehnologia WiMAX S1. Se creeaz un scenariu (Lab4-1) ce conine dou subreele. Subreeaua 1 conine nodurile de la 1 la 10, iar subreeaua 2 nodurile de la 11 la 20. Ambele au protocol MAC de tip 802.16, iar nodurile 1 i 15 sunt staii de baz ale subreelei 1, respectiv 2. Cele 2 staii de baz sunt conectate printr-o legtur de tip punct-la-punct.

Se face clic pe Scenario Properties > Channel Properties i se introduc urmtorii parametri: Number of Channels: 2 Pentru fiecare canal se introduc aceiai parametri: o Channel Frequency: 2.4 GHz o Pathloss Model: Two-Ray o Restul parametrilor rmn cei implicii

Se face clic dreapta pe fiecare din subreelele fr fir i n Properties > Physical Layer se introduc: Listenable i Listening Channel Mask: o 10 pentru subreeaua 1 o 01 pentru subreeaua 2 Radio Type: 802.16 Radio

Simularea Sistemelor de Comunicaii

Laborator 4

Restul parametrilor implicii

n MAC Layer se introduc urmtoarele: MAC Protocol: 802.16 Station Type: Subscriber Station Restul parametrilor implicii

n acest moment, toi parametrii configurai la nivel de subreea vor fi preluai i de ctre nodurile ce aparin acestora. ns, nodurile 1 i 15, fiind staii de baz, fac excepie i trebuie configurate separat. Se face clic dreapta pe nodul 1, i se alege Properties > Interfaces > Interface# > MAC Layer, unde # este numrul interfeei care are ca MAC Protocol 802.16. Se pune Station Type: Base Station i se las restul parametrilor implicii. Se seteaz nlimea antenei de emisie la 10m. Similar se procedeaz i pentru nodul 15.

E1. Se creeaz o aplicaie CBR ntre nodul 9 i nodul 14. Se ruleaz simularea, se vizualizeaz rezultatele. Se noteaz urmtoarele: momentele recepionrii primului i ultimului pachet de date; ntrzierea cap-la-cap numrul total de pachete primite i recepionate.

Dac sunt pierderi de pachete sau o ntrziere excesiv a pachetelor, atunci se ncearc ajustarea n continuare a parametrilor scenariului pentru obinerea unor rezultate ct mai bune (pe baza a ceea ce s-a studiat deja n laboratoarele trecute). S2. Se copiaz scenariul folosind Save As i se salveaz cu numele Lab4-2. Se va aduga acum mobilitate nodului client (nodul 9). Pentru aceasta se face clic pe unelta Mobility (iconia ) din panoul lateral. Apoi se face clic pe nodul pentru care se vrea adugat mobilitatea i apoi se face clic pe zona de lucru n punctul unde urmeaz s se deplaseze nodul. Va aprea un stegule (numit i punct de referin sau waypoint) care va reprezenta
43

Simularea Sistemelor de Comunicaii

Laborator 4

poziia nodului la un moment dat. Se repet aciunea pn cnd zona de lucru arat ca mai jos. Se observ c punctele astfel unite dau traiectoria pe care se va deplasa nodul.

Se face acum clic dreapta pe unul din punctele de referin i se alege Properties ceea ce va deschide un editor unde se pot modifica proprietile acestor puncte. Importante sunt coloanele Simulation Time (momentul simulrii la care nodul va fi n punctul respectiv) i coordonatele punctului. Pe baza acestora, se poate determina viteza pe care o va avea nodul. Trebuie avut grij s nu se defineasc o vitez prea mare, cci va duce la pierderi de pachete. Tehnologia WiMAX (n teorie) permite recepie bun chiar i n condiii de mobilitate foarte mare, pn la 125 km/h. Pentru simularea de fa, se recomand o vitez maxim de 60-80 km/h.

44

Simularea Sistemelor de Comunicaii

Laborator 4

Se face clic dreapta pe nodul 1 i se merge la Properties > Interfaces > Interface# > Mac Layer. Aici se introduc urmtoarele: Enable Mobility Mode: Yes Neighbor BS List: {15}. Restul parametrilor rmn cei implicii

Se procedeaz similar pentru nodul 15, cu deosebirea c staia de baz vecin va fi 1.

Se face click dreapta pe fiecare din subreelele fr fir i n Properties > MAC Layer se pune Enable Mobility Mode: Yes, restul parametrilor rmnnd cei implicii.

45

Simularea Sistemelor de Comunicaii

Laborator 4

Pentru staia mobil, se schimb n Properties > Interfaces > Physical Layer > Listenable i Listening Channel Mask la valoarea 11. Astfel, staia va putea asculta i canalul vecin i se va putea conecta la staia de baz vecin cnd puterea semnalului recepionat de la staia de baz curent scade sub -78 dBm. (vezi parametrul Handover RSS Trigger din figura de mai sus), adic va putea efectua un transfer. E2. Se ruleaz simularea i se vizualizeaz rezultatele. Se noteaz aceiai parametri ca la E1 i, n plus, de sub MAC->802.16e: Number of handovers performed Number of Neigbor BS Scanning performed Number of MOB-MSHO-REQ messages sent i rcvd Number of MOB-BSHO-RSP messages sent i rcvd Number of MOB-HO-IND messages sent i rcvd

E3. Se schimb protocolul de rutare la AODV. Se selecteaz ambele subreele i se modific Properties > Routing Protocol > General > Routing Protocol for IPv4 la valoarea AODV. Se pstreaz toate celelalte setri implicite.

Atenie! Modificarea protocolului de rutare la nivel de subreea va asigura i modificarea protocolului de rutare la nivelul nodurilor ce aparin acestora, dar mai exist legtura punct-lapunct dintre cele dou staii de baz. Se efectueaz clic dreapta pe legtur i se urmeaz aceiai pai pentru a seta protocolul de rutare. Se ruleaz din nou, se verific i se noteaz dac apar mbuntiri ale rezultatelor. Dac nu, se pot micora intervalul de expirare a rutei active (Active Route Timeout Interval) i intervalul de expirare a rutei curente (My Route Timeout Interval). De reinut c ultima trebuie s fie dublul primeia. Se vor nota aceiai parametri ca la E1.
46

Simularea Sistemelor de Comunicaii

Laborator 4

2. Configurarea unui scenariu UMTS S3. Se configureaz urmtorul scenariu (Lab4-3): 1. Se selecteaz nodurile UMTS din Devices de pe panoul lateral i se plaseaz 6 noduri UMTS-UE, 3 noduri UMTS-NodeB, , 2 noduri UMTS-RNC i cte un nod UMTSGGSN, UMTS-SGSN, UMTS-HLR. Not. Dac nodurile nu sunt disponibile pe panou, acestea trebuie adugate. Se face clic pe Tools > Toolset Editor > Customized Toolbar i se adaug nodurile mai sus menionate n bara de unelte Devices.

2. Se plaseaz o subreea fr fir pe zona de lucru. Se conecteaz cele 6 UE i cele 3 NodeB la aceasta. 3. Se conecteaz 2 din cele 3 NodeB la un RNC, iar cel de-al treilea NodeB se conecteaz la cellalt RNC, folosind legturi punct-la-punct Cele dou RNC-uri se conecteaz la SGSN 4. Se creeaz reeaua backbone. Se conecteaz nodul SGSN la GGSN i HLR. HLR se conecteaz la GGSN.

47

Simularea Sistemelor de Comunicaii

Laborator 4

5. Se verific dac Cellular Layer3->UMTS Layer 3 e specificat la Network Protocol pentru toate nodurile. 6. Se creeaz dou canale radio cu parametri implicii. 7. Se configureaz Listenable Channel Mask. Parametrul va permite UE-urilor s asculte canalul descendent (downlink) i NodeB-urilor s asculte canalul ascendent (uplink) al ariei de control SGSN creia i aparin. Cum, de obicei, sunt mai multe UEuri dect NodeB-uri ntr-un scenariu, poate fi mai comod s se configureze mtile pentru UE-uri prin configurarea la nivel de subreea, urmnd a se configura masca pentru fiecare NodeB individual la nivel de interfa. Aadar, pentru subreeaua fr fir din scenariu (cea la care sunt conectate UE-urile) se pune Listenable Channel Mask 10, iar pentru fiecare NodeB se pune Listenable Channel Mask 01 (pe interfaa corespunztoare legturii UMTS). Se procedeaz similar i pentru Listening Channel Mask. 8. Se configureaz pentru subreea urmtoarele MAC Protocol: Cellular MAC Cellular MAC Protocol: UMTS Layer 2 Radio Type: Cellular PHY Cellular PHY Model: UMTS PHY Model 9. Pentru NodeB-uri (nodurile 7,8 i 9) se configureaz Downlink Channel 0 i Uplink Channel 1 la Node Configuration->Network Layer

48

Simularea Sistemelor de Comunicaii

Laborator 4

10. Pentru SGSN i GGSN se configureaz My Home Location Register Server 14 i, doar pentru SGSN, My Primary GGSN Node 13. Tot sub Node Configuration>Network Layer

11. Se configureaz protocolul de rutare pentru SGSN, GGSN i HLR Bellman-Ford (Node Configuration->Routing Protocol). 12. Se creeaz o reea IP. Pentru aceasta se plaseaz 3 noduri Default pe zona de lucru. Se conecteaz un nod (nodul 15) la celelalte 2 (nodurile 16 i 17) i la GGSN prin legturi punct-la-punct.

49

Simularea Sistemelor de Comunicaii

Laborator 4

13. Se configureaz gateway-ul implicit pentru nodurile 15, 16, 17 s fie GGSN-ul. Se merge la Properties > Node Configuration > Routing Protocol. Se pune Configure Default Gateway:Yes i Default Gateway: 13. 14. Se configureaz protocolul de rutare pentru nodurile IP s fie RIP. Se verific faptul c pe interfaa GGSN ctre reeaua IP, valoarea Network Layer este IPv4, iar protocolul de rutare este tot RIP. Legtura punct-la-punct dintre GGSN i nodul 15 trebuie s fie de tip IPv4 nu Cellular Layer3.

15. Se configureaz gateway-ul implicit pentru SGSN nodul 15. 16. Se configureaz o aplicaie CBR ntre unul din nodurile UE (nodul 4, de exemplu) i un nod din reeaua IP (nodul 16, de exemplu). Se configureaz urmtorii parametri: Items to Send: 1000 Item Size: 256 Interval: 32 ms Precedence: 4
50

Simularea Sistemelor de Comunicaii

Laborator 4

Parametrul Precedence specific din ce clas QoS face parte aplicaia (vezi Anexa 2). O valoare de 4 nseamn clasa Streaming. E4. Se salveaz scenariul i se ruleaz, notndu-se rezultatele ca la E1. Q1. Verificai dac apar pierderi de pachete i dac pot fi mbuntite performanele (vezi i Anexele 1 i 2)

51

Simularea Sistemelor de Comunicaii

Laborator 4

Anexe 1. Rutarea ntre reele UMTS i IP Rutarea n scenariile UMTS comport dou aspecte: Este necesar un protocol de rutare n reeaua core UMTS pentru a permite rutarea pachetelor ntre SGSN-uri, GGSN-uri i HLR-uri care ar putea fi la mai multe noduri distan unul de altul. Reelele IP au propria lor arhitectur IP. Pentru a ruta pachetele ntre PLMN i IP, sunt necesare mai ales informaii despre nodurile de la marginile celor dou reele. Acestea sunt descrise mai jos.

Configurrile nodurilor marginale: Acestea trebuie configurate pentru a permite urmtoarele: Rutarea de la reeaua UMTS ctre IP. Nodul GGSN trebuie s ruteze pachetele ctre gateway-ul IP corespunztor. Rutarea de la reelele IP ctre UMTS. Urmtoarele consideraii se aplic: o Ruterele IP de obicei nu tiu adresa IP individual atribuit nodului UE. Totui, trebuie s tie cum s ajung la reeaua UMTS luat ca un ntreg. o Segmentele de adrese IP alocate unui PLMN sunt de obicei configurate static. o Informaiile globale de rutare pentru segmentele de adrese IP ale fiecrei PLMN trebuie fcute cunoscute reelelor IP.

1.1. Tehnci pentru rutarea inter-domeniu 1.1.1. Rutarea folosind BGP Protocolul BGP (Border Gateway Protocol) poate fi folosit pentru a conecta domeniile de rutare ale reelelor UMTS i IP ntre ele. Urmtorii pai trebuie urmai pentru a configura rutarea BGP: 1. Se trateaz domeniul de rutare PLMN ca un sistem autonom 2. Se creeaz sisteme autonome n reeaua IP 3. Se configureaz BGP pentru a anuna informaiile globale de rutare ale PLMN reelelor IP 4. Se configureaz BGP pentru a face cunoscute informaiile globale de rutare ale reelelor IP nodului GGSN al reelei UMTS A se vedea documentaia Multimedia and Enterprise Model Library 1.1.2. Rutarea prin includerea GGSN n reeaua IP

52

Simularea Sistemelor de Comunicaii

Laborator 4

n aceast configuraie, GGSN-ul din reeaua UMTS este inclus n domeniul de rutare al reelei IP. Nodul GGSN e configurat ca gateway implicit al reelei IP. Acesta nva rutele ctre nodurile IP prin intermediul protocolului dinamic de rutare configurat pentru reeaua IP. Metoda funcioneaz n cazul rutrii pachetelor dinspre PLMN ctre reeaua IP. Totui pachetele nu pot fi rutate dinspre reeaua IP ctre PLMN deoarece nodurile IP nu tiu c pachetele trebuie rutate prin GGSN. n acest caz, rute statice sau implicite trebuie folosite. 1.1.3. Folosirea rutelor statice sau gateway-urilor implicite Rutele statice pot fi configurate pentru a informa nodurile IP s ruteze pachetele ctre nodul GGSN al unei reele UMTS. Totui, dac topologia reelei se schimb, rutele statice nu mai sunt corecte. Alternativ, nodul GGSN poate fi configurat ca gateway implicit pentru nodurile IP Dac nodurile IP nu au informaii de rutare pentru adresa de destinaie, ruteaz pachetele ctre gateway-ul implicit. Gateway-ul implicit poate fi la mai multe noduri distan Nodul GGSN poate fi configurat ca gateway implicit pentru noduri IP

Not. Din moment ce un singur gateway implicit poate fi configurat pentru fiecare nod IP, aceast abordare funcioneaz doar dac o singur reea UMTS este conectat la reeaua IP. 2. Configurarea aplicaiilor n scenarii UMTS Aplicaiile de tip servicii cu comutaie de pachete (packet service) din reele UMTS pot fi simulate prin modele de generare de trafic ale EXata. Modelele CBR i VBR pot fi folosite pentru a simula fluxuri coversaionale i de streaming n reele UMTS. Apelurile de voce (servicii cu comutaie de circuite) pot fi simulate prin aplicaia Phone Call. n EXata, modelele de generare de trafic, cum ar fi CBR, VBR, suport configurarea claselor QoS prin trei parametri QoS: PRECEDENCE, TOS i DSCP. n reelele UMTS, doar parametrul PRECEDENCE este suportat. Tabelul urmtor arat corespondena dintre parametrul PRECEDENCE i clase QoS i prioriti.
Tabel 1 Clase QoS i prioriti pentru UMTS

PRECEDENCE 6-7 4-5 3

Clase QoS UMTS i prioriti Conversaional Streaming Interactiv, prioritate = 1

53

Simularea Sistemelor de Comunicaii

Laborator 4

2 1 0

Interactiv, prioritate = 2 Interactiv, prioritate = 3 Fundal

Pentru reelele UMTS, fiecare rate level impune limite asupra ratei de date maxime i dimensiunii maxime a pachetului. Aplicaia CBR/VBR ar trebui configurat astfel nct dimensiunile pachetelor i rata de date se ncadreaz n aceste limite. Tabelele urmtoare dau limitele impuse pentru tipurile de trafic conversaional i streaming.
Tabel 2 Limitele pentru rata de date i dimensiunea pachetului de date pentru trafic conversaional

Rate level

Rata de date maxim (bps)

Dimensiunea maxim a pachetului (octei) 112 48 128 288

1 (TTI 40 ms) 2 (TTI 20 ms) 3 (TTI 20 ms) 4 (TTI 20 ms)

28800 32000 64000 128000

Tabel 3 Limitele pentru rata de date i dimensiunea pachetului de date pentru trafic de tip streaming

Rate level

Rata de date maxim (bps)

Dimensiunea maxim a pachetului (octei) 40 112 256 544

1 (TTI 40 ms) 2 (TTI 40 ms) 3 (TTI 40 ms) 4 (TTI 40 ms)

14400 28800 57600 115200

3. Configurarea aplicaiilor n scenariile WiMAX O proprietate important a tehnologiei WiMAX este suportul su QoS. Totui, n EXata, doar aplicaiile de generare de trafic CBR/VBR au fost modificate astfel nct s dea parametri QoS coreci. Tabelul urmtor d corespondena dintre valorile cmpului PRECEDENCE i clasele de servicii.

54

Simularea Sistemelor de Comunicaii


Tabel 4 Tipuri de servicii pentru WiMAX

Laborator 4

Servicii Unsolicited Grant Service Extended Real-time Polling Service Real-time Polling Service Non-real-time Polling Service Best Effort 7, 5 4 3 6, 2, 1 0

Precedence

Not: Valorile 6, 2, 1 corespund toate tipului nrtPS. Acest lucru permite alocarea diferitelor prioriti fluxurilor nrtPS. Totui, n implementarea din EXata, planificarea nu permite prioriti multiple n cadrul unui tip de serviciu. Planificarea folosete WFQ i ponderile folosite se bazeaz pe cerinele de band ale fluxurilor. Not: n EXata, rutarea traficului folosete PRECEDENCE 6, ceea ce e clasificat ca flux nrtPS. De asemenea, nivelul reea poate afecta QoS dac are mai puin de 8 cozi, din moment ce introduce pachete de tipuri diferite de servicii ntr-o singur coad. Valoarea numrului de cozi IP ar trebui s fie mai mare sau egal cu 8, altfel, aplicaia seteaz un cmp PRECEDENCE de valoare mare pentru pachetele sale i pot fi blocate n cozi de pachete cu valoare PRECEDENCE mai mic. Astfel, pentru a garanta tipurile de servicii, trebuie configurate 8 cozi la nivelul reea.

55

Laborator 5 Modificarea codului surs al EXata


Unul din avantajele simulatorului EXata este posibilitatea utilizatorului de a crea, configura i rula propriile modele de protocoale i reele. EXata este scris integral n C/C++ i poate fi compilat, sub Windows, folosind mediul de dezvoltare C/C++Visual Studio 2008. O list cu alte medii C/C++ n care se poate compila EXata se poate gsi n EXata-2.2Programmers Guide din documentaie. (Alternativ, i nespecificat n Programmers Guide, se poate folosi i mediul Eclipse IDE. Avantajul su este c e un software cross-platform). 1. Compilarea EXata folosind Visual Studio 2008 1.1. Configurarea VS 2008 nainte de a putea compila EXata, VS2008 trebuie configurat o singur dat. Se urmeaz paii de mai jos: 1. Folosind un editor de text, se creeaz un fiier numit Makefile n directorul EXATA_HOME. Acest fiier va conine comenzi pentru redirecionarea ctre un fiier makefile din EXATA_HOME/main (fiierul corespunztor mediului de dezvoltare C/C++ folosit). Fiierul Makefile va conine urmtoarele linii: all: cd main nmake -f Makefile-windows-vc9 rebuild: clean nmake -f Makefile-windows-vc9 clean: cd main nmake -f Makefile-windows-vc9 clean 2. Se deschide Microsoft Visual Studio 2008 fcnd clic pe iconia de pe Desktop

3. Se face clic pe File > New > Project From Existing Code i se introduc urmtoarele: Project file location: C:\snt\exata\2.2 Project name: exata Folder: C:\snt\exata\2.2

Simularea Sistemelor de Comunicaii

Laborator 5

4. Se apas Next i, n fereastra urmtoare se bifeaz How do you want to build the project?: Use external build system i se apas din nou Next 5. Se introdc urmtoarele configurri pentru depanare: Build command line: nmake Rebuild command line: nmake rebuild Clean command line: nmake clean Output (for debugging): bin\exata.exe

6. Se apas Finish

57

Simularea Sistemelor de Comunicaii

Laborator 5

Se va crea astfel proiectul qualnet i va fi ncrcat n fereastra Solution Explorer din dreapta ecranului:

Folosind Solution Explorer, se poate naviga prin structura directoarelor proiectului i deschide fiierele componente pentru a fi editate n mediul de dezvoltare Visual Studio 2008. n figura de mai sus se observ directorul ce conine fiierele surs pentru modulul de WiMAX (802.16). Efectuarea unui dublu clic pe acesta va duce la deschiderea sa n editorul Visual Studio. Se poate comuta pe modul Class View care ofer o privire detaliat asupra tuturor variabilelor, funciilor i claselor existente n cadrul proiectului. Avnd n vedere faptul c simulatorul EXata are un grad ridicat de complexitate cu module implementate prin intermediul mai multor fiiere grupate n directoare, este comod a se folosi Class View pentru a gsi i vizualiza o clas sau structur, componentele ei sau o funcie.

n figura de mai sus, se observ o structur (agent_adv_timer_info), mpreun cu componentele sale. Se poate folosi butonul Search pentru a gsi o anumit structur/clas/funcie. Dac se face clic pe aceasta, vor aprea n fereastra de previzualizare

58

Simularea Sistemelor de Comunicaii

Laborator 5

de dedesubt membrii acelei structuri, iar dac se d dublu clic, se va deschide fiierul ce conine definiia structurii respective, cursorul fiind plasat la linia definiiei. 1.2. Compilarea folosind mediul vizual VS 2008 Odat ce a fost configurat Visual Studio 2008, poate fi folosit n felul urmtor: Se apas pe Build > Build Solution pentru a compila EXata Se apas pe Build > Rebuild Solution pentru a recompila EXata Se apas pe Build > Clean Solution pentru a terge fiierele obiect (cu extensia .obj) 2. Modificarea codului surs a modelului de WiMAX pentru a permite transferul pe baza raportului semnal-zgomot-plus-interferen n modelul de WiMAX din EXata, declanatorul (triggerul) implicit al transferului (handover) este nivelul puterii semnalului recepionat (RSSI). Totui, modelul permite transferul pe baza a trei parametri: Puterea semnalului recepionat (RSS Received Signal Strength) Raportul semnal-zgomot-plus-interferen (CINR Carrier to Interference plus Noise Ratio) ntrzierea dus-ntors a pachetelor (RTD Round Trip Delay) Versiunea 2.2 a EXata d posibilitatea efecturii transferului folosind aceste trei metrici, ns codul surs al EXata conine doar implementarea transferului folosind RSS ca metric. Laboratorul acesta propune modificarea codului surs al EXata pentru a implementa luarea deciziei de transfer pe baza celei de a doua metrici, CINR. Acest lucru presupune urmtorii pai: Identificarea fiierelor i funciilor ce trebuie modificate Scrierea codului corespunztor elului propus avnd ca model codul deja existent pentru transferul pe baza RSS Compilarea EXata Depanarea, n cazul apariiei erorilor de compilare i/sau linkare Modificarea interfeei grafice a EXata pentru a permite alegerea celor 2 metrici de transfer

Codul surs ce implementeaz modulul de WiMAX n EXata este plasat n directorul EXATA_HOME/libraries/advanced_wireless, iar fiierele ce in strict de partea de mobilitate i care vor fi modificate sunt urmtoarele: mac_dot16e.h conine definiiile unor parametri implicii ai transferului, cum ar fi nivelul RSS implicit la care se face transferul sau metrica de transfer ceva fi folosit (RSSI, CINR sau RTD) mac_dot16_ss.h i mac_dot16_ss.cpp implementeaz decizia de transfer iniiat de staia mobil n funcia MacDot16SsUpdateBsMeasurement (...).

59

Simularea Sistemelor de Comunicaii

Laborator 5

mac_dot16_bs i mac_dot16_bs.cpp implementeaz decizia de transfer iniiat de reea n funcia MacDot16BsCheckHandover (...). nainte de a modifica fiierele codului surs al EXata, se efectueaz o copie de siguran a acestora. Poate fi plasat ntr-un director n EXATA_HOME. E1. Se editeaz fiierul mac_dot16e.h i, la linia 64, ntre definiia parametrului i cea a DOT16e_TRIGEGER_METRIC_TYPE_CINR(sic!), se adaug urmtoarele definiii:
DOT16e_DEFAULT_HO_RSS_MARGIN // /** // CONSTANT :: DOT16e_DEFAULT_NBR_SCAN_CINR_TRIGGER : 16.0 // DESCRIPTION :: CINR value to trigger neighbor BS scan // **/ #define DOT16e_DEFAULT_NBR_SCAN_CINR_TRIGGER (16.0) // /** // CONSTANT :: DOT16e_DEFAULT_HO_CINR_TRIGGER : 12.0 // DESCRIPTION :: CINR value to trigger handover decision // **/ #define DOT16e_DEFAULT_HO_CINR_TRIGGER (12.0) // /** // CONSTANT :: DOT16e_DEFAULT_HO_CINR_MARGIN : 2.0 // DESCRIPTION :: Margin in CINR value for choosing the new BS // **/ #define DOT16e_DEFAULT_HO_CINR_MARGIN 2.0

Indicaie: Pentru a sri la o anumit linie, se apas Ctrl+G i se intorduce numrul liniei.

Parametrii de mai sus sunt similari celor legai de RSS i dau valorile implicite ale CINR care declaneaz scanarea staiilor de baz vecine i decizia de transfer. Al treilea parametru d marginea de RSS. La alegerea staiei de baz vecine ctre care s se efectueze transferul, staia mobil va considera doar acele staii de baz ale cror ale cror niveluri RSS sunt mai mari dect nivelul RSS al staiei curente cu cel puin valoarea marginii de RSS. Acest lucru elimin transferurile frecvente. Valorile implicite au fost alese experimental, pe baza simulrilor repetate. E2. Se editeaz fiierul header mac_dot16_bs.h. La linia 529 se adaug urmtorii 2 parametri (scrii ngroat) n structura MacDot16BsPara:
double double double double hoRssTrigger; hoRssMargin; hoCinrTrigger; hoCinrMargin; // RSS level to trigger handover // Margin of RSS level to init Bs HO // CINR value to trigger handover //Margin of CINR to init Bs HO

//dot16e

60

Simularea Sistemelor de Comunicaii

Laborator 5

Parametrii reprezint valoarea CINR care va declana decizia de transfer i marginea cu care trebuie s fie mai mare raportul CINR al staiei vecine dect cel al staiei curente. E3. Se deschide fiierul mac_dot16_bs.cpp. La linia 619 se adaug urmtoarele (scrise ngroat):
........................ // dot16e dot16Bs->para.resrcRetainTimeout = DOT16e_HO_SYTEM_RESOURCE_RETAIN_TIME; IO_ReadString( node, node->nodeId, interfaceIndex, nodeInput, "MAC-802.16e-HANDOVER-TRIGGER-TYPE", &wasFound, stringVal); if(wasFound) { if (strcmp(stringVal, "RSSI") == 0) { dot16Bs->trigger.triggerType = DOT16e_TRIGEGER_METRIC_TYPE_RSSI; IO_ReadDouble( node, node->nodeId, interfaceIndex, nodeInput, "MAC-802.16e-HANDOVER-RSS-TRIGGER", &wasFound, &doubleVal); if (wasFound) { dot16Bs->para.hoRssTrigger = doubleVal; } else { dot16Bs->para.hoRssTrigger = DOT16e_DEFAULT_HO_RSS_TRIGGER; } IO_ReadDouble( node, node->nodeId, interfaceIndex, nodeInput, "MAC-802.16e-HANDOVER-RSS-MARGIN", &wasFound, &doubleVal); if (wasFound) { dot16Bs->para.hoRssMargin = doubleVal;

61

Simularea Sistemelor de Comunicaii


} else { dot16Bs->para.hoRssMargin = DOT16e_DEFAULT_HO_RSS_MARGIN; } } else if (strcmp(stringVal, "CINR") == 0) { dot16Bs->trigger.triggerType = DOT16e_TRIGEGER_METRIC_TYPE_CINR; IO_ReadDouble(

Laborator 5

node, node->nodeId, interfaceIndex, nodeInput, "MAC-802.16e-HANDOVER-CINRTRIGGER", &wasFound, &doubleVal); if (wasFound) { dot16Bs->para.hoCinrTrigger = doubleVal; } else { dot16Bs->para.hoCinrTrigger = DOT16e_DEFAULT_HO_CINR_TRIGGER; } IO_ReadDouble( node, node->nodeId, interfaceIndex, nodeInput, "MAC-802.16e-HANDOVER-CINR-MARGIN", &wasFound, &doubleVal); if (wasFound) { dot16Bs->para.hoCinrMargin = doubleVal; } else { dot16Bs->para.hoCinrMargin = DOT16e_DEFAULT_HO_CINR_MARGIN; } } } // Admission control unit algorithm name dot16Bs->acuAlgorithm = DOT16_ACU_NONE; .................

62

Simularea Sistemelor de Comunicaii

Laborator 5

Codul de mai sus citete din fiierul de configurare mai nti care va fi metrica de transfer (MAC-802.16e-HANDOVER-TRIGGER-TYPE) i apoi citete valorile parametrilor necesari pentru CINR (valoarea la care se ia decizia de transfer i marginea). Acetia sunt stocai n variabilele care au fost create n prealabil n structura MacDot16BsPara din fiierul header (hoCinrMargin i hoCinrTrigger). La linia 15785 se adaug urmtorul cod (cel scris ngroat):
.................... // start dot16e realted init if (dot16->dot16eEnabled) { dot16Bs->configChangeCount = 0; dot16Bs->lastNbrAdvSent = 0; //dot16Bs->trigger.triggerType = DOT16e_TRIGEGER_METRIC_TYPE_RSSI; dot16Bs->trigger.triggerFunc = DOT16e_TRIGEGER_METRIC_FUNC_SERV_LESS_ABSO; dot16Bs->trigger.triggerAction = DOT16e_TRIGGER_ACTION_MOB_SCN_REQ; if (dot16Bs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_RSSI) { dot16Bs->trigger.triggerValue = (signed char) DOT16e_DEFAULT_NBR_SCAN_RSS_TRIGGER; } else if (dot16Bs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_CINR) { dot16Bs->trigger.triggerValue = (signed char) DOT16e_DEFAULT_NBR_SCAN_CINR_TRIGGER; } dot16Bs->trigger.triggerAvgDuration = (unsigned char) DOT16e_DEFAULT_TRIGGER_AVG_DURATION; .......................

Codul de mai sus iniializeaz, n funcie de metrica de transfer aleas, variabila din structura trigger cu valoarea sub care trebuie s scad RSS sau CINR al staiei curente pentru a se ncepe scanarea staiilor de baz vecine.
triggerValue

Decizia de transfer iniiat de staia de baz este implementat n funcia MacDot16BsCheckHandover(...). Aceasta trebuie modificat pentru a ine cont i de CINR ca metric de transfer. La linia 14624 se modific astfel codul:
static void MacDot16BsCheckHandover(Node* node, MacDataDot16* dot16, MacDot16BsSsInfo* ssInfo) { MacDot16Bs* dot16Bs = (MacDot16Bs*) dot16->bsData; Message* pduMsg;

63

Simularea Sistemelor de Comunicaii


// if ul link quality is bad or // system wise, for load balance // it is time to ask SS handover

Laborator 5

if (!ssInfo->inHandover && dot16Bs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_RSSI && !ssInfo->bsInitHoStart && ssInfo->ulRssMean < dot16Bs->para.hoRssTrigger) { int i; double maxBsRssi; ........ if (found && (maxBsRssi - ssInfo->ulRssMean > dot16Bs->para.hoRssMargin)) { ......... } } else if (!ssInfo->inHandover && dot16Bs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_CINR && !ssInfo->bsInitHoStart && ssInfo->ulCinrMean < dot16Bs->para.hoCinrTrigger) { int i; double maxBsCinr; int maxIndex; BOOL found = FALSE; // ATTEN: need further revisit // assume UL and DL are symmetric? maxBsCinr = ssInfo->ulCinrMean; for (i = 0; i < DOT16e_DEFAULT_MAX_NBR_BS; i++) { if (ssInfo->nbrBsSignalMeas[i].bsValid && ((ssInfo->nbrBsSignalMeas[i].dlMeanMeas.measTime + 2 * DOT16_SS_DEFAULT_NBR_SCAN_MIN_GAP) < getSimTime(node)) && ssInfo->nbrBsSignalMeas[i].dlMeanMeas.cinr > maxBsCinr) { found = TRUE; maxBsCinr = ssInfo>nbrBsSignalMeas[i].dlMeanMeas.cinr; maxIndex = i; } } if (found && (maxBsCinr - ssInfo->ulCinrMean > dot16Bs>para.hoCinrMargin)) { pduMsg = MacDot16eBsBuildMobBshoReqPdu( node, dot16, ssInfo, ssInfo->nbrBsSignalMeas[i].bsId); MacDot16BsScheduleMgmtMsgToSs(node, dot16,

64

Simularea Sistemelor de Comunicaii

Laborator 5
ssInfo, ssInfo-

>basicCid, pduMsg); ssInfo->bsInitHoStart = TRUE; ssInfo->lastBsHoReqSent = getSimTime(node); // update stat dot16Bs->stats.numBsHoReqSent ++; if (DEBUG_HO) { MacDot16PrintRunTimeInfo(node, dot16); printf("BS inits a handover for SS w/ basicCid %d to" "bs %d:%d:%d:%d:%d:%d\n", ssInfo->basicCid, ssInfo->nbrBsSignalMeas[i].bsId[0], ssInfo->nbrBsSignalMeas[i].bsId[1], ssInfo->nbrBsSignalMeas[i].bsId[2], ssInfo->nbrBsSignalMeas[i].bsId[3], ssInfo->nbrBsSignalMeas[i].bsId[4], ssInfo->nbrBsSignalMeas[i].bsId[5]); } } } }

Codul de mai sus trateaz transferul iniiat de staia de baz i respect ntru totul algoritmul pentru metrica RSS de transfer, fiind adaptat pentru CINR. Conform codului de mai sus, transferul iniiat de staia de baz are loc astfel: Mai nti ncepe scanarea staiilor de baz vecine. Scanarea ncepe dac: o Staia mobil nu a nceput ea nsi procedura de transfer (condiia !ssInfo>inHandover din if) o Staia de baz nu a nceput deja procedura de transfer (condiia !ssInfo>bsInitHoStart) o Valoarea RSS sau CINR de la staia mobil a sczut sub pragul de transfer (condiia ssInfo->ulRssMean < dot16Bs->para.hoRssTrigger sau ssInfo->ulCinrMean < dot16Bs->para.hoCinrTrigger n funcie de valoarea dot16Bs->trigger.triggerType). Se caut apoi staia de baz care are valoarea RSS sau CINR de la staia mobil mai mare dect cel al staiei de baz curente. Dac acesta este mai mare cu marginea RSS sau CINR atunci se poate iniia transferul ctre staia de baz aleas, prin trimiterea mesajului MOB-BSHO-REQ. E4. Urmeaz tratarea transferului iniiat de staia mobil. Pentru aceasta, mai nti se va edita structura MacDot16SsPara din fiierul mac_dot16_ss.h de la linia 475 pentru a conine variabile legate de metrica CINR de transfer:
............... clocktype nbrMeaLifetime; // timeout for signal quality measure of a BS

65

Simularea Sistemelor de Comunicaii

Laborator 5

double nbrScanRssTrigger; // RSS level to trigger neighbor scan double hoRssTrigger; // RSS level to trigger handover double hoRssMargin; // Margin of RSS level to select new BS double nbrScanCinrTrigger; //CINR to trigger neighbor scan double hoCinrTrigger; //CINR to trigger handover double hoCinrMargin; //Margin of CINR to select new BS // end of 802.16e parameters } MacDot16SsPara; ---------------------------------------------------------------------------

E5. Se editeaz fiierul mac_dot16_ss.cpp pentru a citi metrica de transfer i a iniializa variabilele corespunztoare cu valorile configurate n scenariu (similar ca la staia de baz) la linia 415:
..................... dot16Ss->para.t42Interval = DOT16e_SS_DEFAULT_T42_INTERVAL; dot16Ss->para.t44Interval = DOT16e_SS_DEFAULT_T44_INTERVAL; IO_ReadString( node, node->nodeId, interfaceIndex, nodeInput, "MAC-802.16e-HANDOVER-TRIGGER-TYPE", &wasFound, stringVal); if(wasFound) { if (strcmp(stringVal, "RSSI") == 0) { IO_ReadDouble( node, node->nodeId, interfaceIndex, nodeInput, "MAC-802.16e-NEIGHBOR-SCAN-RSS-TRIGGER", &wasFound, &doubleVal); if (wasFound) { ............... } IO_ReadDouble( node, node->nodeId, interfaceIndex, nodeInput, "MAC-802.16e-HANDOVER-RSS-TRIGGER", &wasFound, &doubleVal); if (wasFound) { ........ }

66

Simularea Sistemelor de Comunicaii

Laborator 5

IO_ReadDouble( node, node->nodeId, interfaceIndex, nodeInput, "MAC-802.16e-HANDOVER-RSS-MARGIN", &wasFound, &doubleVal); if (wasFound) { ........... } } else if (strcmp(stringVal, "CINR") == 0) { IO_ReadDouble( node, node->nodeId, interfaceIndex, nodeInput, "MAC-802.16e-NEIGHBOR-SCAN-CINR-TRIGGER", &wasFound, &doubleVal); if (wasFound) { dot16Ss->para.nbrScanCinrTrigger = doubleVal; } else { dot16Ss->para.nbrScanCinrTrigger = DOT16e_DEFAULT_NBR_SCAN_CINR_TRIGGER; } IO_ReadDouble( node, node->nodeId, interfaceIndex, nodeInput, "MAC-802.16e-HANDOVER-CINRTRIGGER", &wasFound, &doubleVal); if (wasFound) { dot16Ss->para.hoCinrTrigger = doubleVal; } else { dot16Ss->para.hoCinrTrigger = DOT16e_DEFAULT_HO_CINR_TRIGGER; } IO_ReadDouble( node, node->nodeId, interfaceIndex, nodeInput,

67

Simularea Sistemelor de Comunicaii


"MAC-802.16e-HANDOVER-CINR-MARGIN", &wasFound, &doubleVal); if (wasFound) { dot16Ss->para.hoCinrMargin = doubleVal; } else { dot16Ss->para.hoCinrMargin = DOT16e_DEFAULT_HO_CINR_MARGIN; } } }

Laborator 5

dot16Ss->isCRCEnabled = DOT16_CRC_STATUS; dot16Ss->isFragEnabled = DOT16_FRAGMENTATION_STATUS; ...................... ---------------------------------------------------------------------------

Acum, decizia de transfer se ia n funcia MacDot16SsUpdateBsMeasurement. Tot ce trebuie fcut este s se modifice codul de la linia 14620 pentru a ine cont i de CINR ca metric de transfer
static void MacDot16SsUpdateBsMeasurement(Node* node, MacDataDot16* dot16, PhySignalMeasurement* signalMea) { MacDot16Ss* dot16Ss = (MacDot16Ss*) dot16->ssData; MacDot16SignalMeasurementInfo meanMeas; ........ if (dot16->dot16eEnabled && dot16Ss->nbrScanStatus == DOT16e_SS_NBR_SCAN_InScan && dot16Ss->operational) { // update signal measurement of neighbor BS if (dot16Ss->targetBs != NULL) { // update the measurement histroy and return the mean ........... if ( (dot16Ss->servingBs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_RSSI && dot16Ss->targetBs->rssMean > dot16Ss->servingBs->rssMean && dot16Ss->servingBs->rssMean < IN_DB(PhyDot16GetRxSensitivity_mW( node, dot16->myMacData->phyNumber, moduCodeType))) || (dot16Ss->servingBs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_CINR && dot16Ss->targetBs->cinrMean > dot16Ss->servingBs>cinrMean && dot16Ss->servingBs->cinrMean < 5.0)) {

68

Simularea Sistemelor de Comunicaii

Laborator 5

................... } } } else { if (dot16Ss->initInfo.dlSynchronized) { ................... // only when SS has already finish the intitialization with // serving BS could it start the scan and handover procedure if (dot16->dot16eEnabled && dot16Ss->operational && dot16->numChannels > 1) { // check if need to trigger handover if (dot16Ss->nbrScanStatus == DOT16e_SS_NBR_SCAN_None && dot16Ss->hoStatus == DOT16e_SS_HO_None) { if ((dot16Ss->servingBs->rssMean < dot16Ss->para.hoRssTrigger && dot16Ss->servingBs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_RSSI) || (dot16Ss->servingBs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_CINR && dot16Ss->servingBs->cinrMean < dot16Ss>para.hoCinrTrigger )) { // need to init handover if (dot16Ss->nbrBsList != NULL) { // select a nbr BS to perform handover MacDot16SsBsInfo* targetBs; targetBs = MacDot16eSsSelectBestNbrBs(node, dot16); if ((targetBs != NULL && (targetBs->rssMean - dot16Ss->servingBs>rssMean) >= dot16Ss->para.hoRssMargin && dot16Ss->servingBs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_RSSI) || (targetBs != NULL && dot16Ss->servingBs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_CINR && (targetBs->cinrMean - dot16Ss->servingBs>cinrMean) >= dot16Ss->para.hoCinrMargin )) { // find a suitable nbr BS, do handover .............. dot16Ss->targetBs = targetBs; Message* msHoReq; msHoReq = MacDot16eSsBuildMobMshoReqMsg(node, dot16); MacDot16SsEnqueueMgmtMsg(node, dot16, DOT16_CID_BASIC, msHoReq); dot16Ss->hoStatus = DOT16e_SS_HO_LOCAL_Begin; dot16Ss->hoNumRetry = DOT16e_MAX_HoReqRetry;

69

Simularea Sistemelor de Comunicaii

Laborator 5
// set timer and the retry counter when // check outgoing

} else if ((targetBs != NULL && (targetBs->rssMean > dot16Ss->servingBs->rssMean) && dot16Ss->servingBs->rssMean < IN_DB(PhyDot16GetRxSensitivity_mW( node, dot16->myMacData->phyNumber, moduCodeType)) && dot16Ss->servingBs>trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_RSSI) || (dot16Ss->servingBs>trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_CINR && targetBs != NULL && (targetBs->cinrMean > dot16Ss->servingBs->cinrMean) && dot16Ss->servingBs->cinrMean < 5.0 )) { // if the serving BS signal is too weak and // target BS has stronger signal, handover to // target BS though the difference is not over // the handover margin to avoid call dropping ............ dot16Ss->targetBs = targetBs; Message* msHoReq; msHoReq = MacDot16eSsBuildMobMshoReqMsg(node, dot16); MacDot16SsEnqueueMgmtMsg(node, dot16, DOT16_CID_BASIC, msHoReq); dot16Ss->hoStatus = DOT16e_SS_HO_LOCAL_Begin; dot16Ss->hoNumRetry = DOT16e_MAX_HoReqRetry; // set timer and the retry counter when check // outgoing } } else { // no nbr BS in the list, restart } } } // if not in HO or neighbor scan mode, and if RSS is below // the trigger, needs to start neighbor BS scan if (dot16Ss->hoStatus == DOT16e_SS_HO_None && dot16Ss->nbrScanStatus == DOT16e_SS_NBR_SCAN_None && (dot16Ss->servingBs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_CINR || dot16Ss->servingBs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_RSSI) ) { // for RSSI or CINR case if (dot16Ss->servingBs->trigger.triggerFunc == DOT16e_TRIGEGER_METRIC_FUNC_SERV_LESS_ABSO &&

70

Simularea Sistemelor de Comunicaii

Laborator 5

((dot16Ss->servingBs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_RSSI && dot16Ss->servingBs->rssMean < dot16Ss->para.nbrScanRssTrigger ) || (dot16Ss->servingBs->trigger.triggerType == DOT16e_TRIGEGER_METRIC_TYPE_CINR && dot16Ss->servingBs->cinrMean < dot16Ss->para.nbrScanCinrTrigger)) && (dot16Ss->lastScanTime + dot16Ss->para.nbrScanMinGap) <= getSimTime(node)) {// less than threshold if (dot16Ss->servingBs->trigger.triggerAction == DOT16e_TRIGGER_ACTION_MOB_SCN_REQ) { // needs to scan NBR BSs if (DEBUG_NBR_SCAN) { MacDot16PrintRunTimeInfo(node, dot16); printf("inits neighbor BS scan\n"); } // need to start scanning by tx a req to serving BS Message* mgmtMsg; mgmtMsg = MacDot16eSsBuildMobScnReqMsg(node, dot16, NULL); MacDot16SsEnqueueMgmtMsg(node, dot16, DOT16_CID_BASIC, mgmtMsg); dot16Ss->nbrScanStatus = DOT16e_SS_NBR_SCAN_WaitScnReq; dot16Ss->scanReqRetry = DOT16e_MAX_ScanReqRetry; } } } } } }

Codul de mai sus implementeaz transferul iniiat de staia mobil. Procedura este urmtoarea: Se scaneaz staiile de baz vecine. Scanarea este efectuat periodic de ctre staia mobil, atunci cnd valoarea RSS sau CINR de la staia de baz curent este mai mic dect pragul de declanare al procedurii de scanare (condiia dot16Ss->servingBs>rssMean < dot16Ss->para.nbrScanRssTrigger sau dot16Ss->servingBs>cinrMean < dot16Ss->para.nbrScanCinrTrigger ). Transferul se iniiaz n una din urmtoarele situaii: o La iniializarea staiei mobile, dac semnalul recepionat de la staia de baz curent este prea slab, sub pragul de sensibilitate al receptorului (condiia
dot16Ss->servingBs->rssMean IN_DB(PhyDot16GetRxSensitivity_mW(node, >phyNumber, moduCodeType))) < dot16->myMacData-

sau dot16Ss->servingBs->cinrMean < 5.0), se efectueaz transferul ctre o staie de baz cu semnal mai bun
71

Simularea Sistemelor de Comunicaii

Laborator 5

(condiia
>rssMean >cinrMean);

dot16Ss->targetBs->rssMean

>

dot16Ss->servingBs-

sau dot16Ss->targetBs->cinrMean > dot16Ss->servingBs-

o Dac semnalul recepionat de la staia de baz scade sub pragul de transfer (condiia dot16Ss->servingBs->rssMean < dot16Ss>para.hoRssTrigger sau dot16Ss->servingBs->cinrMean < dot16Ss>para.hoCinrTrigger), se iniiaz transferul ctre staia de baz care are nivelul RSS sau CINR mai mare cu marginea de transfer dect cel al staiei de baz curente (condiia (targetBs->rssMean - dot16Ss->servingBs>rssMean) >= dot16Ss->para.hoRssMargin sau (targetBs->cinrMean dot16Ss->servingBs->cinrMean) >= dot16Ss->para.hoCinrMargin) o Dac semnalul de la staia de baz curent este prea slab i o staie de baz vecin are semnal mai bun, se face transferul ctre aceasta dei diferena dintre ele este mai mic dect marginea de transfer pentru a se evita pierderea conexiunii. Se iniiaz transferul ctre staia de baz aleas, prin trimiterea mesajului MOBMSHO-REQ.

E6. Dup ce s-au editat toate fiierele surs, se apas Save All i se compileaz proiectul exata, apsnd Build > Build exata.

Dac nu apar erori de compilare, ecranul Output ar trebui s apar, artnd astfel:

Dac apar cteva warning-uri, nu este nici o problem. 3. Modificarea interfeei grafice a EXata

72

Simularea Sistemelor de Comunicaii

Laborator 5

Acum c s-a efectuat modificarea de cod propus, noile opiuni disponibile, de a putea selecta metrica de transfer i stabili parametrii afereni, trebuie s se reflecte n mediul vizual al EXata. 3.1. Descrierea fiierelor de setri ale interfeei grafice EXata

Mediul vizual EXata ofer ferestre de editare a proprietilor pentru ca utilizatorul s furnizeze parametrii scenariului i ai protocoalelor. Aceti parametri sunt apoi folosii pentru a crea fiierele de configurare ale EXata (.config, .app etc.) care sunt folosite drept fiiere de intrare ale simulatorului EXata. Exist editoare de proprieti asociate cu fiecare component a unui scenariu, cum ar fi dispozitiv (device), legtur, aplicaie sau element de reea. n plus, exist editoare de proprieti pentru configurarea parametrilor globali i la nivel de interfa. EXata Architect folosete 3 tipuri de fiiere pentru a construi editoarele de proprieti. Acestea sunt: Fiiere de componente. Conin informaii structurale pentru afiarea tuturor segmentelor (grupurilor de parametri) ai editorului de proprieti. Au extensia .cmp i se gsesc n directorul EXATA_HOME/gui/settings/components Fiiere de descriere partajate. Conin descrierile segmentelor comune mai multor editoare de proprieti. Au extensia .prt i sunt plasate n directorul EXATA_HOME/gui/settings/protocol_models Fiierul de descriere a setului de unelte. Conine descrierea aspectului Setului de unelte (icoanele pentru fiecare tip de dispozitiv, aplicaie, legtur etc.). Se numete Toolset.xml i e localizat n directorul EXATA_HOME/gui/settings Mai multe detalii se pot gsi n Capitolul 5 (Customizing EXata Graphical User Interface) din EXata-2.2-ProgrammersGuide.pdf. 3.2. Modificarea interfeei grafice a EXata pentru a putea alege metrica de transfer n WiMAX Integrarea codului adugat necesit modificarea unui fiier de descriere partajat. Cum procedura de transfer se declaneaz n funcii ce acioneaz la nivelul MAC n simulator, va trebui modificat fiierul mac_layer.prt din directorul EXATA_HOME/gui/settings/protocol_models. Se efectueaz o copie de siguran a fiierului respectiv i se deschide fiierul original, fie cu un editor de text, fie cu Visual Studio 2008 i se editeaz fiierul n felul urmtor: E7. Se adaug la linia 344 urmtorul text (cel scris ngroat):
<variable name="Enable Mobility Mode (802.16e)" key="MAC-802.16-SUPPORTMOBILITY" type="Selection" default="NO"> <option value="NO" name="No" /> <option value="YES" name="Yes"> <variable name="Handover Trigger Type" key="MAC-802.16e-HANDOVER-TRIGGER-TYPE" type="Selection" default="RSSI"> <option value="RSSI" name="RSSI">

73

Simularea Sistemelor de Comunicaii

Laborator 5

<variable name="Neighbor BS Scanning RSS Trigger (dBm)" key="MAC-802.16e-NEIGHBOR-SCAN-RSS-TRIGGER" type="Fixed" default="-76.0" help="The SS will try to scan neighboring BSs if the receiving signal strength (RSS) from serving BS is below is threshold." /> <variable name="Handover RSS Trigger (dBm)" key="MAC-802.16e-HANDOVER-RSS-TRIGGER" type="Fixed" default="-78.0" help="The SS will try to start handover if the receiving signal strength (RSS) from serving BS is below is threshold." /> <variable name="Handover RSS Margin (dB)" key="MAC-802.16e-HANDOVER-RSS-MARGIN" type="Fixed" default="1.0" help="The SS will only handover to a target BS whose RSS level is higher than that of current serving BS no smaller than this margin." /> </option> <option value="CINR" name="CINR"> <variable name="Neighbor BS Scanning CINR Trigger" key="MAC-802.16e-NEIGHBOR-SCAN-RSS-TRIGGER" type="Fixed" default="18.0" help="The SS will try to scan neighboring BSs if the carrier-to-interference-plus-noise-ratio (CINR) from serving BS is below this threshold." /> <variable name="Handover CINR Trigger" key="MAC-802.16e-HANDOVER-CINR-TRIGGER" type="Fixed" default="12.0" help="The SS will try to start handover if the carrier-tointerference-plus-noise-ratio (CINR) from serving BS is below is threshold." /> <variable name="Handover CINR Margin" key="MAC-802.16e-HANDOVER-CINR-MARGIN" type="Fixed" default="1.5" help="The SS will only handover to a target BS whose CINR is higher than that of current serving BS no smaller than this margin." /> </option> </variable> <variable name="Enable Sleep Mode" key="MAC-802.16e-SS-SUPPORT-SLEEP-MODE" type="Checkbox" default="NO"/> <variable name="Enable Idle Mode" key="MAC802.16e-SS-SUPPORT-IDLE-MODE" type="Checkbox" default="NO"/> </option> </variable>

Acum, se adaug parametrii pentru staia de baz (la linia 403):


<variable name="Enable Mobility Mode (802.16e)" key="MAC-802.16-SUPPORTMOBILITY" type="Selection" default="NO"> <option value="NO" name="No" /> <option value="YES" name="Yes"> <variable name="Handover Trigger Type" key="MAC-802.16e-HANDOVER-TRIGGER-TYPE" type="Selection" default="RSSI"> <option value="RSSI" name="RSSI"> <variable name="Neighbor BS Scanning RSS Trigger (dBm)" key="MAC-802.16e-NEIGHBOR-SCAN-RSS-TRIGGER" type="Fixed" default="-76.0" help="The SS will try to scan neighboring BSs if the receiving signal strength (RSS) from serving BS is below is threshold." /> <variable name="Handover RSS Trigger (dBm)" key="MAC-802.16e-HANDOVER-RSS-TRIGGER" type="Fixed" default="-78.0" help="The SS will try to start handover if the receiving signal strength (RSS) from serving BS is below is threshold." /> <variable name="Handover RSS Margin (dB)" key="MAC-802.16e-HANDOVER-RSS-MARGIN" type="Fixed"

74

Simularea Sistemelor de Comunicaii

Laborator 5

default="1.0" help="The SS will only handover to a target BS whose RSS level is higher than that of current serving BS no smaller than this margin." /> </option> <option value="CINR" name="CINR"> <variable name="Neighbor BS Scanning CINR Trigger" key="MAC-802.16e-NEIGHBOR-SCAN-RSS-TRIGGER" type="Fixed" default="18.0" help="The SS will try to scan neighboring BSs if the carrier-to-interference-plus-noise-ratio (CINR) from serving BS is below this threshold." /> <variable name="Handover CINR Trigger" key="MAC-802.16e-HANDOVER-CINR-TRIGGER" type="Fixed" default="12.0" help="The SS will try to start handover if the carrier-tointerference-plus-noise-ratio (CINR) from serving BS is below is threshold." /> <variable name="Handover CINR Margin" key="MAC-802.16e-HANDOVER-CINR-MARGIN" type="Fixed" default="1.5" help="The SS will only handover to a target BS whose CINR is higher than that of current serving BS no smaller than this margin." /> </option> </variable> <variable name="Neighbor BS List" key="MAC802.16-BS-NEIGHBOR" type="String" default="{}" optional="true" help="A list of neighbor BSs for possiable handover, The neighbor BS list could be in the form of {nodeId1,nodeId2 } or {nodeId1 thru nodeId2} or a combination." />

Se salveaz i se nchide editorul. Dac mediul vizual EXata este deschis, trebuie repornit pentru ca schimbrile s aib efect. Acum, interfaa grafic ar trebui s arate astfel, pentru staia mobil

i pentru staia de baz:

75

Simularea Sistemelor de Comunicaii

Laborator 5

4. Testarea funcionrii codului modificat Se valideaz tot ceea ce s-a realizat pn acum prin rularea unui scenariu. Se alege un scenariu predefinit din cele plasate n directorul EXATA_HOME/scenarios/advanced_wireless. Se copiaz directorul WiMAXHomeToOffice n EXATA_HOME/scenarios/user i apoi se modific metrica de transfer pentru toate nodurile din scenariu la CINR, pstrndu-se valorile implicite. E8. Se ruleaz scenariul i se compar rezultatele cu cele ateptate (fiierul WiMAXHomeToOffice.expected.stat)

76

You might also like