Serwis Top10VPN ma pełną niezależność redakcyjną. Możemy otrzymać prowizję, jeśli kupisz VPN za na naszej stronie.

TCP vs. UDP – na czym polega różnica?

JP Jones – CTO w Top10VPN

JP Jones jest naszym dyrektorem ds. technicznych (CTO). Ma ponad 25 lat doświadczenia w inżynierii oprogramowania i sieci. Nadzoruje wszystkie aspekty techniczne procesu testowania usług VPN.

Werdykt

UDP jest szybszy i skuteczniejszy od TCP, ponieważ zużywa mniej danych, wykonując te same zadania. Z drugiej strony, TCP monitoruje wszystkie pakiety danych, aby zapewnić, że zostaną dostarczone we właściwej kolejności, dzięki czemu jest bezpieczniejszy i mniej zawodny. Jeżeli korzystasz z protokołu OpenVPN, zalecamy najpierw wypróbować UDP i przełączyć się na TCP, jeśli nie będzie działał.

Różnice między TCP a UDP

UDP (User Datagram Protocol) i TCP (Transmission Control Protocol) to dwa różne protokoły komunikacyjne używane do wysyłania informacji przez Internet.

W oprogramowaniu VPN protokół OpenVPN musi korzystać z UDP lub TCP, aby móc wysyłać dane między Twoim urządzeniem a serwerem VPN. Przyjrzyjmy się teraz różnicom między UDP i TCP, aby zdecydować, który protokół będzie lepszy dla Twojego połączenia VPN.

Podsumowanie: główne różnice między UDP a TCP

  • TCP musi nawiązać połączenie między nadawcą i odbiorcą, aby przekazać dane, podczas gdy UDP prześle pakiety do drugiego urządzenia bez konieczności konfiguracji kanału i pytania odbiorcy, czy jest gotowy.
  • UDP jest szybszy od TCP, ponieważ nie porządkuje i nie sprawdza pakietów danych pod kątem błędów.
  • TCP jest bardziej wiarygodny niż UDP. Sprawdza błędy i gwarantuje, że pakiety danych zostaną dostarczone do komunikującej się aplikacji w prawidłowej kolejności.
  • TCP jest nieco bardziej bezpieczny niż UDP. Wstrzyknięcie złośliwych danych jest trudniejsze, ponieważ TCP monitoruje wszystkie pakiety.

Niniejszy przewodnik wyjaśnia, czym są protokoły UDP i TCP, na czym polegają różnice między nimi oraz który będzie lepszy dla Twojego połączenia VPN, w tym do streamingu, grania, przeglądania Internetu i nie tylko.

Różnice między UDP i TCP

Choć zarówno TCP, jak i UDP to formy protokołu komunikacyjnego, działają w inny sposób.

Skorzystaj z poniższej tabeli, aby poznać główne różnice między UDP i TCP:

UDP TCP
Jak działa? Nie nawiązuje połączenia Nawiązuje połączenie
Prędkość Wyższa Niższa
Nieazwodność Niższa Wyższa
Retransmituje zagubione pakiety? Nie Tak
Dba o dostarczenie pakietów we właściwej kolejności? Nie Tak
Kontrola przepływu Nie – pakiety danych mogą zostać utracone, jeśli odbiorca jest przeciążony. Tak – odbiorca informuje nadawcę, ile ma miejsca w buforze na odbiór pakietów. TCP przechowuje pakiety do czasu, aż znajdzie się miejsce.
Zużycie danych Niskie Wysokie
Dla jakich aplikacji jest używany w tunelu VPN?
(Nadal możesz korzystać z TCP lub UDP dla swojego tunelu VPN)
  • System nazw domen (DNS)
  • Gry online
  • Streaming filmów
  • Voice over IP (VoIP)
  • Urządzenia w sieci IoT (np. czujniki wysyłające czasem dane do domu)
  • System nazw domen (DNS)
  • Przeglądanie Internetu (HTTP, HTTPS)
  • E-mail (SMTP, IMAP/POP)
  • Pobieranie/wysyłanie (FTP)
  • Zdalny dostęp do komputera z wykorzystaniem SSH
