← Wszystkie pytania
Jaka jest główna różnica między protokołami TCP i UDP?
ŚrednioPoczątkującyDevOps

Jaka jest główna różnica między protokołami TCP i UDP?

Krótka odpowiedź
TCP to zorientowany połączeniowo, niezawodny protokół, który gwarantuje dostawę, zamawianie, i sprawdzanie błędów kosztem kosztów ogólnych. UDP to prosty protokół bezpołączeniowy bez gwarancji dostawy ani zamówienia, ale jest szybszy i lżejszy.

TCP i UDP to dwa główne protokoły warstwy transportowej działające na bazie protokołu IP. Podstawowe rozróżnienie: protokół TCP jest zorientowany na połączenie i niezawodny, podczas gdy UDP jest bezpołączeniowy i działa na zasadzie „odpal i zapomnij”.

TCP (RFC 9293)

  • Zorientowany na połączenie. Przed wysłaniem danych punkty końcowe wykonują trójstronne uzgadnianie (3WHS): SYN → SYN-ACK → ACK, synchronizując początkowe numery sekwencyjne.
  • Niezawodny i uporządkowany. Każdy bajt otrzymuje numer sekwencyjny; odbiornik wysyła potwierdzenia (ACK), utracone segmenty są retransmitowane, a dane są ponownie składane w pierwotnej kolejności. Integralność jest weryfikowana za pomocą sumy kontrolnej. RFC 9293 stwierdza, że ​​protokół TCP „zapewnia niezawodną usługę strumienia bajtów o uporządkowanej kolejności”.
  • Strumień bajtów, brak granic wiadomości. TCP dostarcza nieustrukturyzowany strumień bajtów: granice wiadomości nie są zachowywane (aplikacja musi tworzyć własne ramki w ramkach). Z kolei protokół UDP jest zorientowany na komunikaty — każdy datagram jest dostarczany jako oddzielna, kompletna jednostka lub w ogóle nie jest dostarczany (jedno wysłanie do = jedno odtworzenie).
  • Kontrola przepływu i zatorów. TCP ogranicza szybkość wysyłania, tak aby nie przeciążał ani odbiornika, ani sieci.
  • Kompromis: większy narzut i opóźnienia oraz większy nagłówek — 20–60 bajtów (20 bez opcji, z możliwością rozszerzenia za pomocą opcji takich jak MSS, skalowanie okien, SACK).

UDP (RFC 768)

  • Bez połączenia. Nie ma uścisku dłoni; każdy datagram jest niezależny.
  • Brak gwarancji. RFC wyraźnie stwierdza, że ​​„nie gwarantuje się dostarczania ani ochrony przed duplikatami” — protokół UDP nie odzyskuje utraconych, zduplikowanych ani nieaktualnych pakietów.
  • Naprawiono 8-bajtowy nagłówek z zaledwie czterema polami: Port źródłowy, Port docelowy, Długość, Suma kontrolna.
  • Zalety: małe opóźnienia i obciążenie, a także obsługa transmisji rozgłoszeniowej/multicastowej.

Kiedy którego używać

  • TCP: internet (HTTP/HTTPS przez TCP), poczta e-mail, przesyłanie plików, SSH — wszędzie tam, gdzie liczy się integralność danych.
  • UDP: wyszukiwanie DNS, gry online, VoIP, strumieniowe przesyłanie wideo na żywo – gdzie prędkość ma większe znaczenie niż pojedynczy utracony pakiet.

Wspólne punkty kontrolne

  • Sam protokół UDP nie porządkuje danych, ale aplikacja może nałożyć na nie własną logikę (QUIC robi to poprzez UDP).
  • HTTP/3 działa na QUIC przez UDP, podczas gdy HTTP/1.1 i HTTP/2 działają przez TCP.
  • Suma kontrolna UDP jest technicznie opcjonalna w IPv4 (wartość zerowa oznacza „nieobliczona”), ale obowiązkowa w IPv6.
Sieci komputeroweTCPUDP

Pobierz teraz i wypróbuj za darmo przy swoich zadaniach!

Pobierz dla Windows
10 15 darmowych kredytów • Karta kredytowa nie jest wymaganaWersja: Ładowanie…

Bez instalacji - pobierz i uruchom. Bez rejestracji - zaloguj się przez Google.