This is an old revision of the document!


Colocviu

Durata examen: 50 de minute.

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%.

Setup colocviu

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

Enunt

Î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.

Prin interarrival time se intelege diferenta de timp dintre timpii de sosire a doua pachete consecutive receptionate de catre destinatie.

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).

Rulare script

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).

Task-uri

[00] Ipoteza (10p)

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?

[01] Setup si rulare script ns3 (20p)

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.

[02] Construire grafic (30p)

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.

[03] Explicare/interpretare rezultate (40p)

Interpretati curbele y1 și y2 obținute. Punctele care trebuie atinse:

  • interarrival time minim obținut
  • interarrival time maxim obținut
  • monotonia funcțiilor (crescătoare/descrescătoare/constante)
  • comparație între curbe

[04] Bonus - Ipoteza, setup, grafic si interpretare pentru TCP (20p)

Pentru acest bonus, trebuie sa rezolvati din nou task-urile 0-3 folosind fluxuri TCP in loc de UDP.

isrm/laboratoare/new/colocviu.1589823269.txt.gz · Last modified: 2020/05/18 20:34 by vlad.traista
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0