• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

某局点RRPP环网中组播业务无法正常接收案例分析

2017-03-15 发表
  • 0关注
  • 0收藏 1748浏览
刘凯 八段
粉丝:34人 关注:35人

 

1、客户组网如上图:

地市A连接RP第三方厂商设备,RP设备连接组播源,发出2路组播信号分别为(239.20.1.6239.20.1.8),在地市A及地市B都有相应的组播接受者。各个地市之间通过RRPP环网相互连接,地市A为主环主节点,保护VLANVLAN100,地市AG2/0/18为主端口、G2/0/17为副端口(阻塞端口),地市B及地市C均为传输节点。

2、在地市A、B、C都与RP三层互通的情况下:

问题1:地市A、BVLAN100内都无法接收到相应的组播数据,有(*,G)和(S,G)的表项,但是没有下行接口,除VLAN100外,在地市A上新建VLAN400即可接收到相应的组播数据。

问题2:在非VLAN100的其他VLAN内,地市B只有在地市A接收到相应组播组后,才可以正常接收组播。例如,在地市B上新建VLAN500请求组播,无法接收,此时在地市A上同样创建相应新的VLAN 400,请求组播组239.20.1.6的组播流量成功,则地市BVLAN500内才可以收到相应的组播流量,而239.20.1.8组播组同样如此。


1、问题一:地市A、BVLAN100内都无法接收到相应的组播数据分析,在地市AVLAN100存在组播接收者的故障时刻,我们查看其pim routing-table表项,发现有*,G)和(S,G表项,但没有相应的出接口:

<DS-A>dis pim routing-table 

 Total 2 (*, G) entries; 2 (S, G) entries

 (*, 239.20.1.6)

     RP: 192.168.200.201

     Protocol: pim-sm, Flag: WC

     UpTime: 00:06:41

     Upstream interface: Vlan-interface200

         Upstream neighbor: 192.168.200.201

         RPF prime neighbor: 192.168.200.201

     Downstream interface(s) information: None

 (1.1.1.2, 239.20.1.6)

     RP: 192.168.200.201

     Protocol: pim-sm, Flag: SPT

     UpTime: 00:00:04

     Upstream interface: Vlan-interface100

         Upstream neighbor: 10.255.51.15

         RPF prime neighbor: 10.255.51.15

     Downstream interface(s) information: None

由于出接口由IGMP协议生成,检查三个地市中VLAN100IGMP配置如下:

地市A

interface Vlan-interface100

 description manager

 ip address 1.1.1.10 255.255.255.0

igmp enable

        igmp version 3

 pim sm

地市B

interface Vlan-interface100

 description manager

 ip address 1.1.1.20 255.255.255.0

 pim sm

地市C

interface Vlan-interface100

 description manager

 ip address 1.1.1.30 255.255.255.0

 pim sm

三台设备只有地市A配置了igmp enable,但地市A却同样接收不到组播报文。查看配置发现地市CVLAN100IP地址大于地市A,那么在VLAN100内地市C就会被PIM选举称为DRDesignated Router,指定路由器),下面我们来回顾下DR的作用:

无论是与组播源相连的网络,还是与接收者相连的网络,都需要选举DRDesignated Router,指定路由器)。接收者侧的DR负责向RP发送加入报文(Join Message);组播源侧的DR负责向RP发送注册报文(Register Message),DR的选举过程如下:

1)共享网络上的各路由器相互之间发送Hello报文(携带有竞选DR优先级的参数),拥有最高优先级的路由器将成为DR

2)如果优先级相同,或者网络中至少有一台路由器不支持在Hello报文中携带竞选DR优先级的参数,则根据各路由器的IP地址大小来竞选DRIP地址最大的路由器将成为DR

