This is an old revision of the document!


Laborator 03 - 04: Capacitatea mediului

Materiale ajutătoare

Teorie:

  • Despre modulațiile DSSS-CCK și OFDM - quick intro bun aici
  • Despre comuncația la lower level MAC - quick intro aici
  • studiu similar pentru a/g/n/ac, agregare 80211notes

Concepte

  • Modulație PHY - Modulația este un proces folosit în telecom prin care modificăm parametrii unui semnal cu scopul de a transmite informații. Dacă la radio am auzit de AM (modularea în amplitudine a semnalului) sau FM (modularea în frecvență a semnalului) în WiFi întâlnim preponderent DSSS (Direct Sequence Spread Spectrum), CCK (Complementary Code Keyring) și, cea mai modernă, inclusiv în tehnologia 802.11ac și 4G-LTE: OFDM (Orthogonal Frequency Division Multiplexing)
  • Cadrele (frame-urile) în wifi - vă veți tot lovi de conceptele astea fie prin curs, fie prin standard, fie chiar și prin kernelul de Linux:
  • 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)

  • 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 Mbps
        • 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)

Scop

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:

  • 802.11b, 802.11g - PHY în 2.4 GHz, PHY modulat în DSSS-CCK respectiv ERP-OFDM
  • 802.11a - PHY în 5 GHz, PHY modulat în ERP-OFDM
  • cu și fără RTS/CTS
  • trafic de tip UDP și TCP
  • clienți multipli la un AP downlink și uplink

Capacitatea ideală simulare

  • 802.11b Antet PHY de 192biți trimis la MCS=1Mbps
  • 802.11g Antet PHY de 16us + 24biți trimis la MCS=6Mbps
  • calculați durata unei tranzacții atomice de transmitere a unui cadru: DIFS, arbitraj, PHY header, MAC header, IP/UDP header, UDP Payload de x octeți, FCS, SIFS, ACK
    • atenție: MAC, IP,UDP,Payload, CRC și corp ACK se transmit prin aer la rata MCS, măsurată în bps
  • folosiți duratele temporizărilor specificate în standard, și dimensiunile antetelor PHY din schemele de mai sus
    • 11b: slot=20, SIFS=10, DIFS=50
    • 11g: slot=9, SIFS=10, DIFS=28
  • pentru început determinați durata în microsecunde a unei tranzacții (separat 11b și 11g)
    • Durata pentru 802.11b 1)
  • scrieți funcția Throughput_11b(x) unde x este payload UDP, iar MCS(o constantă) ia valorile din standard 11b=1, 2, 5.5, 11 2)
  • scrieți funcția Throughput_11g(x) unde x este payload UDP, iar MCS ia valorile din standard 11g=6, 12, 36, 54
  • deduceți modul în care debitul obținut în Mbps depinde de MCS și de dimensiunea UDP payload
    • gnuplot> plot MCS=1, Throughput(x) w l t '1Mbps', MCS=2, Throughput(x) w l t '2Mbps', MCS=5.5, Throughput(x) …
  • realizați grafice pentru 802.11b (axa x: payload UDP; axa y: Throughput[Mbps])
    • 4 curbe pentru 1Mbps, 2Mbps, 5.5Mbps, 11Mbps
  • realizați grafice pentru 802.11g (axa x: payload UDP; axa y: Throughput[Mbps])
    • 4 curbe pentru 6Mbps, 12Mbps, 24Mbps, 54Mbps

Capacitatea ideală simulare

DsssRate1Mbps

DsssRate2Mbps
DsssRate5_5Mbps
DsssRate11Mbps
ErpOfdmRate6Mbps
ErpOfdmRate9Mbps
ErpOfdmRate12Mbps
ErpOfdmRate18Mbps
ErpOfdmRate24Mbps
ErpOfdmRate36Mbps
ErpOfdmRate48Mbps
ErpOfdmRate54Mbps
1) 50 + 310 + 192 + (24 + 20 + 8 + x + 4)*8/MCS + 10 + 192 + 14*8/MCS
2) gnuplot> Throughput_11b(x) = x*8 /(764 + (70 + x)*8/MCS)
isrm/laboratoare/new/03-04-capac.1581971226.txt.gz · Last modified: 2020/02/17 22:27 by mbarbulescu
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