Istoria internetului: ARPANET — pachet

Istoria internetului: ARPANET — pachet
Schema rețelei de calculatoare ARPA din iunie 1967. Cercul gol – computer cu acces distribuit, cercul cu linie – terminal pentru un singur utilizator

Alte articole din ciclu:

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

Responsabilitatea pentru realizarea proiectului a fost încredințată în mâini pricepute Larry Roberts. În anul următor, Roberts a luat câteva decizii critic importante, care ulterior vor influența arhitectura tehnică și cultura ARPANET și a urmașilor săi, în unele cazuri chiar timp de câteva decenii. Prima decizie ca importanță, deși nu ca cronologie, a fost definirea unui mecanism de rutare a mesajelor de la un calculator la altul.

Problema

Dacă calculatorul A dorește să trimită un mesaj calculatorului B, cum poate acest mesaj să găsească drumul de la unul la altul? Teoretic, am putea permite fiecărui nod al rețelei de comunicații să interacționeze cu toate celelalte, conectând fiecare nod cu un cablu fizic la fiecare alt nod. Pentru a comunica cu B, calculatorul A va trimite pur și simplu mesajul prin cablul de ieșire care îl leagă de B. Această rețea se numește complet conectată. Totuși, la orice dimensiune semnificativă a rețelei, această abordare devine rapid impracticabilă, deoarece numărul de conexiuni crește proporțional cu pătratul numărului de noduri (dacă să fim exacți, ca (n2 - n) / 2).

Prin urmare, este necesar să existe o modalitate de a construi un traseu pentru mesaj, astfel încât, la sosirea mesajului la un nod intermediar, acesta să fie trimis mai departe către destinație. La începutul anilor 1960, erau cunoscute două abordări de bază pentru a rezolva această problemă. Prima – metoda comutării mesajelor prin „stocare și transmitere”. Această abordare era utilizată de sistemul telegrafic. Când un mesaj ajungea la un nod intermediar, era stocat temporar acolo (de obicei sub formă de bandă de hârtie), până când aparea oportunitatea de a-l transmite mai departe către destinație sau către un alt centru intermediar, mai aproape de destinație.

Apoi a apărut telefonul, iar un nou mod de abordare a devenit necesar. O întârziere de câteva minute după fiecare afirmație făcută prin telefon, care trebuia decodificată și transmisă la destinație, ar fi dat senzația unui dialog cu cineva aflat pe Marte. În schimb, telefonul folosea comutarea de canale. Cel care suna începea fiecare apel cu trimiterea unui mesaj special, care indica cui dorește să sune. La început, acest lucru se făcea discutând cu operatorul, iar apoi tastând numărul, procesat de echipamente automate pe comutator. Operatorul sau echipamentul stabileau o conexiune electrică dedicată între apelant și abonatul apelat. În cazul apelurilor între orașe, acest proces putea necesita câteva iterații, conectând apelul prin mai multe comutatoare. După stabilirea conexiunii putea începe conversația propriu-zisă, iar conexiunea era menținută până când una dintre părți o întrerupea, punând receptorul jos.

Comunicarea digitală, pe care s-a decis să o utilizeze ARPANET pentru conectarea computerelor, funcționa pe baza împărțirii timpului, folosea caracteristici atât ale telegrafului, cât și ale telefonului. Pe de o parte, mesajele cu date erau transmise în pachete separate, ca la telegraf, nu sub formă de conversații continue la telefon. Cu toate acestea, aceste mesaje puteau avea dimensiuni diferite pentru scopuri diferite, de la comenzi de consolă de câțiva simboluri până la fișiere mari de date transmise de la un computer la altul. Dacă fișierele erau întârziate pe parcurs, nimeni nu se lamenta. Dar interactivitatea de la distanță necesita o reacție rapidă, la fel ca în cazul unui apel telefonic.

O diferență importantă între rețelele de date pe de o parte și telefonul cu 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 în telegramă, sau dispariția unei părți dintr-un cuvânt într-o conversație telefonică ar fi avut dificultăți în a afecta grav comunicarea dintre două persoane. Dar dacă zgomotul pe linie schimba un singur bit de la 0 la 1 în comanda trimisă către un computer la distanță, acest lucru putea schimba complet sensul comenzii. De aceea, fiecare mesaj trebuia verificat pentru erori și retransmis în cazul în care acestea erau descoperite. Astfel de retransmiteri ar fi fost prea costisitoare pentru mesaje mari, iar probabilitatea apariției erorilor în acestea era mai mare, deoarece erau transmise mai mult timp.

Soluția acestei probleme a venit datorită a două evenimente independente care au avut loc în 1960, totuși, cel care a apărut mai târziu a fost observat primul de Larry Roberts și ARPA.

