该Show命令显示所有组播组的RP都是1.1.1.1且是人为Static配置的。
此时,虽然Source没产生流量,但在RP及下游路由器都会产生(*,G)
R1上也会有(*,G),同时flags:S表示是Sparse-Mode
R6上就没有(*,G)的表项了。因为该设备不再是RP下游路由器了。
接下来R3开始发送Ping包:
通了
R5、R1肯定会形成(S,G)的表项,因为在RP及上游设备都是源树。此时着重看R4
此时R4也形成了(S,G)表项,表明已经完成了共享树到源树的切换。 那这个切换是在哪台设备上切换的?
答:
R4上,切换者肯定是List hop Router,我们在List hop Router上只要收到了 沿RPT树发下来的第一份组播报文时候,就会自动实现切换。
对于该拓扑而言,你切不切换没什么区别吧。所以此时不建议切换,那怎么让它不切换呢?
答:修改它的阈值就可以
命令:该命令一定是做在切换者上
后面可以跟数字,表示阀值多少kbps,也可以跟infinity(无限),表示永不切换
R4#clear ip igmp group R4#clear ip mroute *
此时,R4上只有(*,G)的表项
此时,R1虽然还有(*,G),但是出接口只有S1/0(连接R4的接口)。前面配置Dense Mode的时候,这个表项还有连接R6的接口。此时却没有了,为什么? 答:
这也正好体现了拉模型的原则,因为R6下游没有RPT树,没有接收者。这也证明 了使用Sparse Mode,我只会把组播流量发给真正拥有接收者的网段。
静态RP的缺点:
没有冗余性(R1的Loopback 0接口Down了,整个PIM-SM域就瘫了),如果已经 静态配置了RP,你在配置一个RP,原来的RP直接被顶掉。
b.动态RP:
(1)Auto-RP 该方式最重点,Cisco私有
能实现RP冗余备份性,Auto-RP在部署的时候,是基于C/S模型的协议。C 代表CRP(candidate RP,RP候选者),S代表MA(映射代理)。
简单理解CRP就是一群想到班长的人,MA就是班主任。一群想当班长的人 谁能当上班长,班主任说了算。
注意:当我们把一台路由器的接口定义为CRP之后,该路由器会周期性的发 送Announce(通告)报文,这个报文将发给224.0.1.39。但是有个 问题,就是其他路由器此时不会识别该组播组地址,因为其他路由器 上只有224.0.1.40(只要路由器启用了PIM,就会自动生成该组播组 地址)。
为了解决这问题,此时隆重的欢迎班主任出场。当一台路由器起为 了MA,它就会即监听224.0.1.40,也会监听224.0.1.39。也就是说, 能够监听224.0.1.39这个组播地址的只有MA。
当MA收到所有CRP的Announce报文时,会比较谁能成为RP,比较 方式,比IP地址,谁的IP地址大,谁就成为RP。
此时,MA本身知道谁是RP了,但CRP们还不知道。所以MA会发送 Discovery报文,目的为224.0.1.40。告诉所有路由器RP是谁。 至此,RP选举完成!!!
但有个问题,MA要不要备份?
也要备份,比较IP地址,越大越优
配置:
在该拓扑真实环境中配置Auto-RP,使用PIM-SM能不能搞的定? 答:
肯定不能,因为CRP发送的Announce报文是以组播形式发送,而此 时我们启用的PIM-SM,那么接收Announce报文的路由器需要把该报文 封装成Register报文给RP,而此时没有RP。因为发送Announce报文 就是为了选RP的,此时RP又没有。所以此时Announce报文传递不了。 Discovery报文也发送不了
在纯PIM-SM模式中,使用Auto-RP是根本无法实现的。
解决方法:
使用Auto-RP原则:
a.整网迁移使用Sparse-Dense-Mode
Sparse-Dense-Mode工作方式是,当一个接口启用了该模式, 该接口收到组播报文,我会优先考虑Sparse Mode。如果找不到 RP,发现使用Sparse Mode失败,又为了让流量通,我则使用Dense Mode来转发报文。
使用Sparse-Dense-Mode,Announce报文就可以发送了。当第 一跳路由器收到该报文后,发现没有RP,我则会直接使用Dense
Mode把该报文给泼下去。Discovery报文也一样。只有Discovery 报文传递完之后。我们RP的位置知道了,身份知道了。接下来 大家在转发组播流量的时候,我们在迁移到使用Sparse Mode。
b.依旧使用纯Sparse-Mode,但是所有路由器要启用ip pim auto-rp listener
这是一个非常诡异的PIM的高级机制,该机制在路由器上启用 之后,可以实现当一台路由器收到Announce报文或Discovery 报文的时候,我单就对这两个组播组的流量,使用Dense Mode 转发。
注意:建议使用第一种方式部署Auto-RP 实验举例:
第一步,定义Auto-RP
仍然让R1的Loopback 0成为Auto-RP
R1(config)#ip pim send-rp-announce loopback 0 scope 5 该命令说明,描述R1以loopback 0为CRP,并且Announce报文可以发5 跳,其实只要保证这个跳数能让MA收到就行。
让R6成为MA
R6(config)#ip pim send-rp-discovery loopback 0 scope 10
a.使用ip pim autorp listener解决Auto-RP发Announce报文和 Discovery报文问题 命令:
R(config)#ip pim autorp listener //当我收到去往224.0.1.39 和224.0.1.40的组播组流量时,我使用Dense Mode处理。 b.使用Sparse-Dense-Mode解决Auto-RP发Announce报文和Discovery 报文问题 命令:
R(config)#int f0/0
R(config-if)#ip pim sparse-dense-mode 所有路由器的物理接口都得改为该模式
注意:Auto-RP的优先级高于静态RP,也就是当配置了Auto-RP和静态RP 时,优选Auto-RP。 如果想优选静态RP,方法:
命令:
R(config)#ip pim rp-address 1.1.1.1 override //此时静态RP的 优先级才能够优于任何的动态RP。
(2)BSR(叫自举路由器)
公有标准,仿Cisco的Auto-RP而得来的。这俩机制差不错。 原理:
跟Auto-RP基本完全一致,也定义了两种角色。也是基于C/S模型。 C代表RPC(candidate),而S代表BSRC。RPC就是Auto-RP的CRP,BSRC 就是Auto-RP的MA。
配置命令: 指定RPC
R(config)#ip pim rp-candidate loopback 0 priority 10
这个优先级是BSR选举的一个重要指标,值越低该设备成为RP的几率越高。
在BSR中选举RP,先看优先级,在比较IP地址。都是越小越优!!!
指定BSRC
这三种选举方式,对于Cisco路由器的优先级 Auto-RP > BSR > Static RP
PIM DR
在IGMPv1中充当查询者,在IGMPv2中无用
在PIM DM中,DR无用,在PIM SM中,DR负负责发送(*,G)的Join报文,以及(S,G)的Register报文。 DR选举:
先比较优先级,在比较接口IP地址,越大越优!
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库18 CCNP讲解笔记-PIM 2(4)在线全文阅读。
相关推荐: