L’FTP (File Transfer Protocol) è un programma di trasferimento di file da/a un host remoto.
utilizzo
Il comando per accedere ed essere autorizzato a scambiare informazioni con l’host remoto è:
ftp NomeHost# vengono richiesti nome utente e password
trasferimento di un file da un host remoto:
ftp> get file1.txt
trasferimento di un file a un host remoto:
ftp> put file3.txt
L’FTP segue il modello client/server:
il lato client è quello che inizia il trasferimento
il lato server è l’host remoto
La comunicazione avviene così:
quando l’utente fornisce il nome dell’host remoto (con ftp NomeHost), il processo client FTP stabilisce una connessione TCP sulla porta 21 con il processo server FTP
tabilita la connessione, il client fornisce nome utente e password, che vengono inviate sulla connessione TCP come parte dei comandi
una volta ottenuta l’autorizzazione del server, il client può inviare uno o più file memorizzati nel file system locale verso quello remoto (o viceversa)
connessioni
Durante la comunicazione FTP, avvengono due connessioni:
connessione di controllo
La connessione di controllo si occupa delle informazioni di controllo del trasferimento e usa regole molto semplici, così da ridurre lo scambio di informazioni allo scambio di una riga di comando per ogni interazione.
avviene sulla porta 21
viene aperta al comando ftp NomeHost
tutti i comandi dell’utente sono trasferiti sulla connessione di controllo
è detta una connessione out of band (fuori banda), perché utilizza un canale separato rispetto alla connessione dati per gestire comandi e risposte tra client e server
il server FTP mantiene lo “stato”, ovvero la directory corrente e l’autenticazione precedente.