una conquista dell'umanità

29
SISI UNA CONQUISTA DELL’UMANITÀ INTERNET E LA SUA STORIA CONGEDO ALESSANDRO 5^B Liceo Scientifico Tecnologico “Benedetto Castelli” A.S. 2011/2012

Upload: aleks-congo

Post on 12-Mar-2016

222 views

Category:

Documents


2 download

DESCRIPTION

Internet e la sua storia

TRANSCRIPT

SISI

UNA CONQUISTA DELL’UMANITÀ

INTERNET E LA SUA STORIA

CONGEDO ALESSANDRO 5^B Liceo Scientifico Tecnologico “Benedetto Castelli”

A.S. 2011/2012

INDICE

PREFAZIONE . . . . . . . 4

GUERRA FREDDA

UN’EUROPA DIVISA SPERANZE DI PACE E GUERRA FREDDA . . . . . . . 5 IL SISTEMA BIPOLARE: USA E URSS . . . . . . . 5 LA CONFERENZA DI YALTA . . . . . . . 6 LA CONFERENZA DI POTSDAM E LA DIVISIONE DELLA GERMANIA . . . . . . . 6 IL PIANO MARSHALL E IL PATTO ATLANTICO . . . . . . . 7 IL DOMINIO SOVIETICO NELL’EUROPA ORIENTALE . . . . . . . 8

STORIA DI INTERNET

LE ORIGINI TRA GUERRA FREDDA E PROGRESSO . . . . . . . 10 ARPA VS. “COMPAGNO DI VIAGGIO” . . . . . . . 10 PAUL BARAN E IL PACKET SWITCHING . . . . . . . 11 KLEINROCK E LICKLIDER . . . . . . . 11 STATI UNITI – INGHILTERRA . . . . . . . 12 LA LEGGENDA DELLO SCOPO MILITARE . . . . . . . 12 GLI INCONTRI ARPANET . . . . . . . 12 IMP: UN PARTO TRAVAGLIATO . . . . . . . 13 LA RETE PRENDE FORMA . . . . . . . 14

DA ARPANET AD INTERNET IL LAVORO UNIVERSITARIO . . . . . . . 14 I PRIMI PROTOCOLLI DI RETE . . . . . . . 14 L’AVVENTO DEL MODELLO TCP/IP . . . . . . . 15 FINALMENTE INTERNET . . . . . . . 15 IL SUCCESSO DI INTERNET . . . . . . . 16

CALCOLATORI IN RETE

LE RETI DI CALCOLATORI COS’È INTERNET? . . . . . . . 17 LA RETE DI CALCOLATORI . . . . . . . 17 MODALITÀ DI COLLEGAMENTO . . . . . . . 18 ESTENSIONE GEOGRAFICA . . . . . . . 19

IL MODELLO TCP/IP STRUTTURA A LIVELLI . . . . . . . 20 LIVELLO FISICO . . . . . . . 21 LIVELLO DATA LINK . . . . . . . 21 LIVELLO RETE . . . . . . . 22 LIVELLO TRASPORTO E LIVELLO APPLICAZIONE . . . . . . . 23

INTERNET ORGANIZZAZIONE DELLA RETE INTERNET . . . . . . . 24 LIVELLI TRASPORTO, RETE E APPLICAZIONE . . . . . . . 24 GESTIONE DEGLI INDIRIZZI . . . . . . . 25 LA POSTA ELETTRONICA . . . . . . . 25 IL WORLD WIDE WEB . . . . . . . 27 IL TRASFERIMENTO DEI FILE . . . . . . . 27

BIBLIOGRAFIA E WEBGRAFIA . . . . . . . 29

Sembra ieri il giorno in cui entrai per la prima volta in questa scuola. Ero ancora in terza media ed era un sabato, il sabato dell'OpenDay. Ora invece mi trovo davanti ad una commissione per l'esame finale che mi farà (finalmente) uscire da questo istituto. Il tanto temuto Esame di Stato, che sembrava allora lontanissimo, è ormai arrivato e per dare il mio "ultimo saluto" a questa scuola, ho deciso di trattare una materia, l'Informatica, che durante il triennio si è rivelata essere la mia preferita. Dopo avere scelto la materia principale da trattare nella mia tesina, nel decidere l’argomento specifico, la mia scelta è ricaduta sulla rete Internet, un mezzo di comunicazione utilizzato da chiunque, ma che solo pochi, tra tutti coloro che lo utilizzano, ne conoscono il funzionamento. Ho così deciso di sviluppare la mia tesina sulla nascita di questa rete, mostrando prima di tutto il contesto storico in cui si è inserita e poi le vicissitudini che hanno portato alla sua creazione. Oltre alla storia, le pagine che seguono questa prefazione vanno ad approfondire il funzionamento di Internet, a partire dal concetto generale di rete di calcolatori e dal modello TCP/IP, che costituisce lo standard su cui si basa ciò che ogni giorno utilizziamo.

SPERANZE DI PACE E GUERRA FREDDA Dopo la tremenda esperienza della Seconda guerra mondiale, che fece cinquanta milioni di vittime, metà delle quali civili, era vivissima la speranza di costruire un mondo più pacifico e giusto. Con lo scopo di preservare le generazioni future dalle possibili guerre e di favorire il progresso economico e sociale dell’umanità, il 26 giugno 1945, 51 paesi sottoscrissero la Carta di San Francesco, il trattato che dava vita all’Organizzazione delle Nazioni Unite (ONU), uno strumento di governo sovranazionale delle relazioni fra gli stati, come trent’anni prima era stata, con scarsissimo successo, la Società delle nazioni. Il 10 dicembre 1948 fu poi approvata la Dichiarazione universale dei diritti umani, un documento che riguardava tutte le persone di ogni popolo e nazione, senza alcuna distinzione. L’importanza storica di questo atto è notevole, poiché per la prima volta veniva scritto che esistono diritti di cui ogni essere umano deve poter godere per la sola ragione di essere al mondo. L’obiettivo di costruire un mondo di pace e giustizia però si rivelò presto irraggiungibile, perché l’alleanza fra Unione Sovietica, Stati Uniti e Gran Bretagna, nata per combattere in nazismo, si tramutò rapidamente in contrapposizione. Sconfitto il comune nemico, le divergenze politico-economiche e ideologiche fra le democrazie occidentali e l’URSS si manifestarono con crescente intensità, tanto che già alla metà del 1947 venne coniata l’espressione “Guerra fredda” per indicare lo stato di tensione che si instaurò fra Est e Ovest (Stati Uniti e Unione Sovietica), ovvero fra le due superpotenze vincitrici del conflitto conclusosi solamente due anni prima. Questo periodo di attrito durò circa mezzo secolo, ma non arrivò mai allo scontro frontale fra le due contendenti che si combatterono con le armi della diplomazia, della propaganda ideologica, dell’esibizione della forza militare o intervenendo nei conflitti locali di aree “periferiche” del pianeta.

IL SISTEMA BIPOLARE: USA E URSS L’emergere delle due superpotenze, USA e URSS, fu proprio la conseguenza principale della Seconda guerra mondiale, insieme al declino delle tradizionali potenze europee ottocentesche. Gli Stati Uniti erano l’unico paese belligerante uscito indenne dalla guerra, con un apparato industriale intatto e cresciuto enormemente durante il conflitto: il prodotto interno lordo era infatti raddoppiato rispetto al 1940. Nel 1945 la produzione industriale statunitense costituiva i due terzi di quella mondiale e, oltretutto, gli americani avevano ora una posizione largamente creditoria nei confronti degli alleati. Gli USA, inoltre, disponevano di un’arma, la bomba atomica, che garantiva loro una netta supremazia militare. L’Unione Sovietica era invece un gigante semidistrutto: nonostante il forte prestigio politico e militare, derivante dal ruolo decisivo assunto nella sconfitta del nazifascismo, l’apparato produttivo era in

pessime condizioni. Nel 1945, la produzione industriale era inferiore del 40% rispetto a quella di inizio guerra. Nonostante questa disparità, USA e URSS divennero senza alcun dubbio i perni di un nuovo modello di ordine internazionale che ebbe, in sintesi, le seguenti caratteristiche: - era bipolare, fondato cioè sul dominio competitivo fra due sole potenze; - per la prima volta veramente globale, cioè esteso al mondo intero; - fortemente connotato dal punto di vista ideologico (fu vissuto e presentato come antagonismo fra due modelli di società e vita, democrazia e capitalismo contro comunismo e collettivismo); - a sovranità “sospesa”, nel senso che le decisioni strategiche sulla sicurezza venivano assunte dalle due superpotenze, esautorando di fatto i governi dei paesi inclusi nei due blocchi; - bloccato dalla presenza dell’arma nucleare, che rese di fatto impossibili conflitti generalizzati (soprattutto dopo il 1950, quando fu realizzata la bomba H, di potenza enormemente superiore a quelle lanciate su Hiroshima e Nagasaki).

LA CONFERENZA DI YALTA Il problema dei futuri rapporti tra gli occidentali e i sovietici era già stato posto da tempo, anche se era stato tenuto in secondo piano per ovvie necessità belliche. Tant’è che già nel febbraio 1945 i “tre grandi” (il presidente americano Roosevelt, il primo ministro inglese Churchill e il dittatore russo Stalin) si erano incontrati a Yalta, in Crimea, per delineare l’assetto dell’Europa una volta sconfitto Hitler.

