This is an old revision of the document!
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ă două fluxuri UDP (CBR)
cu AP-ul - unul uplink, apoi imediat/concomitent altul downlink. În ambele fluxuri de trafic rata de transmisie (sendingRate
) reglată de AP dar și de clienți este cât mai apropiată de capacitatea maximă a canalului (ei își doresc să trimită la 12 Mbps).
Ne propunem să se investigam relația dintre debitele cumulative uplink și downlink ale fiecărui client în funcție de populația de clienți. Debitele cumulative sunt deja calculate in script si afisate la consola.
Vom folosi scriptul model-colocviu.cc
care poate fi rulat astfel:
./waf --run "model-colocviu --numberOfNodes=2 --simulationTime=20"
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);
Ipoteza/intrebarea de la care vom porni analiza (estimare): throughput-ul uplink și throughput-ul downlink rămân echilibrate pentru fiecare client odată cu creșterea numărului de clienți în rețea?
Descrieti setup-ul de simulare și a procedurii de colectare a datelor: de la ce script pornim, ce modifcări efectuăm asupra lui (daca este cazul), cu ce argumente rulati scriptul (scrieti scriptul de bash si pe foaia de test), ce output 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
pentru uplink total throughput si curba y2
: downlink total throughput
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.