IPv6 brokenness and DNS whitelisting explained

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.

Brokenness

As of May 2011, IPv6 brokenness as measured by instrumenting a set of mainstream Norwegian websites was down to ~0.015%,[3] 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.[4] 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.[5]

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. Another problem was pre-10.50 versions of Opera.

Following World IPv6 Day in July 2011, there were reports of a substantial reduction in IPv6 brokenness as a result of that experiment.[6] 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%.[7]

DNS allowlisting

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[8] [9] 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.[10] 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.[11]

Problem resolution

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.[12] [13]

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.[14] 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

External links

Notes and References

  1. Web site: IPv6 and the Fear of Brokenness. Yves Poppe. CircleID. Oct 12, 2010. 2010-12-29.
  2. Web site: IPv6 transition experiences. Lorenzo Colitti. 2010-12-29. presented at NANOG 50
  3. Web site: IPv6 dual-stack client loss in Norway. Tore Anderson. 2011-06-16.
  4. Web site: Measuring and combating IPv6 brokenness. Tore Anderson. 2010-12-29., presented at RIPE 61, Rome, November 2010
  5. Web site: Apple fixes broken IPv6 by breaking it some more. Ars Technica. Iljitsch van Beijnum. 12 November 2010 . 2010-12-29.
  6. Web site: 'IPv6 brokenness' problem appears fixed. Carolyn Duffy Marsan. Network World. July 27, 2011.
  7. Web site: Internet powers flip the IPv6 switch (FAQ). Stephen Shankland. June 4, 2012. CNET News.
  8. Web site: Google over IPv6. 2010-12-29.
  9. Web site: Yahoo wants two-faced DNS to aid IPv6 deployment. Iljitsch van Beijnum. 29 March 2010 . Ars Technica. 2010-12-29.
  10. Web site: IPv6 DNS Allowlisting - Overview and Implications. Jason Livingood. October 2010. Comcast. 2010-12-29., presented at IETF79, Beijing
  11. Web site: Google, Microsoft and Yahoo talk about IPv6 allowlist. Techworld. 29 March 2010. Carolyn Duffy Marsan. 2010-12-29.
  12. News: World IPv6 Launch: Keeping the Internet growing. Official Google Blog. en-US. 2017-01-06.
  13. Web site: Google IPv6 AAAA record network exclusion list. 2017-01-06.
  14. News: 'IPv6 brokenness' problem appears fixed. https://web.archive.org/web/20150705061013/http://www.networkworld.com/article/2179639/lan-wan/-ipv6-brokenness--problem-appears-fixed.html. dead. July 5, 2015. Marsan. Carolyn Duffy. Network World. 2017-01-06.
  15. News: In wake of World IPv6 Day, browsers resist IPv6 brokenness—but should they?. Ars Technica. 2017-01-06.