Show simple item record

dc.contributor.authorEngler, Steven
dc.date.accessioned2020-08-10 20:22:08 (GMT)
dc.date.available2020-08-10 20:22:08 (GMT)
dc.date.issued2020-08-10
dc.date.submitted2020-08-05
dc.identifier.urihttp://hdl.handle.net/10012/16108
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.language.isoenen
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
dc.pendingfalse
uws-etd.degree.departmentDavid R. Cheriton School of Computer Scienceen
uws-etd.degree.disciplineComputer Scienceen
uws-etd.degree.grantorUniversity of Waterlooen
uws-etd.degreeMaster of Mathematicsen
uws.contributor.advisorGoldberg, Ian
uws.contributor.affiliation1Faculty of Mathematicsen
uws.published.cityWaterlooen
uws.published.countryCanadaen
uws.published.provinceOntarioen
uws.typeOfResourceTexten
uws.peerReviewStatusUnrevieweden
uws.scholarLevelGraduateen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record


UWSpace

University of Waterloo Library
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519 888 4883

All items in UWSpace are protected by copyright, with all rights reserved.

DSpace software

Service outages