La Conferenza di Yalta (4 febbraio 1945) prese atto sul piano politico di una situazione militare che vedeva le armate sovietiche e quelle anglo-americane prossime a occupare, rispettivamente, la parte orientale e quella occidentale del continente. Diversamente da come spesso si afferma, con questo incontro non venne affatto deciso che l’Europa sarebbe stata divisa in due grandi sfere di influenza: al contrario, la Dichiarazione sull’Europa liberata, sottoscritta dai tre partecipanti alla conferenza, lasciava ampio spazio all’autonomia decisionale dei popoli e alla loro possibilità di darsi, tramite

elezioni libere, governi rispondenti alla loro effettiva volontà. Tuttavia nel dopoguerra le posizioni si irrigidirono rapidamente fino a trasformare le “sfere di influenza” in blocchi contrapposti, cioè in alleanze politico-militari controllate dall’una o dall’altra superpotenza. Una “cortina di ferro” (secondo l’espressione di Winston Churchill) calò attraverso il Vecchio continente, da Stettino a Trieste, fra l’Europa occidentale e quella soggetta all’influenza sovietica.

LA CONFERENZA DI POTSDAM E LA DIVISIONE DELLA GERMANIA L’ultimo dei grandi incontri fra i protagonisti della sconfitta tedesca ebbe luogo a Potsdam, in Germania, dal 17 luglio al 2 agosto 1945. Dalla precedente Conferenza tenutasi a Yalta erano cambiate molte cose: non solo era finita la guerra, ma era anche morto Franklin D. Roosevelt. Il nuovo presidente americano, Harry S. Truman, era molto più diffidente del suo predecessore nei confronti del leader sovietico Stalin. Infatti, oltre ad interrompere gli aiuti nei confronti dell’URSS dichiarando decaduta la Legge affitti e prestiti, proprio mentre la conferenza era in corso arrivò a Truman la notizia dell’esito positivo del primo test relativo alla bomba atomica, il che rese non più necessaria la collaborazione russa per la sconfitta del Giappone. Venne così a mancare un’importante motivazione per il mantenimento di buone relazioni con l’Unione Sovietica.

In questo incontro vi era come problema principale il destino della Germania, epicentro della frattura fra Est e Ovest. Già a Yalta si era deciso che lo stato tedesco sarebbe stato diviso in quattro grandi zone d’occupazione: la più vasta, ad Est, era quella sovietica; a nord vi era quella inglese, mentre a sud oltre a quella americana, era stata destinata una piccola parte alla Francia, che venne così reintrodotta nel gruppo delle grandi potenze. Anche Berlino, che si trovava nella zona sovietica, era stata divisa in quattro settori. Con questa divisione, ogni paese vincitore aveva la possibilità di subordinare completamente ai propri interessi l’economia di un intero settore della Germania e, al di là di tutte le dichiarazioni di principio che promettevano il mantenimento della sua unità politica e territoriale, di fatto all’inizio del 1946 lo stato tedesco era già un paese diviso.

Nella primavera 1948 gli occidentali avviarono l’unificazione delle rispettive zone d’occupazione. I sovietici reagirono bloccando i canali di accesso via terra a Berlino, al fine di rendere impossibili i rifornimenti della parte occidentale della città. La contro risposta statunitense fu l’organizzazione, nell’estate del 1948, di un ponte aereo che per quasi un anno rifornì Berlino Ovest. La prova di forza si risolse in un successo per gli Stati Uniti, che riuscirono a vanificare il blocco dando un’impressionante dimostrazione di efficienza e forza economica. Il blocco venne tolto, ma la crisi di Berlino rese irreversibile la divisione della Germania in due stati di regime diverso e ostile: il 5 maggio 1949, nella parte occidentale del paese, nacque la Repubblica federale tedesca (RFT, o BRD) e il 7 ottobre dello stesso anno, nella parte orientale, la Repubblica democratica tedesca (RDT, o DDR).

IL PIANO MARSHALL E IL PATTO ATLANTICO Le strategie economiche e politiche americane di quegli anni erano del tutto unite e ciò emerse pienamente con il cosiddetto Piano Marshall, un grandioso progetto di aiuto (che prese il nome dal segretario di stato che lo presentò nel 1947) per rilanciare la produzione industriale dei paesi europei e far sì che essa potesse integrarsi positivamente con le esigenze dell’economia statunitense. Inizialmente gli Stati Uniti offrirono fondi anche a Polonia e Cecoslovacchia, ma Stalin vietò loro di accettarli e da quel momento gli aiuti vennero garantiti solo a quei governi che non vedessero la partecipazione dei comunisti. Da questo atteggiamento statunitense, risultano perciò visibili le loro finalità politiche anticomuniste: il piano divenne dunque una formidabile arma di pressione per garantire agli USA l’allineamento di quei paesi, come Italia e Francia, che avevano al proprio interno dei forti partiti comunisti, i cui esponenti vennero estromessi dall’esecutivo nella primavera del 1947. Questa strategia portò il blocco occidentale a configurarsi come un sistema di alleanze che si tradusse in una sostanziale subordinazione politica dei paesi europei agli Stati Uniti.

LA SITUAZIONE DI BERLINO

LA GERMANIA DOPO IL 1945

In seguito al blocco di Berlino (già spiegato nel paragrafo precedente), dopo il quale inglesi, americani e infine francesi unificarono l’intera Germania Ovest, l’edificazione del blocco occidentale culminò con la firma del patto atlantico (4 aprile 1949), un’alleanza politico-militare di tipo difensivo, a cui aderirono, oltre agli Stati Uniti e al Canada, anche i principali paesi dell’Europa occidentale (Gran Bretagna, Francia, Italia, Olanda, Belgio, Lussemburgo, Danimarca, Norvegia e Portogallo). A partire dal 1952, gli eserciti di questi paesi iniziarono ad operare in modo coordinato sotto un’unica direzione, dando vita così ad una complessa organizzazione militare, che venne chiamata NATO (Organizzazione del Trattato dell’Atlantico del Nord). Si trattava di una svolta storica nella politica estera americana, che per la prima volta abbandonava il principio, fissato alla fine del Settecento dallo stesso George Washington, di non stringere patti vincolanti di alleanza fuori dall’area statunitense.

IL DOMINIO SOVIETICO NELL’EUROPA ORIENTALE L’egemonia dell’URSS sull’Europa orientale si esercitò attraverso la creazione di una cintura di “stati satelliti”, cioè direttamente dipendenti da Mosca (Germania Est, Polonia, Cecoslovacchia, Ungheria, Romania e Bulgaria), e nella loro sovietizzazione, ovvero nella loro trasformazione economica e politica sul modello sovietico. In un primo periodo, tra il 1945 e il 1947-48, l’URSS appoggiò i comunisti all’interno dei governi di coalizione che si erano venuti formando nei diversi paesi. Questi governi realizzarono vaste riforme

Urss Stati neutrali

Stati satelliti, membri del Patto di Varsavia Stati occidentali membri della NATO dal 1955

Yugoslavia (Regime socialista autonomo) Stati filo-occidentali

agrarie, intaccando la grande proprietà terriera, e nazionalizzazioni. Provvedimenti che ottennero ampio consenso popolare, specialmente negli strati sociali più poveri. Nel frattempo l’Unione Sovietica, in quanto potenza vincitrice, procedeva a confische e requisizioni, particolarmente pesanti nei confronti dei paesi ex alleati della Germania o nelle zone da questa controllate. Tuttavia, in questa prima fase il controllo sovietico era solido solo in Bulgaria e Romania, per la netta supremazia del Partito comunista all’interno del governo. Fu a partire dalla metà del 1947 che l’URSS trasformò in dominio il proprio controllo politico ed economico sull’Europa orientale (con l’eccezione della Jugoslavia, che Tito volle mantenere autonoma giungendo fino a un duro scontro con Stalin, nel 1948). Con vari sistemi, dai brogli alle intimidazioni, dagli arresti ai colpi di stato mascherati (come a Praga nella primavera 1948), e comunque sotto la pressione esercitata dalla presenza militare dell’Armata rossa, ogni forma di pluralismo venne abolita, i governi di coalizione vennero liquidati e si crearono regimi a partito unico, che vedevano una fusione fra comunisti e socialisti. Nel 1947 venne creato il Cominform, un organismo di informazione e collaborazione fra i partiti comunisti europei, con funzioni di controllo ideologico. Nel 1949 nacque il Comecon (Consiglio di mutua assistenza economica), con il compito di coordinare le economie dei paesi del blocco sovietico, specularmente opposto al piano Marshall e all’integrazione economica fra Europa occidentale e Stati Uniti. Completò, infine, la formazione del “blocco” orientale, nel 1955, la creazione del patto di Varsavia, un’alleanza militare analoga e contrapposta alla NATO.

TRA GUERRA FREDDA E PROGRESSO La nascita della prima rete informatica si inserisce nel contesto della Guerra fredda, durante la quale la tensione tra USA e URSS non si concretizzò mai in un vero e proprio conflitto militare a causa, come già spiegato nelle pagine precedenti, della grossa disponibilità di grandi armi nucleari (che avrebbe certamente portato alla distruzione dell’intero pianeta). L’elemento di principale interesse del conflitto divenne quindi la supremazia tecnologica. Tuttavia la nascita della “Rete delle reti” non va vista solo in questo contesto e le vicissitudini che portarono alla sua creazione non possono essere ridotte alla semplice realizzazione di un progetto militare di ricerca. Più che una conquista strategica delle forze armate, Internet è stata una conquista umana e culturale di un gruppo di persone che ha creduto nel networking quando le università erano ancora gelose dei loro calcolatori; le reti informatiche devono la propria nascita alla passione, all’impegno e allo sforzo coordinato di un grandissimo numero di studenti, ricercatori, insegnanti e funzionari pubblici statunitensi che hanno saputo spendersi fino in fondo per far uscire i loro computer e le loro università dal loro atavico isolamento, creando una comunità virtuale dedicata alla ricerca, allo scambio scientifico e al processo accademico.

