Opened 2 years ago

Closed 12 months ago

#19610 closed defect (fixed)

IPv6-only clients fetch microdescriptors from a small number of IPv6 fallbacks

Reported by: teor Owned by: teor
Priority: Medium Milestone: Tor: 0.3.3.x-final
Component: Core Tor/Tor Version: Tor: 0.2.8.4-rc
Severity: Normal Keywords: ipv6, microdesc, fallbacks, tor-client, network-health, user-enumeration, review-group-27
Cc: Actual Points:
Parent ID: #23827 Points: 1
Reviewer: Sponsor:

Description

When an IPv6-only client bootstraps using microdescriptors (#19608), it fetches the microdescriptor consensus from an IPv6 fallback, but the microdescriptor consensus has no IPv6 addresses.

So it falls back to the fallback directories, fetching ~7500/500 = 15 sets of descriptors from 15 of the 25 IPv6 fallbacks.

We should improve this behaviour somehow, to avoid overloading the fallbacks. One simple way of doing this is selecting 200 fallbacks for 0.2.9 in #18828.

It's worth noting that this extra load only happens on bootstrap, when there are no cached microdescriptors. If an IPv6-only client has any IPv6 microdescriptors that match the current consensus, it will use those relays instead.

Child Tickets

Change History (16)

comment:1 Changed 2 years ago by teor

Milestone: Tor: 0.3.0.x-final

comment:2 Changed 2 years ago by teor

One way of fixing this issue is to make IPv6-only clients use the regular consensus.

comment:3 Changed 2 years ago by teor

#19989 makes this worse is irrelevant - tor clients won't fetch microdescriptors from a single Exit as their EntryNode, but they work fine with two.

Last edited 23 months ago by teor (previous) (diff)

comment:4 Changed 2 years ago by dgoulet

Keywords: triage-out-030-201612 added
Milestone: Tor: 0.3.0.x-finalTor: 0.3.1.x-final

Triaged out on December 2016 from 030 to 031.

comment:5 Changed 23 months ago by teor

Milestone: Tor: 0.3.1.x-finalTor: unspecified
Parent ID: #17217

#19608 was fixed in 0.3.0.2-alpha, and we mitigated this issue by selecting 53 IPv6 fallbacks in #18828. We should continue to choose 200+ fallbacks, and encourage relay operators to enable their IPv6 ORPorts.

This will not be an issue until clients use IPv6 by default (#17217).

comment:6 Changed 20 months ago by teor

Summary: IPv6-only clients fetch microdescriptors from 15/25 IPv6 fallbacksIPv6-only clients fetch microdescriptors from a small number of IPv6 fallbacks

comment:7 Changed 19 months ago by nickm

Keywords: triage-out-030-201612 removed

comment:8 Changed 18 months ago by nickm

Keywords: tor-client network-health user-enumeration added

comment:9 Changed 14 months ago by teor

Milestone: Tor: unspecifiedTor: 0.3.5.x-final

This can be closed (and the IPv6-only bootstrasp workaround code removed) once the consensus method that adds IPv6 addresses to the microdesc consensus (#23826) is supported by all directory authorities.

comment:10 Changed 14 months ago by teor

Milestone: Tor: 0.3.5.x-finalTor: 0.3.3.x-final
Parent ID: #17217#20916

I think we should just close this when #20916 closes.

comment:11 Changed 14 months ago by teor

Owner: set to teor
Status: newassigned

These are all mine

comment:12 Changed 14 months ago by teor

Status: assignednew

comment:13 Changed 13 months ago by teor

Parent ID: #20916#23827
Status: newneeds_review

#23827 has a branch which fixes this.

comment:14 Changed 13 months ago by nickm

Keywords: review-group-27 added

comment:15 Changed 13 months ago by teor

This is part of #23827 - we need to make sure IPv6-only clients don't use fallbacks to fetch microdescs when consensus method 27 is in use. The relevant commit is 4ea838030a "Stop waiting for microdescs if the consensus supports IPv6 ORPorts".

Edit: be more specific about IPv6-only clients

Last edited 13 months ago by teor (previous) (diff)

comment:16 Changed 12 months ago by teor

Resolution: fixed
Status: needs_reviewclosed

Let's just call this implemented by the parent ticket.

Note: See TracTickets for help on using tickets.