概要

この章では、Cisco NX-OS のマルチキャスト機能について説明します。

サポートされるプラットフォーム

Cisco NX-OS リリース 7.0(3)I7(1) 以降では、Nexus スイッチ プラットフォーム サポート マトリクスに基づいて、選択した機能をさまざまな Cisco Nexus 9000 および 3000 スイッチで使用するために、どの Cisco NX-OS リリースが必要かを確認してください。

マルチキャストについて

IP マルチキャストは、同一セットの IP パケットをネットワーク上の複数のホストに転送する手法です。IPv4 ネットワークで、マルチキャストを使用して、複数の受信者に効率的にデータを送信できます。


(注)  


発信インターフェイス(OIF)を含む総称ルーティング カプセル化(GRE)トンネルを介して実行するように、プロトコル独立型マルチキャスト v4(PIMv4)を設定できます。


マルチキャストには、グループと呼ばれる IP マルチキャスト アドレスに送信されたマルチキャスト データの送信側と受信側の配信と検出の両方の手法が含まれます。グループと送信元 IP アドレスが入ったマルチキャスト アドレスは、しばしばチャネルと呼ばれます。Internet Assigned Number Authority(IANA)では、IPv4 マルチキャスト アドレスとして、224.0.0.0 ~ 239.255.255.255 を割り当てています。詳細については、次の URL を参照してください。http://www.iana.org/assignments/multicast-addresses

IPv6 マルチキャスト アドレスは 0xFF から始まります。IPv6 のアドレッシング アーキテクチャは、RFC 4291 で規定されています。IANA で予約されているアドレスの詳細については、http://www.iana.org/assignments/ipv6-multicast-addresses を参照してください。


(注)  


マルチキャストに関連する RFC の完全なリストについては、「IP マルチキャストに関する IETF RFC」の章を参照してください。


ネットワーク上のルータは、受信者からのアドバタイズメントを検出して、マルチキャスト データの要求対象となるグループを特定します。その後、ルータは送信元からのデータを複製して、対象の受信者へと転送します。グループ宛のマルチキャスト データが送信されるのは、そのデータを要求する受信者を含んだ LAN セグメントだけです。

次の図に、1 つの送信元から 2 つの受信者へと、マルチキャスト データを送信する場合の例を示します。この図で、中央のホストが属する LAN セグメントにはマルチキャスト データを要求する受信者が存在しないため、このホストは受信者にデータを転送しません。

図 1. 1 つの送信元から 2 つの受信者へのマルチキャスト トラフィック

マルチキャスト配信ツリー

マルチキャスト配信ツリーとは、送信元と受信者を中継するルータ間の、マルチキャスト データの伝送パスを表します。マルチキャスト ソフトウェアはサポートするマルチキャスト方式に応じて、タイプの異なるツリーを構築します。

送信元ツリー

送信元ツリーは、送信元からネットワーク経由でマルチキャスト トラフィックを伝送する場合の最短パスです。特定のマルチキャスト グループへと送信されたマルチキャスト トラフィックが、同じグループのトラフィックを要求する受信者へと転送されます。送信元ツリーは、最短パスとしての特性から、最短パス ツリー(SPT)と呼ばれることがあります。この図は、ホスト A を起点とし、ホスト B および C に接続されているグループ 224.1.1.1 の送信元ツリーを示しています。

図 2. 送信元ツリー

表記(S, G)は、グループ G の任意の送信元からのマルチキャスト トラフィックを表します。この図の SPT は、(192.0.2.1, 224.1.1.1)と記述されます。同じグループの複数の送信元からトラフィックを送信できます。

共有ツリー

共有ツリーとは、共有ルート、つまりランデブー ポイント(RP)から各受信者に、ネットワーク経由でマルチキャスト トラフィックを伝送する共有配信パスを表します(RP は各ソースへの SPT を作成します。)共有ツリーは、RP ツリー(RPT)とも呼ばれます。この図は、ルータ D に RP を持つ、グループ 224.2.2.2 の共有ツリーを示しています。データは送信元ホスト A およびホスト D からルータ D(RP)に送信され、そこから受信者ホスト B およびホスト C にトラフィックが転送されます。

図 3. 共有ツリー

表記(*, G)は、グループ G の任意の送信元からのマルチキャスト トラフィックを表します。図の共有ツリーは、(*, 224.2.2.2)と記述されます。

