Sieci komputerowe.

Tylko w prehistorycznym okresie w dziejach informatyki maszyn liczących (gdzie im jeszcze do komputerów) nie łączono między sobą. Były to maszyny - dzieła sztuki: istniejące w pojedyńczych (albo co najwyżej kilku) egzemplarzach. Kiedy trzeba było wyniki pracy jednego urządzenia przekazać innemu, operator zapisywał co trzeba na papierku i dreptał wprowadzić to ręcznie dalej.
W następstwie osiemnasto- i dziewiętnastowiecznego rozwoju przemysłu i handlu konieczność przenoszenia i przetwarzania wielkiej ilości danych przypieczętowała niezbędność maszyn rejestrujących, liczących i księgujących. Dostały one swój pierwszy, w miarę uniwersalny nośnik informacji: w 1879 roku powstała kasa sklepowa, rejestrująca transakcje na papierowej taśmie perforowanej. Pierwotnie zapis ten był przeznaczony do wzrokowego odczytywania przez kontrolującego kasę urzędnika, ale szybko skonstruowano mechaniczny kalkulator pobierający dane z takiej taśmy.
Pomysł był wzorowany na metalowych kartach z zapisem programu dla krosien Jacquarda (po naszemu krosien żakardowych) z roku 1807 i papierowej taśmie telegraficznej.
A już w 1890 inżynier Hollerith użył kart perforowanych do kodowania danych statystycznych dla spisu powszechnego w USA. Dane zapisane w ten sposób dawały się automatycznie sortować, co w przypadku ręcznie wypełnianych formularzy trwałoby parę lat.
Tutaj też idea nie była nowa; dawno już istniały kartoteki z systemem dziurek i wycięć na grzbiecie, z których kombinacja prętów, przewlekanych przez całą szufladę, wyłuskiwała karty odpowiadające zadanym kryteriom.
Jak widać, raz zaczęte, poszło z kopyta. Kiedy już maszyny do przetwarzania informacji mogły otrzymywać dane i zwracać wyniki w formie akceptowalnej dla innych maszyn, zaczęto myśleć nad formowaniem systemów z istniejących urządzeń w celu wypełnienia bardziej złożonych zadań. W 1910 roku dla spisu ludności w Niemczech instalowano zestawy elektromechanicznych dziurkarek, sortowników i tabulatorów systemu Holleritha. Po zakodowaniu danych na kartach przy pomocy dziurkarki podawano całe ich stosy sprawdzarce, skąd wędrowały do sortownika, a stamtąd do tabulatorów, sumujących poszczególne rubryki arkuszy spisowych. Wyniki można było odczytać na wskaźnikach z podziałką i wskazówką, a także "wydziurkować" na kartach.
I już było wiadomo, dlaczego frau Mueller ma taką czystą bieliznę. Nie żaden tam proszek "Ariel", tylko ma baba cztery balie i służącą...

Takie metody "transmisji danych" wystarczały do czasu pierwszych komputerów. Przenoszenie gór kart czy zwojów taśm perforowanych przy wydajności i elastyczności maszyn programowalnych szybko stało się wąskim gardłem, takim jak dawniej ten papierek z zapisanymi kolumnami liczb.
Już przekaźnikowy komputer Zuse Z3 z roku 1941 miał interfejs elektryczny do podłączenia klawiatury i wyświetlacza lampowego, służących jako urządzenia wejścia/wyjścia, albo drugiego komputera Z3. Program był perforowany na taśmie filmowej. Obliczenie pierwiastka kwadratowego trwało trzy sekundy.