Odpowiedni dla aplikacji czasu rzeczywistego? Tak Nie

Kluczowe różnice między UDP i TCP.

UDP jest szybszy od TCP

Przetestowaliśmy ExpressVPN i NordVPN, dwa najpopularniejsze VPN-y 2023 roku, aby zobaczyć, jak wygląda ich prędkość z użyciem protokołu Open VPN z UDP i TCP.

Dla każdego VPN-u i rodzaju OpenVPN łączyliśmy się z naszej siedziby w Stanach Zjednoczonych z serwerami w Stanach Zjednoczonych, Wielkiej Brytanii oraz Australii i mierzyliśmy naszą prędkość pobierania. Oto wyniki:

ExpressVPN (Mb/s) NordVPN (Mb/s)
Kraj UDP TCP Spadek w % UDP TCP Spadek w %
Stany Zjednoczone 94 91 3 92 94 0
Wielka Brytania 62 47 24 85 16 81
Australia 75 47 37 67 4 94

Dane uzyskane w testach prędkości UDP i TCP na połączeniach międzynarodowych.

Jak pokazują nasze dane, UDP jest zwykle szybszy od TCP. Różnica rośnie wraz z odległością od serwera. Dzieje się tak, ponieważ TCP dostarcza pakiety danych w uporządkowanym i sprawdzonym pod kątem błędów strumieniu, w związku z czym wszelkie nieprawidłowe lub brakujące dane muszą być ponownie uzyskane od nadawcy, co zwiększa opóźnienia.

Dodatkowo pakiet UDP zawiera więcej danych niż pakiet TCP (przez jego mniejszy nagłówek), dlatego więcej danych może zmieścić się na połączeniu (powiedzmy 100 Mb/s) i w związku z czym zyskujesz zwiększoną przepustowość.

Z tego powodu UDP jest używany częściej od TCP podczas aktywności takich jak streaming lub granie.

Korzystając z TCP, komunikaty między nadawcą i odbiorcą muszą przebyć dłuższą drogę, dlatego średnia prędkość VPN-u spada.

W przypadku ExpressVPN UDP był o 24% szybszy na połączeniu ze Stanów Zjednoczonych do Wielkiej Brytanii i o 37% szybszy na połączeniu z Australią.

Różnica była jeszcze wyraźniejsza dla NordVPN. Utraciliśmy 81% naszej prędkości pobierania na połączeniu TCP z Wielką Brytanią i 94% na połączeniu z Australią. TCP był jednak odrobinę szybszy od UDP, gdy łączyliśmy się z serwerem NordVPN w tym samym kraju.

TCP zużywa więcej danych niż UDP

TCP zużywa więcej danych niż UDP, ponieważ oferuje więcej informacji w nagłówku każdego pakietu danych. To sprawia, że TCP jest niezawodny, ale mniej wydajny od UDP.

Każdy pakiet danych wysyłany przez Internet ma nagłówek, który można porównać do adresu na kopercie. Zawiera on informacje konieczne, aby dostarczyć dane do właściwego miejsca oraz inne dodatkowe informacje wymagane przez protokół.

Zarówno UDP, jak i TCP pokazują porty źródłowe oraz docelowe dla danych, długość pakietu danych oraz sumę kontrolną w nagłówku. TCP zawiera jednak dodatkowe informacje, aby zagwarantować prawidłowe dostarczenie.

WSKAZÓWKA EKSPERTA: Suma kontrolna jest obliczana dla danych dwa razy: przed ich wysyłką i po odebraniu. Jeśli wynik odbiorcy będzie inny, to znaczy, że dane zostały uszkodzone podczas przesyłania.

Oto jak wyglądają nagłówki TCP i UDP:

UDP TCP
Rozmiar nagłówka 8 bajtów 20 bajtów +
Zawartość nagłówka (UDP i TCP)
  • Port źródłowy
  • Port docelowy
  • Długość
  • Suma kontrolna
  • Port źródłowy
  • Port docelowy
  • Długość
  • Suma kontrolna
