マルチキャストルーティングの設定 - Catalyst

Catalystでマルチキャスト通信を設定するコマンドの使い方について説明したページです。ip multicast-routing、ip pimコマンドについて説明しています。マルチキャスト通信の動作や意味については「マルチキャスト通信」をご参照下さい。

PIM-SMモードの設定

 以下のように赤線の矢印方向にマルチキャストで動画を配信する時を例に説明します。

マルチキャスト通信の設定1

 PIM-SMモードではRPを決める必要があり、サーバーに最も近いスイッチAが好ましいと言えます。このため、既にユニキャストルーティングの設定が行われている前提とすると、スイッチAで以下の設定を追加します。

【PIM-SMの設定】
Switch# configure terminal
Switch(config)# ip multicast-routing distributed
Switch(config)# interface range vlan 11 - 13
Switch(config-if-range)# ip pim sparse-dense-mode
Switch(config-if-range)# exit
Switch(config)# ip pim rp-address 172.16.2.1
・ip pim sparse-dense-mode
 指定したインターフェースでPIMが動作するようにします。sparse-dense-modeと設定するとSMモードとDMモードを自動判別します。sparse-modeと設定して固定させる事も可能です。
・ip pim rp-address 172.16.1.1
 RPのIPアドレスを設定します。

 緑の文字のキーワードは必要な機種と不要な機種があります。最近のボックス型は必要、かなり以前のボックス型やシャーシ型ではキーワードの指定は不要です。

 スイッチBとCについてもinterface range vlan 11 - 13部分が自身が接続するVLANの番号になるだけで同じです。

 本設定によりスイッチBやスイッチCに接続されたパソコンが動画配信を要求した時、RPであるスイッチAに配信を要求するようになります。

 スイッチAをBSRに設定し、RPのIPアドレスを配信するように設定する場合は先ほどの設定の代わりにスイッチAに以下の設定を追加します。

【RPの自動設定】
Switch# configure terminal
Switch(config)# ip multicast-routing distributed
Switch(config)# interface range vlan 11 - 13
Switch(config-if-range)# ip pim sparse-dense-mode
Switch(config-if-range)# exit
Switch(config)# ip pim bsr-candidate vlan 12 32
Switch(config)# ip pim rp-candidate vlan 12
・ip pim bsr-candidate vlan 12 32
 BSRになるための候補を設定しています。1台のスイッチだけ設定すると必ずBSRになります。
・ip pim rp-candidate vlan 12
 RPの候補としての設定で、1台だけ設定すると必ずRPになります。

 この設定によりスイッチAからスイッチBとCにRPのIPアドレス情報等が配信されるため、スイッチBとCにはip pim rp-address 172.16.2.1の設定が不要です。

 又、BSR候補とRP候補の設定を別々のスイッチで設定する事も可能です。BSRとなったスイッチの情報は他のスイッチが自動で学習します。このため、RP候補として設定したスイッチはBSRに対してRP候補である事を伝え、BSRから各スイッチにRPの情報が送信されます。

マルチキャスト通信の設定2

 尚、候補としてVLAN12を指定していますが、gi1/0/2がダウンするとgi1/0/3がアップしていてもマルチキャスト通信が出来なくなってしまいます。この場合はスイッチの内部にIPアドレスを設定し、そのインターフェースを指定するようにします。

 内部にIPアドレスを設定するインターフェースをループバックインターフェースと言います。設定は以下になります。

【RPの自動設定(ループバック)】
Switch# configure terminal
Switch(config)# ip multicast-routing distributed
Switch(config)# interface range vlan 11 - 13
Switch(config-if-range)# ip pim sparse-dense-mode
Switch(config-if-range)# exit
Switch(config)# interface loopback0
Switch(config-if)# ip address 172.16.10.1 255.255.255.0
Switch(config-if)# ip pim sparse-dense-mode
Switch(config-if)# no shutdown
Switch(config-if)# exit
Switch(config)# ip pim bsr-candidate loopback0 32
Switch(config)# ip pim rp-candidate loopback0

 赤字の部分でループバックインターフェースを作成しています。

 上記の設定によりgi1/0/2と3のどちらがダウンしても動画の配信が可能です。

PIM-DMモードの設定

 RPを設定せずにマルチキャストを実現するPIM-DMモードの設定は、既にユニキャストルーティングの設定が行われている前提とすると、スイッチAで以下の設定を追加します。

【PIM-DMの設定】
Switch# configure terminal
Switch(config)# ip multicast-routing distributed
Switch(config)# interface range vlan 11 - 13
Switch(config-if-range)# ip pim sparse-dense-mode
Switch(config-if-range)# exit

 スイッチBとCについてもinterface range vlan 11 - 13部分が自身が接続するVLANの番号になるだけで同じです。

 ip pim sparse-dense-modeではSMモードとDMモードを自動判別します。dense-modeと設定して固定させる事も可能です。

 CatalystではIGMPスヌーピングはデフォルトで有効です。

 停止する場合は以下のコマンドを設定します。

【IGMPスヌーピングの停止】
Switch# configure terminal
Switch(config)# no ip igmp snooping

マルチキャストルーティングの確認

 マルチキャストルーティングの確認はshow ip mrouteコマンドで行えます。

