S95E启用组播后无法动态学习RP案例

  一. 【问题描述】

  某据点使用四台S9508E-V作为核心路由器,实现不同楼宇之间的组播的互通。某日客户发现在其中一台设备上执行dis pim rp-info时,什么都没有显示。

  组网图如下:

  

图片3.png


  组网说明:

  1、S9500E版本:CMW520-R1238P08

  2、组网情况:四台S9500E口字形互联。四台设备命名为:AF_9508_1_T2PCR、AF_9508_2_T2PCR、AF_9508_3_AOC、AF_9508_4_AOC。

  3、链路情况:AF_9508_1_T2PCR与AF_9508_2_T2PCR之间通过四根千兆光纤实现链路聚合;AF_9508_3_AOC与AF_9508_4_AOC之间通过四根千兆光纤实现链路聚合;AF_9508_1_T2PCR与AF_9508_3_AOC之间通过10GE口互联;AF_9508_2_T2PCR与AF_9508_4_AOC之间通过10GE口互联。

  4、设备上启用协议情况:四台设备使用OSPF路由协议。组播启用PIM SM 。在AF_9508_1_T2PCR与AF_9508_2_T2PCR之前实现了业务VLAN的VRRP。在AF_9508_3_AOC与AF_9508_4_AOC之间实现业务VLAN的VRRP。

  5、问题:在AF_9508_2_T2PCR和AF_9508_3_AOC上均可以使用dis pim rp-info看到RP的信息,但是在AF_9508_4_AOC上执行dis pim rp-info无法看到RP信息。使用dis pim routing-table .看到的RP信息均为空。

  二. 【信息收集】

  1、 根据在AF_9508_2_T2PCR和AF_9508_3_AOC上看到的RP信息得知,RP的地址为172.19.0.1,即为AF_9508_1_T2PCR的loopback0的地址。

  2、 由于是组播路由表项来源于单播路由表。检查AF_9508_4_AOC上使用dis ip routing-table查看到达172.19.0.1的路由表,存在该表项。但是仅有一条路由。

  3、 检查OSPF的配置,发现并没用配置端口COST,应该是生成两条等价路由才对。

  4、 使用dis ospf peer 查看,发现AF_9508_4_AOC仅与AF_9508_3_AOC建立了邻居关系。

  5、 使用dis ip int bri ,两边的接口地址均UP,但是使用ping 命令无法相互ping通接口IP地址。

  6、 问题到这里出现了转折,检查互联的10GE接口地址信息的配置,发现互联的物理接口并未将STP关闭,猜想问题原因,由于AF_9508_1_T2PCR、AF_9508_2_T2PCR与AF_9508_3_AOC、AF_9508_4_AOC之间的生成树的域名是不同的,这样多域生成树就存在了。为了验证这个猜想,在AF_9508_2_T2PCR使用dis stp bri 发现其与AF_9508_4_AOC之间互联的端口角色为:ALTERNATE。

  7、 于是在四台设备上互联的10GE接口关闭STP。这时在AF_9508_4_AOC上查看单播路由表中到达172.19.0.1的路由存在两条。

  8、 检查AF_9508_4_AOC上PIM SM的配置信息,发现其与AF_9508_2_T2PCR和AF_9508_3_AOC之间互联的VLAN未启用PIM SM及IGMP协议。

  9、 在AF_9508_4_AOC与AF_9508_2_T2PCR互联的VLAN621接口上启用PIM SM及IGMP后,在AF_9508_4_AOC上执行dis pim rp-info,仍然不能显示RP的信息。

  10、 问题到这一步就更令人疑惑了。路由也存在,AF_9508_2_T2PCR上也存在RP的信息,为何AF_9508_4_AOC上无法学习到RP呢?

  11、 考虑到组播在选择路径的时候要选择RPF接口,于是在AF_9508_4_AOC上执行display multicast rpf-info 172.19.0.1。发现其选择的RPF接口为:AF_9508_4_AOC与AF_9508_3_AOC之间的三层接口Vlan 1002上。

  12、 于是在VLAN 1002上启用PIM SM IGMP后,AF_9508_4_AOC上就可以看到RP的信息了。

  三. 【问题分析】

  1、 从收集到的信息分析,该问题涉及到STP、OSPF、PIM SM等,问题的主要原因有:1、三层互联端口未关闭STP、导致10GE接口处于ALTERNATE,且 OSPF邻居关系不正常、2、由于PIM SM在互联的三层接口上未启用导致无法学习到RP信息。

  2、 从上述分析中我们不难发现一个问题,那就是组播与等价路由的关系,根据上面的情况看,组播是不支持等价路由信息的,当遇到等价路由信息时,会选择接口IP地址大的那个三层接口做为RPF接口,从接口IP地址小的接口收到的组播报文会被丢弃。(AF_9508_4_AOC与AF_9508_2_T2PCR互联接口IP地址为:172.19.254.1;AF_9508_4_AOC与AF_9508_3_AOC互联接口IP地址为:172.19.255.9)

  四. 【处理方法】

  1、 在互联10GE物理接口关闭STP:

  2、 在互联的三层虚接口上启用PIM SM

  五. 【结束语】

  在该问题的排错过程中,涉及的协议比较多,遇到这种情况,我们要沉着冷静,一步一步的分析,有时候不要纠结于一点,多看几步,问题就会迎刃而解。另外这种排错一定要在客户允许的时间段进行,排错的过程中如果遇到不确定的事情,一定要与客户沟通你要做什么事情,取得客户的认同。


2016年01月