• Welcome to Hurricane Electric's IPv6 Tunnel Broker Forums.

iPhone IPv6 over IPv4 preference

Started by cconn, March 20, 2012, 07:31:14 AM

Previous topic - Next topic

cconn

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  ???

cholzhauer

Is iOS using happy eyeballs like osx is?

cconn


cholzhauer


nathana

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.

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

cconn

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.

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

kriteknetworks

My iphone 4s iOS 5.1 seems to prefer v6....

cholzhauer

And one of these days android will work with ipv6  :-\

kasperd

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.

antillie

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.

cholzhauer

My droid3 running 2.3 won't get an address via RA from my router. Did you have to tweak any settings?

cconn

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.