IPv6 brokenness and DNS whitelisting

In the field of IPv6 deployment, IPv6 brokenness was bad behavior seen in early tunneled or dual stack IPv6 deployments where unreliable or bogus IPv6 connectivity is chosen in preference to working IPv4 connectivity. This often resulted in long delays in web page loading, where the user had to wait for each attempted IPv6 connection to time out before the IPv4 connection was tried.[1] These timeouts ranged from being near-instantaneous in the best cases, to taking anywhere between four seconds to three minutes.[2]

IPv6 brokenness is now generally regarded as a solved problem for almost all practical purposes, following improvements at both the transport and application layers.[3]

Brokenness

edit

As of May 2011, IPv6 brokenness as measured by instrumenting a set of mainstream Norwegian websites was down to ~0.015%,[4] most of which was caused by older versions of Mac OS X which would often prefer non-working IPv6 connectivity when it was not justified.[5] This behavior was fixed in Mac OS X 10.6.5, and is likely to decline further as Mac OS X 10.6.5 and subsequent versions roll out to a wider audience. However, there was no upgrade path for PowerPC-based Macs.[6]

The main remaining problem for Mac OS X was the presence of rogue routers, such as wrongly configured Windows Internet Connection Sharing devices pretending to have IPv6 connectivity, while 6to4 tunneled IPv6 traffic is blocked at a firewall.[citation needed] Another problem was pre-10.50 versions of Opera.[citation needed]

Following World IPv6 Day in July 2011, there were reports of a substantial reduction in IPv6 brokenness as a result of that experiment.[7] In the year following the trial, but prior to the World IPv6 Launch date, brokenness levels were reported to have risen slowly back upwards again towards 0.03%.[8]

DNS allowlisting

edit

Google, a major provider of services on the Internet, experimented with using a type of DNS allowlisting on a per-ISP basis to prevent this[9][10] until the World IPv6 Launch. In the DNS allowlisting approach, ISPs are determined from DNS lookup source IP addresses by correlating them with network prefixes derived from routing tables. There is an IETF draft entitled "IPv6 AAAA DNS Allowlisting Implications" that describes the issues around allowlisting. AAAA records are only sent to ISPs that can demonstrate that they are providing reliable IPv6 to their customers. Other ISPs are sent only A records, thus preventing users from attempting to connect over IPv6 when hostnames are used instead of ipv6-addresses.

Numerous concerns were raised about the practicality of DNS allowlisting as a long-term large-scale solution, such as scalability and maintenance issues relating to the maintenance of large numbers of bilateral agreements.[11] In 2010, several of the major web service providers met to discuss pooling their DNS allowlisting information in an attempt to avoid these scaling problems.[12]

Problem resolution

edit

It appears that no major content providers eventually ended up using the allowlisting approach, given that all that had previously declared an interest began serving AAAA records to generic DNS queries following World IPv6 Launch Day. Google now provides AAAA records to all DNS servers except for those on a limited list of subnets which Google excludes from AAAA record service.[13][14]

As of 2017, IPv6 brokenness is now generally regarded as a non-problem. This is due to two factors: firstly, IPv6 transport is much improved, so that the underlying error rate is much reduced, and secondly, that common applications such as web browsers now use fast fallback methods such as the "Happy Eyeballs" algorithm to select whichever protocol works best.[3] Some operating system vendors have rolled fast fallback algorithms into their higher-level network stack APIs, thus making the solution available for all programs that use those APIs to make connections.[15]

See also

edit

References

edit
  1. ^ Yves Poppe (Oct 12, 2010). "IPv6 and the Fear of Brokenness". CircleID. Retrieved 2010-12-29.
  2. ^ Lorenzo Colitti. "IPv6 transition experiences" (PDF). Retrieved 2010-12-29. presented at NANOG 50
  3. ^ a b Marsan, Carolyn Duffy. "'IPv6 brokenness' problem appears fixed". Network World. Archived from the original on July 5, 2015. Retrieved 2017-01-06.
  4. ^ Tore Anderson. "IPv6 dual-stack client loss in Norway". Retrieved 2011-06-16.[permanent dead link]
  5. ^ Tore Anderson. "Measuring and combating IPv6 brokenness" (PDF). Retrieved 2010-12-29., presented at RIPE 61, Rome, November 2010
  6. ^ Iljitsch van Beijnum (12 November 2010). "Apple fixes broken IPv6 by breaking it some more". Ars Technica. Retrieved 2010-12-29.
  7. ^ Carolyn Duffy Marsan (July 27, 2011). "'IPv6 brokenness' problem appears fixed". Network World. Archived from the original on April 4, 2012. Retrieved June 5, 2012.
  8. ^ Stephen Shankland (June 4, 2012). "Internet powers flip the IPv6 switch (FAQ)". CNET News.
  9. ^ "Google over IPv6". Retrieved 2010-12-29.
  10. ^ Iljitsch van Beijnum (29 March 2010). "Yahoo wants two-faced DNS to aid IPv6 deployment". Ars Technica. Retrieved 2010-12-29.
  11. ^ Jason Livingood (October 2010). "IPv6 DNS Allowlisting — Overview and Implications" (PDF). Comcast. Retrieved 2010-12-29., presented at IETF79, Beijing
  12. ^ Carolyn Duffy Marsan (29 March 2010). "Google, Microsoft and Yahoo talk about IPv6 allowlist". Techworld. Archived from the original on 2011-01-26. Retrieved 2010-12-29.
  13. ^ "World IPv6 Launch: Keeping the Internet growing". Official Google Blog. Retrieved 2017-01-06.
  14. ^ "Google IPv6 AAAA record network exclusion list". Retrieved 2017-01-06.
  15. ^ "In wake of World IPv6 Day, browsers resist IPv6 brokenness—but should they?". Ars Technica. Retrieved 2017-01-06.
edit