Czym są i jak działają protokoły TCP i UDP?
TCP (Transmission Control Protocol) i UDP (User Datagram Protocol) są podstawowymi protokołami służącymi do transferu danych na linii użytkownik-serwer sieciowy. Jeden z nich jest szybszy, a drugi bardziej niezawodny. Dowiedz się, czym są i jakie istnieją między nimi różnice.
Definicja TCP vs UDP
Obydwa narzędzia – TCP i UDP – są protokołami w warstwie transportowej Modelu OSI. Protokoły TCP i UDP spotykamy w Internecie na każdym kroku: korzystając z portali społecznościowych, wchodząc na strony informacyjne, grając w gry online czy oglądając coś na YouTubie lub serwisach streamingowych.
Każdy z tych protokołów działa jednak nieco inaczej, przez co jest stosowany w innych celach. Czym więc są TCP i UDP i jakie najważniejsze różnice dzielą te protokoły?
Jak działają TCP i UDP?
Protokół TCP jest najczęściej stosowany w Internecie. Wynika to z faktu, że w większym stopniu ułatwia zachowanie bezpieczeństwa, przez co serwer jest mniej podatny na przykład na atak DDoS lub inne formy działań hakerów. Działanie TCP przebiega według następującego schematu:
- Najpierw protokół przypisuje pakietowi danych unikatowy identyfikator. W ten sposób informacja może zostać rozpoznana, co ułatwia handshake i zachowanie odpowiedniej kolejności przesyłu danych.
- W momencie odebrania danych oraz poświadczenia ich prawidłowej kolejności serwer generuje i wysyła potwierdzenie do nadawcy.
- Po otrzymaniu potwierdzenia serwer przesyła następny pakiet danych.
- W przypadku nieprawidłowości (błąd w pakiecie, zła kolejność, utrata części informacji) serwer pozostaje bierny, tj. wymagana jest następna próba wysłania tego samego pakietu.
W porównaniu z powyższym działanie UDP jest znacząco uproszczone i o wiele szybsze. User Datagram Protocol nie korzysta z unikatowych identyfikatorów ani też nie nadaje numerów sekwencyjnych. Dane są strumieniowane w sposób ciągły bez podziału na sekwencje, bez potwierdzeń oraz bez lokalizowania i korygowania błędów. W przypadku utraty pakietu danych strumieniowanie w UDP nie zostaje zatrzymane.
Dzięki temu mechanizmowi UDP jest wysoce pożyteczne w grach online czy transmisji wideo: jeżeli na przykład dojdzie do zacięcia się wideo, serwer nie zablokuje przesyłu danych, lecz przeniesie nas w następne miejsce.
TCP i UDP – różnice
Działanie TCP oferuje coś w rodzaju potwierdzenia zwrotnego, że połączenie zostało nawiązane oraz wysyła dane w sesji pomiędzy dwoma węzłami. Jeden z tych węzłów pełni funkcję wysyłającego, drugi natomiast nasłuchuje. Połączenie musi być jednak przez cały czas otwarte albo otwierane i zamykane po wysłaniu danych. O takim nawiązaniu połączenia w ramach TCP fachowo mówi się handshake.
Protokoły TCP ponadto nadane są wszędzie tam, gdzie wysyłane dane wymagają potwierdzenia zwrotnego, a więc informacji, że coś zostało albo nie zostało wysłane. Przykładem może być tutaj aplikacja kliencka, która poprzez TCP wysyła wewnątrz sieci do aplikacji backendowej informacje na przykład o rezerwacji wizyty lekarskiej. W przypadku tego rodzaju aplikacji zawsze wymagane jest potwierdzenie, że wiadomość została otrzymana. TCP jest także standardem w wewnętrznych sieciach, gdzie używa się VPN online.
UDP to również protokół w warstwie transportowej, ale nie wymaga handshake‘a ani potwierdzenia o otrzymaniu danych. UDP jest używane między innymi w grach sieciowych, ponieważ oferuje o wiele szybszą transmisję danych niż TCP.
User Datagram Protocol nie generuje dodatkowego ruchu na informacje zwrotne i nie marnuje czasu, czekając na potwierdzenia. W UDP, w odróżnieniu od TCP, wiadomości przyjdą jedna niekoniecznie w prawidłowej kolejności (w TCP zawsze jest ona zachowana).
Z tego powodu UDP jest użyteczne tam, gdzie istnieje duży ruch i nie jest wymagane potwierdzenie otrzymania wiadomości. TCP natomiast sprawdza się w miejscach, gdzie ważna jest kolejność, a także niejako trzymanie całej wymiany wiadomości w ryzach.
TCP | UDP | |
---|---|---|
Niezawodność działania | Wysoka | Względnie niska |
Szybkość przesyłu danych | Niska | Wysoka |
Sposób przesyłania danych | Sekwencyjnie | W strumieniu |
Wykrywanie i korygowanie błędów | Obecne | Nieobecne |
Potwierdzenie odbioru danych | Zawsze | Jedynie w formie sumy kontrolnej |
Kontrolowanie, czy powstają zatory w przesyle danych | Zawsze | Nie |
TCP i UDP a działanie Virtual Private Network
Zapewne zastanawiasz się, czy TCP i UDP są zgodne z VPN? Wysokiej jakości programy zapewniają bezpieczne użytkowaniu każdego z tych protokołów.
NordVPN domyślnie używa UDP, ponieważ zapewnia to szybsze działanie przeglądarki. W ten sposób VPN bez problemu obsługuje gry online czy wymagające dużej przepustowości łącza transmisje wideo. Możesz jednak zmienić protokół na TCP.
Zmiana UDP na TCP w NordVPN (dla użytkowników Windows)
- Otwórz Settings (ikonka zębatego koła) w prawym górnym rogu.
- Z menu po lewej stronie wybierz Auto-connect.
- W sekcji VPN Protocol wybierz TCP.
Zmiana UDP na TCP w NordVPN (dla użytkowników MacOS)
- W lewym górnym rogu odnajdź menu i otwórz Preferences.
- Domyślną opcją będzie – Connection: Prefer UDP over TCP. Wyłącz ją, odznaczając pole obok.
Wzmocnij swoją ochronę i skorzystaj z zalet protokołów VPN.
Rozpocznij