レイヤ 3 マルチキャスト ルーティングの実装

マルチキャスト ルーティングはホストが、ユニキャスト送信のように単一のホストではなく、すべてのホストのサブセットに対してグループ送信として、またはブロードキャスト伝送のようにすべてのホストにパケットを送信できます。ホストのサブセットはグループ メンバと呼ばれ、224.0.0.0 ~ 239.255.255.255 の IP クラス D アドレス範囲に含まれる 1 つのマルチキャスト グループ アドレスによって識別されます。

マルチキャスト環境は、送信側と受信側で構成されます。どのホストも、グループのメンバであるかどうかにかかわらず、グループに送信できます。ただし、グループのメンバだけがメッセージを受信します。

Cisco NCS 540 シリーズ ルータは、マルチキャスト ルーティングを実装するための次のプロトコルをサポートしています。

  • IGMP:IGMP は、ホストがメンバになっているマルチキャスト グループを追跡するためにネットワーク(LAN など)上のホストとそのネットワーク上のルータの間で使用されます。

  • PIM SSM:Source-Specific Multicast の Protocol Independent Multicast(PIM-SSM)は、IP マルチキャスト アドレスを宛先とした特定の送信元アドレス(または特定の送信元アドレスを除くすべてのアドレス)からのパケットを受信する対象をレポートする機能を備えています。

Cisco NCS 540 シリーズ ルータでマルチキャスト ルーティングを実装するための前提条件

  • マルチキャスト RPM パッケージをインストールしてアクティブにする必要があります。

  • IPv4 マルチキャスト ルーティングの設定作業と概要に関する知識が必要です。

  • ユニキャスト ルーティングは動作可能でなければなりません。

マルチキャストの有効化

設定例

新規および既存のすべてのインターフェイスでマルチキャスト ルーティングおよび転送をイネーブルにします。

