This is an old revision of the document!
Rezolvarea colocviului va fi urcata aici.
Justificati fiecare raspuns, insa in nu mai mult de un paragraf pentru task-urile 0, 1 si 3.
Graficele pentru task-ul 2 se fac în matplotlib/gnuplot (sau altceva). Nu demarați task-ul 4 decât dacă sunteti sigur că ați obținut deja 100%.
Dacă vreți să creați folder nou pe calculatoarele voastre:
git clone https://gitlab.com/b12mihai1/ns-3-dev.git ~/ns-3-dev cd ~/ns-3-dev git checkout -b isrm_2020 remotes/origin/isrm_2020 git submodule init git submodule update --remote --merge git submodule foreach git pull origin master ./waf configure --build-profile=debug --enable-examples --enable-tests && ./waf build -j4
Dacă folosiți mașina virtuală:
student@isrm-vm:~$ cd ~/ns-3-dev
Verificați că sunteți pe branch-ul isrm_2020
din remote-ul https://gitlab.com/b12mihai1/ns-3-dev.git:
student@isrm-vm:~/ns-3-dev$ git remote -v origin https://gitlab.com/b12mihai1/ns-3-dev.git (fetch) origin https://gitlab.com/b12mihai1/ns-3-dev.git (push) student@isrm-vm:~/ns-3-dev$ git branch -vv * isrm_2020 5993ca379 [origin/isrm_2020] fix submodules to have https instead of ssh master da1b41ed1 [origin/master] tcp: Ensure that congestion state is set after every notification
Rulați următoarele comenzi pentru update-ul submodului din examples/ns3-labs
:
student@isrm-vm:~/ns-3-dev$ git submodule update --remote --merge
Dacă cea de mai sus nu merge alternativ puteți încerca:
student@isrm-vm:~/ns-3-dev$ git submodule foreach git pull origin master
Într-un setup de tip infrastructură 802.11g
cu MCS
egal cu 12Mbps
, fiecare
client rulează un flux uplink UDP (CBR)
cu AP-ul . Rata de transmisie (offeredRate
) reglată de clienți este cât mai apropiată de capacitatea maximă a canalului (ei își doresc să trimită la 12 Mbps).
Ne propunem să investigam relația dintre valorea medie de interarrival time a pachetelor receptionate de catre AP (de la clienti) în funcție de populația de clienți.
Exemplu: pachetul 1 este receptionat la 1.05 secunde, pachetul 2 este receptionat la 1.08 secunde. In consecinta, valoarea interarrival time este egala cu 0.03 secunde (30 de milisecunde).
Vom folosi scriptul colocviu.cc
care poate fi rulat astfel:
./waf --run "colocviu --numberOfNodes=2"
Argumentele suportate de script sunt urmatoarele:
cmd.AddValue ("numberOfNodes", "Number of nodes", numberOfNodes); cmd.AddValue ("runTcp", "Run either TCP or UDP", runTcp); cmd.AddValue ("enableRtsCts", "RTS/CTS enabled", enableRtsCts); cmd.AddValue ("payloadSize", "Payload size in bytes", payloadSize); cmd.AddValue ("offeredRate", "Offered TX data rate (format XMbps) for application", offeredRate); cmd.AddValue ("phyRate", "Physical layer bitrate", phyRate); cmd.AddValue ("simulationTime", "Simulation time in seconds", simulationTime); cmd.AddValue ("tracing", "Enable/disable PCAP Tracing", pcapTracing);
In urma rularii scriptului, ar trebui sa vedeti un output similar cu:
IP Address: Interarrival time average (ms) 10.0.0.2: 2.5722 10.0.0.3: 2.55789 Interarrival time total average (ms): 2.56505
Acest output contine valoarea medie de interarrival time pentru pachetele generate de fiecare client in parte (10.0.0.2
si 10.0.0.3
), precum si valoarea medie totala a interarrival time pentru toti clientii (este, de fapt, media valorilor medii de interarrival time pentru fiecare client).
Ipoteza/intrebarea de la care vom porni analiza (estimare): valoarea medie totala a interarrival time descreste odată cu creșterea numărului de clienți în rețea?
In cadrul exercitiului 2, vom avea de construit un grafic in care pe axa Ox
vom avea numărul de clienți, iar pe axa Oy
avem 2 curbe y1
interarrival time cu RTS/CTS dezactivat si curba y2
: interarrival time cu RTS/CTS activat.
Descrieti setup-ul de simulare și procedura de colectare a datelor: ce modificări efectuăm asupra scriptului de ns3 (daca este cazul), cu ce argumente rulati scriptul de ns3, cum arata scriptul de bash (daca e sa folositi un astfel de script), care este output-ul de care avem nevoie si cum il organizam pentru a construi graficele etc.
Construiti un grafic in care pe axa Ox
avem numărul de clienți, iar pe axa Oy
avem 2 curbe y1
interarrival time cu RTS/CTS dezactivat si curba y2
: interarrival time cu RTS/CTS activat.
Interpretati curbele y1
și y2
obținute. Punctele care trebuie atinse:
Pentru acest bonus, trebuie sa rezolvati din nou task-urile 0-3 folosind fluxuri TCP in loc de UDP.