Zaczęło się 50 lat temu

Gdy zaś już uniwersytety czy inne instytucje zdecydowały się na zakup systemów do podziału czasu, logicznym następstwem takiego działania byłoby udostępnienie swoich maszyn na zewnątrz. Musimy wiedzieć, że pomimo imponujących rozmiarów i cen, ówczesne mainframe'y były zdolne do przeprowadzania ograniczonego zestawu obliczeń. Takiego, jakich potrzebował ich właściciel, który kupował dany komputer. Jeśli jednak pojawiał się problem wymagający operacji, których komputer na danym uniwersytecie nie był w stanie wykonać, naukowcy byli w kropce. Niewiele instytucji było bowiem stać na zakup więcej niż jednego mainframe'a. Rozwiązaniem byłoby połączenie różnych komputerów w sieć i wzajemne udostępnianie sobie ich zasobów. Nie było to jednak zadanie łatwe.

W 1962 roku głównym zadaniem Biura Technik Przetwarzania Informacji, kierowanego najpierw przez Licklindera, następnie przez jego następców, było wybieranie, finansowanie i koordynowanie na terenie USA wszystkich prac związanych z zaawansowanymi technologiami komputerowymi i sieciowymi. Musimy sobie uświadomić, że w latach 60. zdalna komunikacja pomiędzy komputerami odbywała się za pośrednictwem linii telefonicznych. Na analogowych połączeniach nie można było polegać. Były one powolne, raz ustanowione połączenie było aktywne nawet wówczas, gdy nie były przesyłane dane, więc linia była zajęta np. podczas wprowadzania do komputera informacji przez operatora. Utrata przesyłanych danych była czymś powszechnym, a po takim wydarzeniu całą skomplikowaną procedurę trzeba było zaczynać od nowa i ponownie przesyłać dane. Taki sposób pracy był bardzo nieefektywny, kosztowny, czasochłonny i irytujący.

Problem ten rozwiązano poprzez przesyłanie danych w pakietach o stałej wielkości. Każdy pakiet zawiera adres odbiorcy i nadawcy, zestaw liczb pozwalający na ułożenie pakietów w odpowiedniej kolejności (pamiętajmy, że pakiety mogą nadejść do odbiorcy w różnym czasie, więc koniecznie jest ich późniejsze ułożenie w odpowiedniej kolejności) oraz przesyłane dane. Teorię stojącą u podstaw przesyłania danych w pakietach opracowało niezależnie trzech naukowców Leonard Kleinrock z MIT, Donal Davies z National Physical Laboratory w Wielkiej Brytanii oraz Polak Paul Baran z RAND Corporation w Kalifornii. Nazwa „pakiet” przyjęła się z pracy Daviesa, jednak to praca Barana była tą, która posłużyła do zbudowania pierwszej rozproszonej sieci komputerowej, która dała zaczątek internetowi, ARPANETu.

Znany think-tank RAND Corporation zajmował się w czasach Zimnej Wojny między innymi opracowywaniem scenariuszy na wypadek wojny, w tym np. hipotetycznymi wydarzeniami, jakie mogą nastąpić wskutek radzieckiego ataku nuklearnego na USA. Analitycy z RAND próbowali m.in. przewidzieć, na ile sieci telekomunikacyjne – niezbędne do sprawnego dowodzenia wojskiem – będą odporne na tego typu ataki. Paul Baran był jednym z głównych analityków RAND Corporation. W 1964 roku opublikował on pracę pod tytułem „On Distributed Communications”, w którym zarysował projekt systemu komunikacyjnego odpornego na atak nuklearny.

Wiadomo było, że nie jest możliwe zabezpieczenie pojedynczego punktu przed atakiem jądrowym. Zatem system komunikacyjny z punktem centralnym zostałby szybko zniszczony. Baran zaproponował budowę systemu, którego zniszczenie wymagałoby zaatakowania n z n stacji. Jeśli więc n jest wystarczająco duże, to można w ten sposób stworzyć system, który będzie charakteryzował się dużą odpornością nawet na ataki epoki jądrowej, pisał Baran. Był on pierwszym, który zauważył, że mogą istnieć tylko dwa typy sieci komunikacyjnej: scentralizowany (o architekturze gwiaździstej) lub rozproszony. Z tego mogą powstać jedynie trzy różne architektury: scentralizowana, zdecentralizowana lub rozproszona. Z nich wszystkich rozproszona jest najbardziej odporna na ataki. W strukturze scentralizowanej i zdecentralizowanej zniszczenie pojedynczego węzła centralnego przerywa komunikację pomiędzy stacjami końcowymi. Z kolei w sieci rozproszonej zniszczenie jednego węzła nie prowadzi do utraty łączności z żadnym innym węzłem. Jeśli część takiej sieci przestaje działać, całość komunikacji można bez problemu przenieść do innej części.

