Lekcja 2 z 4 · 7 min
Porty, TCP i UDP
Dlaczego jeden adres IP może prowadzić naraz sto rozmów i dlaczego niektóre z tych rozmów wymieniają szybkość na niezawodność.
Adres IP dostarcza pakiet do właściwego urządzenia. Nie mówi, która aplikacja na tym urządzeniu powinna go otrzymać. To zadanie portu: liczby, która mówi twojemu Macowi, jaki program prowadzi rozmowę. Cloudflare Learning Center porównuje to do budynku mieszkalnego: adres ulicy (IP) dostarcza pocztę do właściwego budynku, a numer mieszkania (port) dostarcza ją do właściwych drzwi.
Jedno połączenie, wiele drzwi
Porty pozwalają komputerowi odróżniać różne rodzaje ruchu, mimo że wszystko dociera przez to samo połączenie Wi-Fi lub kablowe. Wyjaśnienie Cloudflare jest bezpośrednie: „porty pozwalają komputerom łatwo odróżniać różne rodzaje ruchu: e-maile trafiają na inny port niż strony internetowe, na przykład, mimo że oba docierają do komputera przez to samo połączenie internetowe”. Porty żyją w nagłówkach TCP i UDP, warstwę wyżej niż sam adres IP; goły pakiet IP nie ma miejsca, by powiedzieć, dla jakiego portu jest przeznaczony.
Kto może używać jakiego numeru
Numery portów sięgają od 0 do 65535, a Internet Assigned Numbers Authority (IANA) zarządza tym, kto który dostaje: porty systemowe (0–1023) są przydzielane wyłącznie w drodze formalnej weryfikacji, porty użytkownika lub rejestrowane (1024–49151) można zarejestrować dla konkretnej usługi, a najwyższy zakres, 49152–65535, pozostaje nieprzydzielony do tymczasowego użytku, na przykład jako adres zwrotny wybierany przez twoją przeglądarkę dla własnego końca połączenia.
| Port | Zarejestrowana usługa | Co zwykle z niego korzysta |
|---|---|---|
| 22 | Secure Shell (SSH) | Zdalny dostęp do wiersza poleceń |
| 25 | Simple Mail Transfer | Wysyłanie poczty między serwerami pocztowymi |
| 53 | Domain Name Server | Zapytania DNS |
| 80 | HTTP | Zwykłe, niezaszyfrowane strony internetowe |
| 443 | HTTPS | Zaszyfrowane strony internetowe |
TCP: wolniejszy, ale nic nie ginie
Transmission Control Protocol (TCP), zdefiniowany w RFC 9293, jest zbudowany, by być niezawodny: „zapewnia aplikacjom niezawodną usługę strumienia bajtów w kolejności”, wykrywając utracone pakiety za pomocą numerów sekwencyjnych i wysyłając je ponownie, dopóki druga strona nie potwierdzi odbioru. Ta niezawodność kosztuje trochę czasu i narzutu, dlatego TCP jest właściwym wyborem dla rzeczy, które muszą dotrzeć w całości i we właściwej kolejności: strony internetowej, pobierania pliku, e-maila.
UDP: szybki i gotowy stracić trochę
User Datagram Protocol, opisany w RFC 768, przyjmuje odwrotny kompromis: „zapewnia programom aplikacji procedurę wysyłania wiadomości do innych programów przy minimalnym mechanizmie protokołu”. Nie ma uzgadniania, gwarancji kolejności ani automatycznego ponownego wysyłania. Cloudflare zaznacza, że pasuje to zwłaszcza do „transmisji wrażliwych na czas, takich jak odtwarzanie wideo czy zapytania DNS”, gdzie utracony pakiet to drobna usterka, ale czekanie na retransmisję byłoby gorsze niż po prostu kontynuowanie.
Najważniejsze
- Port to liczba, która mówi urządzeniu, dla jakiej aplikacji lub usługi jest pakiet; sam adres IP identyfikuje tylko urządzenie.
- IANA zarządza numerami portów w trzech pasmach: porty systemowe (0–1023), porty użytkownika/rejestrowane (1024–49151) i nieprzydzielone porty dynamiczne (49152–65535).
- Popularne porty to między innymi 22 (SSH), 25 (poczta), 53 (DNS), 80 (HTTP) i 443 (HTTPS).
- TCP (RFC 9293) sprawdza i ponownie wysyła utracone dane, zapewniając niezawodne dostarczenie we właściwej kolejności, kosztem prędkości.
- UDP (RFC 768) pomija te sprawdzenia dla szybkości, co pasuje do ruchu wrażliwego na czas, takiego jak wideo i zapytania DNS.
Sprawdź się
1. Jaki problem rozwiązują porty, którego sam adres IP nie rozwiąże?
- Mówią sieci, dla jakiej aplikacji na urządzeniu jest pakiet — Dobrze.
- Szyfrują połączenie
- Zastępują potrzebę adresu IP
- Przyspieszają Wi-Fi
Adres IP kieruje pakiet do urządzenia; port, przenoszony w nagłówku TCP lub UDP, mówi, jaki program na tym urządzeniu powinien się nim zająć.
2. Który port jest zarejestrowany dla HTTPS według rejestru IANA?
- 21
- 80
- 443 — Dobrze.
- 8080
IANA wymienia port 443 jako „https”, używany dla HTTP przez TLS/SSL. Port 80 to zwykłe, niezaszyfrowane HTTP.
3. Dlaczego RFC 9293 opisuje TCP jako „niezawodny, w kolejności”?
- Ponieważ TCP wykrywa utracone dane i wysyła je ponownie, i zachowuje dane w kolejności, w jakiej zostały wysłane — Dobrze.
- Ponieważ TCP nigdy nie używa portów
- Ponieważ TCP jest zawsze szybszy niż UDP
- Ponieważ TCP domyślnie wszystko szyfruje
TCP śledzi numery sekwencyjne, by wykryć luki, wysyła ponownie brakujące dane i składa strumień bajtów z powrotem w kolejności.
4. Dlaczego zapytania DNS i odtwarzanie wideo zwykle używają UDP zamiast TCP?
- UDP jest bezpieczniejszy
- UDP wymienia niezawodność na szybkość, co pasuje do ruchu, w którym brakujący pakiet to tylko drobna usterka — Dobrze.
- TCP nie może używać portu 53
- UDP gwarantuje, że pakiety dotrą w kolejności
Cloudflare zaznacza, że UDP pasuje do „transmisji wrażliwych na czas, takich jak odtwarzanie wideo czy zapytania DNS” właśnie dlatego, że pomija uzgadnianie i narzut retransmisji TCP.
Wypróbuj to z FireAI
Zastosuj tę lekcję w praktyce na swoim Macu.
- Sprawdź, dokąd aplikacja wysyła dane, na Mapie świata — Zobacz dokładnie, z jaką firmą i w jakim kraju cicho rozmawia jedna aplikacja.
- Reguły: aplikacja, strona, domena, IP albo zakres — na zawsze albo do restartu — Napisz regułę tak precyzyjną jak jeden adres albo tak szeroką jak cała domena.
- Głęboka inspekcja, bez odszyfrowywania czegokolwiek — Uzyskaj prawdziwe szczegóły o bezpiecznym połączeniu bez ryzyka, że FireAI kiedykolwiek odczyta jego zawartość.
Źródła
- RFC 9293: Transmission Control Protocol (TCP)
- RFC 768: User Datagram Protocol
- IANA: Service Name and Transport Protocol Port Number Registry
- Cloudflare Learning: What is a computer port?
- Cloudflare Learning: What is UDP?
Zastosuj to na swoim Macu
Wypróbuj wszystkie funkcje za darmo przez 17 dni, bez karty.