TCP vs UDP Throughput on High-Latency Links
On high-bandwidth, high-latency networks—often referred to as Long Fat Networks (LFNs)—UDP consistently achieves higher raw throughput than standard TCP. While TCP is constrained by connection handshakes, round-trip acknowledgment delays, and aggressive congestion control algorithms, UDP transmits data continuously at the application’s target rate without waiting for round-trip feedback. As latency increases, TCP throughput degrades significantly unless heavily tuned, while UDP throughput remains stable regardless of distance or latency.
Understanding the Bandwidth-Delay Product (BDP)
The primary metric governing high-bandwidth, high-latency links is the Bandwidth-Delay Product (BDP). BDP measures the maximum amount of unacknowledged data that can be in transit across the link at any given moment:
\[\text{BDP} = \text{Bandwidth (bits/sec)} \times \text{Round-Trip Time (RTT in seconds)}\]
On a 10 Gbps transcontinental link with a 100 ms RTT, the BDP is 125 Megabytes. To fully saturate this link, a transport protocol must keep 125 MB of data continuously in flight.
Why TCP Underperforms on High-BDP Links
Standard TCP throughput struggles on high-BDP links due to several built-in mechanisms:
- Slow Start and Latency-Bound Ramp-Up: TCP begins transmission conservatively and gradually increases its Congestion Window (cwnd) based on received Acknowledgments (ACKs). High RTT means ACKs return slowly, causing TCP to take minutes to reach full link capacity.
- Aggressive Penalty on Packet Loss: Traditional TCP congestion control algorithms (like Cubic or Reno) interpret single packet drops as network congestion. When a drop occurs, TCP cuts its congestion window in half, resulting in a catastrophic drop in throughput that takes a long time to recover over high RTT.
- Window Size Limits: Without TCP Window Scaling enabled and appropriately sized socket buffers (often tens or hundreds of megabytes), TCP cannot open a window large enough to match the BDP.
Even with modern congestion algorithms like BBR (Bottleneck Bandwidth and RTT), TCP is inherently throttled by the time required to detect and adapt to network state changes over long round trips.
Why UDP Delivers Maximum Throughput
UDP operates without state, connection handshakes, or built-in flow control. Its throughput characteristics on high-BDP links provide distinct advantages:
- Zero Round-Trip Penalties: UDP does not wait for ACKs. It pushes packets onto the wire as fast as the network interface card (NIC) and local operating system permit.
- Immunity to Latency-Induced Throttling: Because UDP has no congestion window, high latency does not reduce transmission speed. A 10 Gbps stream over a 200 ms link sends data at the same rate as over a 2 ms link.
- Tolerance to Loss: Single packet drops have zero effect on UDP transmission rates. The sender continues transmitting at line rate unless an application-layer mechanism instructs it to slow down.
Summary Comparison
| Feature | TCP on High-BDP Links | UDP on High-BDP Links |
|---|---|---|
| Throughput Potential | Limited by RTT, loss, and buffer size | Maximizes line rate regardless of RTT |
| Reaction to Packet Loss | Slashes transmission rate | No change in transmission rate |
| Reliability | Guaranteed in-order delivery | Best-effort (packets may drop or arrive out of order) |
| Overhead | High (ACKs, retransmissions, state tracking) | Minimal (8-byte header, no state) |
The Practical Trade-Off
While UDP wins decisively in raw throughput across high-latency links, it lacks inherent reliability and packet ordering. For this reason, high-speed data transfer solutions—such as enterprise file acceleration tools and modern protocols like QUIC—use UDP as the underlying transport layer while implementing custom, selective-repeat reliability mechanisms in user space to achieve maximum throughput without sacrificing data integrity.