multicast-13 DR的作用

Posted meili333

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了multicast-13 DR的作用相关的知识,希望对你有一定的参考价值。

DR 的作用

1 如果是dense mode ,DR 只有在叶路由器和组成员之间运行,IGMPV1时,用DR作为igmp querier (如果有两个末跳路由器,由其中一台发送通用查询消息)V1现在不用了

2 如果是sparse mode ,DR负责在多个第一跳路由器之间决定发起register message 的路由器,在多个叶路由器之间决定发起S,G join/prune message 的路由器

可见DR在sparse mode中是相当重要的。

 

实例

技术图片

 

图中R3做为RP

不管你使用哪种方法

BSR,AUTO-RP 或者是STATIC都行,我就要R3成为RP就行

技术图片

 

对于第一种情况,有两个第一跳路由器,究竟则谁来向RP发送注册消息呢?

我们抓包来看一下,先别管图中的标记

先让PC加组,然后由SERVER去发送数据

 技术图片

 

 通过抓包可以很明显的看出来,是R2最终发送的注册消息,

为什么呢?

这和 DR的选举有关

 

DR选举

1 对比优先级,越大越优,默认是1   show ip pim neighbor 可以查看

2 如果优先级相同,则对比IP地址,越大越优

 

修改优先级

Inter f0/1  //连接源的接口
Ip pim dr-priority x

清空组播路由表,然后再查看neighbor 就会发生变化,并且系统会有提示消息

技术图片

 

 技术图片

 

此时可以通过neighbor表看出来,所有的设备接口Priority 都是1, 是一个默认值 没有办法比较,那只能对比接口了,

R1f0/1接口Ip 192.168.1.1

R2f0/0接口IP 192.168.1.2

2>1 那就是R2胜利了,

最终由R2向外发送注册消息

但是图中标注的是由R1来担任DR

怎么办?

改呗

将R1的f0/1 接口priority 改大

R1(config)#inter f0/01
R1(config-if)#ip pim dr-priority 10   修改为10 这个值的范围还是挺大的,0-4294967294

技术图片

 

改完之后,看到系统提示消息,

DR 由原来的192.168.1.2 变成了192.168.1.1 在f0/1口上。

技术图片

 

再到R2上查看,此时看到的R1就成了新的DR

再去请求数据时,通过抓包就能看到则R1向外发送register消息了

技术图片

 

完全没有问题

再来看另一侧,

有两个末跳路由器,

看看是谁最终发送出来的*,G join 消息/ prune消息呢?

 

现在让PC离组

pc(config-if)#no ip igmp join-group 224.1.1.1

技术图片

 

通过抓包可以看到,是R5最终发出来的消息,并且是一个prune 消息,

这也是通过了DR的选举

Priority 都是1 没有改过

但是R5的f0/1口IP 是192.168.2.5

     R4的F0/1口IP 是192.168.2.4

对比IP,肯定是R5做为DR

但是图中标注的是由R4当DR

我们再来修改一下就没好了 

(config-if-range)#inter f0/1
R4(config-if)#ip pim dr
R4(config-if)#ip pim dr-priority 10

然后让PC加组

看看这次是谁会发送join 消息呢?

技术图片

 

 可以看到,是由R4发出的join 消息

 

另外做为此时的PC接收者,他凭什么就将加组消息发向R4呢?

这个和IGMP 中的查询者有关,谁的地址小谁就是查询者,负责和接收者这边建立IGMP的联系。

并且PC并不是单播发送的IGMP report 消息,而是发送的到目标组地址

 

 

------------------------------------

CCIE成长之路  --- 梅利 

 

以上是关于multicast-13 DR的作用的主要内容,如果未能解决你的问题,请参考以下文章

刷新片段不再起作用?

这些 C++ 代码片段有啥作用?

java代码在片段活动中不起作用

DR与BDR有啥作用?如何选举?

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

替换或删除后台堆栈上现有片段的代码不起作用