Istoricul Internet: ARPANET - Pachet

Istoricul Internet: ARPANET - Pachet
Diagrama rețelei de calculatoare ARPA pentru iunie 1967. Un cerc gol este un computer cu acces partajat, un cerc cu o linie este un terminal pentru un utilizator

Alte articole din serie:

Până la sfârșitul anului 1966 Robert Taylor cu banii ARPA, a lansat un proiect de conectare a mai multor calculatoare într-un singur sistem, inspirat de ideea „reţea intergalactică» Joseph Carl Robnett Licklider.

Taylor a transferat responsabilitatea pentru execuția proiectului în mâini capabile Larry Roberts. În anul care a urmat, Roberts a luat mai multe decizii critice care aveau să repereze în arhitectura și cultura tehnică a ARPANET și a succesorilor săi, în unele cazuri pentru decenii următoare. Prima decizie în importanță, deși nu în cronologie, a fost determinarea unui mecanism de direcționare a mesajelor de la un computer la altul.

problemă

Dacă computerul A dorește să trimită un mesaj către computerul B, cum poate acel mesaj să-și găsească drumul de la unul la altul? În teorie, puteți permite fiecărui nod dintr-o rețea de comunicații să comunice cu fiecare alt nod conectând fiecare nod la fiecare alt nod cu cabluri fizice. Pentru a comunica cu B, computerul A va trimite pur și simplu un mesaj de-a lungul cablului de ieșire care îl conectează la B. O astfel de rețea se numește o rețea mesh. Cu toate acestea, pentru orice dimensiune semnificativă a rețelei, această abordare devine rapid nepractică, deoarece numărul de conexiuni crește pe măsură ce pătratul numărului de noduri (ca (n2 - n)/2 pentru a fi precis).

Prin urmare, este necesară o modalitate de a construi o rută a mesajului, care, la sosirea mesajului la nodul intermediar, să-l trimită mai departe către țintă. La începutul anilor 1960, existau două abordări de bază pentru rezolvarea acestei probleme. Prima este metoda de stocare și redirecționare a comutării mesajelor. Această abordare a fost folosită de sistemul telegrafic. Când un mesaj ajungea la un nod intermediar, acesta era stocat temporar acolo (de obicei sub formă de bandă de hârtie) până când putea fi transmis mai departe către țintă sau către un alt centru intermediar situat mai aproape de țintă.

Apoi a venit telefonul și a fost nevoie de o nouă abordare. O întârziere de câteva minute după fiecare rostire făcută la telefon, care trebuia descifrată și transmisă la destinație, ar da senzația unei conversații cu un interlocutor aflat pe Marte. În schimb, telefonul folosea comutarea circuitelor. Apelantul a început fiecare apel trimițând un mesaj special care indică pe cine vrea să sune. Mai întâi au făcut acest lucru vorbind cu operatorul, apoi formând un număr, care a fost procesat de echipamente automate de la centrală. Operatorul sau echipamentul a stabilit o conexiune electrică dedicată între apelant și persoana apelată. În cazul apelurilor la distanță lungă, acest lucru ar putea necesita mai multe iterații care conectează apelul prin mai multe comutatoare. Odată stabilită conexiunea, conversația în sine putea începe, iar legătura a rămas până când una dintre părți a întrerupt-o prin închis.

Comunicare digitală, pe care s-a decis să o folosească în ARPANET pentru a conecta calculatoare care funcționează conform schemei împărțirea timpului, a folosit funcții atât ale telegrafului, cât și ale telefonului. Pe de o parte, mesajele de date erau transmise în pachete separate, ca pe telegraf, mai degrabă decât ca conversații continue la telefon. Cu toate acestea, aceste mesaje pot fi de dimensiuni diferite pentru scopuri diferite, de la comenzi de consolă de mai multe caractere lungime, la fișiere mari de date transferate de la un computer la altul. Dacă dosarele au fost întârziate în tranzit, nimeni nu s-a plâns de asta. Dar interactivitatea de la distanță a necesitat un răspuns rapid, cum ar fi un apel telefonic.

O diferență importantă între rețelele de date computerizate, pe de o parte, și telefonul și telegraful, pe de altă parte, a fost sensibilitatea la erori în datele procesate de mașini. O modificare sau pierdere în timpul transmiterii unui caracter dintr-o telegramă sau dispariția unei părți a unui cuvânt într-o conversație telefonică nu ar putea perturba serios comunicarea a două persoane. Dar dacă zgomotul de pe linie a comutat un singur bit de la 0 la 1 într-o comandă trimisă la un computer la distanță, ar putea schimba complet sensul comenzii. Prin urmare, fiecare mesaj trebuia verificat pentru erori și retrimis dacă se găseau. Asemenea reluări ar fi prea costisitoare pentru mesajele mari și aveau mai multe șanse să provoace erori, deoarece transmiterea dura mai mult.

