TCP vs UDP
Also known as: TCP and UDP
TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) are the two main transport protocols that carry data across the internet.
TCP sets up a connection, numbers every piece of data, and resends anything lost, so web pages and emails arrive complete and in order. UDP just sends packets without waiting for confirmation, which is faster and better for live video calls, online games, and streaming where a late packet is useless anyway. While they sound technical, the choice between them explains why calls glitch while downloads simply slow down.
TCP vs UDP, explained at three levels
At home
TCP is like sending a package with tracking and signature confirmation, so nothing gets lost. UDP is like shouting across a room: fast, but if someone misses a word, you don't repeat it.
At work
Applications pick TCP when accuracy matters, like file transfers, and UDP when speed matters more, like voice calls.
At home
When a video call glitches or freezes for a moment, that's often UDP dropping late packets to stay live. When a download slows but finishes perfectly, that's TCP resending what was lost.
At work
TCP uses a three-way handshake, sequence numbers, acknowledgements, and congestion control. UDP has no handshake or retransmission, leaving applications to handle loss. Firewall rules and troubleshooting often depend on which protocol and port a service uses.
At home
Online gamers care about UDP because a few lost packets matter less than lag. In my opinion, that's why a stable connection beats a fast one for gaming.
At work
Considerations include TCP head-of-line blocking, UDP-based amplification attacks (such as DNS and NTP reflection), NAT traversal for UDP, and the growth of QUIC, which moves reliability into UDP-based protocols and changes how firewalls inspect traffic.
Real-world examples
At home
Carlos noticed that during a video call his friend's voice sometimes cut out for a split second, but a large file he was downloading at the same time finished perfectly.
At work
Nadia manages a call centre network in Moncton. Prioritizing UDP voice traffic on the office network reduced choppy calls during busy afternoons when staff uploaded large files.
How it compares
| feature | TCP | UDP |
|---|---|---|
| Connection setup | Handshake first | None |
| Lost data | Resent | Not resent |
| Order | Guaranteed | Not guaranteed |
| Typical uses | Web, email, file transfers | Voice, video calls, gaming, DNS |
TCP is reliable. UDP is fast.
For analysts
When users complain about call quality, I'd look at how the network treats UDP voice traffic. Prioritizing it is often more effective than adding bandwidth.
History & origin
Vint Cerf and Bob Kahn described the Transmission Control Program in 1974, which was later split into TCP and IP. David P. Reed designed UDP, published as RFC 768 in 1980, for applications that didn't need TCP's guarantees. TCP was published as RFC 793 in 1981, and the ARPANET switched to TCP/IP on January 1, 1983. Van Jacobson's congestion control algorithms, introduced after internet slowdowns in 1986, kept TCP from overwhelming networks. Later, Google's QUIC built reliability on top of UDP, becoming the basis of HTTP/3. In my view, the TCP and UDP split is one of the most elegant design decisions in computing, letting each application choose reliability or speed.