Întâlnire

În toamna lui 1967, Roberts a ajuns în Gatlinburg, Tennessee, din cauza vârfurilor acoperite de păduri ale Muntelui Great Smoky, pentru a livra un document despre planurile ARPA pentru desfășurarea rețelei. Lucrase deja aproape un an în biroul de tehnologie a procesării informațiilor (Information Processing Technology Office, IPTO), dar multe detalii ale proiectului rețelei erau încă destul de neclare, inclusiv soluția pentru problema rutării. Pe lângă mențiunile vag referitoare la blocuri și dimensiunile acestora, singura referință la aceasta în lucrarea lui Roberts a fost o observație scurtă și evazivă la sfârșit: „Se pare că este necesar să menținem linia de comunicație utilizată periodic pentru a obține răspunsuri într-un interval de timp de la o zecime până la o secundă, necesare pentru lucrul interactiv. Aceasta este foarte costisitoare din punct de vedere al resurselor rețelei și, dacă nu avem posibilitatea de a apela mai repede, comutarea mesajelor și concentrarea vor deveni foarte importante pentru participanții rețelei”. Evident, până la acel moment, Roberts nu decisese încă dacă să renunțe la abordarea pe care a folosit-o împreună cu Tom Marill în 1965, adică, conectarea computerelor printr-o rețea telefonică comutată prin apelare automată.

La același simpozion a fost prezent și o altă persoană, cu o idee mult mai bine articulată pentru soluționarea problemei rutării în rețelele de date. Roger Scantlebury a traversat Atlanticul, sosind de la Laboratorul Național Britanic de Fizică (British National Physical Laboratory - NPL) cu o prezentare. Scantlebury l-a dus pe Roberts deoparte după prezentarea sa și i-a povestit despre ideea sa. comutarea pachetelor. Această tehnologie a fost dezvoltată de șeful său de la NPL, Donald Davies. În Statele Unite, realizările și istoria lui Davies sunt puțin cunoscute, deși în toamna anului 1967, grupul lui Davies de la NPL era cu cel puțin un an înaintea ARPA cu ideile sale.

Davies, ca și mulți dintre primii pionieri ai calculatoarelor electronice, avea o pregătire în fizică. El a absolvit Colegiul Imperial din Londra în 1943, la vârsta de 19 ani, și a fost imediat acceptat într-un program secret de dezvoltare a armelor nucleare, sub numele de cod Tube Alloys. Acolo a condus un grup de oameni care foloseau calculatoare mecanice și electrice pentru a obține rapid soluții numerice pentru problemele legate de sinteza nucleară (iar conducătorul său era Emil Julius Klaus Fuchs, un fizician german expatriat, care la acea vreme a început deja să transmită secretele armelor nucleare Uniunii Sovietice). După război, a aflat de la matematicianul John Womersley despre un proiect pe care acesta îl conducea la NPL - era vorba despre crearea unui calculator electronic care urma să realizeze aceleași calcule, dar cu o viteză mult mai mare. Computerul dezvoltat de Alan Turing a fost numit ACE, „mașina de calcul automată”.

Davis s-a apucat de această idee și s-a angajat la NPL cât mai repede posibil. Contribuind la proiectul detaliat și la crearea computerului ACE, a rămas profund implicat în domeniul calculatoarelor ca lider al cercetărilor la NPL. În 1965, s-a întâmplat că era în SUA la o întâlnire profesională legată de munca sa și a profitat de ocazie pentru a vizita mai multe locații importante de computere cu timp partajat, pentru a vedea despre ce este toată agitația. În mediul britanic de calculatoare, conceptul de timp partajat în sensul american al utilizării interactive a calculatoarelor de către mai mulți utilizatori nu era cunoscut. În schimb, la ei, timpul partajat însemna distribuția sarcinii calculatorului între mai multe programe de procesare în lot (pentru ca, de exemplu, un program să funcționeze în timp ce altul este ocupat cu citirea de pe bandă). Apoi, această variantă va fi numită multiprogramare.

Peripețiile lui Davis l-au condus la Project MAC la MIT, la JOSS Project de la RAND Corporation din California și la sistemul de timp partajat de la Dartmouth din New Hampshire. Pe drumul de întoarcere, unul dintre colegii săi a propus organizarea unui seminar privind utilizarea colaborativă, pentru a informa comunitatea britanică despre noile tehnologii pe care le-au descoperit în SUA. Davis a fost de acord și a primit în vizită mulți dintre principalii actori ai domeniului american de calculatoare, inclusiv Fernando José Corbato (creatorul „sistemului de timp partajat compatibil” la MIT) și pe însuși Larry Roberts.

