Hacker News new | past | comments | ask | show | jobs | submit login
iOS9 already driving IPv6 uptake (thestack.com)
148 points by MAshadowlocked on Sept 23, 2015 | hide | past | favorite | 69 comments



There are two recent, positive things Apple has done for IPv6:

1. They updated the Happy Eyeballs algorithm[1], which is what's caused the jump in the article.

2. Apple will mandate IPv6 support in all apps starting early 2016[2].

[1] https://www.ietf.org/mail-archive/web/v6ops/current/msg22455...

[2] https://developer.apple.com/news/?id=08282015a


I'm curious. Does anyone know if Apples statement actually means you must fully support IPv6 or if you just can't submit an app with hardcoded IPv4 addresses?

I just tested one of our apps that uses IPv4 only domain names and it passed according to the setup here "Test for IPv6 DNS64/NAT64 Compatibility Regularly":

https://developer.apple.com/library/prerelease/ios/documenta...


"Happy Eyeballs"? Is that the official name, or another case of Apple re-branding?


"Happy Eyeballs" (aka Fast Fallback) was created and named by Dan Wing and Andrew Yourtchenko of Cisco. And yes, "Happy eyeballs" is the official name (named because of how happy the eyes of the users will be when they see how fast their IPv6 connection falls back to an IPv4 connection when connecting to a host that does not support IPv6).

https://en.wikipedia.org/wiki/Happy_Eyeballs


Happy Eyeballs is primarily designed let users with broken networks continue connecting to dual-stack web servers. In some cases, it also covers up brokenness on the server end (e.g. publishing AAAA records to nowhere), but that's arguably more of a bug than a feature.

Back in 2011, content providers were terrified of enabling IPv6, because the data showed that ~0.1% of users would drop off the map due to broken networks. Happy Eyeballs helped to break the logjam.


Nope, that's the actual title of IETF RFC 6555

https://tools.ietf.org/html/rfc6555


Does anyone know the status in Android... And if there's an open bug for this?


