[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [torspec/master] bandwidth: edit bandwidth URL dir-spec and proposal
commit d29d9ada0bf86167edc647285534b8d75890a593
Author: teor <teor2345@xxxxxxxxx>
Date: Mon Jul 16 10:16:18 2018 +1000
bandwidth: edit bandwidth URL dir-spec and proposal
* dir-spec: don't post bandwidth files to other authorities
* dir-spec: add URL for current bandwidth file
* dir-spec: clean up the consensus and vote "current" publication schedule
Closes ticket #21377.
---
dir-spec.txt | 26 +++++++-------
...th_votes.txt => xxx-expose-bandwidth-files.txt} | 41 ++++++++++++++--------
2 files changed, 39 insertions(+), 28 deletions(-)
diff --git a/dir-spec.txt b/dir-spec.txt
index 388ad04..df74ca8 100644
--- a/dir-spec.txt
+++ b/dir-spec.txt
@@ -2607,19 +2607,19 @@
http://<hostname>/tor/status-vote/next/bandwidth.z
at the start of each voting period.
+
+ It MUST NOT attempt to send its bandwidth list file in a HTTP POST to
+ other authorities and it SHOULD NOT make bandwidth list files from other
+ authorities available.
+
If an authority makes this file available, it MUST be the bandwidth file
used to create the vote document available at
http://<hostname>/tor/status-vote/next/authority.z
- Once the voting period starts, the bandwidth list file SHOULD be available
- at
+ The bandwidth list format is described in bandwidth-file-spec.txt.
- http://<hostname>/tor/status-vote/next/bandwidth.z
-
- The bandwidth list file is described in bandwidth-file-spec.txt.
-
- First-appeared in Tor 0.3.5.
+ The standard URLs for bandwidth list files first-appeared in Tor 0.3.5.
3.5. Downloading missing certificates from other directory authorities
@@ -3343,16 +3343,14 @@
3.11. Publishing the signed consensus
- Once there are enough signatures, or once the voting period starts,
- these documents are available at
+ The voting period ends at the valid-after time. If the consensus has
+ been signed by a majority of authorities, these documents are made
+ available at
http://<hostname>/tor/status-vote/current/consensus.z
and
http://<hostname>/tor/status-vote/current/consensus-signatures.z
[XXX current/consensus-signatures is not currently implemented, as it
is not used in the voting protocol.]
- [XXX It's actually false that the first document is available as soon
- as there are enough signatures. It's only available as soon as the
- voting period starts. -KL]
[XXX possible future features include support for downloading old
consensuses.]
@@ -3361,13 +3359,15 @@
http://<hostname>/tor/status-vote/current/authority.z
http://<hostname>/tor/status-vote/current/<fp>.z
http://<hostname>/tor/status-vote/current/d/<d>.z
- once the consensus is complete.
+ http://<hostname>/tor/status-vote/current/bandwidth.z
+ once the voting period ends, regardless of the number of signatures.
The authorities serve another consensus of each flavor "F" from the
locations
/tor/status-vote/(current|next)/consensus-F.z. and
/tor/status-vote/(current|next)/consensus-F/<FP1>+....z.
+ The standard URLs for bandwidth list files first-appeared in Tor 0.3.5.
4. Directory cache operation
diff --git a/proposals/xxx-expose-bwauth_votes.txt b/proposals/xxx-expose-bandwidth-files.txt
similarity index 64%
rename from proposals/xxx-expose-bwauth_votes.txt
rename to proposals/xxx-expose-bandwidth-files.txt
index 93a6f1a..12abe0e 100644
--- a/proposals/xxx-expose-bwauth_votes.txt
+++ b/proposals/xxx-expose-bandwidth-files.txt
@@ -1,5 +1,5 @@
-Filename: xxx-expose-bwauth_votes.txt
-Title: Have Directory Authorities expose raw bandwidth list file documents
+Filename: xxx-expose-bandwidth-files.txt
+Title: Have Directory Authorities expose raw bandwidth list files
Author: Tom Ritter
Created: 11-December-2017
Status: Open
@@ -8,10 +8,10 @@ Ticket: https://trac.torproject.org/projects/tor/ticket/21377
1. Introduction
Bandwidth Authorities (bwauths) perform scanning of the Tor Network
-and calculate observed speeds for each relay. They produce a bandwidth
+and calculate observed bandwidths for each relay. They produce a bandwidth
list file that is given to a Directory Authority. The Directory
-Authority uses the speed value from this file in its vote file
-denoting its view of the speed of the relay.
+Authority uses the bw (bandwidth) value from this file in its vote file
+denoting its view of the bandwidth of the relay.
After collecting all of the votes from other Authorities, a consensus
is calculated, and the consensus's view of a relay's speed is
@@ -23,16 +23,21 @@ Directory Authority's vote, however the original file contains
considerably more diagnostic information about how the bwauth arrives
at that measurement for that relay.
+For more details, see the bandwidth list file specification in
+bandwidth-file-spec.txt.
+
2. Motivation
The bandwidth list file contains more information than is exposed in the
-overall vote file. This information is useful to debug anomalies in
-relays' utilization and suspected bugs in the (decrepit) bwauth code.
+overall vote file. This information is useful to debug:
+ * anomalies in relays' utilization,
+ * suspected bugs in the (decrepit) bwauth code, and
+ * the transition to a replacement bwauth implementation.
Currently, all bwauths expose the bandwidth list file through various (non-
standard) means, and that file is downloaded (hourly) by a single person
(as long as his home internet connection and home server is working)
-and archived (with a small amount of robustness.)
+and archived (with a small amount of robustness.)
It would be preferable to have this exposed in a standard manner.
Doing so would no longer require bwauths to run HTTP servers to expose
@@ -43,19 +48,25 @@ parties. We hope that Collector will begin archiving the files.
3. Specification
An authority SHOULD publish the bandwidth list file used to calculate its
-current vote. It SHOULD make the bandwidth list file available at all
-times, and provide the file that it has most recently used for its
-vote (even if the vote is not currently published.) It SHOULD make
-the file available at
+next vote. It SHOULD make the bandwidth list file available whenever the
+corresponding vote is available, at the corresponding URL. (See
+dir-spec for the exact details.)
+
+It SHOULD make the file available at
http://<hostname>/tor/status-vote/next/bandwidth.z
+ http://<hostname>/tor/status-vote/current/bandwidth.z
It MUST NOT attempt to send its bandwidth list file in a HTTP POST to
other authorities and it SHOULD NOT make bandwidth list files from other
authorities available.
-Clients interested in consuming the document should download it when
-votes are created. (For the existing Tor network, this is at HH:50,
-or 50 minutes after each hour.)
+Clients interested in consuming these documents should download them from
+each authority's:
+ * next URL when votes are created. (In the public Tor network, this is
+ after HH:50 during normal operation, and after HH:20 during a
+ consensus failure.)
+ * current URL after the valid-after time in the consensus.
+ (After HH:00, and HH:30 during consensus failure.)
4. Security Implications
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits