What types of applications use UDP?
Three categories: live video/multimedia (VoIP, streaming), simple request-reply apps (DNS, DHCP), and apps that handle reliability themselves (SNMP, TFTP).
Three Categories of UDP Applications:
1. Live Video and Multimedia:
- Can tolerate some data loss
- Require little or no delay
- Examples: VoIP, live streaming video
2. Simple Request and Reply Applications:
- Simple transactions
- May or may not receive a reply
- Examples: DNS, DHCP
3. Applications That Handle Reliability Themselves:
- Unidirectional communications
- Flow control, error detection, acknowledgments not required
- Or handled by the application itself
- Examples: SNMP, TFTP
Key insight: If reliability is handled at the application layer, the transport layer can use UDP for speed.
These three groups share one thing: TCP's guarantees would either be wasted or actively harmful. Real-time media (group 1) cannot use a late retransmission, so reliability adds nothing but delay. Request-reply protocols like DNS and DHCP (group 2) exchange a single small message each way, so setting up and tearing down a TCP connection would cost more round trips than the actual data, and if the reply is lost the client just asks again. Protocols that manage their own reliability (group 3) such as SNMP and TFTP already build acknowledgment or retry logic into the application, so duplicating it in the transport layer would be redundant. The pattern to remember is that UDP is the right choice when delivery guarantees are either unnecessary, too slow to be useful, or already handled higher up.
Go deeper:
RFC 1350 — The TFTP Protocol — a classic example of an app that runs its own reliability (ack/retry) over UDP.
Domain Name System — the canonical simple request-reply UDP service (port 53).