IPv6 地址类型

来源:百度文库 编辑:神马文学网 时间:2024/04/29 05:56:04
在 RFC 2373 中指定了几种 IPv6 类型的寻址方案(IPv6 寻址结构)。IPv6 地址是接口和接口集的 128 位标识符。RFC 2373 为 IPv6 定义了多种地址格式,IPv6 地址大致分为以下几类:
单播
单一接口的地址。发送到单播地址的数据包被送到由该地址标识的接口。
任意播放
一组接口的地址。大多数情况下,这些接口属于不同的节点。发送到任意播送地址的数据包被送到由该地址标识的其中一个接口。由于使用任意播送地址的标准尚在不断完善中,所以目前 HP-UX 不支持任意播送。
多播
一组接口的地址(通常分属不同节点)。发送到多播地址的数据包被送到由该地址标识的每个接口。
与 IPv4 不同,在 IPv6 中没有广播地址,因为这一功能已被多播功能代替。
IPv6 地址的文本表示

有三种常规格式可用于以文本字符串形式表示 IPv6 地址:
第一种形式是 x:x:x:x:x:x:x:x,其中,“x”是十六进制数值,分别对应于 128 位地址中的八个 16 位区段。例如:
2001:fecd:ba23:cd1f:dcb1:1010:9234:4088
一些 IPv6 地址可能包含一长串零位。为了便于以文本方式描述这种地址,制定了一种特殊的语法。“::”的使用表示有多组 16 位零。“::”只能在一个地址中出现一次,可用于压缩一个地址中的前导、末尾或相邻的 16 位零。例如:
fec0:1:0:0:0:0:0:1234 可以表示为 fec0:1::1234
当处理拥有 IPv4 和 IPv6 节点的混合环境时,可以使用 IPv6 地址的另一种形式。即 x:x:x:x:x:x:d.d.d.d,其中,“x”是 IPv6 地址的 96 位高位顺序字节的十六进制值,“d”是 32 位低位顺序字节的十进制值。通常,“映射 IPv4 的 IPv6 地址”以及“兼容 IPv4 的 IPv6 地址”可以采用这种表示法表示。这两种地址将在后面的章节中讨论。
例如:
0:0:0:0:0:0:10.1.2.3
以及
::10.11.3.123
IPv6 地址前缀

IPv6 地址前缀与 IPv4 中的 CIDR 相似,并写入 CIDR 表示法中。IPv6 地址前缀由该表示法表示为: IPv6-address/prefix-length 其中,“IPv6-address”是用上面任意一种表示法表示的 IPv6 地址,“prefix-length”是一个十进制值,表示前缀由多少个最左侧相邻位构成。例如:
fec0:0:0:1::1234/64。
地址的前 64 位“fec0:0:0:1”构成了地址的前缀。在 IPv6 地址中,地址前缀用于表示 IPv6 地址中有多少位表示子网。
单播地址

IPv6 单播地址分为多种类型,分别是全局可聚集单播地址、站点本地地址以及链路本地地址。通常,单播地址在逻辑上分为如下几种:
n 位
128-n 位
子网前缀
接口 ID
IPv6 单播地址中的接口标识符用于在链路中标识接口。接口标识符在该链路中必须是唯一的。链路通常由子网前缀标识。
如果一个单播地址的所有位均为零,那么该地址称为未指定的地址。以文本形式表示为“::”。
单播地址“::1”或“0:0:0:0:0:0:0:1”称为环回地址。节点向自己发送数据包时采用环回地址。
 
IPv4 和 IPv6 的兼容性

可以通过很多技术在 IPv6 地址框架内使用 IPv4 地址。
兼容 IPv4 的 IPv6 地址
IPv6 转换机制使用一项技术以遂道操作方式在现有的 IPv4 结构上传输 IPv6 数据包。支持这种机制的 IPv6 节点使用一种特殊的 IPv6 地址,这种地址通过其低位顺序的 32 位携带 IPv4 地址。因此,这种地址称为“兼容 IPv4 的 IPv6 地址”,表示如下:
80 位
16
32 位

0000
IPv4 地址
例如:
::192.168.0.1
映射 IPv4 的 IPv6 地址
有一种特殊类型的 IPv6 地址,其中包含嵌入的 IPv4 地址。可以采用这种地址将只支持 IPv4 的节点的地址表示为 IPv6 地址。该地址特别适用于既支持 IPv6 又支持 IPv4 的应用程序。因此,这种地址称为“映射 IPv4 的 IPv6 地址”,表示如下:
80 位
16
32 位

FFFF
IPv4 地址
例如:
::ffff:192.168.0.1
可聚集全局单播地址
全局单播地址是在全局范围内唯一的 IPv6 地址。在 RFC 2374 中,对该地址格式进行了全面的定义(一种 IPv6 可聚集全局单播地址格式)。格式如下:
3 13 8 24 16 64 位
FP TLA ID RES
NLA ID
SLA ID
Interface ID
例如:
::ffff:192.168.0.1
其中FP = Format prefix(格式前缀),对于可聚集全局单播地址,其值为“001”TLA ID = Top-level Aggregation Identifier(顶级聚集标识符)RES = Reserved for future use(保留以备将来使用)NLA ID = Next-Level Aggregation Identifier(下一级聚集标识符)SLA ID = Site-Level Aggregation Identifier(站点级聚集标识符)
Interface ID = Interface Identifier(接口标识符)
链路本地地址
链路本地地址具有以下几种格式:
10 位 54 位 64 位
1111111010 0 接口 ID
链路本地地址用于在单个链路上对节点进行寻址。来自或发往链路本地地址的数据包不会被路由器转发。
站点本地地址
站点本地地址具有以下几种格式:
10 位 38 位 16 位 64 位
1111111011 0 子网 ID 接口 ID
站点本地地址应在同一站点内使用。路由器不会转发任何站点本地源地址或目标地址是站点外部地址的数据包。
多播地址
多播地址是一组节点的标识符。多播地址具有下列格式:
8 位 4 位 4 位 112 位
11111111 标志 范围 组 ID
地址开头的“FF”标识该地址是一个多播地址。
“标志”字段是一组四个标志“000T”。高位顺序的三位是保留位,必须为零。最后一位“T”说明它是否被永久分配。如果该值为零,说明它被永久分配,否则为暂时分配。
“范围”字段是一个四位字段,用于限制多播组的范围。例如,值“1”说明该多播组是一个节点本地多播组。值“2”说明其范围是链路本地。
“组 ID”字段标识多播组。以下是一些常用的多播组:所有节点地址= FF02:0:0:0:0:0:0:1(链路本地)
所有路由器地址= FF02:0:0:0:0:0:0:2(链路本地)所有路由器地址= FF05:0:0:0:0:0:0:2(站点本地)