Historia Internetu: ARPANET - pakiet

Historia Internetu: ARPANET - pakiet
Schemat sieci komputerowej ARPA z czerwca 1967. Puste kółko to komputer ze współdzielonym dostępem, kółko z linią to terminal dla jednego użytkownika

Inne artykuły z serii:

Do końca 1966 r Roberta Taylora za pieniądze ARPA uruchomił projekt połączenia wielu komputerów w jeden system, inspirowany ideą „sieć międzygalaktyczna» Josepha Carla Robnetta Licklidera.

Taylor przekazał odpowiedzialność za realizację projektu w sprawne ręce Larry'ego Robertsa. W następnym roku Roberts podjął kilka kluczowych decyzji, które odbiły się echem w architekturze technicznej i kulturze ARPANET oraz jego następców, w niektórych przypadkach przez dziesięciolecia. Pierwszą decyzją ważną, choć nie chronologiczną, było określenie mechanizmu kierowania wiadomości z jednego komputera na drugi.

problem

Jeśli komputer A chce wysłać wiadomość do komputera B, w jaki sposób wiadomość może przedostać się z jednego do drugiego? Teoretycznie można pozwolić każdemu węzłowi w sieci komunikacyjnej na komunikację z każdym innym węzłem, łącząc każdy węzeł z każdym węzłem za pomocą kabli fizycznych. Aby komunikować się z komputerem B, komputer A po prostu wyśle ​​wiadomość za pośrednictwem kabla wychodzącego łączącego go z komputerem B. Taka sieć nazywana jest siecią kratową. Jednakże w przypadku dowolnej znacznej wielkości sieci podejście to szybko staje się niepraktyczne, ponieważ liczba połączeń rośnie wraz z kwadratem liczby węzłów (dokładniej jako (n2 - n)/2).

Dlatego potrzebny jest jakiś sposób skonstruowania trasy komunikatu, która po dotarciu komunikatu do węzła pośredniego przesyłałaby go dalej do celu. Na początku lat sześćdziesiątych istniały dwa podstawowe podejścia do rozwiązania tego problemu. Pierwsza to metoda przełączania komunikatów typu „zapisz i przekaż”. Podejście to zostało zastosowane w systemie telegraficznym. Kiedy wiadomość docierała do węzła pośredniego, była tam tymczasowo przechowywana (zwykle w formie taśmy papierowej) do czasu, aż mogła zostać przesłana dalej do celu lub do innego ośrodka pośredniego, położonego bliżej celu.

Potem pojawił się telefon i potrzebne było nowe podejście. Kilkuminutowe opóźnienie po każdej wypowiedzi telefonicznej, którą trzeba było rozszyfrować i przekazać do miejsca przeznaczenia, dawało poczucie rozmowy z rozmówcą znajdującym się na Marsie. Zamiast tego w telefonie zastosowano przełączanie obwodów. Rozmówca rozpoczynał każdą rozmowę od wysłania specjalnej wiadomości wskazującej, do kogo chce zadzwonić. Najpierw robili to rozmawiając z operatorem, a następnie wybierając numer, który był przetwarzany przez automatykę na centrali. Operator lub sprzęt ustanowił dedykowane połączenie elektryczne pomiędzy osobą dzwoniącą a stroną wywoływaną. W przypadku połączeń międzymiastowych może to wymagać kilku powtórzeń połączenia poprzez wiele przełączników. Po nawiązaniu połączenia można było rozpocząć samą rozmowę i połączenie trwało do czasu, aż jedna ze stron je przerwała rozłączając się.

Komunikacja cyfrowa, którą postanowiono wykorzystać w ARPANET do łączenia komputerów pracujących według schematu dzielenie czasu, wykorzystywał cechy zarówno telegrafu, jak i telefonu. Z jednej strony wiadomości przesyłane były w oddzielnych pakietach, jak w telegrafie, a nie w formie ciągłych rozmów telefonicznych. Jednakże wiadomości te mogą mieć różne rozmiary i być przeznaczone do różnych celów, od poleceń konsoli składających się z kilku znaków po duże pliki danych przesyłane z jednego komputera na drugi. Jeśli pliki były opóźnione w transporcie, nikt nie narzekał. Jednak zdalna interakcja wymagała szybkiej reakcji, takiej jak rozmowa telefoniczna.

