您的位置 首页 > 数码极客

【ipv6是什么意思啊】苹果推出IPv6是个什么鬼?英文不好的,看这篇文章就够了

投稿人:流星雨

不知道亲爱的iOS开发者昨晚是否遇到了这个问题。

截至美国东部时间5日中午(北京时间6日凌晨),苹果表示,应用商店恢复正常。

最新消息

今天苹果推出重磅消息,6月1日后所有应用必须支持IPv6-only网络!!!

当iOS开发者看到这个消息的第一反应可能就是IPv6是个什么鬼!!

其实IPv6早在很早之前就已经推出,而且苹果在2015年的开发者大会上就已经提出苹果将力挺IPv6 官网链接

IPv6-only

说了这么多,IPv6到底是个什么鬼!我们来看看百度百科是怎么解释的:

我们再来看看官方给出的IPv6与IPv4的对比:

看不懂??,我们来解释下:

1、IPv6:避免了网络地址转换(NAT)

2、通过网络通过使用简化的头提供了更快的路由

3、防止网络分段

4、避免广播邻居地址解析

说了这么多,我们来看看在iOS开发中,如何实现IPv6

开发中使用IPv6

不建议使用底层的网络API

下图展示的蓝色部分的这些API都是不存在兼容性问题的,而我们平时自己用的包括那些第三方的网络库大部分都是用的这些API。

大部分情况下,我们用高级的API完全能够实现我们的需求,而且高级API封装的很便于使用,很多底层的像适配IPv6的工作都已经帮我们做好了。

而用底层API会有大量的工作要我们自己来做,更容易产生bug。

但你如果确实需要用底层的POSIX socket API, 请参照这个RFC4038: Application Aspects of IPv6 Transition的指导。

PS:系统自带的网络类已经支持了IPv6我们只需放心使用就好,例如NSURLSession等;

不要直接使用IP地址

比如下面这个API,nodename这个参数不要传IP地址,而应该用域名

这个方法在著名的第三方Reachability中是用到的,我们常用的第三方网络库AFNetworking就用了这个。

所以用到的同学得好好查一下了。

检查不兼容IPv6的代码

搜一下工程里有没有下面的这些API,这些都是只针对IPv4做处理的,有的话就删了。

如果用到了下面左边的这些IPv4的类型,那么它们相应的IPv6类型也需要做处理

本地搭建IPv6测试环境

最后我们来搭一个IPv6的测试环境吧,你所需要的就是一台用非Wi-Fi的方式上网的Mac电脑。

我们的要做的其实就是用Mac做一个热点,然后用iPhone连接这个Wi-Fi,听起来很容易,我相信大家在公司就是这么干的吧。

区别是这次我们产生的是一个本地的IPv6 DNS64/NAT64网络,这项功能是OS X 10.11新加的。

和我们以前开启热点方式不一样的地方在于,我们在“System Preferences”界面选中“Sharing”的同时,要按住“Option”键。

之后在“Sharing”界面中,我们会看到和之前不一样的地方,就是红框所标的地方,多了一个叫“Create NAT64 Network”的选框,选中它。

之后就是按照正常的创建热点的流程走完就行了。

现在我们用iPhone连接上这个刚创建好的热点就可以测试了,注意此时要把iPhone设成飞行模式,以保证只用Wi-Fi上网。

参考官方原文,长按下方二维码全都是英文,看懂的可以看英文哈!

目前蓝鸥已经入驻微信订阅号,简书,头条号,欢迎你们的投稿。【各大媒体平台,直接搜索蓝鸥即可找到】

热爱分享,提高自己的个人知名度,我们提供舞台,等你来战!投稿详情可以咨询小编哟!蓝鸥账号ID:lanou3g

提供分享技术,传递智慧,让技术更简单。

关于作者: admin

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