Tecniche della comunicazione telematica - Dispensa n. 6 Introduzione a Internet 1 Introduzione L’argomento affrontato in questa dispensa è legato alla comprensione delle basi su cui poggia l’universo di Internet e all’uso di un computer per iniziare a navigare nel Web. La storia di Internet Internet oggi collega tra di loro decine di milioni di computer e circa 200 milioni di utenti. E si prevede che nel volgere di pochi anni la maggior parte della popolazione terrestre avrà la possibilità di accedere ed utilizzare Internet. Ma questa colossale rete di comunicazione, nonostante il suo enorme sviluppo, in realtà si può considerare ancora nella sua fase infantile. La nascita di Internet infatti risale ai primi anni ottanta mentre la sua applicazione più popolare - il World Wide Web - vede la luce soltanto agli inizi degli anni novanta. Ma qual è la catena di eventi che ha portato alla genesi di questa idea rivelatasi poi così rivoluzionaria? Quali personaggi hanno contribuito a far si che dal computer di casa nostra fosse possibile raggiungere informazioni poste in ogni parte del mondo con un semplice click del mouse? Come nel caso della conquista della luna anche la nascita di Internet trova il terreno adatto in cui svilupparsi nella sfida tecnologico-militare tra sovietici e americani che risale agli anni della guerra fredda, un periodo di tensione internazionale che nasce alla fine della seconda guerra mondiale - con la spartizione del mondo in due blocchi contrapposti - e termina soltanto nel 1989 con la caduta del muro di Berlino. Durante il 1957 i sovietici mettono in orbita il primo satellite artificiale della storia, lo Sputnik. !"#$ $%# &'( #) $ Questo evento, al di là della sua enorme importanza tecnica, genera una sorta di choc tecnologico nel mondo occidentale che fino ad allora aveva basato le sue certezze sulla supremazia tecnologico militare americana. Infatti un ovvia ricaduta bellica di questo lancio era rappresentata dal fatto che una atomica sovietica poteva disporre un vettore in grado di farle raggiungere facilmente un obiettivo posto in qualsiasi parte del mondo. L’agenzia ARPA Le risposte dell’amministrazione USA al lancio dello Sputnik da parte dei sovietici non si fanno attendere, e quella che riguarda più da vicino la nostra storia arriva l’anno succ essivo. Nel 1958 infatti il Congresso, con lo scopo di coordinare i finanziamenti per la ricerca tecnologica con ricadute belliche, approva la costituzione dell’ARPA - Advanced Research Projects Agency – con sede a Washington, nell’edificio del Pentagono. 1 Tecniche della comunicazione telematica - Dispensa n. 6 Gli interessi dell’agenzia ARPA ben presto si rivolgono alla telematica, mentre alla neonata NASA, come ben sappiamo, viene affidata la guida della ricerca aereospaziale. Lo scopo dell’ARPA, e di conseguenza anche delle principali industrie legate alla d ifesa, si concentra su una delle questioni principali che preoccupano in quegli anni gli Stati Uniti: come impedire che un possibile attacco atomico interrompa del tutto le comunicazioni nel paese gettando l’America nell’anarchia. Semplificando, possiamo v edere il problema in questi termini: se una grossa centrale telefonica viene distrutta tutte le comunicazioni via telefono che la attraversano sono interrotte. Di conseguenza è sufficiente interrompere i nodi principali di una rete telefonica per isolare l’intera rete e impedire lo scambio di informazioni nel paese. La trasmissione dei dati a pacchetti Già all’inizio degli anni sessanta, un ingegnere di nome Paul Baran, dipendente di una industria bellica - la Rand Corporation - trova una interessante soluzione teorica al problema di come creare una rete di comunicazioni che non fosse così fragile. L’idea è quella di costruire molti collegamenti alternativi tra due qualsiasi punti in comunicazione. In questo modo, anche se molti di questi collegamenti vengono improvvisamente a mancare, è sempre possibile trovare una via di comunicazione percorribile. Oltre all' idea di una rete decentrata e ridondante, Baran ha un' altra intuizione geniale: piuttosto che inviare tutto il messaggio su un unico percorso, perché non dividere questo messaggio in tante piccole parti e fare seguire ad ognuna di queste la sua strada verso la destinazione? In questo modo, se un percorso si interrompe mentre trasmettiamo un messaggio, solo un pezzetto – o un pacchetto come si direbbe oggi - andrà perso, mentre le altre parti del messaggio sceglieranno strade alternative per giungere a destinazione e potranno quindi essere recuperate e ricomposte. Considerate che l’idea di dividere un messaggio in tanti pacchetti d i dati indipendenti, chiamata attualmente packet switching, è tuttora alla base dei protocolli per l’invio di messaggi in rete. Purtroppo per Baran però l’industria non ritiene sia ancora il momento adatto per realizzare queste idee rivoluzionarie e quindi i suoi studi sono per il momento messi in un cassetto. Il progetto Arpanet La prima realizzazione pratica di un sistema di comunicazione tra computer basato sulla trasmissione di pacchetti di dati prenderà corpo solo nel 1966, quando un ingegnere dell’agenzia ARPA, Bob Taylor, propone al suo direttore un progetto che riguarda la costruzione di una rete di comunicazione tra i computer. Ovviamente su questo progetto si riversano molte delle idee originariamente concepite da Paul Baran. La differenza è che ora i tempi sono maturi e infatti, senza neppure una richiesta formale e in meno di un ora, l’idea viene approvata e finanziata. 2 Tecniche della comunicazione telematica - Dispensa n. 6 Le specifiche tecniche del progetto sono affidate ad un brillante informatico di nome Larry Roberts che guiderà per primo la realizzazione del progetto chiamato Arpanet. Un progetto che, nel volgere di pochi anni, porterà alla nascita di Internet. !"#$ % Il 1969 viene spesso ricordato come l’anno dello sbarco sulla luna. Ma nello stesso ann o accade un altro avvenimento molto importante per Internet: nel 1969 infatti vede la luce il primo nucleo di Arpanet che collega tra loro quattro università americane. &' ()*+, - .0/213#4 5"6"789 / :#6";4<!3 1=7:#> Negli anni successivi questo embrione si espande fino a collegare una quarantina di nodi. Ma l' applicazione che forse ha la maggiore influenza nell' evoluzione successiva della rete nasce per caso, nel marzo del 1972. Un ingegnere chiamato Ray Tomlinson, per scambiare opinioni con i suoi colleghi delle altre università installa su Arpanet un semplice sistema di messaggistica su computer. E’ appena nata la posta elettronica e per la prima volta compare il famoso simbolo a chiocciola, divenuto in seguito sinonimo di Internet. La nuova applicazione riscuote un enorme successo tra i ricercatori e l’attuale direttore scientifico del progetto ARPA, Bob Kahn, spinto da questo entusiasmo, organizza nello stesso 1972 la prima dimostrazione pubblica di Arpanet alla International Conference on Computer Communications. E’ un successo oltre ogni aspettativa. Da Arpanet a Internet La dimostrazione pubblica del 1972 sulle potenzialità della connessione in rete di quattro computer rappresenta l’inizio della formidabile euforia che travolge le università e i centri di ricerca americani. Negli anni successivi infatti questo primo embrione di Arpanet si espande sempre di più sul territorio americano e contemporaneamente iniziano a svilupparsi numerose altre reti di computer indipendenti e più economiche che collegano tra loro università e centri amministrativi. La nuova idea che nasce verso la metà degli anni settanta quindi è quella di creare un sorta di super rete che colleghi tra loro tutte le reti di computer esistenti, in poche parole Internet. Ma per ottenere questo risultato non basta connettere fisicamente queste reti di computer tra loro, occorre 3 Tecniche della comunicazione telematica - Dispensa n. 6 innanzitutto definire un linguaggio comune che consenta a tutti i computer di capirsi. Ed è con questo obbiettivo che Cherf e Kahn elaborano le specifiche di un nuovo protocollo per comunicare su Internet, e lo battezzano Transmission Control Protocol o TCP. I risultati di questo lavoro vengono pubblicati nel 1974 e l’anno successivo il nuovo protocollo viene diviso in due parti: il TCP, che gestisce i pacchetti di dati, e l’IP, che ne regola la trasmissione. E in questa forma questo protocollo sopravvive ancora oggi e rappresenta il linguaggio universale su cui poggia il funzionamento di Internet. Solo nel 1982 però l’uso di questo fondamentale protocollo, il TCP-IP, viene imposto a tutti i nodi di Arpanet, ma la sua diffusione nel mondo si espande a macchia d’olio. In gran parte dei paesi occidentali, infatti, la possibilità di connettere reti locali di computer in un' unica Internet mondiale stimola la nascita di molte nuove reti locali di computer che, grazie al TCP-IP, sono in grado di comunicare con tutte le altre reti di computer già esistenti e connesse ad Internet. A questo punto le nuove reti di comunicazione hanno ormai soppiantato la vecchia Arpanet che ha esaurito la sua funzione propulsiva. Nel 1990 infatti, a venti anni dalla sua nascita, Arpanet muore ufficialmente e inizia ad essere smantellata. La lingua di Internet: il protocollo TCP-IP Internet è una sorta di meta-rete costituita da molte reti telematiche connesse tra loro. Non ha importanza quale sia la tecnologia che le unisce: cavi, fibre ottiche, ponti radio, satelliti, o altro. Non è neanche rilevante di che tipo siano i computer connessi: dal piccolo personal computer al grosso elaboratore, o mainframe. Punto di forza di Internet, e motivo del suo velocissimo espandersi, è la sua capacità di ' parlare' un linguaggio universale, adatto alla quasi totalità degli elaboratori esistenti. Per definire questo linguaggio bisogna considerare che i computer, come noto, pur usando tutti lo stesso alfabeto - il codice binario - ' parlano' spesso linguaggi differenti e incompatibili. Fuori di metafora, computer diversi usano sistemi operativi, codici di caratteri, strutture di dati spesso incompatibili tra loro. Per permettere la comunicazione tra l' uno e l' altro è necessario quindi definire un insieme di regole condivise da tutti i computer. Questa funzione, nell' ambito della telematica, viene svolta dai protocolli. Nel mondo diplomatico per ' protocollo' si intende una serie di regole di comportamento e di etichetta rigidamente codificate, che permettono a persone provenienti da diversi universi culturali di interagire senza creare pericolose incomprensioni. Protocolli sono detti anche gli accordi o i trattati internazionali. Queste accezioni del termine possono essere accolte per metafora anche nell' ambito della telematica: un protocollo di comunicazione definisce le regole comuni che un computer deve conoscere per elaborare e inviare i bit attraverso un determinato mezzo di trasmissione fisica verso un altro computer. Un protocollo dunque deve specificare in che modo va codificato il segnale, in che modo far viaggiare i dati da un nodo all' altro, in che modo assicurarsi che la trasmission e sia andata a buon fine, e così via. 4 Tecniche della comunicazione telematica - Dispensa n. 6 Nel caso di Internet, l' insieme di protocolli che permettono il funzionamento di questo complesso sistema di comunicazione telematico, viene comunemente indicato con la sigla TCP/IP, che è un acronimo per Transmission Control Protocol/Internet Protocol. Gli indirizzi su Internet Per fare in modo che la comunicazione tra due computer su Internet vada a buon fine, oltre ad un protocollo comune è necessario che ogni singolo computer abbia un indirizzo univoco, che lo identifichi senza alcuna ambiguità, e che indichi la via per raggiungerlo tra i milioni di suoi simili presenti sulla rete. A questo fine ogni computer presente su Internet è dotato di un indirizzo costituito da una sequenza di quattro numeri, da 0 a 255, separati da un punto come ad esempio 151.100.20.17 Per capire la logica con cui è composto questo indirizzo pensate a quando scriviamo un indirizzo su una lettera: Roma, Via Verdi, n.51, Paolo Rossi In questo indirizzo ci sono quattro informazioni: la città, la via, il numero civico e un nome. Ognuno di questi campi corrisponde ad una comunità sempre più ristretta: la città contiene un insieme di strade ed ognuna di queste strade a sua volta contiene dei palazzi - individuati da numeri civici - dove finalmente possiamo individuare una singola persona con il suo nome e cognome. Per comporre un indirizzo in Internet invece che di comunità di uomini si parla di comunità di computer, ovvero di reti. Anche in questo caso però ci sono delle reti-città che contengono al loro interno delle reti-strade che a loro volta contengono reti-palazzi che finalmente si possono considerare come comunità di singoli computer. I singoli computer che troviamo alla fine di questa catena sono chiamati host. !#" $ Ognuna di queste sotto-reti, che usualmente vengono chiamate domini, possiede l’equivalente di un ufficio postale, chiamato gateway o router, che si incarica di spedire e di ricevere i pacchetti di dati che provengono dal suo dominio. 5 Tecniche della comunicazione telematica - Dispensa n. 6 Per indirizzare un pacchetto di dati quindi il computer usa un IP Address, composto da quattro campi numerici che svolgono un ruolo simile a quello che abbiamo visto nel caso della cartolina. 151 . 100 . 20 . 17 Roma - Via Verdi - n.51 - Sig.Rossi Nel caso del nostro esempio, 151 indica l’indirizzo del dominio -città di Internet. Il secondo numero, il 100, indica il dominio-strada, mentre il 20 indica il dominio-palazzo e il 17 rappresenta il nome e cognome del singolo computer. Fortunatamente Internet usa un sistema chiamato DNS - ovvero Domain Name Service - per trasformare l’indirizzo numerico usato dai computer in qualcosa di più comprensibile ad un uomo. Attraverso il DNS ogni host di Internet può essere dotato di un nome (domain name). È evidente che per un utente utilizzare dei nomi simbolici è molto più semplice e intuitivo che maneggiare delle inespressive sequenze di numeri. Ad esempio, all’host 193.205.62.132 corrisponde il seguente nome:let.unicas.it. Ricordate quindi che dietro ad ogni indirizzo che vedete su Internet e nel Web si nasconde un IP address numerico come quello che abbiamo visto. Computer clienti e computer fornitori L’organizzazione di Internet può essere paragonata a quella di un servizio postale che si occupa di trasmettere e ricevere corrispondenza. E il comportamento di un computer che offre un servizio sulla rete è molto simile a quello di un negozio che vende per posta. Nel caso del negozio c’è catalogo che rappresenta l’interfaccia verso il cliente e viene inviato a moltissime persone. Per acquistare qualcosa useremo l’apposito modulo per le ordinazioni che si trova nel catalogo e lo inviamo per posta alla libreria. La libreria, ricevuto l’ordine, spedisce il libro richiesto all’indirizzo indicato sul modulo, e in questo modo, dopo qualche giorno, il libro che avevamo scelto sarà sulla nostra scrivania. Anche nel caso di Internet, le cose funzionano in modo simile: c’è un computer cliente - il client – che chiede delle informazioni e un computer fornitore – il server – che gliele procura. E’ proprio su questo principio, chiamato architettura client-server, che si basano tutte le applicazioni usate su Internet 6 Tecniche della comunicazione telematica - Dispensa n. 6 Il World Wide Web Il WWW, la più nota applicazione usata su Internet, nasce al CERN, il più grande centro di ricerca europeo sulla fisica delle particelle elementari, dove lavorano fisici di tutto il modo che usano quotidianamente la Rete per tenersi in contatto e scambiarsi opinioni. E proprio per migliorare questo tipo di comunicazioni un ricercatore di nome Berners-Lee, nel 1990, propone ai suoi superiori un nuovo modo di utilizzare Internet che chiama World Wide Web. Al di là della del nome, la cosa più interessante che si può notare nel progetto di Berners-Lee è che in questa proposta sono già presenti tutte le idee guida che ancora oggi caratterizzano il Web. La prima regola del Web è che i suoi documenti devono essere scritti in un particolare formato chiamato ipertesto. In parole povere questo significa che tra le parole del testo potranno essere inseriti dei riferimenti – link in inglese – ad altri documenti presenti nel Web. E come vedete anche da questa pagina, oggi questi link sono evidenziati in colore. Quando l’utente seleziona uno di questi riferimenti, il documento corrispondente viene richiesto sul Web e visualizzato sul computer dell’utente. Questa proprietà delle pagine ipertestuali, pur essendo concettualmente semplice, ha comportato una vera e propria rivoluzione nel modo di intendere una rete di calcolatori. Prima dell’ipertesto, infatti, tutto quello che poteva fare l’utilizzatore di Internet era ricevere o inviare un documento su un altro computer collegato in rete. Dopo l’ipertesto, tutti i documenti presenti nel Web sono legati tra di loro da un immensa ragnatela di collegamenti - gli ormai famosi link – e l’utente è in grado, seguendo questi link, di spostarsi istantaneamente da un documento all’altro attraverso Internet. !" # $%'& & ( )*,+-(./ 010 2(3/4(45/46*,& 0/43*72*8)904.(;:<(= 7 Tecniche della comunicazione telematica - Dispensa n. 6 Ricapitolando, quando si fa un click su una di queste parole chiave il browser automaticamente preleva dal Web la pagina indicata dal riferimento e ce la mostra, e come avete visto curiosando nel Web, usando la multimedialità, una pagina può contenere non solo testo scritto ma anche immagini, suoni, filmati e animazioni. La seconda idea che sorregge il Web è quella di definire un apposito programma – il browser - che consenta di visualizzare gli ipertesti contenuti nel World Wide Web. Questo programma rappresenta qualcosa di completamente nuovo rispetto a tutto quello che fino ad allora si era visto su un computer. Il browser infatti rappresenta una sorta di finestra aperta sul mondo del Web e quindi deve essere in grado di visualizzare non solo testi scritti ma anche immagini, filmati e perfino suoni. Deve essere un programma multimediale nel senso più ampio del termine e inoltre deve poter funzionare su qualsiasi tipo di calcolatore utilizzabile in Internet. Purtroppo i primi esempi di browser che vengono rilasciati gratuitamente dal CERN nei primi anni novanta non assomigliano affatto al progetto che aveva in mente Berners-Lee. Sono degli austeri programmi che mostrano all’utente solo righe di testo e che possono andar bene per dei ricercatori alla caccia di articoli scientifici ma ancora non attraggono il grande pubblico. La grande svolta avviene nel 1993, quando Marc Andressen e Eric Brina dell’Università dell’Illinois sviluppano e distribuiscono gratuitamente Mosaic, il primo browser con un interfaccia grafica, che consente di visualizzare il contenuto di una pagina Web in modo molto simile a quello attuale. Questo programma semplice e intuitivo avvicina finalmente alla rete molti nuovi utenti incuriositi dalle possibilità aperte dal ciberspazio. Da quel momento inizia l’esplosione del World Wide Web così come lo conosciamo oggi. 8