reklama

Zrození internetu 7: Jak inženýři vdechli život IMPům

Základním stavebním prvkem prehistorického internetu konce 60. let byl IMP – první internetová brána s výkonem 1 MHz, která řídila vše, co teklo v Arpanetu.

Internet má za sebou bohatou historii a jeho struktura a technologie se v čase výrazně měnily. Dnes si připomeneme programování první generace internetových uzlů, kterým se tehdy říkalo IMP a jejich úkolem bylo propojení různých sítí do jednoho celku.

Článek je součástí seriálu Zrození internetu, všechny díly najdete zde

Silvestr roku 1968 byl posledním dnem, kdy si Frank Heart se svým týmem mohl dovolit ležérně prolenošit celý večer. Vzhledem k zakázce od ARPA, která požadovala postavit první počítačovou síť do konce roku 1969, se měly následující týdny a měsíce změnit v urputný závod s časem. Na konci tohoto maratónu neměli členové týmu daleko ke kolapsu.

Od samého začátku práce na projektu musel Frank Heart překonávat opozici na všech stranách. Prakticky nikdo, od telefonních společností po vědecké pracovníky, nevěřil, že by síť počítačů spojená komplikovaným systémem s přepojováním paketů někdy mohla fungovat. Nešlo ani tak o hardware – zde se všichni shodovali, že jednotlivé komponenty lze zajisté vyvinout a propojit. Ale aby celý ten složitý a komplexní systém opravdu běžel dle předpokladů, tomu věřil jen málokdo. Skeptici kromě toho namítali, že i kdyby se to přeci jen podařilo, bude taková síť prakticky k ničemu. Kdo by ji vlastně měl používat?

Tím se naštěstí Heart trápit nemusel. Jeho úkolem bylo vybudovat síť, její budoucí využití jej zajímalo pouze z hlediska kapacity síťového provozu a nutnosti dimenzování hardwaru dle odhadovaného zatížení. Jeho tým přijal několik omezujících předpokladů. Zprávy proudící sítí měly mít maximální velikost 8 192 bitů (tedy jeden kilobajt) a jednotlivé pakety velikost 1 024 bitů.

Prehistorický hardware síťových bran IMP

Jak už jsme se zmínili v předchozím článku, síť měla být stvořená pomocí uzlů, kterým se říkalo IMP (Interface Message Processors). Jednalo se o upravené počítače Honeywell DDP-516 se speciálním síťovým rozhraním navrženým vývojářským týmem.

Ve srovnání se současnou výpočetní technikou se jednalo o stroje z úplně jiného světa. Jejich výkon dosahoval cca 1,1 MHz, paměť feritové konstrukce dosahovala až 12 kB a musel se do ní vejít nejen vlastní program, ale pochopitelně i všechny zpracovávané síťové zprávy, na které tým předběžně vyhradil buffer o velikosti celých osmi kilobajtů. Úžasné!

Navzdory své malé kapacitě se jednalo o celkem velkou krabici. Pokud bychom dnešní gigabajtové paměti hodlali realizovat za pomocí této technologie, zabrala by příslušná kapacita více než půl hektaru.

Klepněte pro větší obrázek
IMP s počítačem DDP-516 v celé své kráse (Zdroj: www.computerhistory.org)

Vzhledem k tomu, že počítač neměl žádnou paměť ROM, ani harddisk, tak by jistě každého zajímalo, jakým způsobem se do něj tedy nahrával obslužný program. Samozřejmě za pomocí papírové děrné pásky. Restart v případě selhání probíhal automaticky a jediné, co se požadovalo, bylo nutné převinutí pásky. Až později Heart se svým týmem vyvinuli speciální technologii, která umožnila nahrání programu pomocí sítě ze sousedního funkčního IMPu.

Tento z dnešního pohledu velmi primitivní hardware však tvůrce nijak neděsil. Trápila je totiž spousta jiných teoretických problémů celého systému. Především Bob Kahn, který se ujal simulací síťového provozu, byl tímto problémem doslova pohlcen a ukázal se jako jeden z hlavních tahounů celého projektu. Vlastním hardwarovým a softwarovým problémům moc nerozuměl, zajímala jej celková architektura sítě a funkčnost systému na úrovni zpráv a paketů. Byl to on, kdo přesvědčil Robertse, aby se síť postupně rozšířila na celé USA. Samozřejmě, bylo možné ji vybudovat jen v jedné laboratoři a mnozí to také navrhovali. Pro Kahna však ověření teorie nepředstavovala funkčnost na nějaké omezené vzdálenosti. A tak zatímco v Anglii získal Donald Davies konečně prostředky na vybudování maličké laboratorní „sítičky“, v USA se pustili do mnohem velkolepějšího projektu. Kahn ovšem věřil, že jedině velká síť ukáže, zda celá teorie funguje, či ne.

 Jak již bylo řečeno, hardware představoval vcelku nejmenší problém. Severo Ornstein navrhl speciální modul, který měli v Honeywellu zabudovat do svého standardního minipočítače a který měl zajistit síťové připojení. Nicméně tým dospěl k závěru, že pokud možno většinu funkcí zajistí softwarově, protože změny hardwaru se v případě špatného návrhu mnohem obtížněji realizují. Ne, že by hardware byl pouze pasivní součástí. Například počítaní kontrolních součtů (24-bitových) se kvůli rychlosti realizovalo právě hardwarem. Ovšem vše na vyšší úrovni už měl na starosti software. Díky tomu byl Ornstein v podstatně jednodušší pozici, než tvůrci softwaru Crowther a Walden.

