UDP (User Datagram Protocol) to bezpołączeniowy i zawodny protokół transportowy używany w sieciach. Działa w warstwie transportowej modelu TCP/IP i często jest kontrastowany z protokołem TCP (Transmission Control Protocol). UDP działa poprzez przesyłanie pakietów danych, zwanych datagramami, pomiędzy aplikacjami bez ustanawiania dedykowanego połączenia typu end-to-end. W przeciwieństwie do protokołu TCP protokół UDP nie gwarantuje dostarczenia ani uporządkowania pakietów, ani nie przeprowadza sprawdzania błędów ani retransmisji. Zamiast tego zapewnia lekki i wydajny sposób przesyłania danych tam, gdzie dopuszczalna jest okazjonalna utrata pakietów lub dostawa poza kolejnością, na przykład w zastosowaniach czasu rzeczywistego, takich jak strumieniowe przesyłanie wideo lub gry online.
UDP działa krok po kroku w następujący sposób:
- Tworzenie pakietu: aplikacja przygotowuje dane do wysłania i hermetyzuje je w datagramach UDP, które składają się z nagłówka i ładunku.
- Adresowanie: nagłówek UDP zawiera numery portów źródłowych i docelowych w celu identyfikacji aplikacji wysyłających i odbierających w systemach hosta.
- Wysyłanie: Datagram UDP jest wysyłany przez sieć na docelowy adres IP określony w nagłówku datagramu.
- Receiving: Aplikacja odbierająca pobiera datagramy UDP z bufora sieciowego. UDP dostarcza datagramy do aplikacji bez sprawdzania potwierdzenia lub zapewnienia kolejności dostarczenia.
- Przetwarzanie: Aplikacja przetwarza otrzymane dane bezpośrednio z datagramów UDP, w razie potrzeby obsługując niezbędne sprawdzanie błędów lub retransmisję na poziomie aplikacji.
UDP (User Datagram Protocol) to prosty protokół warstwy transportowej w pakiecie TCP/IP. W przeciwieństwie do protokołu TCP, UDP nie zapewnia mechanizmów niezawodności, sekwencjonowania ani kontroli przepływu. Zamiast tego oferuje lekki i szybki sposób wysyłania danych przez sieć bez konieczności nawiązywania i utrzymywania połączenia. UDP jest odpowiedni do zastosowań, w których szybkość i małe opóźnienia są ważniejsze od niezawodności, takich jak przesyłanie strumieniowe audio i wideo w czasie rzeczywistym, rozdzielczość DNS (Domain Name System) i monitorowanie sieci.
Porty UDP działają podobnie do portów TCP, ale z mniejszymi ograniczeniami. Porty w UDP to 16-bitowe liczby używane do rozróżniania wielu aplikacji działających na tym samym hoście. Każdy pakiet UDP zawiera w swoim nagłówku numery portów źródłowych i docelowych, co pozwala aplikacji odbierającej zidentyfikować usługę lub aplikację, do której przeznaczone są dane. Porty UDP ułatwiają komunikację pomiędzy aplikacjami na różnych hostach, umożliwiając im wymianę pakietów danych bez konieczności posiadania dedykowanego połączenia lub utrzymywania stanu sesji.
HTTP (HyperText Transfer Protocol) i UDP (User Datagram Protocol) służą różnym celom i działają na różnych warstwach stosu sieciowego. HTTP to protokół warstwy aplikacji używany do przesyłania dokumentów hipertekstowych, zwykle za pośrednictwem połączeń TCP/IP. Zapewnia niezawodny transfer danych, obsługę żądań i odpowiedzi oraz zarządzanie sesjami aplikacji i usług internetowych. Natomiast UDP działa w warstwie transportowej i zapewnia bezpołączeniową i zawodną usługę datagramową. Podczas gdy protokół HTTP opiera się na protokole TCP w celu zapewnienia gwarantowanego dostarczenia i korekcji błędów, protokół UDP jest używany w scenariuszach, w których priorytetem jest komunikacja w czasie rzeczywistym i niskie obciążenie, np. strumieniowe przesyłanie multimediów lub gry online.