Powojenne komputery były olbrzymimi maszynami, z którymi komunikowali się bezpośrednio tylko ich operatorzy. Użytkownik przynosił swoją robotę w postaci nośnika informacji, oddawał operatorowi i czekał na wyniki. W razie błędu zabierał swoje wypociny do poprawienia, po czym wracał znowu. A czekanie mogło trwać i parę dni. Tworzenie, uruchamianie i poprawianie oprogramowania też odbywało się w tym trybie.
Wielkim krokiem naprzód było wprowadzenie terminali - urządzeń z których można było wprowadzać dane i programy oraz sterować wykonaniem zadań w trybie konwersacyjnym. Do komputera można było podłączyć dość ograniczoną liczbę terminali, a w dodatku nie mogły one być zbyt oddalone. Na początku terminalami były dalekopisy, później szybkie drukarki z klawiaturą albo terminale ekranowe, czyli urządzenia bez jakichś własnych możliwości przetwarzania danych. Istnieje jeszcze określenie "dumb terminal" (głupi terminal), stosowane do terminali ekranowych typu VT52 i VT100.
A użytkownik zbyt oddalony aby dysponować terminalem musiał działać po staremu: nadziurkować sobie kart albo taśmy, wrzucić je do wora, i pofatygować się do pana komputera. Sam pamiętam wymęczone postaci z walizkami "dżobów" (od angielskiego job - praca) na kartach, drzemiące pokotem na korytarzach ośrodków obliczeniowych i nad ranem pędzące z pękami wydruków w miasto, żeby nie spóźnić się na pociąg. Taki już był los tych biedaków, że koniec pracy sążnistych i padających raz po raz programów oraz odjazdy pociągów dalekobieżnych wypadały zgodnie o jakichś chorych godzinach.
Kiedy zachodziła konieczność transferu danych między dwoma różnymi komputerami, na przykład danych z minikomputera do przetworzenia przez program pracujący na potężniejszej maszynie, komputery łączono osobną linią, taką jak do terminala. Ze względu na koszt urządzeń i instalacji najwłaściwsza do tych celów była szeregowa metoda transmisji: nadawanie bit po bicie przez jedną parę przewodów, odbiór - przez drugą parę.

Przy większych odległościach trzeba było korzystać z sieci telekomunikacyjnej. Długie linie telefoniczne, wówczas zbudowane przeważnie ze stalowych drutów, rozpiętych na słupach, razem ze wzmacniakami, centralami, itp., miały wąskie pasmo przenoszenia. Poza tym były pełne zakłóceń, które może i nie przeszkadzały w zrozumieniu mowy, ale dla maszyny stanowiły wspaniały powód do zerwania transmisji.
Mniej więcej razem z pierwszymi komputerami z terminalami operatorskimi pojawiły się na rynku modemy. Modem (od modulator - demodulator). Modem zamienia sygnał binarny w serię tonów - zmiany częstotliwości oznaczają zera lub jedynki. Poza tym "ładuje" sygnał nadawany i odbierany w jedną parę przewodów - dokładnie tak, jak robi to aparat telefoniczny.
Pierwsze modemy były drogie i skomplikowane, więc używano ich do połączeń między ośrodkami przetwarzania danych.

Powstałą słoniowatą strukturę, grupującą po parę komputerów przy pomocy majsterkowanych połączeń i modemów wielkości szafy (za to z prędkością transmisji niekiedy aż całych 300 bodów) ciężko było nazwać siecią. Można było wymieniać dane z tylko z tym, z kim nawiązało się połączenie. Samo połączenie było kapryśne: byle zakłócenie powodowało zerwanie łączności, a z korekcją błędów było gorzej niż marnie.
Ale to właśnie takie koszmarki przygotowały grunt sieciom rozległym (WAN - Wide Area Network). Zmuszały inżynierów do zastanowienia się czy musi tak być i co dalej. To z ich powodu opracowano wiele programów precyzujących sposób nawiązywania połączenia, metodę transmisji i algorytm korekcji błędów. Nazwano je protokołami komunikacyjnymi, co nawiązuje do protokołu dyplomatycznego - zbioru zasad umożliwiających wspólne zabranie się do roboty, niezależnie od różnic narodowych. No i oczywiście ustalenie hierarchii bez urażenia kogokolwiek.
Większość stosowanych dziś technik sieciowych jest rozwinięciem ówczesnych rozwiązań.

Wtedy też zaczęła się specjalizacja komputerów: jedne po staremu pobierały dane, wykonywały na nich żądane operacje i odsyłały wyniki, inne stały się serwerami. Serwery mogą pracować na dwa sposoby: albo same wykonują programy zlecone z terminali, albo też wysyłają żądane dane do przetworzenia innym komputerom. Najczęściej spotyka się serwery plikowe, które udostępniają użytkownikom swoją pamięć masową. Umożliwiają w ten sposób wspólny dostęp do danych, pilnując aby wszyscy mieli aktualne wersje plików, nie przeszkadzali sobie nawzajem, no i nie podkradali innym tego do czego nie powinni mieć dostępu.

