简介
本文档介绍如何在ACI中配置租户路由组播(TRM)以启用跨VRF的第3层组播路由。
先决条件
缩写
ACI:以应用为中心的基础设施
VRF:虚拟路由和转发
BD:网桥域
EPG:终端组
IGMP:Internet 组管理协议
PIM:独立于协议的组播
ASM:任意源组播
RP:汇集点
TRM:租户路由组播
SVI:交换机虚拟接口
vPC:虚拟端口通道
要求
对于本文而言,建议您了解以下主题的一般知识:
- ACI概念:访问策略、终端学习、合同和L3out
- 组播协议:IGMP和PIM
使用的组件
此配置示例基于ACI版本6.0(7e),使用运行ACI版本16.0(7)的第二代Nexus交换机N9K-C93180YC-EX。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
配置
本文重点介绍组播配置,因此本示例假定您在交换矩阵内部和外部已经具有单播可达性。
提示:如果相关各方(组播源、RP、接收器等)之间不存在单播可达性,则很可能组播流受到影响。
此配置示例的用途是首先在通用租户/VRF上启用组播,以允许流量通过L3out进入交换矩阵,并在通用VRF上的接收器上接收。然后,第二部分介绍如何将此组播流扩展到用户定义租户上的其他VRF。
ACI交换矩阵是具有2个主干和4个枝叶交换机的单个POD。这四台枝叶交换机中的两台是通过OSPF L3out连接到外部NXOS L3交换机的边界枝叶交换机。外部L3网络的配置不在本章中介绍。
交换矩阵内连接有3个终端接收组播流量。每个终端都连接到不同的枝叶交换机中。从逻辑上讲,每个终端中有两个租户都有一个VRF。一个租户是公用租户,另一个租户是用户定义的租户。在Common Tenant上,您有L3out的外部EPG和一个接收器。在用户定义租户中,您有属于同一EPG的两个接收器。有关详细信息,请参阅下一节中的图。
网络图
物理拓扑

逻辑图

源VRF中的配置组播
步骤1.在VRF级别启用组播。
导航到租户>通用>网络> VRFs > Mcast_Source_VRF >组播,并在主窗格上选择是,启用组播。

步骤2.添加网桥域和L3Out。
导航到租户>通用>网络> VRFs > Mcast_Source_VRF > Multicast,在Interfaces选项卡下的主窗格中,可以添加参与组播流的桥接域和L3outs。

这些网桥域和L3outs在VRF本地。
警告:在为L3组播启用的每个边界枝叶上,需要有一个可从外部网络访问的唯一IPv4环回地址。它用于PIM Hello消息。在本示例中,L3out配置为使用OSPF路由器ID作为环回接口。
步骤3.配置RP。
导航到租户>通用>网络> VRF > Mcast_Source_VRF >组播,在Rendezvous Points选项卡下的主窗格上,您会看到用于配置RP的选项。

注意:在本示例中,您使用的是所有组播组的静态RP,因此未指定路由映射。
在此步骤之后,组播流量现在到达公共租户/VRF上的接收器192.168.1.5。
接收方VRF中的配置组播 — 租户路由组播
步骤1.在VRF级别启用组播。
导航到租户> Mcast_Receivers_Tenant >网络> VRFs > Mcast_Receivers_VRF > Multicast,在主窗格上选择是,启用组播。

步骤2.添加网桥域。
导航到租户> Mcast_Receivers_Tenant >网络> VRFs > Mcast_Receivers_VRF > Multicast,在Interfaces选项卡下的主窗格中,可以添加正在参与组播流的网桥域。

这些网桥域在VRF本地。
步骤3.配置RP。
导航到租户> Mcast_Receivers_Tenant >网络> VRFs > Mcast_Receivers_VRF >组播,并在Rendezvous Points选项卡下的主窗格上看到配置RP的选项。

注意:在本示例中,您使用的是所有组播组的静态RP,因此未指定路由映射。
步骤4.配置租户路由组播。
步骤4.1.创建路由映射以允许组播流量从源VRF到接收器VRF。
导航到租户> Mcast_Receivers_Tenant > Policies > Protocol > Route Maps for Multicast,右键单击以创建新租户。
指定Name并添加一个Route Map Entry。所有IP值都是基于网络掩码的范围。将Action设置为Permit以允许流量。


