Over last couple of decades, Internet Protocol Version 4 – IPv4 – was implemented as the underlying protocol for the Internet. While it has served its purpose admirably for all these years, with an ever expanding user base and a growing number of IP-enabled devices, there are serious concerns about it’s limited feature set as well as robustness and scalability. The Internet Protocol Version – IPv6 – is being developed as a critical technology meant to address all those concerns.
Why IPv6?
IPv4 supports a finite number of possible IPv4 address combinations. There is no doubt that the Internet has run out of IPv4 address space.
In March 2011, the Internet’s governing body, IANA (Internet Assigned Numbers Authority) assigned the final five blocks of IPv4 address space to the five Regional Internet Registries (RIR). APNIC (Asian Registry) has already exhausted their final allocation, the four remaining registries will follow suit by the end of the year or early next year.
For those unfamiliar with IPv4 exhaustion and IPv6 uptake, imagine if the US ran out of telephone number combinations. One solution might be to extend the number of digits from 10 to say 40. This is what IPv6, the next generation Internet protocol does.
The challenge, is that IPv6 is not backwards compatible. All of the hardware and software associated with the Internet, must undergo the upgrade in order to be able to communicate seamlessly with IPv6 addresses going forward.
iOS 9 and IPv6:
As stated earlier, all things related to Internet must undergo the upgrade, Apple with it’s new iOS 9 has announced that all iOS 9 apps will now support IPv6. Apple has decided that starting with iOS 9 all the apps must support IPv6 for AppStore submission.
Some of major cellular networks and major carriers have started migrating towards IPv6-only networks deployment (as below), looking at this, iOS 9 is trying to prefer IPv6 for connections and IPv6 will get a big boost from iOS 9. If the app doesn’t work properly with IPv6, it will simply not function on those networks or those carriers. 5G mobile networks, won’t work with IPv4 either.
- AT&T.
- Verizon Wireless.
- T-Mobile.
- Sprint.
- British Telecom (UK).
- Deutsche Telekom (Germany).
- Swisscom (Switzerland).
- British Sky Broadcasting.
- China Telecom.
- Telekom Malaysia.
- VentraIP Group (Australia) Pty Ltd.
- NTT (Japan).
The real fact is that IPv4 is not going away soon, and for some years to come it’s not the IPv6-only networks that will provide services to customers. For few years to come we need to operate the Internet in a mode that supports IPv6 and IPv4 together in Dual Stack mode. But big cellular carriers really don’t want to continue running IPv4 and IPv6 side by side in dual stack configuration, IPv6-only cellular service is coming. If this would be the case many IPv4-only websites and apps will stop working like:
- support.apple.com or developer.apple.com.
- iCloud, Apple Maps, the iTunes/App Stores, iMessage, and iPhone call/SMS.
- Skype – it runs, but it doesn’t show any contacts and it complains about a lack of Internet connectivity when you try to make calls.
How will it affect app development?
That could mean a lot of coding for apps that don’t yet support IPv6, many elements of back-end software would need to be modified to add IPv6 capability. Some of the major changes required would be:
- Use the networking frameworks (for example, “NSURLSession”).
- Avoid use of IPv4-specific APIs – that may involve direct usage of IPv4 addresses.
- Avoid hard-coded IP addresses – user’s IPv4 address as an identifier or for logging or configuration purposes.
Even in dual stake mode, if the app has IPv6 support it will run more efficiently and fast in IPv6-only networks.
Our expert mobile development team has already started implementing IPv6 support for iOS 9 development work. If you want your existing app to run seamlessly under IPv6-only network or if you are looking to develop a new iOS 9 app that will support IPv6 and properly accepted by AppStore, please feel free to contact us.