はじめに
このドキュメントでは、VRF間でレイヤ3マルチキャストルーティングを有効にするために、ACIでテナントルーテッドマルチキャスト(TRM)を設定する方法について説明します。
前提条件
略語
ACI:アプリケーションセントリックインフラストラクチャ
VRF:Virtual Routing and Forwarding(VRF)
BD:ブリッジドメイン
EPG:エンドポイントグループ
IGMP:Internet Group Management Protocol
PIM:Protocol-Independent Multicast(プロトコル非依存マルチキャスト)
ASM:Any Source Multicast(任意の送信元マルチキャスト)
RP:ランデブーポイント
TRM:テナントルーテッドマルチキャスト
SVI:Switch Virtual Interface(スイッチ仮想インターフェイス)
vPC:virtual Port-channel
要件
この記事では、次の項目に関する一般的な知識を持っていることが推奨されます。
- ACIの概念:アクセスポリシー、エンドポイントラーニング、契約、およびL3out
- マルチキャストプロトコル:IGMPとPIM
使用するコンポーネント
この設定例は、ACIバージョン16.0を実行する第2世代NexusスイッチN9K-C93180YC-EXを使用するACIバージョン6.0(7e)に基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
設定
この記事では、マルチキャストの設定について説明します。したがって、この例では、ファブリックの内部および外部でユニキャストの到達可能性がすでに確立されていることを前提としています。
ヒント:対象となる当事者間(マルチキャストの発信元、RP、受信者など)にユニキャストの到達可能性がない場合、マルチキャストストリームが影響を受ける可能性が非常に高くなります。
この設定例の目的は、最初に共通テナント/VRFでマルチキャストを有効にして、トラフィックがL3out経由でファブリックに着信し、共通VRF上のレシーバで受信されるようにすることです。次に、2番目のパートでは、このマルチキャストストリームをユーザ定義テナント上の別のVRFに拡張する方法について説明します。
ACIファブリックは、2つのスパインと4つのリーフスイッチを持つ単一のPODです。これら4つのリーフスイッチのうち2つはボーダーリーフスイッチで、OSPF L3out経由で外部NXOS L3スイッチに接続します。外部L3ネットワークの設定については、この記事では説明しません。
マルチキャストトラフィックを受信する、ファブリック内に接続された3つのエンドポイントがあります。各エンドポイントは異なるリーフスイッチに接続されます。 論理的には、それぞれVRFを持つ2つのテナントがあります。1つのテナントは共通で、もう1つはユーザ定義のテナントです。共通テナントには、L3out用の外部EPGと1つのレシーバがあります。ユーザ定義テナントには、同じEPGの一部である2つのレシーバがあります。詳細については、次のセクションの図を参照してください。
ネットワーク図
物理トポロジ

論理図

送信元VRFでのマルチキャストの設定
ステップ 1:VRFレベルでマルチキャストを有効にします。
Tenants > common > Networking > VRFs > Mcast_Source_VRF > Multicastの順に移動し、メインペインでYes、enable Multicastの順に選択します。

ステップ 2:ブリッジドメインとL3Outを追加します。
Tenants > common > Networking > VRFs > Mcast_Source_VRF > Multicastの順に移動し、メインペインのInterfacesタブの下で、マルチキャストフローに参加しているブリッジドメインとL3outを追加できます。

これらのブリッジドメインとL3outはVRFに対してローカルです。
注意:L3マルチキャストに対して有効になっている各border-leafでは、外部ネットワークから到達可能な一意のIPv4ループバックアドレスが必要です。PIM Helloメッセージに使用されるこの例では、OSPFルータIDをループバックインターフェイスとして使用するようにL3outが設定されています。
ステップ 3:RPを設定します。
Tenants > common > Networking > VRFs > Mcast_Source_VRF > Multicastの順に移動し、メインペインのRendezvous Pointsタブの下に、RPを設定するためのオプションが表示されます。

注:この例では、すべてのマルチキャストグループにスタティックRPを使用しているため、ルートマップは指定されていません。
この手順の後、マルチキャストトラフィックはCommon Tenant/VRFのレシーバ192.168.1.5に到達しています。
レシーバVRFでの設定マルチキャスト – テナントルーテッドマルチキャスト
ステップ 1:VRFレベルでマルチキャストを有効にします。
Tenants > Mcast_Receivers_Tenant > Networking > VRFs > Mcast_Receivers_VRF > Multicastの順に移動し、メインペインでYes、enable Multicastの順に選択します。

ステップ 2:ブリッジドメインを追加します。
Tenants > Mcast_Receivers_Tenant > Networking > VRFs > Mcast_Receivers_VRF > Multicastの順に移動し、メインペインのInterfacesタブで、マルチキャストフローに参加しているブリッジドメインを追加できます。

これらのブリッジドメインはVRFに対してローカルです。
ステップ 3:RPを設定します。
Tenants > Mcast_Receivers_Tenant > Networking > VRFs > Mcast_Receivers_VRF > Multicastの順に移動すると、メインペインのRendezvous Pointsタブに、RPを設定するためのオプションが表示されます。

