IPv6 - 地址类型和格式
十六进制数字系统
在介绍 IPv6 地址格式之前 , 我们将研究十六进制数字系统。十六进制是使用 16 的基数 ( 基数 ) 的位置数字系统。为了以可读格式表示值 , 该系统使用 0 - 9 个符号表示从 0 到 9 的值 , 使用 A - F 表示从 10 到 15 的值。十六进制中的每个数字都可以表示从 0 到 15 的值。
[ 图像 : 转换表 ]
地址结构
IPv6 地址由 128 位组成 , 分为 8 个 16 位块。然后将每个块转换为由冒号分隔的 4 位十六进制数。
例如 , 下面给出的是一个 128 位 IPv6 地址 , 以二进制格式表示 , 并分为八个 16 位块 :
0010000000000001 0000000000000000 0011001000111000 110111111111100001 000000000001100011 000000000000000000000000 1111111011111011
然后将每个块转换为十六进制 , 并用 “: ” 符号分隔 :
2001: 0000: 3238: DFE1: 0063: 0000: 0000: FEFB
即使转换为十六进制格式后 , IPv6 地址仍然很长。 IPv6 提供了一些缩短地址的规则。规则如下:
Rule.1: 丢弃前导零 (es):
在块 5 , 0063 中 , 可以省略前导的两个 0 , 例如 ( 第 5 块 ) :
2001: 0000: 3238: DFE1: 63: 0000: 0000: FEFB
Rule.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 夹在 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 。
[ 图片 : 唯一本地地址 ]
前缀始终设置为 1111 110 。如果地址是本地分配的 , 则 L 位设置为 1 。到目前为止 , 尚未定义 L 位到 0 的含义。因此 , Unique Local IPv6 地址始终以 'FD' 开头。
IPv6 单播地址的范围 :
[ 图像 : IPv6 单播地址范围 ]
链接本地地址的范围仅限于网段。唯一本地地址是本地全局的 , 但不通过 Internet 路由 , 从而将其范围限制在组织的边界。全局单播地址是全局唯一且可识别的。它们应构成 Internet v2 寻址的本质。