ARPA VS. “COMPAGNO DI VIAGGIO” Dalla notte tra il 4 e il 5 ottobre del 1957, la Luna, per la prima volta, non è più la sola a far compagnia alla Terra. Il nuovo satellite che orbita intorno al nostro pianeta si chiama Sputnik 1 e a lanciarlo non sono gli Stati Uniti, bensì l’URSS. La mossa sovietica colse di sorpresa gli USA, che si videro sorpassare nel programma spaziale che si evolverà nella futura “corsa alla Luna”. Colpiti nell’orgoglio, gli Stati Uniti decisero quindi di ristabilire la loro supremazia scientifica e tecnologica con una repentina contromossa, guidata dal presidente Dwight Eisenhower che convocò il comitato di consulenza scientifica presidenziale e al termine della riunione tenutasi il 15 ottobre decise di nominare un consulente, con ampia libertà decisionale, per favorire lo sviluppo rapido ed efficiente della scienza americana. Lo scienziato scelto per questo incarico fu James R. Killian Jr. che procedette subito alla creazione di una agenzia unica per la ricerca e lo sviluppo scientifico: l’obiettivo era quello di superare la rivalità e la competizione tra esercito, marina ed aviazione, che fino a quel momento avevano realizzato, ognuno per conto suo, dei progetti a compartimenti stagni, facendosi concorrenza l’un l’altro.

La creazione di questa agenzia unica incontrò una forte resistenza da parte delle alte gerarchie militari, restie a sottomettersi ad una autorità scientifica centralizzata. Il braccio di ferro venne quindi risolto dallo stesso Eisenhower, che il 7 gennaio 1958 richiede ufficialmente al congresso i fondi per la nascita dell’ ARPA (Advanced Research Project Agency), l’agenzia per i progetti di ricerca avanzata che finanzia la sperimentazione nell’ambito del networking da cui prese poi vita nel 1969 l’ARPAnet, il primo embrione di quello che sarebbe diventato Internet. L’ARPA ebbe il pregio di unire alcuni tra gli scienziati più brillanti d’America e ciò permise anche di mettere a punto il primo satellite USA in soli 18 mesi.

PAUL BARAN E IL PACKET SWITCHING

Nel 1960, all’interno della RAND corporation, ha inizio il primo lavoro di ricerca scientifica sulla commutazione di pacchetto (packet switching, strategia di commutazione che tratterò nel prossimo capitolo), per opera di Paul Baran, un ingegnere polacco naturalizzato statunitense. Baran trasse ispirazione per i suoi studi sulle reti di trasmissione dati dalla rete più complessa in assoluto: il cervello umano. Da esso riuscì a ricavare un modello, che battezzò distributed network (“rete distribuita”), basato sulla ridondanza e sulla molteplicità dei collegamenti. Un’altra sua idea

rivoluzionaria fu quella di frazionare i messaggi in diverse unità elementari di informazioni, ciascuna in grado di seguire un differente percorso all’interno della rete. Queste proposte incontrarono però lo scetticismo della comunità scientifica, che non riteneva il progetto tecnicamente realizzabile, e la diffidenza del pentagono e

della Air Force Usa, finanziatori delle ricerche RAND. Paul Baran insistette per cinque anni nel portare avanti le sue idee con dei memorandum scientifici, con i quali demolì una ad una tutte le obiezioni e le critiche mosse al suo progetto, arrivando nel 1965 ad ottenere la decisione del governo statunitense di prendere in considerazione la sua proposta di rete distribuita. Tuttavia fu lo stesso ingegnere a bloccare tutto quando si accorse che il progetto sarebbe stato affidato ad un’agenzia governativa legata ancora alle telecomunicazioni “classiche” e senza nessuna esperienza nel campo delle tecnologie digitali. Piuttosto che vedere fallire il proprio progetto, rischiando che esso venisse per questo scartato anche in futuro, decise di lasciare tutto nel cassetto.

KLEINROCK E LICKLIDER Facendo un passo indietro, nel 1961 Leonard Kleinrock dell’Università della Californa, Los Angeles, pubblicò un testo con cui gettò le basi statistiche e matematiche per lo studio del traffico nelle reti distribuite di trasmissione a pacchetto. Grazie a questa pubblicazione ottenne un fondamentale ruolo, all’interno dell’Arpa, per la realizzazione di quello che diventerà il primo nodo della futura Arpanet, ovvero l’ NMC (Network Measurement Center, “centro di misurazione della rete”). Nell’autunno 1962, il nuovo direttore Jack P. Ruina accolse nell’Arpa Joseph Carl Robnett Licklider, meglio conosciuto come Lick. Questo studioso di psicoacustica ebbe un ruolo fondamentale nello sviluppo delle ricerche e, prima ancora dell’avvento dei personal computer, riuscì a intravedere un futuro in cui l’interconnessione dei calcolatori elettronici sarebbe stata totalmente al servizio dell’umanità. Una volta messo sotto contratto, cominciò una “caccia ai cervelli”, coinvolgendo nelle ricerche dell’Arpa tutti i più grandi centri di ricerca e le più prestigiose istituzioni universitarie degli Stati

Uniti. Questa scelta condizionò fortemente l’evoluzione di Arpanet, che si sviluppò al di fuori degli ambienti militari, con il contributo fondamentale di tutti gli studenti universitari.

STATI UNITI – INGHILTERRA Nel 1965, mentre Baran mise nel cassetto il suo progetto di rete distribuita, parallelamente dall’altra parte dell’Oceano, a Londra, il fisico Donald Watts Davies sviluppò teorie sul networking molto simili a quelle dell’ingegnere statunitense, dando nel 1966 una pubblica lettura del suo lavoro. Davies concepì una rete distribuita analoga a quella di Baran e descrisse, in particolare, l’inoltro di messaggi, suddivisi in pacchetti, all’interno di una rete digitale. Baran e Davies avevano raggiunto le medesime conclusioni a un continente di distanza, arrivando a coincidere perfino sulla dimensione dei pacchetti, sulla velocità di trasmissione e sull’utilizzo di una regola di instradamento (routing) che fosse adattativa, in maniera da inviare pacchetti all’interno della rete tenendo conto istante per istante della situazione dei nodi adiacenti e della congestione dei collegamenti.

LA LEGGENDA DELLO SCOPO MILITARE Nel 1966 Robert Taylor andò a capo dell’IPTO, l’ufficio ARPA di cui Licklider era l’indiscussa “guida spirituale”. Le idee espresse sul networking da Lick negli anni precedenti erano ormai mature e a Taylor bastarono solo 20 minuti per ottenere dall’ ARPA un finanziamento da un milione di dollari per un progetto di rete distribuita. Vari anni più tardi, un articolo della rivista Time darà vita alla leggenda di una rete militare costruita con la precisa intenzione di mettere gli Stati Uniti in condizioni di affrontare una guerra termonucleare, disponendo di una rete di comunicazione in grado di sopravvivere ad un eventuale bombardamento. L’articolo venne poi smentito da una lettera dello stesso Taylor, il quale spiegò che la nascita di ARPAnet non era collegata al problema delle comunicazioni militari in caso di guerra nucleare, ma piuttosto al miglioramento delle ricerche comuni alle varie università collegando computer e ricercatori tra loro. Infatti le reti a commutazione di pacchetto e la realizzazione di ARPAnet furono solamente due tra i tanti progetti di ricerca di base portati avanti dall’ ARPA in quegli anni. Taylor dichiarò comunque la consapevolezza della potenzialità delle loro applicazioni per la sicurezza nazionale; tuttavia gli sforzi per usare tale tecnologia a questo fine vennero solamente molto dopo. Taylor voleva a tutti i costi che a capo del progetto ARPAnet ci fosse Larry Roberts, un ricercatore che riuscì a strappare al Lincoln Laboratory solamente dopo una “caccia all’uomo” durata varie settimane e conclusasi grazie allo stesso direttore del centro di ricerca in cui lavorava che riuscì a convincerlo ad andare all’ARPA.

GLI INCONTRI ARPANET

Nei primi mesi del 1967 vennero quindi organizzati da Larry Roberts due incontri ai quali parteciparono tutti i rappresentanti dei maggiori centri di ricerca e organismi universitari del settore informatico. Nel primo dei due, in molti non furono entusiasti dell’idea di doversi organizzare in “rete” condividendo con gli altri le proprie risorse di calcolo; tuttavia alcuni decisero di dare il proprio contributo e tra questi bisogna ricordare Douglas Engelbart, l’inventore del mouse, che mise a disposizione il proprio gruppo di ricerca per la realizzazione di NIC, il primo centro amministrativo della rete che più tardi prenderà il nome di InterNIC. Su questa scia, col passare del tempo,