通过上面DR的作用我们可以了解到,在充当接收者侧DR的设备上必须使能IGMP,否则连接在该DR上的接收者将无法通过该DR加入组播组。在现网中,VLAN100是环网上的互联VLAN,并且使能了三层接口;在VLAN100内要接受组播流,必须每个节点的VLAN100上的都要使能IGMP,同网段内必须DR设备才能向RP去发送(*,G)加入,在单播路由都是正常的情况下,如果DR设备没使能IGMP,没有处理组播组加入,也就不能向RP去发送加入,请求组播流下来。

2、问题二:在非VLAN 100的其他VLAN内,地市B只有在地市A接收到相应组播组后,才可以正常接收组播分析,首选查看地市AVLAN 400的配置和地市BVLAN 500的配置。

  地市A

interface Vlan-interface400

 ip address 2.2.2.1 255.255.255.0

 pim sm

 igmp enable

 igmp version 3

地市B

interface Vlan-interface500

 ip address 3.3.3.1 255.255.255.0

 pim sm

 igmp enable

igmp version 3

发现在地市A和地市B上都启用的是IMGP V3,IGMP V3除了兼容IGMP V2V1外,而且还增加了对特定源组查询的支持。IGMP分别有如下机制查询报文:

1)普遍组查询报文中,既不携带组地址,也不携带源地址;

2)特定组查询报文中,携带组地址,但不携带源地址;

3)特定源组查询报文中,既携带组地址,还携带一个或多个源地址。

为了方便解决故障,与客户协商进行问题复现,在组播源侧新增加一路组播源为239.20.1.9,同时在地市B加入组播接受者。同时在地市A和地市B上分别查看IGMP表项及pim routing-table表项如下:

地市A

[DS-A]dis igmp group 

Total 2 IGMP Group(s).

Interface group report information of VPN-Instance: public net

 Vlan-interface100(10.255.51.19):

  Total 2 IGMP Groups reported

   Group Address   Last Reporter   Uptime      Expires

   239.20.1.9      10.255.51.100   00:00:01    00:02:09

   239.255.255.250 10.255.51.100   00:00:01    00:02:09

[DSA]dis pim routing-table

 Total 1 (*, G) entries; 0 (S, G) entry

  (*, 239.20.1.9)

     RP: 192.168.200.201

     Protocol: pim-sm, Flag: WC

     UpTime: 00:00:49

     Upstream interface: Vlan-interface100

         Upstream neighbor: 1.1.1.30

         RPF prime neighbor: 1.1.1.30

     Downstream interface(s) information:

     Total number of downstreams: 1

         1: Vlan-interface100

             Protocol: igmp, UpTime: 00:00:49, Expires: -

地市B

[DSA]dis igmp group 

Total 2 IGMP Group(s).

Interface group report information of VPN-Instance: public net

 Vlan-interface500(10.255.51.19):

  Total 2 IGMP Groups reported

   Group Address   Last Reporter   Uptime      Expires

   239.20.1.9      10.255.51.100   00:00:01    00:02:09

   239.255.255.250 10.255.51.100   00:00:01    00:02:09

[DS-B]dis pim routing-table

 Total 1 (*, G) entries; 0 (S, G) entry

 (*, 239.20.1.9)

     RP: 192.168.200.201

     Protocol: pim-sm, Flag: WC

     UpTime: 00:00:49

     Upstream interface: Vlan-interface100

         Upstream neighbor: 1.1.1.30

         RPF prime neighbor: 1.1.1.30

     Downstream interface(s) information:

     Total number of downstreams: 1

         1: Vlan-interface500

             Protocol: igmp, UpTime: 00:00:49, Expires: -

从地市A中设备表项查询结果得出,在地市A只是建立了针对的239.20.1.9组播组的(*,G)表项从地市B中设备表项查询结果得出,同样只建立了239.20.1.9组播组的*,G表项。怀疑RP没有回应*,G表项的请求,此时查看友商RP设备配置如下:

ip pim ssm range acl_SSM-IPmc-range

ip access-list standard acl_SSM-IPmc-range

 permit 232.0.0.0 0.255.255.255

 permit 239.0.0.0 0.0.0.255