Istotną różnicą pomiędzy komputerowymi sieciami danych z jednej strony a telefonem i telegrafem z drugiej była wrażliwość na błędy w danych przetwarzanych przez maszyny. Zmiana lub utrata podczas przesyłania jednego znaku w telegramie lub zniknięcie części słowa w rozmowie telefonicznej nie mogą poważnie zakłócić komunikacji dwojga ludzi. Ale jeśli szum na linii zmieni pojedynczy bit z 0 na 1 w poleceniu wysłanym do zdalnego komputera, może to całkowicie zmienić znaczenie polecenia. Dlatego też każdą wiadomość należało sprawdzić pod kątem błędów i wysłać ponownie, jeśli jakieś zostały znalezione. Takie powtórki byłyby zbyt kosztowne w przypadku dużych wiadomości i powodowałyby większe ryzyko błędów, ponieważ ich transmisja trwała dłużej.

Rozwiązanie tego problemu przyniosły dwa niezależne wydarzenia, które miały miejsce w 1960 r., ale to, które nastąpiło później, zostało dostrzeżone jako pierwsze przez Larry'ego Robertsa i ARPA.

Spotkanie

Jesienią 1967 roku Roberts przybył do Gatlinburga w stanie Tennessee spoza zalesionych szczytów Great Smoky Mountains, aby dostarczyć dokument opisujący plany sieci ARPA. Pracował w Biurze Technologii Przetwarzania Informacji (IPTO) przez prawie rok, ale wiele szczegółów projektu sieci było nadal bardzo niejasnych, w tym rozwiązanie problemu routingu. Oprócz niejasnych wzmianek o blokach i ich rozmiarach, jedyną wzmianką o tym w pracy Robertsa była krótka i wymijająca uwaga na samym końcu: „Wydaje się konieczne utrzymywanie sporadycznie używanej linii komunikacyjnej, aby uzyskać odpowiedzi w proporcji jednej dziesiątej do jednego drugi raz wymagany do obsługi interaktywnej. Jest to bardzo kosztowne pod względem zasobów sieciowych i jeśli nie uda nam się wykonywać połączeń szybciej, przełączanie wiadomości i koncentracja staną się bardzo ważne dla uczestników sieci”. Oczywiście Roberts nie zdecydował jeszcze wtedy, czy porzucić podejście, które zastosował w 1965 r. w rozmowie z Tomem Marrillem, czyli łączenie komputerów za pośrednictwem komutowanej sieci telefonicznej za pomocą automatycznego wybierania numeru.

Przypadkowo na tym samym sympozjum pojawiła się inna osoba, która miała znacznie lepszy pomysł na rozwiązanie problemu routingu w sieciach danych. Roger Scantlebury przepłynął Atlantyk, przybywając z Brytyjskiego Narodowego Laboratorium Fizycznego (NPL) z raportem. Po jego raporcie Scantlebury wziął Robertsa na stronę i opowiedział mu o swoim pomyśle. przełączanie pakietów. Technologię tę opracował jego szef w NPL, Donald Davis. W Stanach Zjednoczonych osiągnięcia i historia Davisa są słabo znane, chociaż jesienią 1967 roku grupa Davisa w NPL wyprzedziła swoimi pomysłami ARPA co najmniej o rok.

Davis, podobnie jak wielu wczesnych pionierów informatyki elektronicznej, był z wykształcenia fizykiem. Ukończył Imperial College w Londynie w 1943 roku w wieku 19 lat i natychmiast został przyjęty do tajnego programu broni nuklearnej o kryptonimie Stopy Rur. Nadzorował tam zespół kalkulatorów, którzy za pomocą kalkulatorów mechanicznych i elektrycznych szybko znajdowali numeryczne rozwiązania problemów związanych z syntezą jądrową (jego przełożonym był Emil Julius Klaus Fuchs, niemieckiego fizyka na emigracji, który już w tym czasie zaczął przekazywać ZSRR tajemnice broni nuklearnej). Po wojnie usłyszał od matematyka Johna Womersleya o projekcie, który prowadził w NPL – polegało na stworzeniu komputera elektronicznego, który miał wykonywać te same obliczenia ze znacznie większą szybkością. Komputer zaprojektowany przez Alana Turinga zwany ACE, „automatyczny silnik obliczeniowy”.

