TCP/IP Flag Day (1983) i rođenje DNS-a

Dan kad je cijeli internet (onih par stotina računala) preko noći promijenio jezik, a nitko na Zemlji nije ni primijetio.

poglavlje 26/2919 min čitanja1981 – 1990

Nova godina, 1983. Većina ljudi koji su te noći slavili spava mamurluk koji ne bira godišta ni zanimanje — pa tako ni inženjeri koji su baš te noći trebali izvesti nešto što danas zvuči kao ludost. Ne prvo piće u novoj godini, nego prvi trenutak kad je cijela jedna mreža računala, rasuta po sveučilištima i vojnim institucijama Amerike, u istom dahu odlučila zaboraviti jezik kojim je do sada govorila i prijeći na drugi. Svi odjednom. Bez povratka.

Zove se to flag day, dan zastave, i naziv nije slučajan — jedan dan, jedna zastava se spusti, druga podigne, i od tog trenutka nema starog jezika. Nema mješovitih razgovora, nema prevoditelja koji stoji između dva sustava i mrmlja pod nos dok pretače stare pakete u nove. NCP, protokol koji je ARPANET govorio od svog rođenja, tog dana ide u mirovinu. TCP/IP — skraćeno od Transmission Control Protocol/Internet Protocol, dva pravila koja zajedno određuju kako se poruka reže na male komadićke zvane paketi, kako ti komadići putuju kroz mrežu i kako se na drugom kraju opet slažu u cjelinu — dijete koje su Cerf i Kahn skicirali godinama prije (sjećaš se, pogl. 18 — tamo je taj protokol postao zakon, na papiru), sada mora postati zakon i u praksi, na terenu, na strojevima koji ne mare za elegantne specifikacije nego samo žele razmjenjivati pakete kao i jučer.

Nema kamera, nema izvještaja za novine, nema nikoga tko bi to zapisao kao događaj vrijedan pamćenja. Sutradan, 2. siječnja, svijet izgleda potpuno isto. Ljudi idu na posao, neki od njih s glavoboljom koja nema nikakve veze s protokolima, i nitko od njih ne zna — a većina ni ne bi znala da im kažeš — da je upravo prošle noći nešto tiho postalo drugo. Ne izgleda bolje, ne radi brže, ne osjeti se nikako. Samo je, negdje u pozadini, promijenjen jezik na kojem će se, od ove točke nadalje, temeljiti gotovo sve što će ikad zvati internet.

Ali promjena jezika samo je pola priče. Jer kad su svi ti strojevi počeli govoriti istim protokolom, odjednom se pojavio drugi, prizemniji problem — kako se, zaboga, uopće zovu? Tko vodi popis? I što se događa kad ta lista, kao svaka lista koja raste brže od pameti koja je vodi, počne pucati po šavovima?

Zamisli da ti netko kaže: sutra u ponoć, svi telefoni na svijetu prestaju govoriti jedan jezik i počinju govoriti drugi. Ne postupno, ne firma po firma, ne kvartal po kvartal s prijelaznim razdobljem i podrškom za stari sustav do daljnjega. Svi. Odjednom. U istoj sekundi. Zvuči kao ludilo, zvuči kao recept za civilizacijski kolaps — a upravo se to dogodilo 1. siječnja 1983., i zvalo se, sasvim ozbiljno, Flag Day.

Do tog jutra ARPANET je govorio NCP-om — Network Control Protocolom, starim i pojednostavljenim dogovorom o tome kako računala razgovaraju. Od tog jutra govorio je TCP/IP-om, protokolom koji smo upoznali u prethodnom poglavlju, onim koji je trebao nadživjeti nuklearni rat — a zapravo je nadživio i NCP, i ARPANET, i gotovo sve tehnologije spomenute u ovoj knjizi.

OK, sve jasno do sad? Dobro, jer sad dolazi dio koji zvuči nemoguće: ovo je stvarno funkcioniralo.

Priprema je, unatoč tome, trajala mjesecima — jer i s nekoliko stotina strojeva, ovo je bio pravi mali rat. Jon Postel i njegovi kolege slali su upozorenja unaprijed, mjesecima ranije, s onim tonom koji imaju ljudi koji znaju da ih polovica čitatelja neće poslušati: nadogradite kod, testirajte, budite spremni, jer nakon 1. siječnja stroj koji još govori NCP-om jednostavno neće postojati za ostatak mreže. Ne pokvaren. Ne spor. Nevidljiv. Kao da si nastavio pisati pismo dok su svi ostali prešli na telefon.

