十六进制数系统
在介绍IPv6地址格式之前,我们将研究十六进制数字系统。十六进制是一种位置数系统,使用的基数为16(基数)。为了以可读格式表示值,该系统使用0-9符号表示从零到九的值,而AF表示从十到十五的值。十六进制中的每个数字都可以表示0到15之间的值。
[图片:转换表]地址结构
IPv6地址由128位组成,分为八个16位块。然后将每个块转换为以冒号分隔的4位十六进制数字。
例如,下面给出的是以二进制格式表示的128位IPv6地址,并分为八个16位块:
0010000000000001 0000000000000000 0011001000111000 1101111111100001 0000000001100011 0000000000000000 0000000000000000 1111111011111011
然后将每个块转换为十六进制并用’:’符号分隔:
2001:0000:3238:DFE1:0063:0000:0000:FEFB
即使转换为十六进制格式,IPv6地址仍然很长。IPv6提供了一些缩短地址的规则。规则如下:
规则1:舍弃前导零:
在0063的块5中,可以省略前两个0,例如(第5个块):
2001:0000:3238:DFE1:63:0000:0000:FEFB
规则2:如果两个以上的块包含连续的零,则将其全部省略,并用双冒号::代替,例如(第6和第7个块):
2001:0000:3238:DFE1:63::FEFB
连续的零块只能用::替换一次,因此,如果地址中仍然有零块,则可以将其缩小为单个零,例如(2nd block):
2001:0:3238:DFE1:63::FEFB
接口编号
IPv6具有三种不同类型的单播地址方案。地址的后半部分(最后64位)始终用作接口ID。系统的MAC地址由48位组成,以十六进制表示。MAC地址被认为是在全球范围内唯一分配的。接口ID利用了MAC地址的唯一性。主机可以使用IEEE的扩展唯一标识符(EUI-64)格式自动配置其接口ID。首先,主机将自己的MAC地址分为两个24位。然后,将16位十六进制值0xFFFE夹在这两个MAC地址中,得到EUI-64接口ID。
[图片:EUI-64接口ID ]将EUI-64 ID转换为IPv6接口标识符
要将EUI-64 ID转换为IPv6接口标识符,将对EUI-64 ID的最高7位进行补充。例如:
[图片:IPV6接口ID ]全球单播地址
此地址类型等效于IPv4的公共地址。IPv6中的全局单播地址是全局可识别且唯一可寻址的。
[图片:全球单播地址]全局路由前缀:最高有效的48位被指定为“全局路由前缀”,分配给特定的自治系统。全局路由前缀的三个最高有效位始终设置为001。
链接本地地址
自动配置的IPv6地址称为本地链接地址。该地址始终以FE80开头。链接本地地址的前16位始终设置为1111 1110 1000 0000(FE80)。接下来的48位设置为0,因此:
[图片:链接本地地址]链路本地地址仅用于链路(广播段)上的IPv6主机之间的通信。这些地址不可路由,因此路由器绝不会在链接外转发这些地址。
唯一本地地址
这种类型的IPv6地址是全局唯一的,但应在本地通信中使用。该地址的后半部分包含接口ID,前半部分分为前缀,本地位,全局ID和子网ID。
[图片:唯一本地地址]前缀始终设置为1111110。如果地址是本地分配的,则L位设置为1。到目前为止,L位为0的含义尚未定义。因此,唯一本地IPv6地址始终以“ FD”开头。
IPv6单播地址范围:
[图片:IPv6单播地址范围]链接本地地址的范围限于该段。唯一本地地址是本地全局的,但不通过Internet路由,因此其范围仅限于组织的边界。全球单播地址是全球唯一且可识别的。它们将成为Internet v2寻址的实质。