nacquero poi altri NIC per gestire in modo decentralizzato i servizi di documentazione ed assistenza, relativamente alla struttura della rete e alla gestione dei “nomi di dominio” con i quali vengono identificati i computer collegati tra loro. Durante uno dei successivi incontri organizzati da Roberts, arrivò un contributo molto importante da un certo Wesley Clark, che propose di non collegare direttamente i computer tra loro: all’epoca i modelli di computer erano tanti e richiedevano enormi sforzi di programmazione e numerose modifiche all’hardware per riuscire a comunicare l’uno con l’altro. Egli suggerì quindi di utilizzare una sottorete di computer tutti uguali e compatibili, dedicati esclusivamente alle funzioni di trasmissione e ricezione dei dati. Ogni nodo della rete avrebbe così dovuto imparare solamente il linguaggio della sottorete, anziché quello di tutti gli altri nodi a cui sarebbe stato connesso. I computer interposti tra i calcolatori universitari e la rete di comunicazione vera e propria vennero battezzati col nome IMP, Interface Message Processor. In un incontro successivo, Roberts presentò il primo documento su quella che aveva battezzato come ARPAnet. Con questi incontri iniziarono a mettersi insieme i tasselli che avrebbero dato vita al primo embrione di ARPAnet (e di quello che è oggi Internet): l’iniziativa di Roberts, le risorse ARPA, gli strumenti tecnologici sviluppati da Davies e Baran, gli studi teorici sulla statistica delle reti distribuite sviluppati da Kelinrock e l’idea di Clark per risolvere i problemi di compatibilità.

I RAGAZZI DELL’IMP

Nel corso del 1968, Larry Roberts rilasciò un documento nel quale vennero definite le specifiche degli IMP e che venne inviato a 140 compagnie interessate alla costruzione di questi fondamentali componenti della rete. In questo testo vennero riorganizzati con ricchezza di dettagli tutti i contributi teorici e tecnologici realizzati sin dai primi anni ’60 da Baran, Davies, Kleinrock e Clark. Tra i primi a rispondere a questa richiesta divulgata da Roberts fu l’IBM che però non sostenne il progetto, credendo impossibile la realizzazione di una rete del genere, a causa dell’enorme costo per l’acquisto dei computer necessari a far funzionare ogni nodo della rete. Tuttavia una piccola ditta di Cambridge, la BBN, si propose e ricevette l’appalto per la realizzazione dei primi IMP con un contratto da un milione di dollari. Quando il documento di Roberts arrivò alla ditta nell’agosto 1969, Frank Heart venne incaricato di mettere insieme un gruppo di ricerca in grado di realizzare il primo IMP rispettando le scadenze fissate dall’ARPA. Attorno ad Heart si riunirono così gli “IMP guys”, i “ragazzi dell’IMP”, i quali si buttarono a capofitto nel lavoro di programmazione del primo IMP, che li appassionò tanto da trasformare la BBN in

una seconda casa, nella quale si trovarono impegnati in una corsa contro il tempo, cercando di concludere il loro lavoro febbrile per la realizzazione dell’IMP No.1. Contemporaneamente, nelle sedi universitarie destinate ad ospitare i primi nodi di ARPAnet si lavorò altrettanto intensamente per permettere ai computer universitari di collegarsi agli IMP e, di conseguenza, a tutto il resto della rete.

LA RETE PRENDE FORMA A fine agosto l’IMP No.1 fu finalmente pronto, il 30 agosto partì in direzione Los Angeles per arrivare all’UCLA e il primo settembre cominciarono così le prime prove di funzionamento. Nel giro di un’ora il Sigma-7 e l’IMP No.1 iniziarono a scambiarsi dati e a colloquiare tra loro. Il primo ottobre, l’IMP No.2 raggiunse lo Stanford Research Institute in California e cominciarono quindi anche i primi esperimenti di collegamento con l’università di Los Angeles. A novembre si collegò al nodo dell’UCLA anche l’università di Santa Barbara e un mese più tardi si aggiunse ai tre nodi precedenti anche quelle dello Utah, che venne collegata tramite l’IMP No.4 allo Stanford Institute. Nel giro di pochi mesi, dunque, ARPAnet non era più solo un’idea, ma una vera e propria rete funzionante.

IL LAVORO UNIVERSITARIO Mentre la BBN si stava occupando dello sviluppo degli IMP, un’ulteriore gruppo di persone si preoccupò dei problemi della comunicazione tra i calcolatori comuni e gli IMP e soprattutto delle possibili applicazioni che la rete avrebbe potuto sopportare. L’ARPA decise che questo aspetto del progetto dovesse essere delegato direttamente ai laboratori di ricerca delle università coinvolte, d’altronde era un problema loro sapere che cosa fare della rete, una volta realizzata. Così, al fine di coordinare le attività, tutti i giovani ricercatori coinvolti, nel 1972, decisero di costituire un gruppo comune, che si sarebbe riunito di tanto in tanto per esaminare il lavoro svolto, e lo battezzarono Network Working Group (NWG). Le riunioni di esso assunsero subito un tono informale e cooperativo ed ogni idea, strumento o risorsa che veniva elaborata dagli utenti della rete entrava subito in circolo diventando ricchezza comune.

I PRIMI PROTOCOLLI DI RETE Uno dei più attivi del gruppo era Steve Crocker della UCLA, che ne assunse la direzione e decise di mettere sulla carta i primi frutti di tante discussioni scrivendo quindi il primo documento “ufficiale” dell’NWG, dedicato al problema della comunicazione tra host: bisognava infatti trovare un modo per fare comunicare i vari calcolatori da pari a pari con un qualche insieme di regole condivise dai diversi computer. Nelle discussioni spuntò l’idea di chiamare queste regole “protocolli” e, dopo un anno di lavoro, erano finalmente pronte le specifiche per il protocollo di comunicazione tra host: esso fu battezzato Nerwork Control Protocol (NCP). Poco più tardi venne sviluppato il primo protocollo applicativo vero e proprio, dedicato al trasferimento di file da un host all’altro: il File Transfer Protocol, meglio noto, ancora oggi, come FTP. Tuttavia l’applicazione che forse ebbe la maggiore influenza nell’evoluzione successiva della rete fu la posta elettronica, ideata nel marzo 1972 da Ray Tomlinson, un ingegnere della BBN che provò ad adattare un sistema di messaggistica sviluppato su un minicomputer multiutente. L’esperimento funzionò e il NWG accolse subito l’idea, integrando nel protocollo FTP le specifiche per mandare e ricevere messaggi di posta indirizzati a singoli utenti e così, nel giro di pochi mesi, tutti coloro

che avevano accesso ad un host della rete ARPAnet, che nel frattempo continuava a crescere, iniziarono ad usare la rete per scambiarsi messaggi.

L’AVVENTO DEL MODELLO TCP/IP Larry Roberts decise a questo punto che era giunta l’ora di mostrare i risultati conseguiti dal progetto al pubblico e venne così fatta una conferenza nell’ottobre 1972, per la quale affidò a Bob Khan l’organizzazione di una dimostrazione, che fu un successo oltre ogni aspettativa. Si decise in quell’occasione di fondare l’ International Network Working Group, che avrebbe ereditato la funzione di sviluppare standard per la rete ARPAnet dal predecessore NWG. La direzione fu affidata a Vinton Cerf, uno dei più brillanti membri del gruppo della UCLA. In quegli anni erano, nel frattempo, stati avviati altri esperimenti nel settore delle reti di computer e sorse quindi un problema nuovo, ovvero quello di far comunicare tra loro reti basate su tecnologie diverse. Riuscendo a risolvere questo problema avrebbe permesso la diffusione delle risorse disponibili su ARPAnet ad una quantità di utenti assai maggiore, con costi molti bassi. Kahn e Cerf si miserò perciò a lavorare attorno a questo problema riuscendo in pochi mesi ad elaborare le specifiche di un nuovo protocollo di comunicazione tra host indipendente dalla struttura hardware, che venne battezzato Trasmission Control Protocol (TCP). La prima dimostrazione pubblica di un collegamento tra ARPAnet, Satnet e Packet Radio Network venne fatta nel luglio del 1977. Il collegamento funzionò perfettamente e convinse la Darpa (al nome originale dell’agenzia si era aggiunto il termine “Defense”) a finanziare lo sviluppo. Un anno dopo venne quindi sviluppato il progetto iniziale del nuovo protocollo dividendolo in due parti: TCP, che gestiva la creazione e il controllo dei pacchetti, e IP che invece gestiva l'instradamento dei dati. Pochi anni dopo il TCP/IP sarebbe stato adottato ufficialmente come protocollo standard della rete ARPAnet (e di tutte le reti finanziate dall'agenzia), sostituendo l'ormai datato e inefficiente NCP, e aprendo la strada alla nascita della vera e propria Internet.

FINALMENTE INTERNET Negli anni Ottanta, grazie all’avvento dei personal computer, ci fu un primo grande impulso alla diffusione della rete al di fuori degli ambiti più istituzionali e accademici, rendendo così di fatto potenzialmente collegabili centinaia di migliaia di utenti, non solo americani, ma anche europei. Intorno alla rete dall’ARPA stava quindi prendendo forma una sorta di rete delle reti e a sancire la nascita definitiva di tale rete fu, nel 1983, la decisione da parte del Dipartimento della Difesa statunitense (DCA) di dividere ARPAnet in due rami per motivi di sicurezza: il primo militare, che si isolò necessitando di segretezza assoluta a protezione delle proprie informazioni, che prese il nome di MILnet; l’altro per la comunità scientifica, che ereditava il nome originario e che non avrebbe avuto limiti di interconnessione esterna. La vecchia ARPAnet poté così diventare a tutti gli effetti il cuore della neonata Internet, anche a causa degli sviluppi tecnici che precedette parallelamente a quelli amministrativi: il 1° gennaio 1983, su decisione della DARPA e del DCA, tutti i nodi di ARPAnet passarono ufficialmente dal vecchio NCP al TCP/IP, segnando così la nascita di Internet come la conosciamo oggi.

