0Pricing
Network+ Academy · Lekcja

TCP a UDP w skrócie

Proszę porównać niezawodny, oparty na połączeniu protokół TCP z szybkim i lekkim UDP.

TCP a UDP w skrócie to bezpłatna lekcja Network+ Academy na CoddyKit. To lekcja 1 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 Network+ Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Network+ Academy zawiera 4 lekcji w sumie.

Dwa protokoły transportowe

W warstwie transportowej większość ruchu internetowego obsługują dwa protokoły: TCP (Transmission Control Protocol) i UDP (User Datagram Protocol).

Oba przesyłają dane między aplikacjami, ale dokonują zupełnie innych kompromisów między niezawodnością a szybkością. Wiedza o tym, kiedy używać każdego z nich, jest podstawą znajomości Network+.

TCP jest zorientowany połączeniowo

TCP jest zorientowany połączeniowo: przed wysłaniem danych ustanawia połączenie, upewniając się, że obie strony są gotowe. Gwarantuje, że dane dotrą w całości i we właściwej kolejności.

Jeśli segment zaginie, TCP wykrywa brak i wysyła go ponownie. Ta niezawodność sprawia, że TCP jest wybierany do stron internetowych, poczty elektronicznej i transferu plików, gdzie liczy się każdy bajt.

Trójfazowy handshake

TCP rozpoczyna połączenie za pomocą trójfazowego handshake’u: SYN, SYN-ACK, ACK. Klient wysyła SYN, serwer odpowiada SYN-ACK, a klient potwierdza za pomocą ACK.

Dopiero po tej wymianie zaczyna się przepływ danych. Handshake synchronizuje obie strony i jest klasycznym tematem egzaminacyjnym — należy zapamiętać trzy kroki we właściwej kolejności.

Client -> SYN
Server -> SYN-ACK
Client -> ACK

UDP jest bezpołączeniowy

UDP jest bezpołączeniowy: wysyła dane natychmiast, bez handshake’u i bez gwarancji dostarczenia lub zachowania kolejności. Po prostu wysyła pakiety, nazywane datagramami, w kierunku miejsca docelowego.

Dzięki temu UDP jest szybki i lekki, ale jeśli aplikacja wymaga kompletności danych, musi samodzielnie obsłużyć ich utratę lub zmianę kolejności.

Niezawodność a szybkość

Podstawowy kompromis jest jasny: TCP zapewnia niezawodność dzięki potwierdzeniom i retransmisji, co kosztuje czas i zwiększa narzut. UDP pomija te mechanizmy, stawiając na surową szybkość.

  • TCP: niezawodny, uporządkowany, wolniejszy.
  • UDP: szybki, lekki, działający w modelu best-effort.

Wybór zależy od tego, czy ważniejsza jest dokładność, czy szybkość.

Kiedy wygrywa TCP

TCP należy używać, gdy każdy bajt musi dotrzeć poprawnie. Przeglądanie stron internetowych (HTTP/HTTPS), poczta elektroniczna (SMTP) i transfer plików (FTP) korzystają z TCP.

Brakujący fragment strony lub pliku mógłby go uszkodzić, dlatego koszt niezawodności TCP jest tego wart. Większość ruchu internetowego pod względem ilości danych korzysta z TCP.

Kiedy wygrywa UDP

UDP należy używać, gdy szybkość i niskie opóźnienia są ważniejsze niż idealne dostarczenie danych. Transmisje na żywo, takie jak połączenia głosowe i wideo, gry online oraz streaming często korzystają z UDP.

Podczas połączenia wideo nieznacznie utracona klatka jest lepsza niż zatrzymanie obrazu w celu jej ponownego przesłania. Zapytania DNS również korzystają z UDP, ponieważ są szybkie i niewielkie.

Sterowanie przepływem i okna

TCP obejmuje mechanizm sterowania przepływem, który zapobiega przeciążeniu odbiorcy. Wykorzystuje do tego przesuwne okno określające, ile danych może znajdować się w drodze przed otrzymaniem potwierdzenia.

TCP stosuje również sterowanie przeciążeniem i zwalnia, gdy sieć jest zajęta. UDP nie ma żadnego z tych mechanizmów, pozostawiając pełną kontrolę nad tempem aplikacji.

Nagłówki i narzut

Nagłówek TCP jest większy (minimum 20 bajtów), ponieważ zawiera numery sekwencyjne, potwierdzenia i flagi. Nagłówek UDP ma tylko 8 bajtów i przechowuje wyłącznie port źródłowy, port docelowy oraz długość.

Mniejszy nagłówek UDP oznacza mniejszy narzut na pakiet, co przyczynia się do przewagi szybkości tego protokołu w wysokowolumenowym ruchu czasu rzeczywistego.

Wybór między nimi

Aby podjąć decyzję, należy zadać sobie pytanie: czy aplikacja potrzebuje gwarantowanego dostarczenia danych we właściwej kolejności? Jeśli tak, należy wybrać TCP. Jeśli ważniejsza jest szybkość, a aplikacja może tolerować pewne straty, należy wybrać UDP.

Wiele protokołów dokonuje tego wyboru celowo — DNS korzysta z UDP do szybkich zapytań, ale przełącza się na TCP przy dużych transferach. Zrozumienie tego kompromisu wyjaśnia te decyzje projektowe.

TCP i UDP razem

Oba protokoły używają numerów portów, aby kierować ruch do właściwej aplikacji — będzie to temat następnej lekcji. Korzystają z tego samego schematu adresowania, ale różnią się gwarancjami dostarczenia.

Znajomość różnic między TCP a UDP stanowi podstawę do zrozumienia konkretnych protokołów i portów omawianych w dalszej części tego kursu.

Szybkie sprawdzenie

Dopasuj protokół do potrzeby.

Podsumowanie

Porównano TCP i UDP.

  • TCP: zorientowany połączeniowo, niezawodny, uporządkowany; używa uzgadniania SYN/SYN-ACK/ACK.
  • UDP: bezpołączeniowy, szybki, działający według zasady best effort, bez uzgadniania.
  • TCP sprawdza się w przypadku stron internetowych, poczty e-mail i transferu plików; UDP — w przypadku głosu, wideo, gier i zapytań DNS.
  • TCP zapewnia kontrolę przepływu i przeciążenia; UDP pozostawia te zadania aplikacji.
  • Oba protokoły używają numerów portów do docierania do aplikacji.

Często zadawane pytania

Czy lekcja „TCP a UDP w skrócie” jest bezpłatna?

Tak — pełny tekst „TCP a UDP w skrócie” 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 Network+ Academy, przejdź na CoddyKit PRO. Kurs Network+ Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „TCP a UDP w skrócie”?

Proszę porównać niezawodny, oparty na połączeniu protokół TCP z szybkim i lekkim UDP. Ćwiczysz Network+ 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ąć Network+ Academy?

Nie wymagamy żadnego doświadczenia. Network+ 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 1 z 4.

Ile czasu zajmuje lekcja „TCP a UDP w skrócie”?

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 Network+ Academy?

Tak. Każda lekcja Network+ 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

  1. TCP a UDP w skrócie
  2. Do czego służą numery portów
  3. Protokoły sieci WWW i transferu plików
  4. Protokoły zdalnego dostępu i poczty
← Powrót do Network+ Academy