Android 4+ supports IPv6 on both the cellular and wireless Ethernet interfaces. It only supports stateless address auto-configuration (SLAAC), however, and does not support DHCPv6 at all. (There's a 3+ year old Android DHCPv6 bug that was declined/closed late last year for, IMHO, unconvincing reasons.)


and what about the Happy Eyeball algorithm ? does Android implement it ?


> CloudFlare’s graph shows a 1.07 increase in IPv6 requests under iOS9:

I'm curious: is this written correctly? The number of IPv6 request did go up by 1.07%. But the way it's phrased I would think they'd be referring to the percentage compared to before... a 33% increase.

Is this one of those cases where English can be ambiguous? Or to be correct does it need to be changed to something like "CloudFlare’s graph shows an additional 1.07% of requests use IPv6 under iOS9"?


It's a 1 percentage point increase and also a 33 percent increase.


It's a 107 basis point increase.


It's a 1.07% increase. Not all that many people know what basis points are. ;)


It's a 33% increase, or an increase of 1.07 percentage points. It's not a 1.07% increase.


Hmm. As old as the concept of percentages is, you'd think that there would be a good symbol to indicate an increase in percentage points.


> As old as the concept of percentages is, you'd think that there would be a good symbol to indicate an increase in percentage points.

Uh, there is such a notation -- (sign)(# of percentage points change)pp. Or, in the instant case, +1.07pp.

(Though it would probably be more ideal if %p were accepted instead of pp, because then there would be a natural extention to ‰p, etc.)


I rather like %p.

What would ‰p mean? Percent-degree-points?


"Per-milleage" [0] points (same relation to per-mille as percentage points are to percent; 1 percentage point = 10 per-milleage points = 100 basis points.)

[0] I have no idea if there is a standard term for this, and if there is, that's probably not it.


Promille points.


Yeah that seems to be the core of it. Without the percentage sign what they wrote seems technically valid but very likely to be misunderstood.


It's an increase.


Its a 1.07pp (percentage point) increase, which is identical to 107 basis point increase. A 1.07% increase is a 1.07× multiplier, which this is not.


A 1.07% increase is a 1.0107 multiplier.


Your re-written version is definitely the correct way to phrase it. As written in the article, one would expect IPv6 to have moved from 2.92% to 2.95% (1% of 2.92 being 0.03), which is clearly not the case.


A graph I like to check from time-to-time is Google's IPv6 stats:

https://www.google.com/intl/en/ipv6/statistics.html

Nearing 10% worldwide


Curious that it spikes at the weekends: approx 15% more ipv6 at weekends than during the week.


Residential is driving uptake more than businesses.


Office Networks are often large private networks with (IPv4) NAT.


And over 21% in the US!


UK's at about 2% :-( mainly thanks to major ISPs like BT not supporting IPv6 for their residential customers. Although that looks like it'll change[1] by 2016.

[1] http://www.bbc.co.uk/news/technology-34346803


Thank Comcast for that


now that's something you don't hear often. :)


I've visited http://test-ipv6.com/ using iOS9 and the results both over my mobile and cable operators are the same:

"No IPv6 address detected [more info]

It looks like you have only IPv4 Internet service at this time. Don't feel bad - most people are in this position right now. Most Internet service providers are not quite yet ready to provide IPv6 Internet to residential customers."

Obviously it's not the computers or mobile phones that are the problem.


Anyone have reading suggestions for an operationally minded infrastructure engineer who is paranoid about security and hates breaking production but still wants to take the IPv6 plunge?


For preparing your applications for the eventual flip-the-switch transition; pay particular attention to sections 4.2, which describes a strategy (supported by Linux) for handing off the grunt-work of dual-stack to the kernel while making your userspace code only speak IPv6: https://tools.ietf.org/html/rfc4038

For a quick overview of the process of making your infrastructure dual-stack (with an aim to eventually phase out IPv4); note that most of the burden is on your networking-equipment vendor to make this work, unless you make your layer-3 equipment in-house. So it's mostly a deployment challenge, rather than a development challenge. http://www.networkworld.com/article/2285078/tech-primers/ipv...

If I might recommend a good tunnel broker for allowing you to deploy IPv6 internally and get connectivity to the global v6 internet even without ISP support, take a look at Hurricane Electric.


Turn it on in your office first, then deploy to production. You'll gain working experience by turning up your office first. Experience with basic tools like netstat (you need -w now), experience with SLAAC and DHCP lite, quickly reading v6 addresses in :: notation, getting familiar with link local addresses (What do you mean every default router in the company is fe80::1?), etc.


I maintain many Debian VPS for my product and I had to ditch all IPv6-enabled servers because they were so slow. Like, they couldn't pass the apt-get step.

Which researching before posting this answer, I just noticed that it is due to DNS timing out for IPv6 requests [1]. IPv6 is hard to set up.

[1] https://www.sixxs.net/faq/dns/?faq=ipv6slowconnect


Is it that difficult to setup, or are people biased against it when something they've got works, and something new doesn't?

When IPv6 doesn't work, it's easy to blame it, turn it off and stick with IPv4 because it works. When IPv4 doesn't work it's a problem that has to be fixed to access the vast majority of services online.

If your DNS can't resolve A records, you'd immediately complain and get it fixed.


When was this? For a long time IPv6 suffered from people running services over tunnels via tunnel brokers, which resulted in horrible performance, MTU issues, timeouts and so on. I have noticed recently that the situation has improved a lot, with more and more "real", native deployments coming online.


Two weeks ago. But I would rather blamemyself for a lack of knowledge that the VPS provider for providing OS images that don't fit my expectations.


Interestingly, my iPhone 6 on Verizon's LTE in the US is running on IPV6. Fascinating that my campus computer is behind the times, relative to my cell phone.


Cell phones have felt the IPv4 exhaustion pressure a lot more strongly than most networks: network address translation is an interesting feat when the device may be moving in three dimensions at highway speeds. Thus the LTE networks have especially been pushing handset manufacturers to support IPv6 first and foremost and deprecate IPv4-centric APIs/applications/software as much and as fast as possible.

It's interesting too that you mention a campus computer in comparison: most American Universities were early adopters and thus got very large blocks of IPv4 addresses assigned to them, so in some cases they may be the last to deal with IPv4 exhaustion. (To be fair, though, many have given big blocks back for reassignment, doing what they can to have kept us from an exhaustion crisis before.)


Per test-IPv6.com AT&T still offers no IPv6. (iOS 9)


Android has actually been pretty far ahead of iOS in this respect. My Nexus 4 on T-Mobile has been running IPv6-only for close to two years now.


Not really - iOS has been capable of this for a long time - the difference noted in the article is due to iOS 9's change in preference for IPv6.

Running an iPhone on IPv6 only far from new...


Hmm. I don't own a modern iOS device myself, but my understanding was that the kernel support has been there for a long time, but until iOS 9, IPv6 wasn't actually enabled on cellular data networks. Upon investigating a bit more, it looks like that may have only been true for T-Mobile. But it's hard to find definitive statements one way or the other.


iOS8 has been reported to be dual stacked (v6 + v4 addresses) on the cellular side of things on Verizon and a bunch of other (mostly European) networks.

What Apple did with iOS9 is improve its address selection algorithm to prefer ipv6 in a majority of cases (if both the device and the server are dual stacked and unless v6 path latency is much greater than its v4 counterpart, v6 will be used).

In contrast, ios8 would prefer v4 over v6 when both endpoints were dual stacked.

Also, from what I've seen, iOS devices won't provision ipv6 addresses on their cellular interface unless their Carrier Profile says they should, so you might have encountered devices not getting ipv6 addresses even though they were connected to a dual stack network. Wifi always uses v6 if the network supports it.


I have to agree. As long as I have been using my nexus 5 (almost two years) I have gotten ipv6 addresses on LTE networks.


LTE is IP native, unlike its predecessors; and as previous posters have mentioned wireless networks ran out of IPv4 addresses many moons ago.


So does it mean you can directly connect to it from external network?

What happens when you visit a ipv4 website, what IP address will site recognize?


It usually get's NAT'd, just like a traditional IPv4 home network.


I believe all devices on Verizon's LTE have been supporting IPv6 for some time now.


I'm amused by the timing, since the story above this is that ARIN has now run out of IPv4 addresses.


Alright, how can I make my server support it?


IPv6 is good for anyone who want to identify individuals... NSA, FBI, Apple, Google, advertisers, trackers, etc. So happy to see rapid adoption and my fellow hacker news readers are excited about this too!


If your OS does proper address randomization, it's no more identifying than ipv4.


I don't see how that could possibly be true.

Even with privacy extensions, you can't "clear your cookies" start fresh with another IP address. There is no incognito mode with IPv6. There is not anonymous NAT.

It's no surprise to me that the companies pushing IPV6 the hardest are also the ones most interested in your personal data.


> Even with privacy extensions, you can't "clear your cookies" start fresh with another IP address.

Yes. You can. You do. And IPv6 hosts that implement address randomization according to the RFC will do so periodically without user intervention.

https://tools.ietf.org/html/rfc4941

The RFC (from 2007) suggests a default address lifetime of 1 day, but actual implementations tend to use MUCH shorter ones.


NAT provides no privacy. You're delusional.


Are you aware of this:

https://en.wikipedia.org/wiki/Carrier-grade_NAT

"Critics of carrier-grade NAT argue the following aspects:"

"It makes record keeping for law-enforcement operations more difficult, except if the translation of the addresses is logged."


With all of the metadata you're leaking onto the internet there are far better ways to track you than by IP.


WTF?! - "When Apple add or remove a port or protocol such as a floppy drive, a disk drive or Adobe Flash support from its mainstream tech output, worlds change" ... chill out.


This is a classic case of correlation vs. causation.

iOS 9 users are apparently more likely to use IPv6, but there is nothing in the article or in the original blog post that supports the claim from the headline that iOS 9 "drives IPv6 uptake". A more likely explanation is that IPv6 is primarily used by tech savvy people, who are also more likely to upgrade quickly to the newest version.


I believe it's actually because iOS9 automatically prefers IPv6 to IPv4: http://thenextweb.com/apple/2015/07/11/os-x-10-11-and-ios-9-... I actually highly doubt the majority of iOS9 users even know what IPv6 is, let alone if they're using it or not.

Your explanation is also flawed, iOS adoption does not follow other software. It's already got a ridiculous number of users: http://www.digitaltrends.com/mobile/ios-9-adoption-rate-day-... and Apple is even more in your face with this update than past ones; there's a few regular popups, and they even let you schedule it for the night when you aren't using your phone.


iOS 9 includes an improved implementation of Happy Eyeballs which prefers IPv6 over IPv4 almost all the time. Same will happen with El Capitan.

https://www.ietf.org/mail-archive/web/v6ops/current/msg22455...

edit: I don't know why articles like this can't produce these sources to validate the claims


Thanks for pointing to a source that actually explains what's happening. Now I understand.

I read the original article and the cloud flare post, and it seemed that they drew their conclusions from the pie charts; but in reality they just didn't reveal their sources.


I don't know why you were needlessly downvoted for drawing valid conclusions from a story without any real sources. sigh


Maybe they downvoted my idea that early iOS updaters are more likely to have working IPv6 stacks, which isn't really plausible on second thought.


I'm on a work retreat in a beach house right now with several coworkers, all with different roles in the company. I can tell you with absolute certainty that the folks with iPhones do not know what IPv6 is or anything meaningful about it, while the folks that do know about IPv6 are all using either a Nexus or Samsung phone. That isn't to imply Android users are more technical, but you really can't draw conclusions like the one you have drawn. Being technical does not mean you're guaranteed to drive adoption either. Hell, a plurality of the seriously techy folks I know are more likely to not fuck around with it for the fact that they know shit's gonna break and that's just one more thing to debug before calling $BigTelco to piss and moan about service.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: