This is an old revision of the document!


Laboratoarele 6 și 7

802.11 Contention Window

Introducere

Scopul acestui exerciţiu este de a investiga impactul dimensiunii ferestrei de arbitrare (contention window) asupra performanţei protocolului IEEE 802.11. MAC-ul IEEE 802.11 prevede ca toate nodurile să aleagă un timp de așteptare aleator cuprins între zero şi CW (fereastra de arbitraj), şi aşteaptă numărul ales de sloturi înainte de a încerca să acceseze canalul. Iniţial, CW este setat la CWMin (minim fereastra susţinute de mărime). Cu toate acestea, atunci când există o coliziune, dimensiunea fereastrei este dublată, până la o valoare maximă: CWMax. Aceasta tehnică de randomizare şi scalare a ferestrei este folosită pentru a reduce coliziunile. În studiul nostru vom lua în considerare o variantă de 802.11 pt cazul în care mărimea ferestrei este fixă, şi anume CWMin = CWmax = CW. Deși nu se scalează fereastra, se folosește randomizarea.

Vom avea nevoie de o topologie în care pentru a studia efectul dimensiunii fereastrei. Pentru aceasta, folosim o reţea de un hop atunci când toate nodurile sunt plasate într-un grup compact. În particular, vom considera o arie de 150x10m comună pentru toate nodurile. Fiecare sursă participă la o conversaţie, o destinaţie poate participa la mai multe.

Instrucţiuni
  • Descărcați scriptul tcl cw.tcl. În script, veţi găsi următoarea linie care stabilește valorile CWMin şi CWMax la valoarea dorită:
        $val(mac) set CWMin_ 31  

iar rata CBR rezultă din intervalul de generare

   $cbr_($i) set interval_ 0.05 
  • Script-ul accepta trei argumente în linia de comandă
    • ns numărul de surse
    • nr numărul de destinații
    • cwmin pentru a indica limita minima a fereastrei de arbitraj/contenție
    • cwmax pentru a indica limita maxima a fereastrei de arbitraj/contenție
    • De exemplu, dacă ar fi să rulaţi un experiment cu 4 noduri în zona de 150m x 10m de reţea, cu fereastra de 63, vi se va cere să rulaţi următoarea comandă:
        ns cwsim.tcl -ns 2 -nr 2 -cwmin 63 -cwmax 63 
  • Pentru 802.11b standard, cu fereastra adaptiva:
        ns cwsim.tcl -ns 2 -nr 2 -cwmin 15 -cwmax 1023 
  • Rulaţi scriptul pentru ns = 4, 9, 16, 25, 36 şi pentru CWMin = CWMax să ia următorul set de valori: 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095
  • Obţineţi şi plotați ca funcții de dimensiunea CW:
    • total pachete livrate la destinație 1)
    • rata CBR livrată la destinație [Mbps] 2)
    • probabilitatea de livrare (PDR) la nivel agent 3)
    • probabilitatea de livrare (PDR) la nivel MAC 4)
    • numărul de pachete de date emise de MAC 5)
    • numărul de pachete de date emise de agent 6)
    • numărul de coliziuni pe secundă [pps] 7)
    • numărul de retransmisiuni per cadru 8)

Pentru a calcula PDR, va trebui să calculați numărul de pachete trimise şi numărul de pachete primite. În acest exemplu, pentru a obţine numărul de pachete trimise, puteţi utiliza următoarea comandă:

        grep AGT cwsim.tr | grep ^s |grep cbr | wc -l 
                

Numărul raportat de mai sus este numărul de pachete trimise de către toate nodurile. Pentru a obţine numărul de pachete primite, aveţi posibilitatea să utilizaţi o comandă similară:

        grep AGT cwsim.tr | grep ^r |grep cbr | wc -l 
                

Numărul raportat este numărul de pachete primite (ar trebui să fie cel mult egal cu numărul de pachete trimise). Raportul de Pachete [primite] / [pachetele trimise] este PDR.

        grep COL cwsim.tr | grep ^d |grep cbr | wc -l 
                

Cu comanda de mai sus obțineți numărul global de pachete care au intrat în coliziune.

      grep MAC cwsim.tr | grep ^s |grep cbr | wc -l
                

Cu comanda de mai sus obțineți numărul de pachete de date emise de MAC.

Pentru a înţelege mai multe despre formatul fișierului trace: pe scurt, sau mai mult detaliu.

Analiză

Această temă vă permite să corelați mărimea CW şi dimensiunea reţelei / densitatea. Tendinţa poate sau nu să fie clară din cauza unor factori cum ar fi interferenţe cu creşterea densităţii etc. Încercaţi să răspundeţi la următoarele întrebări cu privire la graficele obţinute mai sus:

  • care este capacitatea rețelei în cadre/secundă? Dar în bps? Pentru a valida acest rezultat examinați în script rata folosită la nivelul fizic, parametrii CBR, și dimensiunea pachetelor. 9)
  • ce tendinţe ați observat? Există o dimensiune optimă CW pentru fiecare populaţie de reţea? Ce relație există între dimensiunea optimă și populaţia reţelei? 10)
  • puteți prezice ce se va întâmpla dacă încercaţi să rulaţi acest script pentru ns = nr = 50? Explicaţi.
  • comparati performantele obtinute cu ce ar obtine 802.11 standard.
  • rata de livrare la nivel UDP nu atinge mereu 100%. Cum este totuși posibilă ocuparea capacității maxime a aerului?
  • numărul de cadre emise de MAC este mai mare decât numărul de pachete generate de agentul UDP. De ce?
  • probabilitatea de livrare la MAC este șansa unui pachet de a supraviețui în aer. Când aceasta este 1, suntem în situația ideală
  • de ce rata livrării la agentul UDP se comportă radical diferit pentru populația 4 (ns=nr=4) față de celelalte populații?
  • care este numărul de încercări per pachet obținut de standardul 802.11? Comentați.
  • Repetați experimentele activând RTS/CTS 11).
    • ce s-a întâmplat cu coliziunile? Comentați.
  • repetați experimentele pentru pachete de 212 octeți (fără RTS). Comentați. 12).
    • verificați rezultatul cu cel de capacitate din laboratorul 3
    • de ce numărul de cadre emise în aer este mai mare decât la pachete mari?

ACKNOWLEDGMENT: inspired by http://www.crhc.illinois.edu/wireless/assignments/simulations/slabc1.html

SOLUȚII
9) Se rulează cu nr = ns = 1, CW=15-1023, și cu o rată suficient de mare… rezultă 3616 pachete de 1460 primite în 25 secunde, adică 1.69Mbps pentru standardul 802.11b/2Mbps
10) CW nu ar putea funcționa cu un CW fix, CW optim depinde de populație, trafic
isrm/laboratoare/06.1414607254.txt.gz · Last modified: 2014/10/29 20:27 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