This shows you the differences between two versions of the page.
rl:labs:07:contents:04 [2020/11/19 08:55] iulia.florea |
rl:labs:07:contents:04 [2023/11/05 12:43] (current) vlad_iulius.nastase |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 04. [20p] Configurare conectivitate completă ==== | + | ==== 4. [10p] Copiere fișiere cu diverse protocoale: durată și consum de resurse ==== |
- | Dorim să asigurăm conectivitate completă între toate stațiile din topologie. Trebuie configurată corespunzător stația ''blue''. | + | Ne propunem să măsurăm timpul de copiere și consumul de resurse pentru un transfer realizat între două stații folosind, pe rând, transfer direct, FTP și SSH. În directorul home al utilizatorului ''student'' de pe stația ''green'' există un fișier ''file-100M.dat''. Vom transfera acest fișier în directorul home al utilizatorului ''student'' de pe stația ''host''. Vom folosi transfer direct, transfer FTP și transfer SSH. Pentru fiecare caz, stația ''host'' va rula server-ul, iar stația ''green'' clientul. |
- | Configurați adrese IP din clasa 10.10.30.0/24 pe legătura dintre stația ''host'' și stația ''blue'' (adică între ''host(veth-blue)'' și ''blue(eth0)''). | + | <note tip> |
- | + | Dați copy-paste la comenzile de mai jos ca să vă asigurați că le scrieți corect. Pentru paste folosiți, în terminal, combinația de taste ''Shift+Insert''. | |
- | <note> | + | |
- | Țineți cont să verificați legătura de nivel 2 folosind comanda ''ip link''. | + | |
</note> | </note> | ||
- | Testați conectivitatea între stația ''host'' și stația ''blue''. | + | **Transfer direct** |
- | Pe stația ''blue'' configurați ca //default gateway// stația ''host'', pentru a permite conectivitata la celelalte stații. | + | Pentru transfer direct vom porni un server simplu TCP pe stația ''host'' și un client pe stația ''green''; vom folosi utilitarul ''netcat'', prescurtat și ''nc''. Rulați pe stația ''host'', în contul utilizatorului ''student'', comanda<code bash> |
+ | student@host:~$ nc -l 12345 > file-100M-nc.dat | ||
+ | </code> Comanda deschide un server TCP care ascultă conexiuni pe portul ''12345''. Comanda rămâne activă în așteptarea unei conexiuni de la un client. | ||
- | <note tip> | + | De pe stația ''green'', din contul utilizatorului ''student'', transferați fișierul și măsurați timpul de transfer și consumul de resurse prin rularea comenzii((În cazul unui transfer prin rețea folosind ''netcat'' nu se face verificare de integritate (//integrity check//). Există riscul (mic, dar există) ca fișierul să nu fie transferat corespunzător. De aceea e bine să verificați integritatea acestuia prin calcularea sumei de control (//checksum//) folosind, de exemplu, utilitarul ''sha512sum''.))<code bash> |
- | Pe stația ''blue'' folosiți ca //default gateway// adresa IP de pe interfața ''veth-blue'' a stației ''host''. | + | student@green:~$ time cat file-100M.dat | nc -q0 host 12345 |
- | </note> | + | </code> |
+ | |||
+ | Comanda de mai sus trimite un fișier comenzii ''nc'', iar comanda ''nc'' are rolul unui client TCP care se conectează la stația ''host'' pe portul ''12345''. | ||
+ | |||
+ | **Transfer FTP** | ||
+ | |||
+ | Pentru transfer FTP, serverul de FTP este deja pornit pe stația ''host''. De pe stația ''green'', din contul utilizatorului ''student'', transferați fișierul și măsurați timpul de transfer și consumul de resurse prin rularea comenzii<code bash> | ||
+ | student@green:~$ time curl -T file-100M.dat -u student:student ftp://host/file-100M-ftp.dat | ||
+ | </code> | ||
+ | |||
+ | **Transfer SSH** | ||
+ | |||
+ | Pentru transfer SSH, serverul de SSH este deja pornit și configurat pe stația ''host''. De pe stația ''green'', în contul utilizatorului ''student'', transferați fișierul și măsurați timpul de transfer și consumul de resurse prin rularea comenzii<code bash> | ||
+ | student@green:~$ time scp file-100M.dat student@host:file-100M-scp.dat | ||
+ | </code> | ||
- | Testați conectivitatea între oricare două stații. | + | Urmăriți timpii de rulare și consumul de memorie și de procesor pentru cele trei cazuri de mai sus. Observați valorile ridicate pentru SSH pentru timpul utilizator (//User time//) și procentul de procesor (//Percent of CPU//). Acesta valori ridicate se datorează componentei de criptare a SSH: această componentă asigură securizarea datelor cu un cost de reducere de performanță. |