Programování IMPů

Psaní softwaru na tehdejších počítačích bylo něco úplně jiného, než co známe dnes. Každému je asi jasné, že kód musel být z důvodu maximální efektivity stvořen přímo v assembleru. Potíž tkvěla v tom, že tým zprvu neměl žádný z počítačů tohoto typu k dispozici, no a když se k nim konečně testovací exemplář dostal, zjistili, že dodávaný assembler je absolutně mizerný. Z tohoto důvodu byl veškerý software naprogramován na PDP-1, zde zkompilován a pomoci děrovačky vytvořena páska s programem pro DDP-516. Na tomto počítači se kód vyzkoušel, zjištěné chyby se upravily na PDP-1 a tak stále dokola

Klepněte pro větší obrázek
Práce na PDP-1 počátkem šedesátých let (Zdroj: www.computerhistory.org)

Nesmíme si to ťukání kódu ale představovat optikou dnešní doby. PDP-1 mělo jen velmi speciální kulatý vektorový displej, nikoliv klasický displej textový – ten si někteří majitelé připojovali svépomocí, nešlo totiž o standardní vybavení. Místo něj se ke vstupu a výstupu dat používaly terminály a psací stroje. Vy jste napsali svůj vstup, zatímco počítač vám odpověděl na tiskárně. Sloučit vaše příkazy s reakcí počítače nebylo jednoduché. Jako maximální luxus existoval v té době systém JOSS, na němž jste již s počítačem vedli snáze pochopitelnou diskusi, kdy vámi zadaný text byl na papíře vytištěn zeleně, zatímco odpověď počítače byla černá. Tento systém ovšem ve firmě BBN neměli k dispozici, museli si vystačit s klasickými terminály.

Nelze se tedy divit, že softwaroví mágové trávili v práci dlouhé hodiny až do pozdní noci. Vzhledem k tomu, že hned vedle BBN sídlila vyhlášená čínská restaurace, neměli s tím zase až tak velký problém, jelikož únavu zaháněli jídlem a vydatnými porcemi koly. Jediný Crowther se čínskému jídlu odmítal přizpůsobit, neboť už v těchto dávných dobách bláznil za zdravou a kvalitní stravou, což v Americe této doby představovalo závažnou duševní úchylku. Programátoři a zvláště ti geniální mají obvykle nějaká svá specifika, což dnes už asi nikoho nepřekvapuje.

Klepněte pro větší obrázek
PDP-1 dnes existuje v jednom funkčním exempláři, opatrně restaurovaném v Computer History Museum (Zdroj: www.computerhistory.org)

Crowther byl vůbec pro Hearta poněkud náročným oříškem. Vzhledem k tomu, že práce pro organizaci ARPA samozřejmě znamenala mnoho jednání s vysoce postavenými vládními úředníky, měl Heart pokaždé hrůzu z toho, co vše si na sebe Crowther zase obleče. Navléct jej do obleku samozřejmě nepřicházelo v úvahu. Heart za pomocí slibů, podbízivosti a především silných hlasivek dosáhl toho, že se Crowther (a s ním i Ornstein) byl ochoten objevit na poradách v solidním slušivém svetru. Bohužel, i toto minimum selhalo. Crowther nadále trval na svých sešlapaných teniskách, zatímco Ornstein skrýval pod svetrem tričko s nápisem proti válce ve Vietnamu, což na poradě v Pentagonu působilo poněkud netaktním dojmem.

Tým ale musel toto všechno akceptovat. Museli přežít Crowtherův jeskyňářský zápal, s nímž doprovázel svoji manželku, elitní jeskyňářku, do těch nejspletitějších podzemních systémů a kreslil v nich mapy. Toto se mu ostatně velmi hodilo při tvorbě první textové hry Adventure, jak si ještě řekneme. Stávalo se, že o něm celý víkend nikdo nevěděl a v pondělí se velký speleolog objevil v kanceláři, stále ještě pomačkaný, vlhký a špinavý. To vše tam ale museli překousnout, protože bez Crowthera to jednoduše nešlo. Díky jemu se podařilo realizovat ten vůbec největší problém – dynamické směrování paketů. Crowther napsal krátký ale nesmírně efektivní kód, který dokázal v reálném čase sestavovat dynamickou tabulku funkčních uzlů sítě, takže každý IMP vždy věděl, jakou cestou může kterou zprávu poslat.

