User Datagram Protocol Definition

User datagram protocol (UDP), one of the core protocols of the Internet protocol suite, is a connectionless, transport layer protocol that exchanges packets with minimal error recovery services and without guaranteed delivery or acknowledgment.

A protocol is an agreed-upon format for doing something. The Internet protocol suite, also commonly called TCP/IP, is the set of communications protocols on which the Internet and most other modern computer networks are based. Connectionless means that the sender receives no acknowledgment from the intended recipient that it will receive or is receiving the transmission. Packets, also called datagrams, are the fundamental unit of information transport in all modern computer networks, and increasingly in other communications networks as well.

The transport layer is the middle (i.e., fourth) layer in the OSI (Open Systems Interconnection) seven layer reference model. The most important transport layer protocol is TCP (transmission control protocol), which provides a virtually error-free point-to-point connection that allows packets to arrive at their intended destinations uncorrupted and in the correct order.

UDP does not provide the reliability and ordering guarantees that TCP does. Rather, it is as unreliable as the underlying IP (Internet protocol), with the exception that it attaches a checksum field to control the transferred data integrity, and thus packets can arrive out of sequence, go missing without notice or even arrive in duplicate due to software errors along the way. Any error checking and retransmission is handled by other protocols.

The low overhead (i.e., low amount of traffic and small additions to packet headers) that results from this connectionless and minimal error checking makes UDP faster and more efficient than TCP for many lightweight or time-sensitive purposes. Although its share of total data traffic on any network is typically very small at only a few percent, it is thus used by a number of common applications, particularly for servers that answer small queries for huge numbers of clients and for time-sensitive applications in which a loss of a small percentage of packets is tolerable.

Major applications include broadcasting messages over a network, DHCP (dynamic host configuration protocol), DNS (domain name system), online games, RIP (routing information protocol), SNMP (simple network management protocol), streaming media and VoIP (voice over IP).

Created October 12, 2005. Updated July 2, 2006.
Copyright © 2005 - 2006 The Linux Information Project. All Rights Reserved.