Rozmaite korporacje trudniące się informatyką budowały sieci oparte pod względem zasady działania na ich własnych patentach. W porównaniu z dzisiejszymi wcale nie były one prymitywne.
Wspólną cechą ich protokołów komunikacyjnych było przesyłanie danych podzielonych na wiele pakietów. Transmisja pakietowa była wielkim postępem w porównaniu z transmisją znakową - taką jak między "głupim terminalem" a komputerem. Wysyłanie pakietów to coś jak wysyłanie pocztą anakondy w plasterkach do samodzielnego montażu, zamiast w całości. W przypadku zakłóceń (czyli uszkodzenia jednej czy dwóch paczek) anakonda właściwie dotarła do adresata, tylko trzeba dosłać brakujące plasterki.
Wspólną ich wadą było to, że ciężko komunikowały się między sobą. Wymagało to oddzielnych komputerów, tłumaczących z jednego protokołu na drugi i z powrotem.

W sieciach pakietowych można wyróżnić dwa typy: z połączeniem i bezpołączeniowe. W tych pierwszych najpierw rezerwuje się drogę dla swoich celów, przesyła pakiety, odbiera potwierdzenie, po czym zwalnia połączenie. Sieci bezpołączeniowe wysyłają pakiety w drogę pojedyńczo, zaopatrzone w adres, i odbiera potwierdzenia ich dotarcia do adresata. Jeśli go nie ma - pakiet wysyła się ponownie.
Wydawałoby się, że takie bobczenie jest nieefektywne. Otóż tylko pozornie, bo po pierwsze można wysyłać wiele rzeczy równocześnie (pakiety do różnych adresatów mogą się przeplatać), po drugie nie blokuje się połączenia, złożonego przecież z wielu odcinków i węzłów, które mogłyby w przerwach obsługiwać innych użytkowników.

Pierwszym powszechnie przyjętym zbiorem zasad współpracy miedzy komputerem a siecią pakietową była specyfikacja X.25. Definiuje ona rozmiar pakietów, sposób ich budowania (zaopatrywania w początek i koniec, adres, informację umożliwiającą kontrolę błędów, itp) i sklejania z powrotem. Jej osobliwością jest to, że łączy komputery, ale nie zawiera w sobie żadnego z nich. Jest to struktura analogiczna do sieci telefonicznej, z tym, że jej węzłami nie są centrale lecz urządzenia DCE (Data Circuit Equipment) pośredniczące w transmisji danych. Ich zadaniem jest odebrać pakiet, sprawdzić, odczytać adres, i albo wykopać go dalej, albo zażądać powtórzenia.
Transmisja X.25 jest bezpołączeniowa, z tzw. połączeniem logicznym (niektórzy mówią: wirtualnym). Dysponując informacją o topografii sieci, węzeł nawiązujący łączność ustala optymalną trasę, to znaczy węzły pośrednie. Pakiety są transmitowane od nadawcy, poprzez wszystkie pośrednie, do adresata. W każdym kolejnym DCE na trasie sprawdzana jest poprawność przesyłu, co wymaga rozpakowania zawartości, kontroli i ponownego spakowania. Transfer jest pewny, ale wolny nawet na łączach dobrej jakości.
Po odebraniu potwierdzenia że wszystko OK, opis trasy jest wymazywany - wirtualne połączenie przestaje istnieć. Wirtualnie, bo tak naprawdę to nigdy nie istniało.
X.25 jest rozwiązaniem dość uniwersalnym, nadaje się bowiem do obsługi sieci rozległych (WAN) tak samo dobrze jak do sieci lokalnych (local area network - LAN). Konkurencją są sieci typu "frame relay", gdzie węzły pośrednie tylko przesyłają pakiet dalej. Przy nowoczesnych liniach telekomunikacyjnych są błyskotliwe. Tylko kiedy trafi się parę odcinków gorszych, trzeba powtarzać sporo pakietów. A one też będą przechodziły przez te słabe łącza. Wtedy cała maszyneria musi testować poszczególne odcinki i wymyślać trasy alternatywne, a to trochę trwa.