Davis chwycił ten pomysł i podpisał kontrakt z NPL tak szybko, jak tylko mógł. Przyczyniwszy się do szczegółowego projektu i budowy komputera ACE, pozostał głęboko zaangażowany w dziedzinę informatyki jako lider badań w NPL. W 1965 roku znalazł się w USA na profesjonalnym spotkaniu związanym z jego pracą i skorzystał z okazji, aby odwiedzić kilka dużych witryn poświęconych komputerom z podziałem czasu, aby zobaczyć, o co to całe zamieszanie. W brytyjskim środowisku komputerowym nieznane było dzielenie czasu w amerykańskim sensie interaktywnego udostępniania komputera przez wielu użytkowników. Zamiast tego dzielenie czasu oznaczało rozdzielenie obciążenia komputera pomiędzy kilka programów do przetwarzania wsadowego (tak, że na przykład jeden program działał, podczas gdy inny był zajęty odczytywaniem taśmy). Wtedy ta opcja będzie nazywana wieloprogramowaniem.

Wędrówki Davisa zaprowadziły go do Projektu MAC na MIT, Projektu JOSS w RAND Corporation w Kalifornii i Dartmouth Time Sharing System w New Hampshire. W drodze do domu jeden z jego kolegów zaproponował zorganizowanie warsztatów na temat dzielenia się, aby poinformować społeczność brytyjską o nowych technologiach, o których dowiedziała się w USA. Davis zgodził się i gościł wiele czołowych osobistości amerykańskiej branży komputerowej, w tym m.in Fernando Jose Corbato (twórca „Interoperacyjnego systemu podziału czasu” na MIT) i sam Larry Roberts.

Podczas seminarium (a być może bezpośrednio po nim) Davisa uderzył pomysł, że filozofię podziału czasu można zastosować do komputerowych linii komunikacyjnych, a nie tylko do samych komputerów. Komputery z podziałem czasu dają każdemu użytkownikowi niewielką część czasu procesora, a następnie przełączają się na inny, dając każdemu użytkownikowi złudzenie posiadania własnego, interaktywnego komputera. Podobnie, dzieląc każdą wiadomość na kawałki o standardowym rozmiarze, które Davis nazwał „pakietami”, pojedynczy kanał komunikacyjny może być współdzielony przez wiele komputerów lub użytkowników jednego komputera. Co więcej, rozwiązałoby to wszystkie aspekty transmisji danych, do których nie nadawały się centrale telefoniczne i telegraficzne. Użytkownik obsługujący terminal interaktywny wysyłający krótkie polecenia i otrzymujący krótkie odpowiedzi nie zostanie zablokowany przez przesyłanie dużego pliku, ponieważ transfer zostanie podzielony na wiele pakietów. Wszelkie uszkodzenia w tak dużych wiadomościach będą miały wpływ na pojedynczy pakiet, który można łatwo przesłać ponownie w celu uzupełnienia wiadomości.

Davis opisał swoje pomysły w niepublikowanym artykule z 1966 roku „Proposal for a Digital Communications Network”. W tamtym czasie najbardziej zaawansowane sieci telefoniczne znajdowały się u progu komputeryzacji przełączników, a Davis zaproponował wbudowanie przełączania pakietów w sieć telefoniczną nowej generacji, tworząc pojedynczą szerokopasmową sieć komunikacyjną zdolną do obsługi różnorodnych żądań, od prostych rozmów telefonicznych po zdalne dostęp do komputerów. Do tego czasu Davis awansował na menadżera NPL i utworzył pod kierownictwem Scantlebury grupę ds. komunikacji cyfrowej, aby wdrożyć swój projekt i stworzyć działające demo.

