IPv6的随记

一、什么是IPV6

首先IPV6,是对IPV4地址空间的扩充。目前当我们用iOS设备连接上Wifi、4G、3G等网络时,设备被分配的地址均是IPV4地址,但是随着运营商和企业逐渐部署IPV6 DNS64/NAT64网络之后,设备被分配的地址会变成IPV6的地址,而这些网络就是所谓的IPV6-Only网络,并且仍然可以通过此网络去获取IPV4地址提供的内容。客户端向服务器端请求域名解析,首先通过DNS64 Server查询IPv6的地址,如果查询不到,再向DNS Server查询IPv4地址,通过DNS64 Server合成一个IPV6的地址,最终将一个IPV6的地址返回给客户端。




二、检查不兼容IPv6的代码

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

inet_addr()

inet_aton()

inet_lnaof()

inet_makeaddr()

inet_netof()

inet_network()

inet_ntoa()

inet_ntoa_r()

bindresvport()

getipv4sourcefilter()

setipv4sourcefilter()

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

IPV4

IPV6

AF_INET

AF_INET6

PE_INET

PE_INET6

struct in_addr

Struct in_addr6

struct sockadd_in

struct sockaddr_in6

kDNSServiceProtocol_IPv4

kDNSServiceProtocol_IPv6

IPv4--IPv6



三、本地搭建IPv6测试环境

需要的就是一台用非Wi-Fi的方式上网的Mac电脑,产生的是一个本地的IPv6 DNS64/NAT64网络,这项功能是OS X 10.11新加的。

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

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

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



四、解决办法

1.升级AFN3.0+

2.升级ShareSDK3.3+


搭建IPv6的环境

参考文章:http://jingyan.baidu.com/article/0bc808fc56a9bf1bd585b96d.html

你可能感兴趣的:(IPv6的随记)