8 ms·
That's incorrect. Check out figure 10-3 here: http://j.mp/1NkSBaF http://j.mp/1NkSBaF If your App does not support IPv6 on the official rollout then you will n
by Negative1 10y ago
That's incorrect. Check out figure 10-3 here: http://j.mp/1NkSBaF http://j.mp/1NkSBaF
If your App does not support IPv6 on the official rollout then you will no longer have network connectivity. If you use native platform functions you're fine. If you use unix/bsd sockets, you're in trouble.
From the backend perspective however, IPv4 will be allowed... for now. Basically what happens is the client is expected to send an IPv6 packet to the phone carrier which then will translate it to IPv4 if needed. Since many big cloud providers (like Amazon) still don't support a proper IPv6 solution this approach will likely be around for quite some time.
- eloy 10y agoOut of curiosity, why would anyone use Unix or BSD sockets on iOS if Apple provides way better APIs?
- mosburger 10y agoMaybe familiarity? Porting existing UNIX code to iOS (seems like that'd be pretty rare)?
- eloy 10y agoHmm, good point. I guess that most of the apps that use BSD/Unix sockets are libraries then.
- Negative1 10y agoThink game engines or legacy C++ projects there were ported to the platform and already have their own network implementation.
- chatmasta 10y agoOh I see. So Apple is moving all its local sockets to IPv6 format? That's what you mean by "no longer have network connectivity?" You seem to be implying that every IPv4 packet will go through a carrier NAT64... but what if my ISP does not use NAT64? Will my iPhone send a regular IPv4 request, or will it prefix IPv6?
- X-Istence 10y agoIf your ISP doesn't have NAT64 it will continue to use IPv4, and packets will continue to flow as normal. Apps however can't be IPv4 ONLY.
- chatmasta 10y agoAh okay. So the point of prefixing IPv6 with IPv4 is that if the ISP has only IPv4 switching, it will only grab the first 32 bits of the IPv6 address... which is the IPv4 address. So no ISP changes needed.
- songgao 10y ago> Basically what happens is the client is expected to send an IPv6 packet to the phone carrier which then will translate it to IPv4 if needed. This will only happen 1) in the test environment that helps ensure that your App will work fine in a IPv6-Only (as opposed to dual-stack) network; 2) your carrier has IPv6 and NAT64. If I understand correctly, the higher level APIs should be able to choose IPv6 or IPv4 accordingly based on network configuration. If, for example, your carrier doesn't support IPv6, apps using these APIs will continue function well using IPv4. And I doubt Apple will ban IPv4 entirely before all carriers support IPv6 and NAT64/DNS64. So "for now" will likely be several years. There are many components that need upgrades in order to move to an IPv6 only Internet. Preparing applications for it is an important part, and this is a nice step in this part.
- the_mitsuhiko 10y agoThat's unlikely to be correct because this would require carriers to support IPv6 which many do not do.
- Negative1 10y agoFrom that link: "Major network service providers, including major cellular carriers in the the United States, are actively promoting and deploying IPv6."
- the_mitsuhiko 10y agoThat's nice for the US but that does not apply for many other countries. Case in point: Austria does not have a practical IPv4 shortage currently so motivation for deploying IPv6 is low and customers actively refuse it.
- Negative1 10y agoWhy the downvote? Everything I stated is factually accurate.