Introduzione
Internet, ormai,
al giorno d'oggi, è una parola sulla bocca di tutti, anche dei non
addetti al lavoro, ed anche di quelli che hanno avuto sempre un certo astio,
disprezzo, paura verso l'Informatica ed in particolare verso i computer.
Del resto la possibilità di essere "on-line", di essere parte di
questa "comunità globale" (dove globale vuole proprio intendere
tutto il globo terrestre) fa gola a tutti, e quindi molti hanno deciso
di scendere a compromessi e di cercare di imparare ad utilizzare (meglio)
quelle macchine, che fino a qualche mese prima provocavano loro mal di
testa (specialmente a coloro che erano costretti ad utilizzare i computer
per lavoro), per ottenere maggiori risultati sul lavoro (basti pensare
alle possibilità offerte dai motori di ricerca o al servizio di
posta), ma anche per ricercare informazioni sui loro hobbie preferiti o
semplicemente per conoscere nuove persone di tutto il mondo o mantenere
corrispondenze e contatti con amici lontani.
Non sono lontani
gli anni in cui le reti erano qualcosa che solo grandi ditte e grossi istituti
(specialmente di ricerca) si potevano permettere, soprattutto anche per
i costi che erano insostenibili per un utente normale. Del resto anche
i computer sono diventati alla portata di tutti. I costi dei computer ultimamente
sono scesi in modo impressionante, e, tranne qualche sporadico episodio,
continueranno a decrescere; i dispositivi per l'accesso alla rete (sia
continuo che "da casa", tramite modem) seguono fortunatamente questa tendenza.
Oggi la rete
è a disposizione di tutti coloro che lavorano in una ditta o azienda
di dimensioni medie, e che comunque ci tenga a essere collegata al resto
del mondo con qualcosa di più immediato delle semplici lettere cartacee,
e che voglia affidarsi a dei media pubblicitari che siano in grado di raggiungere
più persone possibili. Uno studente universitario non dovrebbe avere
problemi ad avere a disposizione l'accesso ad Internet, e quindi una ricerca
di una qualsiasi informazione per effettuare lavori scolastici non rappresenta
più uno scoglio difficilmente superabile. Del resto anche chi può
permettersi di avere a casa un computer, se vuole, con una spesa modesta
può anche concederci l'accesso ad Internet tramite modem (al giorno
d'oggi molto economici) ed un abbonamento (ed adesso sono molti quelli
disponibile in modo gratuito).
Inoltre con
le nuove tecnologie l'accesso ad Internet non è più limitato
ad una postazione statica, ma si sta dirigendo anche a dispositivi portatili
come palmari e telefonini cellulari; nonostante in questo campo la tecnologia
sia molto giovane, adesso è possibile essere collegati ad Internet
anche durante i viaggi, le permanenze fuori casa/ufficio.
Lo scopo di
questo e di altri articoli che verranno in futuro è quello di fornire
una panoramica generale sui concetti che stanno alla base della connessione
in rete e soprattutto su Internet. I concetti illustrati saranno volutamente
informali nella speranza che siano accessibili anche ad utenti meno esperti.
Del resto la conoscenza di qualche "retroscena" di Internet potrà
servire, oltre a soddisfare qualche curiosità, anche a facilitare
l'esecuzione di certe operazioni, in quanto queste non verranno più
fatte in modo meccanico, e a fornire qualche aiuto per risolvere certi
problemi che a volte si incontrano durante le nostre "navigate".
Nella parte
pratica, vedrete, insieme ad Andrea Trentini, alcuni comandi e programmi
per Internet. E' bene specificare che, nonostante spesso questi comandi
siano tipici di un ambiente Unix, poiché Internet è nata
in questo ambiente, risulteranno utili, perché presenti (magari
in altre forme) anche su altri sistemi.
Internet ed i suoi servizi
Sono molti i
servizi che Internet mette a disposizione, ma i più famosi ed utilizzati
sono il WEB che mette a disposizione un'infinità di informazioni
di tipo testuale e multimediale, che in pratica ricoprono in modo soddisfacente
ogni argomento, e la posta elettronica, che nella sua semplicità
si rivela qualcosa di fondamentale per che si è abituato ad utilizzarla
e che in pratica ci collega in tempo brevissimo con tutto il mondo (alzi
la mano che fra di voi, quando si trova, anche solo per un giorno, lontano
da casa o dalla propria postazione Internet, non prova una certa smania
se non ha la possibilità di "leggersi la posta"? ;-)
Il lavoro, in
qualsiasi settore, ha senz'altro tratto vantaggio, sia per la reperibilità
di informazioni in formati anche multimediali, sia per la velocità
con cui è possibile "dialogare" coi propri collaboratori senza la
necessità (molto costosa) di telefonate interurbane. Vi sono altri
servizi, anche questi molto utilizzati, come ad esempio la chat,
con cui si può dialogare, praticamente in tempo reale, con persone
da tutto il mondo, che adesso ha anche una versione "visuale": la video
conferenza. Altri servizi sono sempre basati sulla trasmissione di
dati in modo più o meno sicuro, più o meno veloce, e nei
formati più vari. Vediamo quindi qualche nozione comune a tutti
i servizi elencati e non.
Internet ed i suoi concetti di base
Internet è
una rete "globale", e comprende computer eterogenei sia per quel che riguarda
il tipo di processore e di sistema operativo, quindi deve utilizzare convenzioni
e mezzi in modo da metterli in condizione di comunicare e di identificarsi
in modo univoco l'un l'altro.
Un computer
è identificabile in Internet in modo univoco tramite il suo indirizzo
IP, cioè un indirizzo numerico composto da 4 parti, come 151.219.34.5;
tale indirizzo identifica in modo univoco il computer su Internet (ovviamente
tali indirizzi sono assegnati da organizzazioni mondiali, ma questo esula
dallo scopo dell'articolo). Ovviamente ricordarsi indirizzi di questo tipo,
nonostante seguano una certa logica, non è senz'altro semplice.
Per questo motivo, si può accedere ad un computer anche specificandone
l'indirizzo a parole: senz'altro qualcosa del tipo www.altavista.com
o www.pippoexpress.it è più semplice da ricordare anche perché
spesso porta abbastanza informazione sul sito che si va a visitare (col
primo si accede al famoso motore di ricerca Altavista, mentre col secondo
si accederà al sito di una poco probabile ditta PippoExpress); inoltre
anche le varie parti dell'indirizzo (separate da punti) hanno un significato
standard: ad esempio l'ultima parte a destra nella maggior parte dei casi
indica la nazione del sito o per lo meno il tipo di sito che si va a visitare
(educational, militare, ecc...).
Pensare di avere
memorizzato su ogni computer le tabelle che collegano i nomi ai relativi
indirizzi numerici, visto il numero enorme di computer presenti su Internet,
e vista anche la continua crescita di tali computer, è praticamente
improbabile. Tali tabelle sono allora tenute memorizzate in modo parziale
solo su alcuni computer, che possono essere utilizzati per tradurre appunto
un indirizzo a parole in quello numerico; se non è possibile tradurre
l'indirizzo su quel computer, automaticamente la richiesta viene inoltrata
ad un altra computer che svolge lo stesso servizio. Tale servizio viene
chiamato DNS (Domain Name Service) ed è organizzato
fra questi computer in modo gerarchico. Ovviamente di questi computer si
deve conoscere direttamente l'indirizzo numerico (da qualche parte si deve
iniziare :-). Normalmente, poiché su Internet si trovano tante sottoreti,
ogni sottorete ha un proprio computer che svolge tale servizio, ed a volte
anche più di uno (per questo si sente spesso parlare di DNS primario
e DNS secondario), nel caso uno non sia in grado di rispondere per altri
problemi. Ad esempio un provider ha un proprio DNS.
Servizi
Implicitamente
si è già parlato di servizi, in quanto i vari computer di
Internet in realtà mettono a disposizione servizi. Quindi in realtà
collegarsi ad un computer su Internet, in realtà corrisponde col
richiedere un servizio a quel computer. Abbiamo già parlato di DNS,
che è appunto il servizio che consiste nella traduzione di un indirizzo
a parole in un indirizzo Internet, che è disponibile su alcuni computer
in rete.
Anche il web
è un servizio: vari computer, detti server web, mettono a
disposizione un insieme di pagine (HTML), immagini ed altre informazioni
multimediali, leggibili tramite programmi chiamati browser html.
Allo stesso modo anche la posta è un servizio messo a disposizione
da certi computer (server di posta) che agiscono come delle sorte
di "caselle postali" (in realtà prendono tale nome anche nel gergo
Internet), che raccolgono le mail destinate agli utenti registrati presso
di loro e che sono a loro volta in grado di spedire mail ad altri utenti
(è bene precisare che, nonostante spesso siano gestiti dallo stesso
computer e dallo stesso programma, il servizio di ricezione e quello di
spedizione sono servizi sostanzialmente differenti, che verranno approfonditi
eventualmente in articoli successivi).
Oltre alla parola
servizi si è anche usato la parola server, che chi ha utilizzato
Internet, pur non essendo un informatico, avrà senz'altro sentito
pronunciare: server. Un server è appunto un computer che
mette a disposizione un certo servizio; in realtà il servizio è
messo a disposizione da un processo (programma in esecuzione) che risiede
su un certo computer quindi è giusto vedere anche tale processo
come server, anche se in questo caso si preferisce un termine più
colorito (molto in voga in ambiente Unix): daemon! Inoltre lo stesso
termine server denota in senso molto più generale un computer pensato
per fare da server (sia per l'architettura ed i dispositivi, che per il
sistema operativo). In effetti un solo computer è in grado di mettere
a disposizione più servizi, ed anche se si specificano indirizzi
(a parole) differenti, in realtà, a nostra insaputa, possiamo accedere
allo stesso computer. Questo è possibile grazie a concetti di livello
più basso come porte, socket, ed altri che però
verranno trattati solo in altri articoli ed accennati nell'articolo di
Andrea.
Accanto alla
parola server, si sente inoltre molto spesso pronunciare anche la parola
client; se il server è chi mette a disposizione il servizio,
il client è quello che lo richiede e che lo utilizza. Verrebbe da
pensare che tutti noi utilizzatori di Internet siamo client, ma in realtà
è considerato client il programma che colloquia col server, e quindi
mantenendo i nostri esempi, non è un client web il navigatore
di Internet, ma il browser che utiliziamo per navigare: è infatti
il browser che accede al server che si trova all'indirizzo da noi specificato,
recupera la pagina da noi specificata e ce la visualizza in modo più
o meno formattato. Allo stesso modo un client di posta elettronica è
un programma che ci permette di leggere le nostre e-mail e di spedirne
altre (come il famosissimo Eudora ed il Netscape Messanger).
Il modello client-server
è in realtà qualcosa di molto più astratto ed in particolare
è un paradigma di programmazione che si applica anche a programmi
che non devono necessariamente essere eseguiti in rete in modo distribuito,
ma anche questo approfondimento è rimandato ad un articolo successivo.
Protocolli
Abbiamo detto
che le applicazioni Internet, che si basano sul paradigma client-server,
si basano su continue comunicazioni. Del resto tali comunicazioni avvengono,
anche in questo caso, fra programmi scritti per computer e sistemi operativi
differenti; inoltre un server web non è pensato per dialogare solo
con un numero limitato di browser, e viceversa, col nostro browser possiamo
accedere praticamente a tutti i server web, senza conoscerne le caratteristiche
approfondite. Allo stesso modo la posta può essere letta col programma
che preferiamo: il nostro provider non ci obbliga a leggerla con un certo
programma.
Se i partecipanti
della comunicazione sono inerentemente eterogenei, o comunque non sono
a conoscenza delle caratteristiche l'uno dell'altro, affinché il
dialogo possa avvenire, ci si deve basare su alcune convenzioni, che vanno
appunto sotto il nome di protocollo. In pratica per ogni servizio
esiste un protocollo (come l'HTTP per il web), e tutti si basano su quelli
di più basso livello TCP/IP, che vi introdurrà Andrea. Tramite
questi protocolli il client inizia la comunicazione spedendo una certa
stringa, alla quale si aspetta una risposta in un certo formato, a sua
volta il server si aspetterà una richiesta in un certo formato a
cui risponderà in un altro formato; tutti questi formati sono stabiliti
dal protocollo del servizio. In un certo senso un client comunica col
server al posto nostro, ma conoscendo il protocollo potremmo accedere
alle stesse informazioni effettuando il dialogo manualmente (ma in un certo
senso questo corrisponde un po' alla programmazione direttamente in un
linguaggio assembler).
In realtà
esiste anche un protocollo per specificare l'indirizzo Internet di una
risorsa, che include in realtà anche il tipo di servizio: l'URL
(Uniform Resource Locator), che nella sua forma completa si presenta
nel seguente formato:
<protocollo>://<nome
server>:<numero porta>/<percorso della risorsa>
Forse messo così
non dice molto a molti, ma esempi del tipo:
http://www.pippo.it/documenti/primo.html
o
ftp://ftp.freestuff.it:1234/pub/games
senz'altro
sono molto più familiari. Si può notare quindi che si specifica
prima il protocollo (l'ftp non è ancora stato trattato, ma
senz'altro è noto a molti, per recuperare file sulla rete), l'indirizzo
del server (il numero di porta sarà più chiaro dopo la lettura
dell'articolo di Andrea), ed infine il percorso completo per arrivare alla
risorsa a cui siamo interessati.
Conclusioni
Spero che questa
introduzione molto informale abbia dato un'idea di quali siano i concetti
che stanno alla base del funzionamento di Internet e dei programmi che
utiliziamo per accedere ai suoi servizi.
Andrea vi illustrerà
adesso alcuni protocolli e programmi di Internet. Buona lettura ea presto
:-) |