TCP and UDP
TCP guarantees ordered, reliable delivery at the cost of latency; UDP delivers packets fast with no such promise.
TCP and UDP are the two transport-layer protocols nearly everything on the internet is built from, and the choice between them is a choice about which failure mode you'd rather have. TCP (Transmission Control Protocol) establishes a connection, numbers every byte, retransmits anything lost, and delivers data to the application in order — a stream abstraction that hides the packet-switched, unreliable network underneath it. UDP (User Datagram Protocol) does none of that: it fires datagrams and does not confirm they arrived, does not reorder them, and does not retry.
The handshake is the visible cost of TCP's guarantees. A connection opens with a three-way handshake (SYN, SYN-ACK, ACK) before a single byte of application data moves, and closing is similarly ceremonial. UDP has no handshake — the first packet sent is the first packet of data — which is why protocols built for speed over correctness (DNS queries, video calls, game state) often prefer it. A dropped UDP packet just doesn't arrive; nothing pauses waiting for a retransmit that reliability would demand.
This tradeoff is exactly why real-time media favors UDP: a WebRTC call would rather skip a lost audio frame than stall the whole stream waiting for TCP to retransmit it in order, since a slightly glitchy stream beats a frozen one. QUIC is the modern rebuttal to "just use TCP for reliability" — it builds TCP-like guarantees on top of UDP, per-stream instead of per-connection, to avoid one lost packet blocking unrelated data (head-of-line blocking).
Reliability is also why TCP is the wrong tool for anything latency-sensitive under packet loss: its congestion control treats loss as a signal to slow down, which is correct for bulk transfer and actively harmful for a live call.
See also5
QUIC
QUIC rebuilds reliable, multiplexed transport on top of UDP so one lost packet stops blocking unrelated streams.
Networks & Distribution5 connections
WebRTC
The browser standard for direct peer connections carrying audio, video, and arbitrary data.
Networks & Distribution12 connections
Latency and Jitter
Latency is how long a packet takes; jitter is how much that time varies — and the second often matters more.
Networks & Distribution6 connections
Port
The numeric endpoint a network service listens on, and a scarce shared resource on a developer machine.
Systems & Tooling10 connections
IPv6
IPv6 exists mainly to end address scarcity, with a large enough space that per-device NAT becomes optional.
Networks & Distribution8 connections
Linked from5
- HTTP2 and HTTP3Web Platform
Two successive rewrites of HTTP's transport layer, each solving the previous version's head-of-line blocking at a different layer.
- IPv6Networks & Distribution
IPv6 exists mainly to end address scarcity, with a large enough space that per-device NAT becomes optional.
- Latency and JitterNetworks & Distribution
Latency is how long a packet takes; jitter is how much that time varies — and the second often matters more.
- QUICNetworks & Distribution
QUIC rebuilds reliable, multiplexed transport on top of UDP so one lost packet stops blocking unrelated streams.
- WebSocketWeb Platform
A persistent, full-duplex connection between browser and server, replacing repeated request-response with an open channel.