TCP a UDP: kiedy używa się każdego z nich
Poznać różnicę między zorientowanym połączeniowo TCP a bezpołączeniowym UDP oraz ich konsekwencje dla bezpieczeństwa
TCP a UDP: kiedy używa się każdego z nich to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Warstwa transportowa
TCP i UDP to dwa główne protokoły warstwy transportowej (4. warstwy modelu OSI). Określają sposób przesyłania danych między aplikacjami działającymi na różnych hostach.
TCP: protokół sterowania transmisją
TCP to protokół zorientowany połączeniowo. Zanim dane zostaną wysłane, ustanawiane jest połączenie za pomocą trójstronnego uzgadniania połączenia. TCP gwarantuje dostarczenie danych, zachowanie ich kolejności oraz sprawdzanie błędów.
Przypadki użycia: HTTP/HTTPS, SSH, SMTP, FTP — dowolna aplikacja wymagająca niezawodności.
Trójstronne uzgadnianie połączenia
Ustanawianie połączenia TCP:
- Klient wysyła SYN (synchronizację)
- Serwer odpowiada za pomocą SYN-ACK (synchronizację i potwierdzenie)
- Klient wysyła ACK (potwierdzenie)
Połączenie jest teraz ustanowione. To uzgadnianie jest celem ataków SYN flood.
Funkcje TCP
TCP zapewnia:
- Niezawodność — ponownie wysyła utracone pakiety
- Zachowanie kolejności — składa pakiety we właściwej kolejności
- Kontrolę przepływu — zapobiega przeciążeniu odbiorcy
- Kontrolę przeciążenia — dostosowuje się do przepustowości sieci
UDP: protokół datagramów użytkownika
UDP to protokół bezpołączeniowy. Wysyła datagramy bez wcześniejszego ustanawiania połączenia. Nie gwarantuje dostarczenia ani kolejności i nie używa potwierdzeń.
Przypadki użycia: DNS, VoIP, strumieniowanie wideo, gry online, DHCP — aplikacje, w których szybkość jest ważniejsza niż perfekcyjna niezawodność.
Funkcje UDP
UDP jest szybki i lekki:
- Brak narzutu związanego z ustanawianiem połączenia
- Brak opóźnień związanych z ponownym przesyłaniem
- Mniejsze opóźnienia
- W razie potrzeby aplikacja musi samodzielnie obsłużyć niezawodność (np. QUIC przez UDP)
Porównanie TCP i UDP
Najważniejsze różnice:
- TCP: niezawodny, zachowuje kolejność, wolniejszy, zorientowany połączeniowo
- UDP: szybki, zawodny, bezpołączeniowy, mniejszy narzut
QUIC (HTTP/3) wykorzystuje UDP i własny mechanizm niezawodności, aby zapewnić wysoką wydajność współczesnego internetu.
Konsekwencje bezpieczeństwa związane z TCP
Uzgadnianie TCP wiąże się z zagrożeniami bezpieczeństwa:
- SYN flood: napastnik wysyła tysiące pakietów SYN bez kończenia uzgadniania, wyczerpując zasoby serwera
- Przejęcie sesji TCP: napastnik przewiduje numery sekwencyjne, aby wstrzyknąć dane do istniejącej sesji
Konsekwencje bezpieczeństwa związane z UDP
Brak stanu połączenia w UDP umożliwia:
- Wzmocnienie UDP w ataku DDoS: napastnik podszywa się pod adres IP ofiary i wysyła małe żądania do otwartych usług UDP, które odsyłają do ofiary duże odpowiedzi
- Wzmocnienie DNS: pojedyncze małe żądanie DNS może wywołać znacznie większą odpowiedź
Najczęściej używane numery portów
Najważniejsze porty:
- TCP 22 — SSH
- TCP 80 — HTTP
- TCP 443 — HTTPS
- UDP 53 — DNS
- UDP 67/68 — DHCP
- TCP 3306 — MySQL
- TCP 3389 — RDP
Wyświetlanie aktywnych połączeń
Aby sprawdzić otwarte porty i połączenia, należy użyć polecenia ss lub netstat:
ss -tulnp
# -t TCP, -u UDP, -l listening, -n numeric, -p show processSzybkie sprawdzenie: TCP i UDP
Komputer wysyła zapytanie DNS w celu rozpoznania nazwy domeny. Którego protokołu używa?
Podsumowanie lekcji
TCP zapewnia niezawodne dostarczanie danych w odpowiedniej kolejności za pomocą trójstronnego uzgadniania połączenia — jest idealny dla HTTP, SSH i SMTP. UDP jest szybki i bezpołączeniowy — sprawdza się w DNS, VoIP i strumieniowaniu. Każdy z tych protokołów wiąże się z innymi zagrożeniami: TCP jest podatny na ataki SYN flood i przejęcie sesji, a UDP umożliwia ataki wzmacniające.
Często zadawane pytania
Czy lekcja „TCP a UDP: kiedy używa się każdego z nich” jest bezpłatna?
Tak — pełny tekst „TCP a UDP: kiedy używa się każdego z nich” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „TCP a UDP: kiedy używa się każdego z nich”?
Poznać różnicę między zorientowanym połączeniowo TCP a bezpołączeniowym UDP oraz ich konsekwencje dla bezpieczeństwa Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „TCP a UDP: kiedy używa się każdego z nich”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Adresowanie IP i podsieci
- TCP a UDP: kiedy używa się każdego z nich
- DNS: jak domeny są tłumaczone na adresy IP
- Podstawy HTTP i HTTPS