UDP (User Datagram Protocol) to bezpołączeniowy i lekki protokół transportowy w sieciach komputerowych. Działa w warstwie transportowej modelu TCP/IP i umożliwia wysyłanie datagramów, czyli pakietów danych, przez sieć bez ustanawiania dedykowanego połączenia. Protokół UDP jest znany ze swojej prostoty i niskiego obciążenia, dzięki czemu nadaje się do zastosowań, w których szybkość i wydajność są ważniejsze od niezawodności, takich jak strumieniowe przesyłanie wideo w czasie rzeczywistym i gry online.
TCP (protokół kontroli transmisji) i UDP (protokół datagramów użytkownika) to dwa podstawowe protokoły używane do przesyłania danych w sieciach. TCP to protokół połączeniowy, który gwarantuje niezawodne i uporządkowane dostarczanie pakietów danych pomiędzy urządzeniami. Ustanawia połączenie, zarządza sekwencjonowaniem pakietów, potwierdza odbiór danych i retransmituje utracone pakiety, aby zapewnić integralność danych. Przykładem użycia protokołu TCP jest przeglądanie stron internetowych, gdzie istotne jest zapewnienie prawidłowego ładowania wszystkich części strony internetowej.
UDP oznacza protokół User Datagram Protocol, bezpołączeniowy protokół transportowy w sieciach komputerowych. W przeciwieństwie do protokołu TCP, UDP nie nawiązuje połączenia przed wysłaniem danych i nie gwarantuje dostarczenia ani kolejności pakietów. Jest lekki i wydajny, dzięki czemu nadaje się do zastosowań takich jak strumieniowe przesyłanie multimediów w czasie rzeczywistym, VoIP (Voice over IP) i gry online, gdzie niewielkie opóźnienie jest lepsze niż retransmisja utraconych pakietów.
Protokół UDP jest powszechnie stosowany w scenariuszach, w których priorytetem jest komunikacja w czasie rzeczywistym i niski narzut nad niezawodnością. Przykładami są gry online dla wielu graczy, w przypadku których terminowe dostarczanie pakietów danych gry ma kluczowe znaczenie dla utrzymania płynności rozgrywki, oraz aplikacje do przesyłania strumieniowego w czasie rzeczywistym, w przypadku których sporadyczna utrata pakietów jest akceptowalna, o ile strumień będzie kontynuowany bez zakłóceń.
Trzy główne różnice między protokołami TCP i UDP obejmują:
- Zorientowany na połączenie a bezpołączeniowy: protokół TCP jest zorientowany na połączenie, ustanawia połączenie przed wymianą danych i zapewnia niezawodne dostarczanie dzięki mechanizmom potwierdzania i retransmisji. UDP jest bezpołączeniowy i wysyła datagramy bez ustanawiania połączenia i gwarantowania dostarczenia.
- Niezawodność: protokół TCP gwarantuje niezawodne dostarczanie pakietów danych poprzez sekwencjonowanie, potwierdzanie i retransmisję. UDP nie zapewnia mechanizmów niezawodności i pakiety mogą zostać utracone lub dostarczone w niewłaściwej kolejności.
- Overhead: TCP ma większe obciążenie ze względu na jego funkcje niezawodności, w tym sekwencjonowanie pakietów i potwierdzanie. UDP ma mniejsze obciążenie, dzięki czemu jest szybszy, ale mniej niezawodny niż TCP, odpowiedni do zastosowań, w których prędkość jest krytyczna.