This shows you the differences between two versions of the page.
isrm:laborator-todo [2019/03/15 23:24] mbarbulescu |
isrm:laborator-todo [2019/10/29 19:34] (current) mbarbulescu |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== Idei laborator ===== | ||
+ | |||
+ | ==== Laborator ns-3 - propunere structura ==== | ||
+ | |||
+ | - Introducere: plotting | ||
+ | - Introducere: ns-3: structura, build, rulat exemple cu plot si pcap tracing (wifi-tcp?) | ||
+ | - Capacitatea mediului WiFi - cea ideala | ||
+ | - Capacitatea mediului WiFi - downlink vs uplink | ||
+ | - Modele de propagare WiFi: Friis, LogDistancePropagationLossModel, ThreeLogDistancePropagationLossModel , TwoRayGroundPropagationLossModel cu trafic UDP vs. TCP si cu/fara RTS/CTS | ||
+ | - Carrier sense fizic (EnergyDetectionThreshold) vs virtual (RX sensitivity) | ||
+ | - DCF / contention window | ||
+ | - DCF / contention window (cont.) | ||
+ | - Jain Fairness | ||
+ | - MCS multiple si rate adaption cu distanta (e unul din exemplele din ns-3) | ||
+ | - WiFi in Linux: setup ''hostapd'', ''wpa_supplicant'', ''iw'', modul monitor si ''tcpdump'' - analizat radio tap header | ||
+ | - WiFi in Linux 2: monitorizare PHY cu USRP? | ||
+ | |||
+ | <code C++> | ||
+ | //Din documentatia ns-3: https://www.nsnam.org/doxygen/classns3_1_1_wifi_mac.html | ||
+ | //https://www.nsnam.org/docs/release/3.5/manual/manual_59.html | ||
+ | //https://mehmetalierturk.com/2014/01/07/how-to-set-edca-parameters-in-ns3-802-11/ | ||
+ | |||
+ | void ns3::WifiMac::ConfigureDcf ( Ptr< Txop > dcf, | ||
+ | uint32_t cwmin, | ||
+ | uint32_t cwmax, | ||
+ | bool isDsss, | ||
+ | AcIndex ac | ||
+ | ) | ||
+ | |||
+ | NqosWifiMacHelper wifiMacHelper = NqosWifiMacHelper::Default (); | ||
+ | Ssid ssid = Ssid ("ns-3-ssid"); | ||
+ | wifiMacHelper.SetType ("ns3::NqstaWifiMac", "Ssid", SsidValue (ssid), "ActiveProbing", BooleanValue (false)); | ||
+ | wifiMacHelper.SetDcaParameters ("MinCw", UintegerValue (20), "Aifsn", UintegerValue (3)); | ||
+ | </code> | ||
+ | |||
==== Laborator - subiecte de explorat ==== | ==== Laborator - subiecte de explorat ==== | ||
Line 8: | Line 43: | ||
* Sa vada ca in beacon se face advertising la capabilitatile routerului (protocoale suportate, MCS-uri etc. - vezi asta: http://www.sharetechnote.com/html/WLAN_Beacon.html ) si ca in probe request STA isi declara capabilitatile | * Sa vada ca in beacon se face advertising la capabilitatile routerului (protocoale suportate, MCS-uri etc. - vezi asta: http://www.sharetechnote.com/html/WLAN_Beacon.html ) si ca in probe request STA isi declara capabilitatile | ||
* Sa observe ca tot ce inseamna frame-uri de management (probe request, probe response assoc request blabla) se fac in format legacy la cel mai mic MCS suportat de AP si STA - motivele sunt evidente - nu vrem deloc sa pierdem/ratam aceste cadre | * Sa observe ca tot ce inseamna frame-uri de management (probe request, probe response assoc request blabla) se fac in format legacy la cel mai mic MCS suportat de AP si STA - motivele sunt evidente - nu vrem deloc sa pierdem/ratam aceste cadre | ||
+ | * Sa observe ca field-ul duration din beacone e 0 - beaconul folosește broadcast (fără SIFS+ACK) | ||
* Sa vada ACK-urile de nivel wifi pentru fiecare cadru de management | * Sa vada ACK-urile de nivel wifi pentru fiecare cadru de management | ||
* Sa analize duration-ul din pachete si sa observe ca e DIFS+SIFS+durata pachetului la cea mai mica modulatie | * Sa analize duration-ul din pachete si sa observe ca e DIFS+SIFS+durata pachetului la cea mai mica modulatie |