Zawartość nagłówka (tylko TCP) Brak dodatkowych danych w nagłówku
  • Numer sekwencyjny
  • Numer potwierdzający
  • Flagi TCP (np. synchronizacji i potwierdzenia używane w celu nawiązania połączenia)
  • Okno (rozmiar bufora odbiorcy, aby nadawca nie wysłał zbyt dużej ilości danych)
  • Wskaźnik do pilnych danych
  • Dodatkowe opcje TCP (np. znacznik czasu)

Zestawienie różnic między nagłówkami UDP i TCP.

Jak pokazuje tabela, w porównaniu do UDP, TCP zużywa więcej danych, aby zarządzać transmisją informacji przez Internet.

TCP  wymaga również intensywniejszej komunikacji między nadawcą i odbiorcą. Dzieje się tak, ponieważ odbiorca potwierdza (ACK) odbiór pakietów TCP, a wszystkie zagubione pakiety muszą zostać wysłane ponownie. W rezultacie TCP zużywa więcej danych niż UDP.

Podczas naszej analizy zużycia danych przez VPN zmierzyliśmy i porównaliśmy ilość dodatkowych danych wykorzystywanych przez VPN z TCP i UDP. Oto podsumowanie naszych wyników:

OpenVPN z UDP OpenVPN z TCP
Wzrost zużycia danych w porównaniu do połączenia bez VPN-u 17.23% 19.96%

Wyniki testów porównujących zużycie danych przez UDP i TCP.

Jeśli korzystasz z pakietu danych Twojej sieci komórkowej i płacisz za zużyte gigabajty lub Twój usługodawca nakłada limity, zużyjesz swój przydział szybciej z TCP.

TCP jest nieco bezpieczniejszy od UDP

UDP i TCP nie zostały zaprojektowane pod kątem bezpieczeństwa. Są przeznaczone do wysyłania pakietów danych przez Internet. Pakiety te mogą mieć formę zwykłego tekstu lub być zaszyfrowane. Inne protokoły i aplikacje wyżej w stosie komunikacyjnym zwykle dbają o bezpieczeństwo.

Ponieważ pakiety TCP są sekwencjonowane i potwierdzane, hakerom trudniej jest wstrzyknąć złośliwe dane niż w przypadku UDP.

W praktyce żaden z tych protokołów nie ma problemów z bezpieczeństwem, gdy jest używany z VPN-em. Zarówno TCP, jak i UDP obsługują zabezpieczenia oraz funkcje prywatności mające na celu zapewnienie Ci bezpieczeństwa.

Jak VPN-y używają UDP i TCP?

OpenVPN, to protokół VPN z otwartym kodem źródłowym używany przez większość bezpiecznych usług VPN. Wiele sieci oferuje użytkownikom możliwość wyboru między OpenVPN UDP i OpenVPN TCP. W tej sekcji omówimy, jaki wpływ mają one na funkcjonalność Twojego VPN-u.

Ustawienia protokołów NordVPN

Opcje UDP i TCP od NordVPN znajdziesz w menu protokołów.

Najpierw wyobraź sobie, że przeglądasz stronę internetową bez VPN-u. Połączenie między Twoim urządzeniem a przeglądarką będzie oparte na TCP, ponieważ dany protokół jest mniej zawodny od UDP. Zobacz, jak to działa:

Diagram ruchu TCP

Jak ruch TCP jest kierowany przez Internet bez VPN-u.

Gdy masz włączony VPN, nowe połączenia są opakowane w tunel Open VPN między Twoim urządzeniem a serwerem VPN. Tunel łączy Twoje urządzenie oraz serwer VPN – może on korzystać zarówno z UDP, jak i TCP.

Schemat tunelu OpenVPN UDP lub TCP

Jak OpenVPN UDP lub TCP opakowuje ruch TCP.

Kiedy zmieniasz swoje ustawienia VPN, decydujesz, jakiego „opakowania” chcesz używać. Tutaj trzeba odpowiedzieć sobie na pytanie, który protokół będzie lepszy dla Ciebie?