I evo zanimljivog dijela: neki timovi to nisu poslušali do kraja. Postojala je čak i improvizirana strategija za zaostale strojeve — privremeni prevoditelji, takozvani gatewayi, koji su ih još neko vrijeme prevodili na novi jezik, dok se i posljednji tvrdoglavi administrator ne bi sažalio i prebacio sustav. Ali suština je ostala ista: NCP je od tog dana povučen u mirovinu, bez otpremnine, bez pozdravne zabave. Nitko mu nije organizirao odlazak sa stilom. Jednostavno je — prestao postojati u praksi, dok se svijet, uglavnom, nije ni sjetio da je upravo prisustvovao trenutku koji će, retroaktivno, postati jedan od temeljnih dana informatičke povijesti.

Dogodilo se to toliko tiho da ni sami sudionici, čini se, nisu odmah shvatili razmjere. Nema naslovnice New York Timesa. Nema izjave za javnost. Postoji, doduše, nešto puno bolje od naslovnice — folklor koji je preživio do danas: značke. Stvarne, fizičke značke s natpisom „I survived the TCP/IP switchover”, koje su neki od preživjelih te noći nosili na konferencijama godinama poslije, kao veterani neke uistinu opskurne bitke. Jer i jesu bili veterani — samo im je bojno polje bio terminal, a neprijatelj timeout koji se nikad nije javio.

Ono što nitko te noći nije primijetio — a mi hoćemo, za par stranica — jest da je TCP/IP, taj novi zajednički jezik, upravo otvorio vrata za sljedeći, još veći problem. Jer kad svi strojevi konačno govore istim protokolom, ostaje pitanje koje odjednom postaje hitno: kako se, dovraga, uopće zovu?

Problem imenika: HOSTS.TXT
§ 02

Problem imenika: HOSTS.TXT

Dobro, TCP/IP je zaživio. Sva računala govore isti jezik, pakete šalju i primaju kako treba. Ali tu se pojavljuje jedan sitan, gotovo smiješan problem: kako uopće znaš KOME nešto šalješ? Ne po broju — brojevi, odnosno IP adrese, postoje i rade svoj posao, nezahvalan i tehnički: svaki uređaj na mreži dobije četiri broja odvojena točkama, svaki između 0 i 255, poput 36.44.0.6, i to je njegova jedinstvena adresa, otprilike kao kućni broj, samo puno dosadniji za pamćenje. Nego po imenu. Jer čovjek ne pamti 36.44.0.6, čovjek pamti ime. A 1983. postoji točno jedan način da mreža sazna koje ime pripada kojem broju.

Postoji datoteka. Zove se, bez ikakve mašte, HOSTS.TXT. I u njoj — čekaj ovo — stoje imena SVIH računala na cijelom ARPANET-u. Svih. Jedna jedina, obična tekstualna datoteka, koju održava jedna žena, Elizabeth Feinler, u Stanford Research Institute. Zamisli telefonski imenik cijele planete kao Wordov dokument na tvom desktopu. E, tako je to izgledalo.

I dobro, može, u redu — sustav malen, pregledan, svi se otprilike poznaju. Ali kako se to ažurira? Ovo je najbolji dio: mailom. Netko na MIT-u kupi novo računalo, smisli mu ime i onda pošalje mail Stanfordu. Čovjek na drugom kraju to pročita, otvori HOSTS.TXT, upiše novi red, spremi ga, i onda tu novu verziju datoteke ručno distribuira dalje, svima kojima treba. Nema baze podataka. Nema automatike. Nema ni potvrde da je unos točan — ako pošalješ krivo ime ili krivu adresu, to krivo ime i kriva adresa sad putuju cijelom mrežom, dok ih netko drugi ne primijeti i ne pošalje ispravak. Mailom, naravno.

Sad, dok je mreža imala pedesetak, stotinjak strojeva, ovo je bilo — recimo — podnošljivo. Sporo, sitničavo, birokratsko, ali podnošljivo. Problem je što mreža nije planirala stati na stotinjak strojeva. Rasla je. A tu matematika, ta obična, dosadna matematika koju svi vole zaboraviti dok grade nešto novo, počinje raditi protiv tebe.

Evo kako propast izgleda iz blizine, korak po korak. Svako novo računalo znači novi mail. Svaki mail znači čovjeka koji čita, provjerava, upisuje, spaja. Svaka nova verzija HOSTS.TXT-a mora se ručno prekopirati na SVAKI stroj koji je koristi — jer, sjeti se, ovo nije nešto što se automatski sinkronizira preko mreže, ovo je datoteka koju fizički prenosiš s mjesta na mjesto. Što je mreža veća, to je popis dulji, prijenos teži, ažuriranje sporije, a greške — jer ljudi tipkaju, ljudi griješe — sve učestalije. Datoteka koja je trebala DRŽATI mrežu na okupu počinje je kočiti. Rastom mreže rasla je i vjerojatnost da netko, negdje, u trenutku kad mu zatreba, ima zastarjelu ili krivu verziju popisa.

I to je bila prognoza za sredinu osamdesetih, ne za daleku budućnost. Broj računala na mreži rastao je brže nego što je jedan čovjek u Stanfordu mogao čitati mailove i prekucavati redove. Nije trebao pad sustava, nije trebao virus, nije trebao nikakav dramatičan incident da se sve raspadne — trebalo je samo malo strpljivosti i kalendar. Sustav se sam gušio vlastitim uspjehom, što je, ako ćemo pravo, najdosadniji i najsigurniji način da nešto propadne: ne prasak, nego postupno gušenje papirologijom.

Netko je to morao vidjeti unaprijed. I netko jest — mladi istraživač po imenu Paul Mockapetris, koji je gledao tu istu tablicu s imenima i brojevima i zaključio ono što je i tebi sad, čitajući ovo, vjerojatno jasno: jedna centralna datoteka koju ažurira jedan čovjek mailom nikad neće moći skalirati na mrežu koja jednog dana poveže milijune strojeva. Trebalo je nešto pametnije. Nešto raspodijeljeno. Nešto što ne ovisi o jednom čovjeku, jednom stroju i jednoj poštanskoj pošiljci.

DNS (1983): hijerarhija umjesto sveska
§ 03

DNS (1983): hijerarhija umjesto sveska

Paul Mockapetris je 1983. bio istraživač na Sveučilištu Južne Kalifornije (University of Southern California), i dobio je zadatak koji zvuči kao kazna: smisli nešto što će zamijeniti HOSTS.TXT. Ne popraviti ga — zamijeniti. Cijelu filozofiju jedne velike liste na jednom stroju trebalo je baciti kroz prozor i smisliti nešto što ne puca kad mreža naraste. Mockapetris je to napravio u nekoliko mjeseci, sam, i rezultat se i danas zove Domain Name System — DNS. Vjerojatno najuspješniji tehnički dizajn u povijesti interneta, o kojem devedeset devet posto ljudi koji ga koriste svaki dan nema pojma da postoji.

Ideja je, kad je razložiš, bezobrazno jednostavna. Umjesto jedne knjige u kojoj stoji svako ime na svijetu, napraviš stablo. Na vrhu je korijen — ono što u adresi ne vidiš, ali tehnički postoji, prazna točka na kraju koju preglednik pojede bez pitanja. Ispod korijena su vršne domene: .com, .edu, .org, .gov, .mil, i one koje danas smatramo egzotičnima jer je internet u to doba bio sedam ustanova i pola vojske. Ispod .com su domene poput ove što ju upravo zamišljaš, tvoja-firma.com. Ispod nje mogu biti poddomene, mail.tvoja-firma.com, ftp.tvoja-firma.com, i tako dalje, u dubinu koliko hoćeš.

Genijalnost nije u samom stablu — stabla su stara koliko i informatika, koristimo ih i za mape na računalu i za obiteljsko rodoslovlje. Genijalnost je u tome što nitko, baš nitko, ne mora znati cijelo stablo. Onaj koji vodi .com ne mora znati ništa o .edu. Onaj koji vodi tvoja-firma.com ne mora pitati nikoga za dozvolu da doda mail.tvoja-firma.com — samo to prijavi i gotovo. Zove se delegacija, i to je ta riječ koja rješava problem koji je ubio HOSTS.TXT. Odgovornost se cijepa na komadiće, svaki komadić ide svom čovjeku, i mreža može rasti u nedogled bez da ijedan jedini stroj mora znati sve o svima.

Zamisli to kao veliku zgradu bez uprave zgrade. Nema recepcije koja zna gdje je tko, ali svaki kat zna tko je na njemu, i svaki kat zna kome da te preusmjeri ako pitaš za nekog s drugog kata. Pitaš dolje, dolje kaže »taj je na petom«, peti kaže »taj je u sobi 502«, i za tri koraka si na cilju, a nitko od njih troje nije morao pamtiti raspored cijele zgrade. To je DNS. Svaki put kad utipkaš adresu, tvoje računalo prolazi upravo taj razgovor — pita korijen, korijen ga pošalje na .com, .com ga pošalje na server koji zna za tu konkretnu domenu — a ti to nikad ne vidiš, jer se sve odvija u razmaku manjem od trepaja oka.

