Differences

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

Link to this comparison view

isrm:laboratoare:10 [2014/12/15 07:35]
dragos.niculescu
isrm:laboratoare:10 [2016/01/06 15:41] (current)
dragos.niculescu
Line 40: Line 40:
   - Se dezactivează toate fluxurile în afară de unul pentru a studia un transmițător în izolare: <​code> ​       - Se dezactivează toate fluxurile în afară de unul pentru a studia un transmițător în izolare: <​code> ​    
     ns ./​multirate.tcl -rate0 0.01bps -rate1 0.01bps ​ -rate2 0.01bps -rate3 11Mbps ​ </​code>​ Se obțin 511pps, sau 5.97Mbps pentru AP. Un cadru durează \( \frac{1000}{511} = 1.95ms \) <​code> ​         ns ./​multirate.tcl -rate0 0.01bps -rate1 0.01bps ​ -rate2 0.01bps -rate3 11Mbps ​ </​code>​ Se obțin 511pps, sau 5.97Mbps pentru AP. Un cadru durează \( \frac{1000}{511} = 1.95ms \) <​code> ​    
-    ns ./​multirate.tcl -rate0 0.01bps -rate1 0.01bps ​ -rate2 11Mbps -rate3 0.01bps ​ </​code> ​ Se obțin 77pps, sau 902Kbps pentru statii. Un cadru durează \( \frac{1000}{77} = 12.98ms \)+    ns ./​multirate.tcl -rate0 0.01bps -rate1 0.01bps ​ -rate2 11Mbps -rate3 0.01bps ​ </​code> ​ Se obțin 77pps, sau 902Kbps pentru statii. Un cadru durează \( \frac{1000}{77} = 12.98ms \). E mai greu de folosit fluxurile 1->3 și 2->4 deoarece un pachet trece de două ori prin aer pentru aceste cazuri. Pentru acest setup, cele două treceri sunt la MCS diferite.  ​
   - Se activează doar fluxul 0 (1->​3): ​ <​code> ​       - Se activează doar fluxul 0 (1->​3): ​ <​code> ​    
     ns ./​multirate.tcl -rate0 902Kbps -rate1 0.01bps ​ -rate2 0.1bps -rate3 0.1bps ​ </​code>​ Se obțin 755Kbps, sau 64pps. În aer se află cadre scurte, la 11Mbps, și cadre lungi, emise la 1Mbps, cel puțin câte 64 din fiecare, deoarece 64pps sunt livrate la destinație. Este posibil să mai fie și cadre în coliziune.     ns ./​multirate.tcl -rate0 902Kbps -rate1 0.01bps ​ -rate2 0.1bps -rate3 0.1bps ​ </​code>​ Se obțin 755Kbps, sau 64pps. În aer se află cadre scurte, la 11Mbps, și cadre lungi, emise la 1Mbps, cel puțin câte 64 din fiecare, deoarece 64pps sunt livrate la destinație. Este posibil să mai fie și cadre în coliziune.
   - <​code>​ cat ./​multirate.tr ​ | grep cbr | grep COL | wc -l </​code> ​ Rezultă 4cps coliziuni pe secundă. Deoarece toate dispozitive sunt în CS, nu avem terminale ascunse, și coliziunile sunt datorate ferestrei 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), adică 12.98ms. 4*12.98ms = 52ms = 5.2% din timp.    - <​code>​ cat ./​multirate.tr ​ | grep cbr | grep COL | wc -l </​code> ​ Rezultă 4cps coliziuni pe secundă. Deoarece toate dispozitive sunt în CS, nu avem terminale ascunse, și coliziunile sunt datorate ferestrei 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), adică 12.98ms. 4*12.98ms = 52ms = 5.2% din timp. 
-  - Trebuie să aflăm câte cadre din fiecare tip se află în aer  într-o secundă. Fiecare emițător câștigă ​mediul în mod egal pe termen lung, x cadre pe secundă, dar fiecare îl ține ocupat în funcție de MCS folosit: (1Mbps, 11Mbps) \( R_1 = 77pps, R_2 = 511pps\). În plus mai avem și C coliziuni pe secundă. $$ \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} = 63pps$$ adică 63*1480*8 = 751Kbps, consistent cu ce am obținut în simulare.+  - Trebuie să aflăm câte cadre din fiecare tip se află în aer  într-o secundă. Fiecare emițător câștigă ​aceleași oportunități de transmisie ​pe termen lung((De ce? Explicați folosind algoritmul de acces la mediu 802.11, sau prin rulare: -rate0 0.1bps -rate1 0.1bps -rate2 11Mbps -rate3 11Mbps)), x cadre pe secundă, dar fiecare îl ține ocupat în funcție de MCS folosit: (1Mbps, 11Mbps) \( R_1 = 77pps, R_2 = 511pps\). În plus mai avem și C coliziuni pe secundă. $$ \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} = 63pps$$ adică 63*1480*8 = 751Kbps, consistent cu ce am obținut în simulare.
      * Stația 1 ocupă 64*12.98 = 823ms = 82% din timp.       * Stația 1 ocupă 64*12.98 = 823ms = 82% din timp. 
      * AP ocupă 64*1.95=123ms = 12% din timp      * AP ocupă 64*1.95=123ms = 12% din timp
