Skip to content
uencoder

CUBIC

CUBIC is the default Linux TCP congestion control algorithm; its congestion window grows as a cubic function, outperforming Reno on high-BDP networks.

Purpose

It uses bandwidth efficiently on high bandwidth-delay product (BDP) networks and has been the Linux default since 2.6.19.

Mechanism

After a loss, CUBIC records W_max; cwnd then grows along the cubic function W(t) = C(t-K)^3 + W_max, centered on W_max, first quickly and then more slowly as it approaches W_max before continuing to grow past it. Window growth is independent of RTT, which favors high speeds.

Use cases

  • Default Linux congestion control
  • High-BDP networks
  • High-speed transfers

Related tools

References