It’s Apple’s Developers Conference time again, and in amongst the various announcements was week, in the “Platforms Status of the Union” presentation was the mention of Apples support of IPv6. Sebastien Marineau, Apple’s VP of Core OS told the conference that as far as IPv4 addresses are concerned exhaustion “is finally here”, noting that this already started in 2011 in the Asia Pacific while in North America IPv4 address exhaustion is imminent. Sebastien noted that it's really important to support IPv6 in devices and applications these days, and referenced Apple’s work in adding IPv6 to its network stack over a decade ago, and adding IPv6 into its mobile operating system iOS since version 4.

You’d be led to believe that Apple "got it" years ago. And you're probably not wrong if that's what you thought.

And they still appear to get it.

For iOS 9, part of the Apple’s app submission process will be to test that the app will function in an IPv6 network infrastructure. If your app does not work over IPv6 then its not going to be in the App Store. Great! Developers can no longer ignore IPv6 if they want their app to live in Apple’s App store.

They are ensuring that if the app uses Apple’s standard libraries for its networking connectivity then not only will the app work over an IPv6 network, but it will negotiate transport level security as well. Again, great! They get it.

They also are adding an IPv6 network emulator to their Mac OSX platform, allowing a developer to create a personal IPv6 only WiFi hotspot to test an app to see that it works in an IPv6 only environment. Again, a great idea. Kudos to Apple!

But I’m afraid that I can’t mark these initiatives down as a 10/10 success for Apple and the cause of IPv6.

IPv4 is not going away any time soon, and for some years to come it’s not the IPv6-only networks that will provide services to customers. It’s just not quite there yet. For years to come we need to operate the Internet in a mode that supports IPv6 and IPv4 together in Dual Stack mode. The operational premise for today’s devices and apps is simple: “Do IPv6 if you can, and fall back to IPv4 if you must.”

So how well is Apple doing in a dual stack world?

Not as well as I would want.

T-Mobile in the US is a large carrier. It has taken the decision to operate part of it’s mobile network that supports a total of some 45 million subscribers in IPv6-only mode. The way they provide the IPv4 component of a dual stack environment in an IPv6-only network is by a form of encapsulation that tunnels the IPv4 network stack on the mobile device across the IPv6 carrier network to the IPv4 gateway in the provider network. This encapsulation approach goes by the rather cryptic name of “464-XLAT". So T-Mobile now operates a very large IPv6-only mobile data network that can be used by handsets that support 464-XLAT. Which leads to the question: Which family of devices support 464-XLAT? Android. Not Apple’s iPhone or iPad. They just aren’t supporting 464-XLAT in iOS right now. What happens when other carriers want to build an IPv6-only mobile network and use an IPv4 overlay in the same way as T-Mobile? Their iPhone customers are going to be left behind.

Mac OSX has had IPv6 support for many years. As has iOS. But it’s not quite all there. What if I want to use my Apple iPhone as a personal hot spot and relay a dual stack network to my Mac? Will I see both protocols on my Mac? Nope. It’s a IPv4 only personal hotspot. What about the other way? What if I want to use my Mac as a personal hotspot and provide a WiFi service to my iPhone? Dual Stack support? Nope once more. It’s an IPv4 only hotspot.

What about the larger picture of Dual Stack support? Will Mac OSX and iOS platforms support both protocols at once, assuming that you can get them to your Apple device? Yes! So will these platforms "Do IPv6 if you can, and fall back to IPv4 if you must.”? That’s a “nope” as well. It’s dual stack protocol selection algorithm does not do it that way. It tries to guess which protocol it thinks will be faster and use that. While that approach tries to optimise the user’s position it can persist in generating IPv4 connections which does not assist in the larger picture of transition. There is a good reason for this transition mantra of preferring IPv6 where feasible, and its difficult to understand how Apple’s slightly anomalous position is helping the overall transition process.

So I’m just a little disappointed. You see its not yet time to throw out all traces of IPv4 and go boldly into an IPv6 only world. Today what we have is a Dual Stack Internet. For some time yet it’s going to remain a Dual Stack Internet. That means that we need to add support for both protocols across the entire networked platform. And bear in mind that the dual stack operational paradigm is: "Do IPv6 if you can, and fall back to IPv4 if you must." So, with this in mind, do Apple really get it?

Hmmm. Not Quite.

Right now it’s 7/10 for Apple and IPv6, I’m afraid.

Could do better!

About the Author

Geoff Huston B.Sc., M.Sc., is the Chief Scientist at APNIC, the Regional Internet Registry serving the Asia Pacific region. He has been closely involved with the development of the Internet for many years, particularly within Australia, where he was responsible for building the Internet within the Australian academic and research sector in the early 1990’s. He is author of a number of Internet-related books, and was a member of the Internet Architecture Board from 1999 until 2005, and served on the Board of Trustees of the Internet Society from 1992 until 2001. He has worked as a an Internet researcher, as a ISP systems architect and a network operator at various times.