Router#config
Router(config)#multicast-routing 
Router(config-mcast)#address-family ipv4
Router(config-mcast-default-ipv4)#interface all enable
*/In the above command, you can also indicate a specific interface (For example, interface TenGigE0/0/0/3)
for enabling multicast only on that interface/* 
Router(config-mcast-default-ipv4)#commit

実行コンフィギュレーション

Router#show running multicast routing
multicast-routing
 address-family ipv4
  interface all enable
  !

確認

インターフェイスでマルチキャストが有効になっていることを確認します。

Router#show mfib interface location 0/3/CPU0
Interface : FINT0/0/cpu0 (Enabled)
SW Mcast pkts in : 0, SW Mcast pkts out : 0
TTL Threshold : 0
Ref Count : 2
Interface : TenGigE0/3/0/0/0 (Enabled)
SW Mcast pkts in : 0, SW Mcast pkts out : 0
TTL Threshold : 0
Ref Count : 3
Interface : TenGigE0/3/0/9/0 (Enabled)
SW Mcast pkts in : 0, SW Mcast pkts out : 0
TTL Threshold : 0
Ref Count : 13
Interface : Bundle-Ether1 (Enabled)
SW Mcast pkts in : 0, SW Mcast pkts out : 0
TTL Threshold : 0
Ref Count : 4
Interface : Bundle-Ether1.1 (Enabled)
SW Mcast pkts in : 0, SW Mcast pkts out : 0
TTL Threshold : 0

サポートされるマルチキャスト機能

  • PIMv4 に対するハードウェア オフロード済み BFD がサポートされています。

  • IGMPv2/v3 および MLDv1/v2 の両方に対し IPv4 および IPV6 スタティック グループがサポートされています。

  • SSM マッピングがサポートされています。

  • バンドル サブインターフェイスを介した PIMv4/v6 がサポートされています。

  • ECMP リンクおよびバンドルのマルチキャスト トラフィックのロードバランシングがサポートされています。

  • TCAM スペースを超えた場合は、ルータをリロードして回復する必要があります。

  • マルチキャスト MAC アドレスとマルチキャスト IP アドレスは、レイヤ 2 トラフィックとレイヤ 3 トラフィックの両方で一致させる必要があります。そのようにしないと、ASIC によってトラフィックがドロップされる可能性があります。L2 フラッディングはサポートされていません。

  • ハードウェアでのマルチキャスト トラフィックのフラグメンテーションはサポートされていません。

  • IPv6 マルチキャスト MLD Join は、ホップバイホップ LPTS パント ポリサーの影響を受けます。このポリサーを高い値に調整すると、より高いスケールでコンバージェンスが達成されます。SSM グループの最大値は、20k の IPv6 マルチキャスト SSM グループの場合 5000 pps です。

    また、より高いスケールで最適なコンバージェンスを実現するために、ICMP 制御トラフィックの LPTS ハードウェア ポリサーを高い値に調整します。最大値は 5000 pps です。

IGMO スヌーピング機能

サポートされる機能

  • ブリッジ ドメインでの IGMP スヌーピングがサポートされています。

  • BVI 上のマルチキャストがサポートされています。

  • プラットフォーム オプションを使用した EVPN IGMP 状態同期がサポートされています。

マルチキャストの制約事項

  • ルータでサポートされているのは、4K IPv4 マルチキャスト ルート(mroute)スケールのみです。

  • MFIB 統計 S,G はサポートされません。

  • hw-module profile mfib 統計はサポートされません。

  • BVI ベースのマルチキャストはサポートされません。

  • IGMP スヌーピングはサポートされません。

  • VPLS 経由の IGMP スヌーピングはサポートされません。

  • MLDP は、エッジ ロールではサポートされません。

  • VRF-Lite 経由のマルチキャストはサポートされません。

  • IPv6 PIM SM はサポートされません。

  • IPv4 PIM SM の AutoRP はサポートされません。

  • 静的 IPv4 mroute はサポートされません。

  • IPv6 PIM SSM の冗長送信元はサポートされません。IPv6 PIM SSM の同じグループへの複数送信元はサポートされていません(S1,G.S2,G は機能しない)。

  • G.8032 または他の L2 ベースの冗長プロトコルおよびコンバージェンス プロトコルはマルチキャスト トラフィックではサポートされません。

  • マルチキャスト経由の QoS はサポートされません。

  • マルチキャストの L2 バンドルはサポートされません。

  • MVPN GRE はサポートされません。

IGMP スヌーピングの制約事項

  • BVI はレイヤ 3 マルチキャストで有効で、IGMP スヌーピングは無効です。

  • 特定の BD/BVI で IGMP スヌーピングが有効になっているフローでは、マルチキャスト スパース モードはサポートされません。

  • *,G レポート IGMPv2/IGMPv3(NULL を除外)は機能しません。また、*,G レポートを送信すると既存のフローが中断されます。

    BVI 上の PIMv4 Hello は、パント コードの問題によりパントされません。インジェクションは良好です。

    dot1ad や qinq などの異なるタイプのカプセル化は、L2 サブインターフェイスの接続回線では機能しません。タグなしのカプセル化はサポートされません。

    BVI シャットダウンを行うとパント パスが切断されます。クエリ パケットはパントされません。

    誤ったカプセル化でタグ付けされた出力トラフィックは、BVI インターフェイスに着信するトラフィックに対してはサポートされません。

    スヌーピング プロファイルが接続されていない BVI がある場合、ブリッジ ドメインのフラッディングは、アクセス ルータまたは P エッジ ルータではサポートされません。

    BVI または純粋なブリッジ ドメインでの IPv6 マルチキャストはサポートされません。

表 1. サポートされるマルチキャスト スケール

機能

規模

IPv4 マルチキャスト PIM SSM

20000 個のマルチキャスト ルート

IPv6 マルチキャスト PIM SSM

20000 個のマルチキャスト ルート

IPv4 マルチキャスト PIM SM

4000 個のマルチキャスト ルート

L2 グループ

3000 個のマルチキャスト ルート

Replications

パケット サイズが 150b 未満の場合は 255

Protocol Independent Multicast

Protocol Independent Multicast(PIM)は、マルチキャスト データ パケットの転送に使用されるマルチキャスト配信ツリーを作成するために使用されるマルチキャスト ルーティング プロトコルです。

マルチキャストが適切に動作するためには、送信元または RP へのユニキャスト パスを認識している必要があります。PIM は、ユニキャスト ルーティング プロトコルを使用してこのリバース パス転送(RPF)情報を取得します。PIM という名前が示すとおり、使用されるユニキャスト プロトコルとは独立して動作します。PIM は RPF 情報についてルーティング情報ベース(RIB)に依存します。Protocol Independent Multicast(PIM)は、マルチキャスト ルーティング アップデートを送受信するように設計されています。

PIM BFD の概要

PIM BFD とも呼ばれるマルチキャストの BFD サポート(PIM)機能では、BFD のクライアントとして PIM が登録されます。その後、PIM は、BFD を利用して隣接する PIM ノードとのセッションを開始して、プロトコル層での BFD の高速隣接障害の検出をサポートすることができます。PIM は PIM のために登録されます。PIM BFD が有効の場合、BFD は PIM からの hello メッセージを待機せずに、より速い障害検出を行えます。

(BFD クライアントとして)PIM 要求時、BFD は、隣接ノードとのセッションを確立および維持することで、生存性を維持し、隣接ノードへの転送パス障害を検出します。BFD がネイバーとの BFD セッションを確立して維持した後も、PIM hello はネイバー間で引き続き交換されます。この機能の導入により、PIM hello メカニズムの動作は変更されません。

PIM は内部ゲートウェイ プロトコル(IGP)に依存し、BFD は IGP でサポートされますが、PIM BFD は IGP の BFD とは独立しています。

Protocol Independent Multicast

Protocol Independent Multicast(PIM)は、hello メカニズムを使用して、新しいネイバーを検出し隣接ノード間の障害を検出します。PIM の最小障害検出時間は、PIM Query-Interval の 3 倍です。より高速な障害検出を可能にするために、インターフェイス上で PIM Hello メッセージが送信される速度を設定できます。ただし、間隔が短くなると、プロトコルの負荷が増加し、CPU とメモリの使用率が増加して、システム全体のパフォーマンスに悪影響を与える可能性があります。また、間隔を短くすると、ネイバーから受信した hello メッセージが処理される前にネイバーの有効期限が切れる可能性があるため、PIM ネイバーが頻繁に期限切れになる可能性があります。PIM BFD が有効の場合、BFD は PIM からの hello メッセージを待機せずに、より速い障害検出を行えます。

PIM BFD の設定

ここでは、PIM BFD の設定方法について説明します。


Router# configure
Router(config)# router pim address-family ipv4
Router(config-pim-default-ipv4)# interface HundredGige 0/1/0/1
Router(config-pim-ipv4-if)#  bfd minimum-interval 10
Router(config-pim-ipv4-if)#  bfd fast-detect
Router(config-pim-ipv4-if)#  bfd multiplier 3
Router(config-pim-ipv4)#  exit
Router(config-pim-default-ipv4)# interface TengigabitEthernet 0/0/0/4
Router(config-pim-ipv4-if)#  bfd minimum-interval 50
Router(config-pim-ipv4-if)#  bfd fast-detect
Router(config-pim-ipv4-if)#  bfd multiplier 3
Router(config-pim-ipv4-if)#  exit
Router(config-pim-default-ipv4)# interface TengigabitEthernet 0/0/0/4.101
Router(config-pim-ipv4-if)#  bfd minimum-interval 50
Router(config-pim-ipv4-if)#  bfd fast-detect
Router(config-pim-ipv4-if)#  bfd multiplier 3
Router(config-pim-ipv4-if)#  exit


実行コンフィギュレーション


router pim
 address-family ipv4
  interface HundredGige 0/1/0/1
   bfd minimum-interval 10
   bfd fast-detect
   bfd multiplier 3
  !
  interface TengigabitEthernet 0/0/0/4
   bfd minimum-interval 50
   bfd fast-detect
   bfd multiplier 3
  !
  interface TengigabitEthernet 0/0/0/4.101
   bfd minimum-interval 50
   bfd fast-detect
   bfd multiplier 3
  !
    !
  
  !
 !
!

確認

次の項に示す show 出力には、PIM BFD の設定の詳細とその設定のステータスが表示されます。


Router# show bfd session 
Wed Nov 22 08:27:35.952 PST
Interface           Dest Addr    Local det time(int*mult)  State      Echo       Async   H/W     NPU     
------------------- --------------- ---------------- ---------------- -----      -----  -----    -----
Hu0/0/1/3           10.12.12.2      0s(0s*0) 90ms(30ms*3)     UP      												Yes   0/0/CPU0  
                                                                   
Hu0/0/1/2           10.12.12.2      0s(0s*0) 90ms(30ms*3)     UP                  Yes   0/0/CPU0       
                                                             
Hu0/0/1/1           10.18.18.2      0s(0s*0) 90ms(30ms*3)     UP                  Yes   0/0/CPU0       
                                                             
Te0/0/0/4.101       10.112.112.2   0s(0s*0) 90ms(30ms*3)     UP                  Yes   0/0/CPU0       
                                                             



Router# show bfd client

Name            Node       Num sessions
--------------- ---------- --------------
L2VPN_ATOM      0/RP0/CPU0 0
MPLS-TR         0/RP0/CPU0 0
bgp-default     0/RP0/CPU0 0
bundlemgr_distrib 0/RP0/CPU0 14
isis-1          0/RP0/CPU0 0
object_tracking 0/RP0/CPU0 0
pim6 											0/RP0/CPU0 0
pim 												0/RP0/CPU0 0
service-layer   0/RP0/CPU0 0

Reverse Path Forwarding

リバース パス転送(RPF)は、マルチキャスト データグラムの転送に使用されるアルゴリズムです。これは、次のように機能します。
  • ルータで送信元へのユニキャスト パケットの送信に使用しているインターフェイスでデータグラムを受信すると、パケットは RPF インターフェイスに着信しています。

  • パケットが RPF インターフェイスに着信した場合、ルータは、マルチキャスト ルーティング テーブル エントリの発信インターフェイス リストに存在するインターフェイスにパケットを転送します。

  • パケットが RPF インターフェイスに着信しない場合、パケットはループを回避するためにサイレントにドロップされています。

PIM では、送信元ツリーと RP をルートとする共有ツリーの両方を使用してデータグラムを転送します。RPF チェックは、次のようにそれぞれ異なる方法で実行されます。
  • PIM ルータのマルチキャスト ルーティング テーブル内に (S,G) エントリがある場合(送信元ツリー ステートである場合)、マルチキャスト パケットの送信元の IP アドレスに対して RPF チェックが実行されます。
  • PIM ルータに明示的な送信元ツリー ステートがない場合、共有ツリー ステートと見なされます。ルータは、メンバがグループに加入したときにわかる RP のアドレスに対して RPF チェックを実行します。

空間モード PIM では、RPF ルックアップ機能を使用して、join および prune の送信先を決定します。(S,G)Join メッセージ(送信元ツリー ステート)は送信元に向け送信されます。(*,G)Join メッセージ(共有ツリー ステート)は RP に向け送信されます。

リバース パス フォワーディングを静的に設定する

設定例

次に、IP アドレス 10.0.0.1 のスタティック RPF ルールを設定する例を示します。

Router#configure
Router(config)#multicast-routing
Router(config-if)#static-rpf 10.0.0.1 32 TenGigE 0/0/0/1 192.168.0.2 
Router(config-ipv4-acl)#commit

実行コンフィギュレーション

multicast-routing
   address-family ipv4
      static-rpf 10.10.10.2 32 TenGigE0/0/0/1 192.168.0.2

確認

10.10.10.2 のスタティック RPF 設定に従って RPF が選択されていることを確認します。

Router#show pim rpf
Table: IPv4-Unicast-default
* 10.10.10.2/32 [0/0]
    via GigabitEthernet0/0/0/1 with rpf neighbor 192.168.0.2

PIM-Source Specific Multicast (PIM-SSM)

SSM モードで PIM を使用すると、マルチキャスト ルーティングの管理が簡単になります。これは、RP(ランデブー ポイント)が不要なため、共有ツリー (*,G) が構築されないためです。

PIM-SSM を定義する特定の IETF ドキュメントはありません。ただし、RFC4607 では、SSM の全体的な動作が定義されています。

このドキュメントでは、SSM を使用する場合の PIM の動作と設定について PIM-SSM という用語を使用して説明します。

Source-Specific Multicast 動作の PIM は、受信側から提供されたマルチキャスト グループの送信元アドレスから得た情報を使用して、トラフィックの送信元フィルタリングを実行します。

  • デフォルトでは、PIM-SSM は、IPv4 の場合は 232.0.0.0/8 のマルチキャスト グループ範囲で動作し、IPv6 の場合は FF3x::/32 で動作します。これらの値を設定するには、ssm range コマンドを使用します。

  • PIM-SM 用に設定されているネットワークに SSM を配置する場合、ラストホップ ルータのみを SSM 機能をサポートする Cisco IOS XR ソフトウェアでアップグレードする必要があります。

  • SSM 範囲内の MSDP SA メッセージは、受け入れ、生成、転送のいずれも実行されません。

  • SSM は ssm disable コマンドを使用して無効にできます。

  • ssm allow-override コマンドを使用すると、SSM 範囲をより特定の範囲で上書きすることができます。

送信元がわかっている多くのマルチキャスト構成では、プロトコル独立型マルチキャスト送信元特定マルチキャスト(PIM-SSM)マッピングは、その単純さから、使用すべき明白なマルチキャスト ルーティング プロトコルの選択です。PIM-SSM のメリットを享受できる一般的なマルチキャスト構成としては、ETTH スペースなどのエンターテインメント型のソリューションや、静的な転送に完全に依存する金融機関での展開が挙げられます。

SSM では、データ グラムは (S,G) チャネルに基づいて配信されます。1 つの (S,G) チャネルのトラフィックは、IP 宛先アドレスとして IP ユニキャスト送信元アドレス S とマルチキャスト グループ アドレス G を持つデータグラムで構成されています。システムは、(S,G) チャネルのメンバになることによって、トラフィックを受信します。シグナリングは不要ですが、受信先は特定の送信元からのトラフィックを受信する場合は (S,G) チャネルに加入し、トラフィックを受信しない場合はチャネルから脱退する必要があります。チャネル加入シグナリングでは、IGMP を使用してモード メンバーシップ レポートを含めます。これは、IGMP バージョン 3(IGMPv3)でのみサポートされています。

IGMPv3 で SSM を使用するには、マルチキャスト ルータ、アプリケーションが稼働しているホスト、そしてアプリケーション自体が SSM をサポートしている必要があります。Cisco IOS XR ソフトウェアでは、224.0.0.0 ~ 239.255.255.255 の IP マルチキャスト アドレス範囲の任意のサブセットの SSM 設定を許可します。

SSM 範囲が定義されると、(アプリケーションが明示的な (S,G) チャネル加入を使用するように変更されていない限り)SSM 範囲内でアドレスを使用しようとする場合に既存の IP マルチキャスト レシーバ アプリケーションはトラフィックを受信しません。

PIM-SM 経由の PIM-SSM の利点

PIM-SSM は PIM-SM から派生したものです。ただし、PIM-SM では、PIM join メッセージに応じて特定のグループに送信するすべての送信元のデータ伝送が可能なのに対し、SSM 機能は、受信先が明示的に加入した送信元からのトラフィックのみをレシーバへ転送します。PIM join および prune はトラフィックの送信元に直接送信されるため、RP と共有ツリーは不要で拒否されます。SSM が、帯域利用率を最適化し、不要なインターネット ブロードキャスト トラフィックを拒否するために使用されます。送信元は、IGMPv3 メンバーシップレポートを使用して対象の受信先により提供されます。

IGMPv2

IGMPv2 をサポートするには、特定の送信元をグループの範囲に一致させるように IGMP を設定するときに、SSM マッピング設定を追加する必要があります。

設定例

アクセスリスト(mc1)を設定します。

Router#configure
Router(config)#ipv4 access-list mc1
Router(config-ipv4-acl)#permit ipv4 any 232.1.1.0 0.0.0.255
Router(config-ipv4-acl)#commit

指定したアクセスリスト(mc1)によって記述された SSM グループをマッピングする複数の送信元の一部としてマルチキャスト送信元(1.1.1.1)を設定します。

Router#configure
Router(config)#router igmp 
Rrouter(config-igmp)#ssm map static 1.1.1.1 mc1
Router(config-igmp)#commit

実行コンフィギュレーション

Router#show run router igmp
router igmp
ssm map static 100.100.100.1 mc1

確認

マルチパス オプション

マルチパス オプションは、router pim コンフィギュレーション モードで使用できます。マルチパス オプションを有効にすると、SSM は共通パスを選択するのではなく、同じ宛先に到達する異なるパスを選択します。マルチパス オプションは、SSM トラフィックのロード バランスに役立ちます。

マルチパス オプションの設定

Router#configure
Router(config)#router pim address-family ipv4
Router(config-pim-default-ipv4)#multipath hash source
Router(config-pim-default-ipv4)#commit

実行コンフィギュレーション

Router#show running router pim
router pim
 address-family ipv4
  dr-priority 100
  multipath hash source    /*SSM traffic takes different path to reach same destination based on source hash value.*/

