[torspec/master] Toke Høiland-Jørgensen recommends using INTERVAL for ECN.

nickm at torproject.org nickm at torproject.org
Tue Jul 21 18:09:20 UTC 2020


commit 52eebf04ce6bd828e9535e1759a18bd3c3caa3e6
Author: Mike Perry <mikeperry-git at torproject.org>
Date:   Tue Jul 21 12:22:17 2020 -0500

    Toke Høiland-Jørgensen recommends using INTERVAL for ECN.
    
    Otherwise he suspsects that circuits will exit slow start too early.
---
 proposals/324-rtt-congestion-control.txt | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/proposals/324-rtt-congestion-control.txt b/proposals/324-rtt-congestion-control.txt
index b96c2f7..eede20b 100644
--- a/proposals/324-rtt-congestion-control.txt
+++ b/proposals/324-rtt-congestion-control.txt
@@ -192,12 +192,18 @@ outbuf.
 
 The duration of total circuitmux queue time for each cell will be
 compared a consensus parameter 'min_queue_target', which is set to 5% of
-min network RTT. (This mirrors the CoDel parameter of the same name).
-
-As soon as a cell of a circuit spends more than this time in queues, a
-per-circuit flag 'ecn_exit_slow_start' will be set to 1. As soon as a
-cell is available in the opposite direction on that circuit, the relay
-will flip the cell_t.command of from CELL_COMMAND_RELAY to
+min network RTT. (This mirrors the CoDel TARGET parameter).
+
+Additionally, an inspection INTERVAL parameter 'queue_interval' governs
+how long queue lengths must exceed 'min_queue_target' before a circuit
+is declared congested. This mirrors the CoDel INTERVAL parameter, and it
+should default to approximately 50-100% of average network RTT.
+
+As soon as the cells of a circuit spend more than 'min_queue_target'
+time in queues for at least 'queue_interval' amount of time, per-circuit
+flag 'ecn_exit_slow_start' will be set to 1. As soon as a cell is
+available in the opposite direction on that circuit, the relay will flip
+the cell_t.command of from CELL_COMMAND_RELAY to
 CELL_COMMAND_RELAY_CONGESTION. (We must wait for a cell in the opposite
 direction because that is the sender that caused the congestion).
 
@@ -849,6 +855,13 @@ important to tune first):
     - Range: [1, 10000]
     - Default: 10
 
+  queue_interval:
+    - Description: How long in milliseconds must cells exceed
+      'min_queue_target' queue delay before we actually send a
+      congestion signal?
+    - Range: [1, 10000]
+    - Default: 200
+
   xoff_client
   xoff_mobile
   xoff_exit
@@ -1122,4 +1135,3 @@ per circuit, at most.
 
 25. Tor Performance Metrics for Live Network Tuning
     https://trac.torproject.org/projects/tor/wiki/org/roadmaps/CoreTor/PerformanceMetrics
-





More information about the tor-commits mailing list