| Università della Tuscia |
Si stima che attualmente, sparpagliati nelle memorie degli
host computer connessi a Internet, ci siano diversi milioni di file di
'pubblico dominio'. Si tratta di un enorme serbatoio di programmi, immagini
digitali, suoni, ecc. . Altri file, in quantità superiore, non sono
disponibili a chiunque abbia la possibilità di usare un collegamento
telematico adeguato, ma solamente a chi possa identificarsi quale utente
riconosciuto dal sistema ospite e che abbia i diritti di accesso richiesti.
Il sistema che ci consente di trasferire questi file sul nostro computer,
si chiama File Transfer Protocol (FTP).
Il termine Protocol sta ad indicare che si tratta
di un insieme di specifiche di comunicazioni tra elaboratori connessi da
una rete che devono essere rispettate per realizzare il processo di 'trasferimento'.
Questo protocollo, a sua volta, si basa sulle specifiche
del protocollo di rete TCP/IP cioè quello che
comunemente viene identificato con 'Internet'.
Quando due elaboratori connessi a due reti distinte che
usano protocolli diversi si connettono per una scambio di file usando l'FTP,
ciascuno dei due processi si adegua al proprio protocollo di rete e comunicherà
con l'altro sempre seguendo le specifiche stabilite; in pratica entrambi
dovranno usare sempre lo stesso linguaggio comune, a prescindere dalle
diverse implementazioni locali.
Come in molti altri casi di processi che devono offrire
funzionalità di rete, anche per l'FTP si distinguono due ruoli in
ogni sessione di collegamento che devono essere assunti dai due elaboratori:
il Server e il Client. Distinguerli è
facile perché, come si desume dai termini stessi, chi si connette
per richiedere un accesso ad un'altro elaboratore ed essere quindi temporaneamente
ospitato per operare degli scambi di file, questo sarà il Client,
mentre chi offre l'accesso sull'elaboratore al quale appartiene sarà
il Server. Ovviamente la differenza dei ruoli impone anche una serie
di differenze sostanziali in termini di funzioni che ciascuno di questi
deve offrire all'utente e di capacità di gestione delle risorse
dell'elaboratore cui appartiene (accessi contemporanei, rispetto dei diritti
di accesso, integrità del file system ecc.).
Chiunque voglia mettere a disposizione un file lasciando
agli interessati di richiedere una sessione come Client, dovrà
attivare un processo di FTP Server opportunamente predisposto; chiunque
voglia connettersi con un altro elaboratore per prelevare o depositare
un file deve attivare un processo di FTP Client (ed avere eventualmente
le autorizzazioni richieste dal Server).
Diamo ora un'occhiata a come funziona il protocollo che ci consentirà di trasferire un file sul nostro computer, dando per scontato che già ne conosciamo la localizzazione.
Indipendentemente dal tipo di applicazione utilizzata per attivare una sessione FTP, ci sono due modalità di collegamento ad una macchina remota: FTP anonimo, e FTP con account.
Il trasferimento di file tramite FTP anonimo è quello tradizionalmente utilizzato per il prelievo di file presso università, enti, società. Consiste in un login, ovvero nell'ingresso in un computer remoto, effettuato senza disporre presso di esso di un proprio identificativo di utente e di una propria password, quindi anonimamente. In questa modalità non avremo, per ovvi motivi di sicurezza, pieno accesso al computer remoto; potremo quindi entrare solo in determinate directory — tipicamente nella directory chiamata 'pub' (ovvero public) e nelle sue sottodirectory — e potremo solo leggere alcuni file, ma non cancellarli, spostarli o modificarli.
L'utilizzazione di FTP con account, invece, dà pieno accesso ad una determinata directory del sistema remoto, nella quale potremo inserire, modificare e cancellare file, proprio come se fosse una directory del vostro hard disk. Di norma è riservata ai dipendenti dell'università, dell'ente o della società che ospita il server FTP, oppure ai loro collaboratori, oppure ancora ai loro clienti. Se, ad esempio, decidete di pubblicare su Internet alcune pagine Web, acquistando lo spazio presso un 'Internet provider', quest'ultimo con ogni probabilità vi concederà un account FTP e una password personale, con l'ovvio scopo di permettervi di modificare quanto vorrete pubblicare, sollevando se stesso da questo onere ma garantendosi da eventuali disattenzioni dell'utente.
Una raccomandazione a tutti gli utenti dell'Ateneo: usate il protocollo
FTP per la trasmissione o la ricezione di file di dimensione consistente (>500
Kbyte) in alternativa alla tecnica di 'attach' ai messaggi di e-mail,
eviterete così possibili intasamenti dei mailer di transito su Internet,
non incorrerete nella possibilità di violare limiti di spazio o di
tempo imposti sui computer di transito, non occuperete risorse sul mail-server
dell'Ateneo e eviterete possibili problemi di conversione di formato operati
dai client di e-mail usati.
Come di consueto, i programmi (client) per fare FTP si
dividono in due categorie: quelli che dispongono di una interfaccia a caratteri,
e quelli con una interfaccia grafica.
Negli esempi che vengono proposti ogni volta che si
indica un indirizzo IP numerico, del tipo xxx.yyy.zzz.kkk, per identificare
un elaboratore connesso alla rete internet, è possibile sostituirlo
con l'identificativo della sua registrazione in un particolare dominio.
Senza entrare nei particolari delle funzioni di risoluzione
degli indirizzi, consideriamo l'elaboratore che fa da server di posta elettronica
del nostro Ateneo: il suo numero IP, unico in tutta la rete Internet, è
193.205.144.2; esso è anche stato registrato col nome di 'tus001'
nel dominio 'unitus.it' in una base dati di indirizzi globale e per questo
è anche universalmente specificato col nome di 'tus001.unitus.it'.
Programmi con interfaccia a caratteri
I client FTP con interfaccia a caratteri possono sembrare
un po' ostici, ma sono molto efficienti e versatili. Nella figura che segue
è visibile, a titolo di esempio, il client FTP fornito di serie
con Windows 95.

