S5700基于用户VLAN的组播VLAN功能不生效

发布时间:  2017-02-04 浏览次数:  244 下载次数:  0
问题描述

S5700配置基于用户VLAN的组播VLAN功能不生效,组播源在G0/0/37口,接收者在G/0/0/1口,查看设备上的37口有组播流量,但1口没有。
组网拓扑:

相关配置正常:
#
vlan batch 10 100 200
#
igmp-snooping enable
#
vlan 10
 igmp-snooping enable
 multicast-vlan enable
 multicast-vlan user-vlan 100
vlan 100
 igmp-snooping enable
#
interface GigabitEthernet0/0/1
 port link-type hybrid
 port hybrid pvid vlan 100
 port hybrid untagged vlan 100
#
interface GigabitEthernet0/0/37
 port link-type hybrid
 port hybrid pvid vlan 10
 port hybrid untagged vlan 10
#

处理过程

查看二层组播转发表项正常建立:
[HUAWEI]display l2-multicast forwarding-table vlan 10
VLAN ID : 10, Forwarding Mode : IP
--------------------------------------------------------------------------------
                          (Source, Group)   Interface                Out-Vlan
--------------------------------------------------------------------------------
                         (*, 224.10.10.1)   Stream                      10  
                         (*, 224.10.11.1)   GigabitEthernet0/0/1        100 
                     (*, 239.255.255.250)   GigabitEthernet0/0/1        100 
--------------------------------------------------------------------------------
Total Group(s) : 3

查看组播报文丢弃的原因和相应计数,核实到因为TTL为1导致的组播数据报文被丢弃:
[HUAWEI]diagnose
[HUAWEI-diagnose]display adp-mcast packet-drop
----------------------------------------------------------------------
   Packets dropped                   Count
----------------------------------------------------------------------
Memory shortage           :            0
IP and MAC mismatch       :            0
Authen access MAC error   :            0
Source guard error        :            0
TTL = 1 of data packets   :           53
----------------------------------------------------------------------

根因

当前组播VLAN往用户VLAN转发组播报文时,走的转发流程和三层组播转发实际上都是跨VLAN组播复制和替换VLAN的过程。替换VLAN的过程中,底层会认为这是一种三层业务转发,默认进行TTL减1的动作,所以当组播报文TTL数值为1时,会被芯片直接减到0,从而丢弃。
因此在三层组播或者在二层组播跨VLAN转发时,要求组播源数据中TTL数值大于1,才能进行转发。 

解决方案

将组播源发送组播数据的TTL值改大于1后解决

END