Subject: [DNSOP] Ugly Hack, Step 1: Problem Definition

From: Jason Livingood <[email-masked]>
Date: Thu, 01 Apr 2010 10:50:46 -0400

1 - Develop a clear problem statement that outlines (1) how "broken" users
are defined and (2) what effects this "brokenness" has on these end users
(or other parts of the Internet).

Suggestion from Tore Anderson <[email-masked]>

- Total client loss to the dualstacked host is at 0.074%.
- (At least) 95% of the client loss is due to clients choosing to use
  inherently unreliable transitional IPv6 (6to4/Teredo) instead of IPv4.
- I've identifed three groups of clients that behave in this way:
  1) Users of Opera <10.50, which did not use the RFC 3484-compliant
     getaddrinfo() call, at least on Windows.  It would prefer any form
     of IPv6 connectivity above IPv4.  This is especially a problem on
     Windows Vista and 7, where 6to4 and/or Teredo are enabled by
     default.  This accounts for about half of the 95%.
  2) Dualstacked Mac OS X users with RFC 1918 IPv4 addresses (using
     NAT) and transitional IPv6 addresses.  In this case, getaddrinfo()
     will sort the IPv6 address above the IPv4 address, causing the
     transitional connectivity to be used.  This accounts for the other
     half of the 95%.
  3) Dualstacked Linux users with RFC 1918 IPv4 addresses and
     transitional IPv6 addresses, as GNU libc's getaddrinfo()
     implementation behaves exactly like the one in Mac OS X.  However,
     the overall client loss caused by this is miniscule compared to
     #1 and #2 (I have problems measuring any at all).
- When disregarding all hits from users in problem groups #1 and #2,
  the total client loss is at 0.003% - this is, in my opinion, low
  enough to accept.  (Of course, other content providers might feel
  differently.)