IP Multicast: PIM-SM Auto-RP and BootStrap

来源:互联网 发布:西部数码域名批量查询 编辑:程序博客网 时间:2024/04/30 23:27
转载于: http://blog.sina.com.cn/s/blog_4b5039210102e112.html

关于RP的产生方法,RFC里讲了四种,除了静态的不必说,最常用的是Cisco Auto-RP 和 BootStrap(RFC5059)了。两种机制的原理差不多,但是貌似是Auto-RP先出现的,然后Bootstrap后出现的IP <wbr>Multicast: <wbr>PIM-SM <wbr>Auto-RP <wbr>and <wbr>BootStrap。在多个RPcandidate竞选的过程中,auto-RP只根据IP地址来判断,IP地址最大的获胜,但是BSR稍微高级一点,它是先比较竞选者的优先级,只有在优先级相同的时候,具有最高的IP的candidateRP才会获胜。

1. Auto-RP

Auto-RP的机制基本是分两步:

(1)RP候选者每隔一段时间发送RP-Announce messages到一个组播地址224.0.1.39,此地址是专门为RP-Announce消息保留的。 这个意思就是,“我要当RP,我要当RPIP <wbr>Multicast: <wbr>PIM-SM <wbr>Auto-RP <wbr>and <wbr>BootStrap

(2)当一个RP的mapping agent映射代理收到这个RP-Announce消息后,会发送一个RP-Discovery消息到组播地址224.0.1.40宣告完整的group-to-RP映射列表,以60秒的间隔发送到组播地址224.1.1.40,所有的CiscoPIM-SM路由器都会侦听此地址,从而得知RP信息。(假如从多个RP候选者收到RP-Announce消息,这个映射代理会做一个选举的过程,根据IP地址最高的,选出一个RP,其实mappingagent的意义便在此了,即多个RP候选即Redundant RPs的时候,方显威力)。

举个栗子:

IP <wbr>Multicast: <wbr>PIM-SM <wbr>Auto-RP <wbr>and <wbr>BootStrap

其中R2和R3配置candidate RP,R3为mapping agent.
两个C-RP都会往组播地址224.0.1.39发送auto-rp的announce包,如下:
IP <wbr>Multicast: <wbr>PIM-SM <wbr>Auto-RP <wbr>and <wbr>BootStrap
注意几个地方:
(1) 组播目的地址是224.0.1.39
(2) 是基于UDP的
(3) 可以配置group,就是可以指定这个RP是做哪些group的RP
IP <wbr>Multicast: <wbr>PIM-SM <wbr>Auto-RP <wbr>and <wbr>BootStrap
可以通过access-list来指定
作为mappingagent的R3会收到这些announce,然后决定哪个是RP(IP地址最大),然后发出Discovery消息到224.0.1.40:
IP <wbr>Multicast: <wbr>PIM-SM <wbr>Auto-RP <wbr>and <wbr>BootStrap


2. Bootstrap Router。
Auto-RP是Cisco的私有协议,那么工业标准会有一个bootsraprouter,原理跟auto-RP其实是差不多的,配置也相似,不过message不同,它用的PIMv2里的两种type消息。
RP是怎么选出来的呢?还是同样的拓扑,R2和R5都做了配置是candidate-RP,在不改变优先级的情况下,谁的IP地址最大,谁就是活动RP,但是如果因为某些原因,R2发出的RP竟选消息只被R1收到,而R5发出的RP竟选消息只被R4和R3收到,那么R1会认为R2是RP,而R4和R3都会认为R5是RP,那么这样一来,网络中路由器得到的RP信息就变的不一致,从而导致组播故障,所以一个网络中,谁才是活动的RP,并不能让每台路由器自己去计算结果,因为可能会出现大家计算出不同的结果。要解决这个问题,方法就是在网络中选举出一个RP裁判,称为BSR,而所有C-RP将自己竟选RP的消息统一发送到BSR,是通过单播发向BSR的,最后由BSR从收到的竟选消息中,选择出活动RP,再将活动RP的地址统一发给网络的每台路由器,这样就能保证每台路由器得到的消息都是统一的,每台路由器获知的RP地址都是统一的。而C-RP发出的竟选消息是Candidate-RP-Advertisement。而BSR是通过路由器发送Bootstarp选出的,每一台候选BSR(C-BSR都)有一个0到255范围的优先级,默认为0,优先级相同的情况下,IP地址最高的为BSR。Candidate-RP-Advertisement和Bootstarp都是60秒发送一次
我们主要看一下message的结构:
IP <wbr>Multicast: <wbr>PIM-SM <wbr>Auto-RP <wbr>and <wbr>BootStrap
type=4的PIMv2是Bootstrap消息。
IP <wbr>Multicast: <wbr>PIM-SM <wbr>Auto-RP <wbr>and <wbr>BootStrap
type=8是candidate-RP-advertisement
IP <wbr>Multicast: <wbr>PIM-SM <wbr>Auto-RP <wbr>and <wbr>BootStrap

先到这。



原创粉丝点击