双方向共有ツリー

双方向共有ツリーとは、共有ルート、つまりランデブー ポイント(RP)から各受信者に、ネットワーク経由でマルチキャスト トラフィックを伝送する共有配信パスを表しますマルチキャスト データは、RP への経路上にある受信者に転送されます。次の表に、双方向共有ツリーの利点を示します。マルチキャスト トラフィックは、ルータ B および C を通して、ホスト A からホスト B に直接送られます。共有ツリーの場合、送信元ホスト A から送信されたデータは、まず RP(ルータ D)に送信され、ルータ B に転送されてからホスト B に伝送されます。

図 4. 双方向共有ツリー

表記(*, G)は、グループ G の任意のソースからのマルチキャスト トラフィックを表します。図の双方向ツリーは、(*, 224.2.2.2)と記述されます。

マルチキャスト転送

マルチキャスト トラフィックは任意のホストを含むグループ宛に送信されるため、ルータはリバース パス フォワーディング(RPF)を使用して、グループのアクティブな受信者にデータをルーティングします。受信者がグループに加入すると、送信元方向へ向かうパス(SSM モード)、または RP 方向へ向かうパス(ASM または Bidir モード)が形成されます。送信元から受信者へのパスは、受信者がグループに加入したときに作成されたパスと逆方向になります。

マルチキャスト パケットが着信するたびに、ルータは RPF チェックを実行します。送信元に接続されたインターフェイスにパケットが着信した場合は、グループの発信インターフェイス(OIF)リスト内の各インターフェイスにパケットが転送されます。それ以外の場合、パケットはドロップされます。


(注)  


Bidir モードでは、パケットが非 RPF インターフェイスに着信した際に、インターフェイスが指定フォワーダ(DF)として選択されていれば、パケットは RP に向かうアップストリーム方向にも転送されます。


次の図に、異なるインターフェイスから着信したパケットについて、RPF チェックを行う場合の例を示します。E0 に着信したパケットは、RPF チェックに失敗します。これは、ユニキャスト テーブルで、対象の送信元ネットワークがインターフェイス E1 に関連付けられているためです。E1 に着信したパケットは、RPF チェックに合格します。これは、ユニキャスト ルート テーブルで、対象の送信元ネットワークがインターフェイス E1 に関連付けられているためです。

図 5. RPF チェックの例

Cisco NX-OS の PIM

Cisco NX-OS は、Protocol Independent Multicast(PIM)スパース モードを使用したマルチキャストをサポートします。PIM は IP ルーティング プロトコルに依存せず、使用されているすべてのユニキャスト ルーティング プロトコルが提供するユニキャスト ルーティング テーブルを利用できます。PIM スパース モードでは、ネットワーク上の要求元だけにマルチキャスト トラフィックが伝送されます。Cisco NX-OS では、PIM デンス モードはサポートされません。


(注)  


このマニュアルで、「PIM」という用語は PIM スパース モード バージョン 2 を表します。


マルチキャスト コマンドにアクセスするには、PIM 機能をイネーブルにする必要があります。ドメイン内の各ルータのインターフェイス上で、PIM をイネーブルにしないかぎり、マルチキャスト機能はイネーブルになりません。PIM は IPv4 ネットワーク用に設定できます。デフォルトでは、IGMP がシステムで稼働しています。

マルチキャスト対応ルータ間で使用される PIM は、マルチキャスト配信ツリーを構築して、ルーティング ドメイン内にグループ メンバーシップをアドバタイズします。PIM は、複数の送信元からのパケットが転送される共有配信ツリーと、単一の送信元からのパケットが転送される送信元配信ツリーを構築します。

配信ツリーは、リンク障害またはルータ障害のためにトポロジが変更されると、トポロジを反映して自動的に変更されます。PIM はマルチキャスト対応の送信元および受信者を動的に追跡します。ただし、Bidir モードの場合、送信元ステートは生成されません

ルータはユニキャスト ルーティング テーブルおよび RPF ルートを使用して、マルチキャスト ルーティング情報を生成します。Bidir モードの場合は、追加のルーティング情報が生成されます。


(注)  


このマニュアルでは、「IPv4 用の PIM」という表現は、Cisco NX-OS における PIM スパース モードの実装を表します。


