Some applications (DNS, VoIP, gaming) need fast, low-latency communication where occasional packet loss is acceptable. TCP’s reliability mechanisms add unacceptable delay and overhead for these use cases.
A connectionless, unreliable transport protocol that sends independent datagrams with minimal overhead, trading reliability for speed.
- No connection establishment — applications send datagrams immediately
- Each UDP segment has source port, destination port, length, and checksum
- No guarantees: packets can be lost, duplicated, or arrive out of order
- No flow control or congestion control
- Applications must handle reliability at the application layer if needed
- Connectionless: no handshake or state
- Unreliable: best-effort delivery only
- Lightweight: 8-byte header vs TCP’s 20+ bytes
- Supports broadcast and multicast (unlike TCP)
- Built from: Connectionless Service — implements this service
- Built from: IP Protocol — runs on top of IP
- Contrasts with: TCP — unreliable vs reliable transport
- Related: DNS — uses UDP for fast lookups
- Related: VoIP — uses UDP for real-time communication
- Checksum is optional in IPv4 (unlike TCP which always has it)
- No backpressure — sender can overwhelm receiver
- Fragmentation happens at IP layer, not UDP layer