diff options
author | Nick Mathewson <nickm@torproject.org> | 2023-10-14 19:14:57 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2023-10-14 19:14:57 -0400 |
commit | 646fef090ac364bd16701a6f00da0670bd7045ed (patch) | |
tree | 730f921933ad2652c9349af551b07fcd42f5a5a2 /spec/path-spec/learning-timeouts.md | |
parent | 4ebef6db0a7c4acddba4192f836592cfe8f421ee (diff) | |
download | torspec-646fef090ac364bd16701a6f00da0670bd7045ed.tar.gz torspec-646fef090ac364bd16701a6f00da0670bd7045ed.zip |
Enforce the rule that every md has a toplevel (\#) section.
Diffstat (limited to 'spec/path-spec/learning-timeouts.md')
-rw-r--r-- | spec/path-spec/learning-timeouts.md | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/spec/path-spec/learning-timeouts.md b/spec/path-spec/learning-timeouts.md index e53ab66..3685274 100644 --- a/spec/path-spec/learning-timeouts.md +++ b/spec/path-spec/learning-timeouts.md @@ -1,13 +1,13 @@ <a id="path-spec.txt-2.4"></a> -## Learning when to give up ("timeout") on circuit construction {#timing-out} +# Learning when to give up ("timeout") on circuit construction {#timing-out} Since version 0.2.2.8-alpha, Tor clients attempt to learn when to give up on circuits based on network conditions. <a id="path-spec.txt-2.4.1"></a> -### Distribution choice +## Distribution choice Based on studies of build times, we found that the distribution of circuit build times appears to be a Frechet distribution (and a multi-modal @@ -19,7 +19,7 @@ distribution with a single Pareto curve. <a id="path-spec.txt-2.4.2"></a> -### How much data to record {#observations} +## How much data to record {#observations} From our observations, the minimum number of circuit build times for a reasonable fit appears to be on the order of 100. However, to keep a @@ -48,7 +48,7 @@ that build time binning is still needed for parameter estimation. <a id="path-spec.txt-2.4.3"></a> -### Parameter estimation +## Parameter estimation Once 'cbtmincircs' build times are recorded, Tor clients update the distribution parameters and recompute the timeout every circuit completion @@ -122,7 +122,7 @@ but at least 60 seconds: <a id="path-spec.txt-2.4.3"></a> -### Calculating timeouts thresholds for circuits of different lengths {#different-lengths} +## Calculating timeouts thresholds for circuits of different lengths {#different-lengths} The timeout_ms and close_ms estimates above are good only for 3-hop circuits, since only 3-hop circuits are recorded in the list of build @@ -145,7 +145,7 @@ required with the Xth hop. <a id="path-spec.txt-2.4.4"></a> -### How to record timeouts {#recording-timeouts} +## How to record timeouts {#recording-timeouts} Pareto estimators begin to lose their accuracy if the tail is omitted. Hence, Tor clients actually calculate two timeouts: a usage timeout, and a @@ -166,7 +166,7 @@ offline. <a id="path-spec.txt-2.4.5"></a> -### Detecting Changing Network Conditions {#changes-in-network} +## Detecting Changing Network Conditions {#changes-in-network} Tor clients attempt to detect both network connectivity loss and drastic changes in the timeout characteristics. @@ -187,7 +187,7 @@ we start with a new, empty state. <a id="path-spec.txt-2.4.6"></a> -### Consensus parameters governing behavior {#parameters} +## Consensus parameters governing behavior {#parameters} Clients that implement circuit build timeout learning should obey the following consensus parameters that govern behavior, in order to allow |