This shows you the differences between two versions of the page.
isrm:laboratoare:03a [2013/11/04 12:58] dragos.niculescu |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Laboratorul 3.a ==== | ||
- | === 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 {{:isrm:laboratoare:03:phy-11b-short.png?nolink&600| }} | ||
- | * 802.11g Antet PHY {{:isrm:laboratoare:03:phy-11g-long.png?nolink&600| }} | ||
- | * calculați durata unei tranzacții atomice de transmitere a unui cadru: DIFS, arbitraj, PHY header, MAC header, IP/UDP header, UDP Payload, FCS, SIFS, ACK | ||
- | * atenție: MAC, IP,UDP,Payload, CRC și corp ACK se transmit prin aer la rata MCS | ||
- | * 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) | ||
- | * scrieți funcția Throughput_11b(x, MCS) unde x este payload UDP, iar MCS ia valorile din standard 11b=1, 2, 5.5, 11 | ||
- | * scrieți funcția Throughput_11g(x, MCS) 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 B=1, Throughput(x) w l t '1Mbps', B=2, Throughput(x) w l t '2Mbps', B=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 {{isrm:laboratoare:03: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? [[http://www.bandcalc.com/| VoIP]] ~ 20-300; DNS, TCP~ 500; Ethernet=1500 | ||