  Tor is the most popular anonymous communication network. It has millions of
daily users seeking privacy while browsing the internet. It has thousands of
relays to route and anonymize the source and destinations of the users packets.
To create a path, Tor authorities generate a probability distribution over
relays based on the estimates of the capacities of the relays. An incoming user
will then sample this probability distribution and choose three relays for
their paths. The estimates are based on the bandwidths of observation probes
the authority assigns to each relay in the network. Thus, in order to achieve
better load balancing between users, accurate estimates are necessary.
Unfortunately, the currently implemented estimation algorithm generate
inaccurate estimates causing the network to be under utilized and its
capacities unfairly distributed between the users paths. We propose DiProber, a
new relay capacity estimation algorithm. The algorithm proposes a new
measurement scheme in Tor consisting of two probes per relay and uses maximum
likelihood to estimate their capacities. We show that the new technique works
better in the case of under-utilized networks where users tend to have very low
demand on the Tor network.
