7. Simple bandwidth scanner (sbws)

  • by Matt Traudt and juga
  • 2018
  • use threads
  • use [StemCode], Python 3

[sbwsCode], [sbwsDoc]

7.1. Initial sbws design

exit relays were helper relays: relays with high bandwidth that would allow to exit only to the Web server

  • who should own these exits?
  • extra infrastructure

7.2. Which relays are measured first

  • sbws prioritizes relays to be measured - new relays - relays not measured recently

7.3. How sbws perform measurements

  • build two hop circuits with the relay to measure and a random exit that has similar advertised bandwidth as the relay to measure
  • download a file from a Web server
  • the file size is adjusted depending on whether it takes more or less time to download the file
  • measure how long it takes
  • store the results
_images/scanner.png

7.4. sbws raw measurements compared to torflow measurements

_images/43710932-ac1eeea8-9960-11e8-9e7e-21fddff2f7a3.png _images/43710933-ac95e0bc-9960-11e8-9aaf-0bb1f83b65e2.png

7.5. How sbws aggregate the results

  • scaling
  • imitate torflow scaling

7.5.1. sbws linear scaling

Multiply each relay bandwidth by 7500/median

_images/20180901_163442.png

7.5.2. sbws scaling as torflow

Multiply each relay observed bandwidth by a ratio calculated from the measured bandwdiths

_images/20180901_164014.png

7.6. Example sbws’s bandwidth list file

aka v1.1.0 bandwidth list file [BWSPEC]

1523911758
version=1.1.0
software=sbws
software_version=0.1.0
latest_bandwidth=2018-04-16T20:49:18
file_created=2018-04-16T21:49:18
generator_started=2018-04-16T15:13:25
earliest_bandwidth=2018-04-16T15:13:26
====
bw=380 error_circ=0 error_misc=0 error_stream=1 master_key_ed25519=YaqV4vbvPYKucElk297eVdNArDz9HtIwUoIeo0+cVIpQ nick=Test node_id=$68A483E05A2ABDCA6DA5A3EF8DB5177638A27F80 rtt=380 success=1 time=2018-05-08T16:13:26
bw=189 error_circ=0 error_misc=0 error_stream=0 master_key_ed25519=a6a+dZadrQBtfSbmQkP7j2ardCmLnm5NJ4ZzkvDxbo0I nick=Test2 node_id=$96C15995F30895689291F455587BD94CA427B6FC rtt=378 success=1 time=2018-05-08T16:13:36

7.7. Dirauths’ operating system distributions

_images/Debian-OpenLogo.svg _images/OpenBSD.svg _images/Freebsd_logo.svg

7.8. sbws system packages

  • Debian package [sbwsDeb] - waiting Debian ftp master to approve it - waiting for new stem release and package update
  • OpenBSD Makefile [sbwsBSD]

7.9. sbws diagrams

Diagrams [sbwsDia]