Congestion Control: TCP CUBIC vs QUIC BBR

Compare congestion control in TCP-based protocols (CUBIC) and QUIC (BBR, pluggable algorithms). Learn how HTTP/3 enables faster, more adaptable congestion control.

Technical

Detailed Explanation

Congestion Control: TCP vs QUIC

Congestion control determines how fast a transport protocol sends data without overwhelming the network. It directly affects throughput and latency.

TCP Congestion Control

TCP's congestion control is implemented in the operating system kernel. The dominant algorithm, CUBIC, is loss-based:

  1. Sender gradually increases the sending rate (congestion window)
  2. When packet loss is detected, the window is reduced
  3. The window slowly grows again following a cubic function

CUBIC is conservative: it interprets any packet loss as network congestion and backs off. On networks where packet loss is caused by factors other than congestion (Wi-Fi interference, mobile handoffs), CUBIC unnecessarily reduces throughput.

Updating TCP congestion control is slow because it requires OS kernel updates, which are deployed infrequently and vary across platforms.

QUIC Congestion Control

QUIC implements congestion control in userspace, not the kernel. This has profound implications:

  1. Pluggable algorithms: QUIC implementations can easily swap congestion control algorithms
  2. Rapid deployment: New algorithms ship with application updates, not OS updates
  3. Per-connection tuning: Different connections can use different algorithms

BBR (Bottleneck Bandwidth and RTT)

BBR, developed by Google, is a model-based congestion control algorithm that estimates:

  • Bottleneck bandwidth: The maximum throughput the path can sustain
  • Round-trip propagation time: The minimum RTT without queuing
CUBIC: "I'll send faster until I see loss, then back off"
BBR:   "I'll estimate the actual capacity and send at that rate"

BBR achieves higher throughput on lossy networks because it does not treat random packet loss as congestion. It also reduces bufferbloat by avoiding filling network buffers.

Practical Impact

On a 100 Mbps link with 1% random loss:

  • CUBIC may achieve only 10-30 Mbps (loss triggers backoff)
  • BBR can sustain 80-95 Mbps (models actual capacity)

This difference is especially visible on long-distance connections (high bandwidth-delay product) and mobile networks.

Use Case

Infrastructure teams choosing between TCP and QUIC-based load balancers should consider congestion control. QUIC's pluggable algorithms and userspace implementation mean you can adopt the latest research without waiting for kernel updates. For CDN operators and streaming services, this flexibility translates directly to higher throughput and lower latency.

Try It — HTTP/2 vs HTTP/3 Comparison

Open full tool