当前位置:首页 > 通信技术 > 移动通信
[导读]   果然是苹果打个哈欠,iOS行业内就得起一次风暴呀。自从去年5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6

  果然是苹果打个哈欠,iOS行业内就得起一次风暴呀。自从去年5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6,以及应用中哪些模块目前不支持IPV6。

  App Store策略是要求所有iOS应用必需包含IPv6-only网络的支持。从今年6月1日开始,所有提交至苹果App Store的应用必需要兼容面向硬件识别和网络路由的最新互联网协议——IPv6-only标准。这项措施是在2015年苹果WWDC开发者大会上提出的,iOS 9会率先向IPv6-only网络服务过渡。

  根据苹果开发者网站声明,大部分现有的应用程序已经通过NSURLSession和CFNetwork APIs兼容该协议,不过依然使用IPv4 APIs的或者硬件编码IP地址的开发者将需要手工调整应用代码来适应苹果的最新策略。随着IPv4地址的枯竭,IPv6d的转移工作变得越来越重要。对于苹果来说,切换至IPv6能够带来更加广泛的行业接受协议,此外伴随着物联网的普及,同样能延续智能手机的健康发展。

  什么是 IPv6-ONLY ?

  以前,大家都在用 IPv4,就是地址看起来是 114.255.40.66 的样子。然而,这样的地址已经不够用了,就有了类似2001:da8:215:4009:250:56ff:fe97:40c7 这样的 IP 地址。

  目前,一个网卡会同时使用这两张地址;在未来,一个网卡将仅有后面这样的 IPv6 地址。 使用这两种地址的设备是不能互相访问的,后来有了一些过渡技术让他们在某些情况下可以互相访问了。(如 DNS64/NAT64)

  首先IPV6,是对IPV4地址空间的扩充。目前当我们用iOS设备连接上Wifi、4G、3G等网络时,设备被分配的地址均是IPV4地址,但是随着运营商和企业逐渐部署IPV6 DNS64/NAT64网络之后,设备被分配的地址会变成IPV6的地址,而这些网络就是所谓的IPV6-Only网络,并且仍然可以通过此网络去获取IPV4地址提供的内容。客户端向服务器端请求域名解析,首先通过DNS64 Server查询IPv6的地址,如果查询不到,再向DNS Server查询IPv4地址,通过DNS64 Server合成一个IPV6的地址,最终将一个IPV6的地址返回给客户端。如图所示:

  

  在Mac OS 10.11+的双网卡的Mac机器(以太网口+无线网卡),我们可以通过模拟构建这么一个local IPv6 DNS64/NAT64 的网络环境去测试应用是否支持IPV6-Only网络,大概原理如下:

  

  如何满足苹果要求?

  苹果公司为什么要这么做?

  现在有极小一部分用户处在IPv6-ONLY的环境中,未来这个比例会扩大。

  苹果这样要求,对于大多数开发者而言,并不困难。目前大多数应用无需任何操作即可满足要求。

  我不太懂这些,我该怎么做呢?

  在你的应用中使用域名(如 www.bupt.edu.cn),不要在任何地方使用 IPv4地址(114.255.40.66)。

  我的服务器必须有 IPv6 地址么?

  不是的,服务器只需要有公网 IPv4 地址即可,但要求必须使用域名(FQDN)来表示服务器。

  如何创造 IPv6-ONLY 测试环境

  MacOS 提供了这个功能。 使用 Mac 把有线网络共享到 WiFi,中间勾选 创建NAT64网络 即可。

  

  apple如何审核支持IPV6-Only?

  首先第一点:这里说的支持IPV6-Only网络,其实就是说让应用在 IPv6 DNS64/NAT64 网络环境下仍然能够正常运行。但是考虑到我们目前的实际网络环境仍然是IPV4网络,所以应用需要能够同时保证IPV4和IPV6环境下的可用性。从这点来说,苹果不会去扫描IPV4的专有API来拒绝审核通过,因为IPV4的API和IPV6的API调用都会同时存在于代码中(不过为了减小审核被拒风险,建议将IPV4专有API通过IPV6的兼容API来替换)。

  其次第二点:Apple官方声明iOS9开始向IPV6支持过渡,在iOS9.2+支持通过getaddrInfo方法将IPV4地址合成IPV6地址(The ability to synthesize IPv6 addresses was added to getaddrinfo in iOS 9.2 and OS X 10.11.2)。其提供的Reachability库在iOS8系统下,当从IPV4切换到IPV6网络,或者从IPV6网络切换到IPV4,是无法监控到网络状态的变化。也有一些开发者针对这些Bug询问Apple的审核部门,给予的答复是只需要在苹果最新的系统上保证IPV6的兼容性即可。

  最后第三点:只要应用的主流程支持IPV6,通过苹果审核即可。对于不支持IPV6的模块,考虑到我们现实IPV6网络的部署还需要一段时间,短时间内不会影响我们用户的使用。但随着4G网络IPV6的部署,这部分模块还是需要逐渐安排人力进行支持。

  追加第四点:如果应用一直直接使用IPV4地址通过NSURLConencTIon或者NSURLSession进行网络请求(一般需要服务器允许,且客户端需要在header中伪装host);经测试,IPV6网络环境下,直接使用IPV4地址在iOS9及以上的系统仍然能够正常访问;在iOS8.4及以下不能正常访问;这一点苹果的解释和建议是这样的:

  Note: In iOS 9 and OS X 10.11 and later, NSURLSession and CFNetwork automaTIcally synthesize IPv6 addresses from IPv4 literals locally on devices operaTIng on DNS64/NAT64 networks. However, you should sTIll work to rid your code of IP address literals.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

