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.
In order to better support IPv6, we aim to increase the client to Guard relay bandwidth that supports IPv6 to 33%.
Great goal! One of the steps that will help the network health team help us get there is if we have a way to visualize progress. Like, a graph on the metrics site, or even a graph off to the side of the metrics site if they are too worried about having to maintain it forever, and maybe it only needs to be updated once a day if that's easier, where anybody can check what number we're at today.
Then it becomes an advocacy thing where we can cheer ourselves on for making progress, and point relay operators to so they can see the impact of their changes.
teor has identified some great technical improvements that will make it easier for relay operators to help out here, and we should definitely do those in order to make this change sustainable. But doing the visualization in parallel, so we can see our progress, would be swell.
Having the automation of a graph over time also lets anybody notice, even after we close this ticket as completed, that the number has mysteriously dropped and needs to be looked into.
Gaba, is this something you can bring to the metrics team? Especially if teor gives them a script that takes in a consensus and outputs a fraction?
the grant uses Guard-but-not-Exit IPv6 consensus weight fraction
Since exit bandwidth is scarce in the tor network, tor clients use Guard-Exits as Exits. Therefore, to support IPv6 clients, we need to increase Guard-but-not-Exit IPv6 consensus weight.
I don't know about the grant but I can explain what my value says, it is not what you think it is.
I'm not looking at cw fraction to calculate the "Guard: 29.06%" line above.
I take and sum up onionoo's guard_probability [1] value of relays that have an IPv6 OrPort.
The guard_probability of relays having the exit flag is always 0, with one exception:
If the relay has the Exit and BadExit flags, in this specific but rare case the exit
relay can have a non-zero guard probability.
the grant uses Guard-but-not-Exit IPv6 consensus weight fraction
If the grant is about supporting Tor clients only (which I hope it is not since I thought client-to-guard supports IPv6 already) than it seems odd
to use cw fraction instead of "what fraction of guard capacity is reachable via IPv6?" metrics.
I don't know about the grant but I can explain what my value says, it is not what you think it is.
I'm not looking at cw fraction to calculate the "Guard: 29.06%" line above.
I take and sum up onionoo's guard_probability [1] value of relays that have an IPv6 OrPort.
The guard_probability of relays having the exit flag is always 0, with one exception:
If the relay has the Exit and BadExit flags, in this specific but rare case the exit
relay can have a non-zero guard probability.
Great, so we're using similar calculations.
the grant uses Guard-but-not-Exit IPv6 consensus weight fraction
If the grant is about supporting Tor clients only (which I hope it is not since I thought client-to-guard supports IPv6 already) than it seems odd
to use cw fraction instead of "what fraction of guard capacity is reachable via IPv6?" metrics.
In order to better support IPv6, we aim to increase the client to Guard relay bandwidth that supports IPv6 to 33%.
Great goal! One of the steps that will help the network health team help us get there is if we have a way to visualize progress. Like, a graph on the metrics site, or even a graph off to the side of the metrics site if they are too worried about having to maintain it forever, and maybe it only needs to be updated once a day if that's easier, where anybody can check what number we're at today.
Then it becomes an advocacy thing where we can cheer ourselves on for making progress, and point relay operators to so they can see the impact of their changes.
teor has identified some great technical improvements that will make it easier for relay operators to help out here, and we should definitely do those in order to make this change sustainable. But doing the visualization in parallel, so we can see our progress, would be swell.
Having the automation of a graph over time also lets anybody notice, even after we close this ticket as completed, that the number has mysteriously dropped and needs to be looked into.
Gaba, is this something you can bring to the metrics team? Especially if teor gives them a script that takes in a consensus and outputs a fraction?
We've spoken with the metrics team, and we're not sure what capacity they have over the next 6 months. Or how much funding will be available in Sponsor 55, after all the required work is done.
So we aren't sure what we will be able to do yet.
(We can also apply for other grants to do this metrics work.)
I don't know about the grant but I can explain what my value says, it is not what you think it is.
I'm not looking at cw fraction to calculate the "Guard: 29.06%" line above.
I take and sum up onionoo's guard_probability [1] value of relays that have an IPv6 OrPort.
The guard_probability of relays having the exit flag is always 0, with one exception:
If the relay has the Exit and BadExit flags, in this specific but rare case the exit
relay can have a non-zero guard probability.
Great, so we're using similar calculations.
the grant uses Guard-but-not-Exit IPv6 consensus weight fraction
If the grant is about supporting Tor clients only (which I hope it is not since I thought client-to-guard supports IPv6 already) than it seems odd
to use cw fraction instead of "what fraction of guard capacity is reachable via IPv6?" metrics.