IL SUCCESSO DI INTERNET La crescita di Internet fu inizialmente abbastanza lenta e sostanzialmente limitata agli Stati Uniti, tuttavia una delle svolte più significative dal punto di vista del suo utilizzo arrivò dall’Europa con il progetto WWW di Timothy John Berners-Lee del CERN di Ginevra. I primi documenti di tale progetto risalgono al 1989, dall’idea di Berners-Lee di creare un “sistema

ipertestuale per facilitare la condivisione di informazione tra i gruppi di ricerca”. Egli propose il suo sviluppo e lo descrisse in un documento del novembre 1990, dove parlava di protocollo http, di browser e server e rendeva pubblico il nome scelto per la sua creatura, ovvero World Wide Web. Il primo sito web venne creato nel 1991 all’indirizzo http://info.cern.ch e nel 1993 nacque poi il primo web browser per l’accesso a pagine ipertestuali (Mosaic, dai cui si sviluppò successivamente Microsoft Internet Explorer).

Infine, dagli inizi degli anni Novanta la crescita di Internet a livello mondiale è stata estremamente rapida, fino a inglobare la quasi totalità delle reti di calcolatori oggi esistenti.

COS’È INTERNET?

Internet rappresenta attualmente il principale mezzo di comunicazione di massa. È una rete di reti di computer mondiale ad accesso pubblico, che offre all'utente tutta una vasta serie di possibili contenuti e servizi. Anzi è “la rete delle reti”, dato che è la più grande rete di computer attualmente esistente. La sua nascita, come già visto precedentemente, è direttamente collegata allo sviluppo delle reti di telecomunicazione e, in quanto tale, è costituita da alcune centinaia di milioni di computer collegati tra loro con i più svariati mezzi trasmissivi; come diffusione è seconda solo alla Rete Telefonica Generale, anch’essa di estensione mondiale e ad accesso pubblico, ma comprendente il pianeta in modo ancora più “capillare” di Internet. Nelle prossime pagine affronteremo il problema di cos’è internet e di come funziona. Il tutto partendo dal concetto di rete di calcolatori, presentandone le tipologie più diffuse e trattando poi l’architettura TCP/IP, che costituisce lo standard adottato dalla rete Internet. Quest’ultima andrà quindi a concludere il capitolo.

LA RETE DI CALCOLATORI Una rete di calcolatori è un insieme di calcolatori, detti nodi, dotati di due caratteristiche fondamentali:

sono interconnessi, cioè sono in grado di scambiarsi informazioni attraverso uno o più mezzi trasmissivi;

sono autonomi, ovvero nessuno di essi è completamente controllato da un altro. Tra le molteplici funzioni delle reti di calcolatori, si possono citare le seguenti:

condivisione di risorse tra più utenti, a prescindere dalla loro collocazione geografica → possono riguardare sia il livello logico (dati e programmi) sia il livello fisico (memoria di massa, periferiche, ecc.);

accesso a informazioni e servizi remoti da parte di un vasto pubblico di utenti;

comunicazione → sia per lo scambio di informazioni a livello personale, sia come strumento di supporto ai processi di lavoro (es. messaggi di posta elettronica, lavoro su documenti condivisi);

strumento efficace di supporto all’affidabilità dei sistemi di elaborazione → ad esempio è possibile duplicare archivi di dati in più elaboratori interconnessi attraverso la rete in modo che, nel caso di danneggiamento di una copia, siano comunque disponibili le altre.

Le reti di calcolatori possono essere classificate secondo due dimensioni, concettualmente indipendenti ma, per ragioni pratiche, di fatto correlate:

la modalità di collegamento tra i calcolatori;

l’estensione geografica della rete.

MODALITÀ DI COLLEGAMENTO I calcolatori possono essere collegati tra loro attraverso due principali modalità. Nelle reti broadcast esiste un unico mezzo trasmissivo condiviso da tutti i nodi, ad ognuno dei quali è associato un indirizzo univoco per identificarlo all’interno della rete. Per comunicare con uno di essi è necessario inviare un messaggio contenente il suo indirizzo a tutti i nodi attraverso il mezzo condiviso e il contenuto inviato verrà recepito solo dal nodo avente l’indirizzo corrispondente. Naturalmente, i diversi nodi accedono al mezzo condiviso in modo coordinato, seguendo un preciso insieme di regole, fissate dal protocollo di accesso al mezzo adottato nella rete. Nelle reti punto-a-punto, invece, sono presenti più linee di comunicazione, ciascuna delle quali connette

una coppia di nodi. Non potendo collegare ogni coppia di nodi tra loro, per problemi sia di tipo fisico che di costo, di solito sono collegate tra loro solo alcune coppie; di conseguenza, un messaggio inviato da un nodo deve seguire un determinato percorso per arrivare a destinazione. A questo scopo, una parte di nodi della rete (i cerchi grigi nella figura a lato) è specificamente dedicata a smistare i messaggi, assicurandosi che la “strada” percorsa sia corretta.

Questa tipologia di reti può essere a sua volta suddivisa in due sottocategorie a seconda di come vengono creati e gestiti i percorsi che realizzano la connessione fra una coppia di nodi. Nelle reti a commutazione di circuito (circuit switching), comprendenti tipicamente le reti telefoniche, si ha una sessione di comunicazione tra due nodi che prevede una fase iniziale nella quale viene determinato un percorso che li colleghi e viene stabilita una connessione fisica tra sorgente e destinazione, detta appunto circuito. Durante tutta la successiva fase di trasferimento dati, questa connessione assicura il collegamento tra il nodo sorgente e quello destinazione e non può essere dedicata ad altre comunicazioni; solo nella fase di chiusura della sessione verrà poi rilasciata la linea. Tuttavia, attraverso l’utilizzo di tecniche particolari, dette di multiplazione, è possibile realizzare più canali di comunicazione attraverso un’unica linea, ma il principio di funzionamento rimane lo stesso (un esempio è l’uso del filtro adsl). Le reti a commutazione di pacchetto (packet switching) è invece nettamente diversa: la comunicazione tra due nodi non richiede di riservare alcuna risorsa fisica. Per trasmettere un messaggio, il nodo sorgente suddivide tale messaggio in pacchetti consecutivi di bit di dimensioni limitate e li invia alla rete; ciascun pacchetto contiene, oltre ad una parte del messaggio, un insieme di informazioni di controllo, tra le quali l’indirizzo del nodo destinazione. I singoli pacchetti vengono trattati separatamente; in particolare, ogni nodo intermedio della rete memorizza quelli in arrivo e li trasmette al nodo successivo, stabilito dall’indirizzo indicato nel pacchetto stesso, attraverso la relativa linea di comunicazione, nel momento in cui è libera. Rispetto alla commutazione di pacchetto, quella di circuito consente una trasmissione dei dati più regolare: una volta instaurata la connessione tra i due nodi, i dati giungono al destinatario nello stesso ordine in cui vengono spediti, con un ritardo costante. Con la commutazione di pacchetto, invece, i singoli pacchetti del messaggio possono seguire percorsi diversi e arrivare, quindi, a destinazione con un ordine differente da quello di partenza; inoltre il ritardo di ciascun pacchetto dipenderà dalle condizioni globali del traffico di rete.

Quest’ultima consente tuttavia un migliore sfruttamento delle risorse della rete. Specificatamente, infatti, la comunicazione tra due nodi avviene in modo discontinuo nel tempo, alternando periodi di attività in cui il flusso dei dati è massimo ad altri di inattività in cui è invece praticamente nullo. Ad esempio, nella navigazione web, l’utente può scaricare una pagina e trascorrere diverso tempo su di essa (senza impegnare alcuna risorsa di rete) prima di richiederne un’altra. Nella commutazione di circuito, invece, viene riservata una connessione per tutta la durata della comunicazione, a prescindere dal fatto che siano o no trasmessi dei dati. È da notare inoltre il fatto che, in caso di traffico elevato, con la commutazione di circuito si può avere una saturazione dei canali che impedisce la comunicazione, mentre con quella di pacchetto viene solo rallentata la consegna.

ESTENSIONE GEOGRAFICA Anche per quanto riguarda l’estensione geografica vengono individuate due principali categorie di reti di calcolatori:

le reti locali (LAN, Local Area Networks), ovvero reti private destinate a connettere nodi situati in uno stesso edificio o in un gruppo di edifici, con un’estensione al massimo di qualche chilometro;

le reti geografiche (WAN, Wide Area Networks), gestite da aziende di telecomunicazioni pubbliche o private, che si estendono su una vasta area geografica.

Esiste inoltre un’altra categoria intermedia tra le due precedenti, ovvero quella delle reti metropolitane (MAN, Metropolitan Area Networks) che consentono la connessione tra nodi distribuiti all’interno di un’area urbana, nel raggio di pochi chilometri. Le prime nominate, avendo dimensioni limitate, sono caratterizzate da prestazioni elevate ottenute con soluzioni relativamente economiche. Solitamente utilizzano la modalità di collegamento broadcast, la quale prevede, come spiegato precedentemente, un mezzo di comunicazione condiviso. Le reti locali sono generalmente caratterizzate da una topologia (la forma individuata dalle linee di comunicazione tra i nodi) abbastanza regolare, tra le quali:

la topologia a bus condiviso, caratterizzata da un’unica linea cui sono collegati tutti i nodi;

la topologia a stella, che prevede invece un nodo centrale attraverso il quale passano tutte le comunicazioni;

la topologia ad anello.

