This shows you the differences between two versions of the page.
rl:labs:07:contents:04 [2013/11/08 22:01] mihai.carabas |
rl:labs:07:contents:04 [2023/11/05 12:43] (current) vlad_iulius.nastase |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 04. Tabela ARP ==== | + | ==== 4. [10p] Copiere fișiere cu diverse protocoale: durată și consum de resurse ==== |
- | * tutorial ARP | + | 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. |
- | * dat ping de la red, green și blue către toate stațiile | + | |
- | * urmărit tabela ARP pe red, green, blue | + | |
- | * explicație de ce nu apar și celelalte stații în tabela ARP | + | |
- | * afișare tabela ARP a host | + | |
- | * văzut că sunt intrări ARP diferite pentru fiecare stație și cu interfețe diferite asociate | + | |
+ | <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> | ||
+ | **Transfer direct** | ||
+ | |||
+ | 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. | ||
+ | |||
+ | 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> | ||
+ | student@green:~$ time cat file-100M.dat | nc -q0 host 12345 | ||
+ | </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> | ||
+ | |||
+ | 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ță. |