发现RP设备上将239段组播设置为PIM-SSM,我们可以先来回顾下PIM-SSM是如何运作的:

Any-Source Multicast,任意信源组播模型包括PIM-DMPIM-SM两种模式,SSMSource-Specific Multicast,指定信源组播)模型能够借助PIM-SM的部分技术来实现,也称为PIM-SSMSSM模型为指定源组播提供了解决方案,通过IGMPv3来维护主机与路由器之间的关系。在实际应用中,通常采用IGMPv3以及PIM-SM的一部分技术来实现SSM模型。

组播信息的接收者(Receiver),由其借助IGMPv3的报告报文向DR报告自己对来自组播源S、发往组播组G的信息感兴趣,如果在SSM组地址范围内,则构建PIM-SSM,并向组播源S逐跳发送通道(Channel)的订阅报文(Subscribe Message)。沿途所有路由器上都创建(SG)表项,从而在网络内构建了一棵以组播源S为根、以接收者为叶子的SPT,该SPT就是PIM-SSM中的传输通道,也就是说PIM-SSM必须结合IGMP V3中的指定组播源信息,才能建立完整的*,G)和(S,G表项。如果通过前面的配置查看,我们已经得出地市A和地市B都配置了IGMP V3,理论都可以接受组播信息,但故障现象是只有地市A主动接受组播信息,建立(S,G表项后,地市B才会接受到组播信息。针对这个问题我们分别在2个地市设备上进行debug igmp查看pim表项的建立过程。

地市A:

*Mar  1 20:58:03:130 2017 FJQZ-ZhiBo-S7604X IGMP/7/REPORT: -MDC=1; Received IGMPv3 report on interface Vlan-interface400(2.2.2.1) from 2.2.2.2 (G161283)

*Mar  1 20:58:03:130 2017 FJQZ-ZhiBo-S7604X IGMP/7/REPORT: -MDC=1; Process IS_EX packet for EXCLUDE group(239.20.1.9) on interface Vlan-interface400(2.2.2.1) (G115513)

*Mar  1 20:58:03:130 2017 FJQZ-ZhiBo-S7604X IGMP/7/TIMER: -MDC=1; Set group aging timer for group(239.20.1.9) on interface Vlan-interface400(2.2.2.1) to 260s (G112963)

*Mar  1 20:58:23:303 2017 FJQZ-ZhiBo-S7604X IGMP/7/REPORT: -MDC=1; Received IGMPv3 report on interface Vlan-interface400(2.2.2.1) from 2.2.2.2 (G161283)

*Mar  1 20:58:23:304 2017 FJQZ-ZhiBo-S7604X IGMP/7/REPORT: -MDC=1; Process TO_IN packet for EXCLUDE group(239.20.1.9) on interface Vlan-interface400(2.2.2.1) (G115513)

*Mar  1 20:58:23:304 2017 FJQZ-ZhiBo-S7604X IGMP/7/EVENT: -MDC=1; Send JOIN for (1.1.1.2,239.20.1.9) on interface Vlan-interface400(2.2.2.1) to MRIB (G11109)

地市B

*Mar  3 09:52:14:496 2017 FJ-ZhiBo-S7608XV-2 IGMP/7/REPORT: -MDC=1; Received IGMPv2 report for group 239.20.1.9 on interface Vlan-interface500(10.255.31.129) (G16992)

*Mar  3 09:52:14:497 2017 FJ-ZhiBo-S7608XV-2 IGMP/7/REPORT: -MDC=1; Process IS_EX packet for EXCLUDE group(239.20.1.9) on interface Vlan-interface500(10.255.31.129) (G115528)

*Mar  3 09:52:18:851 2017 FJ-ZhiBo-S7608XV-2 IGMP/7/REPORT: -MDC=1; Received IGMPv2 report for group 239.20.1.3 on interface Vlan-interface500(10.255.31.129) (G16992)

由以上debug可以看出,地市A终端所发出的IGMP请求为IGMP V3,携带组播源地址,而地市B终端所发出的IGMP请求为IGMP V2,没有携带组播源地址。结合之前右商RP配置得出,地市B无法接收到组播的原因为接收者IGMP版本不正确导致。那么为何在地市A接受到组播流量后,地市B也可以接受到呢,通过理论分析,可以得出如下结论:

地市B设备收到组播接收者请求,掌握了组播接收者的相关信息后,会向该组播组的RPRendezvous Point)设备逐跳发送(*G)加入报文,以构建RP到组播接收者之间用于转发组播流量的共享树。此时,若在组播接收者到RP之间的路径上存在运行PIM SSM协议的网络设备,或被指定为RP设备的友商设备本身就是PIM SSM设备,则会存在组播树无法构建的现象。因为PIM SSM本身就是为指定源组播设计的,当友商设备收到下游设备地市A发送而来的未指定组播源的(*G)加入报文时,会自动丢弃该报文,并不会创建任何组播表项。因此友商设备不认为地市A的方向会有该组播组接收者,也就无法将该组播组的组播流量引至地市A及下游设备处,最终导致接收者无法正常接收组播流,当地市A直连的接受者发送IGMP V3请求,在地市A设备上建立完善的*,G(S,G)表项后,地市B*,G请求到达地市A设备,地市A设备会直接回应该*,G表项,无需RP回应。这样地市B设备也会建立完整的*,G(S,G)表项,这样地市B直连的组播接收者也可以接收到组播数据。


问题一:

  1、在所有RRPP环网中的VLAN 100内开启IGMP功能,这样RP设备可以正常回应组播组加入请求,建立相应转发表项

  2、如果只需要地市AVLAN 100内的组播接收者接收组播报文,可以将地市AVLAN 100IP地址改为最大,保证接收者接在DR设备下即可

问题二:

1、全网统一切换为PIM-SM

PIM SM协议和IGMPv2协议均遵循ASMAny-Source Multicast,任意信源组播)模型,无需指定组播源。在无法要求终端统一使用IGMPv3的环境下,建议将全网组播路由设备修改为PIM SM协议,避免出现上文所描述的PIM SMPIM SSM的兼容问题。

