[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: proposal 141: download server descriptors on demand



On Tue, 15 Jul 2008, Nick Mathewson wrote:

> On Fri, Jul 11, 2008 at 08:22:55PM +0200, Peter Palfrader wrote:
> > On Mon, 16 Jun 2008, Nick Mathewson wrote:
> 
>      [The proposal sayeth:]
> > > > 3.1 Load balancing info in consensus documents
> > > > 
> > > >   One of the reasons why clients download all server descriptors is for
> > > >   doing load proper load balancing as described in 2.1.  In order for
> > > >   clients to not require all server descriptors this information will
> > > >   have to move into the network status document.
> > > > 
> > > >   [XXX Two open questions here:
> > > >    a) how do we arrive at a consensus weight?
> > > 
> > > Perhaps the vote could contain the node's bandwidth, and this could be
> > > used to calculate the weights?  It's necessary that the consensus
> > > remain a deterministic function of the votes.
> > 
> > That's one approach.  It means however that when we want to tweak the
> > weighting algorithm we have to introduce new consensus methods.
> >
> > The other approach is that every voter assigns weights for each of the
> > purposes (Exit, Guard, ..) so that their total sum is some constant X.
> > When building a consensus we take the median for each purpose for each
> > router.
> 
> That latter appraoch seems so reasonable that I can't reconstruct why
> I suggested anything else.
> 
> If there are an even number of votes, we need to specify that we mean
> the low median.

Roger raised a good point on IRC.  Having highly fluctuating numbers in
the consensus will make diffs [proposal 140] less useful.  So maybe
use the bandwidth number(s) after all?

> > We could fall back to BEGIN_DIR, but that only helps when B is a
> > directory cache.
> > 
> > One approach is to introduce server support first, and wait with client
> > use until a significant part of the network is supporting it.  Unless we
> > can come up with something smarter.
> 
> This seems fine for now, unless (as you say) we come up with something
> smarter.

Once the network has a sufficient number of routers supporting even a
few circuits of this new type we can always anonymously go to directory
servers and selectively pull descriptors from it.  We might have to be
careful to not announce to it that "hey, I'm building a circuit from A
to B to C" by fetching those 3 SDs.  Or maybe it doesn't matter much
since at least B already knows that somebody does this.

-- 
                           |  .''`.  ** Debian GNU/Linux **
      Peter Palfrader      | : :' :      The  universal
 http://www.palfrader.org/ | `. `'      Operating System
                           |   `-    http://www.debian.org/