Per vedere quali sono i comandi di cui si dispone in una sessione FTP, effettuiamo un collegamento di prova con un elaboratore del Centro di Calcolo, da tempo predisposto come deposito di software di utilità comune per tutti gli utenti della rete di Ateneo.
La prima cosa da fare, ovviamente, è attivare il client FTP. La procedura cambia secondo il programma utilizzato, del sistema operativo adottato, ecc., ma è quasi sempre una operazione molto semplice. Vediamo ad esempio come si procede con Windows 95: stabilito che l'host computer scelto ha per 'indirizzo' internet (IP address) numerico 193.205.144.7, è sufficiente scrivere dalla shell di comando (fare click su 'Avvio' e poi su 'Esegui...'):
Connesso a 193.205.144.7.
220 tus001bdc Microsoft FTP Service (Version 4.0).
Utente (193.205.144.7:(none)): anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:mia_mail@mio.fornitore
230-Benvenuti al sito FTP dell'Università della TUSCIA
230 Anonymous user logged in.
ftp>
Siamo entrati. Da notare che, come ci ha suggerito lo
stesso server, abbiamo fornito il nostro indirizzo di posta elettronica
in luogo della password. Il server presume che un indirizzo di e-mail vi
sia stato assegnato dal momento che state attivando una sessione FTP da un altro elaboratore sul quale siete accreditati con un account.
Da questo momento in poi abbiamo a disposizione alcuni
comandi, come 'dir' o 'cd', del tutto simili a quelli del nostro personal;
la differenza è che in questo caso operano sui dischi fissi del computer
remoto. Attenzione: non è il nostro personal computer a eseguirli,
non variano perciò da sistema operativo a sistema operativo, ma
vengono eseguiti dal computer al quale ci siamo collegati (nel nostro
esempio, un server del Centro di Calcolo) e del quale ora il nostro PC
è diventato a tutti gli effetti una sorta di terminale. Il
Sistema che ci ospita in questo caso è un Windows NT, ma avrebbe
potuto essere uno Unix o un Vms: la situazione offerta all'utente sarebbe
comunque la medesima.
Conosciamo già la struttura delle directory
disponibili e perciò decidiamo subito di entrare nella directory
chiamata 'antivirus', che si trova direttamente nella directory principale. Per farlo utilizziamo
il comando 'cd':
ftp> cd antivirus
Da ricordare che il carattere usato per separare le
sottodirectory nella indicazione di un percorso è la barra inclinata a destra (/), secondo la sintassi
Unix, piuttosto che la barra inclinata a sinistra, propria dell'MS-DOS.
Benché molti dei server FTP giri su Unix, o comunque
ne rispetti la sintassi e sia quindi opportuno abituarsi a questo specifico
e ad altri adeguamenti, in questo caso trattandosi di un sistema Windows
NT tale attenzione sarebbe irrilevante; d'altra parte gli stessi comandi
'dir' o 'cd' possono essere interpretati correttamente da un sistema Unix
se inviati dalla shell di comando del nostro client.
Da notare inoltre che, siccome molti sistemi operativi distinguono
le maiuscole dalle minuscole ed altri lo fanno solo in determinate circostanze
(es. per verifica password), i nomi delle directory o dei file indicati
nelle linee dei comandi in questo caso specifico sono accettati indifferentemente
scritti in maiuscolo o in minuscolo, ma in altri casi (es. sistemi ospiti
Unix) viene richiesta la digitazione esatta per tutti i nomi usati.
La struttura dei siti FTP 'pubblici' è quasi sempre la stessa, basta conoscerne una per potersi muovere con facilità in moltissime altre. Nel nostro caso per visualizzare il contenuto della directory sul computer remoto si utilizzare il comando 'dir' ottenendo a video:
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
11-23-00 04:07PM 5129940 1117x86.exe
10-05-00 09:18AM 3356480 IPESetup.exe
11-24-00 10:03AM 7820277 nnti402e.zip
11-23-00 04:04PM 25701484 Norton_AntiVirus_200_7.0_76.exe
11-23-00 04:39PM 4682127 sdat4107.exe
11-23-00 04:04PM 14668876 TucowsVirusScan512Fixed.exe
226 Transfer complete.
ftp: 351 bytes received in 0,01secondi 35,10Kbyte/sec)
ftp>
Nella parte sinistra dell'elenco vediamo informazioni
sulla data di creazione del file. Sulla destra invece individuiamo i dati
relativi alla lunghezza e al nome del file.
Il semplice nome può non dirci molto sul tipo di
programma. In questi casi può essere opportuno per prima cosa prelevare
un indice più dettagliato. Lo troviamo spesso, ma non in questo caso, come file con un nome
simile a '00-Index' (lo 00 iniziale serve solo a farlo comparire per primo
nell'elenco).
Supponiamo, dopo aver deciso che il file che ci interessa
sia il nnti402e.zip, di volerlo prelevare.
Prima di tutto dovremo comunicare al computer remoto
che si tratta di un file binario e non di testo, cosa
che viene fatta usando il comando 'bin' (questa operazione non è
sempre necessaria, dato che molti host capiscono da soli quando impostare
il trasferimento in modalità binaria; tuttavia non è male
usarlo comunque) come segue
ftp> bin
200 Type set to I.
ftp>
Ora possiamo prelevare il file. Per farlo si deve usare il comando 'get <nome_del_file>':
ftp> get nnti402e.zip
200 PORT command successful.
150 Opening BINARY mode data connection for nnti402e.zip(7820277 bytes).
226 Transfer complete.
ftp: 7820277 bytes received in 8,50secondi 919,82Kbyte/sec)
ftp>
Fatto. Il 'get' ha copiato il file nnti402e.zip'
dal server FTP del Centro di Calcolo al nostro disco. A questo punto
possiamo chiudere la connessione con il computer remoto.
Il file appena trasferito si troverà nella directory
predisposta dalla configurazione del FTP che si sta usando. Con il comando
'lcd' si può visualizzare quella corrente o modificarla.
Il comando 'get' offre anche altre piccole potenzialità. Ad esempio ci consente di prelevare un programma e di riceverlo con un nome diverso dall'originale. 'Get' utilizzato in questo modo preleva il file chiamato 'pippo.zip' e ce lo fa arrivare con nome 'paperino.zip'. È una comodità soprattutto per chi usa MS-DOS e si imbatte in file con nomi lunghi o non gestibili (perché magari contengono più di un punto al loro interno).
Una piccola variante rispetto a 'get' è 'mget'. Con 'mget' si possono prelevare più programmi contemporaneamente. Ad esempio 'mget SCN*.zip' preleva tutti i file che iniziano con 'SCN' e finiscono con '.zip'. Il comando 'mget *.*' spedisce (teoricamente) tutti i file presenti nella directory dell'host system cui si è collegati. La maggior parte dei computer, tuttavia, disabilita questa funzione perché può scatenare un traffico di dati enorme; si pensi che ci sono dischi con molti gigabyte liberamente duplicabili (e anche con modem veloci ci vorrebbero giorni prima di smaltire tanto traffico).
FTP in modalità carattere mette a disposizione
una serie di altri comandi. Il seguente elenco ne spiega la funzionalità:
|
|
|
| Ascii | è il comando complementare a 'bin'. Imposta la trasmissione in modalità testo |
| Bin | imposta la trasmissione in modalità binaria, ovvero la modalità adatta a programmi, immagini digitali, ecc. Alcuni server FTP commutano automaticamente in 'binary mode' quando si preleva uno di questi file |
| cd nome_directory | cambia directory. Da notare che quando si vogliono indicare anche le sottodirectory, vanno separate con la barra inclinata a destra, secondo la consuetudine Unix. Ad esempio: 'cd utility/virus' (e non 'cd utility\virus') |
| Cdup (oppure cd . oppure ancora cd ..) | sale di una directory. Ad esempio porta alla directory 'utility' se ci si trova in 'utility/virus'. Se il server risponde che il comando non esiste, provare con 'cd .' (cd, spazio, punto), oppure con 'cd ..' (cd, spazio, punto, punto) |
| delete nome_file | cancella un file (il comando funziona solo durante sessioni con account; per evidenti motivi di sicurezza) |
| dir | visualizza il contenuto di una directory |
| dir abbreviazione* | se si vogliono visualizzare, ad esempio, solo i file il cui nome inizia con 'f', si può scrivere 'dir f*' |
| get nome_file | preleva un file. Se il file non è un semplice testo, è buona norma far precedere questo comando dal comando 'bin' |
| get nome_file - | simile al comando 'type' di MS-DOS: stampa a video un file di testo (notare il trattino dopo il nome del file) |
| hash | durante un download, fa sì che venga visualizzato un carattere '#' ogni Kbyte arrivato (oppure ogni due, o più, dipende da come è configurato il server). Utile per meglio monitorare i trasferimenti |
| help | fornisce l'elenco dei comandi disponibili |
| help nome_comando | fornisce una breve spiegazione sul comando indicato |
| lcd nome_directory | cambia la directory locale (quella del proprio PC), ovvero la directory nella quale il client memorizzerà il file che si sta prelevando. Dato da solo, indica qual è la directory selezionata |
| put nome_file | questo comando consente di trasferire un file dal proprio computer al server FTP cui si è connessi. Solitamente è utilizzabile solo in sessioni FTP con account e password, in quanto via FTP anonimo non si è abilitati in scrittura. A tale ultimo proposito, tuttavia, vale la pena aggiungere che alcuni server FTP, anche quando ci si collega in modalità anonima, mettono a disposizione una directory aperta in scrittura, quasi sempre chiamata 'incoming'. Anche il 'put', se il file da spedire non è un semplice testo, è buona norma farlo precedere dal comando 'bin' |
| pwd | visualizza il nome (e il percorso o 'path') della directory nella quale ci si trova |
| quit | chiude una sessione FTP. Se non funziona provare con 'bye', 'close', 'logout', ecc. |
Può essere utile, infine, ricordare che nella quasi
totalità dei casi i file che possiamo trovare sui siti FTP sono
sottoposti a compressione. Questo processo serve a risparmiare spazio,
tempo e risorse per i trasferimenti e a raccogliere in un unico archivio
più file. Esistono diversi programmi di compressione, spesso legati
ai diversi sistemi operativi. Ognuno di essi produce dei file caratterizzati
da particolari estensioni. Nel seguente elenco sono indicate quelle con
cui avrete occasione di imbattervi più spesso, con i relativi programmi.
|
|
|
| .gz | file compresso con GNU Gzip |
| .hqx | file compresso Macintosh (BinHex) |
| .lzh | file compresso (in genere per MS-DOS, ma il formato è molto diffuso anche tra i computer Amiga) |
| .sit | file compresso Macintosh (StuffitExpander) |
| .tar | file compattato con il programma Unix tar |
| .tar.gz | file compattato e poi compresso con tar e gzip |
| .Z | file compresso con il programma Unix compress |
| .zip | file compresso con PkZip o Info-Zip. |
Si noti che i file compressi, di qualsiasi tipo (zip,
lzh, gzip.), dopo essere stati trasferiti sul proprio disco, debbono
essere espansi al loro formato originale, utilizzando i relativi programmi
di decompressione. Il programma di compressione più diffuso in assoluto,
nato in ambiente MS-DOS e Windows, è PkZIP. In alcuni casi
si possono trovare file compressi con estensione .exe che sta ad indicare
come siano degli eseguibili autoscompattanti, cioè basta mandarli
in esecuzione e questi esploderanno automaticamente nella forma originaria;
al costo di una leggera maggiorazione nelle dimensioni del file, si evita
così che chi ottiene il file debba pure possedere il programma di
decompressione.
Le interfacce grafiche hanno definitivamente avuto la
meglio nel mondo delle telecomunicazioni, così anche per il prelievo
di file sono ormai disponibili programmi a base di icone e mouse. Ce ne
sono diversi, per tutti i sistemi operativi; qui di seguito illustriamo
il client FTP inserito in Netscape (il suo funzionamento è identico
sia che si possieda un PC con Windows, sia che si utilizzi un Macintosh,
o un sistema Unix con ambiente X-Window), ricordando tra quelli disponibili
di 'pubblico dominio' per Windows il WS_FTP.
L'integrazione fra il programma di gestione risorse e
la navigazione in rete fa anche di Internet Explorer un potente strumento
di FTP grafico.
Netscape e l'FTP anonimo
Il client FTP di Netscape è fortemente integrato
con le altre funzionalità del programma. Per collegarsi con un sito
FTP tramite Netscape è sufficiente inserire la URL del sito che
vogliamo raggiungere (se il sito è ad esempio 'XXX.unitus.it',
la relativa URL sarà 'ftp://XXX.unitus.it')
dopo aver fatto click con il mouse sul bottone 'Open Page' presente all'interno
della barra degli strumenti, così come illustrato nella figura che
segue:

