Podczas, gdy TCP dodatkowymi funkcjami, zapewnia co prawda niezawodną komunikację pomiędzy aplikacjami to jednocześnie wnosi dodatkowy narzut i może powodować opóźnienia w transmisji. Konieczny jest kompromis pomiędzy potrzebą uzyskania gwarancji dostawy danych, a dodatkowym obciążeniem zasobów sieciowych. W przypadku niektórych aplikacji, wprowadzanie dodatkowego narzutu w celu zapewnienia gwarancji, mogłoby spowodować zmniejszenie ich użyteczności, a nawet działać na nie szkodliwie. W takich przypadkach lepszym rozwiązaniem jest użycie protokołu UDP.

Protokół UDP udostępnia jedynie podstawowe funkcje dostarczania danych pomiędzy aplikacjami z bardzo niewielkim narzutem danych kontrolnych. UDP jest definiowany jako protokół " dostarczający z dołożeniem wszelkich starań" (ang. best-effort). W kontekście sieciowym, dostarczanie nazywane niepewnym lub "przy użyciu dostępnych środków" odbywa się, gdy protokół nie wysyła potwierdzenia dostarczenia. UDP nie posiada mechanizmów warstwy transportowej gwarantujących wysyłanie potwierdzeń odebranych danych.

Działanie UDP można porównać do wysłania zwykłego (nie poleconego) listu, w skrzynce pocztowej. Nadawca listu nie jest świadomy tego, czy odbiorca może odebrać list, ani poczta nie jest odpowiedzialna za śledzenie listu lub poinformowanie nadawcy, jeśli list nie dotarł do odbiorcy.

Naciśnij przycisk "Odtwórz", aby zobaczyć animację przedstawiającą transmisję segmentów od nadawcy do odbiorcy.