UnixPower on Networking
  http://www.unix-power.net/

 
 Top - Cisco - Cisco マルチキャストの設定



■PIMの基本設定

CiscoIOSが稼働しているCatalystスイッチでIPマルチキャストを設定するには以下の手順を実行します。

マルチキャストルーティングをグローバルに有効にします。

(config)# ip multicast-routing

マルチキャストを設定する必要のあるインターフェイスでPIMを有効にします。

(config-if)# ip pim [ dense-mode | sparse-mode | sparse-dense mode ]

( オプション ) PIMではHelloメッセージを送り隣接ルータの検出を行います。その際、代表ルータが選出されますが選出の基準は以下の順序で選出されます。

1) 最もプライオリティが高いルータ
2) 最もIPが高いルータ

DRが直接関係するのはsparseモードにおいてです。プライオリティの変更は以下のように行います。

(config-if)# ip pim dr-priority [priority]

( オプション ) sparseモードを実行する場合はRPを設定します。RPルータを含む全てのルータでRPアドレスを設定することが重要です。ACLを併用することで特定グループのみのRPを指定することが可能です。

(config)# ip pim rp-address [ip-address] [ACL]

( オプション ) ACLを使ってマルチキャストグループのRP候補としてルータを指定するには以下のコマンドを実施します。またACLと併用して特定のマルチキャストグループのみに指定することも可能です。

(config)# ip pim send-rp-announce [interface-type] [interface number] scope [ttl] \
          group-list [ACL]  interval [seconds]

( オプション ) ルータにAuto-RPのRPマッピングエージェントの役割を持たせるには以下のコマンドを実施します。

(config)# ip pim send-rp-discovery scope [ttl]

( オプション ) RPマッピングエージェントに不正なIPからのアナウンスを拒否するコマンドがあります。RP-ACLには受信を許可するユニキャストアドレスのACLを指定し、Group-ACLには許可するマルチキャストグループのACLを指定します。

(config)# ip pim rp-announce-filter rp-list [RP-ACL] group-list [Group-ACL]

以下ではPIM sparseモードでRPアドレス192.168.1.1を設定する例を示しています。

(config)# ip multicast-routing
(config)# interface fa0/0
(config-if)# ip pim sparse-mode
(config-if)# interface fa0/1
(config-if)# ip pim sparse-mode

(config)# ip pim rp-address 192.168.1.1

以下はfa0/0のアドレスをRP候補としてアドバタイズし、かつマッピングエージェントにするAuto-RPを設定する例です。

(config)# ip multicast-routing
(config)# interface fa0/0
(config-if)# ip pim sparse-mode

(config)# ip pim send-rp-announce fa0/0 scope 15 group-list 1
(config)# ip pim send-rp-discovery scope 15

(config)# access-list 1 permit 239.1.1.0 0.0.0.255

■IGMPの基本設定


IGMPの基本設定です。マルチキャストのテスト通信を行いたい場合、それ用のアプリを用意してテスト配信するのがベストですが試験環境においてはルータのインターフェイスをマルチキャストのレシーバにし特定のグループに参加させることが可能です。以下ではfa0/0をグループ239.1.1.1に参加させる設定です。マルチキャストを配信するにはルータからpingコマンドでグループアドレスを指定すればOKです。

(config-if)# ip igmp join-group 239.1.1.1


上の設定はグループに参加しなおかつ応答も返すという設定ですが、単に参加し転送だけをするコマンドが下記です。ホストがIGMPに未対応といった場合に使用するコマンドです。

(config-if)# ip igmp static-group 239.1.1.1


インターフェイスにjoinするグループを限定することも可能です。下記ではACLに指定されたグループ ( 239.1.1.1 ) のみ参加を許可します。

(config-if)# ip igmp access-group 1
(config)# access-list 1 permit 239.1.1.1


マルチキャストを制限するもう一つの手法として境界を定義することができます。以下は上と同様の動きになります。

(config-if)# ip multicast boundary 1
(config)# access-list 1 permit 239.1.1.1


IGMPスヌーピングを有効にするには以下のコマンドを実施しますが、デフォルトで既に有効になっています。