步骤4.2.将RouteMap应用于接收器VRF。
导航到租户> Mcast_Receivers_Tenant >网络> VRFs > Mcast_Receivers_VRF > Multicast,并在Inter-VRF Multicast选项卡下的主窗格中,选择源有组播流量的租户和VRF。此外,选择您刚刚创建的RouteMap。

在此步骤之后,组播流量现在到达公共租户/VRF上的接收器192.168.2.4。接收方192.168.2.5由于下一节中讨论的限制而无法获取流量。
限制
在本文中,重点介绍一些重要的设计注意事项。有关完整的准则和限制,请参阅:
思科APIC第3层网络配置指南,版本6.0(x) — 第章:租户路由组播
使用TRM时,每个具有接收器VRF的枝叶都需要部署源VRF。如果不存在,您将得到配置故障。

注意:因此,接收方192.168.2.5未收到组播流。因为源VRF未部署在LF104上。相反,接收方192.168.2.4接收组播流,因为LF102部署了源VRF,因为L3out在该枝叶上
L3out支持L3组播的以下接口:
- 路由接口
- 路由的子接口
- L3端口通道
- SVI接口(不在vPC中)
注意:在此配置示例中,使用SVI接口,但这些接口不在vPC中。L3组播不支持在vPC L3out上使用SVI。
在为L3组播启用的每个边界枝叶上,需要有一个可从外部网络访问的唯一IPv4环回地址。它用于PIM Hello消息
注意:在本示例中,L3out配置为使用OSPF路由器ID作为环回接口。
验证步骤和故障排除命令
活动接收器
将网桥域添加到组播接口(第2步)后,IGMP即启用。如果有终端主动请求组播流量,您可以通过下一命令看到它。
LF102# show ip igmp groups vrf Mcast_Receivers_Tenant:Mcast_Receivers_VRF
Type: S - Static, D - Dynamic, L - Local, T - SSM Translated
IGMP Connected Group Membership for VRF "Mcast_Receivers_Tenant:Mcast_Receivers_VRF"
Group Address Type Interface Uptime Expires Last Reporter
239.1.1.1 D vlan39 3d5h 00:02:49 192.168.2.4
LF102#
LF103# show ip igmp groups vrf common:Mcast_Source_VRF
Type: S - Static, D - Dynamic, L - Local, T - SSM Translated
IGMP Connected Group Membership for VRF "common:Mcast_Source_VRF"
Group Address Type Interface Uptime Expires Last Reporter
239.1.1.1 D vlan82 05:22:51 00:03:51 192.168.1.5
LF103#
LF104# show ip igmp groups vrf Mcast_Receivers_Tenant:Mcast_Receivers_VRF
Type: S - Static, D - Dynamic, L - Local, T - SSM Translated
IGMP Connected Group Membership for VRF "Mcast_Receivers_Tenant:Mcast_Receivers_VRF"
Group Address Type Interface Uptime Expires Last Reporter
239.1.1.1 D vlan73 3d5h 00:02:36 192.168.2.5
LF104#
已部署RP IP地址和组
配置RP IP后(第3步),您可以验证它是否正确部署在其各自的VRF上的每个枝叶。
LF102# show ip pim rp vrf common:Mcast_Source_VRF
PIM RP Status Information for VRF:"common:Mcast_Source_VRF"
BSR disabled
Auto-RP disabled
RP: 10.1.2.3, uptime: 3d5h, expires: never
priority: 0, RP-source: (local) group-map: None, group ranges:
224.0.0.0/4
LF102# show ip pim rp vrf Mcast_Receivers_Tenant:Mcast_Receivers_VRF
PIM RP Status Information for VRF:"Mcast_Receivers_Tenant:Mcast_Receivers_VRF"
BSR disabled
Auto-RP disabled
RP: 10.1.2.3, uptime: 3d5h, expires: never
priority: 0, RP-source: (local) group-map: None, group ranges:
224.0.0.0/4
LF102#
PIM邻接关系
将L3out添加到组播接口(步骤2)后,PIM即启用。验证是否已形成L3out上的PIM邻居关系。您还可以看到,边界枝叶交换机通过交换矩阵从它们之间的PIM邻居关系中获取。
LF101# show ip pim neighbor vrf common:Mcast_Source_VRF
PIM Neighbor information for Dom:common:Mcast_Source_VRF
Neighbor Interface Uptime Expires DRPriority Bidir BFDState
10.0.0.102/32 tunnel17 3d13h 00:01:44 1 no n/a
10.0.1.4/32 vlan39 3d5h 00:01:39 1 yes n/a
LF101#
LF102# show ip pim neighbor vrf common:Mcast_Source_VRF
PIM Neighbor information for Dom:common:Mcast_Source_VRF
Neighbor Interface Uptime Expires DRPriority Bidir BFDState
10.0.0.101/32 tunnel19 3d13h 00:01:25 1 no n/a
10.0.2.4/32 vlan42 3d5h 00:01:22 1 yes n/a
LF102#
条带赢家
当有多台启用了PIM的边界枝叶交换机时,一台被选举为条带优胜者。条带生成器负责将PIM加入/修剪消息发送到外部源/RP。此外,它还负责将流量转发到交换矩阵。可以有多个Stripe-Winner,但本示例中未涉及这一点。
使用下一个命令,您可以检查哪个border-leaf被选为条带获胜者
LF101# show ip pim internal stripe-winner 239.1.1.1 vrf common:Mcast_Source_VRF
PIM Stripe Winner info for VRF "common:Mcast_Source_VRF" (BL count: 2)
(*, 239.1.1.1)
BLs:
Group hash 1656089684 VNID 2326529
10.0.0.101 hash: 277847025 (local)
10.0.0.102 hash: 1440909112
Winner: 10.0.0.102 best_hash: 1440909112
Configured Stripe Winner info for VRF "common:Mcast_Source_VRF"
Not found
LF101#
LF102# show ip pim internal stripe-winner 239.1.1.1 vrf common:Mcast_Source_VRF
PIM Stripe Winner info for VRF "common:Mcast_Source_VRF" (BL count: 2)
(*, 239.1.1.1)
BLs:
Group hash 1656089684 VNID 2326529
10.0.0.102 hash: 1440909112 (local)
10.0.0.101 hash: 277847025
Winner: 10.0.0.102 best_hash: 1440909112
Configured Stripe Winner info for VRF "common:Mcast_Source_VRF"
Not found
LF102#
Mroute
检查Mroutes对很多方面都有用。
- 您可以看到(S,G)条目是否存在,这意味着正在接收来自特定源的流量。
- 检查传入接口并验证这是通向源和RP的预期路径。
- 检查Outgoing interface列表,查看流量转发到何处以及它如何通过IGMP或PIM获得该条目。
- 在边界枝叶交换机上,您还可以看到谁是Stripe Winner。它具有Mroutes,而非选举的border-leaf没有。
LF101# show ip mroute 239.1.1.1 vrf common:Mcast_Source_VRF
IP Multicast Routing Table for VRF "common:Mcast_Source_VRF"
Group not found
LF101#
LF102# show ip mroute 239.1.1.1 vrf common:Mcast_Source_VRF
IP Multicast Routing Table for VRF "common:Mcast_Source_VRF"
(*, 239.1.1.1/32), uptime: 3d05h, ngmvpn ip pim mrib
Incoming interface: Vlan42, RPF nbr: 10.0.2.4
Outgoing interface list: (count: 1) (Fabric OIF)
Tunnel19, uptime: 3d05h, ngmvpn
Extranet receiver list: (vrf count: 1, OIF count: 1)
Extranet receiver in vrf Mcast_Receivers_Tenant:Mcast_Receivers_VRF:
(*, 239.1.1.1/32) OIF count: 1
(10.0.2.4/32, 239.1.1.1/32), uptime: 01:32:02, ip mrib pim ngmvpn
Incoming interface: Vlan42, RPF nbr: 10.0.2.4
Outgoing interface list: (count: 1) (Fabric OIF)
Tunnel19, uptime: 01:32:02, mrib, ngmvpn
Extranet receiver list: (vrf count: 1, OIF count: 1)
Extranet receiver in vrf Mcast_Receivers_Tenant:Mcast_Receivers_VRF:
(10.0.2.4/32, 239.1.1.1/32) OIF count: 1
LF102#
LF102# show ip mroute 239.1.1.1 vrf Mcast_Receivers_Tenant:Mcast_Receivers_VRF
IP Multicast Routing Table for VRF "Mcast_Receivers_Tenant:Mcast_Receivers_VRF"
(*, 239.1.1.1/32), uptime: 3d05h, igmp ip pim
Incoming interface: Vlan42, RPF nbr: 10.0.2.4
Outgoing interface list: (count: 1)
Vlan39, uptime: 3d05h, igmp
(10.0.2.4/32, 239.1.1.1/32), uptime: 01:33:19, pim mrib ip
Incoming interface: Vlan42, RPF nbr: 10.0.2.4
Outgoing interface list: (count: 1)
Vlan39, uptime: 01:33:19, mrib
LF102#
LF103# show ip mroute 239.1.1.1 vrf common:Mcast_Source_VRF
IP Multicast Routing Table for VRF "common:Mcast_Source_VRF"
(*, 239.1.1.1/32), uptime: 05:38:05, igmp ip pim
Incoming interface: Tunnel19, RPF nbr: 10.2.184.64
Outgoing interface list: (count: 1)
Vlan82, uptime: 05:38:05, igmp
LF103#
LF104# show ip mroute 239.1.1.1 vrf Mcast_Receivers_Tenant:Mcast_Receivers_VRF
IP Multicast Routing Table for VRF "Mcast_Receivers_Tenant:Mcast_Receivers_VRF"
(*, 239.1.1.1/32), uptime: 3d05h, igmp ip pim
Incoming interface: Tunnel19, RPF nbr: 10.2.184.67
Outgoing interface list: (count: 1)
Vlan73, uptime: 3d05h, igmp
LF104#
交换矩阵内的组播转发
在ACI交换矩阵内处理BUM(广播、未知单播和组播)流量,创建一个VXLAN隧道,其中目标IP为组播IP,此IP称为GIP地址。每个网桥域(用于L2流量)或VRF(用于L3流量)都自动分配了一个GIPo地址。
此GIPo地址可在APIC GUI上查询。导航到租户>通用>网络> VRFs > Mcast_Source_VRF >组播,在PIM Settings选项卡下的主窗格中,可以看到本示例中使用的VRF GIPo地址为225.1.192.16。

