4. [10p] Copiere fișiere cu diverse protocoale: durată și consum de resurse

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.

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.

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

student@host:~$ nc -l 12345 > file-100M-nc.dat

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 comenzii1)

student@green:~$ time cat file-100M.dat | nc -q0 host 12345

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

student@green:~$ time curl -T file-100M.dat -u student:student ftp://host/file-100M-ftp.dat

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

student@green:~$ time scp file-100M.dat student@host:file-100M-scp.dat

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ță.

1) Î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.
rl/labs/07/contents/04.txt · Last modified: 2023/11/05 12:43 by vlad_iulius.nastase
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