(config-if)# ip igmp snooping 


VLAN単位で有効にするには以下のようになります。

(config-if)# ip igmp snooping vlan [vlan id] 


■マルチキャストのモニタと確認

show ip mrouteコマンドを発行した時の出力です。全ての ( S , G ) エントリに対応する親エントリがあり、 ( * , G )と表記されます。 ( * , G ) はグループの動作モード、RPFネイバー、IPアドレスなどグループ全体の情報を表示します。但し、 ( * , G ) はsparseモードのときのみ参考になりdenseモードでは全体ツリーがそもそもありませんのでこれを見ても意味はありません。以下は、denseモードで動作しているshow ip mrouteです。

RPFネイバーが192.168.0.1であることを示しています。( 192.168.0.1 , 239.1.1.1 ) はグループの送信元と出力インターフェイスのリストを示しています。


# show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, 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 - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 00:11:06/stopped, RP 0.0.0.0, flags: DC
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    FastEthernet0/1, Forward/Sparse-Dense, 00:11:06/00:00:00
    FastEthernet0/0, Forward/Sparse-Dense, 00:11:06/00:00:00

(192.168.0.1, 239.1.1.1), 00:00:07/00:02:59, flags: T
  Incoming interface: FastEthernet0/0, RPF nbr 192.168.0.1
  Outgoing interface list:
    FastEthernet0/1, Forward/Sparse-Dense, 00:00:08/00:00:00

summaryキーワードを指定してshow ip mrouteコマンドを発行したときの出力です。

# show ip mroute summary
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, 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 - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 00:00:53/stopped, RP 0.0.0.0, OIF count: 2, flags: DC
  (192.168.0.1, 239.1.1.1), 00:00:46/00:02:42, OIF count: 1, flags: T

countキーワードを指定してshow ip mrouteコマンドを発行し、トラフィックに関する付加的な統計情報を表示できます。

# show ip mroute count
Active IP Multicast Sources - sending >= 4 kbps
 a negative (-) Rate counts pps being fast-dropped
R3#show ip mroute count
IP Multicast Statistics
3 routes using 2038 bytes of memory
2 groups, 0.50 average sources per group
Forwarding Counts: Pkt Count/Pkts(neg(-) = Drops) per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)

Group: 239.1.1.1, Source count: 1, Packets forwarded: 21, Packets received: 21
  Source: 192.168.0.1/32, Forwarding: 21/1/100/0, Other: 21/0/0

show ip pim interfaceの出力を示しています。

# show ip pim interface

Address          Interface                Ver/   Nbr    Query  DR     DR
                                          Mode   Count  Intvl  Prior
192.168.0.3      FastEthernet0/0          v2/SD  1      30     1      192.168.0.3
172.16.0.3       FastEthernet0/1          v2/SD  1      30     1      172.16.0.4

countオプションを指定してshow ip pim interfaceを発行した時の出力です。

# show ip pim interface count

State: * - Fast Switched, D - Distributed Fast Switched
       H - Hardware Switching Enabled
Address          Interface                FS  Mpackets In/Out
192.168.0.3      FastEthernet0/0          *   21/0
172.16.0.3       FastEthernet0/1          *   0/21

RPマッピング情報をモニタするには以下に示すコマンドを利用します。

コマンド 説明 
show ip pim rp-hash [group]  指定されたグループで選択されたRPを示します。 
show ip pim rp [group-name | group-address | mapping]  ルータがRPを学習する方法を表示します。 

マルチキャストのキャッシュ、テーブル、データベースを消去するには以下に示すコマンドを利用します。


コマンド 説明 
clear ip mroute ルーティングエントリを削除します。
clear ip pim auto-rp [rp-address] Auto-RPキャッシュエントリを削除します。
clear ip igmp group [group-name | group-address | interface] IGMPキャッシュからエントリを削除します。



 
 関連記事
 マルチキャストの概要
 マルチキャストプロトコル
 マルチキャストルーティングの設定
 Copyright(C) 2003-2015 UnixPower on Networking All rights reserved.