iOS network stack should give a minor preference to IPv6 in dual stack environments

Originator:dhabben
Number:rdar://15008953 Date Originated:20130917
Status:Open Resolved:
Product:iOS Product Version:iOS 7.0 (11A465)
Classification: Reproducible:
 
Summary:
Currently when an iOS device is on a dual stack network, and tests connectivity to a dual stack site will result in around half the connections attempts preferring IPv4 over IPv6.

By giving the IPv6 address a minor timing advantage, the pressure on the rest of the network gear of ISPs that would otherwise have to implement "Large Scale NAT" can be reduced so they can focus their CPU resources on servicing sites that only offer IPv4 connectivity 

This video goes into greater detail on it:
https://www.youtube.com/watch?v=wNk28t2FLnQ

Steps to Reproduce:
1. Connect to a dual stack network offering IPv4, and IPv6 connectivity
2. Test connectivity at: http://test-ipv6.com/
3. Around 50% of the time you receive a notice:
"Your browser has real working IPv6 address - but is avoiding using it. We're concerned about this. [More info]
4. More info links here: http://www.test-ipv6.com/faq_avoids_ipv6.html

Expected Results:
The iOS networking stack will give a minor preference to IPv6, over IPv4 given equal connectivity.

Actual Results:
Half the time the IPv4 resource is chosen

Version:
iPhone 5, iOS 7.0 (11A465)

Notes:
The Happy Eyeballs RFC goes into additional detail:
http://tools.ietf.org/html/rfc6555#page-7

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!