UDP (User Datagram Protocol) to lekki protokół warstwy transportowej stosowany w sieciach komputerowych. Zapewnia bezpołączeniową i zawodną usługę komunikacyjną, w ramach której pakiety danych są wysyłane bez ustanawiania połączenia lub potwierdzania dostarczenia. UDP jest często używany w aplikacjach, dla których szybkość i wydajność są ważniejsze od niezawodności, takich jak strumieniowe przesyłanie multimediów w czasie rzeczywistym, gry online, rozpoznawanie nazw DNS (Domain Name System) i usługi Voice over IP (VoIP).
UDP jest najczęściej używany w aplikacjach wymagających małych opóźnień i szybkiej transmisji danych, gdzie akceptowalna jest sporadyczna utrata pakietów lub dostawa poza kolejnością. Nadaje się do scenariuszy, w których kluczowa jest reakcja w czasie rzeczywistym, takich jak transmisja wideo na żywo, gry online, w których należy odzwierciedlić natychmiastowe działania, lub sytuacje, w których ciągłe aktualizacje danych są ważniejsze niż zapewnienie, że każdy pojedynczy pakiet dotrze w stanie nienaruszonym.
Powinieneś używać protokołu UDP, jeśli aplikacja toleruje okazjonalną utratę pakietów, duplikację lub dostarczanie poza kolejnością, a priorytetem jest utrzymanie małych opóźnień i zmniejszenie narzutu. Nadaje się do zastosowań, w których retransmisja utraconych pakietów może nie być konieczna lub gdzie sama aplikacja może obsługiwać korekcję błędów i integralność danych na wyższym poziomie.
Aplikacje powszechnie korzystające z protokołu UDP obejmują aplikacje do strumieniowego przesyłania multimediów, takie jak wideokonferencje, platformy gier online do rozgrywki w czasie rzeczywistym, usługi VoIP do komunikacji głosowej w Internecie, DNS do szybkiego tłumaczenia nazw domen na adresy IP oraz urządzenia IoT przesyłające częste aktualizacje tam, gdzie responsywność jest ograniczona. krytyczny.
UDP jest wybierany zamiast protokołu TCP (protokół kontroli transmisji) w sytuacjach, w których najważniejsza jest prędkość i zmniejszone opóźnienia oraz gdy niepotrzebne są nakłady związane z ustanawianiem i utrzymywaniem niezawodnego połączenia. W przeciwieństwie do protokołu TCP protokół UDP nie gwarantuje dostarczenia ani uporządkowania pakietów, ani nie zapewnia kontroli zatorów ani usuwania błędów. To sprawia, że protokół UDP jest bardziej odpowiedni dla aplikacji, które mogą poradzić sobie z tymi problemami w warstwie aplikacji lub przedkładać wydajność w czasie rzeczywistym nad niezawodność, takich jak strumieniowe przesyłanie multimediów i gry online.