2007-01-26 19:47:18 +01:00
|
|
|
Filename: 104-short-descriptors.txt
|
2007-02-10 22:38:31 +01:00
|
|
|
Title: Long and Short Router Descriptors
|
2007-01-26 19:47:18 +01:00
|
|
|
Version: $Revision$
|
|
|
|
Last-Modified: $Date$
|
|
|
|
Author: Nick Mathewson
|
|
|
|
Created:
|
2007-01-30 08:50:01 +01:00
|
|
|
Status: Open
|
2007-01-26 07:08:05 +01:00
|
|
|
|
2007-01-26 20:04:43 +01:00
|
|
|
Overview:
|
|
|
|
|
|
|
|
This document proposes moving unused-by-clients information from regular
|
|
|
|
router descriptors into a special "long form" router descriptor.
|
|
|
|
|
|
|
|
It presents options; it is not yet a complete proposal.
|
|
|
|
|
|
|
|
Proposal:
|
|
|
|
|
2007-01-26 07:08:05 +01:00
|
|
|
Some of the costliest fields in the current directory protocol are ones
|
|
|
|
that no client actually uses. In particular, the "read-history" and
|
|
|
|
"write-history" fields are used only by the authorities for monitoring the
|
|
|
|
status of the network. If we took them out, the size of a compressed list
|
|
|
|
of all the routers would fall by about 60%. (No other disposable field
|
|
|
|
would save more than 2%.)
|
|
|
|
|
|
|
|
One possible solution here is that routers should generate and upload a
|
|
|
|
short-form and long-form descriptor. Only the short-form descriptor should
|
|
|
|
ever be used by anybody for routing. The long-form descriptor should be
|
2007-02-21 00:22:27 +01:00
|
|
|
used only for analytics and other tools. (If we allowed people to route
|
|
|
|
with long descriptors, we'd have to ensure that they stayed in sync with
|
|
|
|
the short ones somehow. So let's not do that.) We can ensure that the
|
|
|
|
short descriptors are used by only recommending those in the network
|
|
|
|
statuses.
|
2007-01-26 07:08:05 +01:00
|
|
|
|
|
|
|
Another possible solution would be to drop these fields from descriptors,
|
|
|
|
and have them uploaded as a part of a separate "bandwidth report" to the
|
|
|
|
authorities. This could help prevent the mistake of using long descriptors
|
|
|
|
in the place of short ones.
|
|
|
|
|
|
|
|
Thoughts? -NM
|
|
|
|
|
|
|
|
Migration:
|
|
|
|
|
|
|
|
For long/short descriptors:
|
2007-02-21 00:22:27 +01:00
|
|
|
* In 0.1.2.x:
|
|
|
|
* Add a "long version" URL that tools can start using now. Need to
|
|
|
|
design it first.
|
|
|
|
|
2007-01-26 07:08:05 +01:00
|
|
|
* In 0.1.2.x:
|
|
|
|
* Authorities should accept both, now, and silently drop short
|
|
|
|
descriptors.
|
|
|
|
* Routers should upload both once authorities accept them.
|
|
|
|
* There should be a "long descriptor" url and the current "normal" URL.
|
|
|
|
Authorities should serve long descriptors from both URLs.
|
|
|
|
* Once tools that want long descriptors support fetching them from the
|
|
|
|
"long descriptor" URL:
|
|
|
|
* Have authorities remember short descriptors, and serve them from the
|
|
|
|
'normal' URL.
|
|
|
|
|
|
|
|
|