[tor-dev] Updated Proposal 324: RTT-based Congestion Control for Tor
Mike Perry
mikeperry at torproject.org
Fri Jul 30 18:22:34 UTC 2021
As a heads up, I have updated Proposal 324: RTT-based Congestion Control
for Tor -
https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/proposals/324-rtt-congestion-control.txt
The updated version has a new congestion control algorithm, detailed
specifics on how to accurately measure RTT and BDP, and descriptions of
algorithm parameter values and tuning experiments, among other improvements.
A C implementation of these algorithms has been merged to tor.git
orgin/main. They live in src/core/or/congestion_control_*.[ch]. These
algorithms are not enabled yet; we still need to implement flow control
and negotiation, as well as do shadow experimentation to determine good
candidate parameter values to further tune on live.
Here is a full changelog since the proposal was last published to tor-dev:
- Correct algorithms to update once per congestion window
- Add orconn blocking and edge connection checks as signals
- Specify BDP estimators based on onion service testing and eval.
- Specify a pure BDP tracking congestion control algorithm (TOR_NOLA)
- Update consensus parameters with tuning notes
- Document what we learned so far in live onion service experimentation
- Mention that we need to test intermittent downloads in Shadow/live
- Describe clock jump and stall detection during RTT measurement
- Mention if we calculate package window, it can become negative
- Break off the backwards ECN idea into a future idea draft:
https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/proposals/ideas/xxx-backward-ecn.txt
- Update old trac URLs
- Add Acknowledgements
Review and comments are welcome!
--
Mike Perry
More information about the tor-dev
mailing list