TCP and UDP are both transport-layer protocols — they're how data actually gets moved between two devices once IP has figured out where it's going. The difference between them explains a surprising amount of real-world networking behavior, from why a webpage always loads completely but a video call sometimes glitches instead of freezing.
TCP: reliable, but with overhead
TCP (Transmission Control Protocol) is connection-oriented — before any actual data moves, the two devices perform a three-step handshake (SYN, SYN-ACK, ACK) to establish the connection. Once established, TCP guarantees delivery: if a packet gets lost, it's retransmitted, and packets are reassembled in the correct order on arrival.
That reliability comes at the cost of speed and overhead. TCP is the right choice when correctness matters more than raw speed — web browsing, email, file transfers, anything where a missing or corrupted piece of data would actually break the outcome.
UDP: fast, with no guarantees
UDP (User Datagram Protocol) skips the handshake and the delivery guarantees entirely. Packets are just sent — if one gets lost, nobody retransmits it, and there's no built-in mechanism to reorder anything that arrives out of sequence.
That sounds worse, but it's exactly the right trade-off for real-time traffic. In a voice or video call, a lost packet from half a second ago is worthless by the time it could be retransmitted — better to drop it and keep moving than to pause everything waiting for a guarantee nobody needs. DNS queries also use UDP, since a quick retry is cheaper than the overhead of a full TCP handshake for a single small request.
| TCP | UDP | |
|---|---|---|
| Connection | Connection-oriented (handshake required) | Connectionless |
| Delivery guarantee | Yes — lost packets are retransmitted | No — lost packets are simply gone |
| Ordering | Guaranteed | Not guaranteed |
| Speed | Slower, more overhead | Faster, minimal overhead |
| Typical uses | Web browsing, email, file transfer | VoIP, video calls, DNS, streaming, gaming |
Why this matters day to day
Understanding this distinction changes how you read symptoms. A web page that won't load at all, versus a video call with occasional glitches but no full disconnect, often points to genuinely different underlying issues — and a firewall or router that's misconfigured to block UDP traffic specifically will produce very different symptoms than one blocking TCP, even though "the network is broken" looks the same from a user's chair.
Quick diagnostic instinct
If something fails completely and cleanly, suspect TCP-based traffic being blocked. If something works but degrades — choppy audio, pixelated video, occasional dropped frames — suspect UDP-based traffic dealing with packet loss or jitter, which often points toward bandwidth congestion or Quality of Service configuration rather than an outright block.