Differences

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

Link to this comparison view

isrm:laboratoare:new:10 [2020/04/27 16:46]
mbarbulescu [[03b] Justificarea ratei de coliziuni]
isrm:laboratoare:new:10 [2023/05/09 12:54] (current)
dragos.niculescu [[03c] Obțtinerea unui throughput mai mare]
Line 5: Line 5:
 ==== [00a] Pregătirea laboratorului ==== ==== [00a] Pregătirea laboratorului ====
  
-Dacă vreți să creați folder nou pe calculatoarele voastre:+<note important>​ 
 +Pe [[:​isrm:​mv|mașina virtuală]] aveți tot ce trebuie în ''/​home/​student/​ns-3-dev''​. ​
  
-<code bash> +Dacă lucrați pe alt dispozitiv trebuie să rulați comenzile:
-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 +
-</​code>​ +
- +
-Dacă folosiți [[:​isrm:​mv|mașina virtuală]]:+
  
 <code bash> <code bash>
-student@isrm-vm:​~$ ​ cd ~/ns-3-dev+student@isrm-vm-2020:~$ git clone https://​gitlab.com/​nsnam/​ns-3-dev.git 
 +student@isrm-vm-2020:~$ cd ~/ns-3-dev 
 +student@isrm-vm-2020:​~/​ns-3-dev$ git checkout -b ns-332-rel ns-3.32 
 +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>​
  
-Verificați că sunteți pe branch-ul ''​isrm_2020''​ din remote-ul https://​gitlab.com/​b12mihai1/​ns-3-dev.git:+Pentru a lansa aplicatia de Jupyter Notebook, rulati urmatoarea comanda:
  
 <code bash> <code bash>
-student@isrm-vm:~/ns-3-dev$ git remote -v +student@isrm-vm-2020:~$ jupyter-notebook
-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-devgit 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+
 </​code>​ </​code>​
- 
-Rulați următoarele comenzi pentru update-ul submodului din ''​examples/​ns3-labs'':​ 
- 
-<code bash> 
-student@isrm-vm:​~/​ns-3-dev$ git submodule update --remote --merge 
-</​code>​ 
- 
-Dacă cea de mai sus nu merge alternativ puteți încerca: 
- 
-<code bash> 
-student@isrm-vm:​~/​ns-3-dev$ git submodule foreach git pull origin master 
-</​code>​ 
- 
 ==== [00b] Rulare script ==== ==== [00b] Rulare script ====
  
Line 197: Line 177:
 Vom obtine 736 coliziuni pe parcursul a 100 de secunde ceea ce inseamna o rata de coliziuni de aproximativ 7 cps. Vom obtine 736 coliziuni pe parcursul a 100 de secunde ceea ce inseamna o rata de coliziuni de aproximativ 7 cps.
  
-Deoarece toate dispozitive sunt în CS, nu avem terminale ascunse, iar coliziunile sunt cauzate de fereastra de contenție. Avem 2 transmițători:​ AP și stația 1, ce emit cadre de lungimi diferite. O coliziune durează până la sfârșitul cadrului cel mai lung (802.11 nu are CSMA/CD). Astfel, durata ​unei coliziuni ​este: 2.19 ms * 7 = 15.33 ms ceea ce inseamna ca dintr-o secunda (1000 ms), 1.53% din timp este irosit de coliziuni.+Deoarece toate dispozitive sunt în CS, nu avem terminale ascunse, iar coliziunile sunt cauzate de fereastra de contenție. Avem 2 transmițători:​ AP și stația 1, ce emit cadre de lungimi diferite. O coliziune durează până la sfârșitul cadrului cel mai lung (802.11 nu are CSMA/CD). Astfel, durata ​coliziunilor dintr-o secunda ​este: 2.19 ms * 7 = 15.33 ms ceea ce inseamna ca dintr-o secunda (1000 ms), 1.53% din timp este irosit de coliziuni.
  
 ==== [02c] Justificarea ratei de coliziuni ==== ==== [02c] Justificarea ratei de coliziuni ====
Line 206: Line 186:
  
 Exprimarea matematica a ideii de mai sus este urmatoarea: Exprimarea matematica a ideii de mai sus este urmatoarea:
-$$ \frac{x}{R_1} + \frac{x}{R_2} + \frac{C}{R_1} = 1 $$ $$ x = (1-\frac{C}{R_1})\frac{R_1R_2}{R_1+R_2} = \frac{{R_2}({R_1} - {C})}{R_1+R_2} = 291 pps$$.+$$ \frac{x}{R_1} + \frac{x}{R_2} + \frac{C}{R_1} = 1 $$ $$ x = \left(1-\frac{C}{R_1}\right)\frac{R_1R_2}{R_1+R_2} = \frac{{R_2}({R_1} - {C})}{R_1+R_2} = 291 pps$$.
  
 Convertim pps in Mbps si o sa obtinem urmatoarea valoare: 291 * 1460 * 8 = 3.398 Mbps, consistent cu ce am obținut în simulare (3.375 Mbps). Convertim pps in Mbps si o sa obtinem urmatoarea valoare: 291 * 1460 * 8 = 3.398 Mbps, consistent cu ce am obținut în simulare (3.375 Mbps).
Line 272: Line 252:
 Dar debitul obținut pentru fiecare flux este doar \(x/2\) = 87pps, adică 1.01 Mbps. Dar debitul obținut pentru fiecare flux este doar \(x/2\) = 87pps, adică 1.01 Mbps.
     * Stația 1 ocupă 175 * 2.19 ms = 383.25 ms -> 38.3% din timp     * Stația 1 ocupă 175 * 2.19 ms = 383.25 ms -> 38.3% din timp
-    * Stația 2 ocupă 175 * 2.19 ms = 206.ms -> 38.3% din timp+    * Stația 2 ocupă 175 * 2.19 ms = 383.25 ms -> 38.3% din timp
     * AP ocupă 175 * 1.18 ms = 206.5 ms -> 20.6% din timp      * AP ocupă 175 * 1.18 ms = 206.5 ms -> 20.6% din timp 
     * Coliziuni - 2.8% din timp (am obtinut anterior 1.9%, o valoare relativ apropiata de 2.8%)     * Coliziuni - 2.8% din timp (am obtinut anterior 1.9%, o valoare relativ apropiata de 2.8%)
Line 278: Line 258:
  
  
 +==== [03c] Obținerea unui throughput mai mare ====
 +
 +     * Cum obținem mai mult de 1.04Mbps + 1.04Mbps în experimentul de la 3b?
isrm/laboratoare/new/10.1587995165.txt.gz · Last modified: 2020/04/27 16:46 by mbarbulescu
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