確認

Bundle-Ether132 と TenGigE0/4/0/18/0.132 は、宛先ルータ Turnin-56 に到達するための 2 つのパスです。マルチパス オプションを有効にしたので、送信元には 50.11.30.12 と 50.11.30.11 の 2 つの IP アドレスがあります。2 つの送信元からのマルチキャスト トラフィックは、同じ宛先に到達するための 2 つの異なるパス Bundle-Ether132 および TenGigE0/4/0/18/0.132 を取ります。

次の show run 出力は、Bundle-Ether132 と TenGigE0/4/0/18/0.132 が同じ宛先ルータ Turnin-56 に接続されていることを示しています。
Router#show run int TenGigE0/1/0/6/3.132
interface TenGigE0/1/0/6/3.132
 description Connected to Turin-56 ten0/0/0/19.132
 ipv4 address 13.0.2.1 255.255.255.240
 ipv6 address 2606::13:0:2:1/120
 encapsulation dot1q 132
!
Router#show run int be132               
interface Bundle-Ether132
 description Bundle between Fretta-56 and Turin-56
 ipv4 address 28.0.0.1 255.255.255.240
 ipv6 address 2606::28:0:0:1/120
 load-interval 30
Router#show mrib route 50.11.30.11 detail        

IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
    C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
    IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
    MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
    CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
    MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
    MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
    NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
    II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
    LD - Local Disinterest, DI - Decapsulation Interface
    EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
    EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
    MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
    IRMI - IR MDT Interface

