Cronologia di Internet: ARPANET - Pacchetto

Cronologia di Internet: ARPANET - Pacchetto
Diagramma della rete di computer ARPA per il giugno 1967. Un cerchio vuoto è un computer con accesso condiviso, un cerchio con una linea è un terminale per un utente

Altri articoli della serie:

Entro la fine del 1966 Robert Taylor con i soldi dell’ARPA, lanciò un progetto per connettere molti computer in un unico sistema, ispirato dall’idea “rete intergalattica» Joseph Carl Robnet Licklider.

Taylor trasferì la responsabilità dell'esecuzione del progetto in mani capaci Larry Roberts. Nell'anno successivo, Roberts prese diverse decisioni cruciali che si sarebbero ripercosse nell'architettura tecnica e nella cultura di ARPANET e dei suoi successori, in alcuni casi per decenni a venire. La prima decisione per importanza, anche se non in ordine cronologico, fu la determinazione di un meccanismo per instradare i messaggi da un computer all'altro.

Problema

Se il computer A vuole inviare un messaggio al computer B, come può quel messaggio passare dall'uno all'altro? In teoria, potresti consentire a ogni nodo di una rete di comunicazione di comunicare con ogni altro nodo collegando ogni nodo a ogni nodo con cavi fisici. Per comunicare con B, il computer A invierà semplicemente un messaggio lungo il cavo in uscita che lo collega a B. Tale rete è chiamata rete mesh. Tuttavia, per qualsiasi dimensione di rete significativa, questo approccio diventa rapidamente poco pratico poiché il numero di connessioni aumenta con il quadrato del numero di nodi (come (n2 - n)/2 per essere precisi).

Pertanto, è necessario un modo per costruire un percorso del messaggio che, all'arrivo del messaggio al nodo intermedio, lo invii ulteriormente al destinatario. Agli inizi degli anni ’1960 esistevano due approcci fondamentali per risolvere questo problema. Il primo è il metodo store-and-forward per la commutazione dei messaggi. Questo approccio è stato utilizzato dal sistema telegrafico. Quando un messaggio arrivava a un nodo intermedio, veniva temporaneamente memorizzato lì (di solito sotto forma di nastro di carta) fino a quando non poteva essere trasmesso ulteriormente al bersaglio o ad un altro centro intermedio situato più vicino al bersaglio.

Poi è arrivato il telefono ed è stato necessario un nuovo approccio. Un ritardo di diversi minuti dopo ogni frase telefonica, che doveva essere decifrata e trasmessa a destinazione, darebbe la sensazione di una conversazione con un interlocutore situato su Marte. Invece, il telefono utilizzava la commutazione di circuito. Il chiamante iniziava ogni chiamata inviando un messaggio speciale indicando chi voleva chiamare. Inizialmente ciò veniva fatto parlando con l'operatore e quindi componendo un numero, che veniva elaborato da un'apparecchiatura automatica sul centralino. L'operatore o l'apparecchiatura ha stabilito un collegamento elettrico dedicato tra il chiamante e il chiamato. Nel caso di chiamate a lunga distanza, ciò potrebbe richiedere diverse iterazioni collegando la chiamata attraverso più commutatori. Una volta stabilita la connessione, la conversazione vera e propria poteva iniziare, e la connessione rimaneva finché uno degli interlocutori non la interrompeva riattaccando.

Comunicazione digitale, che si è deciso di utilizzare in ARPANET per connettere computer che funzionano secondo lo schema condivisione del tempo, utilizzava le funzionalità 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 potrebbero avere dimensioni diverse per scopi diversi, dai comandi della console di diversi caratteri di lunghezza, ai file di dati di grandi dimensioni trasferiti da un computer all'altro. Se i file subivano ritardi durante il trasporto, nessuno se ne lamentava. Ma l’interattività remota richiedeva una risposta rapida, come una telefonata.

Una differenza importante tra le reti di dati informatici da un lato, e il telefono e il telegrafo dall'altro, era la sensibilità agli errori nei dati elaborati dalle macchine. Un cambiamento o una perdita durante la trasmissione di un carattere in un telegramma o la scomparsa di una parte di una parola in una conversazione telefonica difficilmente potrebbero disturbare seriamente la comunicazione tra due persone. Ma se il rumore sulla linea cambiasse un singolo bit da 0 a 1 in un comando inviato a un computer remoto, potrebbe cambiare completamente il significato del comando. Pertanto, ogni messaggio doveva essere controllato per verificare la presenza di errori e rinviato se ne venivano trovati. Tali repliche sarebbero troppo costose per messaggi di grandi dimensioni e avrebbero maggiori probabilità di causare errori perché richiedevano più tempo per la trasmissione.

