Che cos’è un client di protocollo di trasferimento file?

Un client di protocollo di trasferimento file è un’applicazione software per computer utilizzata per accedere a un server di dati utilizzando il protocollo di trasferimento file (FTP). Attraverso l’utilizzo di questo protocollo comune, il client è in grado di trasferire dati da e verso il server. L’applicazione client fornisce i mezzi per stabilire una connessione e quindi inviare i comandi FTP appropriati al server. È disponibile in molte forme, gestite tramite un’interfaccia a riga di comando (CLI), un’interfaccia utente grafica (GUI), persino un comune browser web.

FTP fa parte del livello applicativo superiore della suite di protocolli Internet (IP), con il protocollo di controllo della trasmissione (TCP) utilizzato per il trasporto delle comunicazioni. Il client del protocollo di trasferimento file, quindi, è responsabile di stabilire la connessione al server aprendo infine due connessioni TCP. Il primo è la connessione di controllo, dove il client invia comandi al server FTP. I primi comandi inviati sulla connessione di controllo sono il comando USER, con il nome dell’utente come argomento, quindi il comando PASS seguito dalla password. Una volta stabilita, la connessione di controllo rimane aperta per tutta la sessione.

Qui, il client del protocollo di trasferimento file imposta le diverse modalità di comunicazione che avrà con il server. In genere, i dati vengono rappresentati in uno dei due modi, testo o binario, a seconda dei dati inviati o ricevuti. I trasferimenti di tipo testo vengono utilizzati più spesso per file di testo normale codificati con il metodo di codifica ASCII (American Standard Code for Information Interchange). La modalità binaria, nota anche come modalità immagine, è per il trasferimento di file in un formato binario non di testo, come le immagini digitali. Un altro, chiamato modalità locale, è un altro modo in cui FTP può trasferire dati utilizzando un formato univoco o proprietario.

Il secondo canale TCP utilizzato dal client del protocollo di trasferimento file è la connessione dati. Questa connessione è di natura temporanea e viene creata solo quando un client richiede un elenco dei file sul server o sta trasferendo un file da o verso il server. La connessione dati viene quindi distrutta quando non avviene alcun trasferimento di dati. La connessione dati è unica anche nel modo in cui viene stabilita, sia attivamente che passivamente. Il client deve comunicare al server il tipo di connessione dati da utilizzare a seconda del tipo di connessione disponibile sul client.

Con una connessione dati attiva, il client del protocollo di trasferimento file comunica al server quale numero di porta TCP utilizzare per la connessione dati. Quando viene utilizzato in modalità passiva, tuttavia, il client dice semplicemente al server che è passivo e il server comunica quindi al client quale porta TCP utilizzare per la connessione dati. Nella maggior parte dei casi il client è predisposto per una connessione passiva grazie all’utilizzo di firewall che lo proteggono da accessi non autorizzati.
Come risultato della generale mancanza di sicurezza in FTP, la sicurezza per un client di protocollo di trasferimento file è parte integrante del suo funzionamento in modo che l’attività dell’utente sia al sicuro da occhi indiscreti. Nel corso degli anni sono state ideate diverse tecniche di sicurezza aggiuntive da utilizzare con FTP, come ad esempio il client che nomina esplicitamente un protocollo di sicurezza da utilizzare o ne viene automaticamente implicato uno. Altri client tentano di utilizzare FTP tramite un tunnel Secure Shell (SSH), che potrebbe avere difficoltà a causa della natura fugace della connessione dati.