次の図に、IPv4 ネットワーク内の 2 つの PIM ドメインを示します。

図 6. IPv4 ネットワーク内の PIM ドメイン
  • 矢印の付いた直線は、ネットワークで伝送されるマルチキャスト データのパスを表します。マルチキャスト データは送信元ホストの A および D から発信されます。

  • 点線でつながれているルータ B および Fは、Multicast Source Discovery Protocol(MSDP)ピアです。MSDP を使用すると、他の PIM ドメイン内にあるマルチキャスト送信元を検出できます。

  • ホスト B およびホスト C ではマルチキャスト データを受信するため、インターネット グループ管理プロトコル(IGMP)プロトコルを使用して、マルチキャスト グループへの加入要求をアドバタイズします。

  • ルータ A、C、および D は指定ルータ(DR)です。LAN セグメントに複数のルータが接続されている場合は(C や E など)、PIM ソフトウェアによって DR となるルータが 1 つ選択されます。これにより、マルチキャスト データの窓口として、1 つのルータだけが使用されます。

ルータ B とルータ F は、それぞれ異なる PIM ドメインのランデブー ポイント(RP)です。RP は、複数の送信元と受信者を接続するため、PIM ドメイン内の共通ポイントとして機能します。

PIM は送信元と受信者間の接続に関して、これらのマルチキャスト モードをサポートしています。

  • Any Source Multicast(ASM)

  • Source Specific Multicast(SSM)

  • 双方向共有ツリー(Bidir)

Cisco NX-OS では上記モードを組み合わせて、さまざまな範囲のマルチキャスト グループに対応することができます。マルチキャスト用の RPF ルートを定義することもできます。

アーキテクチャ セールス マネージャ(ASM)

Any Source Multicast(ASM)は PIM ツリー構築モードの 1 つです。新しい送信元および受信者を検出する場合には共有ツリーを、受信者から送信元への最短パスを形成する場合は送信元ツリーを使用します。共有ツリーでは、ランデブー ポイント(RP)と呼ばれるネットワーク ノードをルートとして使用します。送信元ツリーは第 1 ホップ ルータをルートとし、アクティブな発信元である各送信元に直接接続されています。ASM モードでは、グループ範囲に対応する RP が必要です。RP は静的に設定することもできれば、Auto-RP プロトコルまたはブートストラップ ルータ(BSR)プロトコルを使用して、グループと RP 間の関連付けを動的に検出することもできます。RP が学習されている場合、かつ Bidir-RP であるかどうかが不明な場合、グループは ASM モードで動作します。

RP を設定する場合、デフォルト モードは ASM モードです。

Bidir

双方向共有ツリー(Bidir)は ASM モードと同様、受信者と RP の間の共有ツリーを構築する PIM モードです。ただし、グループに新しい受信者が追加された場合、送信元ツリーに切り替えることはできません。Bidir モードの場合、受信者に接続されたルータは代表フォワーダ(DF)と呼ばれます。これは、RP を経由することなく、代表ルータ(DR)から受信者に直接マルチキャスト データを転送できるためです。Bidir モードを利用するには、RP を設定する必要があります。

Bidir モードを使用すると、マルチキャスト送信元が多数存在する場合に、ルータに必要なリソース量を削減するとともに、RP の動作ステータスや接続ステータスに関係なく、運用を継続できます。

SSM

送信元固有マルチキャスト(SSM)は、マルチキャスト送信元への加入要求を受信する LAN セグメント上の代表ルータを起点として、送信元ツリーを構築する PIM モードです。送信元ツリーは、PIM 加入メッセージを送信元方向に送信することで構築されます。SSM モードでは、RP を設定する必要がありません。

SSM モードの場合、PIM ドメインの外部にある送信元と受信者を接続できます。

マルチキャスト用 RPF ルート

静的マルチキャスト RPF ルートを設定すると、ユニキャスト ルーティング テーブルの定義内容を無効にすることができます。この機能は、マルチキャスト トポロジとユニキャスト トポロジが異なる場合に使用されます。

IGMP

デフォルトでは、PIM のインターネット グループ管理プロトコル(IGMP)が、システムで実行されています。

IGMP は、マルチキャスト グループのメンバーシップを要求するため、マルチキャスト データを受信する必要があるホストで使用されます。グループ メンバーシップが確立されると、対象のグループのマルチキャスト データが要求元ホストの LAN セグメントに転送されます。