据韩媒报道,近日韩国多位军方人士透露,韩国军方正在考虑全面禁止在军事建筑内使用苹果手机,军方担心敏感信息通过录音泄露。

关键字: iPhone 苹果

业内消息,印度塔塔集团收购和硕公司在印度iPhone制造业务的协议最早可能于5月达成,从而巩固苹果与印度最有影响力的企业集团之一的关系。据知情人士透露,塔塔集团正与和硕就收购其在印度的苹果手机组装业务多数股权进行谈判,目...

关键字: 印度 塔塔 和硕 iPhone

近日,一份国外媒体的专栏揭露了苹果回收iPhone背后的秘密 。据报道,苹果与回收商GEEP公司合作,每年支付费用让后者处理约25万台设备。在合作的头两年里,苹果向GEEP提供了超过53万部iPhone、2.5万部iPa...

关键字: 苹果 iPhone

IDC近日发布的全球智能手机市场初步数据显示,苹果iPhone全球销量在今年一季度的销量下降了9.6%。

关键字: iPhone 苹果 端侧AI

业内知情人士称,iPhone组装大厂和硕要缩减印度的苹果业务,将当地工厂控制权移转给TATA塔塔集团,合作方式半年内敲定,对此,和硕方面认为:该报道捕风捉影、没有实据,所以不予评论。

关键字: 和硕 塔塔 印度 iPhone

自3月20日起,库克先后到访上海,北京。期间亚洲最大苹果直营店在上海开门营业,库克亲临。此外,他还密会了比亚迪王传福,不知谈论些什么机要。

关键字: iPhone 苹果 AI iPhone AI手机

业内消息,近日市场调查机构 Canalys 在社交媒体平台X上发文,分享了 2023 年全球最畅销的智能手机前十榜单,其中苹果 iPhone 占据 7 席拔得头筹,三星占据 3 席,两者垄断全球最畅销的智能手机 TOP...

关键字: 手机 出货量 苹果 三星 iPhone

业内消息,近日传言称苹果现已开始向iPhone电池门的受害者发放赔偿金。参与该案并提交索赔的iPhone用户已经陆续获得打款,每份赔偿约92.17美元,其中部分人可能收到总计近1000美元的赔偿。

关键字: iPhone 苹果

业内消息,鸿海集团日前发布公告代印度子公司Foxconn Hon Hai Technology India Mega Development Private Limited以自地委建厂房,预计参与投入之金额为1282.0...

关键字: 富士康 印度 鸿海 iPhone

10月9日消息,华为官方发布声明,称网传“华为发布声明拒绝富士康代工请求”纯属造谣。

关键字: 富士康 苹果 iPhone 华为
关闭
关闭