Soluția la această problemă a venit prin două evenimente independente care au avut loc în 1960, dar cel care a venit mai târziu a fost observat mai întâi de Larry Roberts și ARPA.

Întâlnire

În toamna anului 1967, Roberts a sosit în Gatlinburg, Tennessee, de dincolo de vârfurile împădurite ale Marilor Munți Fumoși, pentru a livra un document care descrie planurile de rețea ale ARPA. A lucrat în Biroul pentru Tehnologia Procesării Informației (IPTO) de aproape un an, dar multe dintre detaliile proiectului de rețea erau încă foarte vagi, inclusiv soluția la problema de rutare. În afară de referințele vagi la blocuri și dimensiunile acestora, singura referire la el în lucrarea lui Roberts a fost o remarcă scurtă și evazivă la sfârșit: „Se pare că este necesar să se mențină o linie de comunicare folosită intermitent pentru a obține răspunsuri în 1965-XNUMX-XNUMX. a doua oară necesară pentru operarea interactivă. Acest lucru este foarte costisitor în ceea ce privește resursele de rețea și, dacă nu putem efectua apeluri mai rapid, schimbarea mesajelor și concentrarea vor deveni foarte importante pentru participanții la rețea.” Evident, până la acel moment, Roberts încă nu se hotărâse dacă să renunțe la abordarea pe care o folosise cu Tom Marrill în XNUMX, adică conectarea computerelor prin rețeaua telefonică comutată folosind apelarea automată.

Întâmplător, la același simpozion a fost prezentă o altă persoană cu o idee mult mai bună pentru rezolvarea problemei de rutare în rețelele de date. Roger Scantlebury a traversat Atlanticul, sosind de la Laboratorul Național de Fizică Britanic (NPL) cu un raport. Scantlebury l-a luat pe Roberts deoparte după raportul său și i-a spus despre ideea lui. comutare de pachete. Această tehnologie a fost dezvoltată de șeful său de la NPL, Donald Davis. În Statele Unite, realizările și istoria lui Davis sunt puțin cunoscute, deși în toamna anului 1967 grupul lui Davis de la NPL era cu cel puțin un an înaintea ARPA cu ideile sale.

Davis, la fel ca mulți pionierii timpurii ai calculului electronic, a fost fizician prin pregătire. A absolvit Imperial College din Londra în 1943 la vârsta de 19 ani și a fost recrutat imediat într-un program secret de arme nucleare cu nume de cod. Aliaje de tuburi. Acolo a supravegheat o echipă de calculatoare umane care foloseau calculatoare mecanice și electrice pentru a produce rapid soluții numerice la problemele legate de fuziunea nucleară (supervizorul său era Emil Julius Klaus Fuchs, un fizician german expatriat care în acel moment începuse deja să transfere secretele armelor nucleare în URSS). După război, a auzit de la matematicianul John Womersley despre un proiect pe care îl conducea la NPL - a fost crearea unui computer electronic care trebuia să efectueze aceleași calcule la o viteză mult mai mare. Alan Turing a proiectat computerul numit ACE, „motor de calcul automat”.

Davis a sărit la idee și a semnat cu NPL cât de repede a putut. După ce a contribuit la proiectarea detaliată și construcția computerului ACE, el a rămas profund implicat în domeniul calculului ca lider de cercetare la NPL. În 1965 s-a întâmplat să fie în SUA pentru o întâlnire profesională legată de munca sa și a folosit ocazia pentru a vizita mai multe site-uri mari de computere cu timp în comun pentru a vedea despre ce era toată agitația. În mediul de calcul britanic, partajarea timpului în sensul american de partajare interactivă a unui computer de către mai mulți utilizatori era necunoscută. În schimb, împărțirea timpului însemna distribuirea sarcinii de lucru a computerului între mai multe programe de procesare în loturi (astfel încât, de exemplu, un program să funcționeze în timp ce altul era ocupat cu citirea casetei). Apoi această opțiune se va numi multiprogramare.

Rătăcirile lui Davis l-au condus la Proiectul MAC la MIT, la Proiectul JOSS la RAND Corporation din California și la Dartmouth Time Sharing System din New Hampshire. Pe drumul spre casă, unul dintre colegii săi a sugerat să organizeze un atelier de partajare pentru a educa comunitatea britanică despre noile tehnologii despre care au aflat în SUA. Davis a fost de acord și a găzduit multe dintre figurile de top din domeniul computerului american, inclusiv Fernando Jose Corbato (creatorul „Interoperable Time Sharing System” la MIT) și însuși Larry Roberts.

