[tor-relays] TCP CCA for Tor Relays (and especially Bridges)

Roman Mamedov rm at romanrm.net
Fri Jan 10 22:36:50 UTC 2020

On Fri, 10 Jan 2020 16:24:56 +0000
Matt Corallo <tor-lists at mattcorallo.com> wrote:

> Cool! What did your testing rig look like?

A few years ago I've got a dedicated server from one of these cheap French
hosts, which appeared to have a congested uplink (low-ish upload speeds).
Since the support was not able to solve this, but the server was very cheap to
cancel just over that, I looked for ways to utilize it better even despite the

If I remember correctly, I also had a Japanese VPS at the time, so my tests
were intentionally for a "difficult" case, uploading from France to Japan
(with 250+ms ping).

Here are my completely unscientific scribbles of how all the various
algorithms behaved. The scenario is uploading for a minute or so, observing
the speed in MB/sec visually, then recording how it appeared to change during
that minute (and then repeating this a couple of times to be certain).

tcp_bic.ko       -- 6...5...4
tcp_highspeed.ko -- 2
tcp_htcp.ko      -- 1.5...3...2
tcp_hybla.ko     -- 3...2...1
tcp_illinois.ko  -- 6...7...10
tcp_lp.ko        -- 2...1
tcp_scalable.ko  -- 5...4...3
tcp_vegas.ko     -- 2.5
tcp_veno.ko      -- 2.5
tcp_westwood.ko  -- <1
tcp_yeah.ko      -- 2...5...6

This was on the 3.14 kernel which did not have BBR yet to compare. In later
comparisons, as mentioned before, it is on par or better than Illinois.

> I suppose the real question is what does the latency/loss profile of the
> average Tor (bridge) user look like?

I think the real question is, is there any reason to *not* use BBR or that
Illinois. So far I do not see a single one.

With respect,

More information about the tor-relays mailing list