インターフェイスには IGMPv2 または IGMPv3 を設定できます。SSM モードをサポートするには、(S, G)を使用して IGMPv3 を設定する必要があります。デフォルトでは IGMPv2 がイネーブルになっています。

IGMP スヌーピング

IGMP スヌーピングは、VLAN で既知の受信者に接続された一部のポートだけにマルチキャスト トラフィックを転送する機能です。対象ホストからの IGMP メンバーシップ レポート メッセージを調べる(スヌーピングする)ことにより、マルチキャスト トラフィックは対象ホストが接続された VLAN ポートだけに送信されます。システムでは、IGMP スヌーピングがデフォルトで稼働しています。

ドメイン内マルチキャスト

Cisco NX-OS では、PIM ドメイン間でマルチキャスト トラフィック送信を実行するための方法が提供されます。

SSM

PIM ソフトウェアは SSM を使用して、受信者の指定ルータから既知の送信元 IP アドレスへの最短パス ツリーを構築します。この場合、送信元は別の PIM ドメイン内にあってもかまいません。ASM および Bidir モードの場合、別の PIM ドメインから送信元にアクセスするには、別のプロトコルを使用する必要があります。

ネットワークで PIM をイネーブルにすると、SSM を使用し、受信者の指定ルータが IP アドレスを把握している任意のマルチキャスト送信元への接続パスを確立できます。

MSDP

Multicast Source Discovery Protocol(MSDP)は、PIM と組み合わせて使用することで、異なる PIM ドメイン内にあるマルチキャスト送信元を検出できるようにするマルチキャスト ルーティング プロトコルです。


(注)  


Cisco NX-OS では、MSDP 設定が不要な PIM Anycast-RP をサポートしています。


MBGP

Multiprotocol BGP(MBGP)は BGP4 の拡張機能であり、ルータによるマルチキャスト ルーティング情報の伝送を可能にします。このマルチキャスト情報を使用すると、PIM および PIM6 を介して、外部の BGP 自律システム(AS)内の送信元と通信できます。

MRIB と M6RIB

Cisco NX-OS IPv4 マルチキャスト ルーティング情報ベース(MRIB)は、PIM や IGMP などのマルチキャスト プロトコルで生成されるルート情報を格納するためのリポジトリです。MRIB はルート情報自体には影響を及ぼしません。MRIB は仮想デバイス コンテキスト(VDC)の仮想ルーティングおよびフォワーディング(VRF)インスタンスごとに、独立したルート情報を保持します。

MRIB が IPv4 ルーティング情報を保持するのと同じように、M6RIB は、PIM6 や MLD などのプロトコルによって生成される IPv6 ルーティング情報を保持します。

Cisco NX-OS リリース 10.2(1) 以降、グローバル境界マルチキャスト設定がサポートされています。

グローバル マルチキャスト境界で許可または拒否される IP マルチキャスト グループおよびチャネルのグローバル範囲を定義するには、 VRF コンフィギュレーション モードで {ip | ipv6} multicast group-range prefix-list <prefix-list-name> コマンドを設定する必要があります。このコマンドは、ルータのすべてのインターフェイスで、未認可グループまたはチャネルのマルチキャスト プロトコル アクションおよびトラフィック転送をディセーブルにするために使用されます。prefix-list は境界を構成します。次に設定例を示します。

vrf context enterprise
ip multicast group-range prefix-list test

