Differences

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

Link to this comparison view

isrm:laboratoare:new:03-04-capac [2020/02/17 22:27]
mbarbulescu [Scop]
isrm:laboratoare:new:03-04-capac [2020/04/19 23:34] (current)
vlad.traista [Introducere în tshark]
Line 47: Line 47:
   * clienți multipli la un AP downlink și uplink   * clienți multipli la un AP downlink și uplink
  
-====== Capacitatea ideală simulare ======+====== ​ ​Introducere în tshark====== 
 + 
 +[[https://​www.wireshark.org/​docs/​man-pages/​tshark.html|Tshark]] este un wireshark pentru terminal. Are avantajul de a folosi limbajul wireshark pentru filtre (condițiile pot fi create în wireshark si apoi copiate cu copy/​paste),​ dar în același timp oferă controlul afișarii la stdout. ​   
 + 
 +[[https://​hackertarget.com/​tshark-tutorial-and-filter-examples/​|Exemple filtre]] 
 + 
 +''​tshark -T fields -e frame.time_epoch ​ -e frame.number -e ip.src ​ -r ./​first-0-0.pcap '​(ip.proto == 17) && (ip.src == 10.1.1.1)'''​  
 + 
 +  * fișierul .pcap este produs din simulare second.cc, sau dintr-un dump real 
 +  * ''​-T fields''​ indică câmpurile din pachete care se doresc printate  
 +  * Colecție de câmpuri de interes: 
 + 
 +^ opțiune pentru ​ -e  ^ semnificație ​   ^  
 +| frame.time_epoch ​   | timpul de la începutul simulării ​   |  
 +| frame.number ​   | numărul cadrului | 
 +| ip.src ​   | adresa IP sursă ​     | 
 +| ip.id    |  IP identifier field     | 
 +| ip.ttl ​   | câmpul TTL din headerul de IP      | 
 +| wlan.flags ​   | câmpul flags din headerul WLAN      | 
 +| wlan.seq ​   | numărul de secvență WLAN     | 
 +| wlan.fcs_good | cadrul WLAN este validat de câmpul FCS |   
 + 
 + 
 + 
 + 
 +  * ''​(ip.proto == 17) && (ip.src == 10.1.1.1)''​ indică condiția de filtrare a pachetelor din .pcap; folosește acelasi limbaj ca și wireshark ​  
 +  * ''​(udp.dstport == 9)'',​ doar cadrele către portul 9 (echo)  
 +  * ''​wlan.fc.type_subtype == 0x08'',​ filtrează cadrele de tip beacon (FIXME) ​      
 +  * ''​wlan.fc.pwrmgt == 1'',​ filtrează cadrele de tip power management (FIXME) ​   
 +====== [03.01] ​Capacitatea ideală simulare ======
  
  
Line 71: Line 100:
  
  
-====== Capacitatea ideală simulare ======+====== ​[03.02] ​Capacitatea ideală simulare ======
  
 +  * Pentru un singur client, se vor repeta curbele de mai sus folosind ns-3. Modelul [[https://​github.com/​isrm-lab/​ns3-labs/​blob/​master/​lab3.cc|lab3.cc]] 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. Exepmlu de rulare de interes (cu parametrii de interes) pentru acest task:
  
-DsssRate1Mbps+<code bash> 
 +./waf --run "lab3 --numberOfNodes=2 --payloadSize=1000 --dataRate=11Mbps --phyRate=DsssRate11Mbps"​ 
 +</​code>​ 
 + 
 +''​numberOfNodes''​ reprezintă numărul total de noduri (inclusiv AP-ul).  
 + 
 +Parametrul ''​phyRate''​ (reprezinta MCS) va lua urmaoarele valori: 
 +  * Pentru ''​802.11b'':​ 
 + 
 +<code C++> 
 +  ​DsssRate1Mbps
   DsssRate2Mbps   DsssRate2Mbps
   DsssRate5_5Mbps   DsssRate5_5Mbps
   DsssRate11Mbps   DsssRate11Mbps
 +</​code>​
 +
 +  * Pentru ''​802.11g'':​
 +
 +<code C++>
   ErpOfdmRate6Mbps   ErpOfdmRate6Mbps
   ErpOfdmRate9Mbps   ErpOfdmRate9Mbps
Line 86: Line 132:
   ErpOfdmRate48Mbps   ErpOfdmRate48Mbps
   ErpOfdmRate54Mbps   ErpOfdmRate54Mbps
 +</​code>​
 +
 +Parametrul ''​dataRate''​ corespunde traficului trimis de aplicație în socketul UDP. Pe linia de comandă **trebuie** dați parametrii relevanți pentru dimensiunea pachetului și rata dorită de UDP. 
 +
 +Scopul acestui task este să repetați graficele precedente/​teoretice folosind simularea în ''​ns-3''​. Puncte de evaluare pentru ''​payloadSize'':​ 20, 50, 100, 500, 1000, 1500. 
 +
 +<note tip>
 +Puteți reduce timpii simulării folosind parametrul ''​%%--%%simulationTime=1''​
 +</​note>​
 +
 +<note tip>
 +De ce iterăm peste aceste packet size-uri? Iată câteva valori din trafic real: [[http://​www.bandcalc.com/​| VoIP]] ~ 20-300; DNS, TCP~ 500; Ethernet MTU=1500; 802.11 Beacon=380
 +</​note>​
 +
 +====== [03.03] Capacitatea ideală simulare - RTS/CTS activ ======
 +
 +Repetați experimentele anterioare cu RTS/CTS activat. Ce impact are asupra pachetelor mari? Dar a celor mici? Activarea RTS/CTS o puteți face astfel pentru simulare:
 +
 +<code bash>
 +./waf --run "lab3 --numberOfNodes=2 --payloadSize=1000 --dataRate=11Mbps --phyRate=DsssRate11Mbps --enableRtsCts=true" ​
 +</​code>​
 +
 +<note tip>
 +Pentru [[http://​80211notes.blogspot.com/​2014/​03/​phy-rate-and-udp-throughput.html|11n și 11ac]] situația este chiar mai gravă, iar soluția este agregarea de cadre.
 +</​note>​
 +
isrm/laboratoare/new/03-04-capac.1581971226.txt.gz · Last modified: 2020/02/17 22:27 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