Galeria (3)

wszystkie zdjęcia »

Pomysł Barana wyprzedzał jednak swój czas. Odporna sieć według jego pomysłu wymagała dużej redundancji. Każdy z węzłów komunikacyjnych powinien łączyć się z co najmniej trzema lub czterema innymi węzłami. To można osiągnąć obecnie, dzięki technologii cyfrowej. W latach 60. komunikacja odbywała się drogą analogową. Opracowana przez Barana architektura obiecywała szybką, wydajną, odporną na zakłócenia sieć. RAND wierzyła w ten projekt. Jednak firmie nie udało się znaleźć partnerów do budowy takiej sieci. Prawdopodobnie możemy mówić tutaj o sporym szczęściu, gdyż internet mógłby wyglądać zupełnie inaczej niż dzisiaj.

Pomysł Barana najpierw odrzuciły US Air Force, a następnie firma AT&T. Menedżerowie telekomunikacyjnego giganta nie sądzili, by taka sieć mogła działać. Dzięki temu, że się tym projektem nie zainteresowali, internet nie został od początku komercyjnym projektem. Kto bowiem wie, jak potoczyłyby się jego losy. Trzeba uczciwie przyznać, że koncepcja Barana rzeczywiście była ówcześnie nie do zrealizowania. Jej autor wyobrażał sobie na przykład, że w roli ruterów będą wykorzystywane minikomputery. Takiej technologii nie było jeszcze w roku 1965. Minikomputery powstały kilka lat później.

Pracą Barana udało się zainteresować Pentagon. Tutaj jednak do głosu doszła wewnętrzna rywalizacja, w wyniku której zdecydowano, że projekt ma nadzorować Defence Communication Agency. Był to najgorszy możliwy wybór. Agencja ta nie tylko nie miała żadnego doświadczenia w technologiach cyfrowych, ale cieszyła się też fatalną opinią miejsca zsyłki dla pracowników, których chciały się pozbyć inne agencje rządowe.

W 1967 stanowisko dyrektora IPTO objął Lawrence Roberts. W październiku, podczas CM Symposium mówił on o powodach, dla których ARPA powinna zbudować sieć komputerową. Swoje założenia opublikował w czerwcu 1968 roku w ARPANET Program Plan, gdzie napisał, że program ten ma dwa cele: (1) opracowanie technik i zdobycie doświadczeń w łączeniu komputerów tak, by możliwe były między nimi różnego rodzaju interakcje oraz (2) ulepszenie i zwiększenie badań prowadzonych za pośrednictwem komputerów poprzez dzielenie ich zasobów. Nie ma tutaj ani słowa o zastosowaniach wojskowych. Jak widzimy, już na tym etapie ARPANET miał być przedsięwzięciem naukowym.

Jednak prace nad ARPANETem trwały już praktycznie od dwóch lat. W IPTO zauważono, że coraz większa społeczność badaczy, których prace są przez biuro koordynowane, staje się coraz bardziej złożona i jest bardzo źle zorganizowana. IPTO miało koordynować prace związane z rozwojem komputerów, tymczasem dostęp do maszyn był znakomicie utrudniony. Naukowiec pracujący w jednej instytucji nie miał większych problemów ze skorzystaniem z mainframe'u, który stał w tej instytucji. Mógł się do niego zalogować przez lokalny terminal. Jeśli jednak potrzebował np. aplikacji graficznej, która nie znajdowała się na jego mainframe, ale na komputerze w innej lokalizacji, to żeby się do niego zalogować musiał skorzystać z innego terminalu, użyć innego hasła i wykorzystywać inny język programowania. Nie istniała możliwość komunikacji pomiędzy wielkimi maszynami posługującymi się różnymi językami i zbudowanymi do różnych celów. Problem ten postanowił rozwiązać ówczesny dyrektor IPTO, Robert Taylor. Przedstawił go swojemu zwierzchnikowi, dyrektorowi ARPA. Ten wysłuchał, przyznał mu rację i zapytał, ile pieniędzy potrzebuje. Taylor chciał około miliona dolarów i je dostał. Cała rozmowa trwała około pięciu minut.

O ile jednak dyrektora udało się przekonać, to z innymi nie szło tak łatwo. Taylor przekonał się, że jego pomysł – podobnie jak pomysł Barana – wyprzedza swój czas. Wielu specjalistów, z którymi rozmawiał, podejrzliwie podchodziło do idei udostępniania komuś obcemu zasobów mainframe'a. Sytuacja uległa zmianie, gdy dzieło stworzenia ARPANETu powierzono utalentowanemu Lawrence'owi G. Robertsowi z Lincoln Lab na MIT.

internet ARPANET Paul Baran sieć komputer mainframe Vint Cerf Tom Berners-Lee WWW