[tor-bugs] #12131 [Analysis]: Measure connectivity patterns between relays
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue May 27 01:55:19 UTC 2014
#12131: Measure connectivity patterns between relays
----------------------+---------------------
Reporter: arma | Owner:
Type: project | Status: new
Priority: normal | Milestone:
Component: Analysis | Version:
Keywords: | Actual Points:
Parent ID: | Points:
----------------------+---------------------
https://lists.torproject.org/pipermail/tor-relays/2014-May/004598.html
makes me wonder how many relays are firewalling certain outbound ports
(and thus messing with connectivity inside the Tor network). It would be
great if somebody would start scanning pairs of relays to see which of
them can reach each other and which can't, with the goal of understanding
how far from a clique our network topology actually is, and then helping
with an awareness campaign to correct it if it's a problem.
Tools that might be helpful building blocks here:
- Meejah's exitscanner builds circuits, and makes sure it isn't building
too many at once. Uses txtorcon and thus twisted.
https://github.com/meejah/txtorcon/blob/exit_scanner/apps/exit_scanner
/guard-exit-coverage.py
- phw's exitmap does something similar, but with stem rather than
txtorcon. https://gitweb.torproject.org/user/phw/exitmap.git/tree
Other thoughts:
- You likely want to turn on FastFirstHopPK on the client, so it doesn't
waste cpu power on handshakes at the first relay.
- If you make each relay connect to 6000 other relays in succession, and
some of the relays can't handle 6000 open file descriptors at once, then
you might mistakenly misinterpret "could not extend to that relay" as a
property of the link between the relays when actually it's a property of
the first relay. One option is to scan 500 and then move on to another
first hop. Another option is to declare this a feature, and try to detect
which relays can and which can't handle 6000 open file descriptors at
once.
- n^2 where n is 5000 is actually a heck of a lot of circuits. Should you
just build circuits forever in the background, or are there some smarter
algorithms for finding interesting patterns without making all 25 million
circuits? In particular, there will be a background failure rate anyway,
from e.g. relays that happen to be overloaded at that moment. So even 25
million circuits won't be enough.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/12131>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list