This is an old revision of the document!
TODO: articole Minstrel + Minstrel in Linux + AARF
https://www.nsnam.org/doxygen/classns3_1_1_ideal_wifi_manager.html#details https://www.nsnam.org/docs/doxygen/classns3_1_1_aarf_wifi_manager.html https://www.nsnam.org/doxygen/classns3_1_1_minstrel_wifi_manager.html
TODO
Vom folosi o simularea realizată în ns-3 de la laboratorul 5 și vom încerca să amânăm pierderile pachetelor cauzate de către îndepărtarea stației de access point prin adaptarea dinamică a MCS-ului folosită de algoritmi la nivel MAC.
Rulați simularea cu parametrii impliciți schimbând doar phyRate
. Folosim ConstantRateWifiManager
. Exemplu de rulare pentru 6Mbps
:
./waf --run "lab5 --apManager=ns3::ConstantRateWifiManager --phyRate=ErpOfdmRate6Mbps"
Salvați datele obținute, ne interesează să obținem o funcție throughput(distanță) pentru următoarele phyRate
: ErpOfdmRate6Mbps
, ErpOfdmRate12Mbps
, ErpOfdmRate24Mbps
, ErpOfdmRate54Mbps
. Plotați datele obținute. Ce observăm? De ce credeți că se întâmplă așa?
Păstrați datele obținute la task-ul anterior pentru a putea plota pe același grafic evoluția algorimtilor adaptivi în comparație cu constelațiile. Algoritmii adaptivi nu au nevoie de specificarea parametrului phyRate
deoarece ei vor încerca să folosească cel mai bun MCS suportat de ambii vorbitori și treptat îl vor regla în funcție de signal strength și pierderi ale ACK-urilor de L2.
Rulare pentru cei trei algoritmi de interes:
./waf --run "lab5 --apManager=ns3::AarfWifiManager" ./waf --run "lab5 --apManager=ns3::MinstrelWifiManager" ./waf --run "lab5 --apManager=ns3::IdealWifiManager"
Activați PCAP tracing pentru cei trei algoritmi adaptivi și reluați experimentele. Urmăriți evoluția parametrilor pentru pachetele de date (puneți filtru TODO de UDP):
./waf --run "lab5 --apManager=ns3::AarfWifiManager --isPcap=true" ./waf --run "lab5 --apManager=ns3::MinstrelWifiManager --isPcap=true" ./waf --run "lab5 --apManager=ns3::IdealWifiManager --isPcap=true"
TODO: task sa foloseasca tcpreplay pentru a plota o funcție MCS(distanță) sau MCS(timestamp) și să compare cu taskul 2
Ne amintim laboratorul trecut comportamentul TCP cu ns3::ConstantRateWifiManager
(deci cu rata fixată) și un singur număr de reîncercări era foarte prost. Hai să repetăm experimentul pentru tries=1,4,7
și să vedem comportamentul TCP-ului cu cei trei algoritmi adaptivi: Ideal, Minstrel și AARF. Exemplu de rulare:
./waf --run "lab5 --apManager=ns3::IdealWifiManager --isTcp=true --tries=1" ./waf --run "lab5 --apManager=ns3::MinstrelWifiManager --isTcp=true --tries=1" ./waf --run "lab5 --apManager=ns3::AarfWifiManager --isTcp=true --tries=1"
Vom obține două seturi de date pe care ne propunem să le plotăm pe același grafic (luăm datele din outputul simulării și facem tot o funcție throughput(distanță)).
Care algoritm se comportă mai bine în cazul TCP-ului cu tries=1
, care a avut rezultate proaste . Parcurgeți din nou teoria despre cei doi algoritmi și uitați-vă cu atenție pe grafice la comportamentul lor la pierderi (e.g. Minstrel coboară mai rapid la rate mici facând un fel de căutare binară).
Ce se întamplă atunci când tries=7
, cum se comportă cei doi algoritmi?