Differences

This shows you the differences between two versions of the page.

Link to this comparison view

isrm:laboratoare:11 [2019/05/17 15:56]
mbarbulescu
isrm:laboratoare:11 [2019/05/17 16:25] (current)
mbarbulescu
Line 11: Line 11:
  
 <code bash> <code bash>
-nmcli radio wifi off +root@pr706-pc:​~# ​nmcli radio wifi off 
-rfkill unblock wifi +root@pr706-pc:​~# ​rfkill unblock wifi 
-rfkill unblock all +root@pr706-pc:​~# ​rfkill unblock all 
-killall wpa_supplicant+root@pr706-pc:​~# ​killall wpa_supplicant
 </​code>​ </​code>​
  
Line 20: Line 20:
  
 <code bash> <code bash>
-systemctl stop NetworkManager +root@pr706-pc:​~# ​systemctl stop NetworkManager 
-dhclient eno1+root@pr706-pc:​~# ​dhclient eno1    #doar daca nu mai avem conectivitate la Internet
 </​code>​ </​code>​
  
 Acum trebuie să pornim daemonul ''​hostapd''​ pentru a activa AP-ul nostru. E nevoie de doi pași simpli: Acum trebuie să pornim daemonul ''​hostapd''​ pentru a activa AP-ul nostru. E nevoie de doi pași simpli:
-  - Copiați fișierul hostapd.conf de aici, salvați-l în ''/​etc/​hostapd/​hostapd.conf''​+  - Copiați fișierul ​[[https://​github.com/​isrm-lab/​isrm-lab-sol/​blob/​master/​lab-11/​hostapd.conf|hostapd.conf de aici]], salvați-l în ''/​etc/​hostapd/​hostapd.conf''​
   - Rulați comanda de mai jos, output-ul trebuie să vă spună ''​AP-ENABLED'':​   - Rulați comanda de mai jos, output-ul trebuie să vă spună ''​AP-ENABLED'':​
  
Line 49: Line 49:
 root@pr706-pc:​~#​ tcpdump -s0 -ni mon0  root@pr706-pc:​~#​ tcpdump -s0 -ni mon0 
 </​code>​ </​code>​
-  - -s0 capturează toată lungimea pachetelor  +  - ''​-s0'' ​capturează toată lungimea pachetelor  
-  - -n nu rezolvă DNS  +  - ''​-n'' ​nu rezolvă DNS  
-  - -i indică interfața ​+  - ''​-i'' ​indică interfața ​
  
 <code bash> ​ <code bash> ​
Line 85: Line 85:
 <code bash> <code bash>
 root@pr706-pc:​~#​ iw dev wlp2s0 connect <​yourSSID> ​ root@pr706-pc:​~#​ iw dev wlp2s0 connect <​yourSSID> ​
-root@pr706-pc:​~#​ iwconfig ​     #to check/​validate association+root@pr706-pc:​~#​ iwconfig ​        ​#to check/​validate association 
 +</​code>​ 
 + 
 +=== Exerciții extra === 
 +  - Rulați o sesiune ''​iperf''​ TCP între cele două stații pentru a determina bandwidth-ul maxim la care TCP se simte bine. Serverul este receptor de date, Clientul e transmițător. Rulați server pe AP și client pe STA. Ce valoare are aceasta? Suntem în ''​802.11b'',​ care e throughput maxim la acesta și la ce MCS (data rate)? 
 +<code bash> 
 +root@pr706-pc:​~#​ iperf -s -i1 
 +root@pr706-pc:​~#​ iperf -c <​ip_AP>​ 
 +</​code>​ 
 +  - Rulați o sesiune ''​iperf''​ UDP între cele două stații cu cel mai mare packet length (1472 Bytes). Serverul este receptor de date, Clientul e transmițător. Rulați server pe AP și client pe STA. e valoare are aceasta? Suntem în ''​802.11b'',​ care e throughput maxim la acesta și la ce MCS (data rate)? 
 +<code bash> 
 +root@pr706-pc:​~#​ iperf -s -i1 -u 
 +root@pr706-pc:​~#​ iperf -c <​ip_AP>​ -b54M -u -i1 -l1472 
 +</​code>​ 
 +  - Pentru exercițiile anterioare urmăriți în PCAP câmpul ''​Data rate''​ din 802.11 radio tap header. Ce observați? Ce se întâmplă cu acesta dacă vom mișca antena? 
 +<note tip> 
 +Dacă nu mișcăm antenele observăm creșterea monotonă data rate (a MCS-ului) grație algoritmului de rate adaption. Intel folosește [[https://​github.com/​torvalds/​linux/​blob/​master/​drivers/​net/​wireless/​intel/​iwlwifi/​dvm/​rs.c|iwl-agn-rs]]. În Linux upstream se folosește algoritmul [[https://​wireless.wiki.kernel.org/​en/​developers/​documentation/​mac80211/​ratecontrol/​minstrel|Minstrel]] pentru vendorii care nu au dezvoltat propriul algoritm în driver/​firmware. 
 + 
 +Dacă mișcăm antenele pe lângă evoluție ne-monotonă a data rate throughputul iperf e afectat.  
 +</​note>​ 
 +  - Pe AP configurați ''​802.11n''​ (ca extra feature). Re-rulați iperf și urmăriți PCAP-urile. Ce apare în plus la MCS? Dar la frame format: apare formatul HT. Mai jos aveți ce trebuie pus în ''​hostapd.conf'':​ 
 +<code bash> 
 +# 802.11n 
 +wmm_enabled=1 
 +ieee80211n=1 
 +ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40][DSSS_CCK-40][DSSS_CCK-40]
 </​code>​ </​code>​
  
isrm/laboratoare/11.1558097791.txt.gz · Last modified: 2019/05/17 15:56 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