Che cos'è un client di protocollo di trasferimento file?
Un client di protocollo di trasferimento file è un'applicazione software utilizzata per accedere a un server di dati utilizzando il protocollo di trasferimento file (FTP). Attraverso l'uso 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, gestita tramite un'interfaccia a riga di comando (CLI), un'interfaccia utente grafica (GUI), persino un browser Web comune.
FTP fa parte del livello superiore dell'applicazione della suite del protocollo Internet (IP), con il protocollo TCP (Transmission Control Protocol) utilizzato per il trasporto delle comunicazioni. Il client del protocollo di trasferimento file, quindi, è responsabile per stabilire la connessione al server aprendo infine due connessioni TCP. La prima è la connessione di controllo, in cui il client invia comandi al server FTP. I primi comandi inviati tramite la 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 durante l'intera sessione.
Qui, il client del protocollo di trasferimento file imposta le diverse modalità di comunicazione che avrà con il server. In genere, i dati sono rappresentati in due modi, testo o binario, a seconda dei dati inviati o ricevuti. I trasferimenti di tipo testo sono spesso utilizzati per file di testo semplice 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 testuale, 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 si verifica alcun trasferimento di dati. La connessione dati è anche unica nel modo in cui viene stabilita, sia attivamente che passivamente. Il client deve comunicare al server il tipo di connessione dati da utilizzare in base al tipo di connessione disponibile sul client.
Con una connessione dati attiva, il client del protocollo di trasferimento file indica al server quale numero di porta TCP utilizzare per la connessione dati. Se utilizzato in modalità passiva, tuttavia, il client comunica semplicemente al server che è passivo e il server informa quindi il client quale porta TCP utilizzare per la connessione dati. Nella maggior parte dei casi, il client è configurato per una connessione passiva a causa dell'uso di firewall che lo proteggono da accessi non autorizzati.
A causa della generale mancanza di sicurezza nell'FTP, la sicurezza di un client con 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 da utilizzare con FTP, come ad esempio il client che nomina esplicitamente un protocollo di sicurezza da utilizzare o che viene automaticamente implicito. Altri client tentano di utilizzare FTP tramite un tunnel SSH (Secure Shell), che potrebbe avere difficoltà a causa della natura fugace della connessione dati.