IP マルチキャストの概要
ここでは、次の内容について説明します。
• 「IP マルチキャスト プロトコル」
• 「Catalyst 4500 シリーズ スイッチ上での IP マルチキャスト」
• 「サポートされない機能」
IP 通信の一端である IP ユニキャストでは、送信元 IP ホストが特定の宛先 IP ホストにパケットを送信します。この場合、IP パケットに指定される宛先アドレスは、IP ネットワーク上で一意に識別される単一ホストのアドレスです。これらの IP パケットは、ネットワーク上の送信元ホストから、一連のルータによって宛先ホストに転送されます。送信元と宛先間のパス上の各ポイントでは、ルータがユニキャスト ルーティング テーブルを使用して、パケットの IP 宛先アドレスに基づきユニキャスト転送先を決定します。
IP 通信で IP ユニキャストの対極にある IP ブロードキャストでは、送信元ホストはネットワーク セグメント上のすべてのホストにパケットを送信します。IP ブロードキャスト パケットの宛先アドレスでは、宛先 IP アドレスのホスト部分がすべて 1 に設定され、ネットワーク部分がサブネットのアドレスに設定されています。一連の IP ホスト(ルータを含む)は、宛先アドレスとして IP ブロードキャスト アドレスを指定されたパケットが、サブネット上のすべての IP ホスト向けであることを認識しています。特に設定しないかぎり、ルータは IP ブロードキャスト パケットを転送しないので、一般的に IP ブロードキャスト通信はローカル サブネットに限定されます。
IP マルチキャストは、IP ユニキャスト通信と IP ブロードキャスト通信の中間に位置します。IP マルチキャスト通信によって、ホストは IP ネットワーク上の任意の場所にあるホストの グループ に IP パケットを送信します。IP マルチキャスト通信では、特定のグループに情報を送信するために、IP マルチキャスト グループ アドレス という特殊な形式の IP 宛先アドレスを使用します。IP マルチキャスト グループ アドレスは、パケットの IP 宛先アドレス フィールドに指定されます。
IP 情報をマルチキャストするには、レイヤ 3 スイッチおよびルータが、IP マルチキャスト グループの メンバ に接続するすべての出力インターフェイスに、着信 IP パケットを転送する必要があります。Catalyst 4500 シリーズ スイッチ上のマルチキャスト プロセスでは、Integrated Switching Engine でパケットが複製されて適切な出力インターフェイスに転送され、マルチキャスト グループの各メンバに送信されます。
IP マルチキャストはビデオ会議とほとんど同じものと見られがちです。ネットワークに初めて導入する IP マルチキャスト アプリケーションは、多くの場合ビデオ会議ですが、ビデオは企業のビジネス モデルに付加価値をもたらす、さまざまな IP マルチキャスト アプリケーションの 1 つに過ぎません。生産性の向上につながるこのほかの IP マルチキャスト アプリケーションとしては、マルチメディア会議、データ複製、リアルタイム データ マルチキャスト、シミュレーション アプリケーションなどがあります。
ここでは、次の内容について説明します。
• 「IP マルチキャスト プロトコル」
• 「Catalyst 4500 シリーズ スイッチ上での IP マルチキャスト」
• 「サポートされない機能」
IP マルチキャスト プロトコル
Catalyst 4500 シリーズ スイッチでは、主に次のプロトコルを使用して IP マルチキャスト ルーティングを実行します。
• Internet Group Management Protocol(IGMP; インターネット グループ管理プロトコル)
• Protocol Independent Multicast(PIM)
• IGMP スヌーピングおよび Cisco Group Management Protocol(CGMP)
図32-1 に、IP マルチキャスト環境でこれらのプロトコルが動作する箇所を示します。
図32-1 IP マルチキャスト ルーティング プロトコル
IGMP
IP マルチキャスト ホストは IGMP メッセージを使用して、ローカルのレイヤ 3 スイッチまたはルータに要求を送信し、特定のマルチキャスト グループに加入して、マルチキャスト トラフィックの受信を開始します。IGMPv2 の一部の拡張機能を使用すると、IP ホストはレイヤ 3 スイッチまたはルータに対し、IP マルチキャスト グループを脱退してマルチキャスト グループ トラフィックを受信しないように求める要求も送信します。
レイヤ 3 スイッチまたはルータは、IGMP によって得た情報を使用して、マルチキャスト グループ メンバシップのリストをインターフェイス単位で維持します。インターフェイス上で少なくとも 1 つのホストが、マルチキャスト グループ トラフィックを受信するための IGMP 要求を送信しているかぎり、そのインターフェイスのマルチキャスト グループ メンバシップはアクティブです。
PIM
PIM が プロトコルに依存しない 理由は、使用されている任意のユニキャスト ルーティング プロトコルを利用してルーティング テーブルへの書き込みを行い(Enhanced Interior Gateway Routing Protocol [EIGRP]、Open Shortest Path First [OSPF]、Border Gateway Protocol [BGP]、およびスタティック ルートを含む)、IP マルチキャストをサポートするからです。PIM はさらに、完全に独立したマルチキャスト ルーティング テーブルを作成する代わりに、ユニキャスト ルーティング テーブルを使用して Reverse Path Forwarding(RPF)チェック機能を実行します。PIM は、他のルーティング プロトコルが行うような、ルータ間でのマルチキャスト ルーティング アップデートの送受信は行いません。
PIM 稠密モード
PIM 稠密モード(PIM-DM)は、 プッシュ モデルを使用してネットワークのすべての部分にマルチキャスト トラフィックをフラッディングさせます。PIM-DM は、LAN TV や企業情報または財務情報ブロードキャストなど、大部分の LAN でマルチキャストの受信が必要とされるネットワークでの使用を目的としています。ネットワーク上のすべてのサブネットにアクティブな受信者が存在する場合、効率的な配信メカニズムになります。
ランデブー ポイント(RP)
また、PIM を希薄モードで動作するよう構成する場合は、1 つまたは複数のルータを Rendezvous Point(RP; ランデブー ポイント)とするよう選択する必要があります。マルチキャスト グループへの送信者は RP を使用して自身の存在をアナウンスします。マルチキャスト パケットの受信者は RP を使用して、新しい送信者について学習します。1 つのマルチキャスト グループのパケットが 1 つまたは複数の RP を使用できるように Cisco IOS ソフトウェアを構成できます。
RP アドレスは、パケットをグループに送信するホストの代わりに PIM Register メッセージを送信するためにファースト ホップ ルータによって使用されます。RP アドレスは、RP に PIM Join メッセージおよび Prune メッセージを送信して、グループ メンバシップを通知するためにラスト ホップ ルータによって使用されます。RP ルータを含め、すべてのルータ上で RP アドレスを設定する必要があります。
PIM ルータは、複数のグループに対する RP となることができます。同じグループの PIM ドメイン内で同時に使用できる RP アドレスは 1 つだけです。アクセス リストによって指定される条件によって、ルータがどのグループに対する RP であるかが決定されます(別のグループは別の RP を使用できます)。
IGMP スヌーピング
IGMP スヌーピングは、レイヤ 2 スイッチング環境でのマルチキャストに使用します。IGMP スヌーピングを使用する場合、レイヤ 3 スイッチまたはルータは、ホストとルータ間で転送される IGMP パケットのレイヤ 3 情報を検証します。スイッチが特定のマルチキャスト グループのホストから IGMP Host Report を受信すると、スイッチはそのホストのポート番号を対応するマルチキャスト テーブル エントリに追加します。スイッチがホストから IGMP Leave Group メッセージを受信すると、スイッチはテーブル エントリからそのホストのポートを削除します。
IGMP 制御メッセージはマルチキャスト パケットとして送信されるので、レイヤ 2 ヘッダーのみが検証される場合は、マルチキャスト データと区別できません。IGMP スヌーピングが稼働しているスイッチは、すべてのマルチキャスト データ パケットについて、関連する IGMP 制御情報が含まれていないかどうかを調べます。低速の CPU を搭載したローエンドのスイッチに IGMP スヌーピングを実装すると、データを高速で送信する場合、パフォーマンスに重大な影響が出る可能性があります。Catalyst 4500 シリーズ スイッチでは、IGMP スヌーピングがフォワーディング Application Specific Integrated Circuit(ASIC; 特定用途向け集積回路)で実装されているので、転送速度に影響が出ることはありません。
Catalyst 4500 シリーズ スイッチ上での IP マルチキャスト
Catalyst 4500 シリーズ スイッチは、レイヤ 2 でイーサネット ブリッジング、レイヤ 3 で IP ルーティングを行う ASIC ベースの Integrated Switching Engine をサポートしています。この ASIC はパケット転送専用に設計されているので、Access Control List(ACL; アクセス コントロール リスト)および QoS(Quality Of Service)をイネーブルにした状態で、Integrated Switching Engine ハードウェアにより非常に高いパフォーマンスを実現します。ハードウェアによるワイヤスピードでの転送は、例外パケットを処理するように設計された CPU サブシステム ソフトウェアよりもきわめて高速となります。
Integrated Switching Engine ハードウェアは、VLAN(仮想 LAN)間ルーティング用のインターフェイスおよびレイヤ 2 ブリッジング用のスイッチポートをサポートしています。また、ホスト、スイッチ、またはルータとの接続を設定できる物理レイヤ 3 インターフェイスともなります。
図32-2に、Integrated Switching Engineハードウェアでのレイヤ 2 およびレイヤ 3 フォワーディングの概念図を示します。
図32-2 ハードウェアでのレイヤ 2 およびレイヤ 3 フォワーディングの概念図
ここでは、次の内容について説明します。
• 「CEF、MFIB、およびレイヤ 2 フォワーディング」
• 「IP マルチキャスト テーブル」
• 「ハードウェアおよびソフトウェアによる転送」
• 「非 RPF トラフィック」
• 「マルチキャスト高速ドロップ」
• 「MFIB」
• 「S/M,224/4」
CEF、MFIB、およびレイヤ 2 フォワーディング
Catalyst 4500 シリーズ スイッチに実装された IP マルチキャストは、中央集中型 Cisco Express Forwarding(CEF; シスコ エクスプレス フォワーディング)の拡張機能です。CEF は、上位レイヤのユニキャスト ルーティング テーブル(BGP、OSPF、EIGRP などのユニキャスト ルーティング プロトコルによって作成される)から情報を抽出し、この情報をハードウェア Forwarding Information Base(FIB; 転送情報ベース)にロードします。FIB のユニキャスト ルートを使用すると、上位レイヤのルーティング テーブルでルートが変更された場合でも、ハードウェア ルーティング ステートの 1 つのルートを変更するだけです。ハードウェアでユニキャスト パケットを転送するために、Integrated Switching Engine は Ternary CAM(TCAM)から送信元および宛先ルートを検索し、ハードウェア FIB から隣接インデックスを取り出して、ハードウェア ネイバー テーブル関係からレイヤ 2 リライト情報およびネクストホップ アドレスを取得します。
Multicast Forwarding Information Base(MFIB; マルチキャスト転送情報ベース)サブシステムは、ユニキャスト CEF のマルチキャスト版です。この MFIB サブシステムは、PIM および IGMP によって作成されるマルチキャスト ルートを抽出し、ハードウェア転送のためのプロトコル独立フォーマットにします。MFIB サブシステムは、プロトコル固有の情報を削除し、必要なフォワーディング情報だけを残します。MFIB テーブルの各エントリは、(S,G)または(*,G)ルート、入力 RPF VLAN、およびレイヤ 3 出力インターフェイスのリストで構成されます。MFIB サブシステムは、プラットフォーム依存の管理ソフトウェアと連携して、このマルチキャスト ルーティング情報をハードウェア FIB およびハードウェア Multicast Expansion Table(MET)にロードします。
(注) Supervisor Engine 6-E では、MET ではなく Replica Expansion Table(RET)が使用されます。
Catalyst 4500 シリーズ スイッチは、レイヤ 3 ルーティングとレイヤ 2 ブリッジングを同時に実行します。1 つの VLAN インターフェイスに複数のレイヤ 2 スイッチポートを設定できます。マルチキャスト パケットを転送すべき出力スイッチポートの集合を判別するため、Supervisor Engine III はレイヤ 3 の MFIB 情報をレイヤ 2 のフォワーディング情報と組み合わせ、ハードウェア MET に保存してパケット複製を行います。
図32-3 に、Catalyst 4500 シリーズ スイッチがユニキャスト ルーティング、マルチキャスト ルーティング、およびレイヤ 2 ブリッジング情報を組み合わせ、ハードウェアで転送を実行する機能の概要を示します。
図32-3 ハードウェアでの CEF、MFIB、およびレイヤ 2 フォワーディング情報の組み合わせ
MFIB ルートは、CEF ユニキャスト ルートと同様にレイヤ 3 であるため、該当するレイヤ 2 情報と結合する必要があります。MFIB ルートの例を示します。
ルート(*,224.1.2.3)がハードウェア FIB テーブルにロードされ、出力インターフェイスのリストが MET にロードされます。出力インターフェイスのリストへのポインタ、MET インデックス、および RPF インターフェイスも、(*,224.1.2.3)ルートとともにハードウェア FIB にロードされます。ハードウェアにこの情報をロードすることで、レイヤ 2 情報との結合を開始できるようになります。VLAN 1 上の出力インターフェイスについて、Integrated Switching Engine は VLAN 1 上でスパニングツリー フォワーディング ステートにあるすべてのスイッチポートにパケットを送信する必要があります。VLAN 2 についても同じプロセスが適用されます。VLAN 2 のスイッチポートの集合を判別するには、レイヤ 2 フォワーディング テーブルが使用されます。
ハードウェアがパケットをルーティングする場合、すべての出力インターフェイスのすべてのスイッチポートにパケットを送信するだけでなく、ハードウェアは入力 VLAN の(パケットが到着したスイッチポートを除く)すべてのスイッチポートにも、パケットを送信します。たとえば、VLAN 3 に 2 つのスイッチポート Gig 3/1 および Gig 3/2 があると仮定します。Gig 3/1 上のホストがマルチキャスト パケットを送信すると、Gig 3/2 上のホストもそのパケットを受信しなければならない場合があります。Gig 3/2 上のホストにマルチキャスト パケットを送信するには、MET にロードされるポートセットに入力 VLAN のすべてのスイッチポートを追加する必要があります。
VLAN 1 に 1/1 および 1/2、VLAN 2 に 2/1 および 2/2、VLAN 3 に 3/1 および 3/2 が含まれていれば、このルート用の MET チェーンには、スイッチポート 1/1、1/2、2/1、2/2、3/1、および 3/2 が含まれることになります。
IGMP スヌーピングがオンの場合、パケットは VLAN 2 のすべての出力スイッチポートに転送されるとは限りません。IGMP スヌーピングによって、グループ メンバまたはルータが存在すると判断されたスイッチポートだけに、パケットが転送されます。たとえば、VLAN 1 で IGMP スヌーピングがイネーブルで、IGMP スヌーピングによってポート 1/2 のみにグループ メンバが存在すると判断された場合、MET チェーンには、スイッチポート 1/1、1/2、2/1、2/2、3/1、および 3/2 が含まれることになります。
IP マルチキャスト テーブル
図32-4 に、Catalyst 4500 シリーズ スイッチがハードウェアで IP マルチキャスト パケットを転送する目的で使用する主なデータ構造を示します。
図32-4 IP マルチキャスト テーブルおよびプロトコル
Integrated Switching Engine は、個々の IP マルチキャスト ルートを識別する目的で、ハードウェア FIB テーブルを維持します。各エントリは、宛先グループの IP アドレスおよびオプションの送信元 IP アドレスで構成されます。マルチキャスト トラフィックは、主に(S,G)および(*,G)の 2 種類のルート上を流れます。(S,G)ルートは、マルチキャスト送信元の IP アドレスと、マルチキャスト グループ宛先の IP アドレスに基づいて、送信元からグループへ流れます。(*,G)ルートのトラフィックは、PIM RP からグループ G のすべての受信者へ流れます。(*,G)ルートを使用するのは、希薄モード グループだけです。Integrated Switching Engine ハードウェアには、合計 128,000 のルート用のスペースが準備されています。これらがユニキャスト ルート、マルチキャスト ルート、およびマルチキャスト高速ドロップ エントリによって共有されます。
出力インターフェイスのリストは、MET に保存されます。MET には、最大 32,000 の出力インターフェイス リスト用のスペースがあります(RET には 102K エントリまで格納できます。[フラッディング セットに 32K、mcast エントリに 70K を使用])。MET リソースは、レイヤ 3 マルチキャスト ルートおよびレイヤ 2 マルチキャスト エントリによって共有されます。ハードウェアで使用できる出力インターフェイス リストの実際の数は、設定によって異なります。マルチキャスト ルートの総数が 32,000 を超えると、Integrated Switching Engine によってマルチキャスト パケットをスイッチングできなくなる場合があります。そのパケットは、CPU サブシステムによってきわめて低い速度で転送されることになります
(注) (RET では 102K エントリまでサポートされます。[フラッディング セットに 32K、mcast エントリに 70K を使用])。
(注) Supervisor Engine 6-ME では、部分的なルートはサポートされず、ハードウェア ルーティングおよびソフトウェア ルーティングのみがサポートされます。
ハードウェアおよびソフトウェアによる転送
Integrated Switching Engine は通常、パケットをハードウェアで非常に高速で転送します。CPU サブシステムは、例外パケットをソフトウェアで転送します。Integrated Switching Engine が大部分のパケットをハードウェアで転送していることは、統計レポートからわかります。
図32-5 に、ハードウェアとソフトウェアの転送コンポーネントの概念図を示します。
図32-5 ハードウェアおよびソフトウェアの転送コンポーネント
Integrated Switching Engine は、通常の動作モードでは、ハードウェアで VLAN 間ルーティングを実行します。CPU サブシステムは、ソフトウェアによる転送のために、Generic Routing Encapsulation(GRE; 総称ルーティング カプセル化)トンネルをサポートしています。
複製は、パケットの 1 コピーを送信する代わりに、パケットを複製して複数のコピーを送信する転送の一種です。レイヤ 3 で複製が行われるのは、マルチキャスト パケットに限られます。ユニキャスト パケットが複数のレイヤ 3 インターフェイス用に複製されることはありません。IP マルチキャスト動作では、着信した IP マルチキャスト パケットごとに、そのパケットの多くの複製が送信されます。
IP マルチキャスト パケットを伝送するルートのタイプは、次のとおりです。
• ハードウェア ルート
• ソフトウェア ルート
• 部分的なルート
ハードウェア ルートは、Integrated Switching Engine ハードウェアがパケットのすべての複製を転送する場合に発生します。ソフトウェア ルートは、CPU サブシステム ソフトウェアがパケットのすべての複製を転送する場合に発生します。部分的なルートは、Integrated Switching Engine が一部の複製をハードウェアで転送し、CPU サブシステムが一部の複製をソフトウェアで転送する場合に発生します。
部分的なルート
(注) 以下に記載する条件が成立する場合、CPU サブシステム ソフトウェアによって複製が転送されますが、ハードウェアによる複製の転送パフォーマンスに影響はありません。
あるルートに対するパケットの複製の一部が CPU サブシステムによって転送される条件は、次のとおりです。
• ip igmp join-group コマンドを使用して、マルチキャスト送信元の RPF インターフェイス上の IP マルチキャスト グループのメンバとしてスイッチを設定している場合
• スイッチが PIM 希薄モードの送信元へのファースト ホップである場合。この場合、スイッチは RP に PIM Register メッセージを送信する必要があります。
ソフトウェア ルート
(注) RPF インターフェイスまたは出力インターフェイスの設定について次の条件が 1 つでも成立すると、出力のすべての複製はソフトウェアで実行されます。
あるルートに対するパケットの複製の一部が CPU サブシステム ソフトウェアによって転送される条件は、次のとおりです。
• インターフェイスがマルチキャスト ヘルパーを使用して設定されている場合
• インターフェイスが GRE トンネルまたは Distance Vector Multicast Routing Protocol(DVMRP)トンネルである場合
• インターフェイスが Advanced Research Products Agency(ARPA)以外のカプセル化を使用している場合
次のパケットは、常にソフトウェアによって転送されます。
• 224.0.0.*(* は 0 ~ 255)の範囲のマルチキャスト グループに送信されるパケット。この範囲は、ルーティング プロトコルが使用します。レイヤ 3 スイッチングでは、この範囲以外のすべてのマルチキャスト グループ アドレスがサポートされています。
• IP オプション付きのパケット
非 RPF トラフィック
RPF チェックに失敗したトラフィックを、非 RPF トラフィックといいます。Integrated Switching Engine は、非 RPF トラフィックをフィルタリング(持続的にドロップ)するか、またはレート制限して転送します。
複数のレイヤ 3 スイッチまたはルータが同一の LAN セグメントに接続されている冗長な構成で、送信元から発信インターフェイス上の受信側へマルチキャスト トラフィックを転送するのは、1 台の装置だけです。図32-6 に、一般的なネットワーク構成で非 RPF トラフィックが発生した状況を示します。
図32-6 スタブ ネットワークにおける冗長マルチキャスト ルータ構成
この種のトポロジでは、PIM DR 指定ルータ(PIM DR)であるルータ A だけが共通の VLAN にデータを転送します。ルータ B は転送されたマルチキャスト トラフィックを受信しますが、このトラフィックをドロップします。不正なインターフェイスでこのトラフィックが着信したので、RPF チェックに失敗するためです。このように RPF チェックに失敗するトラフィックを、非 RPF トラフィックといいます。
マルチキャスト高速ドロップ
PIM-SM、PIM-DM などの IP マルチキャスト プロトコルでは、(S,G)または(*,G)ルートごとに、対応する着信インターフェイスがあります。このインターフェイスを、RPF インターフェイスといいます。予測される RPF インターフェイスとは異なるインターフェイスにパケットが到着することもあります。その場合、PIM によってパケットに特殊なプロトコル処理を行うために、そのパケットを CPU サブシステム ソフトウェアに転送する必要があります。PIM が実行する特殊なプロトコル処理の例としては、PIM アサートプロトコルがあります。
デフォルトでは、Integrated Switching Engine ハードウェアは、非 RPF インターフェイスに着信したすべてのパケットを CPU サブシステム ソフトウェアに送信します。ただし、これらの非 RPF パケットはほとんどの場合、マルチキャスト ルーティング プロトコルに必要ではないので、多くの場合、ソフトウェアによる処理は不要です。何の処置も行わなければ、ソフトウェアに送信される非 RPF パケットのため、CPU に負荷がかかる恐れがあります。
この問題を回避するため、CPU サブシステム ソフトウェアは、RPF に失敗したパケットのうち、スイッチ上で稼働している PIM プロトコルが必要としないパケットを受信した時点で、高速ドロップ エントリをハードウェアにロードします。高速ドロップ エントリは、(S,G,着信インターフェイス)によって表されます。高速ドロップ エントリに一致するパケットは、入力 VLAN でブリッジングされますが、ソフトウェアには送信されません。したがって、CPU サブシステム ソフトウェアがこれらの RPF エラーを処理し、必ずしも過負荷になるものではありません。
リンクのダウン、ユニキャスト ルーティング テーブルの変更などのプロトコル イベントによって、安全に高速ドロップが可能なパケットの集合に影響が出ることがあります。以前は高速ドロップを行っても問題のなかったパケットを、トポロジの変更後、PIM ソフトウェアに処理させるため、CPU サブシステム ソフトウェアに転送する必要があります。CPU サブシステム ソフトウェアは、プロトコル イベントに応答して高速ドロップ エントリのフラッシュを行い、IOS の PIM コードが必要な RPF エラーをすべて処理できるようにします。
一部のトポロジでは、RPF エラーが繰り返し発生する可能性があるので、ハードウェアにおける高速ドロップ エントリの使用が特に重要になります。高速ドロップ エントリがなければ、処理する必要のない RPF エラー パケットによって CPU が過負荷になる可能性があります。
MFIB
MFIB サブシステムは、Catalyst 4500 シリーズ スイッチ上の Integrated Switching Engine ハードウェアの IP マルチキャスト ルーティングをサポートします。MFIB は、論理的には CPU サブシステム ソフトウェアの IP マルチキャスト ルーティング プロトコル(PIM、IGMP、MSDP、MBGP、および DVMRP)と、ハードウェアで IP マルチキャスト ルーティングを管理するためのプラットフォーム固有のコードとの中間に存在します。MFIB は、マルチキャスト ルーティング プロトコルによって作成されたルーティング テーブル情報を、Integrated Switching Engine ハードウェアが効率的に処理して転送に使用可能な、簡易なフォーマットに変換します。
マルチキャスト ルーティング テーブルの情報を表示するには、 show ip mroute コマンドを使用します。MFIB テーブルの情報を表示するには、 show ip mfib コマンドを使用します。
MFIB テーブルには、IP マルチキャスト ルートの集合が含まれます。IP マルチキャスト ルートには、(S,G)ルート、(*,G)ルートなど、いくつかのタイプがあります。MFIB テーブルの各ルートに、オプションの 1 つまたは複数のフラグを対応付けることができます。ルート フラグは、ルートに一致するパケットの転送方法を指示します。たとえば、MFIB ルートに付けられた Internal Copy(IC)フラグは、スイッチ上のプロセスがパケットのコピーを受信する必要があることを意味します。MFIB ルートに対応付けできるフラグは、次のとおりです。
• Internal Copy(IC)フラグ ― ルータ上のプロセスが、特定のルートに一致するすべてのパケットのコピーを受信する必要がある場合に設定します。
• Signalling(S)フラグ ― このルートに一致するパケットを受信したときに、プロセスに通知する必要がある場合に設定します。シグナリング インターフェイス上でのパケット受信に応答して、プロトコル コードが MFIB ステートを更新するなどの動作を行うことが考えられます。
• Connected(C)フラグ ― このフラグを MFIB ルートに設定した場合、直接接続されたホストによってルートに送信されたパケットだけをプロトコル プロセスに通知する必要があるという点を除き、Signalling(S)フラグと同じ意味を持ちます。
ルートには、1 つまたは複数のインターフェイスに対応するオプションのフラグを設定することもできます。たとえば、VLAN 1 に関するフラグを設定した(S,G)ルートは、VLAN 1 に着信するパケットの取り扱いを指示するとともに、このルートに一致するパケットを VLAN 1 に転送すべきかどうかも示します。MFIBでサポートされるインターフェイス単位のフラグは、次のとおりです。
• Accepting(A) ― マルチキャスト ルーティングで RPF インターフェイスであることが明らかなインターフェイスに設定します。Accepting(A)をマークされたインターフェイスに着信したパケットは、すべての Forwarding(F)インターフェイスに転送されます。
• Forwarding(F) ― 上記のように、Accepting(A)フラグと組み合わせて使用します。Forwarding インターフェイスの集合は、マルチキャスト olist(output interface list)と呼ばれるものを形成します。
• Signalling(S) ― このインターフェイスにパケットが着信したとき、IOS の何らかのマルチキャスト ルーティング プロトコル プロセスに通知する必要がある場合に設定します。
(注) PIM-SM ルーティングを使用している場合、MFIB ルートには、PimTunnel [1.2.3.4] などのインターフェイスが含まれる場合があります。このインターフェイスは、パケットが特定の宛先アドレスに対してトンネリングされていることを表すために、MFIB サブシステムが作成する仮想インターフェイスです。PimTunnel インターフェイスは、通常の show interface コマンドでは表示できません。
S/M,224/4
MFIB では、マルチキャスト対応のインターフェイスごとに(S/M,224/4)エントリが作成されます。このエントリによって、直接接続されたネイバーから送信されたすべてのパケットが、PIM-SM RP に Register カプセル化されるようになります。一般に、PIM-SM によって(S,G)ルートが確立されるまでの間、ごく少数のパケットだけが(S/M,224/4)ルートを使用して転送されます。
たとえば、IP アドレス 10.0.0.1 およびネットマスク 255.0.0.0 のインターフェイスで、送信元アドレスがクラス A ネットワーク 10 に所属する IP マルチキャスト パケットにすべて一致するルートが作成されると仮定します。このルートは、慣例的なサブネット/マスク長の表記では(10/8,224/4)と記述されます。インターフェイスに複数の IP アドレスが割り当てられている場合には、これらの IP アドレスごとに 1 つずつルートが作成されます。
サポートされない機能
このリリースでは、次の IP マルチキャスト機能はサポートされません。
• マルチキャスト グループへの伝送速度の制御
IP マルチキャスト ルーティングの設定
ここでは、IP マルチキャスト ルーティングの設定作業について説明します。
• 「IP マルチキャスト ルーティングのデフォルト設定」
• 「IP マルチキャスト ルーティングのイネーブル化」
• 「インターフェイス上での PIM のイネーブル化」
• 「PIM-SSM マッピングのイネーブル化」
• 「RP の設定」
• 「単一スタティック RP の設定」
Auto-RP、PIM バージョン 2、および IP マルチキャスト スタティック ルートなどの IP マルチキャスト ルーティングの詳細については、『 Cisco IOS IP and IP Routing Configuration Guide 』Release 12.3 を参照してください。
IP マルチキャスト ルーティングのデフォルト設定
表32-1 に、IP マルチキャストのデフォルト設定を示します。
表32-1 IP マルチキャストのデフォルト設定
|
|
RPF のレート制限 |
グローバルでイネーブル |
IP マルチキャスト ルーティング |
グローバルでディセーブル
(注) IP マルチキャスト ルーティングがディセーブルになっている場合、IP マルチキャスト トラフィック データは Catalyst 4500 シリーズ スイッチによって転送されません。ただし、IP マルチキャスト制御トラフィックは引き続き処理および転送されます。したがって、IP マルチキャスト ルーティングをディセーブルにしても、IP マルチキャスト ルートはルーティング テーブルに残ります。
|
PIM |
すべてのインターフェイス上でディセーブル |
IGMP スヌーピング |
すべての VLAN インターフェイス上でイネーブル
(注) 特定のインターフェイス上で IGMP スヌーピングをディセーブルにすると、すべての出力ポートが Integrated Switching Engine によって転送されます。入力 VLAN インターフェイス上で IGMP スヌーピングをディセーブルにすると、そのインターフェイスに関連するマルチキャスト パケットは、VLAN 上のすべてのフォワーディング スイッチポートに送信されます。
|
(注) Source Specific Multicast および IGMPv3 がサポートされています。
IGMPv3 および IGMP を備えた Source Specific Multicast の詳細については、次の URL を参照してください。
http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fipr_c/ipcpt3/1cfssm.htm
IP マルチキャスト ルーティングのイネーブル化
IP マルチキャスト ルーティングをイネーブルにすると、Catalyst 4500 シリーズ スイッチでマルチキャスト パケットを転送できるようになります。ルータ上で IP マルチキャスト ルーティングをイネーブルにするには、グローバル コンフィギュレーション モードで次の作業を行います。
|
|
Switch(config)# ip multicast-routing |
IP マルチキャスト ルーティングをイネーブルにします。 |
インターフェイス上での PIM のイネーブル化
インターフェイス上で PIM をイネーブルにすると、そのインターフェイス上で IGMP 動作もイネーブルになります。インターフェイスは、稠密モード、希薄モード、または 希薄/稠密モードのいずれかに設定できます。これらのモードは、レイヤ 3 スイッチまたはルータによるマルチキャスト ルーティング テーブルの書き込み方法と、レイヤ 3 スイッチまたはルータが直接接続された LAN から受信したマルチキャスト パケットの転送方法を決定します。インターフェイスで IP マルチキャスト ルーティングを実行するには、PIM を上記のモードのいずれかでイネーブルにする必要があります。
マルチキャスト ルーティング テーブルの書き込みでは、稠密モード インターフェイスは常にテーブルに追加されます。希薄モード インターフェイスは、ダウンストリーム ルータから定期的な Join メッセージを受信した場合、またはインターフェイス上に直接接続されたメンバが存在する場合にかぎり、テーブルに追加されます。LAN から転送する場合、グループが認識している RP があれば、希薄モード動作が行われます。その場合、パケットはカプセル化され、その RP に送信されます。認識している RP がなければ、パケットは稠密モードの方式でフラッディングされます。特定の送信元からのマルチキャスト トラフィックが十分であれば、受信側のファーストホップ ルータがその送信元に Join メッセージを送信し、送信元を基点とするディストリビューション ツリーが構築されます。
デフォルトで設定されるモードはありません。デフォルトでは、インターフェイス上でマルチキャスト ルーティングはディセーブルに設定されています。
稠密モードのイネーブル化
インターフェイス上の PIM を稠密モードに設定するには、次の作業を行います。
|
|
Switch(config-if)# ip pim dense-mode |
インターフェイス上で稠密モード PIM をイネーブルにします。 |
PIM インターフェイスを稠密モードに設定する例については、この章の最後にある「 PIM 稠密モード:例 」を参照してください。
希薄モードのイネーブル化
インターフェイス上の PIM を希薄モードに設定するには、次の作業を行います。
|
|
Switch(config-if)# ip pim sparse-mode |
インターフェイス上で希薄モード PIM をイネーブルにします。 |
PIM インターフェイスを希薄モードに設定する例については、この章の最後にある「 PIM 希薄モード:例 」を参照してください。
希薄/稠密モードのイネーブル化
ip pim sparse-mode または ip pim dense-mode コマンドを使用すると、インターフェイス全体に希薄モードまたは稠密モードが適用されます。ただし、環境によっては、単一リージョン内の一部のグループについては PIM を希薄モードで実行し、残りのグループについては稠密モードで実行しなければならない場合があります。
稠密モードだけ、または希薄モードだけをイネーブルにするのではなく、希薄/稠密モードをイネーブルにできます。この場合、グループが稠密モードであればインターフェイスは稠密モードとして扱われ、グループが希薄モードであればインターフェイスは希薄モードとして扱われます。グループを希薄グループとして扱い、インターフェイスが希薄/稠密モードである場合には、RP が必要です。
希薄/稠密モードを設定する場合、希薄または稠密の概念はスイッチ上のグループに適用され、ネットワーク管理者は同じ概念をネットワーク全体に適用する必要があります。
希薄/稠密モードのもう 1 つの利点は、Auto-RP 情報を稠密モードの方式で配布しながら、ユーザ グループのマルチキャスト グループを希薄モードの方式で使用できるという点です。したがって、リーフ ルータ上にデフォルト RP を設定する必要はありません。
インターフェイスが 稠密モードで取り扱われる場合、次のいずれかの条件が満たされると、そのインターフェイスはマルチキャスト ルーティング テーブルの発信インターフェイス リストに追加されます。
• インターフェイス上にメンバまたは DVMRP ネイバーが存在する場合
• PIM ネイバーが存在し、グループがプルーニングされていない場合
インターフェイスが希薄モードで取り扱われる場合、次のいずれかの条件が満たされると、そのインターフェイスはマルチキャスト ルーティング テーブルの発信インターフェイス リストに追加されます。
• インターフェイス上にメンバまたは DVMRP ネイバーが存在する場合
• インターフェイス上の PIM ネイバーが明示的な Join メッセージを受信している場合
PIM がグループと同じモードで動作できるようにするには、次の作業を行います。
|
|
Switch(config-if)# ip pim sparse-dense-mode |
PIM がグループに応じて、希薄モードまたは稠密モードのいずれかで動作できるようにします。 |
Auto-RP の設定
Auto-Rendezvous Point(Auto-RP; 自動ランデブー ポイント)は、PIM ネットワークでの group-to-RP マッピングの配布を自動化します。Auto-RP を動作させるには、RP から RP アナウンス メッセージを受信し、競合を調整する RP マッピング エージェントとして RP ルータを設定する必要があります。そして RP マッピング エージェントは、稠密モード フラッディングを経由してすべてのほかのルータに一貫した group-to-RP マッピングを送信します。
この結果、すべてのルータはサポートするグループに対して使用する RP を自動的に検出します。Internet Assigned Numbers Authority(IANA; インターネット割り当て番号局)は、2 つのグループアドレス 224.0.1.39 および 224.0.1.40 を Auto-RP に割り当てます。
マッピング エージェントは、複数の候補 RP から RP として使用可能であるというアナウンスを受信します。次に、マッピング エージェントは、どの候補 RP が RP として選択されたかをアナウンスします。このアナウンスは、他のマッピング エージェントによる決定とは無関係に送信されます。
手順の要約
1. enable
2. configure terminal
3. ip multicast-routing
4. interface type number
5. ip pim [sparse-mode | sparse-dense-mode]
6. exit
7. すべての PIM インターフェイス上でステップ 4 および 5 を繰り返します。
8. ip pim autorp listener
9. ip pim send-rp-announce {interface-type interface-number | ip-address} scope ttl-value [group-list access-list] [interval seconds] [bidir]
10. ip pim send-rp-discovery [interface-type interface-number] scope ttl-value [interval seconds]
11. ip pim rp-announce-filter rp-list access-list group-list access-list
12. interface type number
13. ip multicast boundary access-list [filter-autorp]
14. end
15. show ip pim autorp
16. show ip pim rp [mapping] [rp-address]
17. show ip igmp groups [group-name | group-address | interface-type interface-number] [detail]
18. show ip mroute [group-address | group-name] [source-address | source-name] [interface-type interface-number] [summary] [count] [active kbps]
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip multicast-routing
Router(config)# ip multicast-routing |
IP マルチキャスト ルーティングをイネーブルにします。 |
ステップ 4 |
interface type number
Router(config)# interface ethernet 1 |
PIM をイネーブルにできるホストに接続するインターフェイスを選択します。 |
ステップ 5 |
ip pim [sparse-mode | sparse-dense-mode]
Router(config-if)# ip pim sparse-mode |
インターフェイス上で PIM 希薄モードまたは希薄/稠密モードをイネーブルにします。希薄モードで Auto-RP を設定する場合は、次のステップで Auto-RP リスナーを設定する必要があります。 |
ステップ 6 |
exit
Router(config-if)# end |
グローバル コンフィギュレーション モードに戻ります。 |
ステップ 7 |
すべての PIM インターフェイス上でステップ 4 および 5 を繰り返します。 |
-- |
ステップ 8 |
ip pim autorp listener
Router(config)# ip pim autorp listener |
2 つの Auto-RP グループ 224.0.1.39 および 224.0.1.40 の IP マルチキャスト トラフィックを PIM 稠密モードにして、PIM 希薄モードで動作しているインターフェイス全体にフラッディングさせます。 • ステップ 8で希薄モードを設定している場合は、このステップを省略します。 |
ステップ 9 |
ip pim send-rp-announce { interface-type interface-number | ip-address } scope ttl-value [ group-list access-list ] [ interval seconds ] [ bidir ]
Router(config)# ip pim send-rp-announce loopback0 scope 31 group-list 5 |
PIM が有効なすべてのインターフェイスに RP アナウンスを送信します。 • このステップは、RP ルータでのみ実行します。 • interface-type および interface-number 引数を使用して、RP アドレスとして使用する IP アドレスを定義します。 • ip-address 引数を使用して、直接接続されている IP アドレスを RP アドレスとして指定します。
(注) このコマンドの ip-address 引数が設定されている場合、RP アナウンス メッセージは、この IP アドレスの接続先であるインターフェイスから送信されます(つまり、RP アナウンス メッセージの IP ヘッダにある送信元アドレスがそのインターフェイスの IP アドレスです)。
• これは、最大 31 ホップがイネーブル化されているインターフェイスの例です。RP として認識されるルータの IP アドレスは、ループバック インターフェイス 0 に関連付けられている IP アドレスです。アクセス リスト 5 は、このルータが RP として動作するグループを記述します。 |
ステップ 10 |
ip pim send-rp-discovery [interface-type interface-number] scope ttl-value [ interval seconds ]
Router(config)# ip pim send-rp-discovery loopback 1 scope 31 |
ルータを RP マッピング エージェントとして設定します。 • このステップは、RP ルータでのみ行います。 • オプションの interface-type および interface-number 引数を使用して、RP マッピング エージェントの送信元アドレスとして使用する IP アドレスを定義します。 • scope キーワードおよび ttl-value 引数を使用して、Auto-RP 検出メッセージの IP ヘッダに Time-to-Live(TTL; 存続可能時間)値を指定します。 • オプションの interval キーワードおよび seconds 引数を使用して、Auto-RP 検出メッセージの送信間隔を指定します。
(注) Auto-RP 検出メッセージを送信する間隔を、デフォルト値の 60 秒から長くすると、 group-to-RP マッピングのフラッディングがさらに頻繁に発生します。ネットワーク環境によっては、間隔を長くすることによる短所(制御パケットのオーバーヘッドの増加)が、長所(より頻繁な group-to-RP マッピングの更新)を上回ってしまう場合があります。
• 次に、ループバック インターフェイス 1 の Auto-RP 検出メッセージを 31 ホップに制限する例を示します。 |
ステップ 11 |
ip pim rp-announce-filter rp-list access-list group-list access-list
Router(config)# ip pim rp-announce-filter rp-list 1 group-list 2 |
RP から送信された着信 Auto-RP アナウンス メッセージをフィルタリングします。 • このステップは、RP ルータでのみ行います。 • 次の 2 つのアクセス リストの例が、このステップに該当します。
access-list 1 permit 10.0.0.1
access-list 1 permit 10.0.0.2
access-list 2 permit 224.0.0.0 15.255.255.255
|
ステップ 12 |
interface type number
Router(config)# interface ethernet 1 |
PIM をイネーブルにできるホストに接続するインターフェイスを選択します。 |
ステップ 13 |
ip multicast boundary access-list [ filter-autorp ]
Router(config-if)# ip multicast boundary 10 filter-autorp |
管理用スコープの境界を設定します。 • このステップは、他のルータの境界であるインターフェイス上で実行します。 • アクセス リストは、このタスクでは表示されません。 • deny キーワードを使用するアクセス リスト エントリによって、そのエントリと一致するパケットのマルチキャスト境界が作成されます。 |
ステップ 14 |
end
Router(config-if)# end |
EXEC モードに戻ります。 |
ステップ 15 |
show ip pim autorp
Router# show ip pim autorp |
(任意)Auto-RP 情報を表示します。 |
ステップ 16 |
show ip pim rp [ mapping ] [ rp-address ]
Router# show ip pim rp mapping |
(任意)ネットワークで認知されている RP を表示し、ルータが各 RP について学習した方法を示します。 |
ステップ 17 |
show ip igmp groups [group-name | group-address | interface-type interface-number] [detail]
Router# show ip igmp groups |
(任意)ルータに直接接続されていて、IGMP 経由で学習されたレシーバーを持つマルチキャスト グループを表示します。 • レシーバーの情報を表示結果に表示するには、このコマンドを実行するときにレシーバーがネットワーク上でアクティブである必要があります。 |
ステップ 18 |
show ip mroute [ group-address | group-name ] [ source-address | source-name ] [ interface-type interface-number ] [ summary ] [ count ] [ active kbps ]
Router# show ip mroute cbone-audio |
(任意)IP マルチキャスト ルーティング(mroute)テーブルの内容を表示します。 |
単一スタティック RP の設定
PIM 希薄モードを設定している場合、マルチキャスト グループの PIM RP を設定する必要があります。RP は、各デバイスでスタティックに設定するか、ダイナミック メカニズムによって学習できます。ここでは、Auto-RP などのダイナミック メカニズムで RP を学習するルータではなく、RP をスタティックに設定する方法について説明します。
PIM 代表ルータ(DR)は、共有ツリーの下層まで配布するために、直接接続されているマルチキャスト送信元から RP へデータを転送します。データは、2 つの方法のいずれかで RP に転送されます。データはレジスタ パケットにカプセル化され、RP に直接ユニキャストされるか、RP 自体が送信元ツリーに参加している場合は、RPF 転送アルゴリズムごとにマルチキャスト転送されます。レシーバーに直接接続しているラスト ホップ ルータは、各自の判断で送信元ツリーに参加し、共有ツリーからプルーニングします。
アクセス リストによって定義される複数のグループに単一の RP を設定できます。あるグループに RP が設定されていない場合、ルータはグループを PIM 稠密モード技術を使用して稠密として扱います(この状態が生じないようにするには、no ip pim dm-fallback コマンドを設定します)。
ip pim rp-address コマンドで設定された RP と Auto-RP によって学習された RP の間で競合が発生している場合、override キーワードを設定する場合を除き、Auto-RP 情報が使用されます。
手順の要約
1. enable
2. configure terminal
3. ip multicast-routing
4. interface type number
5. ip pim [sparse-mode | sparse-dense-mode]
6. IP マルチキャストを使用するインスタンスすべてについて、ステップ 4 および 5 を繰り返します。
7. exit
8. ip pim rp-address rp-address [access-list] [override]
9. end
10. show ip pim rp [mapping] [rp-address]
11. show ip igmp groups [group-name | group-address | interface-type interface-number] [detail]
12. show ip mroute [group-address | group-name] [source-address | source-name] [interface-type interface-number] [summary] [count] [active kbps]
手順の詳細
|
|
|
ステップ 1 |
enable
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
ステップ 2 |
configure terminal
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip multicast-routing
Router(config)# ip multicast-routing |
IP マルチキャスト ルーティングをイネーブルにします。 |
ステップ 4 |
interface type number
Router(config)# interface ethernet 1 |
PIM をイネーブルにできるホストに接続するインターフェイスを選択します。 |
ステップ 5 |
ip pim [sparse-mode | sparse-dense-mode]
Router(config-if)# ip pim sparse-mode |
特定のインターフェイス上で PIM をイネーブルにします。希薄モードを使用する必要があります。 |
ステップ 6 |
IP マルチキャストを使用するインターフェイスすべてについて、ステップ 4 および 5 を繰り返します。 |
-- |
ステップ 7 |
exit
Router(config-if)# exit |
グローバル コンフィギュレーション モードに戻ります。 |
ステップ 8 |
ip pim rp-address rp-address [access-list] [override]
Router(config)# ip pim rp-address 192.168.0.0 |
特定のグループの PIM RP のアドレスを設定します。 • このステップは、すべてのルータで行います。 • access-list 引数は、この RP がどのマルチキャスト グループに使用されるかを定義するアクセス リストの番号または名前を指定します。 • override キーワードは、このコマンドを使用して設定された RP と Auto-RP によって学習された RP の間に競合が発生している場合に、このコマンドで設定された RP が優先されるかどうかを指定します。 |
ステップ 9 |
end
Router(config)# end |
現在のコンフィギュレーション セッションを終了して、EXEC モードに戻ります。 |
ステップ 10 |
show ip pim rp [ mapping ] [ rp-address ]
Router# show ip pim rp mapping |
(任意)ネットワークで認知されている RP を表示し、ルータが各 RP について学習した方法を示します。 |
ステップ 11 |
show ip igmp groups [group-name | group-address | interface-type interface-number] [detail]
Router# show ip igmp groups |
(任意)ルータに直接接続されていて、IGMP 経由で学習されたレシーバーを持つマルチキャスト グループを表示します。 • レシーバーの情報を表示結果に表示するには、このコマンドを実行するときにレシーバーがネットワーク上でアクティブである必要があります。 |
ステップ 12 |
show ip mroute [ group-address | group-name ] [ source-address | source-name ] [ interface-type interface-number ] [ summary ] [ count ] [ active kbps ]
Router# show ip mroute cbone-audio |
(任意)IP マルチキャスト ルーティング(mroute)テーブルの内容を表示します。 |