址进行区分。
全球单播地址的通用格式在2.5.4节中有述。全球单播地址的某些特殊用途的子类型,包含了一个内嵌的IPv4地址(用于IPv4-IPv6互操作)在节中有述。
未来的规范可能会为其他用途而重新定义一个或多个“子域”的全球单播空间,但是除非直到发生,实践中必须将所有的不以上表所列前缀为开头的地址视为全球单播地址。 单播地址
IPv6单播地址可以以前缀的任意bit长度做聚合,这一点与IPv4的无类域间路由(CIDR)相似。
有几种类型的IPv6单播地址,详细地,有全球单播(global unicast),站点本地单播(site-local unicast) 和链路本地单播(link-local unicast)。也有一些全球单播特殊之用的子类型,如内嵌IPv4的IPv6地址,或者是编了码的NSAP(网络服务接入点)的IPv6地址。另外的地址类型或子类型在将来会有所定义。
IPv6结点可能会对IPv6地址的内部结构知道的很多或很少,这要看结点所充当的角色(例如,路由器还是主机)。最小的情况,结点认为单播地址(包括结点自身的)没有内部结构:
128 bits 结点地址
一个稍稍复杂的主机(但仍是相当简单)可能又会知道它所连接链路的子网前缀,此时,不同的地址可能有不同的n值:
n bits 子网 前缀 128-n bits 接口 ID 尽管一个非常简单的路由器可能不清楚IPv6单播地址的内部结构,但是路由器通常更熟知一级或多级路由协议的操作的层次边界。了解的边界因路由器而异,主要是取决于路由器所处的路由层次的位置。
2.5.1接口标识符
IPv6单播地址的接口标识被用于标识一个链路上的接口。要求在子网前缀中唯一。建议不要将同一个标识符分配给同一链路上的不同接口。它们也可能在更广范围内唯一。在某些情况下,接口标识符源于接口链路层地址。同一个接口标识符可以用于同一个结点的不同接口上,只要这些接口与不同的子网相连。
注意到接口标识符的唯一性不依赖IPv6地址的唯一性。例如:以一个非全球范围的接口标识符可以生成一个全球单播地址,而一个站点本地地址可由一个全球范围的接口标识符生成。
对于所有的单播地址,除了那些以二进制数000开始的地址,要求接口ID必须是64bit长并以改进EUI-64的格式创建。
基于接口标识符的改进EUI-64格式当源于一个全球令牌(如:IEEE 802 48-bit MAC或IEEE EUI-64 标识符[EUI64])时,可能有全球范围;或是当获得不到(例如,串行链路,隧道末端等等)全球令牌时,或是全球令牌不合需要(如,私用[PRIV]临时令牌)时,有本地范围。
改进EUI-64格式接口标识符是当从IEEE EUI-64标识符形成接口标识符时通过颠倒“u”比特(在IEEE EUI-64术语中称 universal/local 比特)形成的。在做为结果的改进EUI-64格式中,“u”比特设值为1表示全球范围,设置成0表示本地范围。IEEE EUI-64标识符最前面的3个字节的二进制表示如下:
0 0 0 1 1 1
0 7 8 5 6 3
cccc ccug cccc cccc cccc cccc
以因特网标准比特顺序书写,“u”表示universal/local位,“g”表示个人/团体位,“c”是表示company-id的比特位。附录A:“生成改进EUT-64格式的接口标识符”提供了例子,说明如何生成基于接口标识符的改进EUI-64格式。
将“u”比特翻转的动机是更易于系统管理员在硬件令牌不可用的情况下手工配置非全球标识符。可以想象用在在像串口链路,隧道末端等这样的情形。该替代方式的格式是0200:0:0:1,0200:0:0:2,等,并不是更简单的1,2等。
在改进EUI-64 格式标识符中的universal/local比特的使用允许未来技术的发展能够以全球范围利用接口标识符。
形成接口标识符的细节在适当的“IPv6 over ”规范中有定义。如“IPv6 over Ethernet”[ETHER],“IPv6 over FDDI”[FDDI]。
2.5.2未指明地址
地址:0:0:0:0:0:0:0:0被称作未指明地址。这一地址不能分派给任何结点。它指示一个地址的缺乏。一个使用的例子就是一个初始化主机不知道自身的地址
之前,发送IPv6数据包中包含的源地址字段值。
未指明地址不能用于IPv6数据包及IPv6路由包头的目的地址字段。一个源地址为未指明地址的IPv6数据包不允许被IPv6路由器转发。
2.5.3环回地址
单播地址0:0:0:0:0:0:0:1被称作环回地址。用于结点可能向自己发送IPv6报文。它也许从不分配给一个物理接口。被认为具有一个本地链路范围的地址,也可被认为是一个不到任何地方的虚链路上的虚接口的链路本地单播地址。(代表性的称为“环回接口”)。
环回地址不允许用于从单一结点发出去的IPv6数据报的源地址字段。一个目的地为环回地址的IPv6数据包不允许发送到本结点之外,也绝不能被IPv6路由器转发。丢弃从一个接口上收到的目的地为环回地址的报文。
2.5.4全球单播地址
IPv6全球单播地址的通用格式如下:
n bits
全球路由前缀
m bits
子网 ID
128-n-m bits
接口ID
其中:
全球路由前缀(Global routing prefix)分配给一个站点(子网或链路的一个集群)的(典型地,为分级结构的)值;子网ID(subset ID)是站点内部的一个链路的标识符;接口ID(Interface ID)同2.5.1中定义。
除了以000二进制数开头的全球单播地址,都有一个64-bit的接口ID字段(也就是说n+m=64),如2.5.1节所述安排格式。以二进制000开头的全球单播地址没有这样对接口ID字段的尺寸和结构做限制。
以二进制000开头的全球单播地址的例子如2.5.5节所述的内嵌IPv4地址的IPv6地址,和包含编码NSAP地址的IPv6地址,后者在[NSAP]有所详述。一个以非000二进制数开头的全球单播地址(因此,有一个64-bit的接口ID字段)的例子可在[AGGR]中找到。
2.5.5内嵌IPv4的IPv6地址
IPv6过渡机制[TRAN]包括了一种技术,使得主机和路由器能自动地将IPv6数据报文封装,并穿越IPv4的基础网络。使用这一技术的IPv6结点分配到了一个特殊的IPv6单播地址,该地址在低32比特位承载了全球IPv4地址。这个地址类型称为“ipv4兼容IPv6地址”,并有格式:
80 bits
0000………………………………0000
16 bits 0000
32 bits
IPv4 地址
注意,用在“IPv4兼容IPv6地址”中的IPv4地址必须是全球唯一的IPv4单播地址。
第二种类型的IPv6地址含有一个嵌入的IPv4地址,这一地址类型以IPv6地址代表IPv4结点地址,称为“IPv4映射的IPv6地址”,并有格式: