This shows you the differences between two versions of the page.
saisp:labs:11:contents:02 [2014/05/18 11:56] mihai.carabas [02. Generarea traficului pe baza unor caracteristici și constrângeri din lumea reală] |
saisp:labs:11:contents:02 [2014/05/19 13:01] (current) alexandru.carp [02. [10p] Generarea traficului pe baza unor caracteristici și constrângeri din lumea reală] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 02. Generarea traficului pe baza unor caracteristici și constrângeri din lumea reală ==== | + | ==== 02. [10p] Generarea traficului pe baza unor caracteristici și constrângeri din lumea reală ==== |
În cadrul laboratorului, vom explora principalele strategii de QoS din Linux. Pentru a observa comportamentul strategiilor implementate, vom folosi un model de trafic, compus din: | În cadrul laboratorului, vom explora principalele strategii de QoS din Linux. Pentru a observa comportamentul strategiilor implementate, vom folosi un model de trafic, compus din: | ||
Line 22: | Line 22: | ||
Dupa cum ați observat la exercițiul anterior, o conexiune ''iperf'' client-server generează un singur tip de trafic (implicit, trafic TCP pe portul 5001). Noi dorim să generăm mai multe tipuri de trafic, concomitent, pentru a vedea cum se afectează între ele. Deci va trebui să instanțiem mai multe astfel de perechi, în background. | Dupa cum ați observat la exercițiul anterior, o conexiune ''iperf'' client-server generează un singur tip de trafic (implicit, trafic TCP pe portul 5001). Noi dorim să generăm mai multe tipuri de trafic, concomitent, pentru a vedea cum se afectează între ele. Deci va trebui să instanțiem mai multe astfel de perechi, în background. | ||
- | Vom crea un script cu numele ''iperf-client1.sh'' care va porni 5 servere ''iperf'' pe stația ''client1'' (urmăriți comentariile):<file bash iperf-client1.sh> | + | Vom crea un script cu numele ''iperf-client1.sh'' care va porni 4 servere ''iperf'' pe stația ''client1'' (urmăriți comentariile):<file bash iperf-client1.sh> |
+ | #!/bin/bash | ||
# Asculta trafic UDP, pe port-ul 8000 - fluxul de voce | # Asculta trafic UDP, pe port-ul 8000 - fluxul de voce | ||
Line 37: | Line 38: | ||
# Daca nu se specifica --udp, implicit este TCP. | # Daca nu se specifica --udp, implicit este TCP. | ||
iperf --server --port 80 &> out4.txt & | iperf --server --port 80 &> out4.txt & | ||
- | </file> | ||
- | Vom crea pe stația ''gateway'' un script cu numele ''iperf-gateway.sh'' care se va conecta la cele 5 servere pornite pe stația ''client'', generând cele 5 tipuri de trafic prezentate anterior. Simulăm tipurile de trafic prin generare de pachete ce au caracteristici asemănătoare cu cele din cazurile reale. Urmăriți comentariile din fișier:<file bash iperf-gateway.sh> | + | echo "iperf servers started. Now run the script on the gateway." |
- | #!/bin/bash | + | </file> |
+ | Vom crea pe stația ''gateway'' un script cu numele ''iperf-gateway.sh'' care se va conecta la cele 4 servere pornite pe stația ''client1'', generând cele 4 tipuri de trafic prezentate anterior. Simulăm tipurile de trafic prin generare de pachete ce au caracteristici asemănătoare cu cele din cazurile reale. Urmăriți comentariile din fișier:<file bash iperf-gateway.sh> | ||
#!/bin/bash | #!/bin/bash | ||
Line 71: | Line 72: | ||
</file> | </file> | ||
- | Rulați script-urile create anterior (''iperf-client1.sh'' pe stația ''client1'' și ''iperf-gateway.sh'' pe stația ''gateway''). Așteptați 60 de secunde. Inspectați output-ul de pe stația ''gateway''. Ce observați? | + | Rulați script-urile create anterior (''iperf-client1.sh'' pe stația ''client1'' și ''iperf-gateway.sh'' pe stația ''gateway''). Așteptați 60 de secunde și inspectați output-ul de pe stația ''gateway''. Ce observați? |
Observăm că fluxurile UDP au suferit **packet loss**, ele neavând nici un mecanism pentru retransmitere sau reglare a vitezei în funcție e starea legăturii. Pentru fluxul video, o pierdere de pachete de câteva procente este inacceptabilă. În continuare vom studia mecanismele implicite de QoS din Linux și cum putem preveni aceste pierderi de pachete. | Observăm că fluxurile UDP au suferit **packet loss**, ele neavând nici un mecanism pentru retransmitere sau reglare a vitezei în funcție e starea legăturii. Pentru fluxul video, o pierdere de pachete de câteva procente este inacceptabilă. În continuare vom studia mecanismele implicite de QoS din Linux și cum putem preveni aceste pierderi de pachete. |