W roku poprzedzającym konferencję w Gatlinburgu zespół Scantlebury'ego opracował wszystkie szczegóły dotyczące tworzenia sieci z komutacją pakietów. Awarię pojedynczego węzła można przetrwać dzięki routingowi adaptacyjnemu, który może obsługiwać wiele ścieżek do miejsca docelowego, a awarię pojedynczego pakietu można rozwiązać poprzez ponowne wysłanie go. Symulacja i analiza wykazały, że optymalny rozmiar pakietu wynosiłby 1000 bajtów - jeśli zmniejszysz go znacznie, to zużycie przepustowości linii dla metadanych w nagłówku będzie za duże, znacznie większe - a czas odpowiedzi dla interaktywnych użytkowników wzrośnie zbyt często z powodu dużych wiadomości.

Historia Internetu: ARPANET - pakiet
Praca Scantlebury'ego obejmowała takie szczegóły, jak format opakowania...

Historia Internetu: ARPANET - pakiet
...oraz analiza wpływu rozmiarów pakietów na opóźnienia sieci.

Tymczasem poszukiwania Davisa i Scantlebury'ego doprowadziły do ​​odkrycia szczegółowych artykułów naukowych sporządzonych przez innego Amerykanina, który kilka lat wcześniej wpadł na podobny pomysł. Ale w tym samym czasie Paweł Baran, inżynier elektryk w RAND Corporation, w ogóle nie pomyślał o potrzebach użytkowników komputerów dzielących czas. RAND był finansowanym przez Departament Obrony zespołem doradców w Santa Monica w Kalifornii, utworzonym po II wojnie światowej w celu zapewnienia wojsku długoterminowego planowania i analizy problemów strategicznych. Celem Barana było opóźnienie wojny nuklearnej poprzez stworzenie wysoce niezawodnej sieci łączności wojskowej, która byłaby w stanie przetrwać nawet atak nuklearny na dużą skalę. Taka sieć uczyniłaby uderzenie wyprzedzające ZSRR mniej atrakcyjnym, ponieważ bardzo trudno byłoby zniszczyć zdolność USA do uderzenia w wiele wrażliwych punktów. Aby to osiągnąć, Baran zaproponował system, który dzieli wiadomości na tak zwane bloki wiadomości, które można niezależnie przesyłać w sieci nadmiarowych węzłów, a następnie łączyć w punkcie końcowym.

ARPA miała dostęp do obszernych raportów Barana dla RAND, ale ponieważ nie były one powiązane z komputerami interaktywnymi, ich znaczenie dla ARPANET nie było oczywiste. Najwyraźniej Roberts i Taylor nigdy ich nie zauważyli. Zamiast tego w wyniku jednego przypadkowego spotkania Scantlebury podał Robertsowi wszystko na srebrnej tacy: dobrze zaprojektowany mechanizm przełączający, możliwość zastosowania do problemu tworzenia interaktywnych sieci komputerowych, materiały referencyjne RAND, a nawet nazwę „pakiet”. Praca NPL przekonała również Robertsa, że ​​do zapewnienia dobrej przepustowości potrzebne będą wyższe prędkości, dlatego zaktualizował swoje plany do łączy o przepustowości 50 Kb/s. Aby stworzyć ARPANET, rozwiązano zasadniczą część problemu routingu.

To prawda, że ​​​​istnieje inna wersja pochodzenia idei przełączania pakietów. Roberts twierdził później, że podobne myśli chodził mu już do głowy dzięki pracom swojego kolegi Lena Kleinrocka, który rzekomo opisał tę koncepcję już w 1962 roku w swojej rozprawie doktorskiej na temat sieci komunikacyjnych. Jednak niezwykle trudno jest wydobyć taki pomysł z tej pracy, a poza tym nie udało mi się znaleźć żadnych innych dowodów na tę wersję.

Sieci, które nigdy nie istniały

Jak widzimy, dwa zespoły wyprzedziły ARPA w opracowywaniu przełączania pakietów – technologii, która okazała się tak skuteczna, że ​​obecnie stanowi podstawę prawie całej komunikacji. Dlaczego ARPANET była pierwszą znaczącą siecią, która z niej skorzystała?

