Weaving a Faster Tor: A Multi-Threaded Relay Architecture for Improved Throughput

dc.contributor.authorEngler, Steven
dc.date.accessioned2020-08-10T20:22:08Z
dc.date.available2020-08-10T20:22:08Z
dc.date.issued2020-08-10
dc.date.submitted2020-08-05
dc.description.abstractThe Tor anonymity network has millions of daily users and thousands of volunteer-run relays, but growing it further has several research and deployment challenges. One such challenge is supporting the increase in bandwidth required by additional users joining the network. While simply adding more Tor relays to the network would increase the total available bandwidth, it requires that Tor's directory documents grow to accommodate these new relays, which in turn increases the burden on Tor clients who must download these large documents. These large directory documents are problematic for people using Tor on mobile devices or who have limited Internet access. Previous approaches to scale the Tor network require significant network-level architectural changes. In order to increase the total available network bandwidth without needing to grow Tor's directory documents or change the network architecture, this work replaces Tor's existing relay architecture with a new multi-threaded architecture. This new architecture is designed to improve the throughput of individual relays that have available network capacity and access to a multi-core processor, and parallelizes Tor's network routing and circuit handling to offload these computationally expensive operations on additional threads. As Tor's current relay architecture is unsuitable for this type of multi-threading, we examine the obstacles in adapting relays to our new multi-threaded architecture. We built an implementation of a subset of this new design on top of the standard Tor code base to demonstrate the potential throughput improvements of this architecture. Under experimental conditions, we show that the multi-threaded implementation quadruples the relay's throughput compared to the standard Tor relay implementation when using four cores of an Intel Xeon server, and triples the relay's throughput when using a $50 Raspberry Pi single-board computer.en
dc.identifier.urihttp://hdl.handle.net/10012/16108
dc.language.isoenen
dc.pendingfalse
dc.publisherUniversity of Waterlooen
dc.subjectToren
dc.subjectperformanceen
dc.subjectmulti-threadingen
dc.subjectnetwork scalingen
dc.subjectthroughputen
dc.titleWeaving a Faster Tor: A Multi-Threaded Relay Architecture for Improved Throughputen
dc.typeMaster Thesisen
uws-etd.degreeMaster of Mathematicsen
uws-etd.degree.departmentDavid R. Cheriton School of Computer Scienceen
uws-etd.degree.disciplineComputer Scienceen
uws-etd.degree.grantorUniversity of Waterlooen
uws.contributor.advisorGoldberg, Ian
uws.contributor.affiliation1Faculty of Mathematicsen
uws.peerReviewStatusUnrevieweden
uws.published.cityWaterlooen
uws.published.countryCanadaen
uws.published.provinceOntarioen
uws.scholarLevelGraduateen
uws.typeOfResourceTexten

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Engler_Steven.pdf
Size:
1.56 MB
Format:
Adobe Portable Document Format
Description:

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
6.4 KB
Format:
Item-specific license agreed upon to submission
Description: