[tor-bugs] #24499 [Core Tor]: Bandwidth determination is flawed

Tor Bug Tracker & Wiki blackhole at torproject.org
Sun Dec 3 04:14:20 UTC 2017


#24499: Bandwidth determination is flawed
------------------------------+--------------------------
     Reporter:  Hassprediger  |      Owner:  (none)
         Type:  defect        |     Status:  new
     Priority:  Medium        |  Milestone:
    Component:  Core Tor      |    Version:  Tor: 0.3.1.8
     Severity:  Normal        |   Keywords:
Actual Points:                |  Parent ID:
       Points:                |   Reviewer:
      Sponsor:                |
------------------------------+--------------------------
 I'm running a non-exit node in Australia. Please read "Australia" as a
 high latency area, that has not many other nodes around. I set
 RelayBandwidthRate to 1100, which is around 20% of my connection.

 Just like all people who start up a new node, I was wondering why the
 bandwidth was not used. Unfortunately most information, that can be found
 about the topic on the web is very outdated and does not apply to my
 situation.

 The measured bandwidth never exceeded 200 kb/s on atlas. So I decided to
 use my node as bridge and send junk traffic. Just downloading Ubnuntu and
 doing unnecessary uploades and running the CLI speedcheck script through
 the network. Now the nodes, that I am connected to, ackowledge, how much
 data can be send from/to my node and the bandwidth estimation on atlas
 suddenly goes up extremely. Beyond 500 (still not 1100 though).

 I thought I fixed it and turn my dummy-traffic-script off again. Now the
 estimation is down again, my node is mostly unused and I'll probably turn
 it off soon as it is just a waste of electricity.

 Apparently the bandwidth is measured in that useless 50-kilobytes-way,
 that the tor client does for the original setup. Well, sending 50
 kilobytes to a node and measuring the time is mostly a test of latency. So
 the test is currently faulty, it should actually send a few megabytes, or
 anything that results in a few seconds of measurement. Additionally it
 should also send 1 byte, to measure the latency and deduct it from the
 other measurement.

 Currently nodes in Australia, even if they have a high bandwidth fibre
 connection are largely disadvantaged. Only because the 'authorities' or
 the majority of the network is in Europe.

 Please don't get me wrong. I understand that a extremely high latency is
 also bad.  A 1 BGit/s connection is maybe not particularly useful if it
 has a latency of 30 seconds for each TCP packet. So latency should not go
 unnoticed. But you could at least be so kind and announce on your website,
 that nodes in Australia are not welcome and will be disadvantaged by the
 algorithm. Therefore people who live in areas like Australia (high
 bandwidth, high latency, high electricity costs) can at least be aware,
 that is is useless to run a node and they don't need to bother with it.

 Problems:
 1. The bandwidth estimation can be largely varied by sending unnecessary
 junk data over the tor network.
 2. The bandwidth estimation WILL be influenced, because the network uses
 it as a measure to determine if a node is "good" or should be used a lot.
 3. The bandwidth estimation measures latency and not bandwidth.
 4. Nodes that don't have many other nodes near, will be marked as useless,
 will go unused and therefore be turned off soon.
 5. The network will convert (or has already converted) to be concentrated
 in one location only, which is the highly connected areas in central
 Europe. The high speed nodes in North America are anyway on the ignore
 list of most people, right?

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


More information about the tor-bugs mailing list