04. Protokoły warstwy transportowej – teoria (INF.02)
1. Rola warstwy transportowej
Warstwa transportowa odpowiada za komunikację pomiędzy aplikacjami działającymi na hostach.
Działa ona pomiędzy warstwą aplikacji a warstwą sieciową.
Jej zadaniem nie jest przesyłanie sygnałów ani wybór trasy, lecz zapewnienie poprawnej wymiany danych pomiędzy programami.
2. Zadania warstwy transportowej
Do najważniejszych zadań warstwy transportowej należą:
-
nawiązywanie i obsługa połączeń pomiędzy hostami,
-
śledzenie sesji (konwersacji) pomiędzy hostami,
-
podział danych na mniejsze fragmenty (segmentacja),
-
identyfikowanie aplikacji za pomocą numerów portów,
-
kontrola przepływu danych,
-
retransmisja danych w przypadku ich utraty.
Dzięki temu możliwa jest jednoczesna praca wielu aplikacji korzystających z sieci.
3. Segmentacja i multipleksing
Dane wysyłane przez aplikacje są dzielone na mniejsze fragmenty, nazywane segmentami (TCP) lub datagramami (UDP).
Proces przesyłania segmentów pochodzących z różnych aplikacji naprzemiennie nazywany jest multipleksingiem.
Dzięki temu:
-
przeglądarka,
-
klient poczty,
-
komunikator
mogą korzystać z sieci w tym samym czasie.
4. Identyfikacja aplikacji – numery portów
Każda aplikacja sieciowa identyfikowana jest przez numer portu.
Numer portu:
-
jest przypisywany w warstwie transportowej,
-
pozwala dostarczyć dane do właściwej aplikacji,
-
jest częścią procesu enkapsulacji.
Za przydział numerów portów odpowiada organizacja IANA.
5. Grupy numerów portów
Numery portów podzielone są na trzy grupy:
| Grupa portów | Zakres | Zastosowanie |
|---|---|---|
| Dobrze znane (well-known) | 0–1023 | Usługi serwerowe |
| Zarejestrowane (registered) | 1024–49151 | Aplikacje użytkownika |
| Dynamiczne (ephemeral) | 49152–65535 | Tymczasowe porty klienta |
6. Przykłady dobrze znanych portów
| Usługa | Port | Protokół transportowy |
|---|---|---|
| HTTP | 80 | TCP |
| HTTPS | 443 | TCP |
| FTP | 21 / 20 | TCP |
| SSH | 22 | TCP |
| DNS | 53 | TCP lub UDP |
| DHCP | 67 / 68 | UDP |
| SMTP | 25 | TCP |
| POP3 | 110 / 995 | TCP |
| IMAP | 143 / 993 | TCP |
Jedna aplikacja nie może współdzielić portu z inną aplikacją na tym samym hoście.
7. Porty dynamiczne – odpowiedzi serwera
Serwer przyjmuje żądania na stałym porcie (np. 80 dla HTTP),
ale odpowiedź do klienta wysyłana jest na losowo przydzielony port dynamiczny klienta.
Jest to mechanizm standardowy i wymagany do poprawnej komunikacji.
8. Gniazdo sieciowe (socket)
Gniazdo sieciowe (socket) to połączenie adresu IP i numeru portu.
Przykład:
-
IP: 192.168.1.10
-
Port: 80
Socket jednoznacznie identyfikuje konkretny proces (aplikację) działającą na hoście.
9. Protokoły warstwy transportowej
W warstwie transportowej działają głównie dwa protokoły:
TCP (Transmission Control Protocol)
-
połączeniowy,
-
niezawodny,
-
kontroluje poprawność transmisji,
-
umożliwia retransmisję danych.
UDP (User Datagram Protocol)
-
bezpołączeniowy,
-
brak gwarancji dostarczenia danych,
-
szybki,
-
używany tam, gdzie liczy się czas, a nie niezawodność.
10. Znaczenie warstwy transportowej na egzaminie
Na egzaminie INF.02 warstwa transportowa sprawdzana jest głównie w zakresie:
-
numerów portów,
-
różnic TCP vs UDP,
-
pojęć: segmentacja, multipleksing, socket,
-
rozumienia roli portów i aplikacji.