Differences

This shows you the differences between two versions of the page.

Link to this comparison view

isrm:laboratoare:new:colocviu [2020/05/18 22:33]
vlad.traista
isrm:laboratoare:new:colocviu [2021/05/31 20:37] (current)
vlad.traista [[01] Evolutie PhyRxDropCount (30p)]
Line 1: Line 1:
 ====== Colocviu ====== ====== Colocviu ======
 +
 +<note important>​
 +**Durata examen: 50 de minute.**
 +
 +Rezolvarea colocviului va fi urcata intr-un Pull Request in repo-ul de Github folosit la laborator. Pentru indicatii legate
 +de folosirea acestui repo, puteti arunca un ochi [[https://​ocw.cs.pub.ro/​courses/​isrm/​laboratoare/​new/​02#​github_classroom|aici]].
 +
 +Rezolvarea/​redactarea poate fi facuta integral pe hartie sau pe calculator (asemeni laboratoarelor). In cazul in care rezolvati pe hartie, faceti poze clare din care sa se inteleaga textul si includeti pozele in Pull Request.
 +
 +Justificati fiecare raspuns. ​
 +
 +Nu demarați task-ul **4** decât dacă ati terminat toate exercitiile precedente.
 +</​note>​
 +
 +===== Setup colocviu =====
 +
 +Rulați următoarea comandă pentru actualizarea repo-ului din ''​examples/​ns3-labs'':​
 +
 +<code bash>
 +student@isrm-vm-2020:​~/​ns-3-dev/​examples/​ns3-labs$ git pull
 +</​code>​
 +
 +===== Enunt =====
 +
 +Se dă simularea cu următoarea schemă:
 +
 +{{:​isrm:​laboratoare:​colocviu:​colocviu_2021_topologie.png?​nolink&​300|}}
 +
 +Modelul de propagare este **Log Distance** în 2.4 GHz, exponent 2.6 (simulează o comunicație într-un birou). Stațiile sunt fixe, nu se deplasează. Distanța **x** este setată acum la o valoare în care comunicațiile **AP1 -> STA1** și  **AP2 -> STA2** nu interferează. Traficul este de tip uplink (de la stație către access point). Cele două access point-uri nu comunică între ele.
 +
 +Simularea afișează:
 +  * **Throughput_BSS1**:​ throughput-ul comunicației ''​STA1 -> AP1''​
 +  * **Throughput_BSS2**:​ throughput-ul comunicației ''​STA2 -> AP2''​
 +  * **MacTxDropCount**:​ pachete care urmează să fie transmise, aruncate de layer-ul de MAC
 +  * **PhyTxDropCount**:​ pachete care au fost transmise de MAC, dar pierdute aruncate în timpul transmisiei
 +  * **PhyRxDropCount**:​ pachete care au fost emise cu succes de un transmițător și care au fost pierdute în timpul recepției (e.g. coliziuni)
 +
 +Ne propunem să investigăm relația dintre metricile afișate si distanța.
 +
 +===== Rulare script =====
 +
 +Vom folosi scriptul ''​lab9-wifi-spatial-reuse.cc''​ care poate fi rulat astfel:
 +
 +<code bash>
 +./waf --run "​lab9-wifi-spatial-reuse --x=100"​
 +</​code>​
 +
 +Argumentele suportate de script sunt urmatoarele:​
 +<code bash>
 +Program Options:
 +    --duration: ​      ​Duration of simulation (s) [5]
 +    --interval: ​      Inter packet interval (s) [0.0001]
 +    --d1:             ​Distance between STA1 and AP1 (m) [30]
 +    --d2:             ​Distance between STA2 and AP2 (m) [30]
 +    --x:              Distance between AP1 and AP2 (m) [10000]
 +    --powSta1: ​       Power of STA1 (dBm) [10]
 +    --powSta2: ​       Power of STA2 (dBm) [10]
 +    --powAp1: ​        Power of AP1 (dBm) [21]
 +    --powAp2: ​        Power of AP2 (dBm) [21]
 +    --ccaEdTrSta1: ​   CCA-ED Threshold of STA1 (dBm) [-62]
 +    --ccaEdTrSta2: ​   CCA-ED Threshold of STA2 (dBm) [-62]
 +    --ccaEdTrAp1: ​    ​CCA-ED Threshold of AP1 (dBm) [-62]
 +    --ccaEdTrAp2: ​    ​CCA-ED Threshold of AP2 (dBm) [-62]
 +    --rxSensitivity: ​ global rxSensitivity (dBm) [-92.2]
 +    --enableRtsCts: ​  ​RTS/​CTS enabled [false]
 +</​code>​
 +
 +In urma rularii scriptului, ar trebui sa vedeti un output similar cu:
 +
 +<code bash>
 +Using distance AP1 -> AP2: 10000 meters
 +Throughput_BSS1:​ 9.694 Mbit/s
 +Throughput_BSS2:​ 9.68929 Mbit/s
 +MacTxDropCount:​ 90770
 +PhyTxDropCount:​ 0
 +PhyRxDropCount:​ 0
 +</​code>​
 +
 +===== Task-uri =====
 +
 +===== [00] Evolutie throughput (30p) =====
 +
 +Construiti un grafic care sa reflecte evolutia **throughput-ului** in functie de distanta **x** dintre AP-uri pentru cele 2 retele **BSS1** si **BSS2**.
 +
 +Descrieti setup-ul de simulare și procedura de colectare a datelor: 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.
 +
 +Interpretati curbele obținute in grafic. Punctele care trebuie atinse:
 +  * valoarea minima si maxima obținute
 +  * monotonia funcțiilor (crescătoare/​descrescătoare/​constante)
 +  * comparație între curbe
 +  * justificare
 +
 +===== [01] Evolutie PhyRxDropCount (30p) =====
 +
 +Construiti un grafic care sa reflecte evolutia metricii **PhyRxDropCount** in functie de distanta **x** dintre AP-uri.
 +
 +Descrieti setup-ul de simulare și procedura de colectare a datelor: 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.
 +
 +Interpretati curbele obținute in grafic. Punctele care trebuie atinse:
 +  * valoarea minima si maxima obținute
 +  * monotonia funcțiilor (crescătoare/​descrescătoare/​constante)
 +  * comparație între curbe
 +  * justificare
 +
 +===== [02] Evolutie throughput si PhyRxDropCount cu RTS/CTS (40p) =====
 +
 +Daca activam mecanismul RTS/CTS, care va fi evolutia **throughput-ului**?​ Dar a **PhyRxDropCount**?​
 +
 +Interpretati curbele obținute in grafic. Punctele care trebuie atinse:
 +  * valoarea minima si maxima obținute
 +  * monotonia funcțiilor (crescătoare/​descrescătoare/​constante)
 +  * comparație între curbe (cu RTS/CTS activat vs RTS/CTS dezactivat)
 +  * justificare
 +
 +===== [03] Bonus (20p) =====
 +
 +Pentru distanta **x** dintre AP-uri la care are loc cea mai mare pierdere de cadre de date (adica unde **PhyRxDropCount** are cea mai mare valoare):
 +  - Cresteți valoarea lui **rxSensitivity** la -81 dBm. Ce se întâmplă?​ Justificați.
 +  - Măriți puterea de transmisie a celor două stații la 60 dBm (mențineți **rxSensitivity** la valoarea implicită din simulare). Justificați ce observați.
  
 <​hidden>​ <​hidden>​
isrm/laboratoare/new/colocviu.1589830392.txt.gz · Last modified: 2020/05/18 22:33 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