tea 发表于 2013-1-16 00:17:55

PIM-SM DR指定路由器以及 PIM-DM指定前转器的区别

很多同学将PIM-SM DR指定路由器以及 PIM-DM指定前转器的概念搞混,这里做个解释,希望能帮助大家理清。
1、PIM-SM DR 指定路由器



PIM在每一个多路访问网络,使用PIM HELLO消息选择一个DR。
    我们看上面这个图,先看左侧,源以及PIM路由器R1和R2共处一个BMA(广播多路访问)网络,那么产生自源的组播数据,R1、R2都能接收到,如果两者都向RP发起Register并转发组播数据,那不就扯淡了么?因此我们在这个MA网络中进行DR选举,DR将负责向RP发起register以及负责将来自源的组播数据转发给RP,非DR当然就暂时先歇着了。
    我们再看右侧接受者与R3、R4共处一个MA网络,如果R3与R4都加入RPT共享树并且向这个MA网络转发组播数据,那么接受者将收到重复的组播数据,这实际上是没有意义的,因此在这里也选DR,由DR负责向RP发送Join消息并且形成RPT的分支,最终将接受者所在网络拉到共享树上,另外它也负责将树上的组播流量转发给接受者。
所以,总结一下:

[*]靠近源的DR(如上图R2)负责将source的组播数据发给RP(以及发送Register消息);
[*]靠近接受者的DR(如上图的R4)负责向RP发送Join消息从而形成共享树,也就是负责将接受者拉到共享树(同时负责将来自源的组播数据转发给接收者)。


DR主要用于稀疏模式,其次用于密集模式。但当接口上启用了IGMPv1的话,由于IGMPv1没有查询路由器选举机制,因此PIM-DR与IGMP查询路由器的身份重叠,也就是说IGMPv1的查询路由器选举机制需依赖于PIM的DR选举。

2、PIM-DM指定前转器(Assert机制)

PIM-DM这个协议比较“执拗”,不管三七二十一,先把组播流量泛洪到网络中,不需要流量的人再剪枝,泛洪-剪枝,如此反复,最终形成SPT最短路径树,或者源树。这么操作其实在上面的拓扑环境中就存在一个问题,上图中,同一个LAN有两台路由器,如果两台路由器都从RPF接口收到组播流量,并且都进行转发,那么MA网络就收到重复的数据了,这时候就要选出转发路由器,由这个指定前转器负责转发组播流量。
这是通过Assert消息实现的,Assert消息中包括源和组的地址、发送者到源的单播路由的度量与发现这条路由的路由协议的AD管理距离。
比较标准如下:

[*]先比较AD值
[*]如果AD值相等,那么比较各自到源的metric (两者运行同样的单播路由协议,离源更近的优选)
[*]如果以上都相等,那么最高IP的那个成为转发路由器

选举出来后,转发路由器继续向多路访问网路发送组播流量,而其他的路由器停止发送,并把下游接口从输出接口表中删除。
具体的操作是如下:

[*]R1、R2都向网络中转发组播流量
[*]他们在这个接口上收到他人发往(S,G)的组播流量,则向这个子网发送Assert消息
[*]Assert消息中包含如下内容,在收到对方发来的Assert后进行比较。








红茶三杯(朱SIR)
网络工程 | 项目管理 | IT服务管理 | CCIE培训
沉淀 提升 成长 分享
微博:http://weibo.com/vinsoney
博客:http://blog.sina.com.cn/vinsoney

liqiaohuang 发表于 2013-1-16 11:13:05

沙发 哈哈-lol-

jkrh9 发表于 2013-1-16 11:39:25

我就搞混了DR和Assert--

bookpig 发表于 2013-1-16 14:39:19

表示支持。

子杰 发表于 2013-1-18 14:10:32

叔,V5555555
页: [1]
查看完整版本: PIM-SM DR指定路由器以及 PIM-DM指定前转器的区别