
Schema della rete informatica ARPA di giugno 1967. Cerchio vuoto – computer con accesso condiviso, cerchio con linea – terminale per un singolo utente
Altri articoli del ciclo:
- Storia del relè
- Storia dei computer elettronici
- Storia del transistor
- Storia di Internet
Entro la fine del 1966 con i fondi ARPA avviò il progetto di collegamento di molti computer in un unico sistema, ispirato all'idea di "» .
La responsabilità per l'esecuzione del progetto fu trasferita a mani esperte . Nell'anno successivo, Roberts prese diverse decisioni critiche che si sarebbero fatte sentire nell'architettura tecnica e nella cultura di ARPANET e dei suoi successori, in alcuni casi – anche per diversi decenni. La prima decisione per importanza, anche se non per cronologia, fu la definizione del meccanismo di instradamento dei messaggi da un computer all'altro.
Problema
Se il computer A vuole inviare un messaggio al computer B, come può il messaggio trovare il percorso da uno all'altro? In teoria, si potrebbe permettere a ciascun nodo della rete di comunicare con tutti gli altri, collegando fisicamente ciascun nodo a ciascun altro. Per comunicare con B, il computer A invierebbe semplicemente il messaggio attraverso il cavo di uscita che lo collega a B. Questa rete è chiamata completamente connessa. Tuttavia, con qualsiasi dimensione significativa della rete, questo approccio diventa rapidamente impraticabile, poiché il numero di connessioni cresce come il quadrato del numero di nodi (per essere precisi, come (n^2 - n) / 2).
Pertanto, è necessario un modo per costruire un percorso per il messaggio, che, all'arrivo del messaggio a un nodo intermedio, lo invii ulteriormente verso la destinazione. All'inizio degli anni '60 erano noti due approcci di base per risolvere questo problema. Il primo – il metodo di commutazione dei messaggi tramite "memorizzazione e inoltro". Questo approccio veniva utilizzato dal sistema telegrafico. Quando un messaggio arrivava a un nodo intermedio, veniva temporaneamente conservato lì (di solito sotto forma di nastro cartaceo), finché non si presentava l'opportunità di inviarlo ulteriormente verso la destinazione o a un altro centro intermedio più vicino alla meta.
Poi è arrivato il telefono, e si è reso necessario un nuovo approccio. Un ritardo di pochi minuti dopo ogni affermazione fatta al telefono, che doveva essere decifrata e inoltrata a destinazione, avrebbe dato l'impressione di parlare con qualcuno su Marte. Invece, il telefono utilizzava la commutazione dei circuiti. Chi chiamava iniziava ogni chiamata inviando un messaggio speciale che indicava a chi voleva telefonare. Inizialmente, questo avveniva parlando con l'operatore, e poi digitando il numero, elaborato da attrezzature automatiche nel centralino. L'operatore o l'attrezzatura stabilivano una connessione elettrica dedicata tra il chiamante e il destinatario. Nei casi di chiamate interurbane, potrebbero essere necessarie diverse iterazioni per connettere la chiamata attraverso vari centralini. Una volta stabilito il collegamento, la conversazione poteva iniziare e rimaneva attiva finché una delle parti non interrompeva il collegamento, riattaccando il ricevitore.
La comunicazione digitale, che è stata scelta per l'ARPANET per collegare computer operanti secondo lo schema , combinava caratteristiche sia del telegrafo che del telefono. Da un lato, i messaggi di dati venivano trasmessi in pacchetti separati, come nel telegrafo, e non come conversazioni continue al telefono. Tuttavia, questi messaggi potevano avere dimensioni diverse per scopi diversi, da comandi della console lunghi solo pochi caratteri a grandi file di dati trasferiti da un computer all'altro. Se i file subivano ritardi durante il percorso, nessuno si lamentava. Ma l'interattività remota richiederebbe una reazione rapida, proprio come in una telefonata.
Una differenza importante tra le reti informatiche da un lato e il telefono con il telegrafo dall'altro era la sensibilità agli errori nei dati elaborati dalle macchine. Una modifica o la perdita durante la trasmissione di un simbolo in un telegramma, o la scomparsa di una parte di una parola in una conversazione telefonica, avrebbero probabilmente avuto scarso impatto sulla comunicazione tra due persone. Ma se il rumore sulla linea modificava un singolo bit da 0 a 1 in un comando inviato a un computer remoto, questo poteva cambiare completamente il significato del comando. Pertanto, ogni messaggio doveva essere controllato per errori e inviato nuovamente in caso di rilevamento. Tali ripetizioni sarebbero state troppo costose per i messaggi di grandi dimensioni, e la probabilità di errori in essi era maggiore, poiché venivano trasmessi per un periodo più lungo.
La soluzione a questo problema è arrivata grazie a due eventi indipendenti, accaduti nel 1960, ma quello che è arrivato successivamente è stato notato per primo da Larry Roberts e ARPA.
Riunione
Nell'autunno del 1967, Roberts arrivò a Gatlinburg, Tennessee, dalle foreste delle Great Smoky Mountains, per consegnare un documento che raccontava i piani di ARPA per l'implementazione della rete. Lavorava già da quasi un anno nell'ufficio per le tecnologie dell'elaborazione delle informazioni (Information Processing Technology Office, IPTO), ma molti dettagli del progetto di rete erano ancora piuttosto vaghi, compresa la soluzione al problema della routing. Oltre a vaghe menzioni di blocchi e delle loro dimensioni, l'unico riferimento a questo nel lavoro di Roberts era una breve e evasiva osservazione alla fine: "Sembra necessario mantenere la linea di comunicazione utilizzata periodicamente per ricevere risposte in un intervallo da un decimo a un secondo, necessario per il lavoro interattivo. Questo è molto costoso in termini di risorse di rete, e se non avremo modo di chiamare più rapidamente, il commutazione dei messaggi e la concentrazione diventeranno molto importanti per i partecipanti alla rete." È evidente che a quel punto Roberts non aveva ancora deciso se abbandonare l'approccio che aveva utilizzato insieme a Tom Marill nel 1965, ossia la connessione dei computer tramite una rete telefonica commutata mediante selezione automatica.
Per coincidenza, allo stesso simposio era presente anche un'altra persona, con un'idea di risoluzione dei problemi di instradamento nelle reti di dati molto meglio elaborata. Roger Scantlebury ha attraversato l'Atlantico, arrivando dal British National Physical Laboratory (NPL) con una relazione. Scantlebury ha portato Roberts da parte dopo la sua presentazione e gli ha parlato della sua idea . Questa tecnologia è stata sviluppata dal suo supervisore al NPL, Donald Davies. Negli Stati Uniti, i successi e la storia di Davies sono noti poco, anche se nell'autunno del 1967 il gruppo di Davies al NPL era, per almeno un anno, avanti rispetto all'ARPA con le sue idee.
Davies, come molti dei primi pionieri dei computer elettronici, era un fisico di formazione. Si è laureato all'Imperial College di Londra nel 1943 a 19 anni, e fu subito arruolato in un programma segreto per lo sviluppo di armi nucleari con il nome in codice . Là ha guidato un gruppo di calcolatori che utilizzavano calcolatrici meccaniche ed elettriche per fornire rapidamente soluzioni numeriche a problemi relativi alla sintesi nucleare (il suo supervisore era , un fisico tedesco in esilio, che a quel tempo aveva già iniziato a trasmettere segreti sulle armi nucleari all'URSS). Dopo la guerra, sentì dal matematico John Womersley riguardo a un progetto che stava guidando al NPL: si trattava di sviluppare un computer elettronico che avrebbe dovuto eseguire gli stessi calcoli con una velocità molto maggiore. fu chiamato ACE, "macchina per calcoli automatici".
Davis si è afferrato a questa idea e si è unito al NPL il più rapidamente possibile. Contribuendo a un progetto dettagliato e alla creazione del computer ACE, è rimasto profondamente coinvolto nel campo delle macchine computazionali come leader della ricerca presso il NPL. Nel 1965, si trovava negli Stati Uniti per un incontro professionale legato al suo lavoro e ha colto l'opportunità per visitare alcuni dei principali centri informatici a tempo condiviso, per vedere di cosa si trattasse. Nell'ambiente computazionale britannico, il concetto di tempo condiviso nel senso americano di utilizzo interattivo simultaneo di un computer da parte di più utenti non era noto. Invece, per loro, il tempo condiviso significava distribuire il carico di lavoro del computer tra diversi programmi di elaborazione batch (in modo che, ad esempio, un programma potesse funzionare mentre un altro era occupato a leggere da un nastro). Questo approccio sarà poi chiamato multiprogrammazione.
Le peregrinazioni di Davis lo hanno portato al Project MAC al MIT, al JOSS Project della RAND Corporation in California e al sistema di tempo condiviso di Dartmouth nel New Hampshire. Sulla strada di ritorno, uno dei suoi colleghi ha suggerito di tenere un seminario sul time-sharing per informare la comunità britannica sulle nuove tecnologie apprese negli Stati Uniti. Davis ha accettato e ha ospitato molte figure di spicco del settore informatico americano, tra cui (il creatore del 'sistema compatibile di time-sharing' al MIT) e lo stesso Larry Roberts.
Durante il seminario (o forse subito dopo), l'idea che ha colpito Davis è stata quella che la filosofia della commutazione del tempo potesse essere applicata anche alle linee di comunicazione dei computer, e non solo ai computer stessi. I computer con commutazione del tempo offrono a ogni utente uno spicchio di tempo di elaborazione, per poi passare a un altro, creando per ciascun utente l'illusione di avere un proprio computer interattivo. Allo stesso modo, dividendo ogni messaggio in pezzi di dimensioni standard, che Davis ha chiamato "pacchetti", un canale di comunicazione può essere condiviso tra molti computer o utenti di un singolo computer. Inoltre, questo risolverebbe tutti gli aspetti della trasmissione dei dati, per i quali i commutatori telefonici e telegrafici erano poco adatti. Un utente che lavora con un terminale interattivo, inviando comandi brevi e ricevendo risposte brevi, non sarà bloccato dalla trasmissione di un grande file, poiché questa sarà suddivisa in molti pacchetti. Qualsiasi danno a tali messaggi di grandi dimensioni riguarderà un singolo pacchetto, che può essere facilmente inviato di nuovo per completare il messaggio.
Davis ha descritto le sue idee in un documento non pubblicato del 1966, "Proposta per una rete di comunicazione digitale". In quel momento, le reti telefoniche più avanzate erano sul punto di computerizzare i commutatori, e Davis propose di integrare la commutazione dei pacchetti nella rete telefonica di nuova generazione, creando un'unica rete di comunicazione ad alta capacità in grado di servire diverse richieste, da semplici chiamate telefoniche all'accesso remoto ai computer. A quel tempo, Davis era stato promosso a responsabile della NPL e aveva formato un gruppo di comunicazione digitale sotto la direzione di Scantlebury per realizzare il suo progetto e creare una dimostrazione funzionante.
Nell'anno precedente alla conferenza a Gatlinburg, il team di Scantlbury ha lavorato su tutti i dettagli per creare una rete a commutazione di pacchetto. Il guasto di un nodo poteva essere gestito tramite instradamento adattivo, in grado di lavorare con più percorsi verso la destinazione, mentre il guasto di un singolo pacchetto poteva essere risolto con la sua ritrasmissione. La simulazione e l'analisi suggerivano che la dimensione ottimale del pacchetto sarebbe stata di 1000 byte: se fosse stata troppo piccola, il costo di banda delle linee per i metadati nell'intestazione sarebbe stato troppo elevato; se fosse stata troppo grande, il tempo di risposta per gli utenti interattivi sarebbe aumentato troppo spesso a causa dei messaggi di grandi dimensioni.

Il lavoro di Scantlbury includeva dettagli come il formato del pacchetto…

…e l'analisi dell'impatto delle dimensioni del pacchetto sulle latenze di rete.
Nel frattempo, le ricerche di Davis e Scantlbury hanno portato alla scoperta di dettagli di ricerche approfondite condotte da un altro americano, che aveva avuto un'idea simile alcuni anni prima di loro. Ma nel frattempo , ingegnere elettrico della RAND Corporation, non pensava affatto alle esigenze degli utenti di computer con time sharing. RAND era un centro di analisi che lavorava con fondi del Dipartimento della Difesa degli Stati Uniti a Santa Monica, California, fondato dopo la Seconda guerra mondiale per la pianificazione a lungo termine e l'analisi di problemi strategici per le esigenze militari. L'obiettivo di Baran era quello di prevenire una guerra nucleare, creando una rete di comunicazione militare estremamente affidabile, capace di resistere anche a un attacco nucleare su larga scala. Una rete di questo tipo avrebbe reso un attacco preventivo da parte dell'URSS meno attraente, poiché sarebbe stato molto difficile distruggere la capacità degli Stati Uniti di rispondere a più punti sensibili. A tal fine, Baran propose un sistema che dividesse i messaggi in ciò che chiamò blocchi di messaggi, che potessero essere trasmessi indipendentemente attraverso una rete di nodi di comunicazione con una quantità ridondante di connessioni, e poi ricomposti nel punto finale.
ARPA aveva accesso a rapporti dettagliati di Behrang per il RAND, tuttavia poiché non erano collegati a computer interattivi, la loro importanza per ARPANET non era evidente. Roberts e Taylor, a quanto pare, non se ne accorsero. Invece, grazie a un incontro casuale, Scantlebury presentò tutto a Roberts su un piatto d'argento: un meccanismo di commutazione ben progettato, l'applicabilità al compito di creare reti di computer interattivi, materiali di riferimento dal RAND e persino il nome "pacchetto". Il lavoro di NPL convinse anche Roberts che per garantire una buona capacità di rete sarebbero state necessarie velocità più elevate, quindi aggiornò i suoi piani a linee di comunicazione a 50 Kbit/s. La parte fondamentale del problema del routing per la creazione dell'ARPANET era stata risolta.
Tuttavia, c'è anche un'altra versione dell'emergere dell'idea della commutazione dei pacchetti. In seguito, Roberts affermò di avere già tali pensieri in mente, grazie al lavoro del suo collega, Len Kleinrock, che avrebbe descritto questo concetto già nel 1962 nella sua tesi di dottorato sulle reti di comunicazione. Tuttavia, è incredibilmente difficile estrapolare un'idea simile da questo lavoro e, inoltre, non sono riuscito a trovare nessun'altra conferma di questa versione.
Reti che non c'erano
Come possiamo vedere, ben due team hanno preceduto l'ARPA nello sviluppo della commutazione dei pacchetti, una tecnologia che si è rivelata così efficace da costituire oggi la base di praticamente tutte le comunicazioni. Perché allora ARPANET è diventata la prima rete significativa a utilizzarla?
Tutto sta nelle sottigliezze organizzative. ARPA non aveva un permesso ufficiale per creare una rete di comunicazione, ma c'erano già molti centri di ricerca con i propri computer, una cultura di moralità "libere" che praticamente nessuno sorvegliava e una montagna di soldi. La richiesta iniziale di Taylor del 1966 per i fondi per la creazione dell'ARPANET indicava la cifra di 1 milione di dollari, e Roberts continuava a spendere quella stessa cifra ogni anno dal 1969 in poi per creare e gestire questa rete. Per ARPA queste somme erano piccole, quindi nessuno dei suoi superiori si preoccupava di cosa facesse Roberts con esse, finché si poteva in qualche modo collegare a esigenze di difesa nazionale.
A Beran in RAND non c'erano né opportunità né autorità per fare qualcosa. Il suo lavoro era puramente di ricerca e analisi, e poteva essere applicato alla difesa se necessario. Nel 1965, RAND raccomandò davvero il suo sistema all'Air Force, e questi concordarono sulla fattibilità del progetto. Ma la sua realizzazione ricadde sulle spalle dell'agenzia di comunicazioni difensive, che non era particolarmente esperta in comunicazione digitale. Beran convinse i vertici di RAND che era meglio ritirare questa proposta piuttosto che permettere di realizzarla in modo qualunque e compromettere la reputazione della comunicazione digitale distribuita.
Davis, come direttore del NPL, aveva un potere decisamente maggiore rispetto a Beran, ma un budget più limitato rispetto all'ARPA, e non disponeva di una rete sociale e tecnica già pronta costituita da computer di ricerca. Riuscì a creare un prototipo di rete locale a commutazione di pacchetti (c'era solo un nodo, ma molti terminali) al NPL alla fine degli anni '60, con un modesto budget di 120.000 sterline in tre anni. L'ARPANET spendeva circa la metà di questa cifra annualmente per funzionamento e manutenzione su ciascuno dei numerosi nodi della rete, escluse le spese iniziali per hardware e software. L'organizzazione in grado di creare una rete britannica su larga scala a commutazione di pacchetti era la British Post, che gestiva le reti di telecomunicazioni nel paese, oltre alla corrispondenza postale. Davis riuscì a interessare alcuni funzionari influenti con le sue idee su una rete digitale integrata a livello nazionale, ma non poteva cambiare direzione a un sistema così vasto.
Licklider, combinando fortuna e pianificazione, trovò una magnifica serra in cui la sua rete intergalattica potesse fiorire. Non si può affermare che tutto, tranne la commutazione di pacchetti, fosse limitato dai soldi. Anche l'esecuzione dell'idea giocava un ruolo. Inoltre, lo spirito dell'ARPANET fu definito anche da alcune altre importanti decisioni in fase di progettazione. Pertanto, esamineremo ora come le responsabilità furono distribuite tra i computer che inviavano e ricevevano messaggi, e la rete attraverso la quale questi messaggi venivano inviati.
Cosa leggere ancora
- Janet Abbate, Inventing the Internet (1999)
- Katie Hafner e Matthew Lyon, Where Wizards Stay Up Late (1996)
- Leonard Kleinrock, “An Early History of the Internet,” IEEE Communications Magazine (Agosto 2010)
- Arthur Norberg e Julie O’Neill, Transforming Computer Technology: Information Processing for the Pentagon, 1962-1986 (1996)
- M. Mitchell Waldrop, The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal (2001)
Fonte: habr.com
