I would either use Cubic or BBR v2 (if available)
Most congestion control/avoidance algorithms scale the TCP window based on packet loss, and some also consider latency/RTT. BBR is also rate-based, but it uses latency.
The trick with all these congestion control algorithms is to find one that scales up the TCP send window fast, even in the presence of packet loss, yet is not negatively affected by other congestion protocols used by other nodes on the network.
Some older ones are too "nice" , like TCP-Vegas (it is too quick to throttle down speed because it does it based on latency/rtt rather than packet loss). When it is in the presence of other nodes using a more aggressive algorithm that only considers packet loss, TCP-Vegas will throttle down before everyone else, slowing your connection down.
CUBIC is the newest default in later Windows 10 builds, and Linux. it works well. It is also very popular on the Internet, probably the most popular algorithm.
CTCP is a great choice as well, but no longer available in newer Linux kernels, it used to be available as a patch.
RENO and TAHOE are just ok, but they have some drawbacks and are getting old (1986).
Westwood is a newer version of RENO, it is good, especially with WiFi connections (recovers faster from congestion).
Basically all those will divide/share available bandwidth more or less equally: Reno, CUBIC, YeAH, HighSpeed, LP, Hybla
They may vary a bit on how fast they scale back up in the presence of congestion/packet loss.
BBR algorithm is very new comparatively, but it is gaining popularity and is still being developed. It follows a new trend, it uses modeling, it is rate-based, rather than just delay/loss based.
It is good, but it largely depends on how well it interacts with all those older algorithms floating around the net, and whether its implementation in Linux is good.
Also, version 1 and 2 of BBR are quite different (v2 uses loss and ECN, v1 doesn't). You can read a bit more about BBR here:
https://www.speedguide.net/articles/...omparison-7423
The good part is BBR copes well with packet loss, much better than most other algorithms.. But version 1 causes more packet retransmissions, and doesn't play fair with CUBIC.
The only way would be to test it, I haven't really used it.
Bookmarks