Najbardziej znanymi sieciami wyrosłymi z X.25 były BITNET i DECnet.
Sieć BITNET w założeniu miała służyć połączeniu dużych komputerów IBM klasy mainframe. Jej konstrukcja była zorientowana na wymianę poczty elektronicznej i transfer plików. Były to jej jedyne zalety, tym niemniej w tych czasach stanowiła standard, dzięki czemu istniał sprzęt i oprogramowanie BITNETu dla maszyn innych producentów, także minikomputerów.
Sieć DECnet jest rozwiązaniem firmowym DEC (Digital Equipment Corp., dziś podpisuje się po prostu Digital). Mogą w niej pracować wszystkie typy komputerów DEC: od mainframe do małych stacji roboczych (coś jak taki lepszy pecet). Zaletami tej sieci jest niezła wydajność i fakt, że obsługuje zarówno pojedyńcze komputery, jak i sieci lokalne. Mimo dużej wady, jaką jest stosunkowo niewysoka maksymalna ilość komputerów w sieci, DECnet znalazł szerokie zastosowanie w ośrodkach akademickich i w przemyśle.

Zapotrzebowanie na sieci wymiany danych (a w ślad za tym pieniądze) było duże, ale żadne z rozwiązań nie miało użytkownika na tyle wielkiego, żeby któreś mogło stać się tym "najlepszym".
I tu znienacka pojawia się lotnictwo cywilne, a konkretnie potrzeba zautomatyzowania procesu rezerwacji miejsc pasażerskich (no, towarowych też) na długich, często wieloetapowych trasach. Oczywiście było to w Stanach Zjednoczonych, bo jakaż inna nacja potrafi się tak wiercić...
Faktem jest, że zawarto porozumienie co do budowy rozsianej po całym świecie sieci terminali i komputerów służących do obsługi pasażerów i ich bagaży. Legenda mówi, że stało się to kiedy wymięty i skołowany prezes linii Pan American wylądował w samolocie obok wymiętego i skołowanego szefa IBM. Nie dziwota, że byli wyjątkowo zgodni.
Złośliwi twierdzą, że powiedzonko "śniadanie w Londynie, obiad w Nowym Jorku, bagaże w Karaczi" powstało niedługo później.

Młodsze rodzeństwo "poważnych" sieci komputerowych - sieci komputerowe lokalne, zapewniające współpracę i wzajemne usługi między komputerami w obrębie budynku lub ośrodka, to już czasy mikrokomputerów. Oczywiście małe sieci istniały i wcześniej, ale duże komputery z odległymi terminalami w zasadzie nie zostawiały im pola do popisu. Nawiasem mówiąc, IBM PC powstał jako inteligentny terminal. Dość długo mikrokomputerami w IBM zajmował się wydział systemów wejścia/wyjścia.
W każdym razie kiedy użytkownik miał przed sobą pełnoprawny komputer, który mógł samodzielnie wykonywać zadania, a co ważniejsze w czasie rzeczywistym uczestniczyć w pracy systemu, szybka komunikacja z maszyną centralną i innymi komputerami w sieci stała się niezbędna. Zresztą ten centralny serwer też może być mikrokomputerem (jeśli nie wymagać od niego za wiele).
W wielu zastosowaniach mikrokomputery połączone siecią lokalną mogą wspólnie zrobić to samo, co olbrzymi i drogi "mainframe". Całość jest przy tym elastyczna i łatwa do rozbudowy. I także można ją łączyć z innymi sieciami lokalnymi i rozległymi.