【マルチキャストルーティングの確認】
Switch# 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, J - Join SPT 
       M - MSDP created entry, X - Proxy Join Timer Running 
       A - Advertised via MSDP 
Timers: Uptime/Expires 
Interface state: Interface, Next-Hop or VCD, State/Mode 

(*, 224.0.2.50), 01:12:20/00:00:00, RP 172.16.10.1, flags: SC
  Incoming interface: GigabitEthernet1/0/2, RPF nbr 172.16.2.1
  Outgoing interface list:
    GigabitEthernet1/0/1, Forward/Sparse-Dense, 01:12:20/00:00:00

(172.16.1.2/24, 224.0.2.50), 01:12:20/00:00:00, expires 0:01:22, flags: C
  Incoming interface: GigabitEthernet1/0/3, RPF neighbor 172.16.3.1
  Outgoing interface list:
    GigabitEthernet1/0/1, Forward/Sparse-Dense, 01:12:20/00:00:00

 赤字部分は送信元のIPアドレスとマルチキャストアドレスの組み合わせを示します。送信元のIPアドレスが*となっているのは共有ツリーと呼ばれ、(*,G)エントリで示されます。上の例では224.0.2.50のマルチキャストアドレス宛ての通信全てを意味します。例えば、パソコンからIGMPによりグループ参加を受信した場合は共有ツリーが作成され、共有ツリーを利用してマルチキャストが配信されます。

マルチキャスト通信の設定3

 PIM-DMは最初にネットワーク全体に動画が配信されて不要なインターフェースには流さないよう枝刈りされる動作のため送信元は常に確定しており、このエントリはありません。

 送信元のIPアドレスが表示されているテーブルは送信元ツリーと呼ばれ、(S,G)エントリで示されます。SがSource、GがGroupを示すため、送信元のIPアドレスとマルチキャストアドレスのセットです。(S,G)エントリは、例えば実際に動画の配信が出来ている場合等に表示されます。このため、PIM-SMでもPIM-DMでもこのエントリが使われます。

 PIM-SMでは受信したマルチキャストの送信元IPアドレスをユニキャストのルーティングテーブルと比較して最短でないと判断した場合は、PIMの送信要求により(S,G)エントリで最短経路を通るようになります。

マルチキャスト通信の設定4

 ユニキャストのルーティングテーブルと違い、マルチキャストのルーティングテーブルは要求があったり配信がある、ないで表示されたりされなかったりします。

 緑の文字はマルチキャスト通信が受信、送信するインターフェースを示しています。実際に通信が開始されるまでNullの場合があります。

 又、ユニキャストでのtracerouteに相当するコマンドでmtraceコマンドがあります。mtrace "送信元IPアドレス" "マルチキャストアドレス"と指定する事でtracerouteと同様に、送信元までの各ルーターのIPアドレスが表示されます。

補足

 以下の図のようにマルチキャストを2箇所から配信する場合、RPを複数設定する事も出来ます。

マルチキャスト通信の設定5

 以下ではマルチキャストアドレス224.0.2.40の配信要求があった場合は172.16.3.1、224.0.2.50の配信要求があった場合は172.16.2.2がRPになるように設定しています。

【RPの複数設定】
Switch# configure terminal
Switch(config)# access-list 1 permit 224.0.2.40
Switch(config)# ip pim rp-address 172.16.3.1 1
Switch(config)# access-list 2 permit 224.0.2.50
Switch(config)# ip pim rp-address 172.16.2.2 2

 赤字部分の数字は合わせる必要があります。

 これはBSRを設定する時も同様です。例えばスイッチAでは以下のように設定します。

【RP候補の複数設定】
Switch# configure terminal
Switch(config)# access-list 1 permit 224.0.2.40
Switch(config)# ip pim bsr-candidate vlan 12 32
Switch(config)# ip pim rp-candidate vlan 12 group-list 1

 上記ではマルチキャストアドレス224.0.2.40の配信要求があった場合はVLAN12をRPにするように設定しています。

 スイッチCでも同様な設定をする事で224.0.2.50の配信要求があった場合にスイッチC側に要求するように出来ます。

 規模が大きくなければ「PIM-SMモードの設定」で示した設定だけで配信出来ます。又、光ケーブルで接続された構内LANでは余程大規模かマルチキャストを多様しない限り、簡単に設定できるPIM-DMでも多くの場合は問題ありません。

 規模が大きくなった場合や管理が複数に分かれるような場合にはBSRや複数RPの設定を検討する必要があります。

 この時、BSR候補の設定を複数のスイッチで行う事も出来ます。ip pim bsr-candidate vlan 12 32 10等と設定すると最後の数字は優先度を示し、優先度が大きいスイッチがBSRになります。優先度が同じ場合はIPアドレスが大きいスイッチがBSRになります。

 又、RP候補の設定も複数のスイッチで行う事が出来ます。複数スイッチでRP候補を設定していると現在RPとなっているスイッチがダウンしても他のスイッチがRPになるため、マルチキャストの配信が継続出来ます。

 尚、マルチキャストルーティングはRPFチェックがあるため、RIP、OSPF、スタティックルート等でユニキャストルーティングが正常に動作している必要があります。

  • このエントリーをはてなブックマークに追加