What Are TCP Congestion Control Algorithms and Which One Should You Use?
A quick guide to Vegas, Reno, and Cubic (TCP) congestion control algorithms and how to pick the best one for your Ethernet network.
The V-Test and V-Perf TCP tests include a configuration field called Congestion Control Algorithm. This setting defines how a TCP connection sends traffic, how quickly it increases speed, how it reacts to packet loss and how it stabilizes under load. This directly affects the results technicians see during throughput tests including V-Test (Ookla® Speedtest®) and V-Perf (RFC6349).
Why Congestion Control Matters in Speed Tests?
TCP always tries to find a balance between sending more data and not overwhelming the network. When the network path is clear, TCP increases the sending rate. When congestion or delay appears, it slows down. Each algorithm interprets these signals in its own way. The result is that throughput and stability can differ across tests even on the same physical path.
Common Congestion Control Algorithms
Reno
Reno is an older and more conservative congestion control algorithms. It reacts mainly to packet loss. When packets start to drop, Reno reduces its sending rate, then slowly increases it back again. This makes it useful when you want to observe how the network responds under mild stress or where some packet loss is expected. It speeds up more slowly than newer algorithms and it does not use all the available speed right away.
Vegas
Vegas focuses on delay instead of packet loss. It tries to detect early signs of congestion by watching how the round trip time (RTT) changes. When the delay grows, Vegas reduces the sending rate before packets are dropped. This creates smooth and predictable throughput, which is especially useful in controlled environments, when jitter must be minimized or when buffer sizes are limited. Vegas tends to show lower peal throughput because it backs off early, but it gives very good visibility into delay-based congestion.
Cubic
Cubic is the most common default algorithm in modern operating systems and devices. It increases the sending rate aggressively to fill the channel quickly, which leads to higher peak performance, especially on high speed and long distance links. For most real-world broadband and multi-gigabit networks, Cubic is usually the fastest option. It reacts quickly, ramps up fast and often reaches the highest throughput in real world tests.
Which Algorithm Should You Use?
- Use Reno when you want stable and predicatble behavior, when the network may have some packet loss, or when you need compatibility with older devices.
- Use Vegas when you need stable delay and jitter rather than maximum speed, for example for voice, video, or other tasks where smooth traffic is more important than peak throughput.
- Use Cubic when you want the highest throughput, when you test high speed or multi-gigabit links, or when you want results that match modern device behavior, even if it reacts less gently to sudden delay or jitter.
| Metric/Condition | Reno | Vegas | Cubic |
| High Latency (RTT) | Good | OK | Best |
| Low Latency (RTT) | OK | Best | Good |
| High Jitter | OK | Best | Good |
| Low Jitter | OK | Good | Best |
| Packet Loss Tolerance | Best | OK | Good |
| Smooth Throughput | OK |
Best | Good |