1,問題描述
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
#
2,處理過程
查看二層組播轉發表項正常建立:
[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
----------------------------------------------------------------------
3,根因
當前組播VLAN往用戶VLAN轉發組播報文時,走的轉發流程和三層組播轉發實際上都是跨VLAN組播複製和替換VLAN的過程。替換VLAN的過程中,底層會認為這是一種三層業務轉發,默認進行TTL減1的動作,所以當組播報文TTL數值為1時,會被芯片直接減到0,從而丟棄。
因此在三層組播或者在二層組播跨VLAN轉發時,要求組播源數據中TTL數值大於1,才能進行轉發。
4,解決方案
將組播源發送組播數據的TTL值改大於1後解決
閱讀更多 王海軍老師 的文章