iOS 应用如何完全支持 IPv6-ONLY 网络?
iOS 应用如何完全支持 IPv6-ONLY 网络?¶
警告
您当前查看的页面是未经授权的转载!
如果当前版本排版错误,请前往查看最新版本:http://www.cnblogs.com/qin-nz/p/ipv6-only-ios-application.html
提示
更新时间:2016年05月07日。
最近一条新闻引起了我的注意:
注解
5月5日消息,苹果昨日向开发者发出提醒,App Store将于今年6月1日实施全新策略,届时所有提交至苹果App Store的iOS应用申请必须要兼容面向硬件识别和网络路由的最新互联网协议–IPv6-only标准。
什么是 IPv6-ONLY ?¶
以前,大家都在用 IPv4,就是地址看起来是 114.255.40.66 的样子。然而,这样的地址已经不够用了,就有了类似 2001:da8:215:4009:250:56ff:fe97:40c7 这样的 IP 地址。
目前,一个网卡会同时使用这两张地址;在未来,一个网卡将仅有后面这样的 IPv6 地址。
使用这两种地址的设备是不能互相访问的,后来有了一些过渡技术让他们在某些情况下可以互相访问了。(如 DNS64/NAT64)
如何满足苹果要求?¶
?我不太懂这些,我该怎么做呢?¶
在你的应用中使用域名(如 www.bupt.edu.cn),不要在任何地方使用 IPv4地址(114.255.40.66)。
?我的服务器必须有 IPv6 地址么?¶
不是的,服务器只需要有公网 IPv4 地址即可,但要求必须使用域名(FQDN)来表示服务器。
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 包头,继续访问。
同时回来的数据包会被做反向处理。
现有应用的支持情况¶
- QQ 【支持】
- 淘宝 【支持】
- 高德地图 【支持】
- Worktile 【不支持】
- Wechat 【不支持】
我本人不用微信很久了,但我知道,微信的DNS查询,使用的 HTTP 协议自己封装的,这样在 IPv4 网络下可以避免相当多的问题。
如图,微信直接查询 A 记录,即使我的设备在 IPv6-ONLY 的网络环境下。
因此,微信就跪掉了……
声明
【微信要跪】 iOS 应用如何完全支持 IPv6-ONLY 网络? 由 勤奋的小孩 创作,采用 知识共享 署名-非商业性使用-禁止演绎 4.0 国际 许可协议进行许可。
本许可协议授权之外的使用权限可以从 http://space.cnblogs.com/msg/send/qin-nz 处获得。
iOS 应用如何完全支持 IPv6-ONLY 网络?的更多相关文章
- iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6
一. iOS----如何检查域名是否支持ipv6 iOS----------如何检查域名是否支持ipv6 1.检查你所用到的库,像af 3.0以上什么的(不用改),其他的库自己去搜下是否支持ipv6吧 ...
- iOS应用支持IPV6,就那点事儿
原文连接 果然是苹果打个哈欠,iOS行业内就得起一次风暴呀.自从5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6 ...
- iOS应用支持IPV6
一.IPV6-Only支持是啥? 首先IPV6,是对IPV4地址空间的扩充.目前当我们用iOS设备连接上Wifi.4G.3G等网络时,设备被分配的地址均是IPV4地址,但是随着运营商和企业逐渐部署IP ...
- iOS 支持 IPv6
苹果的规定:2016年6月1日提交到App Store必须支持IPv6-only网络. 官方文档:https://developer.apple.com/library/mac/documentati ...
- 【微信要跪】 iOS 应用如何完全支持 IPv6-ONLY 网络?
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- 检查电脑链接的网络是否支持ipv6
测试方法一:在浏览器地址栏输入网址“http://test-ipv6.com/”,在页面会给出您的ipv6网络测试结果 测试方法二:在浏览器地址栏输入网址“http://ipv6.jmu.edu.cn ...
- 网络支持IPV6地址测试校验与思考
概述 大背景:随着移动端的快速扩张,互联网的规模越来越广阔,早于2011年耗尽的IPV4地址越来越无法满足互联网的网络地址需求,IPV6地址推广进入快车道.实际情况:近期公司应上级部门邀请对公司的主域 ...
- 配置阿里云ECS支持IPv6,解决苹果app审核失败问题
前几天iOS的App提交给苹果审核没通过,给出的原因是:该应用在 IPv6 的环境下无法使用.检查发现:阿里云优化过的系统没有启用IPv6协议,需要配置启用一下,但是只单独启用IPv6也是无法直接提供 ...
- linux centos6.5支持ipv6
1.用ifconfig查看有没有inet6 addr,我的这个已经支持了,如果不支持请看第二步. 2.vim /etc/sysconfig/network 把这句改成:NETWORKING_IPV6= ...
随机推荐
- How to change and add some params to request in Laravel controller?
$request->merge([ 'aae_id' => request('id', 0), 'foo' => 'bar', ]);
- eclipse打开出现Failed to create the java virtual machine
低配伤不起呀... 这个问题经常是由于创建JAVA 虚拟机时,内存不足导致的,怎么办呢? 1.找到这么个文件:eclipse.ini(在哪?与ECLIPSE.EXE在一起,在一起...) 2.修改里面 ...
- 生活类App原型制作分享-AnyList
AnyList是一款可以帮你创建购物清单,并且帮助你整理食谱的生活工具App,前面引导页采用图片+文字的方式,介绍App的用法,登录注册采用选项卡切换的方式,减少了页面切换的繁琐操作,在Mockplu ...
- response输出随机图片、定时刷新网页
第一招:利用response向浏览器输出图片: //获取验证码 在<img />标签内的src属性设为请求路径/verifyCode?goodsId=xxx&token=xxxxx ...
- 数据分析计算xgboost模块
一.安装xgboost方法 摘要:之前为了安装xgboost,少不了进入各种坑,但最终安装成功了!首先, 准备的工作:,下载mingw64,链接https://pan.baidu.com/s/1i5C ...
- python学习 day09 (3月14日)----函数
一.函数的进阶 1.1 动态参数 1.2* ** 1.3*args , **kwargs 1.4 函数的注释 1.5名称空间 1.6函数的嵌套全局变量 : 贴边写的局部变量 : 不是贴边写的. ''' ...
- Javascript php 异常捕获
JavaScript try 语句允许我们定义在执行时进行错误测试的代码块. catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块. JavaScript 语句 try 和 cat ...
- hdu-1042(大数+万进制)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 参考文章:https://blog.csdn.net/tigerisland45/article ...
- Python-IDLE实现清屏
1.将下面文件复制到命名为ClearWindow.py的文件下,移动到 …Python\Python36-32\Lib\idlelib下. ############################## ...
- Mysql正常启动之后默认使用的文件
--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugi ...