标签:标记 pre round 优先级 成长之路 通用 col 实例 胜利
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成长之路 --- 梅利
标签:标记 pre round 优先级 成长之路 通用 col 实例 胜利
原文地址:https://www.cnblogs.com/meili333/p/13877056.html