IPv4协议是目前广泛部署的因特网协议,在因特网发展初期,IPv4以其协议简单、易于实现、互操作性好的优势而得到快速发展。但是众所周知目前使用的IPv4地址长度为32位,2的32次方大约43亿个IP地址,已无法满足互联网发展的需要,于是需要更高版本的IP协议更多数量的IP地址。IPV6地址扩充为128位,能产生2的128次方个IP地址,其资源几乎是无穷的,号称可以为每一粒沙子分配一个地址。那么这海量的IPv6地址空间是如何进行运用的呢,本篇先详细介绍一下IPv6地址的格式以及它的分类。
IPv6地址表示方法IPv6地址由网络前缀和接口标识两个部分组成。网络前缀有n位,相当于IPv4地址中的网络ID;接口标识有(128-n)比特,相当于IPv4地址中的主机ID。
IPv6地址长度为128位,表示为"X:X:X:X:X:X:X:X", 每个X代表4个十六进制值字符,以冒号分隔,一共被分为8组。为了书写方便,IPV6地址支持地址压缩格式,压缩规则如下:
- 每段的前面的0可以省略。比如:FE80:0210:1100:0006:0030:A4FF:000C:0097/64压缩后的书写格式为FE80:210:1100:6:30:A4FF:C:97/64。
- 地址中一个或多个全0字段0000可以用双冒号“::”来代替。比如:FF02:0000:0000:0000:0000:0000:0000:0001/64压缩后的书写格式为FF02::1/64。
注意:在一个IPv6地址中只能使用一次双冒号“::”,否则当计算机将压缩后的地址恢复成128位时,无法确定每个“::”代表0的个数。
IPv6地址分类IPv6地址分为单播地址、任播地址、组播地址三种类型。和IPv4相比,取消了广播地址类型,同时增加了任播地址类型。
1. IPv6单播地址(Unicast)
IPv6定义了多种单播地址,目前常用的单播地址有:
(1)全球单播地址:全球单播地址是带有全球单播前缀的IPv6地址,其作用类似于IPv4中的公网地址。其格式如下图所示:
全球单播地址由全球路由前缀(Global routing prefix)、 子网ID(Subnet ID)和接口标识(Interface ID)组成:
- 全球路由前缀:由提供商指定给一个组织机构,通常全球路由前缀至少为48位。目前已经分配的全球路由前缀的前3bit均为001。
- 子网ID:组织机构可以用子网ID来构建本地网络(Site)。子网ID通常最多分配到第64位。子网ID和IPv4中的子网号作用相似。
- 接口标识:用来标识一个设备(Host),与IPv4中的主机ID作用相似。
举例:IPv6地址2001:1111:2222:ABCD::1/64,全球路由前缀为2001:1111:2222,子网ID为ABCD,接口ID为::1,网络前缀为2001:1111:2222:ABCD
(2)链路本地地址:链路本地地址是IPv6中的应用范围受限制的地址类型, 只能在连接到同一本地链路的节点之间使用,它相当于IPv4里面的169.254.0.0/16地址。它使用了特定的本地链路前缀FE80::/10(最高10位值为1111111010),默认情况下从11bit到64bit设置为0,而剩下的64bit,使用接口的MAC地址扩展为64位进行填充标识。链路本地地址的格式如下图所示: