ARIN-PPML Message

[arin-ppml] Draft Policy 2011-5: Shared Transition Space for IPv4 Address Extension - IAB comment

On Thu, Jun 30, 2011 at 3:22 PM, William Herrin <bill at herrin.us> wrote:
> On Thu, Jun 30, 2011 at 2:44 PM, Tony Hain <alh-ietf at tndh.net> wrote:
>> William Herrin wrote:
>>> V6's address selection algorithm uses the same
>>> order-I-got-it-from-the-name-server approach that IPv4 uses and the
>>> name server uses the same round-robining on AAAA records that it uses
>>> for A records.
>>
>> That would be a broken implementation. The address selection rules
>> specifically state 'longest match'. The only time DNS order comes into play
>> is when you fall into the 'I don't care'/default policy table entry. 6to4
>> and teredo have explicit policy table entries, so DNS is a secondary
>> influence.
>
> If you'll refer me to the RFC and paragraph where the order of entries
> returned by getaddrinfo is defined, I'll be pleased to correct any
> misunderstanding I have about how IPv6 applications select destination
> addresses from the name.

Hi Tony,

What I was looking for was section 6 of RFC 3484 (thanks Owen).
http://tools.ietf.org/html/rfc3484#section-6

I then did some tests on Linux to see what getaddrinfo would return. I
stand corrected. IPv6 address selection is smart as you claim.

However, the test revealed another result too: Linux (at least) seems
to prefer IPv4 over using an 6to4 tunnel to get to a host with both a
native IPv6 address and an IPv4 address. Assuming Windows exhibits the
same behavior, and assuming Joel's assertion about autoconfigured 6to4
adapters is 100% correct, it will still only impact connectivity to
hosts which have published 6to4 addresses for their servers. Which as
you complained is almost nobody.


A host name with:
2001:400::1
2002:101:1::1
2620:100::1
199.33.224.1

If I have only an IPv4 address:
199.33.224.1, {2001:400::1,2620:100::1}, 2002:101:1::1
(2001:400::1 and 2620:100::1 round-robin in subsequent requests)

If I have an IPv4 address and 2620:400::1:
  2620:100::1, 2001:400::1, 199.33.224.1, 2002:101:1::1

If I have an IPv4 address and 2002:8080:8080::1:
  2002:101:1::1, 199.33.224.1, 2001:400::1, 2620:100::1


A host name with:
199.33.224.1
2002:101:1::1

If I have only an IPv4 address:
  199.33.224.1, 2002:101:1::1

If I have an IPv4 address and 2620:400::1:
  199.33.224.1, 2002:101:1::1

If I have an IPv4 address and 2002:8080:8080::1:
  2002:101:1::1, 199.33.224.1

I find it very curious that it prefers the tunnel address in case 3
but the IPv4 address in case 2.


A host name with:
2620:100::1
199.33.224.1

If I have only an IPv4 address:
  199.33.224.1, 2620:100::1

If I have an IPv4 address and 2620:400::1:
  2620:100::1, 199.33.224.1

If I have an IPv4 address and 2002:8080:8080::1:
  199.33.224.1, 2620:100::1

Regards,
Bill Herrin


-- 
William D. Herrin ................ herrin at dirtside.com  bill at herrin.us
3005 Crane Dr. ...................... Web: <http://bill.herrin.us/>
Falls Church, VA 22042-3004