În timpul seminarului (sau poate imediat după), ideea că filosofia partajării timpului poate fi aplicată și liniilor de comunicație ale calculatoarelor, nu doar calculatoarelor în sine, l-a uimit pe Davis. Calculatoarele cu partajare de timp oferă fiecărui utilizator un mic interval de timp procesor, apoi comută pe altul, creând pentru fiecare utilizator iluzia că are propriul său computer interactiv. În mod similar, prin fragmentarea fiecărui mesaj în bucăți de dimensiuni standard, pe care Davis le-a numit „pachete”, un canal de comunicare poate fi împărțit între mai multe calculatoare sau utilizatori ai aceluiași computer. Mai mult, aceasta ar rezolva toate aspectele transmiterii datelor pentru care comutatoarele telefonice și telegrafice erau prost adaptate. Un utilizator care lucrează cu un terminal interactiv, trimite comenzi scurte și primește răspunsuri scurte, nu va fi blocat de transferul unui fișier mare, deoarece această transmisie va fi împărțită în mai multe pachete. Orice deteriorare în astfel de mesaje mari va afecta un singur pachet, care poate fi retransmis cu ușurință pentru finalizarea mesajului.

Davis și-a descris ideile într-o lucrare nepublicată din 1966, „Propunere pentru o rețea de comunicații digitale”. La acel moment, cele mai avansate rețele telefonice erau la limita automatizării comutatoarelor, iar Davis a propus să integreze comutarea pachetelor în noua generație de rețele telefonice, creând o rețea de comunicații broadband unificată capabilă să răspundă diferitelor cereri, de la apeluri telefonice simple până la acces de la distanță la calculatoare. Între timp, Davis a fost promovat la conducerea NPL și a format un grup de lucru în domeniul comunicațiilor digitale sub conducerea lui Scantlebury pentru a implementa proiectul său și a crea o versiune de demonstrație funcțională.

În anul care a precedat conferința de la Gatlinburg, echipa Scantlbury a lucrat la toate detaliile creării unei rețele cu comutare de pachete. O defecțiune a unui nod putea fi suportată printr-o rutare adaptivă, capabilă să funcționeze cu mai multe căi către destinație, iar o pierdere a unui pachet putea fi rezolvată prin retransmiterea acestuia. Simulările și analiza au arătat că dimensiunea optimă a pachetului ar fi de 1000 de bytes – dacă ar fi prea mică, costurile de lățime de bandă pentru metadatele din antet ar fi prea mari, iar dacă ar fi prea mare, timpul de răspuns pentru utilizatorii interactivi ar crește prea frecvent din cauza mesajelor voluminoase.

Istoria internetului: ARPANET — pachet
Activitatea Scantlbury a inclus detalii precum formatul pachetului…

Istoria internetului: ARPANET — pachet
…și analiza impactului dimensiunilor pachetului asupra întârzierilor în rețea.

Între timp, căutările lui Davis și Scantlbury au dus la descoperirea unor lucrări de cercetare detaliate efectuate de un alt american, care ajunsese la o idee similară cu câțiva ani înainte de ei. Dar, în același timp, Paul Baran, inginer electric de la RAND Corporation, nu s-a gândit la nevoile utilizatorilor de computere cu împărțire de timp. RAND era un centru de analiză, care funcționa cu fonduri de la Ministerul Apărării al SUA în Santa Monica, California, creat după Al Doilea Război Mondial pentru planificarea pe termen lung și analiza problemelor strategice pentru necesitățile militare. Obiectivul lui Baran era de a preveni războiul nuclear, creând o rețea de comunicație militară extrem de fiabilă, capabilă să reziste chiar și unei atacuri nucleare pe scară largă. O astfel de rețea ar face ca un atac preventiv din partea URSS să fie mai puțin atractiv, deoarece ar fi foarte greu să se distrugă capacitatea SUA de a riposta împotriva mai multor puncte sensibile. Pentru aceasta, Baran a propus un sistem care să împartă mesajele în ceea ce el a numit blocuri de mesaje, care puteau fi transmise independent printr-o rețea de noduri de comunicație cu conexiuni redundante, apoi să fie reunite la punctul final.

ARPA avea acces la volumele rapoartelor Béran pentru RAND, însă, deoarece acestea nu erau legate de computerele interactive, importanța lor pentru ARPANET nu era evidentă. Roberts și Taylor, se pare, nu le-au observat. În schimb, datorită unei întâlniri întâmplătoare, Scantlebury i-a prezentat totul lui Roberts pe o tavă: un mecanism de comutare bine gândit, aplicabilitatea la sarcina de a crea rețele de calculatoare interactive, materiale de referință din partea RAND și chiar numele „pachet”. Lucrarea NPL l-a convins de asemenea pe Roberts că pentru a organiza o capacitate bună de transfer, erau necesare viteze mai mari, așa că și-a actualizat planurile la linii de comunicație de 50 Kbit/s. O parte fundamentală a problemei rutării pentru crearea ARPANET a fost rezolvată.