(50.11.30.11,225.255.11.1) Ver: 0x523cc294 RPF nbr: 50.11.30.11 Flags: L RPF, FGID: 11453, -1, -1
  Up: 4d15h
  Incoming Interface List
    HundredGigE0/4/0/10.1130 Flags: A, Up: 4d15h
  Outgoing Interface List
    FortyGigE0/1/0/5 Flags: F NS, Up: 4d15h
    TenGigE0/4/0/6/0 Flags: F NS, Up: 4d15h
    TenGigE0/1/0/6/3.132 Flags: F NS, Up: 4d15h
    TenGigE0/4/0/18/0.122 Flags: F NS, Up: 4d15h
Router#show mrib route 50.11.30.12 detail 

IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
    C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
    IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
    MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
    CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
    MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
    MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
    NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
    II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
    LD - Local Disinterest, DI - Decapsulation Interface
    EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
    EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
    MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
    IRMI - IR MDT Interface

(50.11.30.12,226.255.12.1) Ver: 0x5fe02e5b RPF nbr: 50.11.30.12 Flags: L RPF, FGID: 12686, -1, -1
  Up: 4d15h
  Incoming Interface List
    HundredGigE0/4/0/10.1130 Flags: A, Up: 4d15h
  Outgoing Interface List
    Bundle-Ether121 Flags: F NS, Up: 4d15h
    Bundle-Ether132 Flags: F NS, Up: 4d15h
    FortyGigE0/1/0/5 Flags: F NS, Up: 4d15h
    TenGigE0/4/0/6/0.117 Flags: F NS, Up: 4d15h

PIM-SSM の設定

設定例

アクセス リスト 4 で定義されている IPv4 アドレス範囲に SSM サービスを設定します。

Router#config
Router(config)#ipv4 access-list 4
Router(config-ipv4-acl)#permit ipv4 any 224.2.151.0 0.0.0.255
Router(config-ipv4-acl)#exit
Router(config)#multicast-routing
Router(config-mcast)#address-family ipv4 
Router(config-mcast-default-ipv4)#ssm range 4
Router(config-mcast-default-ipv4)#commit
Router(config-mcast-default-ipv4)#end

実行コンフィギュレーション

Router#show running multicast-routing
multicast-routing
 address-family ipv4
  ssm range 4
  interface all enable
 !
Router#show running multicast-routing
multicast-routing
 address-family ipv6
  ssm range 6
  interface all enable
 !

確認

設定されたパラメータに従って SSM 範囲が設定されているかどうかを確認します。

Router#show access-lists 4
ipv4 access-list 4
 10 permit ipv4 any 224.2.151.0 0.0.0.255

