Laboratorul 3

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

Concepte (rezumat)

  • 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 WiFi

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:

  • 802.11b, 802.11a, 802.11g
  • cu/fără RTS/CTS
  • UDP, TCP
  • clienți multipli la un AP downlink, uplink

Capacitatea ideală teoretică

  • 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

  • Pentru un singur client, se vor repeta curbele de mai sus folosind ns-2. Scriptul infra.tcl configurează la (0,0) un AP și n-1 noduri plasate în vecinătatea sa. Traficul este generat de la AP către fiecare nod.
  • pentru capacitatea ideală, folosim un AP, un client,trafic de tip UDP
  • necesită parametrii -run_tcp 0 -nn 2 -packetSize 100 -sendingRate 1Mbps
    • parametrul '-sendingRate' corespunde traficului trimis de aplicație în socketul UDP
  • în script trebuie decomentată numai porțiunea corespunzătoare standardului (11b, 11g,sau 11a)
  • în script trebuie indicată MCS – se numește dataRate_
  • pe linia de comandă trebuie dați parametrii relevanți pentru dimensiunea pachetului și rata dorită de UDP
  • repetați graficele precedente/teoretice folosind simularea. Puncte de evaluare pentru packet size: 20, 50, 100, 500, 1000, 1500
    • De ce? VoIP ~ 20-300; DNS, TCP~ 500; Ethernet=1500; 802.11 Beacon=380
  • repetați experimentele cu RTS/CTS activat. Ce impact are asupra pachetelor mari? Dar a celor mici?
  • Pentru 11n și 11ac situația este chiar mai gravă, iar soluția este agregarea de cadre.
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/03.txt · Last modified: 2019/04/14 09:05 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