一、前言

最近有很多人都在关注支持IPv6的事情,果然是苹果打个哈欠,iOS行业内就得起一次风暴呀。自从5月初Apple明文规定所有开发者在6月1号以后提交新版本必须需要支持IPv6-Only的网络。

二、IPv6-Only支持是什么?

IPv6是对IPv4地址空间的扩充,IPv4IPv6的区别就是IP地址前者是.dot)分割,后者是以:冒号)分割的(更多详细信息自行搜索)。
目前当我们的iOS设备连接上WiFi4G3G等网络时,设备被分配的地址均是IPv4,但是随着运营商和企业逐渐部署IPv6 DNS64/NAT64网络之后,设备被分配的地址会变成IPv6的地址,而这些网络就是所谓的IPv6-Only网络,并且仍然可以通过此网络去获取IPv4地址提供的内容。客户端向服务器端请求域名解析,首先通过DNS64 Server查询IPv6的地址,如果查询不到,再向DNS Server查询IPv4地址,通过DNS64 Server合成一个IPv6的地址,最终将一个IPv6的地址返回给客户端。

如图所示:

Snip20160531_0

三、搭建IPv6环境测试你的APP

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

Snip20160531_1

搭建IPv6测试环境说白了就是用Mac做一个热点,然后用iPhone连接这个Wi-Fi,听起来很容易,下面跟着我的步伐走吧。(非WiFi上网方式的Mac
和正常的开启Mac热点的方式的区别是这次我们产生的是一个本地的IPv6 DNS64/NAT64网络,这项功能是OS X 10.11新加的功能(如果你的Mac系统版本不是的话必须要升级哦,才能产生IPv6的热点)。
和我们以前开启热点方式不一样的地方在于,我们在系统偏好设置(System Preferences)界面选中共享(Sharing)的同时,要按住Option键。见图:

步骤一:

Snip20160531_2

之后在共享界面中,我们会看到和之前不一样的地方,就是红框所标的地方,多了一个叫创建 NAT64 网络 的选框,选中它。

步骤二:

Snip20160531_3

接下来在共享窗口中,依次按图中所示的标号来,如图所示

步骤三:

Snip20160531_4

随后请点击共享以下来源的连接的下拉列表,选择我们想要共享出去的网络接口。我当前是想要共享的是以太网

PS:如果你的Mac是用有线拨号上网的话,请选择PPOE选项作为共享源。如果你的Mac是用有线上网(不用拨号的)的话,请选择Thunderbolt 以太网有线网选项作为共享源如果使用的是有线的RJ-45接头转USB输出的网络转换工具,请选USB 10/100/1000 LAN

标号1

Snip20160531_5

标号2:用以下端口共享给电脑 选项此处选择Wi-Fi

Snip20160531_6

标号3:点击Wi-Fi选项...选项,个性化自己的热点的设置

Snip20160531_7

步骤四:

Snip20160531_8

四、大功告成

出现以下变化证明你已经成功产生了一个IPv6的热点

Snip20160531_9

Wi-Fi图标变样

Snip20160531_10

看手机的连接共享Wi-Fi的变化
普通热点共享

Snip20160531_11

IPv6热点共享

Snip20160531_12

对比2张图中DNS的地址看到区别了吧,一个.分割,一个:分割。

接下来就是测试你的APP是否可以在该WiFi下是否可以访问网络了