MODUŁ 02
Modele warstw: OSI i TCP/IP
PPrezentacja dla nauczyciela
Siedem warstw, cztery warstwy i jedno pytanie, które pada w co trzecim zadaniu: „w której warstwie to działa?". Odpowiedź prawie zawsze jest w nagłówku pakietu. Uwaga na częsty skrót myślowy: to nie adres IP zmienia się na każdym routerze — adres IP zwykle zostaje ten sam od nadawcy do odbiorcy (zmienia go dopiero NAT/PAT), adres MAC zmienia się na każdym łączu, a numer portu TCP/UDP wskazuje punkt komunikacji aplikacji.
Siedem warstw i co w nich jest
Model OSI rozdziela transport informacji na siedem niezależnych zadań. Każda warstwa robi jedną rzecz, korzysta z warstwy niżej i nie wie nic o warstwach wyżej.
Dzięki temu można wymienić kartę sieciową bez ruszania reszty programu — i tak właśnie powstało całe Internet: każda warstwa ma własnych producentów.
| # | Warstwa | Co robi | Jednostka i adres | Co w niej pracuje |
|---|---|---|---|---|
| 7 | Aplikacji | usługa widziana przez człowieka: strona, plik, poczta | dane; URL, nagłówek HTTP | HTTP, HTTPS, DNS, DHCP, SSH, SMTP, przeglądarka, poczta |
| 6 | Prezentacji | postać danych: szyfrowanie, kompresja, kodowanie znaków | dane; brak własnego adresu | TLS (szyfrowanie w HTTPS), ASCII, UTF-8, JPEG |
| 5 | Sesji | otwiera, utrzymuje i kończy rozmowę między procesami | dane sesji; identyfikator sesji | negocjacja TLS, NetBIOS, RPC |
| 4 | Transportowa | dzieli strumień na kawałki i mówi, co zgubione | segment (TCP), datagram (UDP); port 0–65535 | TCP, UDP; na porcie 80 HTTP, 443 HTTPS, 53 DNS, 22 SSH |
| 3 | Sieciowa | adres logiczny i wybór drogi | pakiet; adres IP, maska, brama | IPv4, IPv6, ICMP (ping), router |
| 2 | Łącza danych | ramka, adres fizyczny, kontrola dostępu do medium | ramka; adres MAC — 48 bitów | Ethernet, Wi-Fi 802.11, PPP, ARP, switch, punkt dostępowy |
| 1 | Fizyczna | bity jako sygnał na przewodzie | bity; brak adresu | kabel, RJ-45, światłowód, hub, wzmacniacz repeater |
Uwaga o ARP. ARP działa na granicy warstw 2 i 3: rozwiązuje adres IP na adres MAC. W modelu OSI przypisuje się go zwykle do warstwy łącza danych, a w TCP/IP do warstwy dostępu do sieci; w tabeli wyżej pokazujemy go też przy warstwie sieciowej, bo wiąże adresy IP z adresami MAC.
Co dokładnie jest zapakowane w co
Podróż w dół stosu to dokładanie kolejnych nagłówków. Dane z aplikacji dostają nagłówek warstwy transportowej i stają się segmentem; segment dostaje nagłówek warstwy sieciowej i staje się pakietem; pakiet dostaje nagłówek i stopkę warstwy łącza danych i staje się ramką; ramka zamienia się w bity.
W drodze powrotnej nagłówki są ścinane w tej samej kolejności.
Ramka jest jedyną jednostką, która ma stopkę — pole CRC do wykrycia błędów. Dlatego kabel, na którym bit się zepsuje, psuje całą ramkę, ale nie psuje reszty pakietu: odbiorca wykrywa błąd polem FCS/CRC i zwykle odrzuca uszkodzoną ramkę.
Ethernet nie gwarantuje automatycznej retransmisji — ponowienia może podjąć się wyższa warstwa (np. TCP, gdy nie doczeka potwierdzenia).
Model TCP/IP i jego mapowanie na OSI
Model OSI powstał jako podręcznikowa lista zadań i ma siedem warstw. Internet zbudowano według prostszej, czterowarstwowej architektury, opisanej w dokumencie RFC 1122.
Dziś mówi się o nim jako o „warstwach TCP/IP”, choć w wielu książkach rysuje się pięć — z warstwą fizyczną odłączoną od warstwy łącza.
| Warstwa TCP/IP | Warstwy OSI | Jednostka | Przykłady |
|---|---|---|---|
| Aplikacji | 7 + 6 + 5 | dane | HTTP, DNS, DHCP, SSH, TLS |
| Transportu | 4 | segment, datagram | TCP, UDP |
| Internetu | 3 | pakiet | IPv4, IPv6, ICMP |
| Dostępu do sieci | 2 + 1 | ramka, bity | Ethernet, Wi-Fi, PPP, ARP |
W praktyce konfiguracyjnej TCP/IP jest wygodniejszy, bo tam naprawdę pracujemy: ustawiamy adres IP (internet), maskę i bramę, projektujemy podsieci (internet), a kablami i portami zajmuje się reszta sieci (dostęp do sieci). Warstwy 5, 6 i 7 osobno rozbiera się wtedy, gdy awaria dotyczy aplikacji — na przykład „HTTP działa, HTTPS nie”.
Urządzenia i adresy w każdej warstwie
Najprostszy test: jeśli urządzenie „widzi” adresy MAC, działa w warstwie łącza danych; jeśli widzi adresy IP — w sieciowej; jeśli widzi porty i nazwy usług — w warstwie transportowej i wyżej.
Kable na rysunku to warstwa 1 — jeśli tester nie pokazuje linku, dalsze sprawdzanie adresów nie ma sensu. Zauważ też, że warstwa transportowa nie ma typowego urządzenia: pracują w niej komputery, routery i zapory, ale żaden z nich nie jest „transportem”.
Czym sprawdzisz daną warstwę
| Warstwa | Narzędzie | Co ci powie |
|---|---|---|
| 1 — fizyczna | tester kabla, diody portu | czy sygnał w ogóle dochodzi; wynik „brak linku” kończy diagnostykę |
| 2 — łącza danych | tablica MAC/CAM, diody portu, Wireshark | czy ramka trafiła do właściwego portu, czy nie ma kolizji |
| 3 — sieciowa | ping, tracert / traceroute, arp -a | czy adres docelowy odpowiada, gdzie ruch się gubi, jakie IP ma adres MAC w pamięci ARP |
| 4 — transportowa | telnet na porcie, netstat | czy usługa nasłuchuje na tym porcie i czy jest osiągalna z zewnątrz |
| 7 — aplikacji | nslookup, przeglądarka, curl | czy DNS zamienia nazwę na adres i czy sama usługa odpowiada |
Jak to wygląda na jednym zdarzeniu
Otwierasz stronę przez adres 192.168.10.20. Przeglądarka (7) prosi o połączenie z serwerem.
TCP (4) wybiera port 443 i otwiera sesję (5), a TLS (6) negocjuje klucz szyfrowania — dopiero teraz powstaje szyfrowany strumień danych. Warstwa transportowa dokleja numer portu, warstwa sieciowa dokleja adres IP i adres zwrotny, warstwa łącza danych dokleja adresy MAC komputera i przełącznika oraz sumę kontrolną. Warstwa fizyczna zamienia całość na bity i ładuje na kabel.
W drugą stronę wykonuje się dokładnie to samo w odwrotnej kolejności. Router pomiędzy sieciami nie przenosi ze sobą adresów MAC — odbiera ramkę, zdejmuje jej nagłówek, podejmuje decyzję o trasie na podstawie adresu IP i pakiet wkłada w nową ramkę z adresami MAC swoich sąsiadów.
Dlatego śledzenie pakietu Wiresharkiem pokazuje przy każdym hopie inny adres MAC i ten sam adres IP.
Adresy w ramce zależą więc od tego, gdzie akurat patrzymy. Ten sam pakiet ma dziesiąć różnych adresów MAC po drodze i jeden adres IP — dlatego kwestia „jaki jest adres MAC pakietu” nie ma odpowiedzi bez podania punktu obserwacji.
Jednostki danych PDU w kolejnych warstwach
Każda warstwa modelu ISO/OSI opakowuje dane i nadaje im własną nazwę — to właśnie PDU (Protocol Data Unit, jednostka danych protokołu). Warto zapamiętać ten podział, bo pytania egzaminacyjne często pytają o nazwę jednostki w konkretnej warstwie:
| Warstwa | Nazwa PDU |
|---|---|
| 1 — fizyczna | bity (strumień bitów) |
| 2 — łącza danych | ramka (frame) |
| 3 — sieciowa | pakiet (packet) |
| 4 — transportowa | segment (TCP) lub datagram (UDP) |
| 5–7 — sesji, prezentacji, aplikacji | dane (data) |
Ramka warstwy łącza danych kończy się polem kontrolnym FCS (wykorzystującym CRC), po którym odbiorca sprawdza, czy transmisja nie zniekształciła danych.
Pola nagłówka IP: TTL i protokoły pomocnicze
Pakiet warstwy sieciowej (IP) niesie w nagłówku pole TTL (Time to Live) — licznik przeskoków. Każdy router odejmuje od niego jeden; gdy spadnie do zera, pakiet jest odrzucany.
Dzięki temu pakiety, które nie mogą dotrzeć do celu (np. przez pętlę routingu), nie krążą w sieci bez końca.
Adres IP nie wystarcza, żeby wysłać ramkę — trzeba znać adres fizyczny karty w tej samej sieci. Tłumaczy go ARP (Address Resolution Protocol): pyta rozgłoszeniowo „kto ma adres IP x?”, a właściciel odpowiada swoim adresem MAC.
Z kolei nazwy zamienia na adresy
DNS, a komunikaty o błędach i diagnostykę (np. odpowiedzi na ping)
przenosi ICMP.
Warstwa prezentacji: format, kompresja, szyfrowanie
Warstwa 6 modelu ISO/OSI (prezentacji) zajmuje się tym, żeby dane wysłane przez jedną aplikację były zrozumiałe dla drugiej — niezależnie od tego, jak zapisuje je system. Trzy jej zadania najczęściej pojawiają się w pytaniach:
- kodowanie i konwersja formatów — uzgodnienie sposobu zapisu znaków (np. UTF-8), liczb i obrazów między systemami;
- kompresja — zmniejszenie ilości przesyłanych danych (np. gzip);
- szyfrowanie — ochrona treści, którą zajmuje się TLS (nowsza wersja protokołu SSL). To on odpowiada za „kłódkę” przy adresie HTTPS: przeglądarka i serwer uzgadniają klucz sesji, a dane wędrują zaszyfrowane.
Warto odróżnić dwie rzeczy: HTTPS to HTTP przesyłany przez TLS, a SSH to osobny protokół zdalnego dostępu, który szyfruje całą sesję terminala.