Il protocollo ftp
FTP Il File Transfer Protocol (FTP) è uno dei servizi Internet più basilari (ed ha ispirato HTTP, il protocollo del Web). Si usa per download/upload, cioè per copiare files (sia testo che binari) da un sito ad un altro; inoltre, visualizza il contenuto di intere directory e permette cancellazione o spostamento di archivi se se ne ha il diritto. Per fare FTP si può usare un client apposito (es. CuteFTP su Windows, fetch su Mac, ftp su Linux). Oppure un browser WWW, usando URL speciali. Esempio: ftp://homelinux.capitano.unisi.it
FTP: file transfer protocol Funzionalità: trasferimento di dati (files) da/per il sistema remoto. Architettura software: client/server. client: il sistema che attiva il trasferimento; server: il sistema remoto. FTP: RFC 959. FTP server: porta 21.
Un po’ di storia FTP è un protocollo definito già nella struttura di ARPANET; venne standardizzato nel 1971. Protocollo di elezione per il trasferimento di files negli anni ’70 e ’80. Alla fine degli anni ’80, circa metà del traffico di rete era dovuto a FTP.
FTP: autenticazione Il servizio FTP permette l’autenticazione dell’utente: quando si apre la connessione con il server, vengono chiesti username e password; inoltre viene tenuta traccia di tutte le operazioni. Nota: molti server permettono login anonimo.
FTP: file transfer protocol Il client FTP si connette al server FTP sulla porta 21, indicando TCP come protocollo di trasporto. Effetto: vengono aperte due connessioni TCP parallele: controllo: scambio dei comandi e delle risposte fra client e server; dati: trasferimento effettivo dei dati. FTP: protocollo con stato. Il server conserva informazioni di stato: la directory corrente, informazioni per l’autenticazione dell’utente.
FTP: comandi e risposte Inviati in formato ASCII sul canale di controllo. USER username PASS password LIST restituisce la lista dei files presenti nella directory remota corrente RETR (get) filename preleva il file STOR (put) filename memorizza il file sull’host remoto Codici di risposta Codice di stato e frase (come in HTTP). 331 Username OK, password required 125 data connection already open; transfer strating 425 Can’t open data connection 452 Error writing file