*/Verify if the SSM is configured for 224.2.151.0/24/*:

Router#show pim group-map
IP PIM Group Mapping Table
(* indicates group mappings being used)
Group Range         Proto Client   Groups RP address      Info
224.0.1.39/32*      DM    perm     1      0.0.0.0
224.0.1.40/32*      DM    perm     1      0.0.0.0
224.0.0.0/24*       NO    perm     0      0.0.0.0
224.2.151.0/24*     SSM   config   0      0.0.0.0

PIM パラメータの設定

PIM 固有のパラメータを設定するには、router pim コンフィギュレーション モードが使用されます。デフォルト設定プロンプトは IPv4 用で、config-pim-default-ipv4 と表示されます。LAN セグメント上でルータを PIM DR として確実に選択するには、dr-priority コマンドを使用します。DR 優先度が最も高いルータが選択されます。デフォルトでは、事前設定されたしきい値で、ラスト ホップ ルータは最短パス ツリーに参加してマルチキャスト トラフィックを受信できます。この動作を変更するには、router pim コンフィギュレーション モードで spt-threshold infinity コマンドを使用します。これにより、ラスト ホップ ルータが共有ツリーに永続的に参加することになります。ルータが PIM hello メッセージをネイバーに送信する頻度は、hello-interval コマンドで設定できます。デフォルトでは、30 秒ごとに PIM hello メッセージが送信されます。hello-interval が router pim コンフィギュレーション モードで設定されている場合、PIM が有効になっているすべてのインターフェイスがこの値を継承します。インターフェイスの hello 間隔を変更するには、次のように、インターフェイス コンフィギュレーション モードで hello-interval コマンドを使用します。

設定例

Router#configure
Router(config)#router pim
Router(config-pim-default-ipv4)#dr-priority 2 
Router(config-pim-default-ipv4)#spt-threshold infinity 
Router(config-pim-default-ipv4)#interface TenGigE 0/0/0/1 
Router(config-pim-ipv4-if)#dr-priority 4 
Router(config-pim-ipv4-if)#hello-interval 45 
Router(config-pim-ipv4-if)#commit

実行コンフィギュレーション

Router#show run router pim
router pim
 address-family ipv4
  dr-priority 2
  spt-threshold infinity
  interface TenGigE0/0/0/1
   dr-priority 4
   hello-interval 45

確認

設定された値に従ってパラメータが設定されているかどうかを確認します。

Router#show pim interface te0/0/0/1
PIM interfaces in VRF default
Address               Interface                     PIM  Nbr   Hello  DR    DR Count Intvl  Prior
100.1.1.1             TenGigE0/0/0/1                on   1     45     4     this system

PIM スパース モード

通常、スパース モードの PIM(PIM-SM)動作は、マルチキャスト ネットワークで比較的少数のルータがマルチキャストに関連する場合に使用されます。ルータは、トラフィックの明示的な要求がない場合、グループのマルチキャスト パケットを転送しません。要求は、ツリーのルート ノードに向けてホップバイホップで送信される PIM join メッセージを使用して行われます。PIM-SM のツリーのルート ノードは、共有ツリーの場合はランデブー ポイント(RP)、最短パス ツリー(SPT)の場合はマルチキャスト送信元に直接接続されているファーストホップ ルータになります。RP はマルチキャスト グループを追跡し、マルチキャスト パケットを送信する送信元は送信元のファーストホップ ルータによって RP に登録されます。

PIM join がツリーの上位方向に送信されると、要求されたマルチキャスト トラフィックがツリーの下位方向に転送されるように、パス上のルータがマルチキャスト転送ステートを設定します。マルチキャスト トラフィックが不要になったら、ルータはルート ノードに向けてツリーの上位方向に PIM prune メッセージを送信し、不必要なトラフィックをプルーニング(削除)送信します。この PIM prune がホップごとにツリーを上位方向に移動する際、各ルータはその転送状態を適切に更新します。最終的に、マルチキャスト グループまたは送信元に関連付けられている転送ステートは削除されます。また、prune が明示的に送信されない場合、以降の join メッセージがないと、PIM ステートがタイムアウトし削除されます。

この図は、マルチキャスト環境で動作している IGMP と PIM-SM を示しています。

図 1. 共有ツリーおよびソース ツリー(最短パス ツリー)


PIM-SM では、特定のグループにデータを送信する送信元と、そのグループに join を送信する受信先をブリッジングするために、ランデブー ポイント(RP)が使用されます。状態の初期設定では、対象の受信先は、RP をルートとする単一のデータ配布ツリーを通じて、送信側からグループへのデータを受信します。上の図 4:共有ツリーおよびソース ツリー(最短パス ツリー)に示すように、このタイプの配布ツリーは共有ツリーまたはランデブー ポイント ツリー(RPT)と呼ばれます。送信側からのデータは、RP に配信され、その共有ツリーに加入しているグループ メンバに配布されます。

コマンドが設定されていない場合、この初期状態は、トラフィックがリーフ ルータ(受信先ホストに最も近い指定ルータ)で受信されるとすぐに別の状態になります。リーフ ルータが RPT 上の RP からトラフィックを受信すると、ルータはトラフィックを送信する送信元で開始されるデータ配信ツリーに切り替えを開始します。このタイプの配布ツリーは、最短パス ツリーまたはソース ツリーと呼ばれます。デフォルトでは、Cisco IOS XR ソフトウェアが送信元から最初のデータ パケットを受信すると、送信元ツリーに切り替わります。

次に、共有ツリーから送信元ツリーに切り替わるプロセスの詳細を示します。
  1. 受信先がグループに加入します。リーフ ルータ C が RP に join メッセージを送信します。

  2. RP がルータ C へのリンクを発信インターフェイス リストに登録します。

  3. 送信元がデータを送信します。ルータ A が Register にデータをカプセル化し、それを RP に送信します。

  4. RP が共有ツリーの下位方向のルータ C にデータを転送し、送信元に join メッセージを送信します。この時点で、データは RP に 2 回(カプセル化された状態で 1 回、ネイティブの状態で 1 回)着信する可能性があります。

  5. データがネイティブ状態(カプセル化されていない状態)で RP に着信すると、RP は register-stop メッセージをルータ A に送信します。

  6. デフォルトでは、ルータ C は、最初のデータ パケットを受信した時点で、送信元に join メッセージを送信します。

  7. ルータ C が (S,G) でデータを受信すると、ルータ C は共有ツリーの上位方向にある送信元に prune メッセージを送信します。

  8. RP が (S,G) の発信インターフェイスからルータ C へのリンクを削除します。RP が送信元への prune メッセージをトリガーします。

  9. 送信元および RP に join および prune メッセージが送信されます。これらのメッセージはホップバイホップで送信され、送信元または RP に向かうパス上の各 PIM ルータによって処理されます。register および register-stop メッセージは、ホップバイホップで送信されません。これらのメッセージは、送信元に直接接続されている指定ルータと、そのグループの RP の間で、直接ユニキャスト通信を使用して交換されます。


    (注)  

    spt-threshold infinity コマンドを使用すると、最短パス ツリー(SPT)に切り替わらないようにルータを設定できます。


PIM ブートストラップ ルータ

PIM ブートストラップ ルータ(BSR)は、Auto-RP プロセスを簡素化する、フォールト トレラントで自動的な RP 検出と配信メカニズムを提供します。この機能はデフォルトでイネーブルになり、ルータはグループから RP へのマッピングを動的に学習できます。

PIM は BSR を使用して各グループ プレフィックスの RP 設定情報を検出し、PIM ドメイン内のすべてのルータにアナウンスします。これは、Auto-RP によって行われるのと同じ機能ですが、BSR は PIM 仕様の一部です。BSR メカニズムは、Cisco ルータ上の Auto-RP と相互運用します。

シングル ポイント障害を回避するために、1 つの PIM ドメインに複数の候補 BSR を設定できます。BSR は候補 BSR の中から自動的に選択されます。

候補はブートストラップ メッセージを使用して最もプライオリティの高い BSR を検出します。プライオリティの高い候補は、PIM ドメイン内のすべての PIM ルータに、BSR であると通知を送信します。

候補 RP として設定されたルータは、BSR に、各自が担当するグループ範囲をユニキャストします。BSR はブートストラップ メッセージにこの情報を含め、ドメイン内のすべての PIM ルータに広めます。この情報に基づいて、すべてのルータが特定の RP にマルチキャスト グループをマッピングできます。ルータがブートストラップ メッセージを受信する限り、RP マップは最新になります。

PIM ブートストラップ ルータの設定

設定例

ハッシュ マスク長が 30 の候補 BSR としてルータを設定します。

Router#config
Router(config)#router pim
Router(config-pim-default-ipv4)#bsr candidate-bsr 1.1.1.1 hash-mask-len 30
Router(config-pim-default-ipv4-if)#commit

ルータが自身を候補ランデブー ポイントとして PIM ドメイン内の BSR にアドバタイズするようルータを設定します。アクセス リスト番号 4 は候補ランデブー ポイント アドレス 1.1.1.1 に関連付けられたプレフィックスを指定します。このランデブー ポイントは、プレフィックス 239 を持つグループに関連します。

Router#config
Router(config)#router pim
Router(config-pim-default-ipv4)#bsr candidate-rp 1.1.1.1 group-list 4
Router(config-pim-default-ipv4)#exit
Router(config)#ipv4 access-list 4
Router(config-ipv4-acl)#permit ipv4 any 239.0.0.0 0.255.255.255
Router(config-ipv4-acl)#commit

実行コンフィギュレーション

Router#show run router pim
router pim
 address-family ipv4
  bsr candidate-bsr 1.1.1.1 hash-mask-len 30 priority 1
  bsr candidate-rp 1.1.1.1 group-list 4 priority 192 interval 60

確認

Router#show pim rp mapping
PIM Group-to-RP Mappings
Group(s) 239.0.0.0/8
  RP 1.1.1.1 (?), v2
    Info source: 1.1.1.1 (?), elected via bsr, priority 192, holdtime 150
      Uptime: 00:02:50, expires: 00:01:54

Router#show pim bsr candidate-rp
PIM BSR Candidate RP Info
Cand-RP          mode  scope priority uptime    group-list
1.1.1.1         	 BD    16      192       00:04:06    4

Router#show pim bsr election
PIM BSR Election State
Cand/Elect-State           Uptime   BS-Timer     BSR                                   C-BSR
Elected/Accept-Pref     00:03:49 00:00:25 1.1.1.1 [1, 30]          1.1.1.1 [1, 30]

Multicast Source Discovery Protocol

Multicast Source Discovery Protocol(MSDP)は、複数の PIM スパース モード ドメインを接続するためのメカニズムです。MSDP を使用すると、さまざまなドメイン内のすべてのランデブー ポイント(RP)に、グループのマルチキャスト送信元を通知できます。各 PIM-SM ドメインは自身の RP を使用するため、他のドメインの RP に依存する必要はありません。

PIM-SM ドメインの RP は、他のドメインの MSDP 対応ルータとの MSDP ピアリング関係を持ちます。各ピアリング関係は、下位のルーティング システムによって維持される TCP 接続上で行われます。

MSDP スピーカーは、Source Active(SA)メッセージとも呼ばれるメッセージを交換します。RP は、一般に PIM register メッセージを通じてローカル アクティブ ソースについて学習するとき、MSDP プロセスが SA メッセージの register をカプセル化し、ピアに情報を転送します。メッセージには、マルチキャスト フローの送信元およびグループの情報と、カプセル化されたデータが格納されます。ネイバー RP にマルチキャスト グループのローカル加入者がある場合、RP は S,G ルートをインストールし、SA メッセージに含まれるカプセル化データを転送し、送信元に向けて PIM join を逆に送信します。このプロセスは、マルチキャスト パスをドメイン間で構築する方法について説明します。


(注)  

最適な MSDP ドメイン間動作のために BGP またはマルチプロトコル BGP を設定することをお勧めしますが、Cisco IOS XR ソフトウェア の実装では必須とは見なされません。BGP またはマルチプロトコル BGP を MSDP とともに使用する方法については、インターネット技術特別調査委員会(IETF)インターネット ドラフト『Multicast Source Discovery Protocol (MSDP)』に記載されている MSDP RPF ルールを参照してください。


PIM-SM ドメインと MSDP の相互接続

別のドメインの MSDP 対応ルータとの MSDP ピアリング関係を設定するには、ローカル ルータに、MSDP ピアを設定します。

ドメインに BGP ピアを設定しないか設定できない場合、すべての Source-Active(SA)メッセージを受け入れるデフォルト MSDP ピアを定義できます。

最後に、MSDP メッシュ グループ内の複数のルータで論理 RP を設定するときに、送信元 ID を変更できます。

始める前に

すべての MSDP ピアのアドレスが BGP またはマルチプロトコル BGP で認識されていない場合、MSDP のデフォルト ピアリングを設定する必要があります。

手順の概要

  1. configure
  2. interface type interface-path-id
  3. ipv4 address address mask
  4. exit
  5. router msdp
  6. default-peer ip-address [prefix-list list]
  7. originator-id type interface-path-id
  8. peer peer-address
  9. connect-source type interface-path-id
  10. mesh-group name
  11. remote-as as-number
  12. commit
  13. show msdp [ipv4 ] globals
  14. show msdp [ipv4 ] peer [peer-address]
  15. show msdp [ipv4 ] rpf rpf-address

手順の詳細

  コマンドまたはアクション 目的
ステップ 1

configure

ステップ 2

interface type interface-path-id

例:


RP/0/RP0/CPU0:router(config)# interface loopback 0

(任意)インターフェイス コンフィギュレーション モードを開始し、インターフェイスの IPv4 アドレスを定義します。

(注)   

この手順は、プライマリ アドレスが TCP 接続の送信元 IP アドレスとなるインターフェイスのタイプおよび番号を指定する場合に必要です。

ステップ 3

ipv4 address address mask

例:


RP/0/RP0/CPU0:router(config-if)# ipv4 address 10.0.1.3 255.255.255.0

(任意)インターフェイスの IPv4 アドレスを定義します。

(注)   

この手順は、プライマリ アドレスが TCP 接続の送信元 IP アドレスとなるインターフェイスのタイプおよび番号を指定する場合にのみ必要です。connect-source コマンドの設定については、オプションを参照してください。

ステップ 4

exit

例:


RP/0/RP0/CPU0:router(config-if)# end

インターフェイス コンフィギュレーション モードを終了します。

ステップ 5

router msdp

例:


RP/0/RP0/CPU0:router(config)# router msdp

MSDP プロトコル コンフィギュレーション モードを開始します。

ステップ 6

default-peer ip-address [prefix-list list]

例:


RP/0/RP0/CPU0:router(config-msdp)# default-peer 172.23.16.0

(任意)すべての MSDP SA メッセージの受信元となるデフォルト ピアを定義します。

ステップ 7

originator-id type interface-path-id

例:


RP/0/RP0/CPU0:router(config-msdp)# originator-id /1/1/0

(任意)Source-Active(SA)メッセージのソースの MSDP スピーカーがインターフェイスの IP アドレスを SA メッセージ内で RP アドレスとして使用できるようにします。

ステップ 8

peer peer-address

例:


RP/0/RP0/CPU0:router(config-msdp)# peer 172.31.1.2

MSDP ピア コンフィギュレーション モードを開始し、MSDP ピアを設定します。

  • BGP ネイバーとしてルータを設定します。

  • この MSDP ピアとともに BGP ピアも使用する場合は、MSDP と BGP で同一の IP アドレスを使用する必要があります。MSDP ピア間に BGP またはマルチプロトコル BGP パスがある場合は、MSDP ピアとともに BGP またはマルチプロトコル BGP を実行する必要はありません。

ステップ 9

connect-source type interface-path-id

例:


RP/0/RP0/CPU0:router(config-msdp-peer)# connect-source loopback 0

(任意)MSDP 接続に使用される送信元アドレスを設定します。

ステップ 10

mesh-group name

例:


RP/0/RP0/CPU0:router(config-msdp-peer)# mesh-group internal

(任意)MSDP ピアをメッシュ グループのメンバとして設定します。

ステップ 11

remote-as as-number

例:


RP/0/RP0/CPU0:router(config-msdp-peer)# remote-as 250

(任意)このピアのリモート自律システム番号を設定します。

ステップ 12

commit

ステップ 13

show msdp [ipv4 ] globals

例:


RP/0/RP0/CPU0:router# show msdp globals

MSDP のグローバル変数を表示します。

ステップ 14

show msdp [ipv4 ] peer [peer-address]

例:


RP/0/RP0/CPU0:router# show msdp peer 172.31.1.2

MSDP ピアに関する詳細情報を表示します。

ステップ 15

show msdp [ipv4 ] rpf rpf-address

例:


RP/0/RP0/CPU0:router# show msdp rpf 172.16.10.13

RPF ルックアップを表示します。

MSDP ピア ルータの送信元情報の制御

MSDP ピア ルータは、送信、転送、受信、キャッシュ、カプセル化される送信元情報を制御するようにカスタマイズできます。

Source-Active(SA)メッセージを送信する場合、送信元情報の送信先を、情報を要求している送信元に基づいて制御できます。

SA メッセージを転送する場合、次のことを行うことができます。

  • すべての送信元とグループのペアのフィルタリング

  • 特定の送信元とグループのペアだけが通過するように、拡張アクセス リストを指定

  • ルート マップの一致条件に基づくフィルタリング

SA メッセージを受信する場合、次のことを行うことができます。

  • MSDP ピアからのすべての着信 SA メッセージのフィルタリング

  • 特定の送信元とグループのペアが通過するように、拡張アクセス リストを指定

  • ルート マップの一致条件に基づくフィルタリング

また、Time To Live(TTL)を使用して、各送信元の最初の SA メッセージにカプセル化されるデータを制御できます。たとえば、内部トラフィックの TTL を 8 ホップに制限したとします。他のグループを外部に送信する場合は、これらのパケットの TTL を 8 ホップより大きく設定して送信します。

デフォルトでは、新しいメンバがグループに加入してマルチキャスト トラフィックを受信する必要が生じた場合、MSDP はピアに SA メッセージを自動的に送信します。指定された MSDP ピアへの SA 要求を設定する必要はなくなりました。

手順の概要

  1. configure
  2. router msdp
  3. sa-filter {in | out } {ip-address | peer-name} [list access-list-name] [rp-list access-list-name]
  4. cache-sa-state [list access-list-name] [rp-list access-list-name]
  5. ttl-threshold ttl-value
  6. exit
  7. ipv4 access-list name [sequence-number] permit source [source-wildcard]
  8. commit

手順の詳細

  コマンドまたはアクション 目的
ステップ 1

configure

ステップ 2

router msdp

例:


RP/0/RP0/CPU0:router(config)# router msdp


MSDP プロトコル コンフィギュレーション モードを開始します。

ステップ 3

sa-filter {in | out } {ip-address | peer-name} [list access-list-name] [rp-list access-list-name]

例:


RP/0/RP0/CPU0:router(config-msdp)# sa-filter out router.cisco.com list 100

指定の MSDP ピアから受信するメッセージの着信または発信フィルタ リストを設定します。

  • list キーワードと rp-list キーワードの両方を指定した場合、送信 Source-Active(SA)メッセージ内の任意の送信元とグループ (S,G) のペアが通過するためには、すべての条件に当てはまる必要があります。

  • ステップ 7ipv4 access-list コマンドを設定する必要があります。

  • すべての一致条件を満たす場合、ルート マップに permit が指定されていれば、ルートはフィルタを通過します。deny が指定されていれば、ルートはフィルタリングされます。

  • 次の例では、アクセス リスト 100 を通過する (S,G) ペアだけが SA メッセージに格納され、router.cisco.com という名前のピアに転送されるように設定します。

ステップ 4

cache-sa-state [list access-list-name] [rp-list access-list-name]

例:


RP/0/RP0/CPU0:router(config-msdp)# cache-sa-state 100

受信した Source-Active(SA)メッセージから送信元とグループのペアを作成し、アクセス リストを通じてペアを制御します。

ステップ 5

ttl-threshold ttl-value

例:


RP/0/RP0/CPU0:router(config-msdp)# ttl-threshold 8

(任意)SA メッセージで MSDP ピアに送信されるマルチキャスト データを制限します。

  • IP ヘッダーの TTL が ttl-value 引数以上であるマルチキャスト パケットだけが、IP アドレスまたは名前により指定された MSDP ピアに送信されます。

  • TTL によりマルチキャスト データ トラフィックを検査する場合、このコマンドを使用します。たとえば、内部トラフィックの TTL を 8 に制限したとします。その他のグループが外部の場所に移動できるようにするには、8 よりも大きい TTL を使用してパケットを送信します。

  • 次の例では、TTL しきい値を 8 ホップに設定します。

ステップ 6

exit

例:


RP/0/RP0/CPU0:router(config-msdp)# exit

現在のコンフィギュレーション モードを終了します。

ステップ 7

ipv4 access-list name [sequence-number] permit source [source-wildcard]

例:


RP/0/RP0/CPU0:router(config)# ipv4 access-list 100 20 permit 239.1.1.1 0.0.0.0

SA フィルタリングによって使用される IPv4 アクセス リストを定義します。

  • この例では、アクセス リスト 100 がマルチキャスト グループ 239.1.1.1 を許可します。

  • SA フィルタリングのために ステップ 3 でキーワード list が設定されている場合は、ipv4 access-list コマンドが必要です。

ステップ 8

commit

指定ルータ

Cisco ルータは、LAN セグメント上に複数のルータが存在する場合、PIM を使用してマルチキャスト トラフィックを転送し、選択プロセスに従って指定ルータ(DR)を選択します。

指定ルータは、PIM register メッセージ、PIM join メッセージ、および PIM prune メッセージを RP に送信し、ホスト グループ メンバーシップに関する情報を通知します。

LAN 上に複数の PIM ルータが存在する場合は、指定ルータを選択して、接続されているホストに対するマルチキャスト トラフィックの重複を回避する必要があります。dr-priority コマンドを使用して DR の選択を強制することを選択しない限り、最も大きい IP アドレスの PIM ルータが LAN の DR になります。DR プライオリティ オプションを使用すると、LAN セグメント上の各ルータの DR プライオリティ(デフォルトのプライオリティ = 1)を指定して、最もプライオリティの高いルータが DR として選択されるようにすることができます。LAN セグメント上のすべてのルータのプライオリティが同じ場合にも、最上位 IP アドレスを持つルータが選択されます。


(注)  

DR 選択プロセスは、マルチアクセス LAN のみで必要です。ホストに直接接続されているラストホップ ルータが DR です。

下の図「マルチアクセス セグメントでの指定ルータの選択」では、マルチアクセス セグメントでどのようなことが行われるかを示します。ルータ A(10.0.0.253)とルータ B(10.0.0.251)は、グループ A のアクティブな受信先としてホスト A(10.0.0.1)を持つ共通のマルチアクセス イーサネット セグメントに接続されています。明示的な Join モデルが使用されているので、DR として動作しているルータ A のみが RP に結合し、グループ A の共有ツリーを構築します。ルータ B も (*,G) Join を RP に送信することが許可されていた場合は、パラレル パスが作成され、ホスト A が重複マルチキャスト トラフィックを受信します。ホスト A がグループにマルチキャスト トラフィックを送信し始めたら、DR は register メッセージを RP に送信する役割を担います。両方のルータに役割が割り当てられている場合は、RP が重複マルチキャスト パケットを受信します。

図 2. マルチアクセス セグメントでの指定ルータの選択


DR で障害が発生した場合、PIM はルータ A の障害を検出し、フェールオーバー DR を選択する手段を提供します。DR(ルータ A)が動作不能になると、ルータ A との隣接ルータとの隣接関係がタイムアウトしたときに、ルータ B はその状況を検出します。ルータ B はホスト A から IGMP メンバーシップ レポートを受けているため、このインターフェイスでグループ A の IGMP ステートをすでに持ち、新しい DR になると即座に RP に join を送信します。この段階で、ルータ B を使用する共有ツリーの新しいブランチの下位方向へのトラフィック フローが再び確立されます。また、ホスト A がトラフィックをソーシングしていた場合、ルータ B は、ホスト A から次のマルチキャスト パケットを受信した直後に、新しい登録プロセスを開始します。このアクションで、RP による、ルータ B を経由する新しいブランチを使用したホスト A への SPT 加入がトリガーされます。


(注)  

2 つの PIM ルータが直接接続されている場合、これらのルータはネイバーになります。PIM ネイバーを表示するには、EXEC モードで show pim neighbor コマンドを使用します。
  • ユニキャスト ルーティングに使用されませんが、PIM によってのみ PIM 送信元への IPv4 ネクスト ホップの検索に使用されます。

  • 転送情報ベース(FIB)にパブリッシュされません。

  • IGP で multicast-intact がイネーブルのときには、リンクステート アドバタイズメントを通して学んだすべての IPv4 の宛先が、等コストの mcast-intact ネクスト ホップのセットと共に RIB に発行されます。この属性はネイティブのネクスト ホップに IGP ショートカットがない場合にも適用されます。

  • IS-IS では、ネイティブと mcast-intact の両方のネクスト ホップ数を合計して、最大パス制限が適用されます(OSPFv2 ではこの動作は多少異なります)。

設定例

TenGigE インターフェイス 0/0/0/1 では DR 優先度 4 を使用し、他のインターフェイスでは DR 優先度 2 を継承するようにルータを設定します。

Router#configure
Router(config)#router pim
Router(config-pim-default-ipv4)#dr-priority 2 
Router(config-pim-default-ipv4)#interface TenGigE 0/0/0/1 
Router(config-pim-ipv4-if)#dr-priority 4
Router(config-ipv4-acl)#commit

実行コンフィギュレーション

Router#show run router pim
router pim
 address-family ipv4
  dr-priority 2
  spt-threshold infinity
  interface TenGigE0/0/0/1
   dr-priority 4
   hello-interval 45

確認

設定された値に従ってパラメータが設定されているかどうかを確認します。

Router#show pim interface
PIM interfaces in VRF default
Address           Interface           PIM  Nbr   Hello  DR    DR Count Intvl  Prior
100.1.1.1        TenGigE0/0/0/1        on   1     45     4     this system
26.1.1.1         TenGigE0/0/0/26       on   1     30     2     this system

Internet Group Management Protocol(インターネット グループ管理プロトコル)

Cisco IOS XR ソフトウェアは、IPv4 上のインターネット グループ管理プロトコル(IGMP)をサポートします。

IGMP は、ホストが関心を持っているマルチキャスト トラフィックを示し、ルータがネットワーク全体でマルチキャスト トラフィックのフローを制御および制限するための方法を提供します。ルータは、IGMP メッセージ(つまり、ルータのクエリーおよびホスト レポート)を使用して状態を構築します。

同じ送信元からのマルチキャスト データ ストリームを受信する一連のルータおよびホストは、マルチキャスト グループと呼ばれます。ホストでは、IGMP メッセージを使用して、マルチキャスト グループに加入し、マルチキャスト グループを脱退します。


(注)  

IGMP メッセージはクラス D の IP アドレスであるグループ アドレスを使用します。クラス D アドレスの上位 4 ビットは 1110 です。ホスト グループ アドレスの範囲は、224.0.0.0 ~ 239.255.255.255 です。アドレスは、どのグループにも割り当てられません。アドレス 224.0.0.1 は、サブネットのシステムすべてに割り当てられます。アドレス 224.0.0.2 は、サブネットのルータすべてに割り当てられます。


IGMP ルーティングの機能

次のイメージ「IGMP シグナリング」は、グループ 239.1.1.1 にマルチキャストする 2 つの送信元、10.0.0.1 および 10.0.1.1 を示しています。

レシーバは、グループ 239.1.1.1 宛のトラフィックのうち、送信元 10.0.0.1 からのトラフィックを受信し、送信元 10.0.1.1 からのトラフィックを受信しません。

ホストは、参加する送信元とグループ (S,G) のリストと、参加しない送信元とグループ (S,G) のリストを含む IGMPv3 メッセージを送信する必要があります。ルータ C は、この情報を使用して、送信元 10.0.1.1 からのトラフィックをプルーニングし、送信元 10.0.0.1 のトラフィックのみがルータ C に配信されるようにすることができます。

図 3. IGMP シグナリング


IGMP Per Interface States Limit の設定

IGMP Per Interface States Limit は、IGMP インターフェイスの OIF を作成する際の制限を設定するものです。設定された制限に達すると、グループはこのインターフェイスに対しては考慮されませんが、グループは他のインターフェイス用に IGMP コンテキスト内に存在することができます。

  • ユーザが最大 20 のグループを設定していて、グループの最大数に達した場合、それ以上グループを作成することはできません。ユーザがグループの最大数を 10 に減らすと、20 の Join が残り、最大数に到達するというメッセージが表示されます。グループ数が 10 未満になるまで、Join を追加することはできません。

  • ユーザがすでに最大 30 の Join を設定していて、最大 20 を追加した場合、最大数に達したことを示すメッセージが表示されます。状態の変更は行われません。また、グループのしきい値数がグループの最大数を下回るまで、Join は発生しなくなります。

設定例

すべてのインターフェイスに対し、グループの最大数を 4000 に設定します。ただし、TenGigE インターフェイス 0/0/0/6 は例外で、このインターフェイスでは 3000 に設定します。

Router#config
Router(config)#router igmp
Router(config-igmp)#maximum groups-per-interface 4000
Router(config-igmp)#interface TenGigE 0/0/0/6
Router(config-igmp-default-if)#maximum groups-per-interface 3000
Router(config-igmp-default-if)#commit

実行コンフィギュレーション

router igmp
 interface TenGigE0/0/0/6
  maximum groups-per-interface 3000
 !
 maximum groups-per-interface 4000
!

確認

Router#show igmp summary  
Robustness Value 2
No. of Group x Interfaces 37
Maximum number of Group x Interfaces 50000
Supported Interfaces   : 9
Unsupported Interfaces: 0
Enabled Interfaces     : 8
Disabled Interfaces    : 1
MTE tuple count        : 0
Interface                      Number  Max #
                               Groups  Groups
Loopback0                       4       4000
TenGigE0/0/0/0                  5       4000
TenGigE0/0/0/1                  5       4000
TenGigE0/0/0/2                  0       4000
TenGigE0/0/0/3                  5       4000
TenGigE0/0/0/6                  5       3000
TenGigE0/0/0/18                 5       4000
TenGigE0/0/0/19                 5       4000
TenGigE0/0/0/6.1                3       4000

SSM 静的送信元マッピング

指定したアクセスリスト(4)によって記述された SSM グループをマッピングする複数の送信元の一部として送信元(1.1.1.1)を設定します。

設定例

Router#configure
Router(config)#ipv4 access-list 4
Router(config-ipv4-acl)#permit ipv4 any 229.1.1.0 0.0.0.255
Router(config-ipv4-acl)#exit
Router(config)# multicast-routing
Router(config-mcast)#address-family ipv4
Router(config-mcast-default-ipv4)#ssm range 4
Router(config-mcast-default-ipv4)#exit
Router(config-mcast)#exit
Router(config)#router igmp
Router(config-igmp)#ssm map static 1.1.1.1 4
*/Repeat the above step as many times as you have source addresses to include in the set for SSM mapping/*
Router(config-igmp)#int te0/0/0/3
Router(config-igmp-default-if)#static-group 229.1.1.1
Router(config-igmp-default-if)#commit

実行コンフィギュレーション

Router#show run multicast-routing
multicast-routing
 address-family ipv4
  ssm range 4
  interface all enable
 !
!
Router#show access-lists 4
ipv4 access-list 4
 10 permit ipv4 any 229.1.1.0 0.0.0.255

Router#show run router igmp
router igmp
 interface TenGigE0/0/0/3
 static-group 229.1.1.1
 !
 ssm map static 1.1.1.1 4

確認

設定された値に従ってパラメータが設定されているかどうかを確認します。

Router#show mrib route 229.1.1.1 detail
IP Multicast Routing Information Base
Entry flags: L - Domain-Local Source, E - External Source to the Domain,
    C - Directly-Connected Check, S - Signal, IA - Inherit Accept,
    IF - Inherit From, D - Drop, ME - MDT Encap, EID - Encap ID,
    MD - MDT Decap, MT - MDT Threshold Crossed, MH - MDT interface handle
    CD - Conditional Decap, MPLS - MPLS Decap, EX - Extranet
    MoFE - MoFRR Enabled, MoFS - MoFRR State, MoFP - MoFRR Primary
    MoFB - MoFRR Backup, RPFID - RPF ID Set, X - VXLAN
Interface flags: F - Forward, A - Accept, IC - Internal Copy,
    NS - Negate Signal, DP - Don't Preserve, SP - Signal Present,
    II - Internal Interest, ID - Internal Disinterest, LI - Local Interest,
    LD - Local Disinterest, DI - Decapsulation Interface
    EI - Encapsulation Interface, MI - MDT Interface, LVIF - MPLS Encap,
    EX - Extranet, A2 - Secondary Accept, MT - MDT Threshold Crossed,
    MA - Data MDT Assigned, LMI - mLDP MDT Interface, TMI - P2MP-TE MDT Interface
    IRMI - IR MDT Interface
(1.1.1.1,229.1.1.1) RPF nbr: 1.1.1.1 Flags: RPF
  Up: 00:01:11
  Incoming Interface List
    Loopback0 Flags: A, Up: 00:01:11
  Outgoing Interface List
    TenGigE0/0/0/3 Flags: F NS LI, Up: 00:01:11

使用例:ビデオ ストリーミング

今日のブロードキャスト ビデオ ネットワークでは、独自のトランスポート システムを使用して、各ビデオ ブランチ オフィスにすべてのチャネル ラインナップを配信しています。IP ベースのトランスポート ネットワークは、他の IP ベースのサービスの配信と組み合わせたビデオ サービスを提供するためのコスト効率のよい/便利な代替手段となります。(インターネット配信またはビジネス サービス)

ブロードキャスト ビデオは、その性質上、エンド カスタマーに到達するためのより効率的な配信メカニズムとして IP マルチキャストを使用するのに適したサービスです。

ブロードキャスト ビデオの IP マルチキャスト配信の説明は次のとおりです。

  1. デジタル マスター ヘッドエンドでデバイスをエンコーディングし、1 つまたは複数のビデオ チャネルを、IP マルチキャストを介してネットワークで伝送される Moving Pictures Expert Group(MPEG)ストリームにエンコードします。

  2. ビデオ ブランチ オフィスのデバイスは、オペレータによって、IGMP Join を介して目的のマルチキャスト コンテンツを要求するように構成されます。

  3. マルチキャスト ルーティング プロトコルとして PIM-SSM を使用するネットワークは、マルチキャスト ストリームをデジタル マスター ヘッドエンドからビデオ ブランチ オフィスにあるエッジ デバイス レシーバにルーティングします。これらのエッジ デバイスは、RF 周波数の場合は MPEG ストリームを、または DOCSIS の場合は CMTS を調整するエッジ QAM デバイスが考えられます。

図 4. ビデオ ストリーミング