Klepněte pro větší obrázek
Takto nějak vypadal kód na PDP-1 v šedesátých letech - spousta ručních poznámek byla nezbytná (Zdroj: www.computerhistory.org)

Další geniální kód vznikl z reálné Heartovy obavy, co se stane, až první IMPy dorazí do univerzitních laboratořích. Co udělá takový zvědavý student, když bude mít najednou před sebou nový neznámý počítač? No začne jej zkoumat. Je počítač schopen zvládnout takový zákeřný útok? Kdepak, Heart chtěl mít jistotu, že jeho IMPy fungují, a chtěl toto zjistit přímo z tepla své kanceláře? Jak? Za pomocí síťové diagnostiky. Chtěl mít možnost jen s pomocí vzdálené správy jednotlivé IMPy testovat, restartovat či do nich nahrát novou verzi softwaru. V té době se jednalo o naprosto šílený požadavek – ovšem Crowther s Waldenem mu jej splnili.

První setkání

Na svátek zamilovaných roku 1969 se tým vývojářů z BBN setkal se zástupem nadšenců z univerzit a vědeckých ústavů, pro které měl vytvořit počítačovou síť. Zatímco členové týmu (s výjimkou Boba Kahna) brali svou práci jen jako další z mnoha výzev, nikoliv jako něco zásadního a přelomového, najednou se setkali s lidmi, kteří o té plánované síti už léta pořádali konference a dokonce se na ni těšili. Mnozí z tvůrců něco takového příliš nechápali a i když mezi jednotlivými skupinami vznikla nějaká ta pouta velkého přátelství (Kahn si skvěle rozuměl s Kleinrockem), většinou se jednalo o „sňatky z rozumu“, protože práce se musela dokončit a systém přivést k funkčnosti.

Frank Heart se na ten dav nedíval s velkým nadšením a hned spatra jim zdůraznil první zásadní mantru: „Počítače, které od nás dostanete, nebudou sloužit k ničemu jinému, než k síťovému provozu! Ani se na ně nepodíváte. Jediné, co se od vás očekává, bude občasné převinutí pásky s programem!“

Měl pocit, že jedině oni plánované síti rozumí a ti studentíci jsou jen takový ten vědecký potěr, který do hloubky nic pořádně nechápe. Netušili, že se právě setkali se zásadními veličinami internetové historie.

Článek je součástí seriálu Zrození internetu, všechny díly najdete zde

Jakkoliv první setkání trpělo nedostatkem srdečnosti a tvůrci IMPů se k budoucím velmi slavným jménům nechovali s náležitou úctou, postupně pochopili, s kým mají tu čest. Vint Cerf, Steve Crocker, Joe Postel a další skvělí odborníci se nenechali jen tak přehlížet. I oni museli přiložit ruku k dílu, aby se první počítačová síť stala skutečností. I oni museli udělat maximum proto, aby na podzim roku 1969, jen pár měsíců po historickém letu na Měsíc, mohl proběhnout první login. My jsme u nás začali normalizovat, zatímco na druhém konci oceánu se tvořila historie!

Témata článku: Seriál Zrození internetu, Historie, SE, Heart, Frank, Muni, Postel, Adventure, Honeywell

12 komentářů

Nejnovější komentáře

  • Stanleyy 28. 3. 2013 23:23:26
    Zprávy proudící sítí měly mít maximální velikost 8 192 bitů (tedy jeden...
  • TrueStory 28. 3. 2013 12:31:42
    Když se řekne "IMP", tak si automaticky vybavím své dětství, hru Doom2 a...
  • akira.uzai 28. 3. 2013 7:51:29
    Četl jsem na toto téma odbornou knihu...
reklama
Určitě si přečtěte

ASUS ZenBook 3 se začal prodávat v Česku. Je ve všem lepší než MacBook, ale bude to stačit?

ASUS ZenBook 3 se začal prodávat v Česku. Je ve všem lepší než MacBook, ale bude to stačit?

** Novinka od Asusu míří přímo proti MacBooku od Applu ** Nabídne daleko více výkonu za stejné peníze

2.  12.  2016 | David Polesný | 133

UPC překopli páteřní kabel. V Brně i druhý den nejede internet ani kabelovka

UPC překopli páteřní kabel. V Brně i druhý den nejede internet ani kabelovka

** V Brně byl velký výpadek služeb UPC ** Důvodem je překopnutý páteřní kabel ** V některých lokalitách služby stále nefungují

Včera | Jakub Čížek | 67


reklama