首页 > 技术知识 > 正文

我是艺博东 ,是一个思科出身、专注于华为的网工;开始之前,来一个灵魂提问,请问你在2020立的flag都实现了吗?反正我没有,害,打脸时刻 笑哭笑哭。好了,话不多说,我们直接进入正题。

高难度篇小白慎入;之前有同学对我说,让我把代码写全一些,别省略太多,这样他可以快速看懂,所以这期来一次代码全一些的。(是非常详细的那种噢)

一、简单概括

PIMv2与协议无关的组播路由协议,对单播网络路由协议没做任何要求,网络使用静态路由,RIP,EIGRP,ISIS ,MP-BGP都可以运行PIM协议。

PIMv2有3种工作模式

1、密集模式DM 2、稀疏模式SM DM,SM 用于支持ASM的组播网络。 3、指定源组播模式SSM SSM 用于支持SSM的组播网络

DVMRP 距离矢量组播路由协议

MOSPF 组播OSPF协议

但是对单播网络有要求,比如DVMRP要求IGP使用RIP, MOSPF要求IGP使用OSPF

二、PIM-DM 拓扑

华为 协议无关组播PIM 高难度篇小白慎入

三、PIM-DM 基础配置与分析

R1

[Huawei]sysname R1 [R1]multicast routing-enable [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip address 1.1.1.1 24 [R1-GigabitEthernet0/0/0]quit [R1]pim [R1-pim]int g0/0/0 [R1-GigabitEthernet0/0/0]pim dm [R1-GigabitEthernet0/0/0]rip [R1-rip-1]version 2 [R1-rip-1]network 1.0.0.0

R2

[Huawei]sysname R2 [R2]int g0/0/1 [R2-GigabitEthernet0/0/1]ip address 1.1.1.2 24 [R2-GigabitEthernet0/0/1]quit [R2]multicast routing-enable [R2]int g0/0/2 [R2-GigabitEthernet0/0/2]ip address 10.1.24.2 24 [R2-GigabitEthernet0/0/2]q [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip address 10.1.23.2 24 [R2]pim [R2-pim]int g0/0/1 [R2-GigabitEthernet0/0/1]pim dm [R2-GigabitEthernet0/0/1]quit [R2]rip [R2-rip-1]v 2 [R2-rip-1]net 1.0.0.0 [R2-rip-1]network 10.0.0.0

R3

[Huawei]sysname R3 [R3] [R3]int g0/0/1 [R3-GigabitEthernet0/0/1]ip address 10.1.23.3 24 [R3-GigabitEthernet0/0/1]q [R3]multicast routing-enable [R3]int g0/0/0 [R3-GigabitEthernet0/0/0]ip address 192.168.1.254 24 [R3-GigabitEthernet0/0/0]q [R3]int g0/0/2 [R3-GigabitEthernet0/0/2]ip address 10.1.34.3 24 [R3-GigabitEthernet0/0/2]q [R3]rip [R3-rip-1]v 2 [R3-rip-1]network 10.0.0.0 [R3-rip-1]net 192.168.1.0 [R3-rip-1]q [R3]pim [R3-pim]int g0/0/0 [R3-GigabitEthernet0/0/0]pim dm [R3-GigabitEthernet0/0/0]igmp enable [R3-GigabitEthernet0/0/0]int g0/0/1 [R3-GigabitEthernet0/0/1]pim dm [R3-GigabitEthernet0/0/1]int g0/0/2 [R3-GigabitEthernet0/0/2]pim dm
<

R4、R5配置类似

R1、R2之间的接口开启了pim dm

模拟ping

[R1]ping multicast -c 10000 239.1.1.1 华为 协议无关组播PIM 高难度篇小白慎入1 抓包 华为 协议无关组播PIM 高难度篇小白慎入2 R5

[Huawei]sysname R5 [R5]int g0/0/0 [R5-GigabitEthernet0/0/0]ip address 10.1.34.5 24 [R5-GigabitEthernet0/0/0]int g0/0/1 [R5-GigabitEthernet0/0/1]ip address 192.168.5.254 24 [R5]multicast routing-enable [R5]rip [R5-rip-1]v 2 [R5-rip-1]network 10.0.0.0 [R5-rip-1]network 192.168.2.0 [R5-rip-1]q [R5]pim [R5-pim]int g0/0/0 [R5-GigabitEthernet0/0/0]pim [R5-pim]int g0/0/0 [R5-GigabitEthernet0/0/0]pim dm [R5-GigabitEthernet0/0/0]int g0/0/1 [R5-GigabitEthernet0/0/1]pim [R5-pim]int g0/0/1 [R5-GigabitEthernet0/0/1]pim dm [R5-GigabitEthernet0/0/1]igmp enable

[R5]dis pim neighbor 华为 协议无关组播PIM 高难度篇小白慎入3 [R2]dis multicast rpf-info 1.1.1.1 华为 协议无关组播PIM 高难度篇小白慎入4 PC1 华为 协议无关组播PIM 高难度篇小白慎入5 加组 华为 协议无关组播PIM 高难度篇小白慎入6 [R3]dis pim routing-table 华为 协议无关组播PIM 高难度篇小白慎入7 R1模拟ping 华为 协议无关组播PIM 高难度篇小白慎入8 R2 华为 协议无关组播PIM 高难度篇小白慎入9 [R5]dis pim routing-table 华为 协议无关组播PIM 高难度篇小白慎入10 尝试修改R3的rip优先级,看看RPF邻居会不会改变?

[R3]rip [R3-rip-1]pre [R3-rip-1]preference 10

华为 协议无关组播PIM 高难度篇小白慎入11 不会。

PC2 华为 协议无关组播PIM 高难度篇小白慎入12

华为 协议无关组播PIM 高难度篇小白慎入13 R2 华为 协议无关组播PIM 高难度篇小白慎入14 两个下游接口

抓包R2的接口g0/0/1,R5接口g0/0/1。 华为 协议无关组播PIM 高难度篇小白慎入15 有收到报文。

PC2离组 华为 协议无关组播PIM 高难度篇小白慎入16 抓包R5接口g0/0/0

华为 协议无关组播PIM 高难度篇小白慎入17 是剪枝报文。

状态刷新报文 华为 协议无关组播PIM 高难度篇小白慎入18

[R1]ping multicast -c 1000 239.1.1.2

华为 协议无关组播PIM 高难度篇小白慎入19 华为 协议无关组播PIM 高难度篇小白慎入20

都发剪枝报文剪枝掉。

四、PIM-DM 小结

1、PM-DM–邻居发现

Hello消息

a.建立和维护邻居关系 b.在IGMPv1中选举查询者

Hello报文中携带多项PIM协议报文参数,主要用于PIM邻居之间PIM协议报文的控制。具体参数如下: DR_Priority:表示各路由器接口竞选DR的优先级,优先级越高越容易获胜。该参数只用于PIM-SM中DR的选举。 Holdtime:表示保持邻居为可达状态的超时时间。 LAN_Delay:表示共享网段内传输Prune报文的延迟时间。 Neighbor-Tracking:表示邻居跟踪功能。 Override-Interval:表示Hello报文中携带的否决剪枝的时间间隔。

2、DM模式是扩散机制

(1)路由器接收到组播流量后,对接收该组播流量的接口进行RPF检测。如果RPF检测成功,则创建(S,G)表项, RPF检测成功的接口成为该(S,G)表项的上游接口。RPF检测失败则丢弃该组播流量。

(2)从上游接口接收到的(S,G)流量,从除了RPF接口之外的存在PIM邻居的接口以及存在直连组成员的接口进行扩散。

(3)周期性扩散-剪枝机制维护(S,G)表项

3、DM模式剪枝/加入机制

(1)当路由器发现自身不存在任何下游接口时,将发起剪枝机制,向RPF接口上发送剪枝报文,即该接口上的所有PIM邻居。 上游路由器收到剪枝报文后,如果剪枝报文中携带的RPF 邻居地址是自身接口IP,则将自身接收剪枝报文的接口从(S,G)下游接口中删除。 a.如果剪枝后,下游接口为NULL ,则继续向(S,G)的RPF接口发送剪枝报文,向上游继续剪枝。 b.如果剪枝后,下游接口不为NULL,则剪枝结束,不在继续朝上游剪枝。

4、PM-DM–嫁接

嫁接,剪枝的路径上如果存在新组成员的加入快速获得组播流量。路由器根据组地址查找对应的(S,G)表项。如果没有对应的(S,G)表项则无法完成嫁接。如果有对应的(S,G)表项,那么根据组播源地址查RP接口,朝RPF邻居的RPF邻居发送单播嫁接报文,SIP为自身路由器接口地址,DIP为RPF邻居的地址。上游RPF邻居接收到嫁接报文,将接收该报文的接口加入到自身(S,G)表项的下游接口中,并单播回复嫁接确认报文。

5、断言机制

为避免在网段上有多个路由器进行组播流量的扩散,引入断言机制。断言报文发给该网段上的所有PIM路由器,即224.0.0.13。断言的优胜者负责在该网段扩散组播流量,失败者将失败的接口从(S,G)表项中删除。 断言的优胜者被下游路由器认为是自己的RPF邻居,比下游路由器自身判断RPF邻居的机制优先。 断言的失败者会在该网段发送剪枝报文,企图将断言优胜者也剪枝掉,断言优胜者如果在3s收到join报文,则否决剪枝报文,如果3s后没有收到join报文,也将接口从(S,G)表项删除,剪枝否决机制。

(1)断言报文中携带 a.路由器到达组播源路由的协议优先级。 b.路由器到达组播源路由的开销值。 c.路由器自身在该网段接口的地址。

(2)断言选举机制

a.协议优先级优的成为断言的winner b.开销值小的的成为断言的winner c.接口地址大的成为断言的winner

6、状态刷新机制

是PIM-DM 默认的优化机制,避免了周期性扩散-剪枝行为的发生,导致组播占用网络带宽,节省网络资源。第一跳路由器会周期性每个60s发送PIM的状态刷新报文,目的地址为224.0.0.13,即发给所有的PIM邻居,该报文还携带(S,G)的信息。下游路由接收到状态刷新报文后,会重置(S,G)表项的老化时间以及重置剪枝接口的剪枝超时定时器。当组播源不在向网络发送组播流时,第一跳路由器停止状态刷新报文的发送,全网(S,G)表项超时后被剔除。

通过第一跳路由器周期性发送State Refresh来避免被裁剪的接口因为“剪枝定时器”超时而恢复转发

pim state-refresh-capable //重新启用此功能 undo pim state-refresh-capable //禁止状态刷新报文的转发

扩展: DM模式周期性扩散的意义 1、让全网路由器表明组播源是活跃的。 2、能够维护(S,G)不被老化。

RPF检测机制:

根据组播流量的源地址查找单播路由表,如果接收组播流量的接口是去往组播源地址的单播路由出口,则RPF检测通过,接收该组播流量,并创建(S,G)表项。

如果去往组播源存在多条等价出口,则下一跳地址大的出口,做为RPF接口。RPF接口上的PIM邻居,称为RPF邻居。

五、PIM-SM 拓扑

六、PIM-SM 配置与分析

R1

[Huawei]sysname R1 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip address 10.1.12.1 24 [R1-GigabitEthernet0/0/0]q [R1]ospf [R1-ospf-1]a 0 [R1-ospf-1-area-0.0.0.0]network 10.1.12.1 0.0.0.0 [R1-ospf-1-area-0.0.0.0]q [R1-ospf-1]q [R1]multicast routing-enable [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]pim dm //配置密集模式,充当组播源 [R1-GigabitEthernet0/0/0]q [R1]pim [R1-pim]static-rp 30.30.30.30

R2

[Huawei]sysname R2 [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip address 10.1.12.2 24 [R2-GigabitEthernet0/0/0]int g0/0/1 [R2-GigabitEthernet0/0/1]ip address 10.1.23.2 24 [R2-GigabitEthernet0/0/1]q [R2]ospf [R2-ospf-1]a 0 [R2-ospf-1-area-0.0.0.0]network 10.1.12.2 0.0.0.0 [R2-ospf-1-area-0.0.0.0]network 10.1.23.2 0.0 [R2-ospf-1-area-0.0.0.0]q [R2-ospf-1]q [R2]multicast routing-enable [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]pim sm [R2-GigabitEthernet0/0/0]int g0/0/1 [R2-GigabitEthernet0/0/1]pim sm [R2-GigabitEthernet0/0/1]q [R2]pim [R2-pim]static-rp 30.30.30.30

R3

[Huawei]sysname R3 [R3]int g0/0/0 [R3-GigabitEthernet0/0/0]ip address 10.1.23.3 24 [R3-GigabitEthernet0/0/0]int g0/0/1 [R3-GigabitEthernet0/0/1]ip address 10.1.34.3 24 [R3-GigabitEthernet0/0/1]int l0 [R3-LoopBack0]ip address 30.30.30.30 32 [R3-LoopBack0]q [R3]ospf [R3-ospf-1]a 0 [R3-ospf-1-area-0.0.0.0]network 30.30.30.30 0.0.0.0 [R3-ospf-1-area-0.0.0.0]network 10.1.23.3 0.0.0.0 [R3-ospf-1-area-0.0.0.0]network 10.1.34.3 0.0.0.0 [R3-ospf-1-area-0.0.0.0]q [R3-ospf-1]q [R3]multicast routing-enable [R3]int g0/0/0 [R3-GigabitEthernet0/0/0]pim sm [R3-GigabitEthernet0/0/0]int g0/0/1 [R3-GigabitEthernet0/0/1]pim sm [R3-GigabitEthernet0/0/1]q [R3]pim [R3-pim]static-rp 30.30.30.30
<

R4

[Huawei]sysname R4 [R4]int g0/0/0 [R4-GigabitEthernet0/0/0]ip address 10.1.34.4 24 [R4-GigabitEthernet0/0/0]int g0/0/1 [R4-GigabitEthernet0/0/1]ip address 10.1.45.4 24 [R4-GigabitEthernet0/0/1]q [R4]ospf [R4-ospf-1]a 0 [R4-ospf-1-area-0.0.0.0]network 10.1.34.4 0.0.0.0 [R4-ospf-1-area-0.0.0.0]network 10.1.45.4 0.0.0.0 [R4-ospf-1-area-0.0.0.0]q [R4-ospf-1]q [R4]multicast routing-enable [R4]int g0/0/0 [R4-GigabitEthernet0/0/0]pim sm [R4-GigabitEthernet0/0/0]int g0/0/1 [R4-GigabitEthernet0/0/1]pim sm [R4-GigabitEthernet0/0/1]q [R4]pim [R4-pim]static-rp 30.30.30.30

R5

[Huawei]sysname R5 [R5]int g0/0/0 [R5-GigabitEthernet0/0/0]ip address 10.1.45.5 24] [R5-GigabitEthernet0/0/0]int g0/0/1 [R5-GigabitEthernet0/0/1]ip address 192.168.5.254 24 [R5-GigabitEthernet0/0/1]q [R5]ospf [R5-ospf-1]a 0 [R5-ospf-1-area-0.0.0.0]network 10.1.45.5 0.0.0.0 [R5-ospf-1-area-0.0.0.0]network 192.168.5.254 0.0.0.0 [R5-ospf-1-area-0.0.0.0]q [R5-ospf-1]q [R5]multicast routing-enable [R5]int g0/0/0 [R5-GigabitEthernet0/0/0]pim sm [R5-GigabitEthernet0/0/0]int g0/0/1 [R5-GigabitEthernet0/0/1]pim sm [R5-GigabitEthernet0/0/1]igmp enable [R5-GigabitEthernet0/0/1]q [R5]pim [R5-pim]static-rp 30.30.30.30

PC1

[R5]dis pim rp-info 239.1.1.1 [R5]display multicast rpf-info 30.30.30.30 PC1加组239.1.1.1

dis pim routing-table 抓包,R5的接口g0/0/0 PC1离组

下游的接口信息为空。

pim表项没了

可配置静态加组

[R5]int g0/0/1 [R5-GigabitEthernet0/0/1]igmp static-group 239.1.1.1

[R5]dis pim routing-table R4、R3也有pim表项信息。

R5

[R5]pim [R5-pim]spt-switch-threshold infinity

正常情况下,组播流量发过来之后,R1首先把它封装在单播的注册报文发给RP,RP收到之后进行解封装,沿着( ,G)往下流,解封装之后提取源的地址,创建(S,G)表项,这个表项的出口怎么来?从( ,G)表项复制过来的,上游接口根据组播源的地址找RPF接口,向上发送(S,G)join消息,组播流量沿着(S,G)join消息创建出来的SPT树往外发,R3收到组播源之后,发组播源的方向(R1)发送注册停止报文。

抓包R2的g0/0/1接口,看看能不能抓取注册报文。

ping测组播源(需要的时候还一个组播地址) [R1]ping multicast -c 1000 239.1.1.10 源地址是10.1.12.1、目的地址是239.1.1.10的注册报文。

注册报文,注册停止报文是周期性发送的。

PC1加组 dis pim routing-table 可创建(*,G)表项。

概述一下: register由源端DR在自身(S,G)表项没有老化删除之前,会每隔60s秒周期性发送register报文,用于告知组播源是活跃的。当(S,G)表项不存在后,则不再发送regisiter,当创建(S,G)表项是会立即发送注册报文。

分三个部分: (1)接收者首先加人共享树源 (2)Regisler首先加入 (3)接收者和源域RP之间的SPT加入组

AR2的G0/0/0接口的是源 缺省情况下,不指定源DR。

当路由器接收到从RP发来的针对(S,G)项的Register-Stop报文,会立刻停止发送封装组播数据的Register报文,此时路由器进入注册抑制状态。 执行此命令可设置注册抑制状态的超时时间。超时后,源端DR将恢复向RP发送Register报文。

七、PIM-SM 小结

7.1 PIM-SM的DR分为2种

(1)源端DR:负责发送Register报文或者Register-stop报文构建SPT树。 (2)成员端DR:负责发送join报文构建RPT树。

7.2 PIM-SM模式

PIM网络的路由器 (S,G)一定要事先知道S的地址,以及存在S的路由。 ( * ,G)一定要事先知道RP的地址,以及存在RP的路由。

7.3 PIM-SM

(星,G)表项是由收到成员报告报文或者收到(星,G)join报文而被创建的。 (星,G)表项的上行接口是根据RP的地址进行RPF检测得到的。 (星,G)表项的下游接口是存在直连组成员或者收到正确的(星,G)join报文而被创建出来的。 (星,G)表项的下游接口收到(星,G)的剪枝报文或者最后组成员leave报文而被删除。 当(星,G)表项下游接口为NULL时,朝RP的PRF接口发送( * ,G)剪枝报文。

(S,G)表项在收到(S,G)的join/prune报文或者RP收到Register报文,或者进行SPT切换时。 (S,G)表项的上行接口时根据组播源的地址进行RPF检测得到的。 (S,G)表项的下游接口是存在直连组成员或者收到正确的(S,G)join报文而被创建出来的。 (S,G)表项的下游接口收到(S,G)的剪枝报文或者最后组成员leave报文而被删除。

7.4 工作机制包括

(1)邻居发现 (2)DR竞选 (3)RP发现 (4)RPT构建 (5)组播源注册 (6)SPT切换 (7)剪枝/加入 (8)断言

八、PIM-SM BSR自举协议

首先要知道RR的位置。

还有前提条件要有路由。

8.1 RP发现

所有路由器均需知晓RP所在位置. 发现RP方式 (1)静态RP(手工配置) (2)动态RP

8.2 RP的特点

(1)同一个时刻一个组只能有一个RP (2)不同的组可以有相同的RP

8.3 简单分析

8.3.1 拓扑

8.3.2 简单配置与分析 R1

[Huawei]sysname R1 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip address 10.1.12.1 24 [R1-GigabitEthernet0/0/0]q [R1]multicast routing-enable [R1]pim [R1-pim]static-rp 10.10.10.10 [R1-pim]int g0/0/0 [R1-GigabitEthernet0/0/0]pim sm

R2

[Huawei]sysname R2 [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip address 10.1.12.2 24 [R2-GigabitEthernet0/0/0]q [R2]multicast routing-enable [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]pim sm

[R1]dis pim rp-info 224.0.1.1

[R1]acl 2000 [R1-acl-basic-2000]rule permit source 239.1.1.0 0.0.0.255 [R1-acl-basic-2000]q [R1]pim [R1-pim]static-rp 20.20.20.20 2000

[R1-pim]dis pim rp-info 239.1.1.1

[R1]acl 2010 [R1-acl-basic-2010]rule permit source 239.1.1.0 0.0.0.31 [R1-acl-basic-2010]q [R1]pim [R1-pim]static-rp 30.30.30.30 2010

static-rp 10.10.10.10 将10.10.10.10设置为所有组的RP static-rp 20.20.20.20 2000 将20.20.20.20设置为acl 2000 组地址范围的RP static-rp 30.30.30.30 2010 将30.30.30.30设置为acl 2010 组地址范围的RP

总结一下:(1)如果某个组地址同时满足多条ACL,则掩码长度大的优先,即越精确越优先。(2)默认情况动态RP优先使用。

8.3.3 动态RP协议

BSR 自举协议,开放标准的协议。 Auto RP 自动RP协议,思科私有。

8.4 拓扑

8.4.1 BSR的工作机制

1、首先管理员需要手动配置C-BSR路由器,可以是一台或者多台。 2、在所有C-BSR路由器中选举出BSR路由器。 3、如果BSR路由器失效,在其他的C-BSR中重新选举新的BSR路由器。 4、如果只有一台C-BSR,则它成为BSR。

8.4.2 选举过程

1、C-BSR初始认为自身就是BSR,在所有存在PIM邻居的接口上周期性发送Bootstrap报文,源地址为物理接口IP,目的地址为224.0.0.13,ttl=1。 2、Bootstrap报文中携带C-BSR地址,C-BSR优先级,逐跳泛洪到整个PIM网络。 (1)比较C-BSR的优先级,值越大优先成为BSR。 (2)优先级相同,C-BSR地址大的成为BSR。 3、竞选失败的C-BSR将不会周期性发送Bootstrap报文,即此刻网络中只有BSR周期性发送Bootstrape。 4、C-BSR维护一个BSR失效计时器,默认在130s超时如果没有收到Bootstrap报文,则认为BSR失效,重新进行BSR的竞选。

8.4.3 简单配置与分析

AR11

[AR11]sysname AR11 [AR11]int g0/0/0 [AR11-GigabitEthernet0/0/0]ip address 10.1.12.1 24 [AR11-GigabitEthernet0/0/0]int l0 [AR11-LoopBack0]ip add 1.1.1.1 32 [AR11-LoopBack0]pim sm [AR11-LoopBack0]q [AR11]mu ro [AR11]pim [AR11-pim]c-bsr LoopBack 0 [AR11-pim]c-bsr interval 5 //5秒发一次 [AR11-pim]q [AR11]int g0/0/0 [AR11-GigabitEthernet0/0/0]pim sm [AR11]int g0/0/1 [AR11-GigabitEthernet0/0/1]ip address 10.1.14.1 24 [AR11-GigabitEthernet0/0/1]pim sm [AR11-GigabitEthernet0/0/1]q [AR11]rip [AR11-rip-1]v 2 [AR11-rip-1]network 1.0.0.0 [AR11-rip-1]network 10.0.0.0

AR12

[Huawei]sysname AR12 [AR12]int g0/0/0 [AR12-GigabitEthernet0/0/0]ip address 10.1.12.2 24 [AR12-GigabitEthernet0/0/0]int g0/0/1 [AR12-GigabitEthernet0/0/1]ip address 10.1.23.2 24 [AR12-GigabitEthernet0/0/1]q [AR12]multicast routing-enable [AR12]int g0/0/0 [AR12-GigabitEthernet0/0/0]pim sm [AR12-GigabitEthernet0/0/0]int g0/0/1 [AR12-GigabitEthernet0/0/1]pim sm [AR12-GigabitEthernet0/0/1]q [AR12]rip [AR12-rip-1]v 2 [AR12-rip-1]network 10.0.0.0 [AR12-rip-1]q

AR13

[Huawei]sysname AR13 [AR13]int g0/0/0 [AR13-GigabitEthernet0/0/0]ip address 10.1.23.3 24 [AR13-GigabitEthernet0/0/0]q [AR13]multicast routing-enable [AR13]int g0/0/0 [AR13-GigabitEthernet0/0/0]pim sm [AR13]int g0/0/1 [AR13-GigabitEthernet0/0/1]ip address 10.1.34.3 24 [AR13-GigabitEthernet0/0/1]pim sm [AR13-GigabitEthernet0/0/1]q [AR13]rip [AR13-rip-1]v 2 [AR13-rip-1]network 3.0.0.0 [AR13-rip-1]network 10.0.0.0 [AR13-rip-1]q

AR14

[Huawei]sysname AR14 [AR14]int g0/0/0 [AR14-GigabitEthernet0/0/0]ip address 10.1.34.4 24 [AR14-GigabitEthernet0/0/0]pim sm [AR14-GigabitEthernet0/0/0]q [AR14]multicast routing-enable [AR14]int g0/0/1 [AR14-GigabitEthernet0/0/1]ip address 10.1.14.4 24 [AR14-GigabitEthernet0/0/1]pim sm [AR14-GigabitEthernet0/0/1]q [AR14]multicast routing-enable [AR14]rip [AR14-rip-1]v 2 [AR14-rip-1]network 10.0.0.0

抓包AR11的g0/0/0接口,Bootstrap报文。

[AR11-pim]c-bsr priority 106 //修改c-bsr优先级为106

[AR12]dis pim bsr-info [AR12]dis multicast rpf-info 1.1.1.1 AR13

[AR13]int l0 [AR13-LoopBack0]ip address 3.3.3.3 32 [AR13-LoopBack0]pim sm [AR13-LoopBack0]q [AR13]pim [AR13-pim]c-bsr LoopBack 0 [AR13-pim]c-bsr interval 5 [AR13-pim]q

1.1.1.1为主,3.3.3.3为候选者。

[AR13-pim]c-bsr priority 200 //修改c-bsr优先级为200

[AR11]dis pim bsr-info

R3的bsr修改优先级为200后,这个时候3.3.3.3为获胜者,1.1.1.1为候选者。

小结: 为了防止Bootstrap的泛洪环路,引入BSR RPF检测机制,路由器收到Bootstrap报文,根据BSR的地址进行RPF检测。只有同时满足以下2个条件时才接收Bootstrap报文,并向其他接口继续泛洪。 (1)收到Bootstrap的接口为去往BSR地址的出口。 (2)收到Bootstrap的源地址为RPF邻居的地址。

8.4.4 RP的选举机制

1、首先管理员需要手动配置C-RP路由器,可以是一台或者多台,C-BSR也可以是C-RP。 2、C-RP向BSR的地址发送单播的Advertisement报文,源地址为C-RP的竞选地址,目的地址为BSR的地址。 3、Advertisement报文中携带RP的竞选参数,包括:C-RP的地址,服务的组地址范围,C-RP优先级。

RP选举机制 (1)服务组范围掩码长的优先。 (2)C-RP优先级值小的优,默认为0。 (3)根据bootstrp设置hash mask len 计算Hash,值大的优先。 (4)C-RP地址大的优先。

R14

[AR14]int l0 [AR14-LoopBack0]ip address 4.4.4.4 32 [AR14-LoopBack0]q [AR14]rip [AR14-rip-1]net 4.0.0.0 [AR14-rip-1]q [AR14]pim [AR14-pim]c-rp LoopBack 0

在AR14的G0/0/0接口抓包

[AR14]acl 2060 [AR14-acl-basic-2060]rule permit source 239.1.1.0 0.0.0.255 [AR14-acl-basic-2060]pim [AR14-pim]c-rp LoopBack 0 group-policy 2060 [AR14-pim]c-rp advertisement-interval 5 //5秒一发

AR12

[AR12]int l0 [AR12-LoopBack0]ip address 2.2.2.2 32 [AR12-LoopBack0]q [AR12]rip [AR12-rip-1]net 2.0.0.0 [AR12-rip-1]pim [AR12-pim]c-rp LoopBack 0 [AR12-pim]c-rp advertisement-interval 5

在AR14的G0/0/0接口抓包 [AR14]dis pim rp-info 239.1.1.127 服务范围:那个组地址越精确,越优。

238.1.1.1的话会变为2.2.2.2。

不发送自举报文,也不接收自举报文,避免多个BSR域互相干扰。

[AR13-GigabitEthernet0/0/0]pim bsr-boundary

九、PIM-SM-SPT树切换

9.1 SPT树切换

(1)组成员DR向源方向发送Join报文 (2)组成员DR或上游设备向RP发送Prune报文,RP向源端DR发送Prune报文

9.2 PIM-SM的SPT切换的条件

(1)SPT切换由最后一跳路由器发起。 (2)当最后一跳路由器接收到从RPT树的组播流量后,可以通过组播流量得知组播源的地址,则默认发起SPT切换,希望构架一颗源到最后一跳路由器的SPT树,实现路由优化。

9.3 SPT切换的流程

最后一跳路由根据组播源的地址进行RPF检测,并向指向组播源的RPF接口上RPF邻居发送(S,G)的join报文,逐跳构建SPT树。

9.4 拓扑

未完待续… …

征服畏惧、建立自信的最快最确实的方法,就是去做你害怕的事,直到你获得成功的经验。

好了这期就到这里了,如果你喜欢这篇文章的话,请点赞评论分享收藏,如果你还能点击关注,那真的是对我最大的鼓励。谢谢大家,下期见!

猜你喜欢