RFC4921:IPv6 寻址结构

摘要

  本标准定义了 IPv6 协议的寻址结构,包括 IPv6 寻址模式,IPv6 地址的文本表示,IPv6 单播地址、任播地址和多播地址的定义,以及 IPv6 节点需要的地址。

  本文件废止了 RFC 3513 (“IP Version 6 Addressing Architecture)。

1 前言

  本标准定义了 IPv6 协议的寻址结构。包括各种类型 IPv6 地址(单播、任播和多播)的基本格式。

2 IPv6 寻址

  IPv6 地址是接口和接口组(接口的定义请参考 [IPv6] 第 2 章)的标识符,占 128 比特。

  有三种类型的地址:

  • 单播地址:单一接口的标识符。发送到单播地址的分组被交付给由该地址标识的接口。
  • 任播地址:一组接口(通常属于不同节点)的标识符。发送到任播地址的分组被交付给由该地址标识的接口组中的一个接口(最近的接口,这里的最近是按照路由协议测量出来的)。
  • 多播地址:一组接口(通常属于不同节点)的标识符。发送到多播地址的分组被交付给由该地址标识的所有接口。

  IPv6 不使用广播地址,广播地址的功能由多播地址代替。

  本文中,地址中的字段被赋予了特定的名称,例如“子网”。当在名称后面加上标识符 ID 后(例如,子网 ID),就表示该命名字段的内容。当这样的名称与术语“前缀”一起使用时(例如,子网前缀),就表示从左边开始直到包括这个字段在内的全部地址。

  在 IPv6 中,对于任何字段,除非特殊规定,全 0 和全 1 是合法的。特别地,前缀可以包含 0 值字段,或者以 0 值字段作为结尾。

2.1 寻址模式

  所有类型 IPv6 地址都是分配给接口的,而不是分配给节点的。IPv6 单播地址指向单一接口。由于每个接口都属于单一节点, 所以节点的任何一个接口的单播地址都可以用作该节点的标识符。

  所有的接口都至少需要一个链路本地单播地址(参考第 2.8 节,额外需要的地址)。单个接口也可以有多个任何类型(单播、任播和多播),或任何范围的 IPv6 地址。Unicast addresses with a scope greater than link-scope are not needed for interfaces that are not used as the origin or destination of any IPv6 packets to or from non-neighbors.This is sometimes convenient for point-to-point interfaces. 这里有一个例外:   

  • 如果在实现过程中,即使有多个物理层接口,但是它们呈现在网络层时只需要表现为一个接口,就可以将一个单播地址或者一组单播地址分配给这些物理接口。这样做有利于多个物理接口上的负载均衡。

与 IPv4 一脉相承的是,IPv6 的子网前缀也被关联到一个链路上。多个子网前缀可以分配给同一链路。

2.2 地址的文本表示

有三种将 IPv6 地址表示为文本串的约定格式:

  • 首选格式是 x:x:x:x:x:x:x:x,其中 ‘x’ 由 1 到 4 个十六进制组成,8 个 ‘x’ 构成一个 IPv6 地址。例如:

    • ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
    • 2001:DB8:0:0:8:800:200C:417A
      • 注意:可以省略各个字段中前面的若干个 0,但是每个字段中至少要有 1 个 数字(除下面第二种格式之外)。
  • 由于需要分配特定类型的 IPv6 地址, 地址中经常包括一长串 0。为简化包含长 0 位地址的书写,采用特殊句法压缩 0 的个数。 即用::表示 1 个或多个 0 值 16 位组。::在地址中仅可以出现一次。::也用于压缩地址中开始位置和结束位置的多个 0。例如,下列地址:

    • 2001:DB8:0:0:8:800:200C:417A
    • FF01:0:0:0:0:0:0:101
    • 0:0:0:0:0:0:0:1
    • 0:0:0:0:0:0:0:0

      可以分别表示为

    • 2001:DB8::8:800:200C:417A
    • FF01::101
    • ::1
    • ::
  • 在混用 IPv4 节点和 IPv6 节点的环境中,一种替代地址格式有时更为方便,这种地址格式是x:x:x:x:x:x:d.d.d.d。 其中,“x”是地址的 6 个高阶 16 位地址片的 16 进制值,“d”是地址的 4 个低阶 8 位地址片的 10 进制值(标准的 IPv4 地址表示)。例如:

    • 0:0:0:0:0:0:13.1.68.3
    • 0:0:0:0:0:FFFF:129.144.52.38

      或压缩形式:

    • ::13.1.68.3
    • ::FFFF:129.144.52.38

      2.3 地址前缀的文本形式

      2.4 地址类型表示

      2.5 单播地址

      2.5.1 接口标识符

      2.5.2 未指定地址和

      2.5.3 回环地址

      2.5.4 IPv6 地址嵌入 IPv4 地址

      2.5.6 链路本地 IPv6 单播地址

      2.5.7 站点本地 IPv6 单播地址

      2.6 任播地址

      2.6.1

      2.7 多播地址

      2.7.1 预定义的多播地址

      2.8

      3 安全考虑

      4 INIA 考虑

      5 致谢

      6 参考文献

      6.1 标准类参考文献

      6.2 信息类参考文献

      附录 A:创建改进的 EUI-64 格式的接口标识符

      附录 B:对 RFC 3513 的改动