实验名称:PIM DM完整实验
实验目的
1、 观察PIM DM泛洪过程。
2、 观察PIM DM剪枝过程。
3、 观察PIM DM状态刷新机制。
4、 观察PIM DM嫁接过程。
5、 观察PIM DM相关表项及计时器。
6、 观察在只有两台路由器互连的MA网络上是否剪枝延迟。
实验拓扑
实验步骤(没有听直播课的可以参考随堂视频实验作业)
1:基本的IP地址配置(本步骤省略)
2: 在各路由器配置PIM DM,以R2为例:
在最后一跳路由器R6和R7上同时配置PIM DM和IGMP V2,以R7为例:
查看各路由器的pim邻居关系是否正常,以R2为例:
查看各路由器使能pim的接口,以R2为例:
观察PIM Hello报文:
将PC1和PC2加入组播组239.1.1.1,在AR7上查看IGMP组播组信息
1)观察PIM DM泛洪过程
在Server发送组播数据流,在AR6和AR7的G0/0/0接口抓包
在Server上ping一个数据包
在AR7的G0/0/0接口收到了组播报文,在AR6的G0/0/0接口收到了组播报文,即PIM DM采用push模式泛洪组播数据而不管叶节点有无接收者,
2)观察PIM DM剪枝过程
由于AR6无组播接收者,那么AR6在收到组播数据流后会发送剪枝报文给AR4,AR4会继续向上游RPF邻居发送剪枝消息,但由于AR4上游是MA网络,且AR5下游有接收者,所以AR5会发送剪枝否决消息
剪枝完成后的AR4组播路由表项如下图所示:
经过进一步观察发现AR2不但从下游接口向AR3发送了剪枝报文,同时也会向上游邻居发送剪枝报文,如果是MA网络同样存在剪枝否决过程。
3)观察PIM DM状态刷新机制
在PIM-DM网络中,为了避免被裁剪的接口因为“剪枝定时器”超时而恢复转发,离组播源最近的第一跳路由器会周期性地触发State Refresh报文在全网内扩散。收到State Refresh报文的PIM路由器会刷新剪枝定时器的状态。被裁剪接口的下游叶子路由器如果一直没有组成员加入,该接口将一直处于抑制转发状态。
State-Refresh报文发发送间隔默认为60S
4)观察PIM DM嫁接过程
将PC3加入组播组239.1.1.1,AR6在收到PC3发送的IGMP Membership Report报文后将触发向上游发送graft嫁接消息,请求上游路由器AR4恢复相应出接口转发,将其添加在(S,G)表项下游接口列表中。 嫁接过程从叶子路由器开始,到有组播报文到达的路由器结束。
嫁接完成后,AR4的组播路由表项如下图所示
5)观察PIM DM相关表项及计时器
PIM DM默认扩散-剪枝周期为180S,华为是210S(3.5倍的join/prune消息间隔),并通过状态刷新机制避免扩散-剪枝周期泛洪,状态刷新报文的发送时间周期为60S
组播路由表项在无组播报文后超时时间默认为180S,华为设备大约在经过8分钟作用超时
Assert loser周期性(默认60S)恢复组播报文转发,从而引发周期性的Assert机制
但通过ensp抓发发现华为并没有周期性的Assert机制(有待确认)
6)观察在只有两台路由器互连的MA网络上是否剪枝延迟。
在组播源与SW2之间添加第一跳路由器AR8,将所有PC离开组播组,在AR6的G0/0/0、AR2的G0/0/1、AR8的G0/0/0抓包,查看发送剪枝消息的时间
AR4与AR6以及AR5与AR7均采用以太网口互联,属于MA网络,理论上剪枝报文应该有3S的延迟,但从上图AR5向上游发送剪枝报文的时刻看,AR5并没有在收到下游的剪枝报文后等待3S再发送剪枝报文,说明PIM DM的MA网络中是否等待剪枝否决时间并非单纯依靠接口类型判断,同时会依靠邻居关系,如果在该接口所连网段上只有一个PIM邻居,即便是采用MA接口互联也没必要等待剪枝否决之间后在发送剪枝报文。
实验心得
1、PIM DM是先有组播流,然后才有SPT,如果没有组播流,SPT不会事先构建。
2、最后一跳路由器连接用户端的接口要同时使能IGMP和PIM,路由器才能正确产生(*,G)表项,该表项上游接口始终未空(不管有无组播流量),下游接口为连接接收者的接口且永不超时。如果只使能IGMP,也会产生(*,G)表项,但上下游接口均为空。
3、Assert loser定时器是为了避免因为Assert Winner意外宕机而造成下游无法收到组播数据流
4、
5、Assert竞选。竞选规则如下:
单播路由协议优先级较高者获胜。
如果优先级相同,则到组播源的开销较小者获胜。
如果以上都相同,则下游接口IP地址最大者获胜。
6、Ensp实验发现,Assert loser会向上下游发送剪枝报文,不知华为是否真实采用该机制。
7、
在实际像上图的拓扑中并不存在因为MA网络修剪延迟而造成PIM DM收敛慢的问题,因为是否要等待3S修剪延迟不但依靠建立pim邻居所使用的接口类型,同时还考虑接口所在网段有几个pim邻居,如果只有一个,即便是MA网络也无需等待3S修剪延迟。