Internet
Zapewne nie każdy z dzisiejszych użytkowników Internetu zdaje sobie sprawę, jak bardzo się on zmienił od czasów swego powstania. Kilka początkowo niezależnych inicjatyw dzięki dalekowzroczności swoich twórców nie pozostało zamkniętymi w sobie, lecz wspólnie dało początek największej i najbardziej fascynującej globalnej sieci komputerowej. Jej zaistnienie to wielki przełom w zastosowaniu komputerów - oprócz maszyn wykonujących coraz bardziej skomplikowane obliczenia stały się one również skutecznym narzędziem komunikacji międzyludzkiej.
Idea
Trudno w to uwierzyć, ale najprawdopodobniej jednym z pierwszych wydarzeń, w wyniku których powstał Internet, było wystrzelenie przez Związek Radziecki w 1957 roku Sputnika, pierwszego sztucznego satelity Ziemi. Świat znajdował się wówczas w okowach zimnej wojny i fakt ten wywołał spore zamieszanie w kręgach osób odpowiedzialnych za bezpieczeństwo Stanów Zjednoczonych. Jedną z odpowiedzi nań było powołanie w ramach amerykańskiego Departamentu Obrony (Department of Defence - DoD) agencji ARPA (Advanced Research Projects Agency), której działania miały zapewnić USA przodującą pozycję w zastosowaniach militarnych nauki i techniki. Instytucja ta miała bardzo szeroki zakres działalności. Departament Obrony był wówczas największym użytkownikiem komputerów w USA, więc w nadchodzących latach w polu zainteresowania ARPA znalazły się różne dziedziny informatyki, w tym również sieci komputerowe. Duże znaczenie i szerokie zastosowanie wyników badań finansowanych przez ARPA było spowodowane przede wszystkim tym, że przynajmniej w początkowym okresie swego istnienia Agencja nie wymagała utajniania tych prac bądź ograniczania ich tematyki to zagadnień wyłącznie militarnych.
Na początku lat 60-tych w RAND Corporation, innej amerykańskiej instytucji zajmującej się problemami bezpieczeństwa narodowego, zaczęto rozważać problem funkcjonowania władz i dowództwa armii USA w wypadku wojny nuklearnej. W 1962 roku RAND opublikowała raport Paula Barana, naukowca na kontrakcie sił powietrznych USA, zatytułowany "On Distributed Communications Networks", w którym przedyskutowany został sposób ochrony wojskowego systemu komunikacyjnego w wypadku zmasowanego ataku. Została w nim naszkicowana idea systemu komunikacyjnego, który byłby w stanie funkcjonować nawet mimo zniszczenia dużej części węzłów i łączy. System taki miałby być pozbawiony centralnego punktu kontroli i dowodzenia, a ilość połączeń pomiędzy węzłami byłaby na tyle duża, że w wypadku zniszczenia niektórych z nich sieć nadal funkcjonowałaby dzięki pozostałym połączeniom, na które automatycznie byłby kierowany ruch. Jedna z propozycji autora zakładała podjęcie prac nad stworzeniem narodowego systemu, analogicznego do istniejącej sieci łączy telefonicznych, umożliwiającego transport danych komputerowych pomiędzy dużymi grupami użytkowników.
System taki mógłby zostać stworzony z wykorzystaniem technologii sieci pakietowych (packet-switching), opracowanej w latach 60-tych. Jej podstawą było fragmentowanie informacji w pakiety, kierowanie ich w odpowiednie miejsca docelowe i tam składanie z powrotem w całość. Postępowanie takie ma kilka zalet, m.in. umożliwia współkorzystanie wielu użytkowników jednoczenie z tego samego łącza oraz redukuje skutki przekłamań podczas transmisji - w przypadku błędu wystarczy przesłać ponownie jedynie błędny pakiet, a nie całą informację. Pakiety mogą również nieść informację o sobie samych, np. o miejscu wysłania i przeznaczenia, o przebytej i planowanej drodze, mogą również być kompresowane dla zwiększenia przepustowości łącza lub szyfrowane dla zapewnienia poufności. Ważną cechą sieci pakietowej jest równorzędność znajdujących się w niej komputerów. Pierwsza funkcjonująca sieć tego typu powstała w National Physical Laboratories w Wielkiej Brytanii w 1968 roku.
Praca Barana była punktem wyjściowym planu stworzenia sieci komputerowej bez centralnego ośrodka, która mogłaby funkcjonować nawet będąc w części zniszczona. Wszystkie węzły sieci miały być równorzędne, a każdy z nich miał mieć prawo do nadawania, przekazywania dalej i odbierania wiadomości rozbijanych na pakiety, dla których istotne było tylko miejsca pochodzenia i przeznaczenia - trasa ich wędrówki byłaby warunkowana aktualnym stanem połączeń, co zapewniłoby automatyczną zmianę drogi w przypadku zaniku funkcjonowania części sieci. Idea Barana zainteresowała innych naukowców, m.in. pracującego nad relacjami człowiek-komputer J.C.R. "Lick" Licklidera, który rozważał możliwość wykorzystania komputerów w komunikacji międzyludzkiej. Został on pierwszym szefem IPTO (Information Processing Technology Office), biura w ARPA, które zajmowało się m.in. sieciami komputerowymi. Jego zasługą było otwarcie ARPA na różne projekty z dziedziny informatyki, a także nawiązanie ścisłej współpracy z naukowcami ze środowisk akademickich.
ARPANET
W latach 1966-67 Departament Obrony sfinansował prace nad eksperymentalnym łączeniem odległych od siebie komputerów. Wykorzystano w nich wcześniejsze doświadczenia z systemami wielodostępnymi (timesharing), w których przyłączano wiele terminali do jednego komputera. Okazało się, że nie było problemów z łączeniem komputerów różnych typów, kłopoty sprawiały jedynie używane linie telefoniczne - były one zbyt wolne i zbyt zawodne.
W tym samym czasie ARPA wyłożyła fundusze na ośrodki komputerowe na wybranych uniwersytetach i instytucjach naukowych. Wkrótce zaproponowano połączenie ich za pomocą sieci pakietowej. Plan sieci ARPANET został zaprezentowany w 1967 roku. Na początek wybrano cztery centra: Uniwersytet Kalifornii w Los Angeles (UCLA), Stanford Research Institute (SRI), Uniwersytet Kalifornii w Santa Barbara (UCSB) i Uniwersytet Utah. W każdym z nich do dużego komputera klasy mainframe miał zostać dołączony minikomputer pełniący funkcję węzła przełączającego, określany mianem interface message processor (IMP). W odróżnieniu od systemów wielodostępnych, opartych na architekturze klient-serwer, miała to być sieć komputerów równorzędnych (peer-to-peer). Kontrakt na dostawę tych maszyn (Honeywell DDP-516) otrzymała firma BBN (Bolt, Beranek and Newman). Miały one zostać połączone liniami dzierżawionymi o przepustowości 50 kbps, dostarczonymi przez AT&T.
W celu umożliwienia porozumiewania się komputerów różnych typów należało uzgodnić pewne konwencje dotyczące transmisji blokowej, sprawdzania błędów i retransmisji oraz identyfikacji komputerów-hostów i użytkowników, określone mianem "protokołów". Zajął się tym zespół nazwany Network Working Group (NWG), który efekty swoich prac publikował w postaci ogólnodostępnych dokumentów Request For Comments(RFC), do dziś będących podstawową formą dokumentowania standardów obowiązujących w Internecie. Pierwsze RFC zatytułowane "Host Software" opracował w kwietniu 1969 roku Steve Crocker. Istotną podstawą sukcesów w działalności NWG była dobra współpraca pomiędzy jej członkami, głównie doktorantami z uczelni korzystających z grantów ARPA. Uwierzyli oni, że wspólne działanie zaprowadzi ich dalej, niż współzawodnictwo naukowe. Z pewnością pomogła im w tym dalekowzroczna polityka i finansowe wsparcie ze strony ARPA.
Przed końcem 1969 roku funkcjonowały już połączenia sieciowe pomiędzy pierwszymi czterema węzłami - sieć ARPANET zaczęła pracować, dzięki czemu można było zaimplementować teoretycznie zaprojektowane protokoły. W ciągu kilku miesięcy ostatecznie opracowano symetryczny protokół komunikacyjny pomiędzy hostami nazwany Network Control Protocol (NCP). Wkrótce dodano do niego najprostsze usługi: zdalne logowanie do komputerów i kopiowanie plików pomiędzy hostami. Naukowcy zaangażowani w projekt zaczęli identyfikować problemy w komunikacji pomiędzy hostami. Po ich rozwiązaniu rozpoczęto przyłączanie kolejnych ośrodków i w kwietniu 1971 roku były już 23 hosty w 15 węzłach.
W październiku 1972 roku, podczas pierwszej międzynarodowej konferencji poświęconej komunikacji komputerowej zademonstrowano działanie węzła ARPANET-u z 40 terminalami - prezentacje zorganizował Bob Kahn z BBN. Przedstawiciele projektów sieciowych z kilku krajów dyskutowali o potrzebie uzgodnienia protokołów. W celu stworzenia wspólnego protokołu powołano InterNetwork Working Group (INWG), jej pierwszym przewodniczącym został Vinton Cerf z UCLA, uczestniczący wcześniej w NWG. Można zaryzykować stwierdzenie, że były to początki idei Internetu, gdyż rozważano wówczas podstawy architektury międzynarodowego połączenia wielu sieci (interconnection of networks).
Sieć sukcesywnie rozrastała się. W 1972 roku po raz pierwszy wykorzystano łącze satelitarne do przyłączenia węzła na Hawajach. Wraz ze wzrostem liczby łącz i transmitowanych pakietów pojawiły się pewne problemy z niezawodnością podsieci, które trzeba było usunąć. W wrzeniu 1973 roku podłączonych było 40 węzłów, w tym pierwsze dwa spoza USA - z Wielkiej Brytanii i Norwegii. W 1977 roku w sieci znajdowało się 111 hostów.
W 1972 roku Ray Tomlinson z BBN stworzył pierwszy program do wysyłania wiadomości poprzez sieć. W ciągu kilku lat od powstania ARPANET-u jego twórcy ze zdumieniem spostrzegli, jak bardzo popularna wśród jego użytkowników stała się poczta elektroniczna. Okazało się, że taka metoda wymiany informacji ma wiele zalet w porównaniu z przesyłaniem listów na papierze czy telegramów. Przede wszystkim wydawała się ona być mniej formalna i przy swojej szybkości na długich dystansach nie wymagała aktywności nadawcy i odbiorcy w tym samym czasie (w odróżnieniu od telefonu) ani pośrednictwa żadnych instytucji w rodzaju poczty. Wszystko to ułatwiało kontakty międzyludzkie i wspólną pracę nad projektami. Stąd był już tylko krok do wynalezienia e-mail'owych list dystrybucyjnych, które umożliwiały jednoczesne rozesłanie tej samej wiadomości do wielu użytkowników sieci. Jednymi z pierwszych list dyskusyjnych, które stosunkowo szybko stały się bardzo popularne, były "SF-LOVERS" - dla fanów science-fiction, oraz "HUMAN-NETS" - poświęcona m.in. znaczeniu i wykorzystaniu globalnej sieci w komunikacji międzyludzkiej. Administratorzy wielu hostów niechętnie odnosili się do tego rodzaju inicjatyw, gdyż nie były one zgodne z pierwotnym, naukowo-badawczym przeznaczeniem ARPANET-u, ale nie byli w stanie ich powstrzymać. Dowodzi tego m.in. fakt, iż po zamknięciu w pewnym momencie listy "SF-LOVERS" otwarto ją po kilku miesiącach ponownie z przewrotnym uzasadnieniem, że jej funkcjonowanie dostarcza cennych informacji naukowych na temat administrowania listami dyskusyjnymi o szczególnie dużym natężeniu ruchu.
W 1974 roku firma BBN udostępniła pierwszą publiczną sieć pakietową Telenet, która miała być komercyjną wersją ARPANET-u. W 1975 roku zarządzanie ARPANET-em przeszło w gestię DCA (Defence Communications Agency), ponieważ uznano, że sieć ta wyszła poza stadium eksperymentów i stała się na tyle stabilna, że opuściła obszar bezpośredniego zainteresowania ARPA. W 1983 roku z ARPANET-u wydzielono część militarną, znaną pod nazwą Milnet. Dalsze dzieje tej sieci to już era TCP/IP i stopniowe ewoluowanie w kierunku dzisiejszej postaci Internetu. ARPANET oficjalnie przestał funkcjonować w 1990 roku, kiedy to jego rolę całkowicie przejęła sieć szkieletowa NSFNET.
Z dzisiejszego punktu widzenia ARPANET był siecią bardzo prymitywną, ale na ówczesne warunki było to jedno ze szczytowych osiągnięć technologii komputerowej. Jego architektura stwarzała szereg ograniczeń, takich jak chociażby limit 255 maszyn IMP mogących się komunikować poprzez protokół NCP. Należy jednak pamiętać, że pod wieloma względami było to rozwiązanie pionierskie. Niebagatelne znaczenie ma fakt, że dzięki temu eksperymentowi umożliwiono współpracę maszyn wielu różnych typów oraz współdzielenie bardzo wówczas kosztownych zasobów komputerowych. Pomimo tego, że u jego podstaw leżała idea stworzenia militarnej infrastruktury dowodzenia i kontroli zdolnej przetrwać atak nuklearny, ARPANET stał się prototypem globalnej sieci komunikacji międzyludzkiej o zdecentralizowanej strukturze i zastosowaniach zupełnie odmiennych od pierwotnie zakładanych.
TCP/IP
Równolegle z ARPANET-em zaczęły powstawać i rozwijać się inne sieci komputerowe. Były to przeważnie projekty eksperymentalne na niewielką skalę. Oprócz komunikacji pomiędzy komputerami stacjonarnymi prowadzono również eksperymenty z mobilnym środowiskiem sieciowym, wykorzystującym między innymi radio (tzw. Packet Radio) i łącza satelitarne.
W 1973 roku Bob Kahn sformułował problem "międzysieci" (internet przez małe "i"): jak umożliwić hostom komunikowanie się poprzez wiele sieci pakietowych nie znając technologii sieciowej każdej z nich? Vinton Cerf przeprowadził w Stanford (dokąd się przeniósł) serię seminariów poświęconych temu problemowi (wielu spośród uczestników tych seminariów zrobiło potem karierę w czołowych firmach komputerowych). W maju 1974 roku Cerf i Kahn opublikowali w IEEE Transactions pracę "A Protocol for Packet Network Intercommunication", w której wyspecyfikowali projekt protokołu TCP (Transmission Control Protocol). Prace nad jego implementacją prowadziły trzy ośrodki: Stanford, BBN i University College w Londynie.
W lipcu 1977 roku odbyła się pierwsza demonstracja "międzysieci" ARPANET-u, radia pakietowego (packet radio i łącz satelitarnych. Ponieważ odbywało się to za pieniądze Departamentu Obrony, zastosowano scenariusz, który miał zainteresować wojskowych - zasymulowano długodystansową komunikację pomiędzy mobilnym pojazdem a centrum dowodzenia. Pakiety "wędrowały" od ciężarówki jeżdżącej w okolicach San Francisco, poprzez sieć Packet Radio, potem ARPANET-em poprzez satelitę do Londynu, z powrotem do USA łączem satelitarnym SATNET-u i znów ARPANET-em do jednego z dużych ośrodków obliczeniowych. Po drodze nie zginął ani jeden bit.
W pierwotnej wersji protokołu nie było jeszcze rozróżnienia pomiędzy TCP a IP (Internet Protocol). W trakcie eksperymentów nad przesyłaniem zakodowanego i skompresowanego głosu przez sieć okazało się, że retransmisje błędnych pakietów powodowały przerwy w odtwarzaniu dźwięku. W tego rodzaju zastosowaniach bezbłędna transmisja wszystkich pakietów okazała się być mniej istotna w porównaniu z ciągłością i regularnością przetwarzania. W efekcie doszło do oddzielenia protokołu IP, odpowiedzialnego za adresowanie, od TCP, odpowiedzialnego za podział informacji na pakiety, ich niezawodne dostarczenie do miejsca przeznaczenia oraz powtórne złożenie w całość. "Obok" TCP powstał prostszy protokół bezpołączeniowy UDP (User Datagram Protocol), w którym brak jest kontroli prawidłowości przesyłanych pakietów.
Technologia TCP/IP poważnie zainteresowała przedstawicieli sił zbrojnych. W celu prowadzenia dalszych badań nad rozwojem zestawu protokołów TCP/IP powołano w ARPA (przemianowanej na DARPA - Defence...) zespół Internet Configuration Control Board (ICCB), w którego skład weszło wielu ekspertów zaangażowanych już wcześniej w prace związane z TCP/IP (w 1983 roku zmienił on nazwę na IAB - Internet Activities Board). W 1980 roku zdecydowano, że TCP/IP będzie preferowanym protokołem do zastosowań militarnych. W 1982 roku Departament Obrony uznał go swoim standardem, a DCA i DARPA podjęły decyzję o przejściu wszystkich systemów w sieci ARPANET z protokołu NCP na TCP/IP. Ostatecznie nastąpiło to 1 stycznia 1983 roku i było poprzedzone próbnymi wyłączeniami transmisji pakietów NCP w całej sieci (powodowało to sporo zamieszania, ale skutecznie przekonało użytkowników, że rzeczywiście dojdzie do zmiany).
Z czasem w miejsce klasycznych, wielodostępnych systemów komputerowych zaczęły powstawać lokalne sieci stacji roboczych wykorzystujące TCP/IP, które były przyłączane do ARPANET-u przez specjalizowane komputery zwane gateway'ami (dziś używa się nazwy router). Każdy nowy komputer w sieci otrzymywał unikalny numer IP, a jego nazwa i podstawowe parametry były rejestrowane przez Network Information Center (NIC) w specjalnym pliku hosts.txt, który co jaki czas był kopiowany na wszystkie hosty (nazwy nowych komputerów były "widoczne" dla danego hosta po zaktualizowaniu kopii tego pliku). Stały wzrost liczby hostów czynił ten proces bardzo uciążliwym. Problem został rozwiązany w 1984 roku wraz z opracowaniem przez Paula Mockapetrisa hierarchicznego systemu nazw domenowych i protokołu DNS (Domain Name System). Rolę pliku hosts.txt przejęła rozproszona baza danych o zasobach w poszczególnych domenach, z których każda musiała być zarejestrowana na jednym z tzw. nameserver'ów. DNS dostarczył standardowego formatu danych, metod odpytywania nameserverów i wymiany danych pomiędzy nimi. Pozwoliło to każdej organizacji bądź instytucji swobodnie zarządzać swoim fragmentem sieci. Wkrótce umożliwiono rejestrowanie w DNS nieinternetowych systemów poczty elektronicznej oraz bramek do nich, co stworzyło wspólną z Internetem przestrzeń adresową.
Od 1982 roku TCP/IP stale zapewnia komunikację w coraz większym zbiorze połączonych pomiędzy sobą sieci komputerowych tworzących Internet. Na początku lat 80-tych ta "sieć sieci" była jeszcze bardzo uboga w porównaniu z okresem eksplozji jej popularności w latach 90-tych, zarówno jeżeli chodzi o ilość hostów, jak i zakres oraz jakość dostępnych usług. Mimo to moment przejścia z NCP na TCP/IP należy uznać za początek właściwego Internetu, gdyż właśnie wtedy położone zostały techniczne podwaliny jego działania, które w swoim podstawowym zakresie funkcjonują aż do dziś. Protokół TCP/IP został opracowany za publiczne pieniądze DARPA i powszechnie udostępniony za darmo, dzięki czemu powstały liczne jego implementacje na różne systemy, co z kolei spowodowało jego wielką popularność. Na bazie TCP/IP opracowano szereg protokołów realizujących różne usługi sieciowe. Chociaż oficjalnie czasami mówi się o Internecie jako o sieci "wieloprotokołowej", to jednak TCP/IP jest faktycznie obowiązującym standardem, uniwersalnym językiem zrozumiałym przez komputery wielu typów.
UUCP
W 1976 roku w AT&T Bell Labs, powstał protokół, a w zasadzie program UUCP (Unix-to-Unix CoPy), który umożliwiał przenoszenie plików pomiędzy połączonymi komputerami pracującymi pod systemem operacyjnym Unix. Inicjatorem jego powstania był Mike Lesk, a pierwotnym przeznaczeniem - wspomaganie konserwacji i testowania oprogramowania w laboratorium. Dzięki wykorzystaniu łącz stałych i telefonicznych oraz modemów ułatwiono rozprowadzanie plików pomiędzy wieloma komputerami. Rok później UUCP został dołączony do siódmego wydania Unixa. Fakt ten w sposób szczególny wpłynął na rozwój prac nad komunikacją pomiędzy komputerami. System Unix był bardzo popularny na wielu wyższych uczelniach ze względu na bardzo niski koszt (AT&T nie miała prawa czerpać zysków z działalności innej niż telekomunikacyjna), dostępność kodu źródłowego, niedużą objętość i niewielkie wymagania sprzętowe w stosunku do wydajności (w Bell Labs, podobnie jak na uczelniach, dominowały komputery DEC PDP-11). Z tego powodu UUCP bardzo szybko rozpowszechnił się w środowiskach akademickich, tym bardziej, że już wkrótce umożliwił łatwą i w miarę szybką komunikację pomiędzy użytkownikami Unixa.
W następnych latach powstało kilka sieci komputerowych wykorzystujących protokół UUCP, które opierały swoje działanie na zasadzie store-and-forward (zgromadź i przekaż dalej). Do transmisji danych wystarczały im linie komutowane (telefoniczne), więc w odróżnieniu od ARPANET-u nie musiały one posiadać własnej warstwy fizycznej - taka sieć komputerowa faktycznie była systemem logicznych połączeń poprzez publiczną sieć telefoniczną. Komputery do niej włączone regularnie, według określonego harmonogramu, nawiązywały między sobą połączenia telefoniczne, podczas których następowała wymiana danych. Oczywiście taki system komunikacji wykluczał lub przynajmniej ograniczał szereg zastosowań znanych z ARPANET-u, niemniej jednak był zupełnie wystarczający do elektronicznej wymiany informacji, a co najważniejsze, nie wymagał kosztownych inwestycji telekomunikacyjnych. Właśnie z tego powodu sieci te, a szczególnie Usenet, bywają złośliwie nazywane "Internetem dla biednych" (Poor Man's Internet). Odegrały one ważną rolę w rozwoju Internetu - znacznie zwiększyły jego zasięg, wpłynęły na anarchiczną strukturę, a ponadto dały początek niektórym popularnym dziś usługom sieciowym.
Ograniczenia technologiczne spowodowały, że usługi dostępne w sieciach UUCP wykorzystywały przede wszystkim mechanizmy rozproszonej dystrybucji informacji, a nie np. zdalnego dostępu do zasobów. Znaczną rolę odgrywała poczta elektroniczna, która została rozwinięta w kierunku elektronicznych systemów konferencyjnych, umożliwiających stosunkowo efektywną wymianę informacji w dużych grupach użytkowników.
Jedną z pierwszych sieci tego typu była Theorynet, która powstała w 1977 roku na Uniwersytecie Wisconsin. Projekt ten, kierowany przez Larry'ego Landwebera, umożliwił komunikację za pomocą poczty elektronicznej ponad setce naukowców (dostęp użytkowników do serwera zrealizowany był z wykorzystaniem komercyjnej sieci pakietowej Telenet).
CSNET
Dostęp do ARPANET-u mieli tylko naukowcy z ośrodków współpracujących z DARPA i tylko oni czerpali wszelkie korzyści z tego płynące. Sieć ta rozszerzała możliwości prowadzenia badań naukowych, a także była magnesem przyciągającym najlepszych studentów, dlatego też powstała presja środowiska na stworzenie sieci dostępnej również dla pozostałych naukowców. UUCP, modemy i telefony stanowiły gotową infrastrukturę dla transmisji danych, której koszty nie były wygórowane.
W maju 1979 roku Larry Landweber zorganizował spotkanie przedstawicieli DARPA, NSF (National Science Foundation - Narodowa Fundacja Nauki) oraz naukowców-informatyków z różnych uczelni w celu przedyskutowania możliwości utworzenia sieci komputerowej łączącej ośrodki badawcze informatyki. Był to pierwszy krok w kierunku powstania sieci CSNET (Computer Science Network). Pierwotne plany zakładały, że będzie to sieć odosobniona, jednak w późniejszych poprawkach przewidziano również bramkę do ARPANET-u.
Latem 1980 roku Vinton Cerf zaproponował plan międzysieciowego łącza pomiędzy projektowanym CSNET-em a ARPANET-em. Według niego CSNET miałby być logiczną siecią złożoną z wielu sieci fizycznych, a komunikacja z ARPANET-em byłaby przeźroczysta, tzn. używane protokoły byłyby takie same z punktu widzenia użytkowników zarówno z jednej, jak i z drugiej strony. Do połączeń pomiędzy poszczególnymi sieciami stworzono by specjalną bramkę (internetwork gateway), tzw. VAN (Value Added Network), w której komunikację miałby zapewnić nie mający jeszcze wówczas szerszych zastosowań protokół TCP/IP. Ten pomysł był kolejnym krokiem w kierunku dzisiejszej struktury Internetu.
Zatwierdzone plany CSNET-u zakładały docelowo dostęp dla wszystkich naukowców, koszt uczestnictwa zależny od ilości i jakości usług oraz samowystarczalność finansową (z wyjątkiem fazy projektu i implementacji). Pierwsza faza realizacji, zakończona latem 1982 roku, dostarczyła narzędzi do wymiany poczty elektronicznej opartej o dostęp modemowy. W następnym roku na Uniwersytecie Wisconsin utworzono prototypowy nameserver, protoplastę opracowanego w 1984 roku na potrzeby ARPANET-u systemu DNS (Domain Name System).
Ponieważ wraz z rozwojem tej sieci jej użytkownikami stawało się coraz więcej naukowców nie związanych z informatyką, z czasem zmodyfikowano jej nazwę na Computer and Science Network. W szczytowym okresie działania w CSNET-cie znajdowało się około 200 hostów z około 15 krajów. Ponieważ na początku lat 90-tych okazało się, że większość z tych maszyn podłączona jest również do innych sieci, CSNET został zlikwidowany.
Usenet
W odróżnieniu od ARPANET-u czy CSNET-u, w których stworzenie były zaangażowane tak poważne instytucje jak ARPA czy NSF, powstanie Usenetu było całkowicie oddolną, niezależną inicjatywą. Rozpowszechnienie w drugiej połowie lat 70-tych protokołu UUCP dało wielu informatykom możliwość łatwego, a co najważniejsze taniego łączenia komputerów z systemem operacyjnym Unix. Sieć ARPANET była już wówczas znana w środowiskach akademickich, ale dostęp do niej miały tylko ośrodki posiadające kontrakty Departamentu Obrony. Wiele innych uczelni nie mogło nawet marzyć o uzyskaniu takiego statusu i to ograniczenie, w połączeniu z powszechnością Unixa, stało się motorem powstania nowej sieci.
W 1979 roku trzej doktoranci, Tom Truscott i James Ellis z Uniwersytetu Duke oraz Steve Bellovin z Uniwersytetu Północnej Karoliny (UNC), postanowili wykorzystać UUCP i własnoręcznie wykonane modemy 300-bodowe do połączenia komputerów ze swoich uczelni. Bellovin napisał serię skryptów powłoki Unixa, które obsługiwały proces automatycznego łączenia się komputerów poprzez linię telefoniczną, sprawdzania czasu ostatniej modyfikacji określonych plików i kopiowania tych plików, które zostały zmodyfikowane od czasu ostatniego połączenia. W ten sposób powstał system, w którym użytkownik danego komputera tworzył artykuł (article, posting) o dowolnym temacie (subject) przypisany do grupy dyskusyjnej poświęconej określonemu zagadnieniu, który następnie był rozprowadzany na inne komputery. Inni użytkownicy mogli na tych komputerach odczytać wybrane przez siebie na podstawie tematu artykuły. Odpowiedzi na nie mogły trafiać jako kontynuacja do grupy (follow-up), albo pocztą elektronicznej bezpośrednio do autora artykułu (reply). System ten nazwano Netnews, a stworzoną w ten sposób sieć - Usenet (prawdopodobnie od User's Network).
Na początku w sieci tej były 3 komputery, a dziennie przesyłane były średnio 2 artykuły. Ponieważ skrypty działały bardzo wolno, Truscott i inny doktorant z Duke - Stephen Daniel, napisali jeszcze raz to samo oprogramowanie w języku C, i odtąd znane ono było jako A News. Twórcy Usenetu zaprezentowali swoje dzieło na spotkaniu Usenix, stowarzyszenia użytkowników Unixa i zaprosili wszystkich chętnych do współpracy nad jego dalszym rozwojem. Oprogramowanie A News znalazło się na taśmie dystrybucyjnej letniej konferencji Usenix w 1980 roku, dzięki czemu szybko się rozpowszechniło. Usenet stał się szansą na włączenie do sieci każdego systemu unixowego, gdyż w odróżnieniu od ARPANET-u, był on dostępny dla wszystkich chętnych i bez większych nakładów finansowych.
Na przełomie 1980 i 81 roku do Usenetu został włączony komputer z Uniwersytetu Kalifornii w Berkeley (UCB), który był już podłączony do ARPANET-u. Dzięki Markowi Hortonowi z UCB niektóre listy dyskusyjne ARPANET-u zostały zbramkowane z grupami Usenet News. Przyciągnęło to sporo nowych użytkowników i odtąd liczba komputerów w Usenecie zaczęła się szybko zwiększać. To oficjalnie nieusankcjonowane posunięcie wytworzyło presję na rozszerzenie zasięgu i ułatwienie dostępu do ARPANET-u, a w konsekwencji przekształcenie go w przyszłości w część szkieletu większej sieci - Internetu. Wkrótce ilość bramek i bramkowanych list również się powiększyła. Ilość hostów i stale wzrastający ruch spowodowały, że w 1981 roku Horton i Matt Glickman napisali oprogramowanie B News, którego kolejne wersje były udostępniane w latach 1982-84.
Inicjatorzy Usenetu pierwotnie zakładali, że ich system będzie służył do lokalnej wymiany informacji, np. w obrębie kampusu uniwersyteckiego. Szybko okazało się, że dla użytkowników najbardziej atrakcyjna była możliwość dyskusji mimo istnienia barier geograficznych. Niestety nawiązywanie połączeń telefonicznych na dużą odległość generowało spore koszty. Ważną rolę w przełamaniu tego ograniczenia odegrali administratorzy z AT&T i DEC, którzy udostępnili systemy i łącza długodystansowe należące do tych firm (chociaż nie zawsze towarzyszyło temu wsparcie kierownictwa). Aby znaleźć się w obejmującym coraz większy obszar Usenecie wystarczyło uzgodnić nawiązanie regularnych połączeń UUCP z hostem już się tam znajdującym. Ponieważ nikt z góry nie projektował topologii tej sieci, a na dodatek coraz większa część ruchu odbywała się poprzez ARPANET i inne sieci, czasami zdarzały się przypadki kuriozalne, jak np. na Uniwersytecie Case Western Reserve, gdzie poczta elektroniczna z jednego wydziału na drugi wędrowała dwukrotnie przez cały kontynent, chociaż ich komputery stały w tym samym budynku. Innym ciekawym przykładem transmisji danych było cotygodniowe przesyłanie taśmy magnetycznej pocztą lotniczą do Australii. W celu optymalizacji transmisji danych, szczególnie na duże odległości, w 1983 roku Gene Spafford zainicjował stopniowe organizowanie się szkieletu (backbone) - struktury dużych komputerów, posiadających dostęp do dobrych łącz, niezawodne oprogramowanie i przekazujących wszystkie grupy news'ów z podstawowego zbioru.
Poprawne funkcjonowanie Usenetu zapewniali administratorzy poszczególnych, głównie dużych hostów, którzy wkładali w to sporo wysiłku - zazwyczaj całkowicie społecznie. Współpracowali oni ze sobą w rozwiązywaniu przeróżnych problemów technicznych oraz tworzyli standardy i zwyczaje, np. demokratyczną procedurę tworzenia nowych grup (głosowanie, w którym głosów "za" musiało być o 100 więcej niż "przeciw"). Z powodu stałych kontaktów poprzez sieć większość z nich znała się nawzajem i z czasem przylgnęło do nich określenie "kliki szkieletowej" ("backbone cabal").
W początkowym okresie funkcjonowania Usenetu wszystkie grupy znajdowały się w hierarchii "net" (taki był pierwszy człon każdej nazwy, np. "net.unix-wizards"). Listy dyskusyjne bramkowane z ARPANET-u utworzyły nową hierarchię "fa" (from ARPANET). W 1984 roku pojawiła się hierarchia "mod" z grupami moderowanymi, czyli kontrolowanymi przez moderatora dysponującego np. prawem odrzucania artykułów sprzecznych z tematyką grupy. Oprócz tego stale pojawiały się nowe hierarchie grup lokalnych. W latach 1986-87 przeprowadzono tzw. "Wielką Reorganizację" ("Great Renaming"), w wyniku której pojawiło się siedem podstawowych hierarchii: "comp", "misc", "news", "rec", "sci", "soc" i "talk". Jej celem było uporządkowanie bardzo już rozrośniętej listy nazw grup oraz wydzielenie osobnej hierarchii "talk" dla grup o kontrowersyjnej tematyce. Dzięki temu administratorom poszczególnych komputerów łatwiej było usuwać niepożądane przez nich grupy. Wkrótce potem w Usenecie doszło do małej rewolucji, znanej jako "rozbicie kliki szkieletowej" ("Breaking of the Backbone Cabal"). Administratorzy głównych komputerów odmówili transmitowania przez nie pozytywnie przegłosowanych grup na temat seksu i narkotyków, co doprowadziło do utworzenia alternatywnej hierarchii "alt", która była obecna tylko w części Usenetu i przynajmniej teoretycznie omijała łącza ARPANET-u. Kilka miesięcy później "klika szkieletowa" abdykowała i przekazała swoje funkcje w ręce Spafforda, jednego z najbardziej zasłużonych administratorów.
Od 1981 roku liczba hostów i dzienna ilość artykułów rosły co najmniej o 50% rocznie. Wzrostowi temu stale towarzyszyło przekonanie niektórych użytkowników, że nieunikniona jest śmierć sieci z powodu jej przeładowania. Na szczęście rozwój infrastruktury teleinformatycznej oraz działania administracyjne, np. ograniczanie czasu przechowywania artykułów bądź ilości grup na poszczególnych serwerach, pozwoliły tego uniknąć. Z biegiem lat coraz większa część ruchu w Usenecie odbywała się poprzez ARPANET, co doprowadziło do stopniowego wypierania UUCP przez NNTP (Network News Transfer Protocol) - metody transmisji news'ów po łączach TCP/IP, opracowanej w 1986 roku. Nadal jednak wielu użytkowników indywidualnych wykorzystywało UUCP, mimo jego mniejszej wydajności. W latach 1988-89 pojawiło się oprogramowanie C News, napisane przez Henry'ego Spencera z Uniwersytetu w Toronto, a na początku lat 90-tych rozpowszechniły się pełnoekranowe, wątkowe czytniki news'ów: nn, trn i tin.
Dzisiaj Usenet News to tylko jedna z kilkunastu usług dostępnych dla użytkowników Internetu. Mimo to w środowisku tym przetrwał duch chyba najbardziej demokratycznej sieci komputerowej. Usenet stał się swoistym modelem wirtualnego społeczeństwa rządzącego się własnymi prawami i bardzo czułego na łamanie obowiązujących w nim zasad, m.in. zdecydowanie odrzucającego wszelkie próby komercyjnego wykorzystania sieci w celu osiągnięcia zysku. Jego wolność i spontaniczność miała jednak również złe strony, jak chociażby to, że nie sposób było zapobiec przekazywaniu za jego pośrednictwem różnych niepożądanych treści bądź bezużytecznych informacji. Na szczęście Usenet został zorientowany na użytkownika, który zawsze sam decydował o tym, jaka informacja do niego dociera.
BITNET
NCP, TCP/IP i UUCP nie były jedynymi rozwiązaniami w komunikacji między komputerami. W 1981 roku powstała kolejna sieć komputerowa - BITNET (Because It's Time Network), która połączyła duże komputery IBM klasy mainframe z centrów obliczeniowych Uniwersytetu w Nowym Jorku i Yale, używając do tego opracowanego w IBM protokołu NJE (Network Job Entry). Sieć ta, obejmująca głównie uczelnie i inne instytucje naukowe, dość szybko rozrosła się do 225 węzłów w 1984 roku, kiedy to sformalizowano jej strukturę poprzez powołanie ciała zarządzającego nią, w którym reprezentowane były wszystkie organizacje członkowskie. Ponieważ firma IBM wyłożyła pewne fundusze na jej rozwój, powstało mylne wrażenie, że jest to sieć należąca do IBM (prawdą jest, że pracowały w niej komputery wyprodukowane przeważnie przez IBM). W 1989 roku BITNET i CSNET zostały połączone w jednej organizacji - CREN (Corporation for Research and Educational Networking). Szczytowy okres rozwoju BITNET-u przypadł na początek lat 90-tych - należało wówczas do niego 49 krajów, w większości poprzez lokalne odpowiedniki, jak europejska sieć EARN.
Z powodu używania niestandardowego protokołu znaczenie BITNET-u nie byłoby zbyt wielkie, gdyby nie typowa dla niego, bardzo popularna usługa list dyskusyjnych obsługiwanych przez oprogramowanie LISTSERV (oferujące wiele dodatkowych możliwości w porównaniu z listami znanymi wcześniej z ARPANET-u). Ilość tych list sięgnęła kilku tysięcy, a dzięki istniejącym bramkom pocztowym mogli z nich korzystać użytkownicy innych sieci. Ich popularność wynikała głównie z tego, że użytkownicy BITNET-u nie mogli korzystać z wielu innych usług dostępnych w Internecie (np. FTP, Usenet News), więc siłą rzeczy był to dla nich najlepszy sposób komunikacji. Z czasem wiele z tych list pojawiło się również jako bramkowane grupy Usenet News, tworząc nową hierarchię bit.listserv. Mimo pewnych widocznych związków z Internetem BITNET uważany jest za sieć leżącą gdzie na jego obrzeżach.
NSFNET
W połowie lat 80-tych NSF zaczęła tworzyć ośrodki superkomputerowe, mające służyć naukowcom z różnych dziedzin. Ponieważ superkomputery były bardzo drogimi maszynami, funduszy NSF i sponsorów wystarczyło tylko na pięć centrów rozrzuconych na obszarze całych Stanów Zjednoczonych (JVNC - Princeton, PSC - Pittsburgh, SDSC - San Diego, NCSA - Illinois i Theory Center - Cornell). Aby udostępnić ich zasoby maksymalnie dużej liczbie chętnych bez konieczności dalekich podróży, wymyślono włączenie ich w sieć komputerową, do której miałyby dostęp uczelnie i inne instytucje naukowo-badawcze. Początkowo NSF zamierzała wykorzystać do tego ARPANET, ale sprawa ugrzęzła z przyczyn biurokratycznych, dlatego też zdecydowano zbudować nową sieć - NSFNET. Na wstępie w końcu 1986 roku łącza dzierżawione 56 kbps połączyły sześć ośrodków: centra NSF i Narodowe Centrum Badań Atmosferycznych (NCAR).
Ruch w tej sieci rósł bardzo szybko i w 1987 roku NSF postanowiła znacznie przyśpieszyć jej rozwój poprzez wprowadzenie szybkich łącz T1 o przepustowości 1,5 Mbps. Kontrakt na rozbudowę i zarządzanie NSFNET-em otrzymała firma Merit - konsorcjum uniwersytetów ze stanu Michigan, która już od lat 60-tych świadczyła usługi sieciowe dla kampusów uniwersyteckich i zorganizowała stanową sieć MichNet. Merit zaprosiła do współpracy IBM, który dostarczył niezbędne wyposażenie (m.in. routery) i oprogramowanie oraz MCI - operatora telekomunikacyjnego, który zapewnił łącza. Firmy uczestniczyły w tym innowacyjnym, ogólnokrajowym projekcie bardzo chętnie, gdyż w ten sposób uzyskały dostęp do nowoczesnych technologii opracowywanych na uczelniach.
Łącza T1 ruszyły w drugiej połowie 1988 roku. Architektura sieci oparta była o zestaw protokołów TCP/IP, gdyż w tym czasie większość sieci kampusowych wykorzystywała właśnie ten standard. Wprowadzono trójpoziomową strukturę NSFNET-u: główna sieć szkieletowa (backbone) T1 łączyła 13 węzłów: Merit, 6 dotychczasowych centrów oraz 6 regionalnych sieci średniego poziomu w różnych częściach USA: BARRNet, MIDNET, Westnet, NorthWestNet, SESQUINET i SURAnet (dodatkowo NYSERNet i JVNCnet były dołączone poprzez centra superkomputerowe). Na najniższym poziomie znajdowały się sieci poszczególnych uczelni i instytucji, przyłączone do sieci regionalnych. W celu minimalizacji kosztów topologię połączeń zaprojektowano tak, aby ich łączna długość była jak najmniejsza. Szkieletem zarządzało specjalnie w tym celu powołane, czynne 24 godziny na dobę, Centrum Operacji Sieciowych (Network Operations Center), które m.in. zbierało dane statystyczne o ruchu i opracowało mechanizm komunikowania o wszelkich awariach, przerwach w ruchu itd. (tzw. trouble-tickets). W skład NSFNET-u wchodziło wówczas łącznie 170 sieci.
W 1989 roku wprowadzono dodatkowe, nadmiarowe łącza T1, co zwiększyło wydajność i niezawodność sieci. Stopniowo przyłączane były inne kraje (na początek Kanada, Francja i kraje skandynawskie), gdzie budowano sieci szkieletowe na wzór NSFNET-u. Technologia T1 i stale rosnący zasięg tej sieci sprawiły, że stopniowo zastąpiła ona ARPANET, ostatecznie zlikwidowany w 1990 roku. Od tego momentu można było w praktyce mówić, że dana sieć znajduje się w Internecie, jeśli jest przyłączona do NSFNET-u. Eksplozja ilości użytkowników, głównie ze społeczności naukowo-badawczej, wymusiła decyzję o wprowadzeniu łącz T3 o przepustowości 45 Mbps, co nastąpiło w latach 1990-91. W tym czasie ilość węzłów w szkielecie wzrosła do 16, a łączna ilość sieci sięgnęła 3500. Zarządzanie siecią przeszło w gestię ANS (Advanced Networks & Services), instytucji non-profit powołanej przez Merit, IBM i MCI, z której później wyrosła część komercyjna - ANS CO+RE.
Na przełomie lat 80-tych i 90-tych ustanowione zostały pierwsze bramki umożliwiające wymianę poczty elektronicznej pomiędzy Internetem a istniejącymi już od dłuższego czasu sieciami komercyjnymi, takimi jak np. MCI Mail, wykorzystującymi technologie inne niż TCP/IP. Szkielet NSFNET-u mógł być jednak wykorzystywany tylko przez środowiska akademickie i naukowe, co zostało sprecyzowane w dokumencie "Acceptable Use Policy" (AUP). Analogiczne regulacje posiadały również sieci regionalne, chociaż niektóre z nich widziały w przyłączaniu firm komercyjnych szansę na samowystarczalność finansową. Ta sprzeczność znalazła rozwiązanie w postaci pierwszych komercyjnych dostawców sieciowych Internetu (network provider). Firmy te, UUNET Technologies i PSI (Performance Systems International), powstały w środowiskach ludzi wcześniej już związanych z ARPANET-em bądź NSFNET-em. W 1991 roku wraz z General Atomics, założycielem początkowo niekomercyjnej sieci CERFNet, powołały one do życia organizację CIX (Commercial Internet eXchange), która zajęła się tworzeniem połączeń pomiędzy komercyjnymi providerami Internetu.
O ile podstawy technologii współczesnego Internetu pochodzą z czasów ARPANET-u, to obecna popularność globalnej sieci ma swoje korzenie w szerokim udostępnieniu NSFNET-u na amerykańskich uczelniach. NSF finansowała podłączanie poszczególnych kampusów tylko wtedy, gdy wiązało się to z umożliwieniem dostępu innym instytucjom, głownie edukacyjnym, z najbliższej okolicy. Studenci opuszczający mury swoich uczelni pragnęli nadal korzystać z dobrodziejstw sieci i w ten sposób stworzyli olbrzymi rynek potencjalnych klientów dla komercyjnych providerów. W ciągu kilku lat doprowadziło to do internetowego boom'u, a komercyjne wykorzystanie Internetu zaczęło stopniowo przeważać. W 1993 roku powstał projekt zastąpienia NSFNET-u jeszcze szybszą siecią o przepustowości 155 Mbps, będącą połączeniem kilku komercyjnych sieci szkieletowych, dostępnych dla wszystkich skłonnych za to zapłacić (dostęp dla uczelni i instytucji naukowo-badawczych nadal finansowałaby NSF). Plan ten został wcielony w życie w 1995 roku. Dokładnie 30 kwietnia, niezauważalnie dla użytkowników, przestał działać szkielet NSFNET-u, do którego było wówczas podłączonych 50766 sieci z 93 krajów (w tym 131 z Polski, obecnej w nim od 1991 roku).
Kalendarium - najważniejsze daty
1957
Wystrzelenie Sputnika przez Związek Radziecki - w odpowiedzi na to w USA powołano agencję ARPA
1962
Raport Paula Barana "On Distributed Communications Networks" dla RAND Corporation
1967
Pierwsze plany sieci ARPANET
1968
Pierwsza funkcjonująca sieć pakietowa w National Physical Laboratories w Wielkiej Brytanii
1969
Uruchomienie pierwszych czterech węzłów ARPANET-u (UCLA, SRI, UCSB, UoUtah)
Pierwszy dokument z serii RFC (Steve Crocker "Host Software")
1970
Wprowadzenie w węzłach ARPANET-u protokołu NCP
1972
Pierwsza publiczna prezentacja funkcjonowania ARPANET-u zorganizowana podczas Międzynarodowej Konferencji Komunikacji Komputerowej
Telnet
Opracowanie pierwszego programu do wymiany poczty elektronicznej
1973
FTP
1974
Specyfikacja protokołu TCP (Vinton Cerf i Bob Kahn "A Protocol for Packet Intercommunication", IEEE Transactions)
1976
Opracowanie protokołu UUCP (Mike Lesk - AT&T Bell Labs)
1977
Pierwsza demonstracja funkcjonowania zestawu protokołów TCP/IP z wykorzystaniem różnych rodzajów długodystansowych łącz (ARPANET, Packet Radio, SATNET)
1979
Połączenie pierwszych komputerów w sieci Usenet z wykorzystaniem protokołu UUCP i modemów 300 bps (Duke, UNC)
Pierwsze plany sieci CSNET
1981
Utworzenie sieci BITNET (CUNY, Yale)
Pierwsze połączenia pomiędzy ARPANET-em a Usenetem
1982/83
Początki właściwego Internetu ("sieć sieci") w związku z przejściem ARPANET-u na protokół TCP/IP
1983
Wyodrębnienie z ARPANETU części militarnej - Milnet
Założenie EARN - europejskiego odpowiednika BITNET-u
1984
Domain Name System (Paul Mockapetris)
1986
NNTP - nowa metoda transmisji Usenet News po TCP/IP
Początek "Wielkiej Reorganizacji" Usenetu
Połączenie pierwszych sześciu ośrodków w sieci NSFNET
1988
Wprowadzenie łącz T1 (1,5 Mbps) w sieci szkieletowej NSFNET
IRC
1990
Zakończenie działania ARPANET-u
Archie
1991
Wprowadzenie łącz T3 (45 Mbps) w sieci szkieletowej NSFNET
CIX - Commercial Internet eXchange
WAIS, Gopher, WWW, PGP
1992
Powołanie Internet Society (ISOC)
1993
Mosaic - pierwsza graficzna przeglądarka WWW
1994
Pierwszy wielki spam w Internecie
1995
Zastąpienie sieci szkieletowej NSFNET przez połączenie kilku komercyjnych sieci szkieletowych