W dziedzinie specyfikacji typowych dla LAN istniało całe mrowie rozwiązań, różniących się głównie organizacją dostępu urządzeń do nośnika (linii, czyli przewodu albo światłowodu) i topologią, czyli sposobem łączenia ich ze sobą. Dostęp poszczególnych komputerów do sieci może być regulowany rozmaicie. Może to odbywać się na zasadzie "jeden mówi, reszta słucha". Kolejność jest narzucana przez maszynę centralną (tak było w sieci ARCNET - gdzie te czasy...) albo idzie po kolei, według numerów. Tak pracują sieci typu token ring: nadaje ten, kto ma elektroniczny klucz - token. Jak skończy, przekazuje klucz z prawem głosu następnemu w kolejce.
Obecnie na placu boju zostały sieci o dostępie "kto pierwszy, ten lepszy". Takie czasy, moi drodzy. Stacje nadają, kiedy mają ochotę, w nadziei że wysłana paczka nie zderzy się z inną. W sumie transmisja jest bardzo szybka, więc w małej sieci (kilkanaście komputerów) nie zdarza się to często. Jeżeli już kolizja się zdarzy, fakt ten jest łatwo wykrywalny (a poza tym nikt nie chce przyjąć takiego zbuka), i nadawca powtarza jeszcze raz. W zasadzie jedyną formą regulacji ruchu jest rozmaita częstotliwość wysyłania i powtarzania pakietów w poszczególnych stacjach.
Taką właśnie siecią kolizyjną jest najpowszechniejszy obecnie Ethernet. Bałaganiarska zasada działania jest tu równoważona łatwością budowy i konfiguracji oraz niskim kosztem. Nie bez znaczenia jest łatwość tworzenia małych sieci bez komputera centralnego, przeznaczonych dla niewielkich grup roboczych (choćby Microsoft Networking).
Masowość produkcji rozmaitego sprzętu dla Ethernetu umożliwia stosowanie dowolnych nośników (przewodów telefonicznych, kabli koncentrycznych, światłowodów) i budowanie sieci o dużym zasięgu i wielkiej ilości stacji. Nieuchronne zwalnianie pracy takich sieci można ograniczyć używając do tego celu specjalnych przełącznic (tzw. switche), umożliwiających podzielenie ich na tzw. domeny niekolizyjne, albo "podsieci" wirtualne wydzielone (tzw. V-LANy).
Tradycyjny Ethernet działał z prędkością 10 MB/s, obecnie stosuje się sprzęt i okablowanie umożliwiające transfer 100 MB/s. Niedługo spodziewane jest osiągnięcie transferu rzędu gigabajtów na sekundę.

Atrakcyjność łączenia urządzeń w sieć wymiany danych spowodowała rozwój taniej i łatwej do implementacji konkurencji dla tradycyjnych sieci komputerowych (co za czasy: istnieje toto ledwo parę lat, a już jest "tradycyjne"). Jest to cała klasa rozwiązań umożliwiających szybkie i niekłopotliwe łączenie w sieć kilku komputerów, względnie skomputeryzowanych urządzeń domowych.
Sieci na USB (Universal Serial Bus) są niezwykle tanie, ponieważ wszystkie nowsze komputery osobiste (a często także monitory, drukarki, itp.) mają jeden albo dwa szybkie porty USB. Łaczy się parę komputerów gotowymi kabelkami, trochę klikania (łatwego) przy oprogramowaniu, i mamy sieć na stole.
Łącze sieciowe Bluetooth jest standardem radiowej komunikacji w sieci, mogącej łączyć komputery, urządzenia peryferyjne, telefony komórkowe i inne - nawet ostatnio pokazano kaloryfery z interfejsem Bluetooth. Nazwa ("niebieski ząb") pochodzi od kształtu obudowy; adapter jest wykonany w kształcie niebieskiego czopka, wtykanego do złącza USB.
Home Phone Line Alliance (HomePNA) wymaga wetknięcia do komputera adapterów, ale za to w roli okablowania używa się domowej instalacji telefonicznej. Co zabawne, używanie takiej sieci w niczym nie koliduje z używaniem telefonu albo modemu.
IEEE 1394 jest szybkim łączem szeregowym stworzonym głównie dla sieci Home Audio Video Interoperability (HAVI) do sterowania i obsługi audiowizualnego sprzętu domowego lub biurowego.
PLC (Power Line Communication) to sieć służąca do wymiany danych lub potrzeb automatyki domowej. Ciekawą cechą jest wykorzystanie domowej sieci energetycznej w charakterze nośnika danych.
IrDA (Infrared Data Association) wykorzystuje typowe szeregowe porty podczerwieni, spotykane w komputerach przenośnych. Protokół ten był dotychczas stosowany do sterowania domowymi urządzeniami audiowizualnymi i transmisji danych między dwoma komputerami. Już teraz IrDA jest praktycznie standardem wszędzie tam, gdzie potrzeba doraźnego podłączenia przenośnego komputera do sterowania i kontroli pracy urządzeń przemysłowych.

