[CentOS-mirror] IPv6 Mirroring

Tue Aug 2 20:52:57 UTC 2011
Matt Domsch <Matt_Domsch at dell.com>

On Tue, Aug 02, 2011 at 11:42:47AM -0500, Kevin Stange wrote:
> On 08/02/2011 10:10 AM, Matt Domsch wrote:
> > On Mon, Aug 01, 2011 at 05:45:16PM -0500, Kevin Stange wrote:
> >> We'd be catering to v6-capable (dual stack) clients by offering
> >> mirror choices with v6 ahead of v4 if the client seems to prefer v6.
> > 
> > Here's where I start to lose you.  We don't presently have a way for a
> > client to indicate to anyone anywhere that it "prefers" v6 instead of
> > v4, or vice versa.  From the server side, it sees a connection, either
> > on v6 or on v4, and sees an address.  We would have to add a flag into
> > the yum mirrorlist request URL to give the client an opportunity to
> > note its preference.  Not hard technically, but the obvious
> > implementation would require manual configuration by each end user,
> > and that's nearly never done.
> > 
> > How would you envision a client recognizing that it should prefer v6
> > over v4, automatically?  Solving that cleanly, the rest is
> > straightforward.
> 
> We can tell if a client prefers v6 because it will access
> mirrorlist.centos.org using its IPv6 address.  The client doesn't need
> to tell us explicitly because its decision to access the v6 address
> means it's decided to try the AAAA first.

With all due respect, I disagree.  Apps on a dual-stack system will
use IPv6 if they can, then IPv4, at a system level, provided an IPv6
address is provisioned to the system.  It has nothing to do with
connectivity between the system and any other mirror server on the
internet, which is what mirrors are trying to solve.

> I suppose we could compile a list of prefers_v6 mirrors, but my thoughts
> didn't extend past concluding that if the client prefers v6 by evidence
> we just offer it the v6 mirrors sorted first so it can use the preferred
> protocol.

I understand, but I don't think that's a good indicator for
preference, and I think specifying one protocol is preferred over
another doesn't buy us much.

 
> Do you think it's likely that mirrors will prefer avoiding v6 if they
> have enabled it?

No.  If they advertise both, they'll accept both.  There's no way to
specify a mirror's preference for one or the other, just as there is
no way to specify a client's preference.  If they want to avoid v6,
they simply don't advertise an AAAA record. :-)

MirrorManager (and the respected MirrorBrain) aim to solve for the
"best" mirror on the assumption that closer mirrors network-wise are
preferred over mirrors that are further away, irrespective of a
client's IPv4 or IPv6 address.  Both offer ways to direct clients to
preferred servers based on network characteristics (BGP ASNs, network
blocks) between client and potential servers, and only then falling
back to GeoIP, all of which are protocol agnostic (both v4 and v6 are
supported).

Thanks,
Matt

-- 
Matt Domsch
Technology Strategist
Dell | Office of the CTO