教程 > IPv6 教程 > IPv6 教程 阅读:578

IPv6 地址类型

十六进制数

在介绍 IPv6 地址格式之前,我们先了解一下十六进制数字系统。十六进制是使用基数为 16 的位置数字系统。为了使得十六进制的值阅读方便,该系统使用 0-9 符号表示从 0 到 9 的值,使用 A-F 表示从 10 到 15 的值。十六进制中的每个数字都可以表示 0 到 15 之间的值。

下表是十进制-二进制-十六进制数之间的换算表

十进制 二进制 十六进制
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

地址结构

IPv6 地址由 128 位组成,分为八个 16 位块。然后将每个块转换为由冒号分隔的 4 位十六进制数。

例如,下面给出的是一个以二进制格式表示的 128 位 IPv6 地址,并分为八个 16 位块:

0010000000000001 0000000000000000 0011001000111000 110111111100001 0000000001100011 0000000000000010101010101010101010

然后将每个块转换为十六进制并用冒号(:)符号分隔:

2001:0000:3238:DFE1:0063:0000:0000:FEFB

即使转换为十六进制格式后,IPv6 地址仍然很长。IPv6 提供了一些规则来缩短地址。规则如下:

规则 1:丢弃前导零:

像上面地址的第5块, 0063,前两个0可以省略,如下所示

2001:0000:3238:DFE1:63:0000:0000:FEFB

规则 2:如果两个以上的块包含连续的零,则将它们全部省略并用双冒号 :: 替换,例如(第 6 和第 7 块):

2001:0000:3238:DFE1:63::FEFB

连续的零块只能被 :: 替换一次,所以如果地址中还有零块,它们可以缩小为单个零,例如(第二块):

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。

IPv6-EUI64-Interface-ID

EUI-64 ID 到 IPv6 接口标识符的转换

要将 EUI-64 ID 转换为 IPv6 接口标识符,需对 EUI-64 ID 的最高有效第 7 位进行补码。例如:

IPv6-Interface-ID


全球单播地址

此地址类型等效于 IPv4 的公共地址。IPv6 中的全球单播地址是全球唯一的,并且是可识别和寻址的。

IPv6-全球单播地址结构

全局路由前缀:最高有效的 48 位被指定为全局路由前缀,分配给特定的自主系统。全局路由前缀的三个最高有效位始终设置为 001。

自动配置的 IPv6 地址称为链路本地地址。该地址始终以 FE80 开头。链路本地地址的前 16 位始终设置为 1111 1110 1000 0000 (FE80)。接下来的 48 位设置为 0。如下所示

IPv6-链路本地地址

链路本地地址仅用于链路(广播段)上 IPv6 主机之间的通信。这些地址是不可路由的,因此路由器永远不会将这些地址转发到链路之外。

唯一本地地址

这种类型的 IPv6 地址是全球唯一的,但应该在本地通信中使用。该地址的后半部分包含接口 ID,前半部分分为前缀、L位、全局 ID 和子网 ID。

IPv6-唯一本地地址

前缀始终设置为 1111 110。L 位,如果地址是本地分配的,则设置为 1。到目前为止,L 位为 0 的含义尚未定义。因此,唯一本地 IPv6 地址始终以“FD”开头。

IPv6 单播地址的范围:

IPv6 单播地址范围

链路本地地址的范围仅限于段。唯一本地地址在本地是全球性的,但不通过 Internet 路由,因此将其范围限制在组织的边界内。全球单播地址是全球唯一且可识别的。他们是未来 Internet v2 寻址方式的核心。

查看笔记

扫码一下
查看教程更方便