[or-cvs] Add a temporary section to dir-spec reflecting what we actu...

Nick Mathewson nickm at seul.org
Tue Sep 20 19:31:36 UTC 2005


Update of /home/or/cvsroot/tor/doc
In directory moria:/tmp/cvs-serv1804

Modified Files:
	dir-spec.txt 
Log Message:
Add a temporary section to dir-spec reflecting what we actually do now.

Index: dir-spec.txt
===================================================================
RCS file: /home/or/cvsroot/tor/doc/dir-spec.txt,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- dir-spec.txt	20 Sep 2005 03:40:38 -0000	1.19
+++ dir-spec.txt	20 Sep 2005 19:31:34 -0000	1.20
@@ -270,6 +270,70 @@
       It uses the last-mapped identity value, unless all of the "binding"
       network status documents bind the name to some other identity.
 
+5.3. Notes on what we do now.
+
+   THIS SECTION SHOULD BE FOLDED INTO THE EARLIER SECTIONS; THEY ARE WRONG;
+   THIS IS RIGHT.
+
+   All downloaded networkstatuses are discarded once they are 10 days old (by
+   published date).
+
+   Authdirs download each others' networkstatus every
+   AUTHORITY_NS_CACHE_INTERVAL minutes (currently 10).
+
+   Directory caches download authorities' networkstatus every
+   NONAUTHORITY_NS_CACHE_INTERVAL minutes (currently 10).
+
+   Clients always try to replace any networkstatus received over
+   NETWORKSTATUS_MAX_VALIDITY ago (currently 2 days). Also, when the most
+   recently received networkstatus is more than
+   NETWORKSTATUS_CLIENT_DL_INTERVAL (30 minutes) old, and we do not have any
+   open directory connections fetching a networkstatus, clients try to
+   download the networkstatus on their list after the most recently received
+   networkstatus, skipping failed networkstatuses.  A networkstatus is
+   "failed" if NETWORKSTATUS_N_ALLOWABLE_FAILURES (3) attempts in a row have
+   all failed.
+
+   We do not update router statuses if we have less than half of the
+   networkstatuses.
+
+   A networkstatus is "live" if it is the most recent we have received signed
+   by a given trusted authority.
+
+   A networkstatus is "recent" if it is "live" and:
+       - it was received in the last DEFAULT_RUNNING_INTERVAL (currently 60
+         minutes)
+   OR  - it was one of the MIN_TO_INFLUENCE_RUNNING (3) most recently received
+         networkstatuses.
+
+   Authorities always believe their own opinion as to a router's status.  For
+   other tors:
+     - a router is valid if more than half of the live networkstatuses think
+       it's valid.
+     - a router is named if more than half of the live networkstatuses from
+       naming authorities think it's named, and they all think it has the
+       same name.
+     - a router is running if more than half of the recent networkstatuses
+       think it's running.
+
+   Everyone downloads router descriptors as follows:
+
+     - If any networkstatus lists a more recently published routerdesc with a
+       different descriptor digest, and no more than
+       MAX_ROUTERDESC_DOWNLOAD_FAILURES attempts to retrieve that routerdesc
+       have failed, then that routerdesc is "downloadable".
+
+     - Every DirFetchInterval, or whenever a request for routerdescs returns
+       no routerdescs, we launch a set of requests for all downloadable
+       routerdescs.  We divide the downloadable routerdescs into groups of no
+       more than DL_PER_REQUEST, and send a request for each group to
+       directory servers chosen independently.
+
+     - We also launch a request as above when a request for routerdescs
+       fails and we have no directory connections fetching routerdescs.
+
+
+
 6. Remaining issues
 
    Client-knowledge partitioning is worrisome.  Most versions of this don't



More information about the tor-commits mailing list