IPv6地址的表示方法
IPv6地址总长度为128比特,通常分为8组,每组为4个十六进制数的形式,每组十六进制数间用冒号分隔。例如:FC00:0000:130F:0000:0000:09C0:876A:130B,这是IPv6地址的首选格式。
为了书写方便,IPv6还提供了压缩格式,以上述IPv6地址为例,具体压缩规则为:
-
每组中的前导“0”都可以省略,所以上述地址可写为:FC00:0:130F:0:0:9C0:876A:130B。
-
地址中包含的连续两个或多个均为0的组,可以用双冒号“::”来代替,所以上述地址又可以进一步简写为:FC00:0:130F::9C0:876A:130B。
说明: 需要注意的是,在一个IPv6地址中只能使用一次双冒号“::”, 否则当计算机将压缩后的地址恢复成128位时,无法确定每个“::”代表0的个数。
IPv6地址的结构
一个IPv6地址可以分为如下两部分:
-
网络前缀:n比特,相当于IPv4地址中的网络ID
-
接口标识:128-n比特,相当于IPv4地址中的主机ID
说明: 对于IPv6单播地址来说, 如果地址的前三bit不是000,则接口标识必须为64位; 如果地址的前三位是000,则没有此限制。
接口标识可通过三种方法生成:手工配置、系统通过软件自动生成或IEEE EUI-64规范生成。其中,EUI-64规范自动生成最为常用。
IEEE EUI-64规范是将接口的MAC地址转换为IPv6接口标识的过程。如图1所示,MAC地址的前24位(用c表示的部分)为公司标识,后24位(用m表示的部分)为扩展标识符。从高位数,第7位是0表示了MAC地址全球唯一。转换的第一步将FFFE插入MAC地址的公司标识和扩展标识符之间,第二步将从高位数,第7位的0改为1表示此接口标识本地唯一。
图1 EUI-64规范示意图
例如:MAC地址:0