Mentre la topologia a bus condiviso può essere utilizzata solo nelle reti broadcast, quelle a stella e ad anello sono compatibili anche con la modalità di collegamento punto-a-punto. La scelta di una particolare topologia rispetto ad un’altra dipende da vari fattori, che riguardano sia la facilità di collegamento fisico (cablaggio) tra i calcolatori, sia la valutazione delle prestazioni. Attualmente la tecnologia fa uso dominante di reti a stella, che facilitano il cablaggio e ne favoriscono eventuali modifiche, in quanto per ogni nodo è sufficiente una sola linea che raggiunge il nodo centrale. Consentono inoltre di ottenere elevate prestazioni in virtù della significativa velocità operativa ottenibile per il nodo centrale con le moderne tecnologie.

Un discorso a parte riguarda le reti locali senza fili (wireless), in cui la comunicazione avviene attraverso un canale radio e non si può parlare pertanto di vera e propria topologia. In questo caso la modalità di collegamento utilizzata è necessariamente broadcast. La tipologia più diffusa di rete locale è regolata dallo standard Ethernet, che prevede l’utilizzo di una rete broadcast e l’adozione di un protocollo di accesso CSMA/CD (che vedremo più avanti). Uno dei vantaggi di questa rete è la semplicità con cui è possibile collegare o scollegare un calcolatore; in particolare, poiché il protocollo di accesso al mezzo è completamente distribuito, non è necessaria alcuna modifica agli altri nodi della rete. Le reti geografiche sono generalmente punto-a-punto e la loro topologia è irregolare, poiché, per ovvie ragioni, non seguono un progetto globale. Lo scenario più tipico su scala geografica è rappresentato dall’interconnessione di una molteplicità di reti, gestite da soggetti diversi e spesso basate su tecnologie differenti. Per distinguere una rete propriamente detta da un insieme di reti collegate fra loro, si utilizza nel

secondo caso il termine internet (da non confondere con la rete Internet, con la iniziale maiuscola, che verrà trattata successivamente). Una forma molto comune di internet è costituita da più reti locali connesse da una rete geografica. In questa i nodi dedicati allo smistamento dei pacchetti vengono generalmente chiamati router, mentre i calcolatori destinati agli utenti sono denominati

host. I router che consentono di collegare una rete locale ad una geografica vengono invece detti router di confine.

STRUTTURA A LIVELLI Il funzionamento di Internet è basato su una suite di protocolli Internet, ovvero un insieme di protocolli di rete, dove con questa espressione si intende la definizione formale e a priori delle modalità o del processo logico di comunicazione/interazione che due apparecchiature elettroniche, collegate tra loro, devono rispettare per operare particolari funzionalità di elaborazione. Lo standard adottato nella rete Internet è il modello TCP/IP, che prende il nome dai due più importanti protocolli in esso definiti: il Trasmission Control Protocol (TCP) e l’Internet Protocol (IP). Questa suite è organizzata in cinque livelli (che ora vedremo più approfonditamente uno alla volta), ognuno dei quali scambia unità dati differenti tra loro. livello unità dati

APPLICAZIONE

messaggio

TRASPORTO segmento

RETE datagramma

DATA LINK frame

FISICO Bit

Il livello più alto della pila (livello applicazione) comprende tutte le applicazioni che fanno uso della rete, alla quale accedono attraverso i servizi offerti dal sottostante livello di trasporto, il quale invece corrisponde tipicamente ad un modulo del sistema operativo specificamente dedicato alla gestione della rete. Il livello rete è anch’esso, di solito, parte del sistema operativo. I livelli inferiori della pila (data link e fisico) sono invece realizzati nella scheda di interfaccia verso la rete (NIC, Network Interface Card), detta anche interfaccia di rete o semplicemente scheda di rete. Essa è un dispositivo dotato di capacità di calcolo, comprendente una memoria ed un processore dedicato all’elaborazione dei segnali, attraverso il quale un calcolatore è collegato fisicamente alla rete.

LIVELLO FISICO Il servizio realizzato a livello fisico consiste nella trasmissione e ricezione di bit attrasverso una determinata linea di comunicazione. Il problema fondamentale affrontato a questo livello riguarda quindi le modalità di codifica dei dati in modo che questi possano essere effettivamente trasferiti attraverso uno specifico mezzo trasmissivo, che può essere costituito da un cavo coassiale (coaxial cable), un doppino di rame (TP, twisted pair), una fibra ottica (optical fiber) o da un canale radio (come nel caso dell’utilizzo di una rete wireless). La trasmissione attraverso una linea di comunicazione è caratterizzata essenzialmente da tre parametri: la velocità di trasmissione, il tasso di errore e il ritardo di propagazione, i quali dipendono ad esempio sia dalle caratteristiche fisiche della linea (quali ad esempio il mezzo utilizzato e la distanza sorgente-destinazione), sia dal protocollo di comunicazione, che a questo livello riguarda la codifica dei dati trasmessi, la frequenza di trasmissione e, in generale, la specifica delle interfacce. Un caso particolare, molto comune nell’accesso ad Internet da casa o da un piccolo ufficio, riguarda l’utilizzo della normale linea telefonica per coprire il tratto fra il calcolatore dell’utente e la centrale telefonica. Un dispositivo di livello fisico direttamente collegato al calcolatore, detto modem, effettua la conversione tra la modalità di codifica digitale adottata all’interno del calcolatore e quella richiesta dalla linea telefonica. In particolare, a seconda della codifica utilizzata dalla linea telefonica si possono ottenere prestazioni differenti, da alcune decine di Kbit/s fino a diversi Gbit/s offerti dalle moderne linee DSL (Digital Subscriber Line). A livello fisico, infine, si collocano gli hub (letteralmente “punto di snodo”) utilizzati pe collegare diversi elaboratori o diverse sottoreti fra loro. Si tratta di dispositivi relativamente semplici dotati di più interfacce di rete, che ritrasmettono i bit ricevuti da una linea su tutte le altre linee.

LIVELLO DATA LINK Il servizio realizzato dal livello data link consiste, essenzialmente, nel trasportare un datagramma, ovvero un’unità di dati del livello rete, tra due nodi direttamente collegati da una linea di comunicazione. Per fornire questo servizio possono essere adottati diversi protocolli di comunicazione; la scelta dipende sia dalle caratteristiche del mezzo trasmissivo (non è quindi del tutto indipendente dal livello fisico), sia dalla tipologia di servizio che si vuole realizzare. Inoltre, mentre alcuni protocolli gestiscono l’accesso ad una linea di comunicazione punto-a-punto, altri gestiscono l’accesso ad un canale broadcast che può essere condiviso da più nodi e per identificare i singoli nodi di questo canale è necessario che a ciascuno di essi sia associato un indirizzo univoco. Poiché un nodo accede fisicamente al canale attraverso una scheda di rete, a questo livello l’indirizzo viene propriamente attribuito alla scheda anziché al nodo. In particolare, ogni scheda di rete viene identificata mediante un indirizzo MAC (Media Access Control), ovvero un identificativo di 48 bit,

rappresentato come una sequenza di 6 gruppi di due caratteri esadecimali ciascuno, scritto permanentemente nella sua ROM. La realizzazione del servizio da parte del livello data link si articola nelle due seguenti attività:

quando il livello rete deve spedire un datagramma, lo affida al livello data link con l’indicazione dell’indirizzo MAC della scheda di rete di destinazione; viene quindi creato un pacchetto, chiamato frame, il cui contenuto include il datagramma e la cui intestazione comprende l’indirizzo MAC di destinazione e, successivamente, viene inviato il frame al livello fisico per la trasmissione;

quando il frame arriva alla scheda di rete, attraverso il livello fisico, il corrispondente livello data link verifica se l’indirizzo MAC di destinazione in esso contenuto corrisponde a quello della propria scheda di rete e, in caso positivo, ne estrae il datagramma originario eliminando l’intestazione e passandolo al livello rete.

Il protocollo del livello data link specifica la struttura dei frame e le azioni che devono essere intraprese all’invio e alla ricezione degli stessi, in modo da risolvere una serie di problemi derivanti dalle caratteristiche intrinseche del livello fisico. Nelle reti broadcast, il livello data link si occupa anche di gestire il problema dell’accesso multiplo, ovvero di coordinare l’accesso al mezzo condiviso da parte dei nodi che necessitano di effettuare una trasmissione nello stesso momento. Ogni nodo segue a tale scopo un determinato protocollo di accesso al mezzo che, a seconda del tipo di protocollo adottato, può consentire di evitare a priori le collisioni nell’accesso oppure prevedere che eventuali collisioni siano risolte successivamente alla loro occorrenza. A questa seconda categoria appartiene, ad esempio, il protocollo CSMA/CD (Carrier Sense Multiple Access with Collision Detection, letteralmente “accesso multiplo in grado di rilevare la portante con rilevazione di collisione”) che, come detto già prima, è adottato nella rete Ethernet. Questo protocollo prevede che ciascun nodo sia libero di effettuare una trasmissione ogni volta che trovi il canale libero. Tuttavia è possibile che si verifichi una collisione tra più nodi che decidono di trasmettere nello stesso intervallo di tempo; in questo caso, tutti i nodi collegati alla rete verranno coinvolti nella collisione e sono in grado di identificarla. Dopo che la collisione è rilevata, ogni nodo coinvolto attende un intervallo di tempo casuale prima di ritentare la trasmissione, minimizzando così la probabilità che più nodi accedano nuovamente al canale nello stesso momento. A livello data link si collocano gli switch ( “interruttore”), dispositivi che analogamente agli hub sono utilizzati per interconnettere diversi calcolatori o diverse sottoreti, ma che a differenza loro operano a livello dei frame anziché dei signoli bit.

