IPv6的地址类型和格式

十六进制数字系统

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

img

地址结构

IPv6地址由128位组成,被划分为8个16位块。 然后,每个块都会被转换为由冒号符号(:)分隔的4位十六进制数字。

例如,下面是以二进制格式表示的128位IPv6地址,它被分成了8个16位块:

0010000000000001 0000000000000000 0011001000111000 1101111111100001 0000000001100011 0000000000000000 0000000000000000 1111111011111011

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

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

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

规则1: 去掉前导零:

在第五块中,0063可以省略前导的两个零,例如:

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

规则2: 如果有两个或多个连续的零块,可以省略它们,并用双冒号(::)替代。 例如,在第6和第7块中:

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

连续的零块只能被替代一次。 如果地址中仍然有零块,它们可以被缩减为一个零,例如,在第二块中:

2001:0:3238:DFE1:63::FEFB

接口ID

IPv6有三种不同类型的单播地址方案,地址的后半部分(最后64位)始终用于接口ID。 系统的MAC地址由48位组成,通常以十六进制表示。 MAC地址被认为在全球范围内是唯一的。 接口ID充分利用了MAC地址的唯一性。 主机可以使用IEEE的扩展唯一标识符(EUI-64)格式来自动配置其接口ID。 首先,主机将自己的MAC地址分成两个24位的半部分。 然后,它在这两个半部分之间插入16位的十六进制值0xFFFE,生成EUI-64接口ID。

img

将EUI-64 ID转换为IPv6接口标识符

要将EUI-64 ID转换为IPv6接口标识符,需要在EUI-64 ID的最高有效位前补充一个位。 例如:

img

全局单播地址

全局单播地址等同于IPv4的公共地址。 IPv6中的全球单播地址是全球可识别的和唯一可寻址的。

img

  • 全局路由前缀:最高的48位分配给特定自治系统的全局路由前缀。 全局路由前缀的前三位总是设置为001。

链路本地地址

自动配置的IPv6地址被称为链路本地地址。 这些地址始终以FE80开头。 链路本地地址的前16位总是设置为1111 1110 1000 0000(FE80)。 接下来的48位设置为0,所以:

img

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

唯一本地地址

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

img

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

IPv6单播地址范围:

img

  • 链路本地地址的范围仅限于链路(广播段)。
  • 唯一本地地址是全局唯一的,但不会通过互联网路由,因此范围被限制在组织的边界。 全球单播地址是全球唯一且可识别的,它们被认为是互联网寻址的核心。
成功