Wszystko zależy od subtelności organizacyjnych. ARPA nie miała oficjalnego pozwolenia na utworzenie sieci komunikacyjnej, ale istniała duża liczba ośrodków badawczych z własnymi komputerami, kulturą „wolnej” moralności, praktycznie pozbawionej nadzoru, i górami pieniędzy. Pierwotna prośba Taylora o fundusze na utworzenie ARPANET z 1966 r. opiewała na kwotę 1 miliona dolarów, a Roberts począwszy od 1969 r. co roku wydawał tę kwotę na uruchomienie sieci. Jednocześnie dla ARPA takie pieniądze były drobną drobnostką, więc nikt z jego szefów nie martwił się, co Roberts z nimi zrobi, o ile można je w jakiś sposób powiązać z potrzebami obronności kraju.

Baran w RAND nie miał ani mocy, ani władzy, aby cokolwiek zrobić. Jego praca miała charakter wyłącznie eksploracyjny i analityczny i w razie potrzeby można ją było zastosować w obronie. W 1965 roku RAND faktycznie polecił swój system Siłom Powietrznym, które zgodziły się, że projekt jest wykonalny. Ale jego wdrożenie spadło na barki Agencji Łączności Obronnej, która nie rozumiała szczególnie komunikacji cyfrowej. Baran przekonał swoich przełożonych w RAND, że lepiej będzie wycofać tę propozycję, niż pozwolić na jej wdrożenie i zrujnowanie reputacji rozproszonej komunikacji cyfrowej.

Davis jako szef NPL miał znacznie większą władzę niż Baran, ale mniejszy budżet niż ARPA i nie miał gotowej sieci społeczno-technicznej komputerów badawczych. Udało mu się stworzyć prototyp lokalnej sieci z komutacją pakietów (był tylko jeden węzeł, ale wiele terminali) w NPL pod koniec lat 1960. przy skromnym budżecie wynoszącym 120 000 funtów na trzy lata. ARPANET wydawała rocznie około połowę tej kwoty na eksploatację i konserwację każdego z wielu węzłów sieci, nie licząc początkowych inwestycji w sprzęt i oprogramowanie. Organizacją zdolną do stworzenia brytyjskiej sieci komutacji pakietów na dużą skalę była Poczta Brytyjska, która zarządzała sieciami telekomunikacyjnymi w kraju, z wyjątkiem samej usługi pocztowej. Davisowi udało się zainteresować swoimi pomysłami na ujednoliconą sieć cyfrową w skali kraju kilku wpływowych urzędników, nie był jednak w stanie zmienić kierunku rozwoju tak ogromnego systemu.

Licklider, dzięki połączeniu szczęścia i planowania, znalazł idealną szklarnię, w której mogła rozkwitnąć jego sieć międzygalaktyczna. Jednocześnie nie można powiedzieć, że wszystko oprócz przełączania pakietów sprowadzało się do pieniędzy. Istotną rolę odegrała także realizacja pomysłu. Co więcej, kilka innych ważnych decyzji projektowych ukształtowało ducha ARPANET. Dlatego w następnej kolejności przyjrzymy się rozkładowi odpowiedzialności pomiędzy komputerami, które wysyłały i odbierały wiadomości, a siecią, przez którą te wiadomości wysyłały.

Co jeszcze przeczytać

  • Janet Abbate, Wynalazek Internetu (1999)
  • Katie Hafner i Matthew Lyon, Gdzie czarodzieje śpią do późna (1996)
  • Leonard Kleinrock, „Wczesna historia Internetu”, Magazyn IEEE Communications (sierpień 2010)
  • Arthur Norberg i Julie O'Neill, Transformacja technologii komputerowej: przetwarzanie informacji dla Pentagonu, 1962-1986 (1996)
  • M. Mitchell Waldrop, Maszyna marzeń: JCR Licklider i rewolucja, która uczyniła informatykę osobistą (2001)

Źródło: www.habr.com

Dodaj komentarz