LIVELLO RETE Mentre il livello data link trasferisce un datagramma tra due nodi direttamente connessi da una linea di comunicazione, il livello rete trasferisce un segmento (l’unità dati del protocollo di trasporto) da un host sorgente a un host destinazione, in generale connessi da un percorso che include più linee di comunicazione. La determinazione di un adeguato percorso e lo smistamento dei pacchetti lungo il percorso stesso sono a carico del livello rete che, in tal modo, maschera ai livelli superiori il problema dell’instradamento, ovvero il compito di determinare un corretto percorso nella rete fra il nodo sorgente e il nodo destinazione. Il servizio realizzato dal livello rete consiste quindi nel ricevere dal livello trasporto di un host un segmento con l’indicazione dell’indirizzo a cui spedirlo e far perciò pervenire al livello trasporto dell’host avente tale indirizzo il segmento ricevuto. A questo livello, i nodi della rete sono identificati tramite gli indirizzi IP (Internet Protocol) che, a differenza di quelli MAC destinati solo ad un’identificazione dei nodi a livello locale, permettono il riconoscimento a livello globale, ovvero nell’ambito dell’intera rete. Inoltre, sempre a differenza di quelli MAC, gli indirizzi IP non sono legati ad alcun componente hardware specifico del calcolatore. L’indirizzo IP è costituito da una stringa di 32 bit, costituita da 4 ottetti separati da un punto che, per facilità di rappresentazione, viene normalmente espressa in forma decimale puntata (es. 192.168.0.1).

Per rendere possibile nella pratica l’attività di instradamento dei pacchetti, gli indirizzi IP devono essere assegnati ai nodi della rete in modo organico. In particolare, gli indirizzi Host appartenenti ad una stessa rete locale e l’indirizzo dell’interfaccia di rete del router hanno i bit più significativi uguali; tali bit che identificano la rete locale costituiscono il prefisso di rete.

L’unicità degli indirizzi IP è assicurata da un’autorità centrale, alla quale devono essere richiesti tutti i nuovo indirizzi IP. In particolare, ogni volta che viene installata una nuova rete locale è necessario richiedere all’autorità centrale un nuovo insieme di indirizzi, identificati in un determinato prefisso di rete. Ad ogni host connesso alla rete locale viene quindi attribuito uno degli indirizzi di tale insieme, in grado di identificarlo nell’intera rete globale. Questa assegnazione può essere effettuata secondo due modalità alternative:

IP statico → l’indirizzo IP è assegnato ad un host in modo permanente, tipicamente mediante un’operazione manuale.

IP dinamico → un host, ogni volta che intende accedere alla rete, richiede un indirizzo IP ad una specifica applicazione disponibile nella rete locale, con la quale interagisce secondo il protocollo DHCP (Dynamic Host Configuration Protocol, letteralmente “protocollo di configurazione dinamica dell’host”). Questa applicazione, detta server DHCP, ha il compito di selezionare un indirizzo IP entro un insieme di indirizzi correntemente disponibili e di assegnarlo all’host che ne ha fatto richiesta.

LIVELLO TRASPORTO E LIVELLO APPLICAZIONE Il livello trasporto fornisce un servizio di comunicazione tra processi applicativi eseguiti su diversi host: più specificamente, attraverso questo livello un processo applicativo in esecuzione su un determinato host può spedire un messaggio (l’unità dati del livello applicazione) ad un ben identificato processo applicativo in esecuzione su un altro host. Condizione necessaria alla realizzazione del servizio offerto dal livello trasporto è la capacità di identificare univocamente ciascun processo applicativo. L’indirizzo IP, che identifica un singolo nodo della rete, non è sufficiente allo scopo, poiché su uno stesso calcolatore possono essere contemporaneamente in esecuzione più applicazioni che utilizzano la rete (ad esempio un browser e un programma di posta elettronica). L’identificazione dei processi applicativi viene effettuata mediante un numero di 16 bit, chiamato numero di porta di rete (port), assegnato dal livello trasporto ad ogni singolo processo che ne richiederà i servizi; in tal modo, ogni processo applicativo che utilizza la rete può essere identificato tramite la coppia indirizzo IP e numero di porta. Per accedere ai servizi del livello di trasporto, un processo applicativo deve richiedere la creazione di un canale di comunicazione, denominato socket, al quale viene assegnato un determinato numero di porta di rete; una volta creato, esso rappresenta per il processo il punto di accesso alla rete, attrverso cui spedire e ricevere messaggi. Il livello più alto della pila TCP/IP include le applicazioni in rete, che si differenziano dalle applicazioni generiche per la caratteristica distintiva di essere distribuite tra più host. Un aspetto fondamentale della progettazione delle applicazioni in rete è, pertanto, il protocollo di comunicazione da esse adottato, che fissa la tipologia, la struttura ed il significato dei messaggi scambiati e determina le regole secondo cui un processo invia messaggi e risponde ai messaggi ricevuti.

La compatibilità tra le svariate applicazioni in rete oggi disponibili è favorita dall’esistenza di protocolli di comunicazione di dominio pubblico. Un esempio è costituito dal protocollo HTTP che riguarda la comunicazione tra un web server e un web browser; se un browser è sviluppato seguendo le specifiche del protocollo standard HTTP esso sarà in grado di interagire con tutti i web server che adottano il medesimo protocollo.

ORGANIZZAZIONE DELLA RETE INTERNET Internet è un sistema di reti di calcolatori interconnesse, pubblicamente accessibili, che scambiano dati utilizzando protocolli di comunicazione condivisi. La caratteristica più evidente di Internet è la sua enorme diffusione di livello mondiale: Internet include migliaia di reti governative, accademiche, aziendali, fino ai singoli calcolatori personali. Oltre ai servizi di base destinati a garantire l’interconnessione ed il trasporto dei messaggi fra i nodi, Internet fornisce un ampio insieme di servizi applicativi, come la posta elettronica, l’accesso a informazioni ipertestuali, il trasferimento di file, la messaggistica in linea, la comunicazione vocale, la videoconferenza, la diffusione di programmi radio e televisivi e molto altro ancora. Come già visto nel capitolo riguardante la sua storia, la rete Internet non si è sviluppata secondo un progetto organico gestito da un’autorità centrale, ma è piuttosto il prodotto della progressiva e spontanea aggregazione di sottoreti, in accordo ad un insieme di protocolli di comunicazione condivisi e pubblicamente disponibili. Dal punto di vista della topologia, Internet è una rete estremamente complessa. Globablmente, è composta dall’interconnessione di più sistemi autonomi, ognuno controllato da una determinata autorità amministrativa e interconnessi tra loro tramite punti di scambio (IXP, Internet Exchange Point). La connessione ad un sistema autonomo da parte di una rete locale privata o di un calcolatore personale avviene attraverso un punto di accesso (AP, Access Point).

LIVELLI TRASPORTO, RETE E APPLICAZIONE Da un punto di vista strettamente tecnico, Internet è semplicemente un sistema di reti di calcolatori interconnesse, organizzate in accordo ad un’architettura di protocolli di comunicazione detta Internet Protocol Suite. In particolare, tale architettura definisce i livelli trasporto e rete assumendo, per il primo, l’utilizzo del protocollo TCP e per il secondo quello IP, mentre per i livelli sottostanti non impone alcun vincolo specifico. Oltre a questi due, che riguardano in senso stretto i servizi di connessione tra host, Internet supporta un insieme di protocolli di livello applicazione attraverso i quali vengono realizzati molteplici servizi Internet orientati all’utenza. A prescindere dalle specifiche differenze, la quasi totalità dei servizi Internet condivide un modello di interazione detto client-server, che regola le modalità con cui i componenti coinvolti interagiscono tra loro. Questo modello si basa sulla semplice distinzione fra il sistema che utilizza un determinato servizio in qualità di cliente ed un altro che gli fa da fornitore. Più specificamente, è previsto che i due sistemi interagiscano secondo un protocollo gerarchico, dove il client ha un ruolo attivo mentre il server passivo: il primo invia all’altro sistema una richiesta ed attende che essa venga soddisfatta; il secondo attende la richiesta dal client e, al suo arrivo, invia una risposta.

La distinzione tra client e server si riflette, per i nodi e i programmi, sulle modalità con cui vengono loro assegnati rispettivamente gli indirizzi IP ed i numeri di porta. In particolare, i nodi client dispongono generalmente di indirizzi IP dinamici, mentre quelli server, dovendo essere costantemente rintracciabili da parte dei client, sono identificati da indirizzi IP statici. Per ragioni simili, mentre ai programmi client viene tipicamente assegnato un numero di porta dinamico, i programmi server utilizzano generalmente una porta dedicata allo specifico servizio da essi realizzato. In particolare, ad ogni protocollo standard di livello applicazione è associato, per convenzione, un determinato numero di porta. Numero di porta Protocollo

20-21

FTP

25 SMTP

53 DNS

80 HTTP

110 POP3

143 IMAP4

443 HTTPS

