User Datagram Protocol (UDP) provides a minimal, unreliable data transmission service at the transport layer. The potential advantages justifying the use of UDP over the more reliable TCP for some applications include speed, simplicity, and lower overhead. Real time applications such as Voice over IP (VoIP) or streaming video in particular benefit from UDP's emphasis on speed and simplicity.
The UDP header contains exactly four fields:
Because of its inclusion of application-designating port numbers and because of its encapsulation by IP at the next layer down the stack, UDP, like TCP, features the essential ingredients for the formation of network sockets. The choice of which transport layer protocol is better for any given application will vary. UDP does not handshake with its destination, nor does it verify message receipt, completeness, or successful transmission. So any application for which the data payload is essential and must be delivered intact should prefer TCP. UDP, by contrast, is often selected both for real time applications (which can tolerate some packet loss) and for network management protocols that do not require acknowledgments from the receiving end.
See RFC 768.