Who Designed the UDP Protocol?
This article explores the origin of the User Datagram Protocol (UDP), highlighting the computer scientist who created it, the historical context of its development, and why its lightweight architecture remains a foundational pillar of modern computer networking.
The Creator of UDP
The User Datagram Protocol was originally designed by American computer scientist David P. Reed in 1980. Reed officially documented the protocol in Request for Comments (RFC) 768, published by the Internet Engineering Task Force (IETF) in August 1980.
David P. Reed was an early contributor to the development of the Internet and played a crucial role in shaping the TCP/IP protocol suite. During his work at the Massachusetts Institute of Technology (MIT) Laboratory for Computer Science, he recognized the need for a transport-layer protocol that offered a faster, simpler alternative to the Transmission Control Protocol (TCP).
Why UDP Was Created
During the early development of ARPANET and the emerging Internet, TCP was the primary mechanism for transmitting data across networks. While TCP provided reliable, ordered, and error-checked delivery of streams, its overhead—caused by connection handshakes, acknowledgments, and retransmission of lost packets—introduced significant latency.
Reed designed UDP to address specific networking use cases where speed and low overhead were more critical than guaranteed delivery. UDP provides:
- Connectionless Communication: Data is sent without establishing a dedicated end-to-end connection, eliminating setup delays.
- Minimal Packet Overhead: UDP headers are only 8 bytes long, compared to TCP headers which start at 20 bytes.
- No Flow or Congestion Control: Packets (datagrams) are transmitted immediately without waiting for acknowledgments or throttling transmission rates.
The End-to-End Principle
Reed’s design of UDP was closely tied to his co-authorship of the “End-to-End Principle in System Design” alongside Jerome H. Saltzer and David D. Clark. This principle argued that reliability and error-checking mechanisms should be implemented at the application endpoints rather than in the intermediate network layers. UDP embodies this philosophy by leaving application-specific reliability features to the software using the protocol.
Modern Impact and Legacy
Today, David P. Reed’s design remains essential for real-time and high-speed network applications. UDP is the standard transport protocol for:
- Domain Name System (DNS): Fast, single-request query resolution.
- Voice over IP (VoIP) and Video Streaming: Real-time media where dropped packets are preferable to buffering delays.
- Online Gaming: Low-latency player state synchronization.
- Next-Generation Web Protocols: Modern protocols like HTTP/3 and QUIC build directly on top of UDP to reduce latency across the modern web.