通常见到的124.33.24.116这种形式的是ipv4版本的地址,这种地址由32位二进制数表示。ipv6是一种新的ip地址的表示方式形如fc80::2367:7cff:fed2:abc9,由128位二进制数表示。以电话号码为例,本来4位数的电话号码就能够一个城市的居民使用,但是随着电话的普及,安装电话的家庭超过了9999户,4位数的电话号码就不够用了。如果改成8位的电话号码,那么就够99999999户居民使用。ipv6和ipv4就类似8位电话号码和4位电话号码的关系,当然对比更夸张。ipv4总量一共42.9亿个,还没有全球人口多,面临使用枯竭问题,尤其是物联网时代的临近,每个家用电器可能都需要一个公网ip。ipv6地址资源可以认为无限多,一种说法是地球上每一粒沙子都有一个地址,另一种说法是地球上每平方米会有1000个ipv6地址,按照保守的说法,每平方米有1000个ip地址,也足够物联网时代万物互联用了。
我国ipv6网络的普及远不如欧美日。因此现在ipv6的普及已经上升到国家战略,各行业信息系统都要经历一次ipv6改造的阶段。这个阶段是一个比较长期的过程。因为大部分信息系统都是基于ipv4地址来通信的,而ipv4的地址和ipv6的地址无法通信。好比4位电话号码可以给4位电话号码打电话,8位电话号码可以给8位电话号码打电话,但是4位电话号码没法给8位电话号码打电话,8位也没法打通4位。就是说如果两个节点使用ipv6协议通信,节点和节点之间的整个链路必须都支持ipv6才能访问通。只要有一个环节不支持,就和电话线断了一样,是无法通信的。
如何测试自己的网络环境是否支持ipv6呢?大家首先打开手机浏览器或者打开电脑浏览器,地址输入http://test-ipv6.com。如果你看见的是下面这样,说明你的设备没有分配ipv6地址。
如果是下面这样,说明设备分配了ipv6地址。
有ipv6地址是不是就可以访问ipv6的系统呢?参考我上面的描述,必须全链路都支持ipv6才行。http://IPv6.baidu.com这个地址是ipv6单栈的结构,如果使用ipv4的设备访问它会报错,链路有不支持ipv6的设备也会报错。
我无论用有ipv6地址的设备还是用没有ipv6地址的设备都无法成功访问IPv6.baidu.com。应该就是设备到网站之间的链路的某部分设备不支持ipv6地址导致的吧。可见我国的网络环境对ipv6的支持率比较低,各部分需要较长的时间来升级。如果你的某个设备能访问通IPv6.baidu.com,说明你到这个网站之间的链路设备都支持ipv6,恭喜你可以提前体验浏览ipv6网站的感觉了。