Cisco NX-OS マルチキャスト ソフトウェア アーキテクチャの主要コンポーネントは次のとおりです。

  • マルチキャスト FIB(MFIB および M6FIB)分散(MFDM)API は、MRIB や M6RIB を含むマルチキャスト レイヤ 2 およびレイヤ 3 コントロール プレーン モジュールと、プラットフォーム転送プレーン間のインターフェイスを定義します。コントロール プレーン モジュールは、MFDM API を使用してレイヤ 3 ルート アップデートを送信します。

    hardware profile multicast flex-stats-enable コマンドの構成でリアルタイム/フレックス統計が有効になっている場合、MFDM プロセスはリアルタイム パケット統計を MRIB に送信します。


    (注)  


    バイト値を比較すると、MFDM 出力より常に MRIB 出力の方が低くなります。ただし、パケット値はほぼ同じになります。MFDM は外部ヘッダーを削除し、IP データグラムのみを MRIB に送信するからです。


  • マルチキャスト FIB 配信プロセス:すべての関連モジュールおよびスタンバイ スーパーバイザに、マルチキャスト アップデート メッセージを配布します。このプロセスはスーパーバイザだけで実行されます。

  • レイヤ 2 マルチキャスト クライアント プロセス:レイヤ 2 マルチキャスト ハードウェア転送パスを構築します。このプロセスは、スーパーバイザとモジュールの両方で実行されます。

  • ユニキャストおよびマルチキャスト FIB プロセス:レイヤ 3 ハードウェア転送パスを管理します。このプロセスは、スーパーバイザとモジュールの両方で実行されます。

    次の図に、Cisco NX-OS マルチキャスト ソフトウェアのアーキテクチャを示します。

    図 7. Cisco NX-OS マルチキャスト ソフトウェアのアーキテクチャ

仮想ポート チャネルおよびマルチキャスト

仮想ポート チャネル(vPC):1 台のデバイスで 2 台のアップストリーム スイッチのポート チャネルを使用できるようにします。vPC を設定すると、次のマルチキャスト機能に影響が及ぶ可能性があります。

  • PIM: Cisco Nexus 9000 シリーズ スイッチ対応の Cisco NX-OS ソフトウェアは、vPC での PIM Bidir をサポートしません。

  • IGMP スヌーピング:vPC ピアの設定を同一にする必要があります。

より低い IP アドレスを持つ L2 デバイスでスヌーピング クエリアを設定して、L2 デバイスをクエリアとして強制することをお勧めします。これは、マルチ シャーシ EtherChannel トランク (MCT) がダウンしているシナリオの処理に役立ちます。

マルチキャストに関する注意事項と制限事項

  • Cisco NX-OS リリース 10.2(1q)F 以降、 Cisco Nexus N9K-C9332D-GX2B プラットフォーム スイッチではレイヤ 2 およびレイヤ 3 マルチキャストがサポートされます。

  • Cisco NX-OSリリース10.1(2) 以降、N9K-X9624D-R2 ライン カードではレイヤ 3 マルチキャストがサポートされます。

  • Cisco NX-OSリリース 10.4(2) 以降、Cisco Nexus N9K-C9808、C9804、ラインカードの N9K-X9836DM-A と N9K-X98900CD-A、および Cisco Nexus N9K-C9232E-B1 では、IPv6 マルチキャストがサポートされます。

  • Cisco Nexus N9K-C9808、C9804、および N9K-C9232E-B1では、IPv6 マルチキャスト宛先アドレスに、仮想ルーティングおよび転送(VRF)送信元グループアドレスの一意の 32 個の最下位ビット(LSB)が必要です。同じハードウェア エントリへのトラフィックが混在しないように、VRF 上の特定の送信元 IP に同じ 32 個の LSB を持つグループ IP を使用しないでください。

  • Cisco Nexus N9K-C9808、C9804、および N9K-C9232E-B1 のハードウェアキャパシティの制限により、次のようになります。

    • マルチキャスト送信元の一意の送信元制限は、Cisco Nexus N9K-C9808、C9804 では 4000、N9K-C9232E-B1 では 950 です。

    • グループの最後の 32 ビットのみが、(*, G) および (S,G) のルックアップに使用されます。

    • IPv6 マルチキャストのこの制限を克服し、トラフィックが正しく送られるようにするには、システム内のグループに一意の 32 LSB が必要です。これは、(*, G) と (S, G) の両方に適用されます。グループ G には複数の送信元が存在する可能性があります。

  • レイヤ 3 イーサネット ポートチャネル サブインターフェイスは、マルチキャスト ルーティングではサポートされていません。

  • レイヤ 2 IPv6 マルチキャスト パケットは、着信 VLAN でフラッディングされます。

  • 不明なマルチキャストトラフィックによるトラフィック ストーム制御はサポートされていません。

  • FEX ポートでのレイヤ 3 マルチキャスト ルーティングおよび FEX ポート チャネルでのレイヤ 3 マルチキャスト ルーティングは、Cisco Nexus 9300-FX および -EX プラットフォーム スイッチでサポートされています。

  • 双方向モードは、-R ライン カードを備えた Cisco Nexus 9500 プラットフォーム スイッチではサポートされていません。

  • IPv6 マルチキャストは、Cisco Nexus 9500 R シリーズ ラインカードではサポートされていません。

  • Cisco NX-OS リリース 10.3(1)F 以降、Cisco Nexus 9808 プラットフォーム スイッチでインターフェイス整合性チェッカーがサポートされています。

    • Cisco NX-OS リリース 10.4(1)F 以降、マルチキャスト一貫性チェッカーは、Cisco Nexus 9808 スイッチ(Cisco Nexus X98900CD-A、X9836DM-A ライン カード搭載)サポートされます。

  • Cisco NX-OS リリース 10.4(1)F 以降、マルチキャスト一貫性チェッカーは、Cisco Nexus 9804 プラットフォーム スイッチ(Cisco Nexus X98900CD-A、X9836DM-A ライン カード搭載)でサポートされます。

  • Cisco NX-OS リリース 10.3(1)F 以降、IPv4 のマルチキャスト L3 は、Cisco Nexus 9800 プラットフォーム スイッチでサポートされています。ただし、IPv6 マルチキャストおよび双方向モードはサポートされていません。

    • Cisco NX-OS リリース 10.4(1)F 以降、IPv4 のマルチキャスト L3 は、Cisco Nexus 9808 スイッチ(Cisco Nexus X98900CD-A、X9836DM-A ライン カード搭載)でサポートされます。

  • Cisco NX-OS リリース 10.4(1)F 以降、IPv4 のマルチキャスト L3 は Cisco Nexus 9804 プラットフォーム スイッチ(Cisco Nexus X98900CD-A、X9836DM-A ライン カード搭載)でサポートされます。ただし、IPv6 マルチキャストおよび双方向モードはサポートされていません。

  • IPv6 マルチキャスト トラフィックの場合、完全なパケットが通過するように、MTU サイズが許可されている MTU よりも 40 バイト大きく設定されていることを確認します。ただし、この構成は IPv4 マルチキャスト トラフィックに影響を与え、最大 MTU+40 パケットも通過できるようにします。

  • Cisco NX-OS リリース 10.4(1)F 以降、マルチキャストは Cisco Nexus 9332D-H2R プラットフォーム スイッチでサポートされます。ただし、FEXはサポートされていません。

マルチキャストのハイ アベイラビリティ要件

マルチキャスト ルーティング プロトコルを再起動すると、MRIB プロセスによってステートが回復されます。スーパーバイザのスイッチオーバーが発生した場合、MRIB はハードウェアからステートを回復し、マルチキャスト プロトコルは定期的なメッセージ アクティビティからステートを回復します。ハイ アベイラビリティの詳細については、『Cisco Nexus 9000 シリーズ NX-OS ハイ アベイラビリティおよび冗長性ガイド』を参照してください。

仮想デバイス コンテキスト

Cisco NX-OS では、仮想デバイスをエミュレートする Virtual Device Context(VDCs)に、OS およびハードウェア リソースを分割できます。Cisco Nexus 9000 シリーズ スイッチは、現在のところ、複数の VDC をサポートしていません。すべてのスイッチ リソースはデフォルト VDC で管理されます。

SW と HW マルチキャスト ルート間の不一致のトラブルシューティング

症状

このセクションでは、アクティブなフローで MRIB に表示されるが、MFIB でプログラムされていない *、G、または S,G エントリに関連した症状、考えられる原因、および推奨されるアクションについて説明します。

考えられる原因

この問題は、ハードウェアの容量を超えて多数のアクティブ フローを受信した場合に発生します。これにより、空きハードウェア インデックスがなくなって、一部のエントリがハードウェアでプログラムされなくなります。

ハードウェア リソースを解放するためにアクティブなフローの数が大幅に削減された場合、ハードウェア テーブルがいっぱいであったときに以前影響されていたフローについては、エントリ、タイムアウト、再入力が生じ、プログラミングがトリガーされるまで、MRIB と MFIB の間で不整合が見られることがあります。

現在、ハードウェア リソースが解放された後に、MRIB テーブルを調べて、ハードウェアの欠落しているエントリを再プログラムするメカニズムはありません。

改善処置

エントリを確実に再プログラミングするには、clear ip mroute * コマンドを使用します。