Czyli opowiadania o tym, jak to się wszystko zaczęło. Ciąg dalszy

W sumie to zaczynając od historii firewalli złamałem chronologię powstawania rozwiązań, które przyczyniły się do stworzenia i rozwoju Internetu, bo pierwszym urządzeniem, pomijając oczywiście same komputery, był router. I nie, nie popełniam błędu używając liczby pojedynczej, bo wszystko zaczęło się od jednego, konkretnego urządzenia, uruchomionego w 1969 roku na Uniwersytecie Kalifornijskim w Los Angeles. A oto jak do tego doszło.

Jeszcze taka mała dygresja. Planowałem ten artykuł już jakiś czas temu, ale tak mi schodziło i pewnie jeszcze jakiś czas bym się z tym ociągał, gdyby nie lektura „Innowatorów” Waltera Isaacsona. Rozdział 7 podziałał jako impuls do działania, tym bardziej, że książka dostarczyła prawie gotowy materiał. Więc kto czytał, zapewne zauważy obszerne zapożyczenia, a kto jeszcze nie czytał, może poczuje się zachęcony, bo naprawdę warto sięgnąć po tę pozycję. I chociaż książka ma ponad 700 stron, a rozdział 7 blisko 70, to czyta się ją naprawdę jak dobrą powieść.

Potrzeba (a może wygoda) matką wynalazku

Jak większość wynalazków, tak i router zrodził się z potrzeby rozwiązania konkretnego problemu. Problemem w tym wypadku był egoizm naukowców i potrzeba oszczędności środków, wydawanych na bardzo drogi, a nie zawsze najlepiej wykorzystywany sprzęt komputerowy (skąd my to znamy!). Każdy z uniwersytetów i ośrodków badawczych związanych kontraktami z agencją ARPA (Advanced Research Projects Agency), chciał mieć najnowszy sprzęt o największych możliwościach, oczywiście na własny i wyłączny użytek. Prowadziło to do mało racjonalnego wydatkowania zawsze zbyt szczupłych środków, jakie były dostępne na badania i duplikowania sprzętu. Nieekonomiczność tego podejścia zauważył Robert William Taylor (Isaacson w swojej książce nazywa go Bobem, choć nie było to jego imię a nazywali go tak znajomi), który objął kierownictwo IPTO (Information Processing Techniques Office, czyli Biuro Technik Przetwarzania Informacji, było jednym z departamentów ARPA) w 1966 roku. Taylor uświadomił sobie, że warto by było stworzyć między ośrodkami akademickimi elektroniczne łącza, dzięki którym urządzenia mogłyby dzielić zadania i czas pracy, a ludzie w łatwy sposób wymieniać informacje, bez konieczności odbywania czasochłonnych podróży. Niewykluczone też, że impulsem do działania były trzy terminale – każdy z innym zestawem poleceń – podłączone do różnych centrów komputerowych, sfinansowanych przez agencję ARPA, jakie stały w biurze Taylora w Pentagonie. Jak rzekomo miał powiedzieć sam szef IPTO, konieczność używania tych trzech terminali „doprowadziła do objawienia”. Sieć sfinansowana i narzucona jako obowiązkowa przez ARPA, pozwoliłaby ośrodkom badawczym dzielić się zasobami obliczeniowymi i podejmować współpracę przy różnych projektach. No a skutkiem ubocznym byłoby pozbycie się przez Taylora dwóch zbędnych terminali stojących w jego biurze 😉

Właściwy człowiek na właściwym miejscu

Taylor zlecił prace nad rozwiązaniem powyższego problemu Larryemu Robertsowi. Skądinąd po latach panowie serdecznie się nie lubili i każdy z nich zawzięcie umniejszał dokonania drugiego. Ale to było później, natomiast w ciągu czterech lat wspólnej pracy w ARPA, Taylor i Roberts dobrze się uzupełniali. Kluczowym momentem było zapewne spotkanie w kwietniu 1967 roku na Uniwersytecie Michigan. To na nim Roberts przedstawił koncepcję połączenia ośrodków naukowych dzierżawionymi liniami telefonicznymi. Jak się nietrudno domyślić „uniwersytety z zasady nie chciały się z nikim dzielić swoimi komputerami – powiedział Roberts – zależało im na tym, by kupić takie urządzenia, a następnie ukryć”. Przeciwnicy tego pomysłu utrzymywali, że ich komputery i tak są wykorzystywane do granic możliwości, a konieczność zmagania się z ruchem sieciowym dodatkowo ujmie im mocy obliczeniowej. ARPA miała oczywiście istotny argument – wszyscy uczestnicy spotkania korzystali z dotacji ARPA – zdecydowano zatem, że warunkiem otrzymania kolejnych środków na zakup nowych komputerów miało być podłączenie do sieci posiadanych już urządzeń.

