DIPARTIMENTO DI INFORMATICA ED AUTOMAZIONE |
Un insieme di regole per abilitare il colloquio bidirezionale tra due
computer durante il trasferimento di un file. Il nome si riferisce sia
al protocollo di trasmissione sia al programma che ne fa uso. Il protocollo
viene usato quando si scarica un file sul proprio computer prelevandolo
da un sito Internet e racchiude in sé i comandi tcp/ip (Transmission
Control Protocol/Internet Protocol) per eseguire il logon sulla rete,
visualizzare l'elenco dei file esistenti e copiarli sulla stazione locale.
In molti casi il computer da cui si vogliono prelevare dati accetta login
anonimi, questo significa che alla richiesta di qualificarsi l'utente risponde
"anonymous" e alla richiesta della password fornisce il proprio indirizzo
di posta elettronica su Internet.
In questo caso si parla di ftp anonimo. L'area di Internet composta
da siti di questo tipo prende il nome di "spazio ftp" e costituisce una
componente esterna e periferica rispetto allo spazio World Wide Web che
invece usa il protocollo http (HyperText Transfer Protocol).
È possibile accedere a un server ftp dall'interno di un browser
Web, ma le informazioni visualizzate saranno quelle tipiche di un server
ftp (si vedrà solo il nome dei file e delle directory disponibili
più un eventuale file readme che ne spiega i contenuti). L'indirizzo
da digitare in questo caso avrà un formato di questo tipo: ftp://ftp.earn.net.
A differenza di quanto avviene nello spazio Web, non è possibile
memorizzare le pagine sulla cache locale (una porzione di disco riservata
allo scopo) e quindi vanno ricaricate dalla rete ogni volta che ci si torna
sopra. Il protocollo è lo stesso anche quando si vuole spedire un
proprio file a un altro computer collegato a Internet.
ftp anonimo
La connessione via Internet a un server contenente file accessibili al pubblico e il prelievo di tali file mediante un programma di trasferimento che usi il protocollo ftp (File Transfer Protocol).
Si dice anonimo poiché non vengono richiesti il nome e la password
dell'utente prima di permettergli di accedere ai file. Quando il sistema
remoto richiede il nome dell'utente si risponde digitando "anonymous" e
quando richiede la password si fornisce di solito il proprio indirizzo
di posta elettronica. Da quel momento in avanti si accede alle directory
pubbliche del server e si possono recuperare i file che vi sono depositati
impostando il comando get seguito dal nome del file.
La sessione viene chiusa con il comando quit. Chi usa un browser
Web può di solito eseguire la stessa operazione direttamente selezionando
col mouse un pulsante oppure una scritta sulla pagina html che è
collegata al file in questione: il trasferimento in modalità anonima
viene attivato automaticamente senza che l'utente veda alcuno dei passaggi
visti prima.
È invece necessario usare ancora i comandi ftp quando ci si
collega a un server ftp puro. Anche in tal caso però, si possono
usare utility grafiche (per Windows ad esempio) che semplificano molto
l'operazione.
Come definito dalla Request For Comments 959, scritta nell'ottobre
1985 da Jon Postel e Joyce Reynolds dell'isi (Information Sciences Institute),
che standardizza l'uso di questo protocollo, l'ftp assolve al quadruplice
scopo di favorire la condivisione di file (contenenti programmi oppure
dati) tra due computer, incoraggiare l'uso esplicito oppure implicito (mediato
dal programma applicativo) di computer remoti, trasferire i dati in modo
affidabile ed efficiente, schermare l'utente da qualsiasi variazione di
sistema di memorizzazione su disco (storage) da un host all'altro.
Questo significa che non solo il file system può essere diverso
da una macchina all'altra, ma che può cambiare anche sistema operativo
(DOS, Unix, Windows, OS/2, Mac OS, eccetera) e insieme di caratteri (ascii
a 7 bit, binario, ebcdic quando entrambi i sistemi lo supportano). Si tratta
di un protocollo che, benché utilizzabile direttamente attraverso
l'omonima utility, serve principalmente come appendice di programmi che
lavorano su dati distribuiti sulla rete.
ftp si basa su due protocolli che sono stati sviluppati prima di esso in ambiente ARPAnet: il tcp/ip (Transmission Control Protocol/Internet Protocol) e il Telnet protocol, rispettivamente codificati nella rfc 793 pubblicata dalla darpa (Defense Advanced Research Projects Agency) nel settembre del 1981 e nella rfc 854 pubblicata sempre da Jon Postel e Joyce Reynolds dell'isi nel maggio del 1983.
Per anni ha rappresentato l'unico sistema per scaricare software e documenti
da Internet e ancora oggi, benché tenda a essere rimpiazzato o schermato
da strumenti più moderni, rimane ancora lo strumento primario usato
nella maggior parte dei siti di archiviazione.
È importante comunque ricordare che questo protocollo serve
unicamente al trasferimento di file e non per accedere a distanza su file
depositati su un sistema remoto, la qual cosa è resa possibile da
altre applicazioni specifiche come l'nfs (Network File System) sviluppato
da Sun.
Come funziona
Tra i vari protocolli usati su Internet, ftp ha la peculiarità di mantenere attive nello stesso tempo due connessioni logiche tra le due macchine interessate al trasferimento. La prima di queste connessioni serve a instaurare una connessione di controllo (quella che regola l'andamento delle operazioni) mediante il protocollo Telnet.
È in questa fase che avviene il logon iniziale (in cui il server chiede il nome e la password dell'utente entrante, oppure attende l'arrivo della parola anonymous seguita dall'indirizzo di posta elettronica dell'utente al posto della password nel caso in cui si stia usando ftp in modo anonimo). Sulla control connection viaggiano tutti i comandi ftp e perciò la connessione va mantenuta attiva per tutta la durata della trasmissione e va chiusa su istruzione dell'utente solo quando la sessione di collegamento giunge al termine. Spetta all'utente avviare la connessione di controllo rivolgendosi al proprio interprete di protocollo (user-pi); questo resterà attivo per tutta la durata della sessione e fungerà da intermediario tra la rete e il disco della macchina locale, pilotato direttamente dallo user-dtp, oltre che da referente per il server-pi all'altro estremo con il quale scambierà i comandi impostati dall'utente (oppure dal programma che questi sta utilizzando) e le risposte del server.
Dopo aver creato la connessione, bisogna selezionare la directory remota in cui si trova il file che si vuole prelevare e la directory locale in cui questo dovrà essere registrato (usando il comando cd [nome] e altri se necessario). Fatto questo, s'impostano gli eventuali parametri della trasmissione (tipo e struttura del file e modalità di trasferimento che nelle varie combinazioni ci danno 72 modi possibili) e infine si attiva il trasferimento vero e proprio con i comandi get o retr [nomefile] per prelevare e put o stor [nomefile] per inviare (i comandi viaggiano sulla connessione di controllo secondo il formato nvt di Telnet). Se l'operazione viene eseguita dall'interno di un browser Web, tutte queste operazioni saranno schermate e il prelievo verrà attivato attraverso un collegamento ipertestuale che segnala il nome del file all'interno di una pagina htlm oppure mediante una finestra che mostra il contenuto della directory del server. Usando un'utility o un programma specifici per ftp oppure i comandi diretti, si ha il vantaggio di usare i caratteri jolly (*) e di attivare in questo modo il prelievo contemporaneo di diversi file, anziché doverli prendere uno alla volta. È possibile interrompere il trasferimento in qualsiasi momento mediante il comando quit che chiude definitivamente la connessione oppure close che interrompe l'invio mantenendo la connessione attiva (oppure attraverso la funzione di sospensione prevista dal programma in uso).
Nel rapporto tra utente e server, una volta inviati i comandi che specificano
la modalità di trasferimento e che chiedono l'attivazione di quest'ultimo,
la user-dtp rimane in ascolto sulla propria porta (U Port) in attesa che
il server inizi la data connection e il trasferimento dati vero e proprio.
La porta utente potrebbe anche trovarsi su una macchina diversa da quella
che ha attivato la control connection, in tal caso, però, bisogna
assicurarsi che la macchina di destinazione sia pronta a ricevere. Trattandosi
di una connessione full duplex, la data connection può essere usata
per ricevere e trasmettere contemporaneamente.
Nel caso in cui si volesse attivare dalla propria stazione utente il
trasferimento a distanza tra due server, basta creare la data connection
tra le due macchine interessate, mantenendo attiva sulla propria macchina
la connessione di controllo.
Dott Ing. ALDO NECCI
Dipartimento di Informatica ed Automazione Universita' degli Studi "Roma Tre" Via della Vasca Navale, 79 ROMA |
|
e-mail: necci@inf.uniroma3.it |