This is an old revision of the document!
Teorie:
* Pachetele ETH/IP/UDP cu care suntem familiari circulă prin WiFi conform figurii de mai jos (valabil pentru orice standard) - în lumea wifi ele poartă numele de MSDU (MAC Service Data Unit)
TODO: insert f.png de aici: https://www.cwnp.com/802.11-mac-series-ndash-basics-mac-architecture-ndash-part-1-3/ * La nivel MAC (L2) clientții (în standard îi întâlniți sub numele de STA de la stații) comunică cu AP (access point) prin MPDU - MAC Protocol Data Units. Headerul de MAC va conține chestii de interes pentru noi în acest laborator: * dataRate (sau MCS): * la frame-uri de tip "legacy" (802.11a și 802.11b/g) întâlnim valori în Mbps: * Uzual pentru 802.11b (2.4 GHz DSSS-CCK): 1, 2, 5.5, 11 Mbps * Uzual pentru 802.11g (2.4 GHz ERP-OFDM): 6, 12, 36, 54 * Uzual pentru 802.11a (5 GHz ERP-OFDM): 6, 9, 12, 18, 24, 36, 48, 54 Mbps * Acestea sunt valori "teoretice" maxime care pot fi atinse de standardul respectiv * *OPȚIONAL*: la frame-uri de tip HT/VHT (802.11n/802.11ac) întâlniți valori de MCS de la 0 la 9 care conțin informații despre schema de modulare (BPSK, QPSK, QAM etc.) și rata de codare * duration - durata în microsecunde a semnalului modulat pe aer prin simboluri - cât timp va ține acest device mediul ocupat cu transmiterea pachetului plus timpul pe care acesta îl cere pentru ACK la nivel de wifi (SIFS) * CRC - 4 bytes adăugați de stivă pentru validarea MSDU-ului * Mai sunt și altele dar nu intră în scopul acestui laborator * La nivel PHY: avem PSDU (PLCP Service Data unit) și PPDU (PLCP Protocol Data Unit - o sumă de PSDU-uri) * Algoritmul de *acces la mediu* în wifi: * DCF (Distributed Coordinated Function) - întâlnită la majoritatea AP-urilor și clienților de 802.11 a/b/g/n, dar și la unele device-uri 802.11ac mai ales de tip Wave1 * EDCA (Enhanced Distributed Channel Access) - întâlnim de la 802.11ac în sus * acestea afectează durata unei tranzacții atomice de transmitere a unui cadru (care nu e doar timpul în microsecunde necesar plasării simboluri PHY pe aer) * *Durata de transmitere* a unui cadru wifi cu tehnologia DCF pe aer e suma următoarelor elemente * DIFS - DCF Inter Frame Spacing - o valoare care spune device-urilor Wifi așa: dacă mediul e liber pentru un timp egal cu DIFS atunci puteți transmite cadrul vostru * Slot time - arbitraj - durate de timp definite de layerul de MAC pentru inter-frame spacing - depinde de tehnologia de PHY * transmiterea PPDU-ului pe aer: antet PHY, antet MAC, header IP, header UDP sau TCP, Payload L4 de x octeți, CRC (4 bytes) * SIFS - Short Inter Frame Spacing - durata de timp în care mă aștept să primesc ACK la nivel wifi (L2) de la celălalt device că a recepționat corect cadrul * ACK - durata de timp ocupată pe aer de cadrul de tip ACK - el e trimis tot cu o modulație (dataRate) în format legacy - de obicei se alege cea mai mică rată pe care o suportă un anumit standard (e.g 6 Mbps pentru 802.11a/g OFDM și 1 Mbps pentru 802.11b DSSS-CCK)
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:
Scopul acestui laborator este de a calcula capacitatea unui canal 802.11 pentru diverse standarde, în condiții optime. Vom face o analiză teoretică folosind temporizările, randomizările, și dimensiunile antetelor din standard, versus estimarea în simulator. Cazurile de interes sunt:
gnuplot> plot MCS=1, Throughput(x) w l t '1Mbps', MCS=2, Throughput(x) w l t '2Mbps', MCS=5.5, Throughput(x) …
-run_tcp 0 -nn 2 -packetSize 100 -sendingRate 1Mbps
dataRate_