This shows you the differences between two versions of the page.
isrm:laboratoare:04 [2019/03/12 23:25] mbarbulescu [Taskuri] |
isrm:laboratoare:04 [2019/03/14 21:05] (current) mbarbulescu [Taskuri] |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Materiale ajutătoare ===== | ===== Materiale ajutătoare ===== | ||
- | * Pentru cei curioși, mai ales pentru matematica din spate recomandăm, pentru acest laborator, capitolul 2 din cartea [[http://web.cs.ucdavis.edu/~liu/289I/Material/book-goldsmith.pdf|Wireless Communications - Andrea Goldsmith]] | + | * Pentru cei curioși, mai ales pentru matematica din spate, recomandăm, pentru acest laborator, capitolul 2 din cartea [[http://web.cs.ucdavis.edu/~liu/289I/Material/book-goldsmith.pdf|Wireless Communications - Andrea Goldsmith]] |
+ | * Celor curioși cu privire la bazele mecanismelor de retransmisie din TCP recomandăm [[http://www.pcvr.nl/tcpip/tcp_time.htm|capitolul 21 din TCP Illustrated]] | ||
===== Modelul Two Ray Ground ===== | ===== Modelul Two Ray Ground ===== | ||
Line 31: | Line 32: | ||
===== Modelul Shadowing ===== | ===== Modelul Shadowing ===== | ||
- | Semnalul transmis printr-un canal wireless va experimenta variații aleatoare din cauza unor blocaje cauzate de obiecte aflate în calea semnalului. Puterea la receptor e influențată nu doar de distanță, dar și de obiectele întâlnite de semnal, unele sunt fixe altele mobile | + | Semnalul transmis printr-un canal wireless va experimenta variații aleatoare din cauza unor blocaje ale obiectelor aflate în calea semnalului. Puterea la receptor e influențată nu doar de distanță, dar și de obiectele întâlnite de semnal, unele fiind fixe altele mobile |
(exemplu: Wi-Fi indoor: este influențat de pereți, mobilă și oamenii din cameră, care se mișcă). Modelarea unui astfel de canal folosește modele statistice pentru a caracteriza atenuarea unui semnal care ajunge la receptor. | (exemplu: Wi-Fi indoor: este influențat de pereți, mobilă și oamenii din cameră, care se mișcă). Modelarea unui astfel de canal folosește modele statistice pentru a caracteriza atenuarea unui semnal care ajunge la receptor. | ||
Line 45: | Line 46: | ||
* AGC (automatic gain control) | * AGC (automatic gain control) | ||
* capacitatea de a decoda un MCS mare (''802.11ac'' a introdus LDPC coding - o tehnică mai bună de codare a datelor decât cele tradiționale) | * capacitatea de a decoda un MCS mare (''802.11ac'' a introdus LDPC coding - o tehnică mai bună de codare a datelor decât cele tradiționale) | ||
+ | |||
+ | Ce arme au atât transmițătorul cât și receptorul pentru a combate ambele fenomene: MIMO (Multiple Input, Multiple Output) - folosirea de mai multe antene la transmisie și recepție (la ''802.11ac'' avem un maxim de 4x4) și STBC (Space Time Block Coding) - o tehnică de a transmite mai multe copii a unui stream de date pe mai multe antene pentru a asigura fiabilitatea datelor transmise. Cele două capabilități sunt //advertised// de AP (access point) în beacon iar stațiile îi transmit AP-ului dacă le au în cadrul probe request-ului. | ||
În ns-2: | În ns-2: | ||
Line 72: | Line 75: | ||
</file> | </file> | ||
- | Scriptul acceptă parametrii ''-dist'' pentru a seta distanța sursă-destinație, și ''-tries'' pentru a seta numărul maxim de încercări de transmitere a cadrului. Cele două perechi nu se influențează reciproc din cauza distanței mari, iar ''S1->D1'' folosește **UDP**, în timp ce ''S2->D2'' folosește **TCP**. Practic se rulează două experimente pentru aceeași distanță de comunicare, si acelasi regim de retransmisii. Scriptul afișează debitul în ''bps'' obținut de cele 2 fluxuri și generează fișierul shadow2.tr care poate fi analizat pentru a contoriza pachetele în diverse scenarii. | + | Scriptul acceptă parametrii ''-dist'' pentru a seta distanța sursă-destinație (în metri), și ''-tries'' pentru a seta numărul maxim de încercări de transmitere a cadrului. Cele două perechi nu se influențează reciproc din cauza distanței mari, iar ''S1->D1'' folosește **UDP**, în timp ce ''S2->D2'' folosește **TCP**. Practic se rulează două experimente pentru aceeași distanță de comunicare, si acelasi regim de retransmisii. Scriptul afișează debitul în ''bps'' obținut de cele 2 fluxuri și generează fișierul ''shadow2.tr'' care poate fi analizat pentru a contoriza pachetele în diverse scenarii. |
+ | |||
+ | Exemplu de rulare: | ||
+ | |||
+ | <code bash> | ||
+ | student@isrm-vm:~/lab-04$ ns ./shadow2.tcl -tries 4 -dist 100 | ||
+ | Starting Simulation... | ||
+ | loss-monitor for flow 0 | ||
+ | nlost_ 568 | ||
+ | npkts_ 3155 | ||
+ | bytes_ 4669400 | ||
+ | lastPktTime_ 25.194375494945955 | ||
+ | expected_ 3723 | ||
+ | sending time : 25.0 | ||
+ | |||
+ | Throughput 0 1474016.0 bps | ||
+ | |||
+ | |||
+ | loss-monitor for flow 2 | ||
+ | sending time: 25.0 lastack: 2413 srtt: 313 | ||
+ | datab: 3702560 retr: 143080 | ||
+ | Throughput 2 1127353.6000000001 | ||
+ | </code> | ||
===== Plan de organizare a datelor intermediare ===== | ===== Plan de organizare a datelor intermediare ===== | ||
Line 110: | Line 135: | ||
* tries=1 de ce TCP nu obține debit maxim, chiar în condiții optime (livrare 100%)? | * tries=1 de ce TCP nu obține debit maxim, chiar în condiții optime (livrare 100%)? | ||
* de ce scade capacitatea UDP când crește numărul de încercări? (({{:isrm:laboratoare:04:unq-sent.png?direct&200|}} )) | * de ce scade capacitatea UDP când crește numărul de încercări? (({{:isrm:laboratoare:04:unq-sent.png?direct&200|}} )) | ||
- | <hidden> | + | |
- | - Scripturile folosite și graficele obținute sunt disponibile în Media Manager/[[http://ocw.cs.pub.ro/courses/?tab_files=files&do=media&ns=isrm%2Flaboratoare%2F04| Rezultate]] | + | |
- | </hidden> | + | |
===== Soluția laboratorului ===== | ===== Soluția laboratorului ===== | ||
+ | - Scripturile folosite și graficele obținute sunt disponibile în Media Manager/[[http://ocw.cs.pub.ro/courses/?tab_files=files&do=media&ns=isrm%2Flaboratoare%2F04| Rezultate]] | ||
+ | Mai jos le aveti scrise: | ||
+ | <spoiler> | ||
<solution> | <solution> | ||
<code bash> | <code bash> | ||
Line 230: | Line 256: | ||
student@isrm-vm:~/lab-04$ gnuplot shadow2.plot.txt | student@isrm-vm:~/lab-04$ gnuplot shadow2.plot.txt | ||
</code> | </code> | ||
- | |||
</solution> | </solution> | ||
+ | </spoiler> | ||