În timpul seminarului (sau poate imediat după), Davis a fost uimit de ideea că filosofia de împărțire a timpului ar putea fi aplicată liniilor de comunicare computerizate, nu doar computerelor în sine. Calculatoarele cu timp partajat oferă fiecărui utilizator o mică parte din timp CPU și apoi trec la altul, oferind fiecărui utilizator iluzia de a avea propriul computer interactiv. De asemenea, prin tăierea fiecărui mesaj în bucăți de dimensiuni standard, pe care Davis le-a numit „pachete”, un singur canal de comunicare poate fi partajat între mai multe computere sau utilizatori ai unui singur computer. Mai mult, ar rezolva toate aspectele transmisiei de date pentru care comutatoarele telefonice și telegrafice nu erau potrivite. Un utilizator care operează un terminal interactiv care trimite comenzi scurte și primește răspunsuri scurte nu va fi blocat de un transfer mare de fișiere, deoarece transferul va fi împărțit în multe pachete. Orice corupție în mesaje atât de mari va afecta un singur pachet, care poate fi retransmis cu ușurință pentru a finaliza mesajul.

Davis și-a descris ideile într-o lucrare nepublicată din 1966, „Propunere pentru o rețea de comunicații digitale”. În acel moment, cele mai avansate rețele de telefonie erau în pragul computerizării comutatoarelor, iar Davis a propus încorporarea comutării de pachete în rețeaua telefonică de următoarea generație, creând o singură rețea de comunicații în bandă largă capabilă să servească o varietate de solicitări, de la simple apeluri telefonice până la distanță. acces la calculatoare. Până atunci, Davis a fost promovat la funcția de manager al NPL și a format un grup de comunicații digitale sub Scantlebury pentru a-și implementa proiectul și a crea un demo de lucru.

În anul care a precedat conferința de la Gatlinburg, echipa lui Scantlebury a elaborat toate detaliile creării unei rețele cu comutare de pachete. O defecțiune a unui singur nod ar putea fi supraviețuită printr-o rutare adaptivă care ar putea gestiona mai multe căi către o destinație, iar o eroare a unui singur pachet ar putea fi rezolvată prin retrimiterea acestuia. Simularea și analiza spuneau că dimensiunea optimă a pachetului ar fi de 1000 de octeți - dacă o faceți mult mai mică, atunci consumul de lățime de bandă al liniilor pentru metadate din antet va fi prea mult, mult mai mult - iar timpul de răspuns pentru utilizatorii interactivi va crește prea des din cauza mesajelor mari .

Istoricul Internet: ARPANET - Pachet
Lucrarea lui Scantlebury a inclus detalii precum formatul pachetului...

Istoricul Internet: ARPANET - Pachet
...și analiza impactului dimensiunilor pachetelor asupra latenței rețelei.

Între timp, căutările lui Davis și Scantlebury au dus la descoperirea unor lucrări de cercetare detaliate făcute de un alt american care venise cu o idee similară cu câțiva ani înaintea lor. Dar in acelasi timp Paul Baran, inginer electrician la RAND Corporation, nu s-a gândit deloc la nevoile utilizatorilor de computere cu timp partajat. RAND a fost un think tank finanțat de Departamentul Apărării din Santa Monica, California, creat după al Doilea Război Mondial pentru a oferi o planificare și o analiză pe termen lung a problemelor strategice pentru armată. Scopul lui Baran a fost să întârzie războiul nuclear prin crearea unei rețele militare de comunicații extrem de fiabile, capabilă să supraviețuiască chiar și unui atac nuclear la scară largă. O astfel de rețea ar face o lovitură preventivă a URSS mai puțin atractivă, deoarece ar fi foarte dificil să distrugă capacitatea SUA de a lovi mai multe puncte sensibile ca răspuns. Pentru a face acest lucru, Baran a propus un sistem care a împărțit mesajele în ceea ce el a numit blocuri de mesaje care ar putea fi transmise independent printr-o rețea de noduri redundante și apoi asamblate împreună la punctul final.

ARPA a avut acces la rapoartele voluminoase ale lui Baran pentru RAND, dar din moment ce nu erau legate de computere interactive, importanța lor pentru ARPANET nu era evidentă. Se pare că Roberts și Taylor nu i-au observat niciodată. În schimb, ca urmare a unei întâlniri întâmplătoare, Scantlebury i-a înmânat totul lui Roberts pe un platou de argint: un mecanism de comutare bine conceput, aplicabilitate la problema creării de rețele interactive de calculatoare, materiale de referință de la RAND și chiar numele „pachet”. Munca lui NPL l-a convins, de asemenea, pe Roberts că ar fi necesare viteze mai mari pentru a oferi o capacitate bună, așa că și-a actualizat planurile la legături de 50 Kbps. Pentru a crea ARPANET, a fost rezolvată o parte fundamentală a problemei de rutare.

