首页 > > > IPv6 --- 基础
人都不愿意做改变,尤其是没有必要的改变。这句话套在IPv6上非常合适。尽管提出之初就是为了取代IPv4,但是在已经提出的二十年后的今天,IPv6的使用率还远不及IPv4。从下图[1]看,世界上IPv6普及率最好的国家是:美国,印度和比利时。全世界的IPv6普及率只有23.34%。对于我国来说,著名事件就是去年工信部联合各大企业发文要支持IPv6[2]。

--
IPv6的出发点就是因为IPv4地址不够用了。而互联网IPv4耗尽的传闻,就像石油100年后要用完一样,是一个事实,但是这个事实又不断的因为新的技术的出现得到缓解。先来看看IPv4地址的使用情况吧。
IPv4地址由IANA(互联网地址编号机构)管理,并分配给5大地区管理机构。在2011年的时候,IANA就宣布IPv4中央地址池已经耗尽。而5大地区:
这里的用尽并不是真的用光了,而是地区管理机构可用的IP地址已经下降到了一定的阈值。例如APNIC,名义上2011年就耗尽了IPv4地址,但是现在还能从最后一个 /8 网段(103开头)和一些回收的IPv4地址池分配地址。
总的来说,IPv4地址基本处于用尽的地步,现在想要申请IPv4地址,可以:
(1)向所在的地区管理机构申请剩余的IPv4地址
(2)向ISP(互联网服务提供商)租用的IPv4地址
(3)在IPv4的开放市场(如果有的话)购买地址
而IPv6协议下,因为IPv6地址是128位的,并且IANA为每个地区管理机构分配了一个 /12 的IPv6地址,这样的地址空间在可预期的将来是使用不完的。

--
从名字上看,IPv6就是IPv4的升级版,无非就是版本4升级到版本6。所以看到IPv6,很多人的直观反应是如何从IPv4升级到IPv6。但是实际上,IPv6是一种与IPv4基本完全独立的网络层协议。整个工作机制有相似的地方,但是支撑网络层的协议都重新定义了。实现IPv6并不是简单的升级,而是重新实现一套网络层协议。
整体来看,IPv6报文与IPv4报文差别就两个地方,一个是数据链路层(以太网协议)中协议类型,IPv4是0x0800,IPv6是0x86DD;另一个是IPv6 Header是40字节,IPv4只有20字节。

具体到网络层头部内容可以看出,IPv6根本没有考虑要兼容IPv4,这或许是IPv6推进缓慢的原因之一。除了version,source address,destination address以外,其他的一些field,就算功能一样,例如TTL和Hop Limit,但是名字和位置也变了。具体的差别有:

IPv6还有一个潜在的区别,所有的主机和转发设备必须最少支持MTU 1280,而IPv4下,这个值是68。
--
初看IPv6地址可能会觉得比较复杂,但是本质上,IPv6地址是由bit组成,它的表示方法是为了让人更好的记住和书写这些地址。从最标准的角度来看,一个IPv6地址是这样:
0010 0000 0000 0001 0000 1101 1011 1000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0101 0010
0000 0000 0000 0000 0000 0000 0000 0001 为了简化,第一步是用16进制表示地址,因此上面的地址可以表示为8段16进制数:
2001:0db8:0000:0000:0000:0052:0000:0001 这已经是一个完全合法的IPv6地址了。但是在实际应用中,要记住这么一串地址基本不可能,尤其某些场合还不能复制黏贴。不得不说,IPv6地址太长也是阻碍IPv6发展的另一大因素。
为了进一步简化,每一段地址起始的0可以不用写出来(写出来也合法)。任一段,如果少于4个字符,则认为前面用0补齐至4个字符。如果一段全是0,可以用单个0来表示。因此上面的地址可以表示为:
2001:db8:0:0:0:52:0:1 为了进一步简化,任何全0组成的1个或者多个连续地址段,可以用双冒号 “::” 表示。但是在IPv6地址中,不能出现两个双冒号。双冒号应当用于尽可能缩短地址。因此上面的地址可以简化成:
2001:db8::52:0:1 这就是一个常见IPv6地址的形态,虽然还是很长,但是相比较之前的形态已经简化了很多。
--
在IPv6协议(RFC2460/8200)提出的20年后来看, IPv6的发展仍然不温不火,Google统计了其站点访问中,IPv6的占比[3],近几年稍好一些,以5%的增速在挤压IPv4。

从长远来看,IPv6占主导是必然的,这就跟现在的能源领域,石油要耗尽,发展新能源是一样的。在现在的网络设备和操作系统中,基本都已经支持了IPv6。究竟是什么原因使得IPv6没有占主导?
[1] https://stats.labs.apnic.net/ipv6
[2] http://www.miit.gov.cn/n1146295/n1652858/n1652930/n3757020/c6154756/content.html
[3] https://www.google.com/intl/en/ipv6/statistics.html#tab=ipv6-adoption
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31509949/viewspace-3126385/ ,如需转载,请注明出处,否则将追究法律责任。