此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍如何在单个以应用为中心的基础设施(ACI)交换矩阵上配置和验证同一终端组(EPG)中的第2层(L2)组播。
Cisco 建议您了解以下主题:
注意:有关IGMP监听的详细信息,请参阅思科APIC和IGMP监听第2层组播配置文档。
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
L2组播是指在L2网段(网桥域(BD)/子网)上转发的IP组播数据包,而不是L2非IP组播数据包,这些数据包是具有目的组播MAC地址且没有IP报头的组播数据包。L2组播也不包括链路本地组播(224.0.0.0/24)。 链路本地组播始终转发到BD中的所有端口。
ACI中的L2组播仅在BD内转发。如果您有多个使用相同BD的EPG,则无论EPG之间是否有合同,组播流量都会泛洪到所有EPG中。
思科ACI在枝叶交换机和主干交换机之间构建的重叠组播树上转发组播帧。L2流量使用转发标记(FTAG)树在多个冗余的相同开销链路之间提供有效的负载均衡。有关FTAG树详细信息的详细信息,请参阅ACI基础文档。
注意:我们建议您不要在BD上禁用IGMP监听。如果禁用IGMP监听,则可能会因BD中的过多错误泛洪而导致组播性能下降。
这是配置步骤的摘要。除了启用IGMP查询器外,没有太多L2组播配置。
本节介绍详细的配置步骤。
图像显示了配置的高级方法。有关访问策略的其他详细信息,请参阅ACI初始部署文档。
如果访问策略已经到位,则可以跳过此步骤。
默认情况下,BD使用在“常用”租户中预定义的默认IGMP监听策略。
默认情况下,IGMP查询器在BD子网下未启用,传统NXOS或基于Cisco IOS®的部署也是如此。
IGMP查询器必须启用两个位置,分别在各自的IGMP监听策略和BD子网下。
注意:由于启用查询器的IGMP监听策略需要源IP地址来发送IGMP查询,因此需要在BD子网下配置启用IGMP查询器IP。否则,枝叶交换机不会向组播接收方发送IGMP查询。
始终建议在启用IGMP查询器时配置新的IGMP监听策略,而不是使用默认IGMP监听策略。请注意,默认IGMP监听策略默认未启用IGMP查询器,并且默认与每个BD连接。对默认IGMP监听策略下的任何配置的更改会影响与默认IGMP监听策略连接的每个BD,因此不建议更改ACI中的默认IGMP监听策略参数。
注意:仅当BD子网配置了查询器IP时,才需要“启用查询器”设置。如果IGMP查询器在ACI之外,则无需此配置。
lf101# show ip igmp snooping querier Vlan IP Address Version Expires Port 21 10.100.0.254 v3 00:01:06 Switch querier
lf102# show ip igmp snooping querier Vlan IP Address Version Expires Port 19 10.100.0.254 v3 00:01:46 Switch querier
使用本部分可确认配置能否正常运行。
此 MO query
命令显示IGMP查询器策略已启用查询器。
apic1# moquery -d uni/tn-TN_D/snPol-TN_D_IGMP_snooping_POL Total Objects shown: 1 # igmp.SnoopPol name : TN_D_IGMP_snooping_POL adminSt : enabled annotation : childAction : ctrl : querier descr : dn : uni/tn-TN_D/snPol-TN_D_IGMP_snooping_POL extMngdBy : lastMbrIntvl : 1 lcOwn : local modTs : 2022-01-26T19:32:18.660+00:00 nameAlias : ownerKey : ownerTag : queryIntvl : 125 rn : snPol-TN_D_IGMP_snooping_POL rspIntvl : 10 startQueryCnt : 2 startQueryIntvl : 31 status : uid : 15374
此 MO query
命令显示IGMP查询器也在BD子网上启用。
apic1# moquery -c fvSubnet -f 'fv.Subnet.ip=="10.100.0.254/24"' Total Objects shown: 1 # fv.Subnet ip : 10.100.0.254/24 annotation : childAction : ctrl : querier <<descr : dn : uni/tn-TN_D/BD-L2_Mcast_BD/subnet-[10.100.0.254/24] extMngdBy : lcOwn : local modTs : 2021-12-28T19:28:54.860+00:00 monPolDn : uni/tn-common/monepg-default name : nameAlias : preferred : no rn : subnet-[10.100.0.254/24] scope : private status : uid : 15374 virtual : no
此 MO query
命令显示BD配置的验证。
apic1# moquery -c fvBD -f "fv.BD.name==\"L2_Mcast_BD\"" Total Objects shown: 1 # fv.BD name : L2_Mcast_BD OptimizeWanBandwidth : no annotation : arpFlood : yes bcastP : 225.1.156.240 childAction : configIssues : descr : dn : uni/tn-TN_D/BD-L2_Mcast_BD epClear : no epMoveDetectMode : extMngdBy : hostBasedRouting : no intersiteBumTrafficAllow : no intersiteL2Stretch : no ipLearning : yes ipv6McastAllow : no lcOwn : local limitIpLearnToSubnets : yes llAddr : :: mac : 00:22:BD:F8:19:FF mcastAllow : no modTs : 2021-12-25T23:47:57.717+00:00 monPolDn : uni/tn-common/monepg-default mtu : inherit multiDstPktAct : bd-flood nameAlias : ownerKey : ownerTag : pcTag : 49154 rn : BD-L2_Mcast_BD scope : 2490368 seg : 16351140 status : type : regular uid : 15374 unicastRoute : yes unkMacUcastAct : proxy unkMcastAct : flood v6unkMcastAct : flood vmac : not-applicable
此输出显示了枝叶101已连接到组播源10.100.0.10的验证。
lf101# show endpoint ip 10.100.0.10 detail Legend: s - arp H - vtep V - vpc-attached p - peer-aged R - peer-attached-rl B - bounce S - static M - span D - bounce-to-proxy O - peer-attached a - local-aged m - svc-mgr L - local E - shared-service +-----------------------------------+---------------+-----------------+--------------+-------------+------------------------------+ VLAN/ Encap MAC Address MAC Info/ Interface Endpoint Group Domain VLAN IP Address IP Info Info +-----------------------------------+---------------+-----------------+--------------+-------------+------------------------------+ 20 vlan-1900 0011.0100.0001 L eth1/47 TN_D:Multicast_Servers:L2_Mcast_EPG TN_D:VRF_A vlan-1900 10.100.0.10 L eth1/47
此输出显示了枝叶102已连接到组播接收器10.100.0.20的验证。
lf102# show endpoint ip 10.100.0.20 detail Legend: s - arp H - vtep V - vpc-attached p - peer-aged R - peer-attached-rl B - bounce S - static M - span D - bounce-to-proxy O - peer-attached a - local-aged m - svc-mgr L - local E - shared-service +-----------------------------------+---------------+-----------------+--------------+-------------+------------------------------+ VLAN/ Encap MAC Address MAC Info/ Interface Endpoint Group Domain VLAN IP Address IP Info Info +-----------------------------------+---------------+-----------------+--------------+-------------+------------------------------+ 17 vlan-1900 0011.0200.0001 L eth1/47 TN_D:Multicast_Servers:L2_Mcast_EPG TN_D:VRF_A vlan-1900 10.100.0.20 L eth1/47
lf101# vsh_lc module-1# debug platform internal roc elam asic 0 module-1(DBG-elam)# trigger reset module-1(DBG-elam)# trigger init in-select 6 out-select 0 module-1(DBG-elam-insel6)# set outer ipv4 src_ip 10.100.0.10 dst_ip 239.100.0.10 module-1(DBG-elam-insel6)# start module-1(DBG-elam-insel6)# status ELAM STATUS =========== Asic 0 Slice 0 Status Triggered module-1(DBG-elam-insel6)# module-1(DBG-elam-insel6)# ereport Python available. Continue ELAM decode with LC Pkg ELAM REPORT <snip..> ====================================================================================================================================================== Captured Packet ====================================================================================================================================================== ------------------------------------------------------------------------------------------------------------------------------------------------------ Outer Packet Attributes ------------------------------------------------------------------------------------------------------------------------------------------------------ Outer Packet Attributes : l2mc ipv4 ip ipmc ipv4mc udp Opcode : OPCODE_L3MC ------------------------------------------------------------------------------------------------------------------------------------------------------ Outer L2 Header ------------------------------------------------------------------------------------------------------------------------------------------------------ Destination MAC : 0100.5E64.000A <<802.1Q tag is valid : no( 0x0 ) CoS : 0( 0x0 ) Access Encap VLAN : 0( 0x0 ) ------------------------------------------------------------------------------------------------------------------------------------------------------ Outer L3 Header ------------------------------------------------------------------------------------------------------------------------------------------------------ L3 Type : IPv4 IP Version : 4 DSCP : 0 IP Packet Length : 1362 ( = IP header(28 bytes) + IP payload ) Don't Fragment Bit : not set TTL : 64 IP Protocol Number : UDP IP CheckSum : 31679( 0x7BBF ) Destination IP : 239.100.0.10 <<
<snip...> ------------------------------------------------------------------------------------------------------------------------------------------------------ Sideband SB Multicast Information ------------------------------------------------------------------------------------------------------------------------------------------------------ BD : 11266( 0x2C02 ) Source is l3 interface : no FTAG : 4( 0x4 ) <<< FTAG value 4 assigned by lf101 <snip..>
FTAG ID根据负载散列算法(0到12)分配。 即使枝叶节点和目标BD GiPO相同,FTAG值也是不可预测的,且不相同。
225.1.156.140的二进制数= 11100001.00000001.10011100.1111000
目的GIPO最后一个八进制值的最后4位是'0000',因此最后4位(介于0到12之间)会添加到FTAG值。
此输出显示GIPO路由和输出接口(OIF)列表。
lf101# show isis internal mcast routes gipo IS-IS process: isis_infra VRF : default GIPo Routes ==================================== System GIPo - Configured: 0.0.0.0 Operational: 239.255.255.240 ==================================== GIPo: 225.0.0.0 [LOCAL] OIF List: Ethernet1/49.14 GIPo: 225.0.73.208 [TRANSIT] OIF List: GIPo: 225.1.110.160 [LOCAL] OIF List: Ethernet1/49.14 GIPo: 225.1.149.64 [LOCAL] OIF List: Ethernet1/49.14 GIPo: 225.1.156.240 [LOCAL] OIF List: Ethernet1/49.14 GIPo: 225.1.179.176 [TRANSIT] OIF List: GIPo: 225.1.192.0 [TRANSIT] OIF List: GIPo: 239.255.255.224 [LOCAL] OIF List: Ethernet1/49.14 GIPo: 239.255.255.240 [LOCAL] OIF List: Ethernet1/49.14
此输出显示FTAG值和OIF列表。
lf101# show isis internal mcast routes ftag IS-IS process: isis_infra VRF : default FTAG Routes ==================================== System ftag order: NEW Phantom Spine Capable: NO FTAG ID: 0 [Enabled] Cost:( 1/ 13/ 0) ---------------------------------- Root port: Ethernet1/49.14 OIF List: FTAG ID: 1 [Enabled] Cost:( 1/ 1/ 0) ---------------------------------- Root port: Ethernet1/49.14 OIF List: FTAG ID: 2 [Enabled] Cost:( 1/ 2/ 0) ---------------------------------- Root port: Ethernet1/49.14 OIF List: FTAG ID: 3 [Enabled] Cost:( 1/ 3/ 0) ---------------------------------- Root port: Ethernet1/49.14 OIF List: FTAG ID: 4 [Enabled] Cost:( 1/ 4/ 0) ---------------------------------- Root port: Ethernet1/49.14 OIF List: FTAG ID: 5 [Enabled] Cost:( 1/ 5/ 0) ---------------------------------- Root port: Ethernet1/49.14 OIF List: FTAG ID: 6 [Enabled] Cost:( 1/ 6/ 0) ---------------------------------- Root port: Ethernet1/49.14 OIF List: FTAG ID: 7 [Enabled] Cost:( 1/ 7/ 0) ---------------------------------- Root port: Ethernet1/49.14 OIF List: FTAG ID: 8 [Enabled] Cost:( 1/ 8/ 0) ---------------------------------- Root port: Ethernet1/49.14 OIF List: FTAG ID: 9 [Enabled] Cost:( 1/ 9/ 0) ---------------------------------- Root port: Ethernet1/49.14 OIF List: FTAG ID: 10 [Enabled] Cost:( 1/ 10/ 0) ---------------------------------- Root port: Ethernet1/49.14 OIF List: FTAG ID: 11 [Enabled] Cost:( 1/ 11/ 0) ---------------------------------- Root port: Ethernet1/49.14 OIF List: FTAG ID: 12 [Enabled] Cost:( 1/ 12/ 0) ---------------------------------- Root port: Ethernet1/49.14 OIF List: FTAG ID: 13 [Disabled] FTAG ID: 14 [Disabled] FTAG ID: 15 [Disabled]
Spine201# vsh_lc <<< (OR "ssh root@lcX" if spine is modular). (Please engage TAC for spine ELAM)
module-1# debug platform internal roc elam asic 0
module-1(DBG-elam)# trigger reset
module-1(DBG-elam)# trigger init in-select 14 out-select 0
module-1(DBG-elam-insel6)# set inner ipv4 src_ip 10.100.0.10 dst_ip 239.100.0.10
module-1(DBG-elam-insel6)# start
module-1(DBG-elam-insel6)# status
module-1(DBG-elam-insel6)# ereport
------------------------------------------------------------------------------------------------------------------------------------------------------ Inner L2 Header ------------------------------------------------------------------------------------------------------------------------------------------------------ Inner Destination MAC : 0100.5E64.000A Source MAC : 0011.0100.0001 802.1Q tag is valid : no CoS : 0 Access Encap VLAN : 0 ------------------------------------------------------------------------------------------------------------------------------------------------------ Outer L3 Header ------------------------------------------------------------------------------------------------------------------------------------------------------ L3 Type : IPv4 DSCP : 0 Don't Fragment Bit : 0x0 TTL : 32 IP Protocol Number : UDP Destination IP : 225.1.156.244 <<<< BD GIPO + FTAG 4 (binary 11100001.00000001.10011100.11110100) Source IP : 10.1.160.64 <<<< Leaf 101 infra TEP address ------------------------------------------------------------------------------------------------------------------------------------------------------ Inner L3 Header ------------------------------------------------------------------------------------------------------------------------------------------------------ L3 Type : IPv4 DSCP : 0 Don't Fragment Bit : 0x0 TTL : 64 IP Protocol Number : UDP Destination IP : 239.100.0.10 Source IP : 10.100.0.10 <snip...>
------------------------------------------------------------------------------------------------------------------------------------------------------ Sideband SB Multicast Information ------------------------------------------------------------------------------------------------------------------------------------------------------ BD : 3( 0x3 ) Source is l3 interface : no FTAG : 4( 0x4 ) <snip...>
sp201# show isis internal mcast routes gipo IS-IS process: isis_infra VRF : default GIPo Routes ==================================== System GIPo - Configured: 0.0.0.0 Operational: 239.255.255.240 ==================================== GIPo: 225.0.0.0 [TRANSIT] OIF List: Ethernet1/2.35 Ethernet1/1.36 GIPo: 225.0.0.16 [TRANSIT] OIF List: <snip..> GIPo: 225.1.156.240 [TRANSIT] OIF List: Ethernet1/2.35 Ethernet1/1.36 <snip...> sp201# show isis internal mcast routes ftag IS-IS process: isis_infra VRF : default FTAG Routes ==================================== System ftag order: NEW System ftag preference: 2 Max Fabric System ftag preference: 2 Phantom Spine Capable: NO FTAG ID: 0 [Root] [Enabled] Cost:( 0/ 0/ 0) ---------------------------------- Root port: - OIF List: Ethernet1/2.35 Ethernet1/1.36 FTAG ID: 1 [Root] [Enabled] Cost:( 0/ 0/ 0) ---------------------------------- Root port: - OIF List: Ethernet1/2.35 Ethernet1/1.36 FTAG ID: 2 [Root] [Enabled] Cost:( 0/ 0/ 0) ---------------------------------- Root port: - OIF List: Ethernet1/2.35 Ethernet1/1.36 FTAG ID: 3 [Root] [Enabled] Cost:( 0/ 0/ 0) ---------------------------------- Root port: - OIF List: Ethernet1/2.35 Ethernet1/1.36 FTAG ID: 4 [Root] [Enabled] Cost:( 0/ 0/ 0) ---------------------------------- Root port: - OIF List: Ethernet1/2.35 <<<snip...> sp201# show lldp neighbors Capability codes: (R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device (W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other Device ID Local Intf Hold-time Capability Port ID lf101 Eth1/1 120 BR Eth1/49 <<< Spine received packet from Leaf 101 lf102 Eth1/2 120 BR Eth1/49 <<< forward packet to Leaf 102 (and not back to Leaf 101) Total entries displayed: 2
lf102# vsh_lc module-1# debug platform internal roc elam asic 0 module-1(DBG-elam)# trigger reset module-1(DBG-elam)# trigger init in-select 14 out-select 0 module-1(DBG-elam-insel14)# set inner ipv4 src_ip 10.100.0.10 dst_ip 239.100.0.10 module-1(DBG-elam-insel14)# start module-1(DBG-elam-insel14)# status ELAM STATUS =========== Asic 0 Slice 0 Status Triggered module-1(DBG-elam-insel14)# ereport ------------------------------------------------------------------------------------------------------------------------------------------------------ Outer L3 Header ------------------------------------------------------------------------------------------------------------------------------------------------------ L3 Type : IPv4 DSCP : 0 Don't Fragment Bit : 0x0 TTL : 31 IP Protocol Number : UDP Destination IP : 225.1.156.244 Source IP : 10.1.160.64 ------------------------------------------------------------------------------------------------------------------------------------------------------ Inner L3 Header ------------------------------------------------------------------------------------------------------------------------------------------------------ L3 Type : IPv4 DSCP : 0 Don't Fragment Bit : 0x0 TTL : 64 IP Protocol Number : UDP Destination IP : 239.100.0.10 Source IP : 10.100.0.10 ------------------------------------------------------------------------------------------------------------------------------------------------------
lf102# show ip igmp snooping group Type: S - Static, D - Dynamic, R - Router port, F - Fabricpath core port Vlan Group Address Ver Type Port list 16 239.100.0.10 v2 D Eth1/47
IGMP查询器要求包括:
本部分提供的信息可用于对配置进行故障排除。
使用以下命令排除L2 IGMP问题:
show endpoints IP
detail
show ip igmp snoop groups vlan x
show ip igmp snoop groups vlan x detail
show ip igmp snooping mrouter
moquery -c fmcast.Grp
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
28-Feb-2022 |
初始版本 |