La soluzione a questo problema arrivò attraverso due eventi indipendenti accaduti nel 1960, ma quello che venne dopo fu notato per primo da Larry Roberts e ARPA.

Ha tremato

Nell'autunno del 1967, Roberts arrivò a Gatlinburg, nel Tennessee, da oltre le vette boscose delle Great Smoky Mountains, per consegnare un documento che descriveva i piani di rete dell'ARPA. Lavorava da quasi un anno presso l'Ufficio per l'informatica (IPTO), ma molti dettagli del progetto di rete erano ancora molto vaghi, compresa la soluzione del problema del routing. A parte vaghi riferimenti ai blocchi e alle loro dimensioni, l'unico riferimento ad esso nel lavoro di Roberts era una breve ed evasiva osservazione proprio alla fine: "Sembra necessario mantenere una linea di comunicazione utilizzata in modo intermittente per ottenere risposte nell'ordine di un decimo a uno". seconda volta necessaria per il funzionamento interattivo. Ciò è molto costoso in termini di risorse di rete e, a meno che non possiamo effettuare chiamate più velocemente, la commutazione dei messaggi e la concentrazione diventeranno molto importanti per i partecipanti alla rete”. Ovviamente, a quel punto, Roberts non aveva ancora deciso se abbandonare l'approccio utilizzato con Tom Marrill nel 1965, ovvero collegare i computer tramite la rete telefonica commutata utilizzando la composizione automatica.

Per coincidenza, allo stesso simposio era presente un'altra persona con un'idea molto migliore per risolvere il problema del routing nelle reti di dati. Roger Scantlebury attraversò l'Atlantico, arrivando dal British National Physical Laboratory (NPL) con un rapporto. Scantlebury prese da parte Roberts dopo il suo rapporto e gli parlò della sua idea. commutazione di pacchetto. Questa tecnologia è stata sviluppata dal suo capo alla NPL, Donald Davis. Negli Stati Uniti, i risultati e la storia di Davis sono poco conosciuti, anche se nell'autunno del 1967 il gruppo di Davis alla NPL era almeno un anno avanti rispetto all'ARPA con le sue idee.

Davis, come molti dei primi pionieri dell'informatica elettronica, era un fisico di formazione. Si laureò all'Imperial College di Londra nel 1943 all'età di 19 anni e fu immediatamente reclutato in un programma segreto sulle armi nucleari dal nome in codice Leghe per tubi. Lì supervisionò un gruppo di calcolatori umani che utilizzavano calcolatori meccanici ed elettrici per produrre rapidamente soluzioni numeriche a problemi legati alla fusione nucleare (il suo supervisore era Emil Julius Klaus Fuchs, un fisico tedesco espatriato che a quel tempo aveva già iniziato a trasferire i segreti delle armi nucleari all'URSS). Dopo la guerra, sentì parlare dal matematico John Womersley di un progetto che stava conducendo alla NPL: era la creazione di un computer elettronico che avrebbe dovuto eseguire gli stessi calcoli a una velocità molto più elevata. Alan Turing ha progettato il computer chiamato ACE, "motore di calcolo automatico".

Davis ha colto al volo l'idea e ha firmato con NPL il più rapidamente possibile. Dopo aver contribuito alla progettazione dettagliata e alla costruzione del computer ACE, è rimasto profondamente coinvolto nel campo dell'informatica come leader della ricerca presso NPL. Nel 1965 gli capitò di trovarsi negli Stati Uniti per un incontro professionale relativo al suo lavoro e colse l'occasione per visitare diversi grandi siti di computer in time-sharing per vedere di cosa si trattava. Nell'ambiente informatico britannico, il time sharing nel senso americano di condivisione interattiva di un computer da parte di più utenti era sconosciuto. Invece, la condivisione del tempo significava distribuire il carico di lavoro del computer tra diversi programmi di elaborazione batch (in modo che, ad esempio, un programma funzionasse mentre un altro era impegnato a leggere il nastro). Quindi questa opzione verrà chiamata multiprogrammazione.

Le peregrinazioni di Davis lo hanno portato al progetto MAC al MIT, al progetto JOSS alla RAND Corporation in California e al Dartmouth Time Sharing System nel New Hampshire. Sulla strada di casa, uno dei suoi colleghi ha suggerito di tenere un seminario sulla condivisione per educare la comunità britannica sulle nuove tecnologie che aveva imparato negli Stati Uniti. Davis acconsentì e ospitò molte delle figure di spicco nel campo informatico americano, incluso Fernando José Corbato (creatore dell’“Interoperable Time Sharing System” al MIT) e dello stesso Larry Roberts.