GESTIONE DEGLI INDIRIZZI Gli indirizzi IP consentono di identificare i nodi della rete a livello globale, tuttavia essendo numerici risultano difficili da ricordare e gestire per gli utenti, i quali preferiscono disporre di indirizzi simbolici caratterizzati da un evidente significato mnemonico. È stato perciò creato un sistema di gestione degli indirizzi denominato DNS (Domain Name System). Tale sistema prevede che lo spazio dei possibili indirizzi simbolici, detti indirizzi DNS, sia suddiviso in domini organizzati in modo gerarchico secondo una struttura ad albero, alla cui radice vi è un unico dominio, detto root domain (dominio radice). Un indirizzo DNS risulta quindi costruito da una sequenza di stringhe di caratteri alfabetici e numerici, dette etichette (label), separate da punti: ogni etichetta corrisponde al nome di un dominio e, da destra verso sinistra, esse identificano domini di livello progressivamente più basso in modo da specificare ulteriormente la localizzazione del nodo sulla rete (per esempio it.wikipedia.org). La realizzazione del servizio di risoluzione dei nomi, ovvero la determinazione dell’indirizzo IP corrispondente ad un dato indirizzo DNS, è effettuato mediante un insieme distribuito di server, detti server DNS e costituisce un esempio di applicazione su scala geografica del paradigma client-server. Essenzialmente, ogni server DNS è in grado di accettare richieste di traduzione di indirizzi DNS e di restituire i corrispondenti indirizzi IP. In generale, un server DNS non conosce gli indirizzi IP dell’intero spazio dei nomi simbolici, tuttavia, per risolvere quelli che non è in grado di tradurre direttamente, può assumere il ruolo di client e inviare richieste di traduzione ad altri server DNS.

LA POSTA ELETTRONICA Il servizio di posta elettronica consente, nella sua forma base, di spedire e ricevere messaggi di testo costituiti da sequenze di caratteri ASCII. Gli utenti di questo servizio vengono identificati da indirizzi del tipo nome-utente@nome-dominio, in cui nome-dominio rappresenta un dominio nell’albero degli indirizzi DNS e nome-utente invece un determinato utente all’interno di quel dominio. Per accedere alla

posta elettronica, l’utente utilizza uno specifico programma, detto client di posta, attraverso il quale può leggere i messaggi ricevuti e comporne di nuovi da inviare ad altri utenti. Naturalmente, il servizio di posta elettronica consente ad un utente di inviare un messaggio anche quando il client del destinatario non è attivo. A questo scopo, il trasferimento dei messaggi viene realizzato da applicazioni costantemente attive e disponibili nella rete, dette server di trasferimento, in grado di memorizzare i messaggi. In particolare, ad ogni dominio di posta è associato un server di trasferimento, il quale dispone di una casella di posta per ciascun utente del dominio, ovvero una struttura dati nella quale vengono memorizzati tutti i messaggi in arrivo a lui destinati. Questo server consente ad un’applicazione client di spedire messaggi di posta utilizzando il protocollo SMTP (Simple Mail Transfer Protocol), attraverso una connessione sulla prestabilita porta 25; per questo motivo il server di trasferimento è detto anche server SMTP. La procedura di spedizione di un messaggio comprende i seguenti passi fondamentali:

una volta composto il messaggio sul client di posta, il client si connette al server di trasferimento, il cui indirizzo deve essere stato esplicitamente fornito dall’utente, e gli trasmette il messaggio utilizzando il protocollo SMTP;

il server si connette al server di trasferimento del dominio di destinazione, il cui indirizzo simbolico viene ottenuto attraverso il server DNS locale e gli trasmette il messaggio utilizzando il protocollo SMTP;

il server di trasferimento del dominio di destinazione riconosce che il dominio specificato nell’indirizzo coincide con il proprio e memorizza quindi il messaggio nella casella di posta del destinatario.

Se il server SMTP utilizzato dal mittente non riesce per qualche ragione a connettersi con il server del dominio del destinatario, deposita temporaneamente il messaggio in un’apposita coda e riprova periodicamente ad effettuare l’invio; se alla scadenza di un tempo limite la spedizione non è stata possibile, di norma il server restituisce all’utente la posta non spedita. Una volta a destinazione e memorizzato nella casella di posta appropriata, il messaggio può essere reperito dal client del destinatario attraverso l’accesso ad un server per la consegna all’utente finale. L’accesso al proprio server per la consegna può avvenire secondo il protocollo POP3 (Post Office Protocol) sulla porta 110 o, in alternativa, con funzionalità leggermente differenti, utilizzando il protocollo IMAP (Internet Mail Access Protocol) sulla porta 143.

IL WORLD WIDE WEB Il World Wide Web, o semplicemente web, dal punto di vista dell’utente, è uno spazio informativo virtuale in cui gli oggetti di interesse, generalmente detti risorse (resource), sono distribuiti nei nodi della rete Internet. Le risorse disponibili sul web sono pagine web, ovvero pagine costituite da testo,

immagini e materiali multimediali, tipicamente scritte in uno specifico linguaggio chiamato HTML (HyperText Markup Language). Le pagine web vengono rese disponibili in rete da specifiche applicazioni server, dette web server, e possono essere individuate e localizzate nella rete mediante particolari identificatori detti URL (Universal Resource Locator). Gli utenti accedono alle pagine web e le visualizzano utilizzando web browser, ovvero applicazioni client in grado di interagire con i web server secondo il protocollo HTTP (HyperText Transfer Protocol) e di interpretare il linguaggio HTML.

Gli URL identificatori, chiamati anche indirizzi web (web address), hanno la seguente struttura: protocollo://server/risorsa

dove vengono definiti:

il protocollo (di livello applicazione) tramite il quale la risorsa è accessibile (tipicamente si tratta dell’ HTTP);

il server sul quale è disponibile la risorsa;

la risorsa stessa, che tipicamente viene definita dal nome completo (pathname) del file contenente la pagina web cui si desidera accedere, specificato a partire da un direttorio prestabilito attraverso livelli gerarchici decrescenti separati dal simbolo “/”.

Ad esempio, l’URL http://www.youtube.com/watch?v=nVkyzEsKr4k specifica le seguenti informazioni: protocollo http server www.youtube.com risorsa watch?v=nVkyzEsKr4k

IL TRASFERIMENTO DI FILE Un file può essere scambiato tramite Internet in diversi modi. Innanzitutto può essere spedito come allegato mediante la posta elettronica. Tuttavia, la trasmissione di file di dimensioni elevate è sconsigliata con questa modalità, in quanto appesantisce un servizio che non è stato progettato specificamente per questo scopo. In alternativa, un file può essere posto in un’opportuna area di memoria di un server, dal quale può essere reperito utilizzando il protocollo FTP (File Transfer Protocol). Per questo scopo, sul sistema server deve essere in esecuzione un’applicazione FTP server e sul sistema utente un’applicazione FTP client; interagendo con il server attraverso il protocollo FTP, il client può scaricare (download) file presenti sul server e caricare (upload) sul server file che poi altri utenti potranno a loro volta eventualmente scaricare. Questo protocollo può essere utilizzato tramite il web browser, specificando nel campo URL riservato al protocollo l’indicazione ftp, anziché l’usuale http. Negli ultimi anni, si è anche assai diffusa un’altra modalità per lo scambio di file sulla rete Internet, basato su un modello di interazione alternativo rispetto all’usuale client-server che viene comunemente chiamato peer-to-peer (P2P, letteralmente “pari a pari”). In esso si ha una connessione diretta fra i sistemi coinvolti nello scambio e, almeno in linea di principio, elimina la rigida distinzione tra applicazioni “server” e “client”, che contraddistingue la modalità usuale di realizzazione di servizi Internet.

Ciascuno dei due sistemi può sia richiedere che fornire servizi, interagendo con l’altro sistema come se fosse al suo stesso livello.

Nella versione più radicale del modello (peer-to-peer puro) non ci sono server centralizzati per gestire lo scambio di file e i nodi coinvolti nel trasferimento possono interagire in modo del tutto autonomo. In una versione più articolata (peer-to-peer ibrido) è invece previsto un server centrale che gestisce le informazioni sui nodi attivi ed eventualmente sui file che essi mettono a disposizione. I vantaggi che il P2P consente di ottenere sono molteplici. Prima di tutto, dato che tutti i nodi forniscono risorse alla rete (capacità trasmissiva, spazio di memoria, potenza di calcolo), le prestazioni globali della rete crescono con l’aumentare del numero di nodi connessi, al contrario di quanto avviene nel modello client-server, dove l’aggiunta di nuovi client appesantisce sia il funzionamento della rete che il carico di lavoro dei server. In più, la natura distribuita del modello aumenta la robustezza della rete, in quanto i file di interesse sono in genere replicati su un elevato numero di nodi. Per rendere operativa una rete peer-to-peer (ibrida) è ovviamente necessario un software specifico, sia sul lato server sia sui singoli nodi. Sono ormai diffusissimi in rete tanti di questi tipi di programmi, come per esempio Gnutella, Napster, BitTorrent e molti altri. Va infine ricordato che la distribuzione di file tramite la rete Internet è un’attività assolutamente lecita, purchè avvenga nel rispetto delle norme che regolano il diritto d’autore. Ad esempio, lo scambio di software liberi e di opere non protette da copyright è del tutto legale; tuttavia la maggior parte dei file distribuiti tramite P2P sono file musicali e filmati aventi diritti d’autore e si ha quindi un’aperta violazione delle leggi sul copyright. Rispetto ad una rete client-server, in cui i server e i loro gestori sono facilmente identificabili, in una rete peer-to-peer è però molto più difficile identificare e sanzionare i singoli nodi responsabili di violazioni.

BIBLIOGRAFIA

I giorni e le idee Vol.3B, SEI Feltri F.M. e altri

Parlare di Storia 3, Edizioni scolastiche Bruno Mondadori Fossati M. e altri

La vera storia di Internet, Apogeonline Gubitosa C.

Fondamenti di Informatica, FrancoAngeli Guida G, Giacomin M

ECDL il manuale, Apogeo

WEBGRAFIA

Wikipedia http://it.wikipedia.org/

Il progresso tecnologico https://sites.google.com/site/ilprogressotecnologico/

Internet http://internetstoria.altervista.org/index.htm

Il TCP/IP e la trasmissione http://digilander.libero.it/tcp/

dati su Internet