Sponsor 55 - Increase the number of Tor network relays that support IPv6
Project Title: Improving the Tor network’s IPv6 support
Project Period: February 1st, 2020 - August 15th, 2020
The goal of this project is to improve the Tor network’s IPv6 support. Doing so will improve the network’s censorship resistance, its privacy properties, its usefulness for the technical community, its alignment with global migration towards IPv6, with benefits for more than a million Tor users in the RIPE community.
Users in the RIPE region make up more than half of all Tor users--during 2018, more than 51% of Tor’s daily users connected from a RIPE country. Conservatively, that’s more than one million average daily users. During 2018, of the top 10 countries with the largest average daily Tor user bases, seven of those countries are in the RIPE service region. Germany was the largest average daily user group last year—with 17.5% of all Tor users connecting from Germany. United Arab Emirates was third, making up 10.49% of Tor users. Russia was fourth (10.42% of Tor users), France was fifth (4.12% of Tor users), Ukraine was sixth (3.96% of Tor users), the United Kingdom was eighth (2.62% of Tor users), and the Netherlands was ninth, (2.22% of Tor users).
By the numbers, about 29% of Tor’s relay bandwidth supports IPv6--but functionally, only 20% of Tor’s available bandwidth supports IPv6. This is because some Guard relays are also Exit relays, and as such, they are only used as Exits by Tor clients. These limitations mean that even if an Exit relay supports IPv6, it doesn’t functionally increase the Tor network’s client to Guard IPv6 bandwidth.
In order to better support IPv6, we aim to increase the client to Guard relay bandwidth that supports IPv6 to 33%. Reaching this goal (and completing this project) is the first step in a longer-term effort to implement “fast fallback,” which will make sure that Tor clients first try IPv4 and then try IPv6 after a short delay, using whichever option works.
To increase the functional relay bandwidth that supports IPv6, we need to improve the way we handle configuration for dual stack Tor relays (relays that support both IPv4 and IPv6). As it stands, dual stack relays require some manual configuration, which can be a setup barrier for relay operators. Automating relay IPv6 address discovery and reachability checks will help operators to run more dual stack relays more easily and, over time, increase the number of relays that support IPv6.
#33048 (closed) O1.1 - Propose and implement IPv6 ORPort reachability checks on relays
#33049 (closed) O1.2 - Make relays figure out their own IPv6 address
chutney#33050 (closed) O1.3 - Integration test Tor relays over IPv6 using chutney
#33051 (closed) O1.4 - Measure the number of Tor relays that support IPv6 reachability checks
#33052 (closed) O1.5 - Measure the number of connections, and consumed bandwidth, using IPv4 and IPv6