您的位置:首页 > 移动开发 > IOS开发

IPv6介绍及程序支持IPv6的障碍

2016-06-12 09:23 603 查看
1、引出

自今年6月1日开始,所有提交至苹果App Store的应用申请必须要兼容面向硬件识别和网络路由的最新互联网协议–IPv6-only标准。在去年的全球开发者大会上苹果就率先宣布iOS 9会向IPv6-only网络服务过渡。根据苹果开发者网站的声明,大部分现有应用程序已经通过NSURLSession和CFNetwork APIs兼容该协议。依然使用IPv4 APIs的或者硬件编码IP地址的开发者将需要手工调整应用代码来适应苹果的最新策略。

2、IPv6是什么?

IPv6是Internet Protocol Version 6的缩写,IPv6是用于替代现行版本IP协议(IPv4)的下一代IP协议。

3、DNS64/NAT64转化的工作流程

为了减缓IPv4地址的耗尽,NAT(network address translation)多在IPv4网络中实现,尽管它暂时有效,但是它代价大而且不稳定。现在,更多的用户使用IPv6,提供商现在必须支持IPv4和IPv6,

一个提供IPv4和IPv6分开链接的单元网络



DNS64 and NAT64的引出,提供者想放弃支持IPv4网络。这样做可以防止客户访问IPv4服务器。但是有很多用户在使用IPv4,为了解决这个问题,大多数网络提供商实现DNS64 / NAT64过渡工作流。这是一个能使ipv6-only网络继续提供通过转化使用IPv4的方案。



工作流程:客户端向DNS64服务器发送一个DNS查询,如果发现IPv6的地址,则立即将它回传给客户端,如果没有发现IPv6的地址,DNS64则请求IPV4的地址,然后DNS64服务器以IPv4地址为前缀合成IPv6地址,然后传给客户端,故客户端总接收到IPv6地址



3、已有的程序支持IPv6的阻碍

(1)协议中嵌入IP地址

(2)配置文件中嵌入IP地址

(3)网络的预先检查: 许多应用程序试图通过传IP地址到网络连接的api主动检查网络连接或一个活跃的wi - fi连接。

(4)使用底层的网络APIs,

(5)Using small address family storage containers.

解决方案:https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ipv6 ios