L'FTP, acronimo di File Transfer Protocol (protocollo di trasferimento file), è un servizio che fornisce gli elementi fondamentali per la condivisione di file tra host.
Gli obiettivi dell'FTP sono:
promuovere la condivisione di file (programmi o dati)
incoraggiare l'uso indiretto o implicito (tramite programma) di computer remoti
salvaguardare l'utente al variare dei sistemi di stoccaggio file, tra un host e l'altro
trasferire dati in maniera affidabile ed efficiente
L'FTP ha subito una lunga evoluzione negli anni: il primo meccanismo di trasmissione file risale al 1971, fu sviluppato presso il MIT.
Il modello [modifica]
Dove:
PI (protocol interpreter) è l'interprete del protocollo
DTP (data transfer process) è il processo di trasferimento dati, che stabilisce e gestisce la connessione dati. Può essere attivo o passivo.
Server PI è il PI del server, che ascolta la porta L in attesa di una connessione dallo User PI e stabilisce la connessione di controllo della comunicazione. Riceve comandi standard FTP dallo User PI, manda risposte e governa il Server DTP.
Server DTP è il DTP del server, che nello stato normale attivo stabilisce la connessione con la porta in ascolto. Setta i parametri per il trasferimento e lo stoccaggio, e trasferisce i dati a comando. Può essere messo in stato passivo per ascoltare, piuttosto che iniziare una connessione sulla porta dati.
L'FTP usa il TCP per creare una connessione per le informazioni di controllo (detta out of band in quanto 'secondaria' a quella dati), poi crea una seconda connessione sempre TCP per il trasferimento dei dati. La connessione di controllo usa telnet per scambiare comandi e messaggi tra host. Per effettuare una connessione c'è bisogno che ci sia un server in ascolto sulla porta 21 (porta di default per la connessione out of band) e in seguito alla richiesta c'è bisogno di mandare informazioni riguardanti l'autenticazione, in genere login e password.
ciao