IPv6地址结构 RFC 3513
1.前言
本文描述了ipv6的地址结构,ipv6 地址的文本表示,IPv6的单播地址、任播地址,多播地址以及IPv6结点所必须的地址的定义。
IPv6的不同的地址的基本格式(单播,任播,以及多播)。
2.IPv6选址
IPv6地址是对接口或接口集合的128-bit的标识符。有三种类型的地址:
单播(Unicast):针对一个接口的标识符。一个发向单播地址的数据包被送往该地址所确定的接口。
任播(Anycast):接口的一个集合的标识符(代表性的属于不同结点)。一个发向任播地址的数据包被发送到为该地址所标识的一集接口之一(即,按照路由协议的测量距离的“最近的”接口)。
多播(Multcast):接口的一个集合的标识符。一个发向多播地址的数据包被发往所有以该地址做标识的接口。
在IPv6中,没有广播地址,广播地址的功能被多播地址的能力所取代。
本文中,给地址字段一个种名,如“子网(subnet)”。当一个做标识符用的“ID”跟在种名后面一起使用(如“subset ID”),则表示种名字段的内容。当它和一个“prefix”的术语一起使用时(如“subset prefix”),它指所有的从左一直到并包含本字段的所有地址。
在IPv6中,除非明确声明排除,则所有全0或全1的字段值是合法的。特定的,前缀可能包含,或以全0字段值结束。
地址模型
所有类型的IPv6地址分配给接口,而不是分配给结点。一个IPv6单播地址与单个接口相关。由于每个接口只属于一个结点,故任何一个结点的单播地址可用来做为结点的标识。
所有接口必须至少有一个单播link-local地址(见结点必需的地址)。一个接口也可能有多个任意类型的或任意范围的IPv6地址(单播,任播和多播)。不做为来自或发送到非邻居的IPv6包的源或目的的接口不需要用超出链路范围的单播地址。这对于点到点的连接的接口有时是非常方便的。这个地址模型有一个例外:
在执行中,如果将多个物理接口视为一个接口,当它出现在网络层时,一个单播地址或一个单播地址集可能被分配到多个物理接口上。这有利于在多个物理接口上进行负载分担。
当前,IPv6沿用IPv4模型中的子网前缀关联一条链路。多个子网前缀可分配到同一条链路上。
地址的文本表示
有三种惯用方式用文本字符串表示IPv6地址:
1. 首选方式x:x:x:x:x:x:x:x,x是16进制数组成的一块,用以表示一个16bit的二进制数。8个块组成一个地址。
例如:FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
1080:0:0:0:8:800:200C:417A
注意:在每个单独的字段,没有必要写前面的0,但是每个字段至少有一个数值。
2. 由于分配某些风格的IPv6地址的方法不同,地址中包含一长串0是很平常的。为了易于书写包含多个0bit的地址,可用一种简单语法来压缩这些0。 用“::”来表示一组或多组0。“::”只可在地址中出现一次。“::”也可用来压缩地址中打头和末尾的0。
例如:
1080:0:0:0:8:800:200C:417A 一个单播地址 FF01:0:0:0:0:0:0:101 一个多播地址 0:0:0:0:0:0:0:1 loopback地址 0:0:0:0:0:0:0:0 未指明地址
可表示如下:
1080::8:800:200C:417A 一个单播地址 FF01::101 一个多播地址 ::1 loopback地址 :: 未指明地址
3. 当处理IPv4和IPv6结点都存在的混合环境时,使用一种可替代的形式即:x:x:x:x:x:x:有时要更方便些。
X 表示处于6个地址高位的16-bit的16进制数;d表示处于地址低4位的8-bit的10进制数(标准IPv4表示式)。例如:
0:0:0:0:0:0:或者为压缩表达式: ::地址前缀的文本表达式
IPv6的地址前缀表达式与IPv4的地址前缀CIDR记法【CIDR】相仿。IPv6的地址前缀记法:
Ipv6-address/prefix-length 其中:
IPv6-address 是所列出的任何一种IPv6的地址记法。
Prefix-length 一个十进制数值,指出地址包含前缀的最左连续bit数。
例如:下面是的60-bit的12AB00000000CD3(16进制) 前缀的合法表示:
12AB:0000:0000:CD30:0000:0000:0000:0000/60 12AB::CD30:0:0:0:0/60 12AB:0:0:CD30::/60
下面是该前缀不合法的表示: 12AB:0:0:CD3/60
可以丢掉地址中16-bit块中打头的0,但是末
尾的0不可省
12AB::CD30:/60
/左侧的地址展开后为:
12AB:0000:0000:0000:0000:0000:0000:CD30 12AB::CD3/60
/左
侧
的
地
址
展
开
后
为
:
12AB:0000:0000:0000:0000:0000:0000:0CD3
当同时写结点的地址和它的地址前缀(如结点的子网前缀)时,可以组合的写为:
结点地址:12AB:0:0:CD30:123:4567:89AB:CDEF 它的子网号:12AB:0:0:CD30::/60
简写为:12AB:0:0:CD30:123:4567:89AB:CDEF/60 地址类型的标识
IPv6的地址类型的是由地址字段的高位比特来标识。如下所示: 地址类型 未指明的 环回地址 多播地址 链路本地单播地址 站点本地单播地址 全球单播地址 二进制前缀 00…0(128bits) 00…1(128bits) 10 11 (其余所有地址) IPv6记法 ::/128 ::1/128 FF00::/8 FE80::/10 FEC0::/10 章节 2.5.2 2.5.3 2.5.6 2.5.6 任播地址从单播地址空间(任何范围的)获得,并且不在语法上与单播地