Sad, znaš tko postavlja pravila igre, pa vjerojatno pogađaš tko je odlučio da .com ide korporacijama, .edu sveučilištima, .org neprofitnim organizacijama, .gov vladi, a .mil vojsci. Nitko posebno mudar — samo su morali negdje početi, i te su kategorije zvučale logično jednoj šakici ljudi na američkom sveučilištu 1985. godine. Nitko od njih nije sanjao da će .com jednog dana biti sinonim za cijelu internetsku ekonomiju i da će ljudi jedni drugima prodavati tricifreni niz slova ispred te točke za iznose koji se mjere u milijunima. Ali o tome malo kasnije — to je priča za sljedeće poglavlje, ne za ovo.

Ali to je priča za drugi dan. Za sada, u siječnju 1983., dovoljno je reći da je problem s HOSTS.TXT-om — onaj matematički neizbježan kolaps s prošle stranice — dobio je rješenje koje se u srži neće mijenjati desetljećima. DNS je, doduše, osmišljen i objavljen 1983., ali kao ideja na papiru — prvi pravi sustavi koji su ga tjerali u praksi stigli su tek 1984. i godinama nakon toga, dok se HOSTS.TXT konačno nije ugasio. Ali onda kad je zaživio, DNS iz osamdesetih i DNS koji tvoj router pita večeras dok skrolaš telefon u krevetu su, u srži, isti sustav. Malo su mu dodali sigurnosne slojeve, malo proširili vokabular vrsta zapisa, ali stablo je isto stablo. Rijetko koja tehnička odluka iz osamdesetih preživi do danas bez da je netko sve poruši i krene ispočetka. Ova je preživjela jer je bila dovoljno skromna da ne pokuša znati sve — samo svoj komad, i kome da vjeruje za ostalo.

Prva imena
§ 04

Prva imena

Dobro, imamo sustav. Mockapetris je nacrtao stablo, delegacija radi, .com i .edu i .org su tu — sad treba netko da bude prvi. Netko mora zabiti prvi kolčić u zemlju i reći: „ovo je moje ime na internetu”. I 15. ožujka 1985. taj netko je bio Symbolics Inc., firma iz Cambridgea koja je pravila specijalizirana računala za umjetnu inteligenciju — LISP mašine, one koje smo u prošlom poglavlju već ispratili na groblje tehnologija. Symbolics.com. Prva registrirana .com domena u povijesti interneta pripada tvrtki koja danas postoji samo kao fusnota i kao vlasnik jedne vrlo skupe adrese. Poetično, ako voliš takve stvari. A ja volim.

Iza Symbolicsa u redu su stajali BBN (da, isti BBN koji je gradio IMP-ove još u prvim poglavljima ove knjige), Thinking Machines, MCC, Northrop i DEC — Digital Equipment Corporation, koji je 9. rujna 1985. upisao dec.com i time zaokružio popis — i svaka od njih je tim upisom dobila svoje mjesto u tzv. zoni, onom popisu koji netko, negdje, vodi za baš tu domenu i jamči da ime vodi do pravog mjesta na mreži. Šest domena do kraja 1985. Šest! Cijele godine! Zamisli danas nekoga tko registrira šest domena — to ti je petak popodne za jednog spekulanta s previše kave i previše slobodnog vremena. Tada je to bila cijela svjetska produkcija .com imena za dvanaest mjeseci.

I sad dolazi dio koji ti danas, s tvojim iskustvom kupovine domene za devet dolara godišnje uz reklame na svakom trećem videu, mora zvučati kao urbana legenda: registracija je bila besplatna. Ne jeftina. Besplatna. Pošalješ zahtjev, netko na drugom kraju provjeri da ime nije zauzeto, upiše te u zonu, i to je to. Nema računa, nema kartice, nema obnove pretplate, nema onog žalosnog mejla „domena vam istječe za tri dana” koji ti sad stiže svake godine u isti tjedan. Tako je ostalo skoro deset godina. Network Solutions — privatna firma koja je od američke vlade dobila ugovor za vođenje registra .com, .net i .org domena, pa je time postala jedini „vratar” kroz koji je moralo proći svako novo ime — počela je naplaćivati registracije tek 1995., i preko noći je, u ovom slučaju bukvalno, jedna adresa u tekstualnom obliku postala roba s cijenom.