Desigur, există și o altă versiune a apariției ideii de comutare a pachetelor. Roberts a susținut mai târziu că avea deja gânduri asemănătoare, datorită lucrării colegului său, Len Kleinrock, care ar fi descris această concept încă din 1962, în teza sa de doctorat pe rețele de comunicație. Totuși, din această lucrare este incredibil de greu să extragi o idee similară, iar în plus nu am putut găsi alte confirmări pentru această versiune.

Rețele care nu existau

După cum vedem, două echipe au fost înaintea ARPA în dezvoltarea comutării pachetelor, o tehnologie care s-a dovedit atât de eficientă încât în prezent stă la baza practic tuturor comunicațiilor. De ce a devenit ARPANET prima rețea semnificativă care a utilizat-o?

Totul se reduce la subtilitățile organizaționale. ARPA nu avea un mandat oficial pentru a crea o rețea de comunicație, însă exista un număr mare de centre de cercetare deja existente cu propriile computere, o cultură a „obiceiurilor libere”, asupra căreia practic nu se supraveghea, și o mulțime de bani. Cererea inițială a lui Taylor din 1966 pentru fonduri pentru crearea ARPANET a menționat suma de 1 milion de dolari, iar Roberts a continuat să cheltuie aceeași sumă anual din 1969 încoace pentru crearea și operarea acestei rețele. Pentru ARPA, acești bani erau o nimica toată, așa că nimeni din conducerea sa nu era îngrijorat de ceea ce făcea Roberts cu ei, atâta timp cât putea fi legat în vreun fel de nevoile apărării naționale.

Behran nu a avut nici oportunități, nici autoritate în cadrul RAND pentru a face ceva. Munca lui a fost exclusiv de cercetare și analiză, și putea fi aplicată, dacă se dorea, în apărare. În 1965, RAND a recomandat cu adevărat sistemul său către Forțele Aeriene, iar acestea au fost de acord cu viabilitatea proiectului. Însă implementarea a căzut în sarcina agenției de comunicații pentru apărare, care nu era foarte familiarizată cu comunicațiile digitale. Behran a convins conducerea de la RAND că este mai bine să preia această propunere decât să permită să fie realizată în mod aleatoriu, compromițând astfel reputația comunicațiilor digitale distribuite.

Davis, în calitate de director al NPL, avea mult mai multă putere decât Behran, dar un buget mai restrâns decât ARPA, și nu avea o rețea socială și tehnică pregătită din computere de cercetare. A reușit să dezvolte un prototip de rețea locală cu comutare de pachete (avea un singur nod, dar multe terminale) la NPL la sfârșitul anilor '60, cu un buget modest de 120.000 de lire pe parcursul a trei ani. ARPANET cheltuia aproximativ jumătate din această sumă anual pe funcționare și întreținere la 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 mari dimensiuni cu comutare de pachete era poșta britanică, care gestiona rețelele de telecomunicații din țară, pe lângă poșta în sine. Davis a reușit să capteze atenția câtorva oficiali influenți cu ideile sale despre o rețea digitală unificată la nivel național, dar nu a putut schimba direcția unei astfel de sisteme imense.

Licklider, combinând norocul cu planificarea, a găsit o wonderful seră unde rețeaua sa intergalactică ar putea înflori. Nu se poate afirma că totul, în afară de comutarea pachetelor, ținea exclusiv de bani. Executarea conceptului a avut de asemenea un impact. Mai mult, spiritul ARPANET a fost determinat și de câteva alte decizii importante în stadiul de proiectare. De aceea, vom analiza cum era distribuită responsabilitatea între computerele care trimiteau și primeau mesaje și rețeaua prin care aceste mesaje erau transmise.

Ce altceva să citim

  • Janet Abbate, Inventing the Internet (1999)
  • Katie Hafner și Matthew Lyon, Where Wizards Stay Up Late (1996)
  • Leonard Kleinrock, “An Early History of the Internet,” IEEE Communications Magazine (august 2010)
  • Arthur Norberg și Julie O’Neill, Transformarea Tehnologiei Computerizate: Prelucrarea Informațiilor pentru Pentagon, 1962-1986 (1996)
  • M. Mitchell Waldrop, Mașina Visurilor: J.C.R. Licklider și Revoluția Care a Facut Calculul Personal (2001)

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster