Hurricane Electric's IPv6 Tunnel Broker Forums

General IPv6 Topics => IPv6 Basics & Questions & General Chatter => Topic started by: cconn on March 20, 2012, 07:31:14 AM

Title: iPhone IPv6 over IPv4 preference
Post by: cconn on March 20, 2012, 07:31:14 AM
I'd like your help, users of HE tunnels, to determine what is the norm with the iPhone IOS 5.1 vs IPv6 or IPv4 selection.

I have a number of devices, WindowsXP, Windows7, MacOS 10.5.7, Android tablet, and they will consistently and constantly select the IPv6 stack to connect to v6 sites.  ipv6-test.com, www.arin.net etc will always and constantly use IPv6.

I have 2 iPhones, however, and they flip flop between v4 and v6, for no apparent reason.  If you folks were to connect to ipv6-test.com using your dual-stacked iPhones and hit refresh, does it eventually hit IPv4 as the reported "preferred" method?

I can hit reload till the cows come home on all my other devices and systems _except_ for these iPhones and I am wondering if this is consistent with what is supposed to happen  ???
Title: Re: iPhone IPv6 over IPv4 preference
Post by: cholzhauer on March 20, 2012, 08:49:24 AM
Is iOS using happy eyeballs like osx is?
Title: Re: iPhone IPv6 over IPv4 preference
Post by: cconn on March 20, 2012, 03:06:15 PM
Quote from: cholzhauer on March 20, 2012, 08:49:24 AM
Is iOS using happy eyeballs like osx is?

is it all OSX or 10.6++?
Title: Re: iPhone IPv6 over IPv4 preference
Post by: cholzhauer on March 21, 2012, 05:46:55 AM
I thought it was only for 10.7...
Title: Re: iPhone IPv6 over IPv4 preference
Post by: nathana on March 21, 2012, 05:55:48 AM
Yes, I'm sure it's the stupid "happy eyeballs" behavior, and on the Mac side, it was introduced first in Lion (10.7).  I can confirm Snow Leopard prefers IPv6 when given the option.  I ranted about this over in another thread (http://www.tunnelbroker.net/forums/index.php?topic=2304.0).

I have an iPhone that is still running 4.2.1 (...don't ask...), and it also seems to prefer IPv6 as well.  iOS 4.x seems to have a v6 stack that's a hybrid of Snow Leopard's and Lion's; I say that because it's missing "happy eyeballs" but has RDNSS-in-RA support (which is missing from SL).  I guess that makes sense since 4.x was introduced between the release of SL and Lion.

So it would not shock me if iOS 5.x picked up some of Lion's bad v6 habits.

-- Nathan
Title: Re: iPhone IPv6 over IPv4 preference
Post by: cconn on March 21, 2012, 09:15:02 AM
Quote from: nathana on March 21, 2012, 05:55:48 AM
Yes, I'm sure it's the stupid "happy eyeballs" behavior, and on the Mac side, it was introduced first in Lion (10.7).  I can confirm Snow Leopard prefers IPv6 when given the option.  I ranted about this over in another thread (http://www.tunnelbroker.net/forums/index.php?topic=2304.0).

I have an iPhone that is still running 4.2.1 (...don't ask...), and it also seems to prefer IPv6 as well.  iOS 4.x seems to have a v6 stack that's a hybrid of Snow Leopard's and Lion's; I say that because it's missing "happy eyeballs" but has RDNSS-in-RA support (which is missing from SL).  I guess that makes sense since 4.x was introduced between the release of SL and Lion.

So it would not shock me if iOS 5.x picked up some of Lion's bad v6 habits.

-- Nathan

crap.  well as long as its not just me  :D
Title: Re: iPhone IPv6 over IPv4 preference
Post by: kriteknetworks on March 21, 2012, 07:00:09 PM
My iphone 4s iOS 5.1 seems to prefer v6....
Title: Re: iPhone IPv6 over IPv4 preference
Post by: cholzhauer on March 21, 2012, 07:34:05 PM
And one of these days android will work with ipv6  :-\
Title: Re: iPhone IPv6 over IPv4 preference
Post by: kasperd on March 23, 2012, 02:45:09 AM
Quote from: nathana on March 21, 2012, 05:55:48 AMYes, I'm sure it's the stupid "happy eyeballs" behavior
If you want redundant connectivity to actually provide improved reliability, you need to get automatic failover between the different methods of connectivity all the way to the application. Having the browser open a second connection a few hundred milliseconds after the first and use the one that first completes a handshake it good for user experience and for reliability.

If you want to monitor your network for good reliability, you have to do that in a different way than the way the browser opens connections. If monitoring for reliability is done exactly the same as what the browser does for the users, you are never going to notice a problem before it becomes an issue for users.

If you want IPv6 to be used by default, then a viable route to take is to have browsers and other applications automatically use whatever works best, and separately from the applications have network monitoring that will identify any problems with IPv6 connectivity and report them to the network administrator. Applications should not choose IPv6 based on a policy saying it is preferred without any connection to reality. Applications should choose IPv6 because it works best, and IPv6 doesn't work best, then it is not the applications' fault for choosing IPv4 instead.

The implementation of automatic failover is not entirely trivial. It is possible there are bad implementations of it. But any capable developer should be able to implement automatic failover that is good enough to be better than not having it at all.
Title: Re: iPhone IPv6 over IPv4 preference
Post by: antillie on March 25, 2012, 11:33:51 AM
Quote from: cholzhauer on March 21, 2012, 07:34:05 PM
And one of these days android will work with ipv6  :-\

I have an HTC Thunderbolt running Android 2.2 that's been working perfectly with IPv6 for almost a year. At home it gets an IPv6 address from the prefix being advertised by my router over my WiFi and while on the go it gets an IPv6 address from Verizon's 4G network. Although I noticed that it doesn't get an IPv6 address when I wander into a 3G only area. So IPv6 on Android seems to require either 4G or WiFi. At least with Verizon anyway. I'm not sure if that's a limitation of the 3G spec or Verizon's network.
Title: Re: iPhone IPv6 over IPv4 preference
Post by: cholzhauer on March 25, 2012, 05:42:25 PM
My droid3 running 2.3 won't get an address via RA from my router. Did you have to tweak any settings?
Title: Re: iPhone IPv6 over IPv4 preference
Post by: cconn on March 26, 2012, 09:21:50 AM
Quote from: cholzhauer on March 25, 2012, 05:42:25 PM
My droid3 running 2.3 won't get an address via RA from my router. Did you have to tweak any settings?

thread hijack aside for a second ( ;D), I use android and it works with IPv6 perfectly, no tweaks.  Do a wireshark capture of your network, if you associate your device between RAs, your device, if IPv6 capable, should send a router-sollicitation request via a ICMPv6 packet.  If you don't see this, not much chance of getting any IPv6 on the device to function.

RAs are sent periodically, devices don't wait for them to configure a prefix.