IMP ( Eng. Interface Message Processor ) - nod de comutare de pachete , care era un mini-computer Honeywell DDP-516 avansat , cu interfețe și software speciale . [1] În anii următori, IMP-urile au fost fabricate din Honeywell 316 neîmbunătățit , care putea gestiona două treimi din traficul de comunicații pentru aproximativ jumătate din cost. [2] Folosit la crearea subrețelei ARPANET de la sfârșitul anilor 1960 până în 1989. Aceste calculatoare erau conectate prin linii de comunicație care transmiteau informații cu o viteză de 56 Kbps și au devenit cunoscute sub numele de routere . [3] [4] [5] IMP necesită conectarea la un computer gazdă printr-o interfață specială bit-serial definită în Raportul BBN #1822 . Pentru a îmbunătăți fiabilitatea, fiecare IMP trebuia conectat la cel puțin alte două IMP. Subrețeaua trebuia să fie o subrețea de datagramă , astfel încât, dacă orice linii și IMP-uri nu reușeau, mesajele să poată alege automat o cale alternativă. Software-ul IMP și protocolul de comunicație de rețea ARPA care rulează pe IMPS au fost acoperite în RFC 1, primul dintr-o serie de documente standard publicate de Internet Engineering Council .
Conceptul IMP a fost propus pentru prima dată în 1966 de Davies pentru NPL din Anglia [6] Aceeași idee a fost dezvoltată în mod independent la începutul anului 1967, la o întâlnire a investigatorilor principali pentru Agenția SUA pentru Proiecte de Cercetare Avansată pentru Apărare pentru a discuta legarea vehiculelor din întreaga țară. Larry Roberts condus implementarea ARPANET, a propus inițial rețeaua gazdă Wes Clark a sugerat să se insereze „un mic computer între fiecare computer gazdă și rețeaua liniilor de transmisie” [7] , adică să facă din IMP un computer separat.
urile au fost create de Beranek și Newman din Massachusetts în 1969 BBN a fost contractat să construiască patru IMP, dintre care primul urma să ajungă la UCLA până la Ziua Muncii; celelalte trei urmau să fie livrate la o lună distanță, completând întreaga rețea în total douăsprezece luni. Când senatorul de Massachusetts Edward Kennedy a aflat despre reușita BBN în semnarea acestui acord de un milion de dolari, a trimis o telegramă în care felicita compania pentru câștigarea contractului IMP. [7]
Echipa IMP s-a numit „băieții IMP”: [7]
BBN a început activitatea de programare în februarie 1969 la Honeywell DDP-516 modificate . Codul completat avea șase mii de cuvinte și a fost scris în asamblatorul Honeywell 516 . Software-ul IMP a fost construit în principal pe PDP-1 , unde codul IMP a fost scris și editat și apoi rulat pe Honeywell.
BBN a proiectat IMP-ul pur și simplu ca un „mesager” care doar „stocare și transmite”. [7] BBN a dezvoltat doar specificația gazdă la IMP, lăsând site-urile gazdă să creeze interfețe gazdă la gazdă separate. IMP avea un mecanism de control al erorilor care arunca pachete cu erori fără a confirma primirea; IMP original, nefiind primit o confirmare de primire, va retrimite ulterior un pachet duplicat. Pe baza cerințelor ARPA RFP, IMP a folosit o sumă de control pe 24 de biți pentru corectarea erorilor. BBN a decis ca hardware-ul IMP să calculeze suma de control , deoarece era o opțiune mai rapidă decât utilizarea calculului software. IMP a fost inițial destinat să fie conectat la un singur computer gazdă la fiecare site, dar la îndemnul cercetătorilor și studenților de la site-urile gazdă, fiecare IMP a fost proiectat în cele din urmă pentru a se conecta la mai multe computere gazdă.
Primul IMP a fost livrat grupului lui Leonard Kleinrock de la UCLA pe 30 august 1969. A folosit computerul principal SDS Sigma-7. Grupul Douglas Engelbart de la Institutul de Cercetare Stanford a primit un al doilea IMP la 1 octombrie 1969. A fost atașat la nodul SDS-940 . Al treilea IMP a fost instalat la UC Santa Barbara la 1 noiembrie 1969. Al patrulea și ultimul IMP a fost instalat la Universitatea din Utah în decembrie 1969. Primul test de comunicare între cele două sisteme (la Universitatea din California și la Institutul Stanford) a avut loc pe 29 octombrie 1969, când s-a încercat o transmitere la IMP al Institutului de Cercetare Stanford, dar au fost transmise doar primele două scrisori. . IMP-ul institutului s-a stricat la primirea caracterului „g”. [9] După câteva minute, eroarea a fost corectată și încercarea de transfer a fost finalizată cu succes.
BBN a dezvoltat un program pentru a testa funcționalitatea circuitelor de comunicație. Potrivit unui raport depus de Frank Hart, un test preliminar la sfârșitul anului 1969 bazat pe o perioadă de 27 de ore de activitate pe linia UC-Stanford Institute și a constatat că „aproximativ un pachet din 20.000 dă o eroare”, și testele ulterioare. „Am găsit o variație de 100% a acestor numere - aparent datorită multor perioade de timp neobișnuit de lungi (de ordinul orelor) fără erori detectate. [zece]
A existat o variantă a IMP numită TIP care conecta terminalele precum și computerele la rețea; a fost bazat pe Honeywell 316, o versiune ulterioară a lui 516. Unele IMP-uri bazate pe Honeywell au fost ulterior înlocuite cu IMP-uri BBN cu mai multe procesoare Pluribus , dar BBN a dezvoltat în cele din urmă o clonă de firmware a mașinii Honeywell.
IMP-urile au susținut ARPANET până când DARPA a dezafectat ARPANET în 1989. Majoritatea IMP-urilor au fost fie demontate, aruncate într-o groapă de gunoi, fie expediate către MILNET . Unele dintre ele au devenit exponate în muzee; Kleinrock a pus primul IMP expus public la UCLA. [7] Ultimul IMP de pe ARPANET a fost un IMP de la Universitatea din Maryland.
Raportul BBN #1822 definește o metodă pentru conectarea unui computer gazdă la un IMP. Această conexiune și protocol sunt denumite în mod obișnuit 1822 , după numărul raportului.
Versiunea originală a protocolului 1822 a fost dezvoltată în 1969: deoarece era cu un deceniu înaintea modelului OSI , 1822 nu se potrivește perfect în straturile OSI. Cu toate acestea, este sigur să spunem că protocolul 1822 include un strat fizic , un strat de legătură de date și un strat de rețea . O interfață vizibilă pentru sistemul gazdă transmite adresele nivelului de rețea direct către dispozitivul stratului fizic.
Pentru a transfera date, gazda creează un mesaj care conține adresa numerică a altei gazde din rețea (similar unei adrese IP de pe Internet) și un câmp de date și trimite mesajul prin interfața 1822 către IMP. IMP direcționează mesajul către gazda finală folosind protocoalele care au fost acceptate în cele din urmă de routerele de Internet. Mesajele puteau stoca o lungime totală de 8159 de biți, dintre care primii 96 erau rezervați pentru antet („lider”). [unsprezece]
În timp ce pachetele transmise prin Internet sunt considerate nesigure, s-a garantat că 1822 de mesaje vor fi transmise în mod fiabil către destinație. Dacă mesajul nu a putut fi livrat, IMP a trimis un mesaj gazdei de ieșire că livrarea a eșuat. În practică, totuși, au existat condiții (rare) în care o gazdă ar putea pierde un mesaj de pierdere a unui mesaj sau în care un IMP ar putea raporta o pierdere a mesajului atunci când acesta a fost primit efectiv.
Versiunile ulterioare ale protocolului 1822, cum ar fi 1822L, sunt descrise în RFC 802 și succesorii săi.