2.1.4 内嵌RP地址的IPv6组播地址
1. 地址格式
嵌入式RP(Embedded RP)是IPv6 PIM中特有的RP发现机制,该机制使用内嵌RP地址的IPv6组播地址,使得组播路由器可以直接从该地址中解析出RP的地址。
图4 内嵌RP地址的IPv6组播地址格式
如图4所示,内嵌RP地址的IPv6组播地址使用基于单播前缀的IPv6组播地址格式,其中各字段的含义如下:
(1) Flags 字段的R、P 和T 位均置1,表示内嵌RP 地址的组播地址。
(2) Reserved:4 比特。保留字段,必须为0。
(3) RIID:4 比特。表示RP 地址的接口ID。
(4) Plen:8 比特。表示RP 地址前缀的有效长度(单位为比特)。
(5) Network prefix:64 比特。表示RP 地址前缀,有效长度由Plen 字段指定。
(6) Group ID:缩短为32 比特,含义不变。
2. 计算规则
内嵌于IPv6组播地址中的RP地址的计算规则如下:
(1) 先将IPv6 组播地址Network prefix 字段的前Plen 位作为RP 地址的网络前缀;
(2) 再将IPv6 组播地址RIID 字段填充到RP 地址的最低4 位;
(3) 最后,将RP 地址的所有剩余位补0。
例如:对于IPv6组播地址FF7E:F40:2001:DB8:BEEF:FEED::1234,内嵌于其中的RP地址的前缀为Network prefix字段的前Plen(这里为0x40 = 64 bits)位,最低4位与RIID字段同为0xF,其余位均为0,如图5所示。
图5 嵌入式RP计算举例
3. 应用举例
假设网络管理员想在2001:DB8:BEEF:FEED::/64网段中设置RP,则内嵌RP地址的IPv6组播地址为FF7x:y40:2001:DB8:BEEF:FEED::/96,可分配32比特的GroupID,内嵌于其中的RP 地址为2001:DB8:BEEF:FEED::y/64。
如果网络管理员想在IPv6组播地址中保留更多可分配的Group ID,可以选择更短的RP地址前缀:譬如取Plen = 0x20 = 32 bits,则此时内嵌RP地址的IPv6组播地址为
FF7x:y20:2001:DB8::/64,可分配64比特的Group ID,内嵌于其中的RP地址为
2001:DB8::y/32。
说明:本节中的x 表示任意合法的Scope,y 代表1~F 的任意一个十六进制数。