腾讯云DNSPod域名解析全面支持IPv6-only

自2016年6月1日起,苹果要求所有提交App Store的iOS应用必须支持IPv6-only环境,根据苹果开发者网站的声明,大部分现有应用程序已经通过NSURLSession和CFNetwork APIs兼容该协议。依然使用IPv4 APIs的或者硬件编码IP地址的开发者将需要手工调整应用代码来适应苹果的最新策略。随着IPv4地址用完,转移到地址更丰富的IPv6协议正在变得越来越重要。

 

经过全面的测试和灰度发布,腾讯云DNSPod域名解析已全面支持App Store IPv6-only网络环境,已有成功通过审核案例,并且在境内外均验证解析成功。

 

小编请来腾讯云解析的产品经理,为我们详细讲解在App Store审核时被拒该如何处理,以及IPv6-only环境、DNS64和NAT64相关原理,干货满满,欢迎转发收藏。

 

在对IPv6进行兼容适配过程中,很多开发者在本地环境测试通过,却在App Store审核时被拒,这种情况下可以首先排查是否由DNS解析失败引起,那么如何验证DNS服务器是否正确响应了IPv6地址的解析请求呢?

 

搭建好DNS64环境后,可以通过以下命令查询:$ dig dnspod.cn aaaa

 

App访问网络的第一步就是进行DNS解析,App Store审核时会先访问DNS服务器,获得iOS应用服务器的IPv6地址,再进行访问,如果这时DNS服务器无法成功解析到IPv6地址,即使在本地搭建的IPv6-only环境中测试成功,仍然会出现在提交App Store审核时被拒的情况,所以选择一个稳定性、兼容性俱佳的域名解析服务至关重要!

 

IPv6-only环境的原理

 

首先需要明确一点,在App Store审核APP的IPv6-only的环境下也是可以正常访问IPv4的服务的,只是首先由DNS64将解析出来的IPv4地址转成兼容的IPv6地址,然后访问IPv4服务时通过NAT64网关对IPv4和IPv6进行NAT,并不需要客户有实际的IPv6服务。如下图所示:

 

腾讯云DNSPod域名解析全面支持IPv6-only_第1张图片

 

 DNS64原理

 

客户端在想DNS64请求一个域名的IPv6地址时,DNS64会向域名的授权DNS请求IPv6地址,如果存在IPv6地址,则直接给客户端返回IPv6地址,如果不存在IPv6地址,则向授权请求IPv4地址,并将返回的IPv4地址转换为兼容的IPv6地址。

 

以Google DNS64为例说明转换规则,分别请求dnspod.cn的A记录(IPv4地址)和AAAA记录(IPv6地址):

 

 

从解析结果可以看出IPv4地址对应的IPv6地址,后32位的3b25:7465实际上就是IPv4地址的16进制表示39=0x3b,37=0x25,116=0x74,101=0x65,明白该规则后也可以自己进行IPv4向兼容的IPv6地址的转换,如119.29.29.29的兼容IPv6地址为64:ff9b::771d:1d1d,其中::表示为全0。

 

DNS64解析流程如下图所示:

 

腾讯云DNSPod域名解析全面支持IPv6-only_第2张图片

 

NAT64原理

 

在IPv6-only环境中访问IPv4服务是需要通过NAT64进行网络地址转换,如下图所示:

 

腾讯云DNSPod域名解析全面支持IPv6-only_第3张图片

 

更多内容,请参考官方文档:

https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1

你可能感兴趣的:(IPv6,云解析)