Line 59: Line 59:
     * Coliziuni 8.2*12.98ms = 10% din timp     * Coliziuni 8.2*12.98ms = 10% din timp
     * Adică 42% din timp este irosit pentru a transmite prin aer cadre care vor fi aruncate la AP!     * Adică 42% din timp este irosit pentru a transmite prin aer cadre care vor fi aruncate la AP!
-  - Ar trebui ca fiecare cadru emis de o sursă să fie dirijat de către AP, si nu aruncat, deci împărțirea prin contenție nu se dorește echitabilă,​ ci AP-ul ar trebui să obțină dublu față de fiecare stație. \(x\) este acum debitul per flux: $$  \frac{x}{R_1} + \frac{x}{R_1} + \frac{2x}{R_2} + \frac{C}{R_1} = 1 $$ Din păcte C și x sunt interdependente,​ și o proporție de coliziuni este inevitabilă chiar dacă AP-ul este nesaturat. Cu 0 coliziuni am obține ​ $$ x = \frac{0.5 R_1 R_2}{R_1 + R_2} = 18pps = 396Kbps $$ Dacă rulăm, obținem 214Kbps și 7.9cps, ceea ce este departe de formulă, dar totuși crește debitul și scad coliziunile,​ deci este clar că trebuie trimis mai puțin de la surse. Un alt indiciu este că nu se pot emite mai mult de 755Kbps pentru un flux, deci 755Kbps/2 = 377Kbps de la fiecare stație 0 și 1, deoarece mediul este comun. <​code> ​ ns ./​multirate.tcl -rate0 377Kbps -rate1 377Kbps ​ -rate2 0.1bps -rate3 0.1bps +  - Ar trebui ca fiecare cadru emis de o sursă să fie dirijat de către AP, si nu aruncat, deci împărțirea prin contenție nu se dorește echitabilă,​ ci AP-ul ar trebui să obțină dublu față de fiecare stație. \(x\) este acum debitul per flux: $$  \frac{x}{R_1} + \frac{x}{R_1} + \frac{2x}{R_2} + \frac{C}{R_1} = 1 $$ Din păcte C și x sunt interdependente,​ și o proporție de coliziuni este inevitabilă chiar dacă AP-ul este nesaturat. Cu 0 coliziuni am obține ​ $$ x = \frac{0.5 R_1 R_2}{R_1 + R_2} = 33.5pps ​= 396Kbps $$ Dacă rulăm, obținem 214Kbps și 7.9cps, ceea ce este departe de formulă, dar totuși crește debitul și scad coliziunile,​ deci este clar că trebuie trimis mai puțin de la surse. Un alt indiciu este că nu se pot emite mai mult de 755Kbps pentru un flux, deci 755Kbps/2 = 377Kbps de la fiecare stație 0 și 1, deoarece mediul este comun. <​code> ​ ns ./​multirate.tcl -rate0 377Kbps -rate1 377Kbps ​ -rate2 0.1bps -rate3 0.1bps 
-  </​code>​ Se obțin câte 337Kbps pentru fiecare flux, adică 29pps. Coliziuni C = 5.9cps. Folosind acest ultim C, obținem: $$ x = (1 - \frac{C}{R_1})\frac{0.5 R_1 R_2}{R_1+R_2} = 31pps = 365Kbps $$  Dacă oferim doar 365K, se obțin 362K, si doar 4cps (similar cu 2., 3.), probabil ​ optimul pentru această configurație.+  </​code>​ Se obțin câte 337Kbps pentru fiecare flux, adică 29pps. Coliziuni C = 5.9cps. Folosind acest ultim C, obținem: $$ x = (1 - \frac{C}{R_1})\frac{0.5 R_1 R_2}{R_1+R_2} = 31pps = 365Kbps $$  Dacă oferim doar 365K, se obțin 362K, si doar 4cps (similar cu 2., 3.), probabil ​ optimul pentru această configurație.
  
isrm/laboratoare/10.1418621720.txt.gz · Last modified: 2014/12/15 07:35 by dragos.niculescu
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