What is UDP?
Also known as: User Datagram Protocol
UDP is a connectionless transport protocol that sends datagrams without delivery guarantees, used by DNS, video streaming, and QUIC for low-latency communication.
UDP (User Datagram Protocol) is a transport-layer protocol defined in RFC 768 (1980). It is connectionless and message-oriented, meaning data is transmitted as discrete packets called datagrams. Unlike TCP, UDP does not establish a session or provide reliable delivery, ordering, or duplicate protection. Its header is minimal, consisting only of source port, destination port, length, and an optional checksum (required in IPv6).
Applications using UDP must handle reliability themselves. The checksum is optional in IPv4 but mandatory in IPv6. Common services include DNS queries (port 53), DHCP (ports 67/68), SNMP, VoIP, and video streaming. Notably, QUIC, the transport for HTTP/3, is built on UDP. UDP also supports broadcast and multicast transmissions, which are not possible with TCP.
UDP sits between the network layer (IP) and the application layer in the TCP/IP stack. Its low overhead and connectionless nature make it ideal for real-time applications where speed is critical and occasional packet loss is acceptable. It offers no congestion control at the transport level, so applications must implement their own mechanisms if needed.
Key facts
- Defined in RFC 768 (1980) by David P. Reed.
- Header is only 8 bytes (no options).
- No connection setup or teardown (no handshake).
- Used by DNS, DHCP, SNMP, NTP, RTSP, and QUIC.
- Supports broadcast (to all hosts) and multicast (to a group).
How it works in practice
Related terms
References
More in Web Protocols
CORS
CORS (Cross-Origin Resource Sharing) is a browser security mechanism that lets servers explicitly allow web pages from one origin to request resources from a different origin via HTTP response headers.
GraphQL
GraphQL is a query language and runtime for APIs that lets clients request exactly the data they need in a single round trip, reducing over-fetching and under-fetching.
gRPC
gRPC is a high-performance, open-source remote procedure call framework initially developed by Google. It uses HTTP/2 for transport, Protocol Buffers as its interface definition language and message serialization format, and supports bidirectional streaming.
HTTP
HTTP is a text-based request-response protocol that defines how web clients and servers exchange resources, forming the foundation of data communication on the World Wide Web.
HTTP Pipelining
HTTP Pipelining is a technique in HTTP/1.1 that sends multiple requests on a single connection without waiting for each response, now largely replaced by HTTP/2 multiplexing.
HTTP Status Code
A three-digit integer in an HTTP response that indicates the result of the server's attempt to process the request, grouped into five classes (1xx through 5xx).
HTTP/1.1
HTTP/1.1 is the persistent-connection version of the Hypertext Transfer Protocol, defined in RFC 2616 and updated by RFCs 7230-7235, enabling multiple requests and responses over a single TCP connection.
HTTP/2
HTTP/2 is a binary, multiplexed version of HTTP that reduces latency through header compression, stream prioritization, and server push, as defined in RFC 7540.
HTTP/3
HTTP/3 is the third major version of the Hypertext Transfer Protocol, which runs over QUIC instead of TCP to reduce latency, eliminate head-of-line blocking, and improve connection setup time.
HTTPS
HTTPS (HTTP Secure) is HTTP traffic encrypted inside a TLS session, protecting data confidentiality, integrity, and server authenticity between a client and a web server.