Notare che è possibile inserire la URL completa
di path ('ftp://XXX.unitus.it/directory/subdirectory'),
così da saltare direttamente alla subdirectory che ci interessa.
Con Netscape la procedura iniziale di login, durante la quale solitamente
si inserisce 'anonymous' alla voce utente, e il proprio recapito e-mail
in luogo della password, si salta: provvede il programma a spedire automaticamente
queste informazioni. Nella figura seguente, riportiamo una schermata tipo
di una sessione FTP di Netscape.

La sua interpretazione è molto semplice. I 'foglietti bianchi' e quelli con eventuale scritta '010' sono file generici, i 'foglietti con delle righe di scrittura' sono file di testo (per leggerli è sufficiente farci click sopra con il mouse, il che equivale al 'get nome_file -' dell'FTP con interfaccia a caratteri), le 'cartelle', infine, sono le directory.
Per entrare in una directory, o per prelevare un file,
basta un click del mouse. In quest'ultimo caso, dopo qualche secondo, compare
un box simile a quello della figura che segue:

Per trasferire il file sul proprio hard disk, a questo punto, non si deve fare altro che un click su 'Save File...' e attendere che il trasferimento sia completo (possono essere necessari alcuni secondi o molti minuti: dipende dalla dimensione del file, e dalla velocità del proprio collegamento).
Netscape e FTP con account
Il funzionamento di Netscape in una sessione FTP con account è identico a quello di una sessione anonima. Aggiungiamo solo un paio di note su come si forniscono al sistema remoto il proprio codice e la propria password e su come si invia un file (ovvero su come si effettua l'equivalente di un PUT). Non si tratta, al momento, di un metodo propriamente amichevole — è probabile che le versioni future di Netscape finiscano per adottare un modulo FTP più vicino a quello disponibile in client specifici.
A partire dalla versione 2.0 di Netscape, l'inserimento del codice e della password avviene a livello di indirizzo; quando si indica a Netscape l'indirizzo del computer al quale ci vogliamo collegare, dobbiamo aggiungere il codice e la password secondo questa sintassi:
Un altro limite di questo sistema è che nel digitare la password, questa rimane in chiaro sul video, aumentando il rischio che qualcuno la veda. Perciò: prudenza!
L'invio di un file (put) con il client FTP di Netscape
(possibile solo a partire dalla versione 2.0 del programma) si effettua
semplicemente con un click sul comando 'Upload file...' che troviamo sotto
il menu 'File' una volta posizionatici nella directory di destinazione.
Dove
trovare un Server FTP
Di Server FTP, la cui installazione si rende necessaria se si vuole
offrire accesso controllato ad altri per la trasmissione di file propri,
ne esistono anche di pubblico dominio e per vari sistemi operativi.
Il Centro di Calcolo all' indirizzo IP 193.205.144.7,
che già conosciamo, ha messo a disposizione un server per Windows
nella directory '/ftp/server'
e di nome WSFTPD.zip .
Una volta preso, con un Client FTP o con una connessione in rete Microsoft
NT (tipo 'sfoglia la rete'), si dovrà creare una directory sul prorpio
disco fisso in cui scompattare il file zip. Questa sarà automaticamente
anche la directory di installazione del vostro Server FTP.
Per la configurazione particolareggiata esiste una guida in linea piuttosto
semplice, in cui viene descritto tutto il procedimento da seguire per il
servizio di file-transfer che si vuole definire.
Il programma, una volta fatto partire, crea un 'demone' cioè
un processo in background che si mette in attesa di richieste di connessione
fatte secondo un protocollo FTP. Questo processo può essere configurato secondo le proprie esigenze per mezzo di un menu grafico che è stato
predisposto anche per varie funzioni di controllo.
Se non si è soddisfatti di questo server o si sta usando un sistema
operativo non compatibile, se ne possono ottenere altri visitando vari
siti noti che operano come depositi di software pubblico o repliche locali
di altri più noti, oppure si possono effettuare delle ricerche sulla
Rete usando appositi motori di siti quali www.altavista.digital.com, www.excite.com,
webcrawler.com, ragno.ats.it ecc. .
| Intranet - indice | Home Ateneo |