Do tej pory była mowa o tej części sieci komputerowej (rozległej albo lokalnej), która logicznie i elektrycznie organizuje transmisję pakietów. Nazywa się je protokołami komunikacyjnymi niskopoziomowymi albo warstwami MAC (media access control). Pozostaje jeszcze część wyższa, która załatwia wszystko to co pozwala korzystać z sieci, czyli współużytkować zasoby stacji roboczych. Funkcje te nazywa się usługami sieciowymi.
Oprogramowanie świadczące usługi sieciowe wykorzystuje tzw. architekturę klient - serwer. Serwer świadczy usługi, klient z nich korzysta. Trzeba przy tym pamiętać, że klient i serwer nie są urządzeniami, tylko programami. Na jednym komputerze może jednocześnie działać wiele serwerów dla różnych usług. Mogą one "należeć" nawet do różnych sieci.
Przykładem może być protokoł FTP (file transfer protocol). Kiedy chcemy ściągnąć potrzebny plik z innego komputera, uruchamiamy program klienta FTP i podajemy mu nazwę komputera który go ma. Klient łączy się z serwerem FTP i żąda pobrania pliku z pamięci masowej (dysku) i oddania go protokołom MAC z poleceniem wysyłki do nas.
Najbardziej znanymi usługami sieciowymi są:

  • zdalne logowanie się, czyli przedstawianie i potwierdzanie tożsamości,
  • wspomniany już FTP,
  • poczta elektroniczna (e-mail),
  • korzystanie ze wspólnej drukarki,
  • zdalne operacje na katalogach i plikach (np. uruchamianie programów),
  • sprawdzenie czasu dostępu do innego komputera. (ping).

    Usług sieciowych jest ogółem znacznie więcej, ale wgłębianie się w nie musiałoby pociągnąć za sobą masę dodatkowych wyjaśnień. Korci, ale wykraczałoby to solidnie poza ramy tematyczne. Poza tym, wyznaję, jestem za słaby w technice sieciowej żeby to zrobić naprawdę dobrze.

    Najpospolitszymi protokołami (a właściwie zestawami protokołów) zajmującymi miejsce między obsługą transmisji a użytkownikiem są IPX/SPX i TCP/IP. IPX/SPX jest podstawą działania rodziny systemów sieciowych Novell, które w latach osiemdziesiątych królowały w dziedzinie LAN. Dominujący obecnie TCP/IP stosuje się się zarówno w LAN jak i w WAN (chociażby "na karku" X.25).

    W rozwoju tych wyższych pięter protokołów sieciowych miało swój udział lotnictwo wojskowe. A zaznaczyło swoją obecność w sposób dość przewrotny.
    Mimo supernowoczesnych systemów uzbrojenia i środków wykrywania siły zbrojne obu supermocarstw były w stanie zagwarantować tylko tyle, że "nas diabli wezmą, ale ich też". A to tak naprawdę nikogo nie urządzało. W latach siedemdziesiątych w USA koncepcja wojny nuklearnej ustąpiła miejsca doktrynie elastycznego reagowania.
    Nawet w czasie pokoju oznaczało to konieczność wymiany wielkiej ilości danych między najrozmaitszymi sztabami, służbami, itd. Przede wszystkim jednak skrócenie jej czasu. Przy możliwościach współczesnych środków napadu powietrznego, głównie lotnictwa, były to czasem minuty - wojska amerykańskie już nie wszędzie były oddzielone oceanami od potencjalnego przeciwnika. Stało się jasne, że już w pierwszych minutach starcia mogą zostać zniszczone tradycyjne środki komunikacji i system kierowania armią (albo nawet państwem) przestanie istnieć.
    W roku 1973 rządowa agencja DARPA (Defense Advanced Research Projects Agency) dostała polecenie opracowania nowych technik sieciowych, umożliwiających budowę sieci rozległej, której działanie mogłoby być utrzymane nawet po zniszczeniu dużej części jej struktury. Dla całego programu przyjęto wewnętrzną nazwę "Internetting Project".
    Efektem były pierwsze wersje rodziny protokołów TCP/IP. Pierwotnie były to dwa protokoły: "dolny", bliski warstwom MAC - TCP (Transmission Control Protocol), i "górny" - IP (Internet Protocol).
    Dojrzalsze i bardziej rozbudowane wersje TCP/IP szybko wykazały się wieloma zaletami: mógł współpracować z praktycznie każdą siecią pakietową, był szybki i łatwy do rozbudowy o nowe usługi. Był też łatwy do przeniesienia na dowolny sprzęt. Toteż szybko zainteresowały się nim środowiska akademickie. Co prawda specjaliści starej daty byli zdania, że taka tandeta do wszystkiego jest dobra dla wojskowych i dla studentów do zabawy, ale coraz więcej sieci jednoczyło się "pod berłem" TCP/IP.

    Tak naprawdę zaczęło się w roku 1986, gdy amerykańska Narodowa Fundacja Nauki (NSF - National Science Foundation) rozpoczęła prace nad opartą o TCP/IP siecią NSFNET, której infrastruktura jest dziś główną magistralą Internetu.
    Dla większości użytkowników komputerów osobistych Internet kojarzy się z usługą HTTP (hypertext transfer protocol), polegającą na wysyłaniu do komputera użytkownika plików, albo skryptów HTML (Hypertext Markup Language). Pliki HTML zawierają tekst i instrukcje dla przeglądarki, mówiące jak ten tekst wyświetlić, gdzie wstawić obrazki i co dać jako tło. Poza tym używa się jeszcze poczty elektronicznej, i czasem FTP (kiedy "ciągniemy" pliczki albo wysyłamy coś nowego do naszej strony internetowej).
    Pomysł skryptów HTML i związanych z nimi dodatków do TCP/IP powszechnie przypisuje się naukowcom z CERN w Genewie (europejskie laboratorium fizyki cząstek elementarnych). Chodziło im o narzędzie do łatwego katalogowania i przeglądania wyników badań, często ilustrowanych grafiką. No cóż, wyszło im aż za dobrze.
    Mało kto zdaje sobie sprawę z prawdziwego zasięgu Internetu - World Wide Web (alternatywnie: World Wide Waiting albo Wasale Wielkiego Wodza) to zaledwie wierzchołek góry lodowej. Niewielu zjadaczy WWW zdaje sobie sprawę z tego że ruch w tym molochu powoli zbliża się do granic możliwości tworzenia nowych domen. A nie jest tego mało: adres internetowy, czyli numer IP, to cztery grupy po cztery cyfry (koło 4 miliardów adresów). I jeszcze musi zostawać pewien luz ze względu na zwykłych użytkowników WWW, którym ich lokalny DNS (Dynamic Name Server) przydziela wolny numer IP za każdym razem gdy włączają się do sieci. Przy okazji: to DNS-y tłumaczą łatwe do zapamiętania nazwy domen internetowych na numery, którymi operuje TCP/IP.

    Pewnie się zastanawiacie czemu tak się rozpisałem na temat, zdawałoby się dość daleki od lotnictwa. Faktycznie, mowa o sieciach komputerowych przy nawigacji lotniczej przypomina trochę sławną "Systematykę Bezkręgowców W Aspekcie Rozwoju Ruchu Robotniczego Po II Wojnie Światowej". Ale jak się zastanowić, to technika sieciowa bardzo silnie wpłynęła na dzisiejszy obraz lotnictwa.
    Otóż sieci komputerowe pozwalają na tworzenie, a co ważniejsze - rozbudowę naziemnych systemów zapewniających bezpieczeństwo ruchu lotniczego. Bez tak uniwersalnego narzędzia jak sieci, systemy te byłyby w większości na poziomie lat sześćdziesiątych. A te adekwatne do dzisiejszych potrzeb można by policzyć na palcach jednej nogi. Byłyby one po prostu za drogie. Bez sprawnych mechanizmów wymiany danych koordynację planów lotu, dzięki której możliwe jest sterowanie przepływem ruchu lotniczego, należałoby traktować jako prace badawcze, z których może kiedyś coś wyniknie. A sieci danych radarowych, takie jak europejski RADNET (RAdar Data NETwork) albo ARTAS (ATM Surveillance Tracker And Server), byłyby po prostu nie do pomyślenia.
    Bez tych wszystkich rzeczy lotnictwo zapewne rozwijałoby się niewiele wolniej, z tym że dzisiaj byłoby rodzajem rosyjskiej ruletki. Przecież przez wiele wieków brak opieki z brzegu i niezbyt pewna nawigacja nie zniechęcały nikogo do żeglowania.

    Rozwój lotniczych sieci komputerowych idzie w kierunku integracji sieci pracujących w obrębie narodowych systemów kontroli ruchu lotniczego, a w przyszłości rozciągnięcia ich aż na pokłady samolotów w powietrzu.
    Sieci lokalne w poszczególnych centrach kontroli ruchu są połączone dość archaicznymi systemami wymiany danych, takimi jak AFTN (Aeronautical Fixed Telecommunication Network) i OLDI (On - Line Data Interchange). AFTN to właściwie zwykła sieć telegraficzna, tyle że komutacja, czyli przełączanie depeszy na właściwą drogę, odbywa się automatycznie na podstawie adresu umieszczonego w nagłówku. Sieć OLDI z kolei jest dość stara, a w dodatku niejednolita: jedni używają francuskiego protokołu INTERCAUTRA (CAUTRA - Coordinateur Automatique du Trafic Aérien), inni podobnego, ale nie do końca, niemieckiego DÜV (Datenübertragungs- und Verteilungssystem). Racją tak długiego ich żywota jest prostota, a co za tym idzie wysoka pewność działania, okupiona mrówczą pracą operatorów.
    Planuje się zastąpienie tych systemów jednolitą siecią komputerową, zbudowaną według opracowanej przez instytut EUROCONTROL specyfikacji FDE (Flight Data Exchange). Zaleca się także stosowanie FDE przy budowie nowych systemów zarządzania ruchem lotniczym.
    I tu jest właśnie kość niezgody, bo jakżeby się bez niej obyło. Mianowicie FDE bazuje na sieci X.25. Osprzęt dla X.25 jest pieruńsko drogi, a taki system nawet niewielkiego warszawskiego centrum to setki stacji roboczych - literalnie tony węzłów, routerów i tego tam wszystkiego.
    Sam byłem świadkiem jak w przerwie jakiegoś mocno europejskiego spotkania nasz specjalista od sieci starł się ostro na ten temat z pewnym duńskim Francuzem (czy coś koło tego). Do szabel nie przyszło, ale mimo to pojedynek Kmicica z Aramisem był "śliczności kapusta", jak mawia pewien kolega.

    Kiedyś przeglądaliśmy sobie stare filmy szkoleniowe, korzystając z pracowitości gościa który przekopiował je na kasety video. Jeden z filmów traktował o pracy nowojorskiego centrum kontroli ruchu lotniczego i o obiegu informacji lotniczych we wczesnych latach siedemdziesiątych. Sale komputerowe z masą szaf pamięci taśmowych, długie po horyzont rzędy zapracowanych ludzi przy terminalach i drukarkach, wielkie pod sufit tablice z przypiętymi papierkami. Przy konsolach kontrolerów wyciszone dalekopisy (jakie one były wyciszone to ja pamiętam), wypluwające wiorsty papieru w ręce spoconych jak myszy asystentów. I wszędzie biegający faceci w zmiętych koszulach z rozmaitymi postaciami papierów w rękach. Słowem - romantyka lotnictwa jak sto pięćdziesiąt. U nas różniło się to skalą i notorycznym brakiem środków. No i tym, że trwało dłużej niż u nich - do końca lat osiemdziesiątych.
    Dobre, stare czasy, stwierdziliśmy, ale jakoś nikt ich szczególnie nie żałował. Nasz szefunio skonstatował wtedy ze smutkiem że duch pionierstwa wyciągnął kopyta. Jak, pytam, duch może wyciągnąć kopyta?. A szczególnie wiecznie żywy duch pana Holleritha i jemu podobnych, którzy pracowali nad tym aby informacje szybko i, co najważniejsze, bez ludzkiego wysiłku były dostarczane tam, gdzie są potrzebne. Lenistwo motorem postępu!


    Jacek Tomczak - Janowski
    03-Jan-2000
    Akt. 21-06-2002