UDP vs. TCP: który jest lepszy?

PODSUMOWANIE: Jeśli Twój VPN pozwala Ci wybrać między UDP i TCP, najpierw wypróbuj UDP. UDP jest szybszy od TCP, z którego nadal możesz korzystać do innych działań, jak przeglądanie Internetu w Twoim tunelu VPN UDP. TCP może pomóc VPN-owi, jeśli UDP jest blokowany przez zaporę sieciową lub, gdy masz niestabilne połączenie.

Wybór jednego z protokołów komunikacyjnych zależy od tego, w jakim celu korzystasz z VPN-u. W tej sekcji wyjaśnimy, który protokół będzie lepszy do streamingu, przeglądania Internetu, omijania cenzury i ogólnego korzystania z sieci VPN.

Zwykłe połączenia VPN

Korzystanie z OpenVPN z UDP to lepszy wybór dla niemal wszystkich zwykłych połączeń VPN. Dzieje się tak, ponieważ UDP jest szybszy od TCP i zużywa mniej danych.

Aplikacje nadal będą używać TCP dla swoich połączeń w Twoim tunelu VPN UDP, co oznacza, że wszelkie usługi, które wymagają gwarantowanej dostawy pakietów TCP, będą mogły z niej skorzystać.

Streaming i gry

Granie i streaming zwykle używają połączenia UDP. Dzieje się tak, ponieważ lepiej jest pominąć niewielką część transmisji niż doświadczyć opóźnień, próbując ją odzyskać.

Z tego powodu zalecamy UDP, jeśli korzystasz z VPN-u do streamingu filmów lub grania w gry wideo.

Jeśli używasz OpenVPN TCP, Twój VPN może niepotrzebnie próbować odzyskać zagubione pakiety danych. Kiedy czekasz na zagubione pakiety, gra lub stream są kontynuowane, zanim Twój ekran zostanie zaktualizowany.

WSKAZÓWKA EKSPERTA: Netflix i Amazon Prime używają TCP, ponieważ ułatwia monitorowanie zużycia przepustowości. Wszystkie dostępne pasma między serwerem i odbiorcą mogą być wykorzystane, co pozwala na szybsze wysyłanie pakietów danych. Mogą one również stosownie zmieniać jakość filmów wideo, aby poprawić komfort obsługi dla użytkowników.

E-maile i przeglądanie Internetu

Zalecamy wybór OpenVPN UDP podczas korzystania ze skrzynki e-mail oraz przeglądania Internetu.

Schemat tunelu OpenVPN UDP

Jak OpenVPN UDP działa z ruchem TCP.

Powszechne przekonanie, że należy używać tunelu VPN TCP dla aplikacji, które wymagają szczególnej niezawodności, jest błędne. Nie jest to konieczne i zwykle nie stanowi najlepszego pomysłu. Wewnętrzne połączenie nadal ma TCP w razie potrzeby – tunel VPN nie potrzebuje kolejnej warstwy.

Jeśli opakujesz połączenie TCP w tunel VPN TCP, ryzykujesz „załamanie TCP”. Dzieje się tak, gdy obie warstwy TCP próbują zrekompensować utracone pakiety, ponieważ mają one niezależne liczniki czasu używane do określania, kiedy pakiet został utracony.

Omijanie zapór sieciowych i cenzury

Jeśli chcesz ominąć cenzurę lub zaporę sieciową, wybierz TCP dla OpenVPN.

Korzystając z TCP na porcie 4433, Twój ruch wgląda tak samo, jak zaszyfrowany ruch sieciowy HTTPS. Blokowanie portu TCP 4433 zamknęłoby wszystkie strony e-commerce, dlatego ten ruch jest zwykle przepuszczany przez zapory.

Niektóre VPN-y obsługują TCP na porcie 80, który jest używany do przesyłania niezaszyfrowanego ruchu internetowego i również będzie w stanie obejść zaporę bez najmniejszego problemu.

Studenci twierdzą, że używanie OpenVPN z TCP pozwoliło im obejść zaporę sieciową uczelni, podczas gdy ruch UDP był blokowany.

