IP マルチキャスト テクノロジーに関する情報
ここでは、IP マルチキャストテクノロジーについて説明します。
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 パケットを転送する必要があります。
IP マルチキャストはビデオ会議と同じものとして考えられる傾向があります。ネットワークに初めて導入する IP マルチキャスト アプリケーションは多くの場合ビデオ会議ですが、ビデオは実用的で多様な IP マルチキャスト アプリケーションのひとつに過ぎません。生産性の向上につながる他の IP マルチキャスト アプリケーションとしては、マルチメディア会議、データ複製、リアルタイム データ マルチキャスト、シミュレーション アプリケーションなどがあります。
情報配信における IP マルチキャストの役割
IP マルチキャストは、単一の情報ストリームを何千もの潜在的な企業および家庭に同時に配信することによってトラフィックを削減する帯域幅節約テクノロジーです。マルチキャストを利用するアプリケーションには、ビデオ会議、企業コミュニケーション、通信教育、およびソフトウェア、株価情報、ニュースの配信などが含まれます。
IP マルチキャスト ルーティングにより、ホスト(ソース)は、IP マルチキャスト グループ アドレスと呼ばれる特別な形式の IP アドレスを使用して、IP ネットワーク内の任意の場所にあるホスト(レシーバ)にパケットを送信できます。ソースのホストは、マルチキャスト グループ アドレスをパケットの宛先 IP アドレス フィールドに挿入します。IP マルチキャスト ルータおよびマルチレイヤ スイッチは、受信した IP マルチキャスト パケットを、マルチキャスト グループのメンバにつながるすべてのインターフェイスから転送します。どのホストも、グループのメンバであるかどうかにかかわらず、グループに送信できます。ただし、グループのメンバだけがメッセージを受信します。
IP マルチキャスト ルーティング プロトコル
ソフトウェアでは、IP マルチキャスト ルーティングを実装するため、次のプロトコルがサポートされています。
-
IGMP を LNA 上のホストとその LAN上のルータ(およびマルチレイヤデバイス)間で使用して、ホストがメンバになっているマルチキャストグループを追跡します。IP マルチキャスティングに参加するには、マルチキャストホスト、ルータ、およびマルチレイヤデバイスで Internet Group Management Protocol(IGMP)が動作している必要があります。
-
PIM(Protocol Independent Multicast)は、相互に転送されるマルチキャスト パケット、および直接接続されている LAN に転送されるマルチキャスト パケットを追跡するためにルータ間で使用されます。
-
IGMP スヌーピングは、レイヤ 2 スイッチング環境でのマルチキャストに使用します。レイヤ 2 インターフェイスを動的に設定し、マルチキャスト トラフィックが IP マルチキャスト デバイスと関連付けられたインターフェイスにだけ転送されるようにすることによって、マルチキャスト トラフィックのフラッディングを削減します。
次の図に、これらのプロトコルが IP マルチキャスト環境内のどの部分で動作するかを示します。
IPv4 マルチキャスト標準に従い、MAC 宛先マルチキャスト アドレスは 0100:5e で始まり、IP アドレスの末尾 23 ビットが付加されます。たとえば、IP 宛先アドレスが 239.1.1.39 の場合、MAC 宛先アドレスは 0100:5e01:0127 となります。
IPv4 宛先アドレスと MAC 宛先アドレスが一致しない場合、マルチキャスト パケットは一致しません。デバイスは、ハードウェア内の一致しないパケットを MAC アドレステーブルに基づいて転送します。MAC 宛先アドレスが MAC アドレステーブルにない場合、デバイスは受信したポートと同じ VLAN 内のすべてのポートにパケットをフラッディングします。
Internet Group Management Protocol(インターネット グループ管理プロトコル)
IP マルチキャスト ホストは IGMP メッセージを使用して、ローカルのレイヤ 3 スイッチまたはルータに要求を送信し、特定のマルチキャスト グループに加入して、マルチキャスト トラフィックの受信を開始します。IGMPv2 の一部の拡張機能を使用すると、IP ホストはレイヤ 3 スイッチまたはルータに対し、IP マルチキャスト グループを脱退してマルチキャスト グループ トラフィックを受信しないように求める要求も送信します。
レイヤ 3 スイッチまたはルータは、IGMP によって得た情報を使用して、マルチキャスト グループ メンバーシップのリストをインターフェイス単位で維持します。インターフェイス上で少なくとも 1 つのホストが、マルチキャスト グループ トラフィックを受信するための IGMP 要求を送信している限り、そのインターフェイスのマルチキャスト グループ メンバーシップはアクティブです。
プロトコル独立マルチキャスト
プロトコル独立マルチキャスト(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-SM)
PIM スパース モード(PIM-SM)は、プル モデルを使用してマルチキャスト トラフィックを配信します。明示的にデータを要求した、アクティブな受信者のいるネットワークだけにトラフィックが転送されます。PIM-SM は、デスクトップ ビデオ会議や企業コンピューティングなど、少数の受信者がそれぞれ異なるマルチキャストを一般に同時使用するネットワークでの使用を目的としています。
ランデブー ポイント
また、PIM をスパース モードで動作するよう構成する場合は、1 つまたは複数のデバイスをランデブー ポイント(RP)とするよう選択する必要があります。マルチキャスト グループへの送信者は、RP を使用してその存在を通知します。マルチキャスト パケットの受信者は、RP を使用して新しい送信者について学習します。1 つのマルチキャスト グループのパケットが 1 つまたは複数の RP を使用できるように Cisco IOS ソフトウェアを構成できます。
RP アドレスは、パケットをグループに送信するホストの代わりに PIM Register メッセージを送信するためにファースト ホップ デバイスによって使用されます。また、RP アドレスは、ラストホップ デバイスによって PIM join および prune メッセージを RP に送信してグループ メンバーシップについて通知するためにも使用されます。すべてのデバイス(RP デバイスを含む)で RP アドレスを設定する必要があります。
1 台の 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 スヌーピングを実装すると、データを高速で送信する場合、パフォーマンスに重大な影響が出る可能性があります。
IP マルチキャスト テーブル
次に、デバイスがハードウェアで 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 のルート用のスペースが準備されています。これらがユニキャスト ルート、マルチキャスト ルート、およびマルチキャスト高速ドロップ エントリによって共有されます。
出力インターフェイスのリストは、Multicast Expansion Table(MET)に保存されます。MET には、最大 32,000 の出力インターフェイス リスト用のスペースがあります(RET には、最大 102 K エントリ(フラッディング セットに 32 K、マルチキャスト エントリに 70,000 使用)が可能です)。MET リソースは、レイヤ 3 マルチキャスト ルートおよびレイヤ 2 マルチキャスト エントリによって共有されます。ハードウェアで使用できる出力インターフェイス リストの実際の数は、設定によって異なります。マルチキャスト ルートの総数が 32,000 を超えると、Integrated Switching Engine によってマルチキャスト パケットをスイッチングできなくなる場合があります。そのパケットは、CPU サブシステムによってきわめて低い速度で転送されることになります
(注) |
(RET では 102 K エントリまでサポートされます(フラッディング セットに 32K、multicast エントリに 70 K を使用))。 |
ハードウェアおよびソフトウェアによる転送
Integrated Switching Engine は通常、パケットをハードウェアで非常に高速で転送します。CPU サブシステムは、例外パケットをソフトウェアで転送します。Integrated Switching Engine が大部分のパケットをハードウェアで転送していることは、統計レポートからわかります。
次に、ハードウェアとソフトウェアの転送コンポーネントの概念図を示します。
Integrated Switching Engine は、通常の動作モードでは、ハードウェアで VLAN 間ルーティングを実行します。CPU サブシステムは、ソフトウェアによる転送のために、総称ルーティング カプセル化(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 トンネルまたはディスタンス ベクトル マルチキャスト ルーティング プロトコル(DVMRP)トンネルである場合
-
インターフェイスが高等研究計画局(ARPA)以外のカプセル化を使用している場合
次のパケットは、常にソフトウェアによって転送されます。
-
224.0.0.*(* は 0 ~ 255)の範囲のマルチキャスト グループに送信されるパケット。この範囲は、ルーティング プロトコルが使用します。レイヤ 3 スイッチングでは、この範囲以外のすべてのマルチキャスト グループ アドレスがサポートされています。
-
IP オプション付きのパケット
非リバース パス フォワーディング トラフィック
Reverse Path Forwarding(RPF)チェックに失敗したトラフィックを、非 RPF トラフィックといいます。Integrated Switching Engine は、非 RPF トラフィックをフィルタリング(持続的にドロップ)するか、またはレート制限して転送します。
複数のレイヤ 3 スイッチまたはルータが同一の LAN セグメントに接続されている冗長な構成で、送信元から発信インターフェイス上の受信側へマルチキャスト トラフィックを転送するのは、1 台の装置だけです。次の図に、一般的なネットワーク構成で非 RPF トラフィックが発生した状況を示します。
この種のトポロジでは、PIM 指定ルータ(PIM DR)であるルータ A だけが共通の VLAN にデータを転送します。ルータ B は転送されたマルチキャスト トラフィックを受信しますが、このトラフィックをドロップします。不正なインターフェイスでこのトラフィックが着信したので、RPF チェックに失敗するためです。このように RPF チェックに失敗するトラフィックを、「非 RPF トラフィック」といいます。
マルチキャスト グループ伝送方式
IP 通信は、最初の図に示すように、トラフィックの送信者として機能するホストと、レシーバとして機能するホストで構成されます。送信者はソースと呼ばれます。従来の IP 通信は、単一のホスト ソースがパケットを別の単一ホスト(ユニキャスト伝送)またはすべてのホスト(ブロードキャスト伝送)に送信することによって行われます。IP マルチキャストは第三の方式を提供するものであり、ホストはすべてのホストのサブセットにパケットを送信できます(マルチキャスト伝送)。受信側のホストのこのサブセットをマルチキャスト グループと呼びます。マルチキャスト グループに属するホストは、グループ メンバと呼ばれます。
マルチキャストは、このグループの概念に基づいています。マルチキャスト グループは、特定のデータ ストリームを受信するためにグループに加入する任意の数のレシーバです。このマルチキャスト グループには、物理的境界または地理的境界はありません。ホストは、インターネット上または任意のプライベート ネットワーク上のどこにでも配置できます。ソースから特定のグループに対するデータを受信する必要があるホストはそのグループに加入する必要があります。グループに加入するには、ホスト レシーバで Internet Group Management Protocol(IGMP)を使用します。
マルチキャスト環境では、どのホストも、グループのメンバであるかどうかにかかわらず、グループに送信できます。ただし、そのグループに送信されたパケットはグループのメンバだけが受信できます。IP ユニキャスト パケットと同様、マルチキャスト パケットは、ベストエフォート型の信頼性を使用してグループに配信されます。
次の図では、レシーバ(指定したマルチキャスト グループ)がソースからのビデオ データ ストリームを受信する必要があります。これらのレシーバは、ネットワーク内のルータに IGMP ホスト レポートを送信することによってその意思を示します。この場合、ルータがソースからレシーバへのデータの配信を担います。ルータは、Protocol Independent Multicast(PIM)を使用して、マルチキャスト配信ツリーを動的に作成します。その後、ソースとレシーバ間のパスにあるネットワーク セグメントにのみ、ビデオ データ ストリームが配信されます。
IP マルチキャスト境界
図に示すように、アドレス スコーピングは、同じ IP アドレスを持つ RP が含まれるドメインが相互にデータを漏出させることのないように、ドメイン境界を定義します。スコーピングは、大きなドメイン内のサブネット境界や、ドメインとインターネットの間の境界で実行されます。
マルチキャスト グループ アドレッシングのインターフェイスに管理スコープの境界を設定するには、ip multicast boundary コマンドと access-list 引数を使用します。影響を受けるアドレス範囲は、標準アクセス リストによって定義されます。境界が設定されると、マルチキャスト データ パケットは境界を越えて出入りできなくなります。境界を定めることで、同じマルチキャスト グループ アドレスをさまざまな管理ドメイン内で使用できます。
Internet Assigned Numbers Authority(IANA)は、マルチキャスト アドレス範囲 239.0.0.0 ~ 239.255.255.255 を管理スコープ アドレスとして指定しています。この範囲のアドレスは、さまざまな組織で管理されるドメイン内で再使用されます。これらは、グローバルに一意ではなくローカルとみなされます。
filter-autorp キーワードを設定して、管理用スコープの境界で Auto-RP 検出と通知メッセージを検査し、フィルタできます。境界のアクセス コントロール リスト(ACL)に拒否された Auto-RP パケットからの Auto-RP グループ範囲通知は削除されます。Auto-RP グループ範囲通知は、Auto-RP グループ範囲のすべてのアドレスが境界 ACL によって許可される場合に限り境界を通過できます。許可されないアドレスがある場合は、グループ範囲全体がフィルタリングされ、Auto-RP メッセージが転送される前に Auto-RP メッセージから削除されます。
IP マルチキャスト グループ アドレッシング
マルチキャスト グループは、マルチキャスト グループ アドレスによって識別されます。マルチキャスト パケットは、そのマルチキャスト グループ アドレスに配信されます。単一のホストを独自に識別するユニキャスト アドレスとは異なり、マルチキャスト IP アドレスは特定のホストを識別しません。マルチキャスト アドレスに送信されるデータを受信するには、アドレスが識別するグループにホストが参加する必要があります。データは、マルチキャスト アドレスに送信され、そのグループに送信されたトラフィックを受信する意思を示してグループに加入しているすべてのホストによって受信されます。マルチキャスト グループ アドレスは、送信元でグループに割り当てられます。マルチキャスト グループ アドレスを割り当てるネットワーク管理者は、Internet Assigned Numbers Authority(IANA)で予約されるマルチキャスト アドレスの範囲にアドレスが準拠していることを確認する必要があります。
IP クラス D アドレス
IP マルチキャスト アドレスは、IANA によって IPv4 クラス D アドレス空間に割り当てられました。クラス D アドレスの上位 4 ビットは 1110 です。したがって、ホスト グループ アドレスの範囲は 224.0.0.0 ~ 239.255.255.255 であると考えられます。マルチキャスト アドレスは送信元(送信者)でマルチキャスト グループの受信先として選択されます。
(注) |
クラス D アドレスの範囲は、IP マルチキャスト トラフィックのグループ アドレスまたは宛先アドレスにだけ使用されます。マルチキャスト データグラムの送信元アドレスは常にユニキャスト送信元アドレスになります。 |
IP マルチキャスト アドレスのスコーピング
さまざまなアドレス範囲の予測可能な動作を提供したり、より小規模なドメイン内でアドレスを再利用したりできるよう、マルチキャスト アドレスの範囲はさらに分割されます。表に、マルチキャスト アドレスの範囲を要約します。それに続いて、各範囲について簡単に説明します。
名前 |
範囲 |
説明 |
---|---|---|
予約済みリンクローカル アドレス |
224.0.0.0 ~ 224.0.0.255 |
ローカル ネットワーク セグメントのネットワーク プロトコルで使用するために予約されています。 |
グローバル スコープ アドレス |
224.0.1.0 ~ 238.255.255.255 |
組織間およびインターネット上でマルチキャスト データを送信するために予約されています。 |
Source Specific Multicast |
232.0.0.0 ~ 232.255.255.255 |
明示的にグループに参加している受信者だけにデータを転送する SSM データグラム配信モデル用に予約されています。 |
GLOP アドレス |
233.0.0.0 ~ 233.255.255.255 |
割り当て済みの自律システム(AS)ドメイン番号をすでに持つ組織によって静的に定義されるアドレス用に予約されています。 |
限定スコープ アドレス |
239.0.0.0 ~ 239.255.255.255 |
管理スコープ アドレスまたはプライベート マルチキャスト ドメインで使用するための限定スコープ アドレスとして予約されています。 |
予約済みリンクローカル アドレス
IANA では、ローカル ネットワーク セグメントのネットワーク プロトコルで使用するために 224.0.0.0 ~ 224.0.0.255 の範囲を予約しています。この範囲のアドレスを持つパケットはスコープ内ローカルであり、IP ルータによって転送されません。通常、リンク ローカル宛先アドレスを持つパケットは存続可能時間(TTL)値 1 を使用して送信されるため、ルータによって転送されません。
この範囲内の予約済みリンクローカル アドレスは、それぞれに予約されたネットワーク プロトコル機能を提供します。ネットワーク プロトコルは、これらのアドレスをルータの自動検出および重要なルーティング情報の伝達用に使用します。たとえば、Open Shortest Path First(OSPF)は、IP アドレスの 224.0.0.5 と 224.0.0.6 を使用してリンクステート情報を交換します。
IANA では、ネットワーク プロトコルやネットワーク アプリケーションに対する単一マルチキャスト アドレス要求を 224.0.1.xxx のアドレス範囲外に割り当てています。マルチキャスト ルータはこれらのマルチキャスト アドレスを転送します。
(注) |
ASR 903 RSP2 モジュールでは、デフォルトにより、予約済みのリンクローカル アドレスを持つすべてのパケットが CPU にパントされます。 |
グローバル スコープ アドレス
224.0.1.0 ~ 238.255.255.255 の範囲のアドレスは、グローバル スコープ アドレスと呼ばれます。これらのアドレスは、組織間およびインターネット上でのマルチキャスト データの送信に使用します。これらのアドレスの一部はマルチキャスト アプリケーションで使用するよう IANA によって予約されています。たとえば、IPアドレス 224.0.1.1 は、Network Time Protocol(NTP)用に予約されています。
Source Specific Multicast アドレス
232.0.0.0/8 のアドレス範囲は、Source Specific Multicast(SSM)用に予約されています。Cisco IOS ソフトウェアでは、ip pim ssm コマンドを使用して任意の IP マルチキャストアドレス用の SSM も設定できます。SSM は、1 対多通信での効率的なデータ配信メカニズムを可能にする Protocol Independent Multicast(PIM)の拡張版です。SSM については、IP マルチキャスト配信モードの項を参照してください。
GLOP アドレス
GLOP アドレッシングでは(233/8 の RFC 2770、GLOP アドレッシングで提案されているように)、AS 番号をすでに予約している組織による静的に定義されたアドレス用に 233.0.0.0/8 の範囲を予約することを提案しています。これは、GLOP アドレッシングと呼ばれます。ドメインの AS 番号は 233.0.0.0/8 アドレス範囲の 2 番目と 3 番目のオクテットに組み込まれます。たとえば、AS 62010 は 16 進数形式で F23A と表されます。この 2 つのオクテット F2 および 3A を分割すると、結果は 10 進数でそれぞれ 242 および 58 となります。これらの値は、AS 62010 に使用するようにグローバルに予約される 233.242.58.0/24 のサブネットとなります。
限定スコープ アドレス
239.0.0.0 ~ 239.255.255.255 の範囲は、管理スコープ アドレス、またはプライベート マルチキャスト ドメインで使用する限定スコープ アドレスとして予約されています。これらのアドレスは、ローカル グループまたは組織に使用するように制限されています。会社、大学および他の組織は、限定スコープ アドレスを使用すると、ドメイン外に転送されないローカル マルチキャスト アプリケーションを使用できます。通常、ルータは、このアドレス範囲のマルチキャスト トラフィックが自律システム(AS)またはユーザー定義のドメイン外にフローしないようにするフィルタを使用して設定されます。AS またはドメイン内では、ローカル マルチキャスト境界を定義できるように、限定スコープ アドレス範囲を細分化することもできます。
(注) |
ネットワーク管理者はこの範囲内のマルチキャスト アドレスを使用できます。これによって、インターネット内の他の場所と競合することはありません。 |
レイヤ 2 マルチキャスト アドレス
従来、LAN セグメントのネットワーク インターフェイス カード(NIC)が受信できるのは、Burned-In MAC Address またはブロードキャスト MAC アドレスに指定されたパケットだけでした。IP マルチキャストでは、複数のホストが共通の宛先 MAC アドレスを使用した単一のデータ ストリームを受信する必要があります。複数のホストが同じパケットを受信する場合、複数のマルチキャスト グループを区別できるように、何らかの方法を考案する必要があります。そのための 1 つの方法は、IP マルチキャスト クラス D アドレスを MAC アドレスに直接マッピングすることです。この方法を使用すると、NIC は多くの異なる MAC アドレスを宛先とするパケットを受信できます。
Cisco グループ管理プロトコル(CGMP)は、IGMP によって実行される作業と同様の作業を実行するために、Catalyst スイッチに接続されたルータ上で使用されます。IP マルチキャスト データ パケットと IGMP レポート メッセージ(いずれも MAC レベルで同じグループ アドレスにアドレス指定されます)を区別できない Catalyst スイッチの場合、CGMP が必要になります。
シスコ エクスプレス フォワーディング、MFIB、およびレイヤ 2 転送
実装された IP マルチキャストは、中央集中型シスコ エクスプレス フォワーディングの拡張機能です。Cisco Express Forwarding は、ユニキャスト ルーティング テーブル(BGP、OSPF、EIGRP などのユニキャスト ルーティング プロトコルによって作成される)から情報を抽出し、この情報をハードウェアにロードします。
転送情報ベース(FIB)FIB のユニキャスト ルートを使用すると、上位層のルーティング テーブルでルートが変更された場合でも、ハードウェア ルーティング ステートの 1 つのルートを変更するだけです。ハードウェアでユニキャスト パケットを転送するために、Integrated Switching Engine は Ternary CAM(TCAM)から送信元および宛先ルートを検索し、ハードウェア FIB から隣接インデックスを取り出して、ハードウェア ネイバー テーブル関係からレイヤ 2 リライト情報およびネクストホップ アドレスを取得します。
マルチキャスト転送情報ベース(MFIB)サブシステムは、ユニキャストシスコ エクスプレス フォワーディングのマルチキャスト版です。この MFIB サブシステムは、PIM および IGMP によって作成されるマルチキャスト ルートを抽出し、ハードウェア転送のためのプロトコル独立フォーマットにします。MFIB サブシステムは、プロトコル固有の情報を削除し、必要なフォワーディング情報だけを残します。MFIB テーブルの各エントリは、(S,G)または(*,G)ルート、入力 RPF VLAN、およびレイヤ 3 出力インターフェイスのリストで構成されます。MFIB サブシステムは、プラットフォーム依存の管理ソフトウェアと連携して、このマルチキャスト ルーティング情報をハードウェア FIB およびハードウェア Replica Expansion Table(RET)にロードします。デバイスは、レイヤ 3 ルーティングとレイヤ 2 ブリッジングを同時に実行します。いずれの VLAN インターフェイスにも複数のレイヤ 2 スイッチ ポートを設定できます。
次の図に、シスコ デバイスがユニキャスト ルーティング、マルチキャスト ルーティング、およびレイヤ 2 ブリッジングの情報を組み合わせてハードウェアで転送を実行する機能の概要を示します。
MFIB ルートは、シスコ エクスプレス フォワーディング ユニキャスト ルートと同様にレイヤ 3 であるため、該当するレイヤ 2 情報と結合する必要があります。MFIB ルートの例を示します。
(*,203.0.113.1)
RPF interface is Vlan3
Output Interfaces are:
Vlan 1
Vlan 2
ルート(*,203.0.113.1)がハードウェア FIB テーブルにロードされ、出力インターフェイスのリストが MET にロードされます。出力インターフェイスのリストへのポインタ、MET インデックス、および RPF インターフェイスも、(*,203.0.113.1)ルートとともにハードウェア FIB にロードされます。ハードウェアにこの情報をロードすることで、レイヤ 2 情報との結合を開始できるようになります。VLAN 1 上の出力インターフェイスについて、Integrated Switching Engine は VLAN 1 上でスパニングツリー フォワーディング ステートにあるすべてのスイッチ ポートにパケットを送信する必要があります。同じプロセスが VLAN 2 に適用されます。VLAN 2 内のスイッチ ポートのセットを決定するために、レイヤ 2 転送テーブルが使用されます。
ハードウェアがパケットをルーティングする場合、すべての出力インターフェイスのすべてのスイッチ ポートにパケットを送信するだけでなく、ハードウェアは入力 VLAN の(パケットが到着したスイッチ ポートを除く)すべてのスイッチ ポートにも、パケットを送信します。たとえば、VLAN 3 に 2 つのスイッチ ポート、GigabitEthernet 3/1 および GigabitEthernet 3/2 があると仮定します。GigabitEthernet 3/1 上のホストがマルチキャスト パケットを送信すると、GigabitEthernet 3/2 上のホストもそのパケットを受信しなければならない場合があります。GigabitEthernet 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 マルチキャスト配信モード
IP マルチキャスト配信のモードは、送信元ホストではなく、受信側ホストのみによって異なります。送信元ホストは、パケットの IP 送信元アドレスとしての固有の IP アドレスと、パケットの IP 宛先アドレスとしてのグループ アドレスを使用して、IP マルチキャスト パケットを送信します。
Source Specific Multicast
Source Specific Multicast(SSM)は、ブロードキャスト アプリケーションとしても知られる 1 対多アプリケーションをサポートする最善のデータグラム配信モデルです。SSM は、オーディオおよびビデオのブロードキャスト アプリケーション環境を対象としたシスコの IP マルチキャストのコア ネットワーク テクノロジーです。
SSM 配信モードの場合、IP マルチキャスト レシーバ ホストは IGMP バージョン3(IGMPv3)を使用してチャネル(S, G)を登録する必要があります。このチャネルに登録することによって、ソース ホストがグループ G に送信した IP マルチキャスト トラフィックの受信をレシーバ ホストが要求していることを示します。ネットワークは、ソース ホスト S からグループ G に送信された IP マルチキャスト パケットを、チャネル (S, G) に登録したネットワーク内のすべてのホストに配信します。
SSM では、ネットワーク内でグループ アドレスを割り当てる必要はありません。各ソース ホスト内で割り当てるだけです。同じソース ホストで実行している各アプリケーションはそれぞれ異なる SSM グループを使用する必要があります。異なるソース ホストで実行しているアプリケーションは、SSM グループ アドレスを再利用できます。ネットワークに大量のトラフィックを発生させることはありません。
マルチキャスト高速ドロップ
PIM-SM、PIM-DM などの IP マルチキャスト プロトコルでは、(S,G)または(*,G)ルートごとに、対応する着信インターフェイスがあります。このインターフェイスを、RPF インターフェイスといいます。予測される RPF インターフェイスとは異なるインターフェイスにパケットが到着することもあります。その場合、PIM によってパケットに特殊なプロトコル処理を行うために、そのパケットを CPU サブシステム ソフトウェアに転送する必要があります。PIM が実行する特殊なプロトコル処理の例としては、PIM アサート プロトコルがあります。
デフォルトでは、Integrated Switching Engine ハードウェアは、非 RPF インターフェイスに着信したすべてのパケットを CPU サブシステム ソフトウェアに送信します。ただし、これらの非 RPF パケットはほとんどの場合、マルチキャスト ルーティング プロトコルに必要ではないので、多くの場合、ソフトウェアによる処理は不要です。何の処置も行わなければ、ソフトウェアに送信される非 RPF パケットのため、CPU に負荷がかかるおそれがあります。
高速ドロップ エントリをインストールするのではなく、シスコ デバイスではダイナミック バッファ制限(DBL)を使用します。このフローベースの輻輳回避メカニズムは、各トラフィック フローのキュー長を追跡することによりアクティブ キュー管理を提供します。フローのキュー長がその設定された制限を超える場合、DBL がパケットをドロップします。CPU が過負荷にならないように、レート DBL は、CPU サブシステムに対する非 RPF トラフィックを制限します。パケットは CPU に対してフローごとにレート制限されます。CAM に高速ドロップ エントリをインストールすることは不可能なため、スイッチで処理できる高速ドロップ フローの数を制限する必要はありません。
リンクのダウン、ユニキャスト ルーティング テーブルの変更などのプロトコル イベントによって、安全に高速ドロップが可能なパケットの集合に影響が出ることがあります。以前は高速ドロップを行っても問題のなかったパケットを、トポロジの変更後、PIM ソフトウェアに処理させるため、CPU サブシステム ソフトウェアに転送する必要があります。CPU サブシステム ソフトウェアは、プロトコル イベントに応答して高速ドロップ エントリのフラッシュを行い、IOS の PIM コードが必要な RPF エラーをすべて処理できるようにします。
RPF エラーが繰り返し発生する可能性があるため、一部の一般的なトポロジでは、ハードウェアにおいて高速ドロップ エントリを使用することが重要です。高速ドロップ エントリがなければ、処理する必要のない RPF エラー パケットによって CPU が過負荷になります。
Multicast Forwarding Information Base(マルチキャスト転送情報ベース)
マルチキャスト転送情報ベース(MFIB)サブシステムは、シスコ デバイス上の 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)フラグと組み合わせて使用します。一連の転送インターフェイスは、マルチキャスト「olist」(出力インターフェイス リスト)と呼ばれるものを形成します。
-
Signalling(S):このインターフェイスにパケットが着信したとき、Cisco IOS の何らかのマルチキャスト ルーティング プロトコル プロセスに通知する必要がある場合に設定します。
(注) |
これは、パケットが特定の宛先アドレスに対してトンネリングされていることを表すために、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 つずつルートが作成されます。
マルチキャスト ハイ アベイラビリティ
Cisco Catalyst 9600 シリーズ スイッチ はマルチキャスト ハイ アベイラビリティをサポートします。これにより、スーパーバイザエンジンに障害が発生してもマルチキャストトラフィックのフローが中断されることはありません。MFIB ステートは、スイッチオーバーの前にスタンバイ スーパーバイザ エンジンに同期化され、スーパーバイザエンジンの障害時のスイッチオーバーのときに高速コンバージェンスでの NSF の可用性が確保されます。
マルチキャスト HA(SSO/NSF/ISSU)は、PIM スパースモードと SSM モードでサポートされます。つまり、IGMP および MLD スヌーピング用のレイヤ 2 でサポートされます。