Jeden, by wszystkimi rządzić, Jeden, by wszystkie odnaleźć

Argument siły zawsze jest objawem słabości, świadomi byli tego Taylor i Roberts. Na szczęście w gronie uczestników spotkania był Wes Clark, który stworzył w Lincoln Laboratory komputer osobisty nazwany LINC. Zaproponował on by ARPA nie forsowała na siłę rozwiązania, które wymuszałoby kierowanie przepływem danych w sieci za pomocą komputerów badawczych, pracujących w poszczególnych ośrodkach, leczy by zaprojektowała i przekazała każdej z tych instytucji ustandaryzowany mikrokomputer, który realizowałby takowe zadanie. Zalety takiego podejścia to minimalizowanie obciążenia jednostki centralnej działającej w danym ośrodku, możliwość opracowania jednolitego standardu sieci przez ARPA oraz realne rozproszenie procesu przekazywania danych. Pomysł znalazł uznanie tak Taylora jak i Robertsa, a standaryzowany mikrokomputer zasugerowany przez Clarka wkrótce ochrzczono mianem Interface Message Processor (z ang. Procesor Wiadomości Interfejsu) w skrócie IMP. Później nazwano je po prostu routerami.

ARPA Net

Zmodyfikowany plan sieci Roberts przedstawił w październiku 1967 roku na konferencji w Gatlinburgu w stanie Tennessee. Wówczas też pojawiła się nazwa ARPA Net, z czasem zmieniona na ARPANET. Nierozstrzygnięta pozostawała kwestia realizacji połączeń między punktami sieci. Wówczas głos zabrał młody inżynier z Wielkiej Brytanii, Roger Scantlebury, który opisał badania swojego przełożonego Danalda Daviesa z National Physical Laboratory nad metodą podziału komunikatów na niewielkie jednostki, nazwane „pakietami”. Scantlebury nie omieszkał przyznać, że podobna koncepcja była rozwijana niezależnie przez Paula Barana działającego w RAND (amerykański think tank i organizacja badawcza non-profit, założona w 1948 roku).

Komutacja pakietów i… polski akcent

Osobą, która jako pierwsza wpadła na pomysł zbudowania sieci wykorzystującej komutację pakietów, był inżynier Paul Baran. Gdy miał dwa lata, jego rodzina wyemigrowała z Polski i osiedliła się w Filadelfii. Podobno kluczowym momentem, który zaważył na jego dalszej karierze, była próbna detonacja bomby wodorowej, dokonana przez ZSRR w 1955 roku. Uwaga Barana skupiła się na kwestii zbudowania wojskowego systemu komunikacyjnego zdolnego przetrwać atak wroga. Stworzył on około roku 1960 dwie kluczowe koncepcje. Pierwsza dotyczyła decentralizacji sieci – należało zrezygnować z tworzenia centralnego węzła lub nawet węzłów, które kontrolowałyby przesył danych. Gdyby wróg zdołał zniszczyć kilka takich centrów, mógłby unieruchomić cały system. Sterowanie procesem przesyłania danych powinno być całkowicie rozproszone, a każdy węzeł powinien mieć jednakowe uprawnienia do przełączania i przekierowywania przepływu danych. Ta koncepcja stała się fundamentem Internetu. Druga koncepcja dotyczyła rozbijania danych na niewielkie fragmenty o standardowych rozmiarach. Wiadomość miała być dzielona na wiele takich segmentów, przesyłanych rozmaitymi ścieżkami przez węzły sieci, by po dotarciu do celu znów stworzyć spójną całość. Zainteresowanych problemami jakie Baran napotkał, usiłując przekonać do swoich pomysłów czy to Siły Powietrzne USA czy AT&T odsyłam do książki „Innowatorzy”.

Koncepcje Barana przybrały ostatecznie postać jedenastu tomów szczegółowych analiz technicznych zatytułowanych „On Distributed Communications” i ukończonych w 1964 roku. Nie wiadomo jaki byłby ich los, gdyby nie konferencja w Gatlinburgu, po powrocie z której Roberts odkopał raporty Barana. Roberts dotarł również do referowanych na konferencji prac Donalda Daviesa, który z kolei skupiał się na zagadnieniu dzielenia czasu komputerów i używania linii telefonicznych do przesyłania danych. To również Davies zaproponował stare angielskie słowo packet, jako nazwę takiej porcji danych. Tak jak Baran w USA, tak Davies w swoim kraju napotkał opór materii. Obaj znaleźli w końcu sprzymierzeńca w osobie Larryego Robertsa, który poparł ich pomysły i zaakceptował nazwę „pakiet”.

Od teorii do praktyki