在主干交换机上,您可以看到VRF部署到的枝叶交换机,因为GIPo地址会列出每个枝叶的接口。因此,如果源VRF未部署在特定的枝叶上,TRM无法将组播流扩展到接收方VRF。在此输出中,请注意LF104如何不是GIPo的OIL。
注意:可以将VRF GIPo安装在未部署VRF的枝叶上,以便从完整的FTAG树中安装。该枝叶称为传输枝叶。本文不涉及FTAG树主题,以便重点关注TRM配置。
SP1001# show ip mroute 225.1.192.16 vrf overlay-1
IP Multicast Routing Table for VRF "overlay-1"
(*, 225.1.192.16/32), uptime: 5d05h, isis
Incoming interface: Null, RPF nbr: 0.0.0.0
Outgoing interface list: (count: 4)
Ethernet1/1.1, uptime: 00:01:19
Ethernet1/11.39, uptime: 06:01:14
Ethernet1/2.13, uptime: 5d05h
SP1001# 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/52
LF102 Eth1/2 120 BR Eth1/52
LF103 Eth1/11 120 BR Eth1/52
LF501 Eth1/13 120 BR Eth1/54
LF401 Eth1/15 120 BR Eth1/53
LF402 Eth1/16 120 BR Eth1/53
LF104 Eth1/31 120 BR Eth1/52
相关信息
思科APIC第3层网络配置指南,版本6.0(x) — 第章:租户路由组播
在ACI和多站点交换矩阵中部署IP组播
案例分析:ACI交换矩阵中的L3组播