Differences

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

Link to this comparison view

isrm:laboratoare:new:04 [2020/03/13 23:24]
vlad.traista [[04] Capacitatea ideală simulare UDP/TCP multiple downlink]
isrm:laboratoare:new:04 [2024/03/19 09:04] (current)
mbarbulescu [[00] Pregătire laborator]
Line 3: Line 3:
 ====== Concepte noi ====== ====== Concepte noi ======
  
-TODO: despre ​RTS/CTS+Un mod explicit de rezervare a mediului se face prin intermefdiul pachetelor ''​RTS/CTS''​. Emițătorul trimite RTS, iar receptorul răspunde cu CTS. În pașii 3 și 4 se transmit datele și confirmarea ACK în modul obișnuit. Diferența este acum că nodurile vecine au ocazia să estimeze durata conversației în 4 pași prin citirea câmpului **Duration** fie din RTS, fie din CTS.
  
-====== ​ [00] Pregătire laborator ======+{{ :​isrm:​laboratoare:​rtscts.gif |}}
  
-Intrați în directorul ''​/home/student/Desktop/ISRM/ns-3-dev''​Rulați comenzile:+Mai multe explicații despre RTS/CTS puteți citi: 
 +   * [[https://mrncciew.com/2014/10/26/cwap-802-11-ctrl-rtscts/​|pe mrnccview]] 
 +   * Sec 7.5.1.1 RTS/CTS frame exchange din [[https://​wi-fi.cs.pub.ro/​~dniculescu/​didactic/​isrm/​doc/​%20Next%20Generation%20Wireless%20LANs_%20Throughput,​%20Robustness,​%20and%20Reliability%20in%20802.11n%20%5b2008%5d.pdf|Perahia - Next generation wireless]]
  
-<code bash> +Despre trafic TCP vă recomandăm reîmprospătarea cunoștințelor folosind TCP/IP Illustrated 
-git remote add isrm https://​gitlab.com/​b12mihai1/​ns-3-dev.git ​ +====== ​ [00] Pregătire laborator ======
-git remote update +
-git checkout -b isrm_2020 remotes/​isrm/​isrm_2020 +
-git submodule init +
-git submodule update --remote --merge +
-git submodule foreach git pull origin master ​  # in caz ca cea anterioara nu ne muta pe ultimul commit din master +
-</​code>​+
  
-Dacă directorul nu există rulați comenzile de mai jos și țineți minte unde aveți ''​ns-3-dev''​ folder cu toate lucrurile compilate: 
  
-<code bash+<note important
-git clone https://gitlab.com/​b12mihai1/ns-3-dev.git ~/​ns-3-dev +Pe [[:isrm:​mv|mașina virtuală]] aveți tot ce trebuie în ''​/home/student/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 +
-</​code>​+
  
-Pentru a realiza grafice, ​trebuie ​sa instalam si pachetele de Python:+Dacă lucrați pe alt dispozitiv ​trebuie ​să rulați comenzile:
 <code bash> <code bash>
-student@isrm-vm-2020:​~$ ​sudo apt-get update +student@isrm-vm-2020:​~$ ​git clone https://​gitlab.com/​nsnam/​ns-3-dev.git 
-student@isrm-vm-2020:​~$ ​sudo apt-get install python3-pip +student@isrm-vm-2020:​~$ ​cd ~/ns-3-dev 
-student@isrm-vm-2020:​~$ ​pip3 install matplotlib jupyter +student@isrm-vm-2020:​~/ns-3-devgit checkout -b ns-332-rel ns-3.32 
-student@isrm-vm-2020:​~$ ​sudo ln -~/.local/bin/jupyter-notebook ​/usr/bin/jupyter-notebook+student@isrm-vm-2020:​~$ ​cd ~/ns-3-dev/​examples 
 +student@isrm-vm-2020:​~/ns-3-dev/​examples$ git clone https://​github.com/isrm-lab/ns3-labs.git 
 +student@isrm-vm-2020:​~$ cd ~/ns-3-dev 
 +student@isrm-vm-2020:​~$ ./waf configure --build-profile=debug --enable-examples --enable-tests 
 +student@isrm-vm-2020:​~$ ./waf build -j4
 </​code>​ </​code>​
 +</​note>​
  
 Pentru a lansa aplicatia de Jupyter Notebook, rulati urmatoarea comanda: Pentru a lansa aplicatia de Jupyter Notebook, rulati urmatoarea comanda:
Line 49: Line 42:
 </​code>​ </​code>​
  
 +Daca sunt probleme cu plot-ul (in special in Windows Subsystem for Linux) mai e nevoie de acest pachet:
 +
 +<code bash>
 +sudo apt install -y python3-tk
 +</​code>​
 ====== [01] Capacitatea ideală simulare UDP 2 noduri RTS/CTS ====== ====== [01] Capacitatea ideală simulare UDP 2 noduri RTS/CTS ======
 +
 +Atentie trebuie rulat pentru 802.11b:
 +
 +<code bash>
 +sed -i '​s/​WIFI_PHY_STANDARD_80211g/​WIFI_PHY_STANDARD_80211b/​g'​ ./​ns3-labs/​lab-03-04-capacity/​lab3.cc
 +</​code>​
 +
  
 Re-rulați simularea de capacitate ideală trafic UDP cu 2 noduri activând RTS/​CTS. ​ Re-rulați simularea de capacitate ideală trafic UDP cu 2 noduri activând RTS/​CTS. ​
Line 63: Line 68:
 Inspectați cele trei trace-uri generate: ''​wifi-lab3.tr,​ AccessPoint-0-0.pcap ​ Station-1-0.pcap''​ Inspectați cele trei trace-uri generate: ''​wifi-lab3.tr,​ AccessPoint-0-0.pcap ​ Station-1-0.pcap''​
  
 +Ca template de bash pentru rularea scriptului, puteti folosi urmatorul template:
 +
 +<code bash>
 +
 +for mcs in 1 2 3 4; do
 +   for payload in 100 200 300 400; do
 +
 +        ./waf --run "lab3 --numberOfNodes=2 --payloadSize=$payload --offeredRate=11Mbps --phyRate=$mcs --simulationTime=2 --tracing=true --enableRtsCts=true"​
 +   done
 +done
 +</​code>​
 ====== [02] Capacitatea ideală simulare TCP ====== ====== [02] Capacitatea ideală simulare TCP ======
  
Line 207: Line 223:
 Îmbunătățește RTS/CTS situația TCP-ului? Îmbunătățește RTS/CTS situația TCP-ului?
  
-====== [04] Capacitatea ideală simulare UDP/TCP multiple ​downlink ​======+====== [04] Capacitatea ideală simulare UDP/TCP multiple ​uplink ​======
  
-Vom evalua capacitatea în condiții noi: client unic vs. multipliuplink ​vs downlink. Topologia este una specifică modului infrastructură,​ cu un AP și mai mulți clienți asociați, dar cadrele de beacon, autentificare și asociere sunt omise pentru simplitate. Realizați graficul doar pentru ''​802.11b'',​ ''​payloadSize=1460'',​ ''​phyRate=11Mbps''​+Vom evalua capacitatea în condiții noi: client unic vs. multipli uplink. Topologia este una specifică modului infrastructură,​ cu un AP și mai mulți clienți asociați, dar cadrele de beacon, autentificare și asociere sunt omise pentru simplitate. Realizați graficul doar pentru ''​802.11b'',​ ''​payloadSize=1460'',​ ''​phyRate=11Mbps''​
  
-Scenariul pentru ​downlink ​este urmatorul: ​sursa reprezentata ​de AP, iar destinațiile reprezentate de clienții 1..30 (pana la 30 de clienti).+Scenariul pentru ​uplink ​este urmatorul: ​receptorul este reprezentat ​de AP, iar sursele sunt clienții 1..30 (pana la 30 de clienti).
  
 Folosind acelasi script ca in exercitiile anterioare si variind doar numărul de clienți, construiti grafice care sa arate evolutia debitului cumulativ pentru toate fluxurile in functie de numarul de clienti. Realizati aceste grafice atat pentru trafic UDP, cat si pentru trafic TCP. Folosind acelasi script ca in exercitiile anterioare si variind doar numărul de clienți, construiti grafice care sa arate evolutia debitului cumulativ pentru toate fluxurile in functie de numarul de clienti. Realizati aceste grafice atat pentru trafic UDP, cat si pentru trafic TCP.
  
  
isrm/laboratoare/new/04.1584134667.txt.gz · Last modified: 2020/03/13 23:24 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