TCP, QUIC, and End-to-End Transport Control
Transport Protocols in Practice
Transport-layer responsibilities
Transport protocols provide multiplexing, reliability, flow control, congestion control, and sometimes security or migration support. TCP is the classical Internet transport, while QUIC integrates transport and security in user space over UDP.
Core mechanisms
Congestion control as feedback
Congestion control is a feedback system: the sender probes available capacity, observes delay or loss, and adapts its sending rate. Stability, fairness, and responsiveness are central design goals, but they often trade off against one another.
TCP and QUIC
TCP
- Kernel-integrated on many systems
- Reliable byte stream semantics
- Widely deployed but sometimes constrained by middleboxes
QUIC
- Runs in user space over UDP
- Combines transport with TLS-based encryption
- Designed for faster evolution and reduced handshake latency
What is the main purpose of the congestion window?
The congestion window is a sender-side flow-control parameter used to avoid overwhelming the network.
Correct answer: To limit the amount of data in flight based on network conditions
Why can QUIC evolve faster than TCP in some environments?
User-space deployment and protocol design make incremental evolution easier.
Correct answer: Because QUIC is implemented in user space and encrypted, reducing dependence on kernel updates and limiting interference from middleboxes.
A transport-protocol design checklist
-
1
Define the service model: stream, datagram, or message.
-
2
Specify reliability and ordering guarantees.
-
3
Choose flow and congestion control strategies.
-
4
Account for latency, fairness, and loss recovery.
-
5
Evaluate performance under reordering, path changes, and middlebox constraints.
Important distinction
Flow control protects the receiver from overload; congestion control protects the network from overload.
Which statement is most accurate about flow control?
Flow control limits sender rate based on receiver buffering and processing capability.
Correct answer: It prevents the sender from overwhelming the receiver