[tor-bugs] #9321 [Tor]: Load balance right when we have higher guard rotation periods

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Jul 25 12:13:42 UTC 2014


#9321: Load balance right when we have higher guard rotation periods
-------------------------+-------------------------------------------------
     Reporter:  arma     |      Owner:
         Type:  project  |     Status:  new
     Priority:  normal   |  Milestone:  Tor: 0.2.6.x-final
    Component:  Tor      |    Version:
   Resolution:           |   Keywords:  needs-proposal, tor-auth, tor-
Actual Points:           |  client, 026-triaged-1
       Points:           |  Parent ID:  #11480
-------------------------+-------------------------------------------------

Comment (by asn):

 FWIW, here is our plan from proposal 236 wrt this ticket:
 {{{
    A guard N that has been visible for V out of NNN*30*24 consensuses
    has had the opportunity to be chosen as a guard by approximately
    F = V/NNN*30*24 of the clients in the network, and the remaining
    1-F fraction of the clients have not noticed this change.  So when
    being chosen for middle or exit positions on a circuit, clients
    should treat N as if F fraction of its bandwidth is a guard
    (respectively, dual) node and (1-F) is a middle (resp, exit) node.
    Let Wpf denote the weight from the 'bandwidth-weights' line a
    client would apply to N for position p if it had the guard
    flag, Wpn the weight if it did not have the guard flag, and B the
    measured bandwidth of N in the consensus.  Then instead of choosing
    N for position p proportionally to Wpf*B or Wpn*B, clients should
    choose N proportionally to F*Wpf*B + (1-F)*Wpn*B.

    Similarly, when calculating the bandwidth-weights line as in
    section 3.8.3 of dir-spec.txt, directory authorities should treat N
    as if fraction F of its bandwidth has the guard flag and (1-F) does
    not.  So when computing the totals G,M,E,D, each relay N with guard
    visibility fraction F and bandwidth B should be added as follows:

    G' = G + F*B, if N does not have the exit flag
    M' = M + (1-F)*B, if N does not have the exit flag
    D' = D + F*B, if N has the exit flag
    E' = E + (1-F)*B, if N has the exit flag
 }}}

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/9321#comment:12>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list