2、旁挂IGMP V3主机

此方案仅作为在无法将PIM SSM设备修改为PIM SM的情况下的临时规避方案。在组播接收者和RP之间路径上的网络设备(例如图中的地市B)旁挂支持IGMPv3的主机终端,IGMPv3终端将发送携带组播源地址列表的IGMPv3成员报告消息。当地市A设备收到IGMPv3成员报告消息后,会创建(SG)表项,并向上游SSM友商设备邻居发送(SG)加入报文。友商设备收到(SG)加入报文后会构建SPT,最终将组播流量引至地市B及下游PIM SM设备。

3 启用IGMP SSM Mapping

IGMP SSM Mapping通过在组播接收者的网关设备上配置SSM静态映射规则,从而为运行IGMPv2的组播接收者提供对SSM模型的支持。SSM模型要求在组播接收者所在的网段,网关设备能够了解组播接收者加入组播组时所指定的组播源。如果接组播接收者只能运行IGMPv2,则可以通过在网关上配置IGMP SSM Mapping规则,将IGMPv2报告报文中所包含的(*G)信息映射为(GINCLUDE,(S1S2...))信息。网关上有了这些信息后,就可以上游设备发送(SG)加入报文。运行PIM SSM的设备(友商设备)收到(SG)加入报文后会构建SPT,最终将组播流量引至地市B及下游PIM SM设备。此方案配置相对复杂,建议在需要考虑组播源安全性,并且组播接收端无法运行IGMPv3的情况下部署。


针对于组播类问题,建议大家优先查看组播表项的完整性,根据表项结合组播转发原理,配合相应的debug等排查手段,进行问题一步步的排查。


该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

作者在2019-06-03对此案例进行了修订
0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作