Durante il seminario (o forse subito dopo), Davis fu colpito dall'idea che la filosofia del time-sharing potesse essere applicata alle linee di comunicazione dei computer, non solo ai computer stessi. I computer in time-sharing danno a ciascun utente una piccola porzione di tempo della CPU e poi passano a un altro, dando a ciascun utente l'illusione di avere il proprio computer interattivo. Allo stesso modo, tagliando ogni messaggio in pezzi di dimensioni standard, che Davis chiamava “pacchetti”, un singolo canale di comunicazione può essere condiviso tra molti computer o utenti di un singolo computer. Inoltre risolverebbe tutti gli aspetti della trasmissione dati per i quali i commutatori telefonici e telegrafici non erano adatti. Un utente che utilizza un terminale interattivo inviando brevi comandi e ricevendo brevi risposte non verrà bloccato da un trasferimento di file di grandi dimensioni perché il trasferimento verrà suddiviso in molti pacchetti. Qualsiasi corruzione in messaggi così grandi influenzerà un singolo pacchetto, che potrà essere facilmente ritrasmesso per completare il messaggio.

Davis descrisse le sue idee in un articolo inedito del 1966, "Proposta per una rete di comunicazione digitale". A quel tempo, le reti telefoniche più avanzate erano sul punto di computerizzare gli interruttori e Davis propose di incorporare la commutazione di pacchetto nella rete telefonica di prossima generazione, creando un'unica rete di comunicazioni a banda larga in grado di soddisfare una varietà di richieste, dalle semplici telefonate alle chiamate remote. accesso ai computer. A quel punto, Davis era stato promosso a manager di NPL e aveva formato un gruppo di comunicazione digitale sotto Scantlebury per implementare il suo progetto e creare una demo funzionante.

Nell'anno precedente la conferenza di Gatlinburg, il team di Scantlebury elaborò tutti i dettagli della creazione di una rete a commutazione di pacchetto. È possibile sopravvivere al guasto di un singolo nodo mediante un routing adattivo in grado di gestire più percorsi verso una destinazione, mentre il guasto di un singolo pacchetto potrebbe essere gestito inviandolo nuovamente. La simulazione e l'analisi hanno affermato che la dimensione ottimale del pacchetto sarebbe 1000 byte - se lo riduci molto, il consumo di larghezza di banda delle linee per i metadati nell'intestazione sarà troppo, molto di più - e il tempo di risposta per gli utenti interattivi aumenterà troppo spesso a causa di messaggi di grandi dimensioni.

Cronologia di Internet: ARPANET - Pacchetto
Il lavoro di Scantlebury includeva dettagli come il formato del pacchetto...

Cronologia di Internet: ARPANET - Pacchetto
...e analisi dell'impatto delle dimensioni dei pacchetti sulla latenza della rete.

Nel frattempo, la ricerca di Davis e Scantlebury portò alla scoperta di documenti di ricerca dettagliati condotti da un altro americano che aveva avuto un'idea simile diversi anni prima di loro. Ma allo stesso tempo Paul Beran, ingegnere elettrico presso la RAND Corporation, non aveva pensato affatto alle esigenze degli utenti di computer in time-sharing. RAND era un think tank finanziato dal Dipartimento della Difesa con sede a Santa Monica, in California, creato dopo la seconda guerra mondiale per fornire pianificazione e analisi a lungo termine di problemi strategici per l'esercito. L'obiettivo di Baran era ritardare la guerra nucleare creando una rete di comunicazioni militari altamente affidabile in grado di sopravvivere anche a un attacco nucleare su larga scala. Una tale rete renderebbe meno attraente un attacco preventivo da parte dell’URSS, poiché sarebbe molto difficile distruggere la capacità degli Stati Uniti di colpire più punti sensibili in risposta. Per fare ciò, Baran propose un sistema che suddivideva i messaggi in quelli che chiamò blocchi di messaggi che potevano essere trasmessi in modo indipendente attraverso una rete di nodi ridondanti e poi assemblati insieme all'endpoint.

L'ARPA aveva accesso ai voluminosi rapporti di Baran per la RAND, ma poiché non erano collegati a computer interattivi, la loro importanza per ARPANET non era ovvia. Roberts e Taylor, a quanto pare, non li hanno mai notati. Invece, come risultato di un incontro casuale, Scantlebury consegnò tutto a Roberts su un piatto d'argento: un meccanismo di commutazione ben progettato, applicabilità al problema della creazione di reti di computer interattive, materiali di riferimento di RAND e persino il nome "pacchetto". Il lavoro di NPL ha inoltre convinto Roberts che sarebbero state necessarie velocità più elevate per fornire una buona capacità, quindi ha aggiornato i suoi piani a collegamenti a 50 Kbps. Per creare ARPANET è stata risolta una parte fondamentale del problema del routing.

È vero, esiste un'altra versione dell'origine dell'idea della commutazione di pacchetto. Roberts in seguito affermò di avere già pensieri simili nella sua testa, grazie al lavoro del suo collega Len Kleinrock, che presumibilmente descrisse il concetto nel 1962, nella sua tesi di dottorato sulle reti di comunicazione. Tuttavia, è incredibilmente difficile estrarre un'idea del genere da questo lavoro e inoltre non sono riuscito a trovare altre prove per questa versione.

Reti che non sono mai esistite

Come possiamo vedere, due team erano in vantaggio rispetto all'ARPA nello sviluppo della commutazione di pacchetto, una tecnologia che si è rivelata così efficace che ora è alla base di quasi tutte le comunicazioni. Perché ARPANET è stata la prima rete significativa a utilizzarlo?

È tutta una questione di sottigliezze organizzative. L’ARPA non aveva il permesso ufficiale per creare una rete di comunicazione, ma esistevano un gran numero di centri di ricerca con i propri computer, una cultura della morale “libera” praticamente senza controllo e montagne di denaro. La richiesta originale di Taylor del 1966 di fondi per creare ARPANET richiedeva 1 milione di dollari, e Roberts continuò a spendere quella cifra ogni anno dal 1969 in poi per rendere la rete operativa. Allo stesso tempo, per l'ARPA, quel denaro era una sciocchezza, quindi nessuno dei suoi capi si preoccupava di cosa ne avrebbe fatto Roberts, purché potesse in qualche modo essere legato alle esigenze della difesa nazionale.

Baran della RAND non aveva né il potere né l’autorità per fare nulla. Il suo lavoro era puramente esplorativo e analitico e, se lo si desiderava, poteva essere applicato alla difesa. Nel 1965, la RAND raccomandò effettivamente il suo sistema all'Air Force, che concordò sulla fattibilità del progetto. Ma la sua attuazione è ricaduta sulle spalle della Defense Communications Agency, che non comprendeva particolarmente le comunicazioni digitali. Baran ha convinto i suoi superiori alla RAND che sarebbe stato meglio ritirare questa proposta piuttosto che consentirne comunque l'attuazione e rovinare la reputazione delle comunicazioni digitali distribuite.

Davis, come capo della NPL, aveva molto più potere di Baran, ma un budget più ristretto rispetto all'ARPA, e non disponeva di una rete sociale e tecnica di computer di ricerca già pronta. Riuscì a creare un prototipo di rete locale a commutazione di pacchetto (c'era un solo nodo, ma molti terminali) presso NPL alla fine degli anni '1960, con un budget modesto di £ 120 in tre anni. ARPANET spendeva circa la metà di tale importo ogni anno per operazioni e manutenzione su ciascuno dei numerosi nodi della rete, esclusi gli investimenti iniziali in hardware e software. L'organizzazione in grado di creare una rete britannica a commutazione di pacchetto su larga scala fu il British Post Office, che gestiva le reti di telecomunicazioni del paese, ad eccezione del servizio postale stesso. Davis riuscì a interessare diversi funzionari influenti con le sue idee per una rete digitale unificata su scala nazionale, ma non riuscì a cambiare la direzione di un sistema così vasto.

Licklider, attraverso una combinazione di fortuna e pianificazione, ha trovato la serra perfetta dove la sua rete intergalattica poteva prosperare. Allo stesso tempo, non si può dire che tutto tranne la commutazione di pacchetto si riducesse al denaro. Anche l'attuazione dell'idea ha avuto un ruolo. Inoltre, molte altre importanti decisioni progettuali hanno plasmato lo spirito di ARPANET. Pertanto, in seguito esamineremo come è stata distribuita la responsabilità tra i computer che hanno inviato e ricevuto messaggi e la rete su cui hanno inviato questi messaggi.

Cos'altro leggere

  • Janet Abbate, Inventare Internet (1999)
  • Katie Hafner e Matthew Lyon, Dove i maghi restano svegli fino a tardi (1996)
  • Leonard Kleinrock, "An Early History of Internet", IEEE Communications Magazine (agosto 2010)
  • Arthur Norberg e Julie O'Neill, Trasformare la tecnologia informatica: elaborazione delle informazioni per il Pentagono, 1962-1986 (1996)
  • M. Mitchell Waldrop, La macchina dei sogni: JCR Licklider e la rivoluzione che ha reso l'informatica personale (2001)

Fonte: habr.com

Aggiungi un commento