80 bits
0000………………………………0000
16 bits FFFF
32 bits
IPv4 地址
2.5.6本地使用的IPv6单播地址
已定义了两种本地使用的单播地址:链路本地(link-local)和站点本地(site-local)地址。链路本地用在单一链路上,站点本地用在单一站点中。链路本地地址有如下格式:
10 bits
10
54 bits
0
64 bits
接口 ID
链路本地地址被设计用来在单一链路上的寻址,用在诸如自动地址配置,邻居发现,或是没有路由器在场的情况下。
路由器不允许转发任何以链路本地地址为源地址的数据包,也不允许转发目的地为到其他链路的链路本地地址的数据包。
站点本地地址有如下格式:
10 bits
11
54 bits
子网 ID
64 bits
接口 ID
站点本地地址被设计用来当不需要用全球地址前缀时,在一个站点内部寻
址。虽然子网ID长度可达54bit,但是希望与全球地址相连的站点在站点本地前缀和全球前缀上的子网ID值相同。
路由器不允许转发源地址为站点本地的数据包,也不允许将目的地为站点本地的数据包转发出本地站点。 任播地址
任播地址是分配给多个(大于1个)接口(典型情况下,属于不同结点)的一个地址,发送到任播地址的具有任播属性的数据包被路由到具有该地址的按照路由协议测量距离“最近的”接口。
任播地址是从单播地址空间分配的,使用任何已定义了的单播地址格式。因此,任播地址从语法上与单播地址无法进行区分。当一个单播地址被配置到多于一个的接口上,就转变成一个任播地址,分配了该地址的结点必须做明确地配置,以知道该地址是一个任播地址。
对于任何一个已分配的任播地址,有一个最长前缀P,指出分配了该任播地址的其他接口所属的拓扑区域。在P所标识的区域,任播地址必须做为路由系统维护的个别的表项(即通常所说的“主机路由”);在P未标识的区域,可以按P前缀聚合任播地址成为路由表项。
注意最差的情况就是一个任播地址集合的P前缀可能是空前缀,即集合中的成员可能没有拓扑位置。这种情况下,任播地址必须做为单独的路由表项在整个Internet网络中进行维护,这样又引发了一个严重的比例限制,即可以支持多少个这样的“全球”任播集合?因此,不希望对这种全球任播地址做支持或严格限制这种支持。
任播地址是打算用来识别属于某个组织的路由器集合,该组织提供因特网服务。这些地址可用于IPv6路由包头的中间地址,使一个包通过某个特定的服务供应商或一系列服务供应商进行传递。
其他可能的用法是用于识别与一个特殊子网相连的路由器的集合,或是识别提供一个表项的路由器集合,该表项通往某个特殊路由域。
广泛并自由的使用任播地址的经验非常少,当以完全一般性的方式[ANYCST]使用任播地址时,存在一些已知的复杂性和危险性。直到获得更多的经验和指明的解决方案,对IPv6任播地址实施以下的限制:
? 任播地址不允许用于IPv6数据包的源地址字段;
? 任播地址不允许分派给IPv6主机,即只能分派给IPv6路由器。
注:主机路由是一种针对特定IPv6地址的路由。主机路由允许以IPv6地址为基础进行路由操作。对于主机路由,路由前缀是一个具有128位前缀的特定IPv6地址。
2.6.1必需的任播地址
子网路由器(Subset-Router)任播地址是预定义的。格式如下:
n bits
子网前缀(subset prefix)
128-n bits
000000000000
任播地址中的子网前缀,标识了一个特殊链路的前缀。链路上接口标识符为0的接口的任播地址和单播地址在符完全相同。
发向子网路由器任播地址的数据包将被送到该子网中的一台路由器。所有在
某一子网上有接口存在的路由器都必须支持该子网路由器任播地址。 多播地址
一个IPv6多播地址是一组接口(典型的属于不同结点)的标识符。一个接口可属于任意数目的多播组。多播地址的格式如下:
8
4 4 112 bits
组ID(group ID)
flgs scop
地址中开头的二进制指出该地址做为一个多播地址。 flgs是一个4个标志位的集合: +-+-+-+-+ |0|0|0|T| +-+-+-+-+
高三位标志位做为保留位,且必须初始化为0;
T=0表示一个永久指派(“知名(well-known)”)组播地址,由IANA(互联网地址分派机构)指派的。
T=1 表示一个非永久指派(“临时(transient)”)组播地址。
scop是一个多播范围值,用于限制多播组的范围。值是:
0 :保留(reserved)
1 :接口本地范围(interface-local scope)
2 :链路本地范围(link-local scope) 3 : 保留(reserved)
4 :管理本地范围(admi-local scope) 5 :站点本地范围 (site-local scope) 6 : (未指派的)(unassigned) 7 : (未指派的)(unassigned)
8 :组织机构本地范围(organization-local scope) 9 :(未指派的)(unassigned) A :(未指派的)(unassigned) B :(未指派的)(unassigned) D :(未指派的)(unassigned) E :全球范围(global scope) F :(未指派的)(unassigned)
接口本地范围的跨度为一个结点的单一接口,只对多播的环回传送有用。
链路本地和站点本地范围的跨度与相应单播范围的拓扑区域相同。 管理本地范围是必须管理配置的最小区域,即不能从其他物理连通性或其他非多播关联的配置中自动得到的。
组织机构本地范围意欲跨越属于单个组织的多个站点。
标识为“(未指派的)”的范围为管理者使用,用以定义额外的多播区域。