diff options
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 |