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 4000 ファミリ スイッチ上のマルチキャスト プロセスでは、Integrated Switching Engine でパケットが複製されて適切な出力インターフェイスに転送され、マルチキャスト グループの各メンバに送信されます。
IP マルチキャストはビデオ会議とほとんど同じものと見られがちです。ネットワークに初めて導入する IP マルチキャスト アプリケーションは、多くの場合ビデオ会議ですが、ビデオは企業のビジネス モデルに付加価値をもたらす、さまざまな IP マルチキャスト アプリケーションの 1 つに過ぎません。生産性の向上につながるこのほかの IP マルチキャスト アプリケーションとしては、マルチメディア会議、データ複製、リアルタイム データ マルチキャスト、シミュレーション アプリケーションなどがあります。
ここでは、次の内容について説明します。
• 「IP マルチキャスト プロトコル」
• 「Catalyst 4500 シリーズ スイッチ上での IP マルチキャスト」
• 「サポートされない機能」
IP マルチキャスト プロトコル
Catalyst 4000 ファミリ スイッチでは、主に次のプロトコルを使用して IP マルチキャスト ルーティングを実行します。
• Internet Group Management Protocol(IGMP; インターネット グループ管理プロトコル)
• Protocol Independent Multicast(PIM)
• IGMP スヌーピングおよび Cisco Group Management Protocol(CGMP)
図31-1 に、IP マルチキャスト環境でこれらのプロトコルが動作する箇所を示します。
図31-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 でマルチキャストの受信が必要とされるネットワークでの使用を目的としています。ネットワーク上のすべてのサブネットにアクティブな受信者が存在する場合、効率的な配信メカニズムになります。
IGMP スヌーピングおよびCGMP
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 4000 ファミリ スイッチは、IGMP スヌーピングをサポートしていないスイッチ(Supervisor Engine I および Supervisor Engine II を搭載した Catalyst 4500 ファミリ スイッチなど)の CGMP サーバとして動作します。スイッチを CGMP クライアントとして設定することはできません。Catalyst 4000 ファミリ スイッチをクライアントとして設定するには、IGMP スヌーピングを使用します。
CGMP は、Catalyst スイッチがシスコ ルータの IGMP 情報を活用してレイヤ 2 で転送先の決定を行うための、シスコの独自仕様プロトコルです。CGMPは、マルチキャスト ルータおよびレイヤ2スイッチ上で設定します。その結果、トラフィックを要求したホストのある Catalyst スイッチポートだけに、IP マルチキャスト トラフィックが配信されます。トラフィックを明示的に要求していないスイッチポートは、トラフィックを受信しません。
Catalyst 4500 シリーズ スイッチ上での IP マルチキャスト
Catalyst 4000 ファミリ スイッチは、レイヤ 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 インターフェイスともなります。
図31-2に、Integrated Switching Engineハードウェアでのレイヤ 2 およびレイヤ 3 フォワーディングの概念図を示します。
図31-2 ハードウェアでのレイヤ 2 およびレイヤ 3 フォワーディングの概念図
ここでは、次の内容について説明します。
• 「CEF、MFIB、およびレイヤ 2 フォワーディング」
• 「IP マルチキャスト テーブル」
• 「ハードウェアおよびソフトウェアによる転送」
• 「非 RPF トラフィック」
• 「マルチキャスト高速ドロップ」
• 「MFIB」
• 「S/M,224/4」
CEF、MFIB、およびレイヤ 2 フォワーディング
Catalyst 4000 ファミリ スイッチに実装された 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)にロードします。
Catalyst 4000 ファミリ スイッチは、レイヤ 3 ルーティングとレイヤ 2 ブリッジングを同時に実行します。1 つの VLAN インターフェイスに複数のレイヤ 2 スイッチポートを設定できます。マルチキャスト パケットを転送すべき出力スイッチポートの集合を判別するため、Supervisor Engine III はレイヤ 3 の MFIB 情報をレイヤ 2 のフォワーディング情報と組み合わせ、ハードウェア MET に保存してパケット複製を行います。
図31-3 に、Catalyst 4000 ファミリ スイッチがどのようにユニキャスト ルーティング、マルチキャスト ルーティング、およびレイヤ 2 ブリッジング情報を組み合わせ、ハードウェアで転送を実行するかを示します。
図31-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 マルチキャスト テーブル
図31-4 に、Catalyst 4000 ファミリ スイッチがハードウェアで IP マルチキャスト パケットを転送する目的で使用する主なデータ構造を示します。
図31-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 の出力インターフェイス リスト用のスペースがあります。MET リソースは、レイヤ 3 マルチキャスト ルートおよびレイヤ 2 マルチキャスト エントリによって共有されます。ハードウェアで使用できる出力インターフェイス リストの実際の数は、設定によって異なります。マルチキャスト ルートの総数が 32,000 を超えると、Integrated Switching Engine によってマルチキャスト パケットをスイッチングできなくなる場合があります。そのパケットは、CPU サブシステムによってきわめて低い速度で転送されることになります。
ハードウェアおよびソフトウェアによる転送
Integrated Switching Engine は通常、パケットをハードウェアで非常に高速で転送します。CPUサブシステムは、例外パケットをソフトウェアで転送します。Integrated Switching Engine が大部分のパケットをハードウェアで転送していることは、統計レポートからわかります。
図31-5 に、ハードウェアとソフトウェアの転送コンポーネントの概念を示します。
図31-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 台の装置だけです。図31-6 に、一般的なネットワーク構成で非 RPF トラフィックが発生した状況を示します。
図31-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 に負荷がかかる恐れがあります。
MFIB 高速ドロップをイネーブルまたはディセーブルにするには、 ip mfib fastdrop コマンドを使用します。
この問題を回避するため、CPU サブシステム ソフトウェアは、RPF に失敗したパケットのうち、スイッチ上で稼働している PIM プロトコルが必要としないパケットを受信した時点で、高速ドロップ エントリをハードウェアにロードします。高速ドロップ エントリは、(S,G,着信インターフェイス)によって表されます。高速ドロップ エントリに一致するパケットは、入力 VLAN でブリッジングされますが、ソフトウェアには送信されません。したがって、CPU サブシステム ソフトウェアがこれらの RPF エラーを処理し、必ずしも過負荷になるものではありません。
リンクのダウン、ユニキャスト ルーティング テーブルの変更などのプロトコル イベントによって、安全に高速ドロップが可能なパケットの集合に影響が出ることがあります。以前は高速ドロップを行っても問題のなかったパケットを、トポロジの変更後、PIM ソフトウェアに処理させるため、CPU サブシステム ソフトウェアに転送する必要があります。CPU サブシステム ソフトウェアは、プロトコル イベントに応答して高速ドロップ エントリのフラッシュを行い、IOS の PIM コードが必要な RPF エラーをすべて処理できるようにします。
一部のトポロジでは、RPF エラーが繰り返し発生する可能性があるので、ハードウェアにおける高速ドロップ エントリの使用が特に重要になります。高速ドロップ エントリがなければ、処理する必要のない RPF エラー パケットによって CPU が過負荷になる可能性があります。
MFIB
MFIB サブシステムは、Catalyst 4000 ファミリ スイッチ上の Integrated Switching Engine ハードウェアの IP マルチキャスト ルーティングをサポートします。MFIB は、論理的には CPU サブシステム ソフトウェアの IP マルチキャスト ルーティング プロトコル(PIM、IGMP、MSDP、MBGP、および DVMRP)と、ハードウェアで IP マルチキャスト ルーティングを管理するためのプラットフォーム固有のコードとの中間に存在します。MFIB は、マルチキャスト ルーティング プロトコルによって作成されたルーティング テーブル情報を、Integrated Switching Engine ハードウェアが効率的に処理して転送に使用可能な、簡易なフォーマットに変換します。
マルチキャスト ルーティング テーブルの情報を表示するには、 show ip mroute コマンドを使用します。MFIB テーブルの情報を表示するには、 show ip mfib コマンドを使用します。
(注) Supervisor Engine 6-E システムでは、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 の何らかのマルチキャスト ルーティング プロトコル プロセスに通知する必要がある場合に設定します。
• Not Platform fast-switched(NP) ― Forwarding(F)フラグと組み合わせて使用します。出力インターフェイスをプラットフォームによって高速スイッチングできない場合に、Forwarding インターフェイスには Not Platform fast-switched というマークも付けられます。NP フラグは通常、ハードウェアで Forwarding インターフェイスをルーティングできず、ソフトウェア転送が必要な場合に使用されます。たとえば、Catalyst 4000 ファミリ スイッチ トンネル インターフェイスはハードウェア スイッチングされないので、これらのインターフェイスには NP フラグが付けられます。ルートに対応付けられた NP インターフェイスがある場合、Accepting インターフェイスに着信するパケットごとに、パケットのコピーが 1 つずつソフトウェア転送パスに送信され、ハードウェア スイッチングされなかったインターフェイス用にパケットがソフトウェアで複製されます。
(注) 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 マルチキャスト ルーティングのデフォルト設定」
• 「IP マルチキャスト ルーティングのイネーブル化」
• 「インターフェイス上での PIM のイネーブル化」
Auto-RP、PIM バージョン 2、および IP マルチキャスト スタティック ルートなどの IP マルチキャスト ルーティングの詳細については、『 Cisco IOS IP and IP Routing Configuration Guide 』Release 12.3 を参照してください。
IP マルチキャスト ルーティングのデフォルト設定
表31-1 に、IP マルチキャストのデフォルト設定を示します。
表31-1 IP マルチキャストのデフォルト設定
|
|
RPF のレート制限 |
グローバルでイネーブル |
IP マルチキャスト ルーティング |
グローバルでディセーブル
(注) IP マルチキャスト ルーティングがディセーブルになっている場合、IP マルチキャスト トラフィック データは Catalyst 4000 ファミリ スイッチによって転送されません。ただし、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 4000 ファミリ スイッチでマルチキャスト パケットを転送できるようになります。ルータ上で 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 がグループに応じて、希薄モードまたは稠密モードのいずれかで動作できるようにします。 |
IP マルチキャスト ルーティングのモニタリングおよびメンテナンス
特定のキャッシュ、テーブル、またはデータベースの内容をすべて削除できます。さらに、特定の統計情報を表示することもできます。ここでは、IP マルチキャストのモニタリングおよびメンテナンス方法について説明します。
• 「システムおよびネットワーク統計情報の表示」
• 「マルチキャスト ルーティング テーブルの表示」
• 「IP MFIB の表示」
• 「IP MFIB 高速ドロップの表示」
• 「PIM 統計情報の表示」
• 「テーブルおよびデータベースの削除」
システムおよびネットワーク統計情報の表示
IP ルーティング テーブルやデータベースの内容など、特定の統計情報を表示できます。表示された情報に基づいて、リソースの利用状況を調べたり、ネットワーク上で発生した問題を解決できます。また、ノードの到達可能性に関する情報を表示し、使用する装置のパケットがネットワーク上でたどるルーティング パスを明らかにすることもできます。
各種のルーティング統計情報を表示するには、次の作業を行います。
|
|
Switch# ping [ group-name | group-address ] |
マルチキャスト グループ アドレスに Internet Control Message Protocol(ICMP)エコー要求を送信します。 |
Switch#
show ip mroute [
hostname |
group_number ]
|
IP マルチキャスト ルーティング テーブルの内容を表示します。 |
Switch#
show ip pim interface [
type number ] [
count ]
|
PIM に設定されているインターフェイスに関する情報を表示します。 |
Switch#
show ip interface
|
すべてのインターフェイスについて PIM 情報を表示します。 |
マルチキャスト ルーティング テーブルの表示
稠密モードで動作しているルータに関する show ip mroute コマンドの出力例を示します。このコマンドでは、マルチキャスト グループ cbone-audio に関する IP マルチキャスト FIB テーブルの内容が表示されます。
Switch# show ip mroute cbone-audio
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned
R - RP-bit set, F - Register flag, T - SPT-bit set
Interface state: Interface, Next-Hop, State/Mode
(*, 224.0.255.1), uptime 0:57:31, expires 0:02:59, RP is 0.0.0.0, flags: DC
Incoming interface: Null, RPF neighbor 0.0.0.0, Dvmrp
Ethernet0, Forward/Dense, 0:57:31/0:02:52
Tunnel0, Forward/Dense, 0:56:55/0:01:28
(198.92.37.100/32, 224.0.255.1), uptime 20:20:00, expires 0:02:55, flags: C
Incoming interface: Tunnel0, RPF neighbor 10.20.37.33, Dvmrp
Ethernet0, Forward/Dense, 20:20:00/0:02:52
次に、希薄モードで動作しているルータに関する show ip mroute コマンドの出力例を示します。
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned
R - RP-bit set, F - Register flag, T - SPT-bit set
Interface state: Interface, Next-Hop, State/Mode
(*, 224.0.255.3), uptime 5:29:15, RP is 198.92.37.2, flags: SC
Incoming interface: Tunnel0, RPF neighbor 10.3.35.1, Dvmrp
Ethernet0, Forward/Sparse, 5:29:15/0:02:57
(198.92.46.0/24, 224.0.255.3), uptime 5:29:15, expires 0:02:59, flags: C
Incoming interface: Tunnel0, RPF neighbor 10.3.35.1
Ethernet0, Forward/Sparse, 5:29:15/0:02:57
(注) ハードウェアで転送されるパケットについては、インターフェイス タイマーは更新されません。エントリ タイマーは、約 5 秒ごとに更新されます。
次に、show ip mroute コマンドに summary キーワードを指定した場合の出力例を示します。
Switch# show ip mroute summary
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned
R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT
Interface state: Interface, Next-Hop, State/Mode
(*, 224.255.255.255), 2d16h/00:02:30, RP 171.69.10.13, flags: SJPC
(*, 224.2.127.253), 00:58:18/00:02:00, RP 171.69.10.13, flags: SJC
(*, 224.1.127.255), 00:58:21/00:02:03, RP 171.69.10.13, flags: SJC
(*, 224.2.127.254), 2d16h/00:00:00, RP 171.69.10.13, flags: SJCL
(128.9.160.67/32, 224.2.127.254), 00:02:46/00:00:12, flags: CLJT
(129.48.244.217/32, 224.2.127.254), 00:02:15/00:00:40, flags: CLJT
(130.207.8.33/32, 224.2.127.254), 00:00:25/00:02:32, flags: CLJT
(131.243.2.62/32, 224.2.127.254), 00:00:51/00:02:03, flags: CLJT
(140.173.8.3/32, 224.2.127.254), 00:00:26/00:02:33, flags: CLJT
(171.69.60.189/32, 224.2.127.254), 00:03:47/00:00:46, flags: CLJT
次に、show ip mroute コマンドに active キーワードを指定した場合の出力例を示します。
Switch# show ip mroute active
Active IP Multicast Sources - sending >= 4 kbps
Group: 224.2.127.254, (sdr.cisco.com)
Source: 146.137.28.69 (mbone.ipd.anl.gov)
Rate: 1 pps/4 kbps(1sec), 4 kbps(last 1 secs), 4 kbps(life avg)
Group: 224.2.201.241, ACM 97
Source: 130.129.52.160 (webcast3-e1.acm97.interop.net)
Rate: 9 pps/93 kbps(1sec), 145 kbps(last 20 secs), 85 kbps(life avg)
Group: 224.2.207.215, ACM 97
Source: 130.129.52.160 (webcast3-e1.acm97.interop.net)
Rate: 3 pps/31 kbps(1sec), 63 kbps(last 19 secs), 65 kbps(life avg)
次に、show ip mroute コマンドに count キーワードを指定した場合の出力例を示します。
Switch# show ip mroute count
IP Multicast Statistics - Group count: 8, Average sources per group: 9.87
Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Group: 224.255.255.255, Source count: 0, Group pkt count: 0
Group: 224.2.127.253, Source count: 0, Group pkt count: 0
Group: 224.1.127.255, Source count: 0, Group pkt count: 0
Group: 224.2.127.254, Source count: 9, Group pkt count: 14
Source: 128.2.6.9/32, 2/0/796/0
Source: 128.32.131.87/32, 1/0/616/0
Source: 128.125.51.58/32, 1/0/412/0
Source: 130.207.8.33/32, 1/0/936/0
Source: 131.243.2.62/32, 1/0/750/0
Source: 140.173.8.3/32, 1/0/660/0
Source: 146.137.28.69/32, 1/0/584/0
Source: 171.69.60.189/32, 4/0/447/0
Source: 204.162.119.8/32, 2/0/834/0
Group: 224.0.1.40, Source count: 1, Group pkt count: 3606
Source: 171.69.214.50/32, 3606/0/48/0, RPF Failed: 1203
Group: 224.2.201.241, Source count: 36, Group pkt count: 54152
Source: 13.242.36.83/32, 99/0/123/0
Source: 36.29.1.3/32, 71/0/110/0
Source: 128.9.160.96/32, 505/1/106/0
Source: 128.32.163.170/32, 661/1/88/0
Source: 128.115.31.26/32, 192/0/118/0
Source: 128.146.111.45/32, 500/0/87/0
Source: 128.183.33.134/32, 248/0/119/0
Source: 128.195.7.62/32, 527/0/118/0
Source: 128.223.32.25/32, 554/0/105/0
Source: 128.223.32.151/32, 551/1/125/0
Source: 128.223.156.117/32, 535/1/114/0
Source: 128.223.225.21/32, 582/0/114/0
Source: 129.89.142.50/32, 78/0/127/0
Source: 129.99.50.14/32, 526/0/118/0
Source: 130.129.0.13/32, 522/0/95/0
Source: 130.129.52.160/32, 40839/16/920/161
Source: 130.129.52.161/32, 476/0/97/0
Source: 130.221.224.10/32, 456/0/113/0
Source: 132.146.32.108/32, 9/1/112/0
(注) マルチキャスト ルートのバイトおよびパケット統計情報がサポートされるのは、最初の 1024 個のマルチキャスト ルートに限られます。出力インターフェイスの統計情報は維持されません。
IP MFIB の表示
MFIB のすべてのルート(上位レイヤのルーティング プロトコル データベースには存在しないが、高速スイッチングをさらに高速化するために使用されるルートも含む)を表示できます。これらのルートは、稠密モード転送が使用されている場合でも、MFIB に表示されます。
MFIB の各種のルーティング ルートを表示するには、次の作業のいずれかを行います。
|
|
Switch# show ip mfib |
パケット転送に使用されている(S,G)ルートおよび(*,G)ルートを表示します。すべてのマルチキャスト ルートについて、高速スイッチング、低速スイッチング、およびパーシャル スイッチングされたパケットの数が表示されます。 |
|
MFIB のすべてのルート(上位レイヤのルーティング プロトコル データベースには存在しないが、高速スイッチングをさらに高速化するために使用されるルートも含む)を表示します。これらのルートには、(S/M,224/4)ルートが含まれます。 |
Switch#
show ip mfib log [n]
|
最近発生した n 個の MFIB 関連イベント ログを、新しい順に表示します。 |
Switch#
show ip mfib counters
|
MFIB 関連イベントのカウンタを表示します。0 以外のカウンタだけが表示されます。 |
次に、 show ip mfib コマンドの出力例を示します。
IP Multicast Forwarding Information Base
Entry Flags: C - Directly Connected, S - Signal,
Interface Flags: A - Accept, F - Forward, S - Signal,
NP - Not platform switched
Packets: Fast/Partial/Slow Bytes: Fast/Partial/Slow:
(171.69.10.13, 224.0.1.40), flags (IC)
Packets: 2292/2292/0, Bytes: 518803/0/518803
(*, 224.0.1.60), flags ()
Packets: 2292/0/0, Bytes: 518803/0/0
(*, 224.0.1.75), flags ()
(10.34.2.92, 239.192.128.80), flags ()
Packets: 24579/100/0, 2113788/15000/0 bytes
(*, 239.193.100.70), flags ()
Packets: 1/0/0, 1500/0/0 bytes
高速スイッチング パケットの数は、該当するルート上でハードウェアによってスイッチングされたパケット数を表します。
部分的スイッチング パケットの数は、高速スイッチング パケットが、ソフトウェア処理のため、あるいは 1 つまたは複数の非プラットフォーム スイッチド インターフェイス(PimTunnel インターフェイスなど)に転送されるため、CPU にコピーされた回数を表します。
低速スイッチング パケットの数は、該当するルート上で完全にソフトウェアによってスイッチングされたパケット数を表します。
IP MFIB 高速ドロップの表示
(注) Supervisor Engine 6-E は、show ip mfib fastdrop コマンドをサポートしていません。
高速ドロップ エントリを表示するには、次の作業を行います。
|
|
Switch# show ip mfib fastdrop |
現在アクティブになっているすべての高速ドロップ エントリを表示し、 fastdrop がイネーブルに設定されているかどうかを示します。 |
次に、 show ip mfib fastdrop コマンドの出力例を示します。
Switch> show ip mfib fastdrop
MFIB fastdrop is enabled.
(10.0.0.1, 224.1.2.3, Vlan9 ) 00:01:32
(10.1.0.2, 224.1.2.3, Vlan9 ) 00:02:30
(1.2.3.4, 225.6.7.8, Vlan3) 00:01:50
着信パケットがドロップされた、(S,G)フル フローおよび入力インターフェイスが表示されます。タイムスタンプは、エントリの有効時間を表します。
PIM 統計情報の表示
次に、show ip pim interface コマンドの出力例を示します。
Switch# show ip pim interface
Address Interface Mode Neighbor Query DR
198.92.37.6 Ethernet0 Dense 2 30 198.92.37.33
198.92.36.129 Ethernet1 Dense 2 30 198.92.36.131
10.1.37.2 Tunnel0 Dense 1 30 0.0.0.0
次に、show ip pim interface コマンドに count を指定した場合の出力例を示します。
Switch# show ip pim interface count
Address Interface FS Mpackets In/Out
171.69.121.35 Ethernet0 * 548305239/13744856
171.69.121.35 Serial0.33 * 8256/67052912
198.92.12.73 Serial0.1719 * 219444/862191
次に、IP マルチキャストがイネーブルに設定されている状態で show ip pim interface コマンドに count を指定した場合の出力例を示します。この例では、高速スイッチングおよびプロセス スイッチングされる PIM インターフェイスのリストと、これらのパケット数が表示されます。IP マルチキャストがイネーブルに設定されているインターフェイスには、H が表示されます。
Switch# show ip pim interface count
States: FS - Fast Switched, H - Hardware Switched
Address Interface FS Mpackets In/Out
192.1.10.2 Vlan10 * H 40886/0
192.1.11.2 Vlan11 * H 0/40554
192.1.12.2 Vlan12 * H 0/40554
テーブルおよびデータベースの削除
特定のキャッシュ、テーブル、またはデータベースの内容をすべて削除できます。特定のキャッシュ、テーブル、またはデータベースの内容が無効である場合、または無効であると考えられる場合に、これらの削除が必要になります。
IP マルチキャスト キャッシュ、テーブル、およびデータベースを削除するには、次の作業のいずれかを行います。
|
|
|
IP ルーティング テーブルのエントリを削除します。 |
Switch#
clear ip mfib counters
|
ルート単位およびグローバルの MFIB カウンタをすべて削除します。 |
Switch#
clear ip mfib fastdrop
|
高速ドロップ エントリをすべて削除します。 |
(注) IP マルチキャスト ルートは、データ パケットが着信した時点で、プロトコル イベントへの応答として再生成されます。