您的位置:首页 > 理论基础 > 计算机网络

苹果强制适配IPv6-only网络 该怎么做iOS应用兼容适配IPv6 Mac创建 IPV6测试环境

2016-06-06 10:32 1026 查看
苹果的新政策相比大家已经知晓

www.cocoachina.com/apple/20160505/16124.html

那么我们最关心的无疑是 身为 APP 的开发者,我们需要做什么?

什么是 IPv6-ONLY

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

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

苹果公司为什么要这么做

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

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

我该怎么做呢

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

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

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

如何创造 IPv6-ONLY 测试环境

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

注意:

1.我们创建的 ipv6网络要以 WiFi 形式共享, 所以Mac 要使用网线联网 然后再分享

2.很多同学说 找不到 NAT64网络选项

关键在于 在系统偏好设置界面选择
共享
的时候 要按住
option
按键,打开之后 下面就会出现

创建NAT64网络 了



关于 测试环境 请参考

www.cocoachina.com/ios/20160525/16431.html

详情可参看 Apple Support

IPv6客户端访问IPv4服务器原理

首先,这个是无法直接访问的,必须网络的提供商支持过渡技术。

第一步:DNS 污染

例如我们想要访问 example.com ,假设这个网站只有 IPv4 地址(93.184.216.34,用16进制表示为 5d b8 d8 22) 那么,被“污染”的DNS返回的 IP 地址是 64:ff9b::5db8:d822。 其中 `64:ff9b::/96`是IANA分配用于DNS64的前缀。

第二步:IPv6 转 IPv4

访问 64:ff9b::5db8:d822 时,IPv6 包头被替换为 IPv4 包头,继续访问。 同时回来的数据包会被做反向处理。


另一篇比较好的文章

http://www.2cto.com/kf/201605/506603.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ipv6 ios 苹果