Latem, 1968 roku Larry Roberts zaprosił do przetargu 140 firm potencjalnie zainteresowanych wytwarzaniem mikrokomputerów mających pełnić funkcję routerów, czyli jednostek IMP w sieci ARPANET. Urządzenia miały wykorzystywać koncepcje komutacji pakietów Paula Barana i Donalda Daviesa, sugestie Wesa Clarka dotyczące standaryzacji urządzeń, spostrzeżenia J.C.R.Licklidera, Lesa Earnesta, Leonarda Kleinrocka (dość kontrowersyjna postać, która w pewnym momencie zaczęła przypisywać wszystkie zasługi wyłącznie sobie), a także wkład wielu innych naukowców. Na przesłanie ofert zdecydowało się jedynie kilkanaście przedsiębiorstw, ale finalnie wybór ważył się między Raytheonem a BBN (Bolt, Beranek and Newman). Po latach Taylor wspominał „Raytheon przedstawił dobrą propozycję, która nie ustępowała ofercie BBN. Na dłuższą metę jedyna różnica, która zaważyła na mojej ostatecznej decyzji, polegała na tym, że BBN miał bardziej zdyscyplinowany zespół, który moim zdaniem zapewniał większą efektywność”. Jako ciekawostkę dodam, że w 2009 roku Raytheon kupił BBN, natomiast IBM zrezygnował z udziału w przetargu, oceniając pomysł jako nierealny.

Wynik przetargu i wygrana BBN zostały ogłoszone tuż przed Bożym Narodzeniem. Głównymi inżynierami odpowiedzialnymi za realizację zlecenia byli Frank Heart i Robert Kahn, obydwaj w przeszłości związani z MIT. Pomogli oni rozwinąć pomysły ARPA i założyli, że gdy jakiś pakiet będzie przesyłany z jednego IMP do drugiego, router wysyłający informacje powinien przechowywać je, aż do momentu, w którym otrzyma potwierdzenie dostarczenia danych od routera odbierającego, a gdyby taki komunikat nie nadszedł w odpowiednio krótkim czasie, dane powinny zostać wysłane jeszcze raz.

Request for Comments (RFC)

Pierwszymi węzłami sieci ARPANET miały zostać UCLA (Uniwersytet Kalifornijski, kampus Los Angeles), Stanford Research Institute (SRI), Uniwersytet Utah oraz Uniwersytet Kalifornijski (z siedzibą w Oakland w stanie Kalifornia). Każdy z tych ośrodków otrzymał zadanie polegające na znalezieniu sposobu podłączenia ich głównych komputerów do ustandaryzowanych IMP. Funkcję koordynatora objął Stephen Crocker, doktorant z UCLA, który dzięki uprzejmości i bezpretensjonalności miał naturalny dar do godzenia towarzystwa i zaprowadzania powszechnej zgody. Przypadł mu w udziale obowiązek sporządzania sprawozdań z ustaleń grupy nazwanej Network Working Group. Jak sam wspomina „Uświadomiłem sobie, że już samo spisanie tego, o czym dyskutowaliśmy, mogło być postrzegane jako próba uzurpowania sobie władzy – to zaś doprowadziłoby do pojawienia się tutaj kogoś, kto przywróciłby nas do pionu (…) Usiłując podkreślić nieformalną naturę tych dokumentów, wpadłem na naiwny pomysł nazwania każdego z nich Request of Comment – RFC (z ang. prośba o komentarze) – niezależnie od tego, czy tekst faktycznie miał charakter takiego wniosku, czy nie”. Pierwszy dokument RFC został rozesłany pocztą tradycyjną, 7 kwietnia 1969 roku.

Do końca sierpnia 1969 roku w wyniku prac grupy, opisanych w kolejnych RFC, opracowano zestaw standardów komunikacji między komputerami działającymi na uczelniach a jednostkami IMP. A już 30 września 1969 roku, pierwszy taki router dotarł na UCLA, gdzie został powitany… szampanem. Pewnym zaskoczeniem były rozmiary rzekomego mikrokomputera, który w istocie przypominał lodówkę.

By Steve Jurvetson from Menlo Park, USA [CC BY 2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons

Firma BBN spisała się doskonale, mieszcząc się zarówno w terminie jak i budżecie.

Sieć!

Miesiąc później drugi IMP dotarł do SRI w kampusie Uniwersytetu Stanforda i można było uruchomić ARPANET, co nastąpiło 29 października. Jak na tak przełomowe wydarzenie, miało ono nad wyraz prozaiczną oprawę i przebieg. A jeśli chcecie o tym przeczytać więcej, odsyłam do lektury „Innowatorów”.

W roku 1969 wydarzyły się trzy przełomowe rzeczy – NASA wysłała człowieka na księżyc, inżynierom z Doliny Krzemowej udało się stworzyć mikroprocesor, a ARPA zbudowała sieć, która dała podwaliny pod Internet. I tylko pierwsze z tych wydarzeń wówczas przykuło powszechną uwagę.

Komentarze