This shows you the differences between two versions of the page.
isrm:laborator-todo [2018/01/13 14:32] dragos.niculescu created |
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 ==== | ||
+ | |||
+ | === 2h: Studiu & analiza PCAP === | ||
+ | |||
+ | |||
+ | Un laborator in care capturam in modul monitor o asociere cu criptare WPA2 si o asociere in plain text. Setup-ul ar fi: AP → STA (Linux PC) + un alt PC cu iw monitor mode pornit. Scopul este: | ||
+ | * Analiza pachetelor de tip 802.11 ca aici: https://www.youtube.com/watch?v=ZXD_qg5dddM ; https://www.youtube.com/watch?v=Kn4hVq5vI3E | ||
+ | * 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 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 analize duration-ul din pachete si sa observe ca e DIFS+SIFS+durata pachetului la cea mai mica modulatie | ||
+ | * Sa folosim cablu RF si 2 atenuatuare si sa observe scaderea SSI-ul sau antena si sa deplasam obiectele si sa observe scaderea SSI-ul si rate adaptionul de la MCS-uri | ||
+ | * FUN: configurat AP-ul sa foloseasca WEP encryption si sa foloseasca aircrack-ng | ||
+ | |||
+ | Curs echivalent: Pozele de aici: http://www.sharetechnote.com/html/WLAN_FrameStructure.html + poza asta: http://www.sharetechnote.com/image/WLAN_Stack_Overview.png | ||
+ | |||
+ | === 2h: wifi drivers Linux === | ||
+ | |||
+ | Folosire hwsim de mac80211 sa se joace cu drivere? | ||
+ | https://w1.fi/cgit/hostap/plain/tests/hwsim/example-setup.txt | ||
+ | |||
=== 4h: Studiu TCP+WiFi, wired+wireless === | === 4h: Studiu TCP+WiFi, wired+wireless === |