拓扑图如下
一--全网运行PIM-SM,静态指定RP为4.4.4.4
二--PIM-SM的RPT--共享树构建
叶子节点DR通过IGMP获悉接受者后会向上游(RP方向)发送携带(*,G)信息的join加组报文,叶子节点到RP的沿线设备在传递此join报文时生成各种的(*,G)表项
(*,G)表项用于指导RP到叶子节点路由器对收到组播报文的转发处理,具有相同(*,G)表项的路由器构成RPT--共享树
(1)叶子节点(*,G);中间节点(*,G);RP节点(*,G)自行抓包观察形成(*,G)表项的数据表与查看组播路由表项的对于信息(主要查看路由表的上下游接口)
叶子节点:
中间节点:
RP节点:
最终构成的RPT树的路径
三--PIM
(S,G)或者(*,G)表项,同一台路由器针对同一个组播组只能存在一个上游接口,可以允许有多个下游接口
(1)在AR-5与AR-6的对应链路抓包观察pim的join报文,针对(*,239.1.1.1)此组在AR-7的上游接口是哪一个,解释原因
该组在R7对应的上游接口为GE4/0/1,因为两个接口均通过RPF检测,由于只能存在一个上游接口,根据规则,路由优先级开销都相同,最后选举接口IP最大的接口作为上游接口。
(2)尝试通过组播静态影响AR-7的(*,G)上游接口列表的生成
由于运行的是PIM-SM模式,因此接收者侧PIM路由器以RP为节点,构建RPT树,因此配置以RP为目的地址的组播静态路由,来影响RPF的选举。
[AR-7]ip rpf-route-static 4.4.4.4 32 57.1.1.5
四--PIM-SM的SPT--源最短路径树的构建
源端DR在开启PIM-SM的接口收到组播数据后会将第一份组播数据重新封装单播的Rejister--组播注册报文发往RP,同时生成此组播组的(S,G)表项,源端DR向下游RP发送注册报文时沿线转发此单播
注册报文的组播路由器不会生成针对此组的(S,G)表项,(S,G)表项用于指导DR去往RP沿线设备对收到组播数据的转发,具有相同(*,G)表项的路由器构成SPT--源最短路径树
(1)不存在组播接收者时:在组播源路由器ping 239.1.1.2,通过抓包观察与查看SPT树路径路由器的组播路由表信息,哪些路由器存在(12.1.1.10,239.1.1.2)的表项存在这个(S,G)表项路由器的接口信息,并解释观察到是此种现象的原因
(2)存在组播接收者时 :在组播源路由器ping 239.1.1.1,通过抓包观察与查看SPT树路径路由器的组播路由表信息,哪些路由器存在(12.1.1.10,239.1.1.1)的表项
存在这个(S,G)表项路由器的接口信息,并解释观察到是此种现象的原因
’
仅在组播源端路由器(AR1和AR2)生成此SG表项(12.1.1.10,239.1.1.2)。
Register报文,中间节点不会沿途生成(S,G)表项
239.1.1.2,RP上不存在(*,239.1.1.2)时,发送register-stop报文。
239.1.1.1,RP上存在(*,239.1.1.1),发送注册报文,RP沿组播源路由器发送注册报文,生成(S,G)表项。
五--如果RP存在组播接收者,RP收到针对对应组的Register报文后如何操作
有接收者时,RP向组播源回复join报文,并将注册报文拆封成正常组播数据后从下游接口发出。