Adevărat, există o altă versiune a originii ideii de comutare de pachete. Roberts a susținut ulterior că avea deja gânduri similare în cap, datorită muncii colegului său, Len Kleinrock, care ar fi descris conceptul încă din 1962, în teza sa de doctorat despre rețelele de comunicații. Cu toate acestea, este incredibil de dificil să extrag o astfel de idee din această lucrare și, în plus, nu am putut găsi alte dovezi pentru această versiune.

Rețele care nu au existat niciodată

După cum putem vedea, două echipe au fost înaintea ARPA în dezvoltarea comutației de pachete, o tehnologie care s-a dovedit atât de eficientă încât acum stă la baza aproape tuturor comunicațiilor. De ce a fost ARPANET prima rețea semnificativă care a folosit-o?

Totul ține de subtilități organizaționale. ARPA nu avea permisiunea oficială de a crea o rețea de comunicații, dar existau un număr mare de centre de cercetare existente cu propriile lor computere, o cultură a moralei „libere” care era practic nesupravegheată și munți de bani. Cererea inițială a lui Taylor din 1966 de fonduri pentru crearea ARPANET a cerut 1 milion de dolari, iar Roberts a continuat să cheltuiască atât de mult în fiecare an din 1969 înainte pentru a pune în funcțiune rețeaua. În același timp, pentru ARPA, astfel de bani reprezentau o mică schimbare, așa că niciunul dintre șefii săi nu s-a îngrijorat de ce face Roberts cu ei, atâta timp cât ar putea fi cumva legați de nevoile apărării naționale.

Baran de la RAND nu avea nici puterea, nici autoritatea de a face nimic. Munca lui a fost pur exploratorie și analitică și putea fi aplicată în apărare dacă se dorește. În 1965, RAND a recomandat de fapt sistemul său Forțelor Aeriene, care au fost de acord că proiectul este viabil. Dar implementarea sa a căzut pe umerii Agenției de Comunicații pentru Apărare, iar aceștia nu au înțeles în mod special comunicațiile digitale. Baran și-a convins superiorii de la RAND că ar fi mai bine să retragă această propunere decât să permită implementarea ei oricum și să strice reputația comunicațiilor digitale distribuite.

Davis, în calitate de șef al NPL, avea mult mai multă putere decât Baran, dar un buget mai restrâns decât ARPA și nu avea o rețea socială și tehnică gata făcută de calculatoare de cercetare. El a reușit să creeze un prototip de rețea locală cu comutare de pachete (exista un singur nod, dar multe terminale) la NPL la sfârșitul anilor 1960, cu un buget modest de 120 de lire sterline pe trei ani. ARPANET a cheltuit aproximativ jumătate din această sumă anual pentru operațiuni și întreținere pe fiecare dintre numeroasele noduri ale rețelei, excluzând investițiile inițiale în hardware și software. Organizația capabilă să creeze o rețea britanică de comutare de pachete la scară largă a fost British Post Office, care gestiona rețelele de telecomunicații din țară, cu excepția serviciului poștal în sine. Davis a reușit să intereseze mai mulți oficiali influenți cu ideile sale pentru o rețea digitală unificată la scară națională, dar nu a reușit să schimbe direcția unui sistem atât de uriaș.

Licklider, printr-o combinație de noroc și planificare, a găsit sera perfectă în care rețeaua sa intergalactică ar putea înflori. În același timp, nu se poate spune că totul, cu excepția comutării de pachete, s-a rezumat la bani. Un rol a jucat și execuția ideii. Mai mult, alte câteva decizii importante de design au modelat spiritul ARPANET. Prin urmare, în continuare ne vom uita la modul în care responsabilitatea a fost distribuită între computerele care au trimis și au primit mesaje și rețeaua prin care au trimis aceste mesaje.

Ce altceva de citit

  • Janet Abbate, Inventing the Internet (1999)
  • Katie Hafner și Matthew Lyon, Where Wizards Stay Up Late (1996)
  • Leonard Kleinrock, „O istorie timpurie a Internetului”, IEEE Communications Magazine (august 2010)
  • Arthur Norberg și Julie O'Neill, Transforming Computer Technology: Information Processing for the Pentagon, 1962-1986 (1996)
  • M. Mitchell Waldrop, The Dream Machine: JCR Licklider and the Revolution That Made Computing Personal (2001)

Sursa: www.habr.com

Adauga un comentariu