注:この例では、すべてのマルチキャストグループにスタティックRPを使用しているため、ルートマップは指定されていません。
ステップ 4:テナントルーテッドマルチキャストを設定する。
ステップ 4.1:送信元VRFから受信側VRFへのマルチキャストトラフィックを許可するルートマップを作成します。
Tenants > Mcast_Receivers_Tenant > Policies > Protocol > Route Maps for Multicastの順に移動し、右クリックして新しいルートマップを作成します。
名前を指定し、ルートマップエントリを追加します。すべてのIP値は、ネットワークマスクに基づく範囲です。トラフィックを許可するには、ActionをPermitに設定します。


ステップ 4.2:RouteMapをレシーバVRFに適用します。
Tenants > Mcast_Receivers_Tenant > Networking > VRFs > Mcast_Receivers_VRF > Multicastの順に選択し、メインペインのInter-VRF Multicastタブで、マルチキャストトラフィックの送信元となるテナントとVRFを選択します。また、作成したRouteMapを選択します。

ヒント:このステップでは、ルートマップの作成も実行できます。
この手順の後、マルチキャストトラフィックはCommon Tenant/VRFのレシーバ192.168.2.4に到達しています。受信側192.168.2.5は、次のセクションで説明する制限のためにトラフィックを取得できません。
制限事項
この記事では、設計に関する重要な考慮事項について説明します。ガイドラインおよび制限事項の詳細については、次を参照してください。
Cisco APICレイヤ3ネットワーキングコンフィギュレーションガイド、リリース6.0(x) – 章:テナントルーテッドマルチキャスト
TRMでは、受信側VRFを持つすべてのリーフに送信元VRFを展開する必要があります。存在しない場合は、設定エラーが表示されます。

注:この理由により、レシーバ192.168.2.5はマルチキャストフローを受信しませんでした。送信元VRFがLF104に展開されていないためです。これに対し、レシーバ192.168.2.4はマルチキャストフローを受信しました。これは、L3outがリーフ上にあるため、LF102にソースVRFが展開されているためです
L3outでは、L3マルチキャストに関して次のインターフェイスがサポートされています。
- ルーテッドインターフェイス
- ルーテッドサブインターフェイス
- L3ポートチャネル
- SVIインターフェイス(vPCにはありません)
注:この設定例では、SVIインターフェイスが使用されていますが、vPCにはありません。vPCでのSVIの使用L3outは、L3マルチキャストではサポートされていません。
L3マルチキャストに対して有効になっている各border-leafでは、外部ネットワークから到達可能な一意の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の各リーフにRP IPが正しく展開されていることを検証できます。
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が有効な状態で複数のボーダーリーフスイッチがある場合、1つがストライプの当選者として選出されます。Stripe Winnerは、PIM join/pruneメッセージを外部ソース/RPに送信します。また、トラフィックをファブリックに転送する役割も果たします。複数のStripe-Winnerを設定することは可能ですが、この例では取り上げていません。
次のコマンドを使用すると、どのborder-leafがStripe Winnerとして選択されているかを確認できます
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
Mrouteのチェックは、多くの場合に役立ちます。
- (S,G)エントリが存在するかどうか、つまり、特定の送信元からのトラフィックが受信されているかどうかを確認できます。
- 着信インターフェイスをチェックし、それが送信元とRPへの予想されるパスであることを確認します。
- 発信インターフェイスリストを確認して、トラフィックが転送される場所と、IGMPまたはPIMを介してそのエントリを取得した方法を確認します。
- 境界リーフスイッチでは、ストライプの当選者も確認できます。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#
ファブリック内のマルチキャスト転送
BUM(ブロードキャスト、不明なユニキャスト、およびマルチキャスト)トラフィックを処理するACIファブリック内で、宛先IPがマルチキャストIPであるVXLANトンネルが作成されます。このIPはGIPoアドレスと呼ばれます。各ブリッジドメイン(L2トラフィック用)またはVRF(L3トラフィック用)には、GIPoアドレスが自動的に割り当てられます。
このGIPoアドレスは、APIC GUIで確認できます。Tenants > common > Networking > VRFs > Mcast_Source_VRF > Multicastの順に移動すると、メインペインのPIM Settingsタブに、この例で使用されているVRF GIPoアドレスが225.1.192.16と表示されます。

スパインスイッチでは、GIPoアドレスのmrouteに各リーフのインターフェイスがリストされているため、どのリーフスイッチにVRFが展開されているかを確認できます。このため、送信元VRFが特定のリーフに展開されていない場合、TRMはレシーバVRFへのマルチキャストフローを拡張できません。この出力では、LF104がGIPoのOILの一部でないことに注意してください。
注:VRFが展開されていないリーフにVRF GIPoをインストールして、完全な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
関連情報
Cisco APICレイヤ3ネットワーキングコンフィギュレーションガイド、リリース6.0(x) – 章:テナントルーテッドマルチキャスト
ACIおよびマルチサイトファブリックにおけるIPマルチキャストの展開
ケーススタディ:ACIファブリックでのL3マルチキャスト