Ali evo prave poante, i ona nema veze s cijenom. Nitko — ni Mockapetris, ni ljudi u BBN-u, ni šest firmi koje su se prijavile te prve godine — nije ni na trenutak posumnjao da će ime na internetu jednog dana vrijediti novac. Ne kao usluga koju plaćaš, nego kao imovina. Kao nešto što se kupuje, drži, prodaje dalje, i s čime se spekulira kao s parcelom zemlje uz buduću autocestu. A zašto bi i posumnjali? Gledali su, u biti, u adresar. Adresar se ne kupuje i ne prodaje, adresar se koristi. Ti ne plaćaš nekome samo zato što je u svom telefonu upisao tvoje ime prije tebe.

Symbolics.com danas ne uređuje Symbolics — firma je propala, ime je 2009. godine prodano privatnom kupcu za procijenjenih otprilike 13.000 dolara, i sad postoji kao muzejski eksponat interneta, digitalna nadgrobna ploča s dobrom pričom. Prva domena na internetu nadživjela je firmu koja ju je registrirala. Ime je postalo vrjednije od kompanije koju je trebalo predstavljati — a to, ako se malo odmakneš, nije loša metafora za cijelo ovo poglavlje. 1983. gradiš vodovod da ti cijevi ne pucaju. 1985. netko upisuje prvo ime u knjigu. I nitko, baš nitko, ne sluti da će jednog dana ta knjiga vrijediti više od gradova koje spaja.

Tiha infrastruktura
§ 05

Tiha infrastruktura

Evo priznanja koje boli, ali je istinito: ne znaš gdje su tvoji DNS serveri. Nemaš pojma. Koristiš ih svaki dan, po nekoliko stotina puta, i to je u redu, jer nitko drugi ne zna ni za svoje. DNS (Domain Name System, sustav imena domena) je sustav dizajniran da bude zaboravljen čim proradi, i u tom smislu je Mockapetrisov projekt jedan od najuspješnijih inženjerskih poduhvata dvadesetog stoljeća — uspjeh mu se mjeri po tome koliko rijetko moraš razmišljati o njemu.

A onda jednog dana ne proradi. I cijeli internet, taj ogromni, moćni, decentralizirani sustav koji je nadživio Hladni rat i dot-com balon, odjednom se pretvori u hrpu kablova koji ne znaju gdje je bilo što. Ne znaš to iz teorije — znaš to iz iskustva, ako si dovoljno dugo na ovoj planeti s internetskom vezom. Facebook padne na nekoliko sati 2021. i pola svijeta objavljuje na drugim platformama da je Facebook pao — ironija koju ni Mockapetris 1983. nije mogao predvidjeti. AWS-ova DNS regija zapne i pola interneta odjednom „ne radi”, iako svaki pojedini server savršeno radi. Nije poanta da je nešto eksplodiralo. Poanta je da nitko nije mogao pronaći put do njega.

I tu dolazimo do stvari koju treba reći glasno, jer je lako prespaviti: najvažniji sustavi na svijetu nisu ti koje slaviš. Nisu ti s konferencijskim govorima i milijardama vrijednosti na burzi. Najvažniji sustavi su ti koje ne primjećuješ dok rade savršeno, a primijetiš ih tek kad prestanu — vodovod, struja, i, evo, DNS. Nitko ne piše pjesme o dobrom sustavu odvodnje. Ali probaj živjeti bez njega tjedan dana pa mi reci je li manje bitan od aplikacije koja mjeri broj koraka.

Vrati se sad na trenutak na 1. siječnja 1983. Grupa neispavanih inženjera taj dan riješila je prvi veliki problem — kako da mreža uopće razgovara sama sa sobom (TCP/IP) — a rješenje drugog problema, kako da zna gdje su svi (DNS), stiglo je iste godine, tek koncem 1983. I onda su, po svemu sudeći, otišli doma i legli. Nisu znali da su upravo položili cijevi za grad koji još nije bio ni nacrtan. Ta mreža od nekoliko stotina računala, ta datoteka HOSTS.TXT koja je pucala po šavovima, to stablo domena koje je tek nicalo — to je vodovod. Kanalizacija. Infrastruktura na kojoj se ništa vidljivo još nije izgradilo.

Ali to je već druga priča, za nekoliko poglavlja dalje. Za sad, dovoljno je znati da je 1983. bila godina kad je infrastruktura civilizacije tiho legla u zemlju, bez fanfara, bez novinskih naslova, bez ičega osim nekolicine ljudi koji su vjerovali da rade nešto korisno. Bili su u pravu. Samo nisu znali koliko.