1.简介
本技术规范定义了I P v 6 的寻址体系结构。包括当前定义的I P v 6地址格式的详细描述。
作者衷心感谢Paul Francis, Scott Bradner, Jim Bound, Brian Carpenter, Matt
Crawford,Deborah Estrin, Roger Fajman, Bob Fink, Peter Ford, Bob Gilligan, Dimitry Haskin,
Tom Harsch,Christian Huitema, Tony Li, Greg Minshall, Thomas Narten, Erik Nordmark, Yakov
Rekhter, Bill S i m p s o n 和Sue Thomson 所做的努力。
2. IPv6 寻址
I P v 6 地址为接口和接口组指定了1 2 8 位的标识符。有三种地址类型:
• 单播。一个单接口有一个标识符。发送给一个单播地址的包传递到由该地址标识的接口上。
• 任意点播。一般属于不同节点的一组接口有一个标识符。发送给一个任意点播地址的包传送到该地址标识的、根据选路协议距离度量最近的一个接口上。
• 组播。一般属于不同节点的一组接口有一个标识符。发送给一个组播地址的包传递到该地址所标识的所有接口上。
在I P v 6 中没有广播地址,它的功能正在被组播地址所代替。在本文中,刂纺诘淖侄胃?枰桓龉娑ǖ拿?郑??纭坝没А薄5泵?趾蠹由媳晔斗?黄鹗褂?如“用户I D ”)时,则用来表示名字字段的内容。当名字和前缀一起使用时(如“用户前缀”)则表示一直到包括本字段在内的全部地址。
在I P v 6 中,任何全“0 ”和全“1 ”的字段都是合法值,除非特殊地排除在外的。
特别是前缀可以包含“0 ”值字段或以“0 ”为终结。
2.1 寻址模型
所有类型的I P v 6 地址都被分配到接口,而不是节点。一个I P v 6 单播地址属于单个接口。因为每个接口属于单个节点,多个接口的节点,其单播地址中的任何一个可以用作该节点的标识符。所有接口至少需要有一个链路本地单播地址(见2 . 8 节额外需要的地址)。
一个单接口可以指定任何类型的多个I P v 6 地址(单播、任意点播、组播)或范围。具有大于链路范围的单播地址,对这样的接口是不需要的,也就是从非邻居或者到非邻居的这些接口,不是任何I P v 6包的起源或目的地。这有时适用于点到点接口。对这样的寻址模型有一个
例外:
如果处理多个物理接口的实现呈现在I n t e r n e t 层好像一个接口的话,一个单播地址或一组单播地址可以分配给多个物理接口。这对于在多个物理接口上负载共享很有用。
目前的I P v 6 延伸了I P v 4 模型,一个子集前缀与一条链路相关联。多个子集前缀可以指定给同一链路。
2.2 地址的文本表示
用文本串表示的I P v 6 地址有三种规范形式:
(1) 优先选用的形式为x : x : x : x : x : x : x : x :,其中x 是8 个1 6 位地址段的十六进制值。
例如:
FEDC : BA98 : 7654 : 3210 : FEDC : BA98 : 7654 : 3210
1080 : 0 : 0 : 0 : 8 : 800 : 200C : 417A
个别字段中前面的0 可以不写,但是每段必须至少有一位数字( ( 2 )中描述的情形除外)。
(2) 在分配某种形式的I P v 6 地址时,会发生包含长串0 位的地址。为了简化包含0 位地址的书写,指定了一个特殊的语法来压缩0 。使用“::”符号指示有多个0 值的16 位组。“::”符号在一个地址中只能出现一次。该符号也能用来压缩地址中前部和尾部的0 。
用下面的例子来说明:
1 0 8 0 : 0 : 0 : 0 : 8 : 8 0 0 : 2 0 0 C : 4 1 7 A 单播地址
F F 0 1 : 0 : 0 : 0 : 0 : 0 : 0 : 1 0 1 组播地址
0 : 0 : 0 : 0 : 0 : 0 : 0 : 1 回返地址
0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 未指定地址
可用下面的压缩格式表示:
1 0 8 0 : : 8 : 8 0 0 : 2 0 0 C : 4 1 7 A 单播地址
F F 0 1 : : 1 0 1 组播地址
: : 1 回返地址
: :未指定地址
(3) 当谈到I P v 4 和I P v 6 节点这样一个混合环境时,有时更适合于采用另一种表示
形式:x : x : x : x : x : x : d . d . d . d ,其中x 是地址中6 个高阶1 6 位段的十六进制值,d 是
地址中4 个低价8 位段的十进制值(标准I P v 4 表示)。举例说明:
0 : 0 : 0 : 0 : 0 : 0 : 1 3 . 1 . 6 8 . 3
0 : 0 : 0 : 0 : 0 : F F F F : 1 2 9 . 1 4 4 . 5 2 . 3 8
写成压缩形式为:
: : 1 3 . 1 . 6 8 . 3
: : F F F F. 1 2 9 . 1 4 4 . 5 2 . 3 8
2.3 地址前缀的文本表示
I P v 6 地址前缀的表示方式和I P v 4 地址前缀在C I D R 中的表示方式很相似。一个
I P v 6 地址前缀可以表示为如下的形式:
I P v 6 地址/前缀长度
其中,I P v 6 地址是2 . 2 节中表示的任何形式的I P v 6 地址。而前缀长度是组成前缀
的十进制值,说明地址最左边的连续的地址位的长度。
例如,6 0 位长的前缀1 2 A B 0 0 0 0 0 0 0 0 C D 3 (十六进制)可用下面的合法格式来表
示:
1 2 A B : 0 0 0 0 : 0 0 0 0 : C D 3 0 : 0 0 0 0 : 0 0 0 0 : 0 0 0 0 : 0 0 0 0 / 6 0
1 2 A B : : C D 3 0 : 0 : 0 : 0 : 0 / 6 0
1 2 A B : 0 : 0 : C D 3 0 : : / 6 0
但是,下面的表示方式是不合法的。
1 2 A B : 0 : 0 : C D 3 / 6 0
在任何一个1 6 位段的地址块中,可以省略前部的0 。但
不能省略尾部的0 。
1 2 A B : : C D 3 0 / 6 0
/左边的地址会展开成1 2 A B : 0 0 0 0 : 0 0 0 0 : 0 0 0 0 : 0 0
0 0 : 0 0 0 : 0 0 0 0 : C D 3 0
1 2 A B : : C D 3 / 6 0
/左边的地址会展开成1 2 A B : 0 0 0 0 : 0 0 0 0 : 0 0 0 0 : 0 0 0
0 : 0 0 0 : 0 0 0 0 : 0 C D 3
当书写节点地址和它的子网前缀两者时,可以组合成如下表示:
节点地址:
1 2 A B : 0 : 0 : C D 3 0 : 1 2 3 : 4 5 6 7 : 8 9 A B : C D E F
和它的子网号:
1 2 A B : 0 : 0 : C D 3 0 : : / 6 0
可以缩写成为:
1 2 A B : 0 : 0 : C D 3 0 : 1 2 3 : 4 5 6 7 : 8 9 A B : C D E F / 6 0
2.4 地址类型表示
一个I P v 6 地址的具体类型是由地址的前面几位来指定的。包含这前面几位的可变长
度字段称为格式前缀( F P )。这些前缀的初始分配如下:
分配
前缀(二进制)
占地址空间的百分率
――――――――――――――――――――――――――――
保留
0000 0000
1 / 2 5 6
未分配
0000 000
11 / 2 5 6
为N S A P地址保留
0000 001
1 / 1 2 8
为I P X 地址保留
0000 010
1 / 1 2 8
未分配
0000 011
1 / 1 2 8
未分配
0 0 0 0 1
1 / 3 2
未分配
0 0 0 1
1 / 1 6
可集聚全球单播地址
0 0 1
1 / 8
未分配
0 1 0
1 / 8
未分配
0 11
1 / 8
未分配
1 0 0
1 / 8
未分配
1 0 1
1 / 8
未分配
11 0
1 / 8
未分配
111 0
1 / 1 6
未分配
1111 0
1 / 3 2
未分配
1111 10
1 / 6 4
未分配
1111 11 0
1 / 1 2 8
未分配
1111 1110 0
1 / 5 1 2
链路本地单播地址
1111 1110 10
1 / 1 0 2 4
站点本地单播地址
1111 1110 11
1 / 1 0 2 4
组播地址
1111 1111
1 / 2 5 6
注:(1) 未指定地址(见2 . 5 . 2 节)、回返地址(见2 . 5 . 3 节),和嵌入I P v 4 地址的I P v 6 地址(见2 . 5 . 4 节)的分配在格式前缀空间0 0 0 0 - 0 0 0 0 以外。
(2) 除了组播地址( 1111 1111 )外,格式前缀空间0 0 1 到111 ,在E U I - 6 4 格式中都要求必须有64 位接口标识符。参见2 . 5 . 1 节中的定义。
这样的分配方案支持可集聚地址、本地用地址和组播地址的直接分配,并有保留给N S A P地址和I P X 地址的空间。其余的地址空间留给将来用。可用于已有使用的扩展(如附加可集聚地址等)或者新的用途(如将定位符和标识符分开)。地址空间的1 5 %是初始分配的,其余8 5 %的地址空间留作将来使用。单播地址和组播地址是由地址的高阶字节值来区分的:值为F F ( 1111 1111 )标识一个地址为组播地址,其他值则标识一个地址为单播地址。任意点播地址取自单播地址空间,和单播地址在语法上是无法区分的。
2.5 单播地址
I P v 6 单播地址是用连续的位掩码集聚的地址,类似于C I D R 的I P v 4 地址。I P v 6 中的单播地址分配有多种形式,包括全部可集聚全球单播地址、N S A P 地址、I P X 分级地址、站点本地地址、链路本地地址以及运行I P v 4 的主机地址。将来还可以定义另外的地址类型。
I P v 6 节点对I P v 6 地址的内部结构可能知之甚多或知之甚少,这是由节点的作用决定的(例如,主机还是路由器)。在最简单的情况下,节点把单播地址(包括它本身)看成是无内部结构的、如下图所表示的1 2 8 位地址。
|
128 bits
&n
bsp;
| 16 |
32 位
|
+--------------------------------------+--------------------------+
|0000..............................0000|0000|
IPv4 地址