Teorie:
Scopul acestui laborator este de a calcula capacitatea unui canal 802.11 pentru diverse standarde, în condiții ideale. Vom face o analiză teoretică folosind temporizările, randomizările, și dimensiunile antetelor din standard, versus estimarea în simulator. Cazurile de interes sunt:
Tshark este un wireshark pentru terminal. Are avantajul de a folosi limbajul wireshark pentru filtre (condițiile pot fi create în wireshark si apoi copiate cu copy/paste), dar în același timp oferă controlul afișarii la stdout.
tshark -T fields -e frame.time_epoch -e frame.number -e ip.src -r ./first-0-0.pcap '(ip.proto == 17) && (ip.src == 10.1.1.1)
'
-T fields
indică câmpurile din pachete care se doresc printate opțiune pentru -e | semnificație |
---|---|
frame.time_epoch | timpul de la începutul simulării |
frame.number | numărul cadrului |
ip.src | adresa IP sursă |
ip.id | IP identifier field |
ip.ttl | câmpul TTL din headerul de IP |
wlan.flags | câmpul flags din headerul WLAN |
wlan.seq | numărul de secvență WLAN |
wlan.fcs_good | cadrul WLAN este validat de câmpul FCS |
(ip.proto == 17) && (ip.src == 10.1.1.1)
indică condiția de filtrare a pachetelor din .pcap; folosește acelasi limbaj ca și wireshark (udp.dstport == 9)
, doar cadrele către portul 9 (echo) wlan.fc.type_subtype == 0x08
, filtrează cadrele de tip beacon () wlan.fc.pwrmgt == 1
, filtrează cadrele de tip power management () gnuplot> plot MCS=1, Throughput(x) w l t '1Mbps', MCS=2, Throughput(x) w l t '2Mbps', MCS=5.5, Throughput(x) …
./waf --run "lab3 --numberOfNodes=2 --payloadSize=1000 --dataRate=11Mbps --phyRate=DsssRate11Mbps"
numberOfNodes
reprezintă numărul total de noduri (inclusiv AP-ul).
Parametrul phyRate
(reprezinta MCS) va lua urmaoarele valori:
802.11b
:DsssRate1Mbps DsssRate2Mbps DsssRate5_5Mbps DsssRate11Mbps
802.11g
:ErpOfdmRate6Mbps ErpOfdmRate9Mbps ErpOfdmRate12Mbps ErpOfdmRate18Mbps ErpOfdmRate24Mbps ErpOfdmRate36Mbps ErpOfdmRate48Mbps ErpOfdmRate54Mbps
Parametrul dataRate
corespunde traficului trimis de aplicație în socketul UDP. Pe linia de comandă trebuie dați parametrii relevanți pentru dimensiunea pachetului și rata dorită de UDP.
Scopul acestui task este să repetați graficele precedente/teoretice folosind simularea în ns-3
. Puncte de evaluare pentru payloadSize
: 20, 50, 100, 500, 1000, 1500.
--simulationTime=1
Repetați experimentele anterioare cu RTS/CTS activat. Ce impact are asupra pachetelor mari? Dar a celor mici? Activarea RTS/CTS o puteți face astfel pentru simulare:
./waf --run "lab3 --numberOfNodes=2 --payloadSize=1000 --dataRate=11Mbps --phyRate=DsssRate11Mbps --enableRtsCts=true"