TCP może działać w krajach, gdzie VPN-y są oficjalnie zablokowane, ale należy mieć na uwadze, że ruch VPN nadal może zostać zidentyfikowany za pomocą głębokiej inspekcji pakietów. Sam TCP nie zapewni Ci ochrony, jeśli korzystanie z VPN-ów jest nielegalne lub niebezpieczne w Twoim kraju.

Zawsze próbuj najpierw UDP dla OpenVPN. Jest szybszy, a Twoje aplikacje nadal będą miały TCP w wewnątrz tunelu, jeśli będą go potrzebowały w celu zapewnienia niezawodności.

OpenVPN Inc. – firma, która tworzy oprogramowanie VPN, opierając się na protokole OpenVPN, zapewnia:

„Protokół OpenVPN funkcjonuje najlepiej z protokołem UDP. Domyślnie, połączenie(a) … są zaprogramowane tak, aby zawsze najpierw próbować UDP, a jeśli to się nie uda, przejść na TCP”.

Jeśli więc Twój VPN nie działa z UDP przez problemy z siecią, może się okazać, że korzystanie z OpenVPN z TCP naprawi ten problem. Protokół TCP został przecież zaprojektowany, aby zrekompensować zawodne połączenia sieciowe.

Czym jest TCP?

TCP tworzy połączenie między dwoma urządzeniami, np. Twoim komputerem i serwerem internetowym. Dane są wysyłane przez to połączenie, które przypomina rozmowę telefoniczną – dwa urządzenia komunikują się ze sobą, aby upewnić się, że informacje zostały odebrane prawidłowo.

Korzystając z TCP:

  • Masz gwarancję, że wszystkie pakiety danych zostaną dostarczone. Jeśli odbiorca nie potwierdzi otrzymania pakietu, nadawca wysyła go jeszcze raz.
  • Wszystkie pakiety są sekwencjonowane, aby zapewnić, że trafią do odbiorcy w tej samej kolejności, w jakiej zostały wysłane.
  • Pakiety nie są wysyłane, jeśli odbiorca nie jest gotowy do ich odebrania.

WSKAZÓWKA EKSPERTA: Być może zdarzyło Ci się zobaczyć gdzieś wzmianki na temat TCP/IP. IP to skrót od Internet Protocol i jest to sposób, w jaki TCP odnajduje adres IP, na który należy wysłać dane. Nie można korzystać z TCP bez IP, dlatego dla naszych celów terminy TCP/IP oraz TCP są równoważne.

Czym jest UDP?

W przeciwieństwie do TCP UDP to protokół, który nie nawiązuje połączenia. Dane są wysyłane, ale nie ma mechanizmu informacji zwrotnej, który potwierdziłby, że zostały odebrane prawidłowo. UDP przypomina raczej wysyłanie wiadomości pocztą tradycyjną – wrzucasz list do skrzynki i zapominasz o nim.

Korzystając z UDP:

  • Pakiety danych mogą zostać utracone podczas transmisji i nadawca nie będzie o tym wiedział.
  • Pakiety wysyłane do przeciążonego odbiorcy zostaną utracone i nie będą mogły zostać odzyskane.
  • Nie ma wbudowanego mechanizmu odzyskiwania zagubionych lub uszkodzonych danych, ale aplikacje korzystające z UDP mogą mieć swój własny mechanizm w tym celu.

Ponieważ UDP nie musi nawiązać i utrzymać połączenia, jest szybszy od TCP. To idealna opcja dla aplikacji, które są wysoce wrażliwe na opóźnienia, takie jak wideokonferencje oraz gry online.

Sporadycznie zagubiony pakiet może spowodować drobne zakłócenie, ale to lepsze niż opóźnienia spowodowane ponowną wysyłką pakietu przez TCP.

System nazw domen (DNS) może i korzysta z UDP oraz TCP. Chociaż coraz częściej używa TCP, ponieważ pakiety zapytań rosną, UDP to domyślny protokół zapewniający, że transmisja jest tak szybka, jak to tylko możliwe.