Leggi il secondo capitolo

3. Nozioni fondamentali su Internet


Segnalibro

Prima parte

  1. A cosa serve Internet? Perchè è stata creata?
  2. Che cos'è un protocollo di comunicazione?
  3. Come viene individuato univocamente ciascun computer nella rete?
  4. Che cos'è e come è fatto un URL?
  5. Cosa sono HTTP e HTML?
  6. Che cos'è Telnet?
  7. Che cos'è FTP?
  8. Che cos'è un mirror? Perchè dovrei usarlo?
  9. Che cos'è ARCHIE?

Seconda parte

  1. Che cos'è un E-mail? Come funziona?
  2. Che cos'è una mailing list?
  3. Che cos'è un newsgroup?
  4. Che cosa sono le FAQ?
  5. Cosa sono un "client" e un "server"?
  6. Ho trovato un file in formato... ma cosa diavolo è?

Segnalibro 3.1. A cosa serve Internet? Perchè è stata creata?

Come detto, Internet è un insieme di reti di calcolatori, ciascuna formata a sua volta da un certo numero di reti locali (LAN), ossia insiemi di calcolatori relativamente piccoli (un edificio, una Università, un'azienda). Il suo primo nucleo è stato creato dal Dipartimento della Difesa degli Stati Uniti per scopi militari negli anni '60; da allora la rete si è costantemente sviluppata, ma solo negli ultimi anni è cominciata la vera e propria "esplosione".

Sebbene l'obiettivo originario fosse militare, fino a pochi anni fa lo scopo primario della rete era quello di permettere la comunicazione e la circolazione delle idee a livello accademico, ossia in un ambito relativamente specializzato; in particolare, era assolutamente vietata qualsiasi attività o comunicazione che avesse scopo di lucro. Recentemente, invece, si è assistito ad una pacifica "invasione" della rete da parte di utenti non particolarmente qualificati, ed alla corrispondente nascita di un grande numero di siti che con la ricerca universitaria hanno poco o nulla a che fare. Negli Stati Uniti, in particolare, Internet è ormai un comune mezzo di comunicazione, come il fax o il telefono, e con essa si può già, anche se non su vasta scala, ordinare una pizza o acquistare CD. Al momento, quindi, Internet è in una fase di grande mutamento (e spetta ai suoi utenti il governarlo nella direzione voluta!).

Bisogna infine dire che il grande sviluppo che la rete ha avuto nel passato e che permette oggi di trovare in rete una quantità di materiale assolutamente enorme su qualunque argomento si voglia è stato essenzialmente dovuto alla buona volontà e all'altruismo di moltissimi utenti della rete, che hanno provveduto a mettere a disposizione di tutti il materiale che essi possedevano o creavano sugli argomenti di loro conoscenza o interesse. A parte i siti "commerciali" sorti recentemente, in rete quasi nessuno fa qualcosa - un ipertesto, un articolo in un newsgroup... - per denaro; lo fa perchè gli piace farlo, e perchè negli anni si è creato un senso di "comunità" tra gli utenti. Forse proprio questa è la principale ricchezza di Internet, e la perdita di questo aspetto potrebbe effettivamente ridurre il famoso "cyberspazio" a niente di più che un insieme di negozi virtuali, forse utile ma certo molto meno interessante. Speriamo di no...


Segnalibro 3.2. Che cos'è un protocollo di comunicazione?

Apparentemente, una domanda simile sembrerebbe tutto meno che fondamentale, per cui ci si potrebbe chiedere come mai la risposta venga posta all'inizio di questo capitolo. Tuttavia, Internet, proprio perchè è stata creata senza un controllo centralizzato e per un'utenza relativamente pratica di informatica, permette di ritrovare informazioni diverse in modi diversi, che per essere compresi e utilizzati proficuamente richiedono la conoscenza di alcuni (molto pochi) concetti fondamentali di telematica (e non preoccupatevi se non vi ricorderete la folla di sigle che compariranno qui di seguito, l'importante è capire il concetto).

Innanzi tutto, Internet in sè è solo un mezzo che permette a più coppie di computer di dialogare tra loro. Su Internet, difatti, il dialogo avviene normalmente a coppie (struttura "client - server"): sebbene un computer possa dialogare contemporaneamente con più suoi simili, ciascun messaggio ha uno e un solo destinatario alla volta. Il dialogo tra due computer è qualcosa di piuttosto complesso e può avvenire a vari livelli: semplificando, un livello "basso" è quello dello scambio di informazioni binarie (spedizione di 1 e 0 lungo i cavi che costituiscono la rete), un livello "alto" è quello dello scambio di oggetti informatici (iper o no: un ipertesto, un'immagine, un programma...). Tuttavia, a qualsiasi livello avvenga il dialogo, è necessario che i due computer sappiano esattamente quali convenzioni seguire durante il suo svolgimento, ossia con quale linguaggio parlarsi, altrimenti non si capirebbero: un protocollo di comunicazione è proprio un insieme di procedure standard di comunicazione.

Su Internet viene usato, a scopi diversi, un gran numero di protocolli diversi, che nel loro complesso sono generalmente indicati come protocolli TCP/IP (anche se il nome corretto, che nessuno usa, è Internet Protocol Suite ossia collezione di protocolli Internet). Mentre ai livelli più bassi (gestiti automaticamente dal vostro software di comunicazione) si utilizzano quasi sempre i due protocolli TCP e IP (non lasciatevi confondere: sono due protocolli che fanno parte, insieme ad altri, dell'insieme di protocolli TCP/IP), ai livelli più alti esistono diversi protocolli che possono essere seguiti, ciascuno mirato al trasferimento di oggetti diversi o anche di oggetti uguali ma in modo diverso. È allora necessario conoscere almeno i più comuni per poter accedere a tutte le informazioni normalmente reperibili sulla rete! (Se tutto questo vi sembra complicato, fate finta di niente; lo capirete con l'uso).

I principali protocolli di "alto livello" usati su Internet sono:

HTTPHyperText Transfer ProtocolTrasferimento di ipertesti e altri file nell'ambito del WWW
FTPFile Transfer ProtocolCopia di file binari o di testo (ASCII)
TelnetControllo di computer a distanza
SMTPSimple Mail Transfer ProtocolSpedizione di messaggi di posta elettronica (E-mail)
POP3Post Office Protocol 3Gestione delle caselle di posta elettronica
NNTPNetwork News Transfer ProtocolTrasferimento di articoli di newsgroup

Un oggetto posto in rete è caratterizzato non solo da quello che è, ma anche dal modo (ossia dal protocollo) con cui si può accedere ad esso! Per fare un paragone, è perfettamente inutile che, dovendo recuperare qualcosa che mi interessa, io sappia che esso è posto in una determinata stanza, se poi non so quale chiave devo usare per aprirne la porta; su Internet scegliere il protocollo da usare è un po' come scegliere la chiave. Comunque, la scelta del protocollo è soltanto in rari casi lasciata all'utente: i programmi di posta elettronica, ad esempio, useranno automaticamente SMTP per spedire i messaggi e POP3 per leggere quelli in arrivo. Non dovete quindi preoccuparvi di questo aspetto!

Prima dell'avvento dei navigatori (browser) come Netscape Navigator o Internet Explorer, ciascun protocollo richiedeva un programma apposito per essere utilizzato; questi programmi, invece, permettono di selezionare il protocollo semplicemente scrivendolo come parte dell'indirizzo (URL) dell'oggetto che si vuole recuperare.


Segnalibro 3.3. Come viene individuato univocamente ciascun computer nella rete?

All'interno di Internet ciascuna macchina è univocamente identificata da un numero binario lungo 32 bit e comunemente detto IP. Il nome completo sarebbe indirizzo IP, ma spesso viene usata soltanto la sigla, che sfortunatamente ha lo stesso nome di uno dei protocolli contenuti nel TCP/IP... comunque, quando sentirete parlare di "IP" a livello non tecnico generalmente ci si starà riferendo al numero binario. Questo numero viene di solito presentato "tradotto" sotto forma di quattro cifre decimali separate da punti (es. 151.99.200.2). Poichè è un po' difficile ricordarsi gli indirizzi sotto forma di numeri, è stato tuttavia creato un sistema (il cosiddetto DNS o Domain Name System) per cui ad ogni computer viene assegnato anche un nome letterale, in modo univoco, ed esistono poi dei sistemi di "traduzione" automatica che permettono al software di comunicazione di risalire all'indirizzo IP dal nome letterale e viceversa. Mentre l'elettronica di gestione della rete, per trasmettere i vari messaggi, si serve degli IP, gli utenti possono così servirsi di più intuitivi nomi letterali.

Segnalibro I nomi letterali delle macchine sono costituiti da una o più parole (formate da lettere, numeri e altri caratteri come il trattino, ma non da spazi) separate da punti. Il nome più a destra individua il dominio (domain) di appartenenza della macchina, ossia un grosso sottoinsieme della rete, che al di fuori degli Stati Uniti tende a coincidere quasi sempre con una nazione. Alcuni domini nazionali sono ad esempio:

itItalia
ukRegno Unito
frFrancia
deGermania
seSvezia
jpGiappone

Oltre ai domini nazionali, esistono dei domini di tipo organizzativo, ossia in cui i siti vengono suddivisi in base al tipo di attività dell'organizzazione a cui appartengono. Originariamente questi domini erano riservati agli Stati Uniti, ma di fatto - tranne alcuni casi - essi sono ormai internazionali, e comprendono siti di tutto il mondo. Alcuni di essi sono:

eduUniversità statunitensi
comOperatori commerciali
orgOrganizzazioni senza scopo di lucro
netOrganizzazioni di gestione della rete

Proprio all'inizio del 1998 sono stati creati nuovi domini di questo tipo, come ad esempio nom, dedicato alle pagine personali dei singoli utenti; questo in relazione alla continua crescita della richiesta di nomi. Se, fino ad oggi, non pensavate che un nome fosse qualcosa che poteva essere "richiesto" o "comprato", ricredetevi: su Internet, i nomi dei domini devono essere registrati - per evitare duplicati e confusioni - e quindi si comprano.

Il nome più a sinistra è invece il "nome proprio" (hostname) del computer; i nomi che stanno in mezzo rappresentano sottoinsiemi della rete, o più propriamente sottodomini (subdomains), sempre più grandi procedendo da sinistra verso destra, e contenuti nell'ordine gli uni dentro gli altri. Si usa talvolta anche parlare di domini di primo livello (top level domains o TLD) per indicare i domini veri e propri, e di domini di secondo, terzo... livello per indicare mano a mano i sottodomini successivi, utilizzando il termine "dominio" per indicare in generale un qualsiasi sottoinsieme della rete caratterizzato dalla stessa parte finale nei nomi dei computer. In particolare, con il termine domain suffix si intende normalmente tutto ciò che sta a destra del primo punto del nome di un computer.

Poichè probabilmente tutto ciò non è molto chiaro, si può ad esempio considerare il nome:

lennon.engr.wisc.edu

Questo nome indica il computer denominato lennon situato all'interno del sottodominio engr (Ingegneria) del sottodominio wisc (Università del Wisconsin) del dominio edu (Università americane). Si noti quindi come edu sia un dominio di primo livello, wisc un dominio di secondo livello, engr un dominio di terzo livello e lennon un semplice computer; inoltre, si potrebbe anche dire che lennon appartiene sia al dominio edu, sia al (sotto)dominio wisc.edu, sia al (sotto)dominio engr.wisc.edu. Il domain suffix è in questo caso proprio engr.wisc.edu.

In alcuni paesi extra-USA (ad esempio nel Regno Unito) è stato adottato un sistema misto, per cui il dominio è unico e uguale per tutti (in quel caso, uk) ma i domini di secondo livello ricalcano la suddivisione americana, sebbene con sigle diverse: pertanto i nomi che terminano con .co.uk si riferiscono a computer di aziende commerciali inglesi, quelli che terminano con .ac.uk a computer di università inglesi, eccetera.

Si noti infine che, poichè i nomi "letterali" sono soltanto una comodità introdotta per noi poveri esseri umani, non vi è in realtà alcun vincolo geografico che individui i vari domini: sebbene in Italia quasi tutti i computer appartengano al dominio it, esistono anche computer situati fisicamente in Italia ma appartenenti ai domini com, net...

Segnalibro Normalmente, ogni computer ha uno e un solo nome; tuttavia, è possibile definire degli alias (più precisamente, alias DNS), ossia ulteriori nomi per lo stesso computer. Questa possibilità è utilizzata normalmente per concentrare un certo numero di servizi sullo stesso computer: ad esempio, poichè per ragioni di convenienza generale si è soliti porre il sito FTP di un'ente sullo stesso computer in cui è posto il suo sito WWW, il nome ftp.azienda.com e il nome www.azienda.com individuano solitamente lo stesso computer! In realtà, non vi è alcun obbligo di mettere in piedi alias di questo tipo, in quanto il nome di un computer è completamente scorrelato dai servizi che sono posti su di esso (in altre parole, è possibile realizzare siti WWW anche su computer il cui "nome proprio" non è www, e così via); tuttavia, si cerca normalmente di assegnare nomi intuitivi, anche sfruttando gli alias, ai computer che svolgono determinati servizi (come mail per i server di posta elettronica, o news per i server per i newsgroup).

Nell'appendice troverete un elenco completo dei domini di primo livello esistenti. È conveniente conoscere le sigle corrispondenti alle nazioni più importanti, in modo da capire subito, leggendo un URL, verso quale nazione ci si sta collegando e quindi se il collegamento sarà lento e pesante per la rete oppure no.


Segnalibro 3.4. Che cos'è e come è fatto un URL?

Come visto, per poter recuperare un qualsiasi oggetto posto in rete è necessario conoscere:
  1. Dove è situato (ossia il nome della macchina, il percorso sull'hard disk della macchina e il nome del file);
  2. Con che protocollo esso può essere recuperato.
Per racchiudere in un unico "indirizzo" tutte queste informazioni è stato creato uno schema detto URL (Uniform Resource Locator, ossia Localizzatore Uniforme di Risorse). Un URL assume normalmente la forma seguente:

metodo://nomemacchina:porta/nomeoggetto

dove il metodo (di accesso alla risorsa, anche detto schema) può valere solitamente http, ftp, telnet, news, mailto o file a seconda del protocollo che si deve utilizzare; il nomemacchina è il nome (letterale o IP) del computer su cui si trova l'oggetto; la porta (solitamente sottintesa, nel qual caso si assume un valore standard che varia a seconda del protocollo scelto) è il numero della porta con cui si intende comunicare con la macchina (argomento tecnico che potete al momento tralasciare); il nomeoggetto è il nome completo (percorso e nome del file) dell'oggetto. Anche qui, non preoccupatevi se non avete afferrato subito tutto: nel resto del capitolo troverete vari esempi di URL, e comunque la pratica vi sarà di grande aiuto.

La stragrande maggioranza delle macchine collegate alla rete - almeno, quelle su cui vengono realizzati gli ipertesti, gli archivi di software... - sono grossi calcolatori che funzionano con il sistema operativo Unix; pertanto i nomeoggetto seguono per definizione (e anche quando la macchina a cui ci si collega è un PC) le convenzioni dello Unix, e non, ad esempio, dell'MS-DOS. Nella pratica, questo significa alcune cose importanti da tenere a mente:

  1. Le barre che compaiono negli URL sono diritte (cioè / ) e non rovesciate ( \ ) come quelle dell'MS-DOS!
  2. Mentre per quanto riguarda il metodo e il nomemacchina non c'è differenza tra maiuscole e minuscole (sebbene comunemente si usino solo minuscole), per quanto riguarda il nomeoggetto la differenza c'è: scrivere i nomi dei file o delle directory in maiuscolo, in minuscolo, o con l'iniziale maiuscola e il resto minuscolo fa differenza, e può impedirvi di recuperare l'oggetto!
In realtà, lo schema dell'URL varia leggermente a seconda del protocollo scelto, per cui può essere utile esaminare alcuni esempi:

http://www.cl.ais.net/mkurth/atsfaq.html
Questo indirizzo corrisponde all'ipertesto atsfaq.html (gli ipertesti sono individuati dall'estensione .html o .htm) posto nella directory mkurth situata nella directory radice (root) del computer www.cl.ais.net (ossia, il computer www situato nel sottoinsieme cl del sottoinsieme ais del dominio net), da trasferire seguendo il protocollo
HTTP.

http://www.polito.it/~bertola/
Questo indirizzo, simile al precedente, presenta però alcuni aspetti particolari. Per prima cosa, vi è indicato un percorso (/~bertola/) ma non un nome di file; in questo caso, e solo per il protocollo HTTP, viene sottinteso il nome di file index.html (notare l'estensione di quattro caratteri: nello Unix non c'è la limitazione a tre caratteri!); se questo file c'è, esso viene letto come ipertesto (vista la sua estensione .html, che indica appunto un ipertesto); se questo file non vi fosse, a seconda della configurazione del sito, viene presentato un elenco dei file contenuti nella directory indicata e l'utente può sceglierne uno, o viene restituito un messaggio d'errore.
Va inoltre notato il carattere speciale ~ (se non l'avete sulla tastiera del vostro PC, potete realizzarlo tenendo premuto il tasto Alt sinistro, digitando il numero 126 sul tastierino numerico, e quindi rilasciando Alt). Esso indica che il nome seguente è il nome di un "utente" del computer, e non un normale percorso sull'hard disk. Di fatto, la scrittura /~bertola/ è un altro modo per indicare la directory public_html (è un nome convenzionale, che significa "ipertesti pubblici"!) posta all'interno dell'
area dell'utente bertola. Per farla breve, indirizzi contenenti ~ corrispondono solitamente a pagine scritte da singoli utenti nel proprio tempo libero (home page), mentre gli indirizzi senza ~ si riferiscono solitamente a pagine ufficiali dell'ente o dell'azienda possessori del computer.
Si noti infine la barra ( / ) finale: con molti browser non è necessaria, ma è utile abituarsi a metterla in quanto indica e permette di sapere immediatamente che l'ultimo nome scritto prima (nel nostro caso, ~bertola) rappresenta una directory e non un file.

ftp://ftp.coast.net/SimTel/win3/sysutil/3dk24.zip
Questo indirizzo individua il file 3dk24.zip (che, come dice l'estensione, è un archivio realizzato con
PkZip) situato nella directory /SimTel/win3/sysutil/ (sono tre directory una dentro l'altra: notare che SimTel è diverso da simtel!) del computer ftp.coast.net e da trasferire mediante il protocollo FTP e da un sito FTP anonimo.
L'inserimento dell'URL di un file su di un browser provocherà lo scaricamento del file (ossia la copia dal computer remoto al proprio) e una azione che varierà a seconda dell'estensione del file, che può essere configurata dall'utente e che generalmente sarà poi il salvataggio su disco.

ftp://ftp.sunet.se/pub/pc/
Questo indirizzo individua la directory (come si desume dalla barra finale: se non ci fosse, individuerebbe un file) denominata pc e contenuta nella directory pub della root directory del computer ftp.sunet.se, alla quale si vuole accedere tramite il protocollo FTP usato in modo anonimo.
L'inserimento in un browser dell'URL di una directory con protocollo FTP provoca la visualizzazione dell'elenco dei file contenuti in essa, preceduto in certi casi da messaggi informativi predisposti dall'amministratore del sito remoto.

telnet://165.113.211.4:4801
Questo indirizzo individua un collegamento mediante il protocollo
TELNET con il computer 165.113.211.4 (individuato non mediante il suo nome letterale, ma mediante il suo indirizzo IP) usando la porta numero 4801.

gopher://gopher.polito.it/
Questo indirizzo determina un collegamento con il
gopher del Politecnico di Torino. Verranno presentati una serie di menu che permetteranno di scaricare file di vario tipo.

mailto:bertola@athena.polito.it
Sui browser che supportano la spedizione di posta, ossia tutti quelli pubblicati negli ultimi due anni, l'immissione di questo indirizzo provoca l'apertura di una finestra nella quale è possibile inserire un messaggio. Il messaggio viene successivamente spedito, seguendo il protocollo
SMTP, all'utente bertola del computer o dominio athena.polito.it (si veda la sezione sugli E-mail per il significato di @!).

news:it.faq
Questo indirizzo individua il
newsgroup it.faq, sottintendendo il "nomemacchina" (che sarà quindi quello specificato come default nella configurazione del programma che si sta usando per leggere le news). Per altre informazioni sugli URL delle news, si legga la sezione sui newsgroup.

file:///C|/Doc/inizio.htm
Il metodo file serve per recuperare file direttamente dal proprio hard disk, senza usare la rete; in questo caso, l'indirizzo corrisponde al file inizio.htm posto nella directory C:\Doc di un PC con Windows. Si noti che l'indirizzo rispetta comunque le convenzioni Unix sopra citate: le barre sono state convertite da rovesciate a diritte, e i due punti - carattere che negli URL, come visto, indica il numero di porta - sono stati convertiti nella barra verticale (quella che, sulle tastiere italiane, è normalmente posta sull'ultimo tasto in alto a sinistra). Le barre iniziali sono tre e non due, in quanto dovrebbero esserci le due barre iniziali, poi il nome della macchina, poi un'altra barra, ma il nome della macchina è sottinteso!

Sono stati presentati esempi relativi a tutti i metodi di accesso normalmente usati; in realtà, molti browser recenti utilizzano internamente altri metodi non standard per indicare altri tipi di risorse, che comunque l'utente non dovrebbe utilizzare direttamente.

In conclusione, va detto che non tutti i programmi usati in rete si servono degli URL per individuare l'oggetto che l'utente desidera. Tipicamente, l'uso degli URL è associato all'uso di un browser: in essi è possibile chiedere al programma di recuperare un oggetto fornendo direttamente l'URL. Invece, se si utilizzano altri programmi, ad esempio per la posta, o per il trasferimento di file, o per la lettura delle news, normalmente verrà chiesto di identificare l'oggetto fornendo le stesse informazioni (nome del computer, nome del file...) in un modo diverso e variabile da programma a programma. La grande innovazione degli URL, che è alla base dell'esplosione di Internet avvenuta negli ultimi due anni, è proprio quella di racchiudere in un unico insieme di caratteri tutte le informazioni necessarie per individuare un oggetto messo in rete!


Segnalibro 3.5. Cosa sono HTTP e HTML?

Entrambe queste sigle riguardano gli ipertesti. L'HTML (HyperText Markup Language) è il "linguaggio di programmazione", estremamente semplice, per creare gli ipertesti, ed è costantemente in via di sviluppo. Dal punto di vista informatico, infatti, un ipertesto è semplicemente un normale file di testo (ASCII) contenente, in mezzo al testo del documento e racchiuse tra i caratteri < e >, alcune istruzioni particolari, dette tag, che permettono di inserire immagini, creare rimandi, eccetera, e che sono appunto definite nell'HTML.

Non bisogna allora confondere l'HTML (che è una specie di rudimentale linguaggio di programmazione) con l'HTTP (HyperText Transfer Protocol), che è invece il protocollo di comunicazione usato per trasferire sulla rete gli ipertesti, e più in generale gli iperoggetti del World Wide Web, dal computer dove sono memorizzati a quello dell'utente che vuole leggerli. L'HTTP, difatti, permette di trasferire qualsiasi tipo di file; sarà poi il computer dell'utente, in base al tipo MIME del file, a decidere che cosa farsene. Ad esempio Netscape permette di configurare una azione predefinita per ciascun possibile file in arrivo; mentre i file HTML vengono visualizzati come ipertesti, i file di immagini vengono visualizzati come tali, i file audio vengono spediti alla scheda sonora (se disponibile), eccetera. Nel caso che il browser non sappia come trattare il tipo del file, normalmente esso chiederà all'utente che cosa fare.


Segnalibro 3.6. Che cos'è Telnet?

Telnet è un protocollo di comunicazione che permette di controllare un computer a distanza. Questa esigenza nasce dal fatto che, fino alla diffusione dei personal computer, i "computer" utilizzati erano (e, per la maggior parte, quelli connessi alla rete lo sono tuttora) grosse stazioni di lavoro che - tramite il sistema operativo Unix - permettevano a più utenti di lavorare contemporaneamente utilizzando terminali differenti (a differenza dei PC, in cui un solo utente alla volta può usare il computer); per il funzionamento del computer è allora del tutto indifferente se il terminale si trovi a venti centimetri o a diecimila chilometri da esso. In pratica, tramite Telnet si "entra" in un computer remoto, proprio come se ci si trovasse lì, di fronte ad un suo terminale; nel caso si abbia un'area (ossia, in parole povere, un accesso al computer ed un pezzo del suo hard disk a propria disposizione) si potranno svolgere a distanza tutte le normali operazioni (eseguire programmi, leggere e spedire posta elettronica, copiare, cancellare, rinominare file...), usando il computer dal quale ci si sta collegando semplicemente come un terminale di quello remoto. Telnet è quindi differente da protocolli come HTTP o FTP, che permettono semplicemente il trasferimento di file sulla rete!

Per poter accedere ad un computer remoto è necessario essere un suo utente riconosciuto e disporre quindi di un proprio login e di una propria password. Tuttavia, sono stati sviluppati sistemi per cui, collegandosi in Telnet ad un dato computer con un nome utente e una password convenzionali e pubblicamente noti, ci si trova in un'area particolare, predisposta dall'amministratore del computer, nella quale si possono eseguire programmi "aperti al pubblico" (ad esempio ARCHIE, o un gioco interattivo...).

Altri protocolli simili, meno comuni, che realizzano sostanzialmente gli stessi obiettivi sono TN3270 e RLOGIN. Anche l'uso di questi protocolli, così come per Telnet, può essere effettuato mediante un URL, usando al suo interno come metodo le parole telnet, tn3270 o rlogin rispettivamente. Si noti però che i browser attualmente esistenti non contengono al proprio interno un emulatore di terminale, necessario per effettuare collegamenti di questo tipo: pertanto all'inserimento di un URL richiedente questi metodi essi provvederanno a caricare un qualsiasi programma esterno che svolga tale funzione, che deve essere posseduto dall'utente e inoltre deve essere stato precedentemente specificato nella configurazione del browser. Uno dei più comuni programmi di Telnet per Windows 3.x è Ewan Terminal, mentre un programma di Telnet per Windows 95 è accluso a tale sistema operativo.

Ricapitolando, quello che Telnet permette di fare è:

  1. Controllare a distanza un computer con sistema operativo Unix sul quale si ha un proprio accesso, eseguendo tutte le normali operazioni;
  2. Controllare a distanza un computer sul quale è stato predisposto un accesso pubblico, eseguendo tutte le operazioni predisposte dall'amministratore del computer.


Segnalibro 3.7. Che cos'è FTP?

FTP (File Transfer Protocol) è un protocollo di comunicazione studiato per la copia di file binari o di testo tra due computer collegati alla rete. Esso è stato sviluppato prima dell'HTTP, che svolge funzioni relativamente simili anche se mirate al World Wide Web; tuttavia l'uso di FTP per il trasferimento di file presenta alcuni vantaggi e alcuni svantaggi, che è bene che l'utente conosca. Va inoltre rilevato che esistono sulla rete un numero infinito di siti FTP, ossia di archivi di file ai quali ci si può collegare solo tramite questo protocollo: è allora molto utile conoscerne perlomeno le basi.

In particolare, mentre l'HTTP è essenzialmente centrato sul trasferimento di iperoggetti e sulla loro visualizzazione, l'FTP permette di leggere comodamente le directory e il loro contenuto sul computer remoto, e di muoversi al loro interno; in pratica, l'hard disk del sito FTP viene momentaneamente collegato al proprio, ed è possibile compiere tutte le operazioni che normalmente si compiono con i file presenti sul proprio hard disk (copia, cancellazione, spostamento...). In questo modo, è possibile copiare facilmente un grande numero di file, cosa che tramite il WWW richiederebbe la faticosa selezione di un link per ogni file. Per questo motivo, FTP è ancora lo strumento più usato per prelevare file dalla rete, anche se sempre più si stanno diffondendo interfacce WWW per gli archivi di software e simili.

Segnalibro L'idea originaria dell'FTP è quella di permettere il trasferimento dei file a persone che dispongono di un login via Telnet ad un server remoto: mentre con TELNET è possibile eseguire comandi e programmi sul server remoto, con FTP è possibile copiare file dal proprio PC al computer remoto (operazione denominata upload) e dal computer remoto al proprio PC (operazione denominata download). Per questo motivo, quando si stabilisce una connessione con un sito FTP vengono richiesti un login e una password, poichè si suppone che l'utente disponga di un accesso personale a quel server.

Segnalibro Tuttavia, proprio per poter creare archivi di software aperti al pubblico, è stato inventato il cosiddetto FTP anonimo, ossia un accesso che chiunque può utilizzare, e mediante il quale si entra in una zona dell'hard disk del server in cui sono contenuti file "pubblici". Quando si parla di "FTP" e di "siti FTP", si sottintende normalmente una connessione di tipo anonimo, ed i programmi di FTP effettuano come default connessioni di questo tipo.

La modalità anonima viene normalmente attivata indicando, all'atto del collegamento, come login anonymous - si tratta di un nome convenzionale - e come password il proprio indirizzo di E-mail; ci si troverà in questo modo nella directory radice del sito FTP, nella quale viene solitamente posta una sottodirectory denominata pub (pubblica) che contiene i file che è possibile trasferire. Ovviamente, un accesso anonimo presenta molte restrizioni in più rispetto all'accesso nominativo concesso agli utenti autorizzati del sistema; in particolare, è possibile compiere soltanto operazioni di download, ma non è possibile cancellare file, creare directory, o modificare in alcun modo il contenuto del sito. Spesso, comunque, nella directory radice del sito viene posta una directory denominata incoming o uploads, nella quale gli utenti anonimi possono effettuare degli upload (e i motivi per cui questo può essere fatto sono vari). Per motivi di sicurezza, normalmente è possibile scrivere in questa directory, ma non leggere i file uploadati da altri.

Un sito FTP è quindi sostanzialmente un pezzo di hard disk; al suo interno, i file sono organizzati quindi in directory, i cui nomi - nel caso dell'accesso anonimo - sono solitamente i più intuitivi possibili al fine di rendere chiaro il contenuto. Ad esempio, all'interno della directory pub troverete spesso una directory chiamata win95 che contiene il software per Windows 95, una directory chiamata pictures che contiene immagini, e così via. Per riuscire ad orientarsi tra le directory e i file - visto che, a differenza delle pagine WWW, quello che avete davanti è soltanto il contenuto di un hard disk, senza alcuna descrizione - viene solitamente posto in ogni directory un file di testo nel quale sono elencati i file e le directory contenute, con una breve descrizione; nomi tipici per questi file sono INDEX o 00-INDEX (lo "00" serve a far sì che, ordinando i file in ordine alfabetico, questo file si trovi in cima all'elenco dei file). Spesso nella directory è posto anche un file chiamato README, nel quale sono poste istruzioni più dettagliate relative al programma contenuto in quella directory. In alternativa, spesso gli archivi ZIP o autoscompattanti sono accompagnati da un file avente lo stesso nome ma estensione .TXT, che contiene le istruzioni e la descrizione dei file contenuti nell'archivio. Talvolta, nella radice del sito è posto un grosso file, spesso chiamato ls-lR dal nome del comando Unix usato per generarlo, che contiene l'elenco completo dei file contenuti in tutte le varie directory del sito. Può talvolta essere utile, invece di girare per ore a vuoto tra le varie sottodirectory, scaricare questo file, pur se di grosse dimensioni, ed esaminarlo con calma una volta scollegati dal sito e/o da Internet. Sempre per aiutare l'utente, gli amministratori del sito FTP possono predisporre dei messaggi che vengono visualizzati quando l'utente si collega con il sito o entra in determinate directory.

Segnalibro I trasferimenti di file tramite FTP - anonimi e non - possono avvenire in due modalità: binaria e ASCII. La modalità binaria, che va utilizzata normalmente, copia i file così come sono, bit per bit. Tuttavia, sfortunatamente per l'utente, nel corso degli anni si sono sviluppate nei vari sistemi operativi usati su Internet convenzioni diverse per la memorizzazione dei testi: per questo motivo, è stata introdotta la modalità ASCII, che effettua automaticamente una conversione di alcuni caratteri (ad esempio il codice di "a capo") che vengono memorizzati in modo diverso su sistemi operativi diversi. La modalità ASCII va quindi utilizzata se e solo se il file da trasferire è un file di testo ASCII, come quelli aventi estensione .TXT o come i già citati file INDEX e README. Per trasferire invece file di altro tipo, come archivi, eseguibili, immagini, musica, è necessario utilizzare la modalità binaria, pena l'inutilizzabilità del file trasferito. I programmi di FTP recenti, comunque, determinano da soli la modalità da usare in base all'estensione del file da trasferire; è comunque necessario stare attenti a questo problema.

Segnalibro Un file disponibile via FTP è univocamente identificato da tre elementi:

  1. Il suo nome;
  2. La directory in cui è memorizzato;
  3. Il nome del sito FTP in cui è posto.
Noti questi tre parametri, è possibile accedere a siti FTP anonimi mediante un normale browser, inserendo URL del tipo:

ftp://nomesito/directory/nomefile

Inserendo soltanto un indirizzo del tipo

ftp://nomesito/directory

si ottiene l'elenco dei file contenuti nella directory, accompagnati dagli eventuali messaggi predisposti dall'amministratore del sito.

E' anche possibile utilizzare l'FTP non anonimo, premettendo al nomesito la sintassi login:password@ : ad esempio, l'indirizzo

ftp://beppe:mypass@super.pippo.it/

corrisponde alla home directory dell'utente beppe del computer super.pippo.it, che ha come password mypass. Ovviamente, non è bello che la vostra password sia visualizzata nell'indirizzo del browser, per cui di solito si evita di usare questa sintassi.

Del resto, accedendo ai siti FTP tramite un browser si perdono tutti i vantaggi che FTP ha rispetto al WWW: per questo motivo, è meglio utilizzare un programma cliente appositamente studiato per questo protocollo (ad esempio per Windows il programma WsFtp, uno dei più comuni), che presentano interfacce utente simili a File Manager o Gestione Risorse, e risultano quindi molto comodi da utilizzare. Conviene quindi possedere, oltre al browser, anche un programma di questo tipo (in realtà è questione di gusti; questo è un caldo consiglio).

Una nota è relativa al fatto che, quando ci si collega via FTP anonimo, si debba fornire come password il proprio indirizzo di E-mail. Nessuno obbliga ad indicare veramente il proprio indirizzo e non un indirizzo a caso; tuttavia, tale indirizzo verrà utilizzato dagli amministratori del sistema remoto solo per scopi statistici, e questa è una delle regole di buona educazione della rete che è il caso di rispettare (in fondo, dall'altra parte c'è qualcuno che ha creato e mantenuto per puro altruismo un computer con centinaia di megabyte di software disponibile gratuitamente).

Generalmente i file contenuti nei siti FTP sono compressi, per farvi risparmiare tempo durante la trasmissione; è bene, prima di scaricare un file, accertarsi di possedere il programma per decomprimerlo (e inoltre, se il file è costituito da dati, ad esempio grafici, memorizzati in un particolare formato, bisognerà poi avere un programma in grado di leggerlo: è inutile scaricare una animazione di 3 megabyte in formato MOV se poi non avete niente per vederla!). Un elenco dei più comuni formati di compressione e di dati è contenuto nel seguito di questo capitolo.

Esistono anche modi di recuperare file da archivi FTP mediante E-mail (solitamente noti come FTPMAIL). Si tenga però presente che questi servizi sono stati studiati per utenti che non possiedono un accesso diretto alla rete, per cui è buona educazione, per chi può accedere direttamente ai siti FTP, usare FTPMAIL solo in casi di vera necessità. Esiste infine una versione leggermente evoluta dell'FTP, detta FSP.

Segnalibro Alcuni clienti FTP recenti, a differenza dei browser, hanno introdotto la possibilità del cosiddetto resume, ossia di riprendere il trasferimento di un file dal punto in cui si è interrotto la volta precedente, utile specialmente per prelevare in più occasioni file molto grossi. Con l'FTP standard, difatti, se un trasferimento si interrompe a metà è necessario ricominciare tutto da capo! Comunque, il resume è una caratteristica non standardizzata che, per poter funzionare, deve essere supportata non soltanto dal vostro programma cliente, ma anche dal server remoto: per questo motivo è ancora poco diffusa.

È conveniente cercare di connettersi in ore che non siano di punta per il computer remoto (ossia, le 16 in Italia sono un'ora di grande traffico per un computer americano!), sia per non disturbarlo troppo (spesso i computer FTP svolgono anche attività di vario tipo per gli utenti locali, che vengono rallentate dai collegamenti FTP esterni: per questo motivo molti siti FTP anonimi sono chiusi o ridotti nelle ore locali d'ufficio), sia per trovarlo meno intasato e quindi per operare più velocemente. In generale, non bisogna mai dimenticare che un archivio FTP anonimo è una gentile concessione del possessore del computer su cui giace, che in caso di problemi di qualsiasi tipo può chiuderlo dall'oggi al domani. Inoltre, proprio per evitare problemi di sovraffollamento, in molti siti FTP esiste un tetto al numero massimo di utenti anonimi collegati contemporaneamente, superato il quale non vengono più accettate connessioni. Pertanto, collegandosi con uno di questi siti nelle ore di punta si hanno grandi probabilità di non riuscire ad entrare.

Nel caso si abbiano problemi di connessione con un sito FTP, o il vostro programma non sembri funzionare correttamente con quel sito, provate, all'atto dell'inserimento della password a inizio collegamento, a far precedere il vostro indirizzo di E-mail da un segno meno ( - ). In certi casi questo dovrebbe migliorare il collegamento. Altri problemi di connessione possono provocare un messaggio di "Connection timed out". Se state cercando di effettuare un collegamento FTP non anonimo ad un vostro account, sappiate che alcuni sistemi operativi richiedono che voi abbiate già aperto un collegamento Telnet per autorizzarvi ad aprire un collegamento FTP.

Segnalibro Un classico collegamento FTP prevede l'utilizzo di un programma cliente che funziona a riga di comando, in cui l'utente inserisce gli opportuni comandi. Negli ultimi anni si sono affermati tuttavia programmi come WsFtp (che offrono una interfaccia alla File Manager) o Netscape (che trasforma le directory in rimandi di ipertesti); usando questo tipo di applicazioni non sarà necessario imparare i comandi dell'FTP. In condizioni normali, quindi, potete lasciar perdere questa tabella; tuttavia, poichè tuttavia esistono ancora molti clienti a riga di comando, che talvolta sono gli unici utilizzabili (ad esempio quando si lavora sotto Unix o si usa FTPMAIL), si riporta qui un elenco dei più comuni comandi FTP, in gran parte derivati dai comandi Unix; quasi tutti dovrebbero essere implementati in qualsiasi programma stiate usando.

open sito login passwordSi collega con il sito indicato, fornendo login e password (solitamente omessi, nel qual caso si effettua un accesso anonimo).
cd pippoEntra nella directory pippo sul computer remoto (/ per la root, .. per la parent directory).
pwdScrive il nome completo della directory remota in cui vi trovate.
lsMostra i file contenuti nella directory corrente (equivale a dir del DOS); dispone di molte opzioni utili.
lcd pippoEntra nella directory pippo sul vostro computer (utile per stabilire dove salvare i file che prelevate).
binary (o bin)Setta la modalità di trasferimento binaria.
ascii (o asc)Setta la modalità di trasferimento ASCII.
get nomefilePreleva il file nomefile e lo salva nella directory corrente sul vostro computer.
mget nomefileCome get, ma permette l'uso di asterischi nel nomefile.
put nomefileCopia il file nomefile dal vostro computer a quello remoto.
mput nomefileCome put, ma permette l'uso di asterischi nel nomefile.
more nomefile(Non standard) Mostra il file remoto nomefile (un file di testo ASCII).
predir(Non standard) Vi fa rivedere il risultato dell'ultimo comando ls.
helpMostra l'elenco dei comandi supportati.
quitSi scollega dal sito a cui si è collegati.
byeSi scollega dal sito a cui si è collegati e esce dal programma.


Segnalibro 3.8. Che cos'è un mirror? Perchè dovrei usarlo?

Con il nome di mirror (specchio) si designa una copia di tutti o di una parte dei file di un certo sito FTP anonimo, che viene creata in un altro sito FTP anonimo ed aggiornata periodicamente. In questo modo, per recuperare un file posto nel sito FTP "originario" non è necessario collegarsi con esso (che può funzionare lentamente, essere sovraffollato, lontano, disattivato...), ma è possibile collegarsi con il sito contenente il mirror e copiarlo da lì. All'interno del mirror, difatti, la struttura delle directory e i nomi dei file rimangono immutati, per cui è possibile ritrovare facilmente i file. Analogamente, anche molti siti WWW dispongono di mirror, ossia di copie integrali e automatizzate, in altri siti WWW.

Il vantaggio dei mirror è generale: collegandosi ad un mirror più vicino invece che al sito originario, l'utente ha il vantaggio di una connessione più veloce, mentre la rete nel suo complesso viene occupata in maniera minore. Specialmente in Europa si trovano molti mirror di siti americani solitamente intasatissimi che è bene utilizzare; per quanto riguarda i siti FTP, alcuni ad esempio si possono trovare nei siti:

ftp://sunsite.cnlab-switch.ch/mirror/
ftp://sunsite.doc.ic.ac.uk/Mirrors/
ftp://ftp.sunet.se/pub/pc/mirror/

Poichè i mirror sono normalmente mantenuti mediante una vera e propria copia periodica dei file e delle directory del sito originario, una volta entrati nel mirror il percorso sull'hard disk per raggiungere i file è perfettamente identico.

Naturalmente può anche succedere che un mirror non sia perfettamente aggiornato o completo; una volta verificato ciò, ci si può allora rivolgere al sito originario. Solitamente, tuttavia, gli aggiornamenti sono frequenti ed automatici.

Nel seguito della guida sono forniti gli indirizzi di alcune note catene di mirror FTP.


Segnalibro 3.9. Che cos'è ARCHIE?

ARCHIE è il nome di un sistema di programmi creato per facilitare la ricerca di software nei siti FTP anonimi, e messo a disposizione tramite un collegamento Telnet: in ciascuno dei computer che forniscono questo servizio è contenuto un archivio, periodicamente e frequentemente aggiornato, contenente i nomi dei file memorizzati in un certo numero di siti FTP (più di mille in molti ARCHIE), la loro posizione sull'hard disk del sito e per alcuni di essi anche una descrizione testuale. Non si tratta quindi di un indice in cui chiunque può inserire singoli file, ma piuttosto di un catalogo del contenuto di un certo numero di siti, tipicamente universitari, che hanno aderito all'iniziativa.

Negli ultimi anni si stanno affermando altri sistemi di ricerca e distribuzione del software, accessibili via WWW, e forse di più semplice utilizzo per gli utenti alle prime armi; ARCHIE rimane comunque uno strumento molto usato. In particolare, i sistemi via WWW sono comodi se si cerca un programma in base alle funzioni che deve svolgere; nel momento in cui, invece, siate riusciti a determinare il nome preciso del file che volete scaricare, allora è utile ARCHIE, che vi permetterà di scoprire una grande quantità di siti FTP in cui quel file è disponibile e di scegliere il più vicino. L'utilizzo classico di ARCHIE è, come detto, basato su di un collegamento TELNET; tuttavia, sono stati sviluppati programmi specializzati che semplificano la ricerca per l'utente tramite interfacce grafiche semplificate (un esempio è WsArchie per Windows). L'uso di questi programmi è caldamente consigliato se siete poco pratici con i collegamenti Telnet.

Nel caso comunque vogliate provare la "buona vecchia interfaccia testuale", collegandovi ad un server ARCHIE via Telnet e inserendo come login archie vi verrà presentato un "prompt", ossia un segnale di attesa di un comando, proprio come quello dell'MS-DOS. Si potranno allora digitare alcuni comandi. I principali sono:

prog stringa
oppure find stringa
Ricerca file il cui nome sia o contenga stringa (a seconda del tipo di ricerca)
set search tiporicercaStabilisce il tipo di ricerca: se al posto di tiporicerca si scrive exact, il comando prog troverà tutti i programmi il cui nome è esattamente uguale a stringa (maiuscole/minuscole comprese), se si scrive subcase troverà tutti i programmi il cui nome è uguale o contiene al proprio interno la stringa indicata (maiuscole/minuscole comprese), se si scrive sub troverà tutti i programmi il cui nome è uguale o contiene al proprio interno la stringa indicata (senza differenza tra maiuscole e minuscole). (Questo comando, ovviamente, influenza solo le ricerche successive! Normalmente, all'atto del collegamento il modo predefinito è exact.)
set sortby tipoordineStabilisce l'ordine con cui vengono presentati i risultati della ricerca: se al posto di tipoordine si scrive hostname in ordine alfabetico per nome letterale del sito FTP, se si scrive time in ordine dal file più recente al più vecchio, se si scrive size in ordine dal più grosso al più piccolo
whatis stringaRicerca file all'interno della cui descrizione compaia la stringa specificata
mail indirizzoSpedisce i risultati della ricerca all'indirizzo di E-mail indicato
helpEntra in un sistema di aiuto, in cui immettendo un comando si riceve come risposta un aiuto sul suo uso
byeChiude il collegamento e si disconnette

La stringa di ricerca può contenere caratteri jolly come l'asterisco (ad esempio il comando prog ghost* ricerca tutti i file il cui nome inizia per ghost). Se avete problemi, potete digitare al prompt il comando help: questo vi porterà in una modalità di interazione leggermente diversa, in cui disporrete ancora di un prompt, ma inserendo i vari comandi otterrete spiegazioni relative al loro uso. Per uscire da questa modalità, è sufficiente premere Invio al prompt.

Quando si fa partire una ricerca in un ARCHIE, la propria richiesta viene inserita in una "coda" (queue) di ricerca (query): il computer, difatti, esegue in ordine cronologico tutte le ricerche che gli vengono presentate dagli utenti collegati in quel momento. Esso generalmente fornisce allora all'utente la sua posizione nella coda (queue position) e il tempo di attesa previsto. Il risultato della ricerca è costituito da un elenco di siti FTP che contengono il file, accompagnato dalla posizione del file sull'hard disk, dalla data e dalle dimensioni del file.

Alcuni dei principali server ARCHIE sono:

archie.unipi.it
archie.switch.ch
archie.doc.ic.ac.uk
archie.funet.fi
archie.univie.ac.at
archie.ac.il

Il primo, situato a Pisa, è normalmente usato dagli utenti italiani.

Questo servizio è spesso sottovalutato, ma è molto utile nel caso si stia cercando di recuperare un file di cui si conosce il nome da un sito molto lontano o comunque lento. In questo caso, può essere utile interrogare uno o più ARCHIE per conoscere tutti i siti FTP in cui si può trovare quel file, e quindi collegarsi al più vicino.

Per non intasare troppo la rete, è caldamente raccomandato l'uso degli ARCHIE più vicini; inoltre è opportuno cercare di restare collegati per il minor tempo possibile, in modo da permettere poi ad altri utenti di accedere al servizio. Per questo motivo è buona norma non esaminare i risultati della ricerca, che generalmente sono abbastanza voluminosi, mentre si è collegati, ma piuttosto farseli spedire al proprio indirizzo postale. Si tenga presente che un E-mail, specialmente se da un sito vicino come archie.unipi.it, impiega pochi secondi ad arrivare, per cui questo procedimento non provoca una apprezzabile perdita di tempo.


Leggi la seconda parte del terzo capitolo

(C) 1996-1998 Vittorio Bertola -
v.bertola@goemon.polito.it