Wykład 1
Wstęp do historii sieci komputerowych
1/25
Wstęp do historii sieci komputerowych
Szanowni Państwo, dzisiejszy wykład rozpoczyna cykl spotkań poświęconych sieciom komputerowym LAN. Zrozumienie współczesnych rozwiązań teleinformatycznych wymaga spojrzenia w przeszłość, gdyż wiele obecnych standardów jest bezpośrednim wynikiem ewolucji historycznych koncepcji. Rozpoczniemy od omówienia ery komputerów typu mainframe, która zdefiniowała model centralnego przetwarzania danych. Następnie przeanalizujemy pierwsze globalne sieci oparte na komutacji pakietów oraz rolę protokołów wojskowych w kształtowaniu Internetu. Celem tego modułu jest zbudowanie solidnego fundamentu terminologicznego, niezbędnego do dalszej nauki o architekturze TCP/IP. Proszę o skupienie, gdyż omawiane dziś mechanizmy, choć wiekowe, wciąż stanowią logiczną podwalinę działania najnowszych routerów i przełączników. Historia IT to nie tylko daty, ale przede wszystkim ewolucja idei, która doprowadziła do powstania globalnej wioski.
Wprowadzenie do sieci komputerowych
2/25
Era Mainframe: Centralizacja zasobów
W latach 50. i 60. XX wieku informatyka opierała się na potężnych jednostkach centralnych zwanych mainframe'ami (np. IBM System/360). Podejście to charakteryzowało się skrajną centralizacją: cała moc obliczeniowa oraz pamięć masowa znajdowały się w jednym, klimatyzowanym pomieszczeniu. Użytkownicy nie posiadali komputerów osobistych w dzisiejszym rozumieniu, lecz korzystali z terminali. Terminal był urządzeniem prostym (potocznie zwanym "głupim terminalem"), wyposażonym jedynie w klawiaturę i monitor, bez własnego procesora czy dysku. Jego zadaniem było jedynie wysyłanie znaków do jednostki centralnej i wyświetlanie odpowiedzi. Taka architektura wymuszała stosowanie dedykowanych łączy szeregowych o relatywnie niskich prędkościach transmisji. Model ten, choć archaiczny, jest odległym pierwowzorem dzisiejszych rozwiązań chmurowych (ang. cloud computing), gdzie zasoby są ponownie centralizowane w potężnych centrach danych (ang. data center).
3/25
Połączenia szeregowe RS-232
Podstawą komunikacji terminali z mainframe'ami był standard RS-232 (Recommended Standard 232). Definiował on fizyczne parametry transmisji szeregowej, poziomy napięć oraz kształt sygnałów sterujących. Transmisja odbywała się asynchronicznie, co oznaczało konieczność stosowania bitów startu i stopu do synchronizacji każdego przesyłanego znaku. Prędkości transmisji były z dzisiejszej perspektywy znikome, rzędu 110, 300 czy 9600 bitów na sekundę. Mimo ograniczeń, standard ten okazał się niezwykle trwały i do dziś jest wykorzystywany w portach konsolowych routerów i przełączników (ang. switch) do wstępnej konfiguracji. Zrozumienie działania łącza szeregowego (bity danych, parzystość, kontrola przepływu) jest kluczowe dla każdego administratora sieci, który musi zarządzać infrastrukturą w trybie zarządzania pozapasmowego (ang. out-of-band management).
Schemat połączenia szeregowego RS-232
4/25
Sieć telefoniczna POTS jako medium
Gdy zaistniała potrzeba połączenia komputerów oddalonych od siebie o kilometry, inżynierowie wykorzystali istniejącą infrastrukturę telefoniczną POTS (ang. plain old telephone system – tradycyjna publiczna sieć telefoniczna). Sieć ta była jednak projektowana do przesyłania głosu ludzkiego (sygnał analogowy), a nie danych cyfrowych (zera i jedynki). Rozwiązaniem stał się MODEM (MOdulator-DEModulator), urządzenie zamieniające sygnały cyfrowe na dźwięki słyszalne dla sieci telefonicznej i odwrotnie. Był to przełomowy moment, który umożliwił pierwszą globalną wymianę danych, mimo że jakość łączy była niska, a zjawisko szumu często przerywało transmisję. Wykorzystanie komutacji łączy (ang. circuit switching) oznaczało, że na czas sesji zestawiany był dedykowany kanał fizyczny, co było rozwiązaniem drogim i mało efektywnym przy transmisji danych o charakterze impulsowym (ang. bursty traffic).
5/25
Protokół X.25 i komutacja pakietów
W latach 70. wprowadzono rewolucyjną koncepcję komutacji pakietów, sformalizowaną w standardzie CCITT X.25. Zamiast zajmować całe łącze na wyłączność, dane dzielono na małe fragmenty (pakiety), które mogły podróżować różnymi trasami. X.25 był protokołem niezwykle odpornym, zaprojektowanym z myślą o bardzo zawodnych liniach analogowych. Każdy węzeł sieci (przełącznik X.25) musiał weryfikować poprawność każdego pakietu i potwierdzać jego odbiór przed wysłaniem kolejnego. To pociągało za sobą ogromny narzut i opóźnienia, ale gwarantowało dostarczenie danych. X.25 stał się fundamentem pierwszych publicznych sieci transmisji danych (ang. PDN – Public Data Network), wykorzystywanych głównie przez banki i korporacje do bezpiecznej wymiany informacji finansowych przed erą Internetu.
Zasada działania sieci X.25
6/25
ARPANET: Narodziny Internetu
Projekt ARPANET, finansowany przez amerykańską agencję rządową DARPA, miał na celu stworzenie sieci komputerowej odpornej na awarie węzłów (w tym atak nuklearny). Kluczowym założeniem był brak centralnego punktu sterowania – każdy węzeł (IMP – Interface Message Processor, tj. procesor komunikatów interfejsu) był równoważny. W 1969 roku zestawiono pierwsze połączenie między czterema uniwersytetami w USA. ARPANET stał się poligonem doświadczalnym dla protokołów, które później wyewoluowały w stos TCP/IP. To tutaj zdefiniowano koncepcję "best effort delivery" (przekazywanie w trybie najlepszych starań) – sieć stara się dostarczyć dane, ale nie daje 100% gwarancji, przerzucając odpowiedzialność za kontrolę błędów na urządzenia końcowe. Było to podejście diametralnie różne od "ciężkiego" X.25 i kluczowe dla szybkości działania dzisiejszego Internetu.
7/25
Powstanie protokołów TCP i IP
W miarę rozwoju ARPANET, pierwotny protokół NCP (ang. Network Control Protocol) stał się niewystarczający. W latach 70. Vint Cerf i Bob Kahn opracowali architekturę TCP/IP, która w 1983 roku stała się oficjalnym standardem. Rewolucją było rozdzielenie funkcji: IP (internet protocol) odpowiadał tylko za adresowanie i routing (warstwa sieciowa), natomiast TCP (transmission control protocol) dbał o niezawodność, kolejność pakietów i kontrolę przepływu (warstwa transportowa). Taki modularny podział pozwolił na elastyczny rozwój sieci. Gdy potrzebna była szybkość kosztem niezawodności (np. transmisja głosu), można było użyć lżejszego protokołu UDP, korzystającego z tego samego IP. Ta uniwersalność sprawiła, że TCP/IP wyparł wszystkie konkurencyjne standardy, takie jak IPX/SPX czy AppleTalk.
Stos protokołów TCP/IP
8/25
Różnice między TCP a UDP
Zrozumienie różnic między TCP (transmission control protocol) a UDP (user datagram protocol) jest fundamentalne dla inżynierii sieciowej. TCP jest protokołem połączeniowym, co oznacza, że przed wysłaniem danych następuje "uścisk dłoni" (ang. 3-way handshake) w celu nawiązania sesji. Gwarantuje on dostarczenie danych w poprawnej kolejności i bez błędów (retransmisja zgubionych pakietów). Jest idealny dla stron WWW, poczty elektronicznej czy transferu plików. Z kolei UDP jest protokołem bezpołączeniowym typu "wyślij i zapomnij" (ang. fire and forget). Nie gwarantuje dostarczenia, nie numeruje pakietów, ale za to nie wprowadza opóźnień związanych z potwierdzeniami. Dzięki temu jest niezastąpiony w transmisji strumieniowej (wideo, VoIP) oraz grach online, gdzie ważniejsza jest szybkość niż pojedynczy zgubiony pakiet.
9/25
Interfejsy sieciowe (NIC)
Aby komputer mógł stać się częścią sieci, musi posiadać kartę sieciową (ang. network interface card – NIC). Jest to element sprzętowy realizujący funkcje warstwy fizycznej i łącza danych modelu OSI. Każda karta NIC posiada unikalny adres fizyczny MAC, fabrycznie przypisany przez producenta (możliwy do programowej zmiany w systemie operacyjnym). Zadaniem karty jest zamiana danych cyfrowych z pamięci komputera na sygnały fizyczne (elektryczne, optyczne lub radiowe) odpowiednie dla danego medium. We wczesnych latach karty sieciowe były dużymi kartami rozszerzeń ISA/PCI, kosztownymi i trudnymi w konfiguracji (ustawianie przerwań IRQ). Współcześnie kontrolery NIC są zintegrowane bezpośrednio z płytami głównymi, oferując standardowo prędkości 1 Gb/s lub wyższe.
Karta sieciowa NIC
10/25
Złącza sieciowe i ich standardy
Ewolucja kart sieciowych pociągnęła za sobą zmiany w standardach złączy. Historycznie spotykaliśmy złącza BNC dla kabli koncentrycznych (tzw. "cienki Ethernet"), które wymagały terminowania magistrali. Dziś absolutnym standardem w sieciach miedzianych LAN jest złącze 8P8C (potocznie, choć błędnie nazywane RJ-45). Pozwala ono na szybkie wpinanie i wypinanie kabli typu skrętka. W środowiskach światłowodowych dominuje różnorodność standardów: od starszych ST i SC, po nowoczesne, miniaturowe złącza LC (ang. "Little Connector"), które pozwalają na dużą gęstość upakowania portów w przełącznikach. Znajomość typów złączy jest podstawową umiejętnością techniczną niezbędną przy fizycznym montażu i serwisowaniu infrastruktury okablowania.
11/25
Model OSI vs Model TCP/IP
Porównanie modelu teoretycznego ISO/OSI (7 warstw) z praktycznym modelem TCP/IP (4 warstwy) pozwala lepiej zrozumieć strukturę komunikacji. Model OSI (ang. open systems interconnection – połączenie systemów otwartych) jest wzorcem referencyjnym, idealnym do celów edukacyjnych, precyzyjnie separującym funkcje sieci. Model TCP/IP (znany też jako model DoD) powstał jako rozwiązanie inżynierskie, scalając warstwy sesji, prezentacji i aplikacji w jedną warstwę aplikacji, a warstwy fizyczną i łącza danych w warstwę dostępu do sieci. W praktyce zawodowej używamy terminologii mieszanej – mówimy o "adresach warstwy 3" (z modelu OSI) czy "przełącznikach warstwy 2", pracując na protokołach ze stosu TCP/IP. Świadomość mapowania między tymi modelami jest kluczowa przy analizie problemów protokołowych.
Porównanie modeli OSI i TCP/IP
12/25
Rola organizacji standaryzacyjnych
Globalna sieć nie mogłaby istnieć bez ścisłych standardów. Kluczową rolę odgrywają tu organizacje międzynarodowe. IEEE (ang. Institute of Electrical and Electronics Engineers – instytut inżynierów elektryków i elektroniksów) odpowiada za standardy warstwy fizycznej i łącza danych, tworząc słynną rodzinę norm 802 (np. 802.3 dla Ethernetu, 802.11 dla Wi-Fi). IETF (ang. internet engineering task force – grupa zadaniowa ds. inżynierii internetowej) zajmuje się rozwojem protokołów wyższych warstw, publikując dokumenty RFC (ang. request for comments – prośba o komentarze), które definiują działanie IP, TCP, DNS czy HTTP. ISO (ang. International Organization for Standardization – Międzynarodowa Organizacja Normalizacyjna) dało nam model OSI. Dzięki pracy tych organizacji, urządzenie wyprodukowane w Chinach może bezproblemowo komunikować się z serwerem w USA, pod warunkiem, że oba przestrzegają zdefiniowanych reguł (tzw. interoperacyjność).
13/25
Transmisja w paśmie podstawowym i szerokopasmowa
W telekomunikacji wyróżniamy dwa główne typy transmisji. Transmisja w paśmie podstawowym (ang. baseband) wykorzystuje całe pasmo przenoszenia medium do wysłania jednego sygnału cyfrowego. Tak działa klasyczny Ethernet – kabel przesyła tylko jeden strumień danych naraz. Transmisja szerokopasmowa (ang. broadband) polega na podzieleniu dostępnego pasma na wiele niezależnych kanałów, zazwyczaj przy użyciu modulacji częstotliwościowej. Przykładem jest telewizja kablowa lub technologia ADSL, gdzie ten sam przewód przenosi jednocześnie rozmowy telefoniczne i dane internetowe na różnych częstotliwościach. W sieciach LAN dominuje technologia pasmowa (baseband) ze względu na prostotę i niższy koszt interfejsów, podczas gdy technologia szerokopasmowa (broadband) króluje w sieciach dostępowych WAN.
Baseband vs Broadband
14/25
Pojęcie przepustowości i opóźnienia
Dwa kluczowe parametry opisujące wydajność łącza to przepustowość (ang. Bandwidth) i opóźnienie (ang. Latency). Przepustowość to teoretyczna, maksymalna ilość danych, jaką można przesłać w jednostce czasu (np. 1 Gb/s). Często mylona z szybkością propagacji sygnału, która jest stała dla danego medium (np. ok. 2/3 prędkości światła w miedzi). Opóźnienie to czas, jaki mija od wysłania pakietu przez nadawcę do odebrania go przez adresata. Na opóźnienie składa się czas propagacji, czas przetwarzania w routerach oraz czas kolejkowania; ich suma dla pełnego cyklu (tam i z powrotem) nazywana jest RTT (ang. round trip time – czas obiegu). Warto pamiętać, że wysoka przepustowość nie gwarantuje niskiego opóźnienia – można mieć "szerokie łącze" satelitarne o dużym opóźnieniu, co nie sprawdzi się w grach online, mimo szybkiego pobierania plików.
15/25
Tryby transmisji: Simplex, Half-Duplex, Full-Duplex
Kierunkowość transmisji określa możliwości wymiany danych. Tryb Simplex to komunikacja jednokierunkowa (jak radio czy telewizja) – nadajnik tylko nadaje, odbiornik tylko odbiera. W sieciach komputerowych rzadko stosowany. Half-Duplex to komunikacja dwukierunkowa, ale naprzemienna (jak w krótkofalówkach – "odbiór"). Tak działały stare sieci Ethernet oparte na koncentratorach (ang. hub) lub kablu koncentrycznym – jeśli dwie stacje nadały jednocześnie, następowała kolizja. Full-Duplex to jednoczesna transmisja w obu kierunkach (jak rozmowa telefoniczna). Jest to standard we współczesnych sieciach przełączanych (przełącznik, ang. switch), gdzie używamy oddzielnych par przewodów do nadawania i odbierania. Praca w trybie Full-Duplex teoretycznie podwaja przepustowość łącza i eliminuje zjawisko kolizji.
Tryby transmisji danych
16/25
Jednostki danych: Bit, Bajt, Ramka, Pakiet
Precyzja językowa jest cechą inżyniera. W zależności od warstwy modelu OSI, dane przyjmują różne nazwy (PDU – ang. protocol data unit, czyli jednostka danych protokołu). W warstwie fizycznej (L1) operujemy na bitach – impulsach elektrycznych lub świetlnych. W warstwie łącza danych (L2) bity są formowane w Ramki (ang. Frames), które mają nagłówek z adresami MAC i stopkę z sumą kontrolną. W warstwie sieciowej (L3) ramka przenosi Pakiet (ang. Packet), operujący na adresach IP. W warstwie transportowej (L4) mówimy o Segmentach (dla TCP) lub Datagramach (dla UDP). Nazywanie wszystkiego "pakietem" jest błędem merytorycznym. Każde urządzenie sieciowe operuje na innym poziomie PDU – przełącznik "widzi" ramki, a router "widzi" pakiety, co determinuje ich funkcjonalność i miejsce w architekturze.
17/25
Multipleksowanie: TDM i FDM
Aby efektywnie wykorzystać medium transmisyjne, stosuje się techniki multipleksowania, czyli przesyłania wielu sygnałów jednym torem. FDM (ang. frequency division multiplexing – zwielokrotnienie z podziałem częstotliwości) to podział pasma – każdy kanał otrzymuje swoje pasmo (jak stacje radiowe w eterze). TDM (ang. time division multiplexing – zwielokrotnienie z podziałem czasu) to podział czasu – medium jest przydzielane poszczególnym kanałom w cyklicznych szczelinach czasowych (ang. slots). Cyfrowe sieci telefoniczne i łącza WAN (np. E1/T1) masowo wykorzystują TDM. Współczesny Ethernet również ewoluuje w stronę zaawansowanych technik modulacji, ale podstawowa koncepcja współdzielenia zasobów pozostaje niezmienna: chodzi o to, by zmieścić jak najwięcej informacji w jednym "drucie", minimalizując koszty infrastruktury.
Multipleksowanie TDM vs FDM
18/25
Sieci LAN, MAN, WAN
Sieci klasyfikujemy ze względu na ich zasięg geograficzny. LAN (ang. local area network – lokalna sieć komputerowa) to sieć ograniczona do jednego budynku lub kampusu, charakteryzująca się wysoką przepustowością i niskimi opóźnieniami, zazwyczaj zarządzana przez jednego administratora. MAN (ang. metropolitan area network – sieć metropolitalna) obejmuje zasięgiem miasto, łącząc np. oddziały urzędów czy uniwersytety. WAN (ang. wide area network – rozległa sieć komputerowa) to sieć łącząca odległe geograficznie lokalizacje, często korzystająca z infrastruktury operatorów telekomunikacyjnych (dzierżawione łącza). Internet jest siecią typu WAN łączącą miliony sieci LAN. Granice te zacierają się – technologie takie jak Metro Ethernet pozwalają na budowanie sieci miejskich w technologii LAN, oferując gigabitowe prędkości na duże odległości.
19/25
Topologia fizyczna a logiczna
Należy wyraźnie odróżniać topologię fizyczną (jak ułożone są kable) od logicznej (jak płyną dane). Fizycznie możemy mieć gwiazdę (wszystkie kable do przełącznika), ale logicznie sieć może działać jak magistrala (wszyscy słyszą wszystkich, np. w starym koncentratorze, ang. hub). Inny przykład to Token Ring – fizycznie gwiazda, logicznie pierścień (token krąży od stacji do stacji). Współczesny Ethernet to zazwyczaj fizyczna gwiazda (ang. Star) lub gwiazda rozszerzona (ang. Extended Star), która logicznie działa jako sieć wielodostępna z przełączaniem (ang. switched multi-access). Zrozumienie tej dualności jest ważne przy projektowaniu niezawodności sieci (redundancji fizycznej) oraz przy analizie przepływu ruchu (ścieżek logicznych).
Topologia fizyczna vs logiczna
20/25
Unicast, Multicast, Broadcast
W sieciach IP wyróżniamy trzy główne typy adresowania odbiorców. Unicast to komunikacja "jeden do jednego" – typowa dla przeglądania stron WWW czy pobierania plików. Broadcast to komunikacja "jeden do wszystkich" w danej sieci lokalnej – używany np. przez protokół ARP czy DHCP. Jest on jednak ograniczony tylko do sieci LAN (nie przechodzi przez routery), by nie zapchać Internetu. Multicast to komunikacja "jeden do wielu zainteresowanych" – efektywna metoda dla telewizji IP czy wideokonferencji. Routery kopiują pakiety tylko do tych gałęzi sieci, gdzie są odbiorcy zgłoszeni do danej grupy. Zrozumienie tych mechanizmów jest kluczowe dla optymalizacji ruchu sieciowego i unikania tzw. burz rozgłoszeniowych (ang. broadcast storms).
21/25
Wprowadzenie do bezpieczeństwa sieci
Historia sieci to także historia zagrożeń. Pierwotne protokoły (Telnet, FTP, HTTP, POP3) przesyłały wszystkie dane, w tym hasła, jawnym tekstem (ang. cleartext). Każdy podłączony do tego samego medium mógł je przechwycić (ang. sniffing – podsłuchiwanie ruchu sieciowego). Dopiero z czasem wprowadzono warstwy szyfrujące (SSL/TLS, SSH, IPsec). Bezpieczeństwo sieci opiera się na triadzie CIA: Poufność (ang. Confidentiality) – dane czyta tylko uprawniony, Integralność (ang. Integrity) – nikt nie zmienił danych w locie, Dostępność (ang. Availability) – system działa wtedy, gdy jest potrzebny. Współczesny inżynier sieciowy musi myśleć o bezpieczeństwie już na etapie projektowania (ang. Security by Design), a nie jako o nakładce dodawanej na końcu wdrożenia.
Triada bezpieczeństwa CIA
22/25
Narzędzia diagnostyczne: ping i traceroute
Podstawowym narzędziem w warsztacie sieciowca jest polecenie ping. Wykorzystuje ono protokół ICMP (ang. internet control message protocol – protokół komunikatów sterujących Internetu) do wysłania zapytania echo (ang. Echo Request) i oczekiwania na odpowiedź (ang. Echo Reply). Pozwala sprawdzić osiągalność hosta i zmierzyć czas RTT. Drugim narzędziem jest traceroute (w systemie Windows: tracert), które mapuje ścieżkę pakietu przez Internet, pokazując kolejne routery (przeskoki, ang. hops) po drodze. Działa to dzięki sprytnemu manipulowaniu polem TTL (ang. time to live – czas życia pakietu) w nagłówku IP. Umiejętna interpretacja wyników tych poleceń pozwala szybko zlokalizować miejsce awarii w sieci rozległej, bez konieczności fizycznego dostępu do urządzeń pośredniczących.
23/25
Wirtualizacja i Sieci Definiowane Programowo (SDN)
Kończąc rys historyczny, warto wspomnieć o przyszłości. Tradycyjna sieć oparta na sztywnym sprzęcie ustępuje miejsca wirtualizacji. SDN (ang. software defined networking – sieci definiowane programowo) rozdziela płaszczyznę sterowania (ang. control plane – "mózg" sieci) od płaszczyzny przesyłania danych (ang. data plane – "mięśnie"). Centralny kontroler programowo zarządza przepływem ruchu w całej sieci, co daje niespotykaną wcześniej elastyczność i automatyzację. To naturalna ewolucja od ręcznego wprowadzania komend w konsoli CLI każdego routera z osobna. Historia zatoczyła koło – od centralizacji mainframe'ów, przez rozproszenie komputerów osobistych, z powrotem do centralnego zarządzania w chmurze i SDN, ale na zupełnie nowym poziomie technologicznym.
Architektura SDN
24/25
Podsumowanie części historycznej
Prześledziliśmy drogę od prostych połączeń między terminalem a mainframe, przez połączenia modemowe z wybieraniem numeru (ang. dial-up), pakiety X.25, aż po triumf protokołu TCP/IP i Ethernetu. Każdy z tych etapów wniósł coś do dzisiejszego świata IT. Połączenia szeregowe nauczyły nas asynchroniczności, X.25 – solidności, a ARPANET – decentralizacji i odporności. Współczesny Internet to mozaika tych technologii, zoptymalizowana pod kątem szybkości i skalowalności. Zrozumienie tych korzeni pozwala patrzeć na nowoczesne, błyszczące przełączniki nie jak na "magiczne pudełka", ale jak na kolejne ogniwo w długim łańcuchu inżynieryjnej ewolucji.
25/25
Literatura i źródła wiedzy
Dla studentów pragnących pogłębić wiedzę, polecam klasyczną literaturę przedmiotu. "Sieci komputerowe" Andrew S. Tanenbauma to absolutna biblia, szczegółowo opisująca model warstwowy. Dla praktyków bezcenne będą dokumenty RFC publikowane przez IETF – to tam, u źródła, opisane są szczegóły każdego bitu w nagłówku IP. Warto również śledzić materiały szkoleniowe wiodących producentów sprzętu (Cisco, Juniper), które często zawierają świetne opracowania teoretyczne (np. program Cisco Networking Academy). W kolejnym wykładzie zejdziemy do "piwnicy" modelu OSI, czyli zajmiemy się w detalach warstwą fizyczną, kablami, światłowodami i sygnałami. Dziękuję za uwagę.
Zalecana literatura