收藏官网首页
查看: 10935|回复: 0

iOS 支持 IPv6 DNS64/NAT64 网络

56

主题

144

帖子

1066

积分

金牌会员

Rank: 6Rank: 6

积分
1066
QQ
跳转到指定楼层
楼主
发表于 2016-6-8 00:11:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
从2016年6月1日起,iOS应用必须支持IPv6,否则审核将被拒。详见Supporting IPv6 DNS64/NAT64 Networks。本文是翻译稿。从本文中可以学到有关IPv6过度时期的网络架构和具体IOS应用如何兼容的知识。
随着IPv4地址池即将耗尽,企业和移动通信供应商在逐步部署IPv6 DNS64/NAT64网络。IPv6 DNS64/NAT64是一个仅有IPv6的网络,且能通过转换继续支持IPv4。根据你app的性质,这样的转化会有不同的影响:
  • 如果你是编写客户端应用,并且使用高层次的网络API,如NSURLSession和CFNetwork框架,使用域名连接。那么你无需更改你的应用,即可工作在IPv6地址下。如果你不是采用域名连接,你可能需要看Avoid Resolving DNS Names Before Connecting to a Host。关于CFNetwork,参见CFNetwork Framework Reference。
  • 如果你是编写服务器程序,或者是底层网络应用,你需要确保你的socket代码能同时在IPv4和IPv6地址下工作。参见[RFC4038: Application Aspects of IPv6 Transition.
    ](https://tools.ietf.org/html/rfc4038)

什么推动了IPv6
主要的网络供应商,包括美国的蜂窝移动网络供应商,在积极地推进和部署IPv6。这是由多方面因素造成的。
World IPv6 Launch是个追踪全球范围内部署活动的组织。访问World IPv6 Launch website可以看到近期的进程。
IPv4地址逐渐耗尽
近几年,众所周知,IPv4地址最终将耗尽,无类域间路由(Classless Inter-Domain Routing)和网络地址转换(NAT)等技术延缓了这势在必行的趋势。然而,2011年1月31日,最上层的IPv4分配机构Internet Assigned Numbers Authority(IANA)宣布地址用尽。American Registry for Internet Numbers (ARIN)预计在2015年夏季用完IPv4地址。从这里查看倒计时。
IPv6比IPv4高效
除了能解决IPv4耗尽的问题,IPv6比IPv4更加高效,比如:
  • 无需网络地址转换(NAT)
  • 使用简介的头部信息可以加快在网络中的路由
  • 避免网络数据包碎片
  • 相邻地址解析时避免使用广播 (Avoids broadcasting for nei**or address resolution)

4G开发
第四代移动通信技术(4G)仅基于包交换,由于IPv4地址的限制,为了保证4G开发的扩展性,需要IPv6的支持
多媒体服务兼容性
IP Multimedia Core Network Subsystem (IMS) 允许一些服务通过IP传输,例如多媒体SMS消息和VoLTE。 有些服务提供商使用IMS时仅支持IPv6。
成本
业界在向IPv6迁移的过程中,需要继续支持古老的IPv4网络,这使运营商产生了额外的操作和维护成本。
DNS64/NAT64转换流程
为了缓解IPv4地址的耗尽,许多IPv4网络采用NAT技术。尽管这种方案临时奏效,但是实践证明耗资巨大并且不够可靠。如今,随着越来越多的设备使用IPv6,运营商必须同时支持IPv4和IPv6,这种努力却是花费巨大的。

图 10-1 蜂窝移动网络分别提供IPv4和IPv6链接
理想情况下,运营商希望丢掉对IPv4的支持。然而,这么做会导致客户端无法访问基于IPv4的服务器,而IPv4的服务器依然是网络的重要组成部分。为了解决这个问题,大多数的网络供应商实现了一个叫DNS64/NAT64的转换流程。这是个纯IPv6网络,并通过转换也可继续访问IPv4的内容。

图 10-2 蜂窝移动网络用DNS64和NAT64来部署一个IPv6网络
在这个流程中,如果客户端向DNS64服务器发起一个DNS查询,当DNS找到一个基于IPv6的地址后,立刻返回客户端。如果无法找到对应的IPv6地址,DNS64服务器将请求IPv4地址,然后DNS64服务器将IPv4作为前缀合成一个IPv6地址,并且将其返回给客户端。这样,客户端将总是获得一个IPv6目标地址,见图10-3。

图 10-3 DNS64 IPv4到IPv6转换过程
当客户端向服务端发送请求时,目标地址为合成后的IPv6地址会自动由NAT64网关路由过去。对于请求,网关作的是IPv6到IPv4的转换。同样的,对于服务器响应,网关作的是IPv4到IPv6的转换。见图10-4

图 10-4 DNS64/NAT64转化方案的流程
IPv6和App Store的要求
对IPv6 DNS64/NAT64网络的兼容性,将是App Store的提交时的必须条件,所以兼容对于app来说是相当重要的。好消息是,大多数app已经是IPv6兼容的了。对于这些app,进行定期的回归测试依旧是必要的。对于那些IPv6不兼容的应用在面对DNS64/NAT64网路时可能遇到麻烦。幸运的是,解决问题通常很简单,下面章节会讨论这个问题。



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表