このドキュメントでは、Protocol Independent Multicast(PIM)スパース モード ネイバーの Hot Standby Router Protocol(HSRP)アドレスへのスタティック ルートを設定すると、マルチキャスト パケットが転送されない理由について説明します。
このドキュメントの読者は次のトピックについての専門知識を有している必要があります。
HSRP
PIM Sparse モード(PIM sparse mode)#PIM Sparse もーど#
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
ドキュメントの表記法の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
上の図のルータ 2 と 3 は、サブネット 10.1.3.0 上で HSRP を使用して通信しています。ルータ 2 はアクティブ ルータです。ルータ 1、2、および 3 の通信は、Enhanced Interior Gateway Routing Protocol(EIGRP)を使用して行われます。ルータ 4 には HSRP 仮想アドレスへのスタティック デフォルト ルートが設定されています。
ルータ 1 | ルータ 2 |
---|---|
Current configuration: ! ip multicast-routing ! ! interface Loopback0 ip address 10.10.10.10 255.255.255.255 no ip directed-broadcast ! interface Ethernet0 no ip address no ip directed-broadcast shutdown ! interface Ethernet1 ip address 10.1.1.1 255.255.255.0 no ip directed-broadcast ip pim sparse-mode ! interface Serial1 no ip address no ip directed-broadcast encapsulation frame-relay ! interface Serial1.1 point-to-point ip address 10.1.2.1 255.255.255.252 no ip directed-broadcast ip pim sparse-mode frame-relay interface-dlci 612 ! ! interface Serial1.2 point-to-point ip address 10.1.2.5 255.255.255.252 no ip directed-broadcast ip pim sparse-mode frame-relay interface-dlci 613 ! router eigrp 1 network 10.0.0.0 no auto-summary ! ip classless no ip http server ip pim rp-address 10.10.10.10 ! end |
Current configuration: ! ip multicast-routing ip dvmrp route-limit 20000 ! ! interface Ethernet1 ip address 10.1.3.1 255.255.255.0 no ip redirects ip pim sparse-mode standby 1 priority 110 preempt standby 1 ip 10.1.3.3 ! interface Serial1 no ip address encapsulation frame-relay ! interface Serial1.1 point-to-point ip address 10.1.2.2 255.255.255.252 ip pim sparse-mode frame-relay interface-dlci 621 ! router eigrp 1 network 10.0.0.0 no auto-summary ! ip classless ip pim rp-address 10.10.10.10 ! end |
Router 3 | Router 4 |
Current configuration: ! ip multicast-routing ip dvmrp route-limit 20000 ! interface Ethernet1 ip address 10.1.3.2 255.255.255.0 no ip redirects ip pim sparse-mode standby 1 priority 100 preempt standby 1 ip 10.1.3.3 ! interface Serial1 no ip address encapsulation frame-relay ! interface Serial1.2 point-to-point ip address 10.1.2.6 255.255.255.252 ip pim sparse-mode frame-relay interface-dlci 631 ! router eigrp 1 network 10.0.0.0 no auto-summary eigrp log-neighbor-changes ! ip classless no ip http server ip pim rp-address 10.10.10.10 ! end |
Current configuration: ip multicast-routing ip dvmrp route-limit 20000 ! ! ! interface Ethernet0 ip address 10.1.4.1 255.255.255.0 no ip directed-broadcast ip igmp join-group 239.1.2.3 ! interface Ethernet1 ip address 10.1.3.4 255.255.255.0 no ip directed-broadcast ip pim sparse-mode ! no ip http server ip classless ip route 0.0.0.0 0.0.0.0 10.1.3.3 ip pim rp-address 10.10.10.10 ! end |
イーサネット 0 上のホストをシミュレートするために、ルータ 4 のこのインターフェイスに ip igmp join-group コマンドが設定されています。
router4# ip igmp join-group IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 224.0.1.40 Ethernet1 4d23h never 10.1.3.1 239.1.2.3 Ethernet0 4d23h never 10.1.4.1
ルータ 4 では、ランデブー ポイント(RP)アドレスに ping を実行することもできます。
Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.10, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 60/61/68 ms
マルチキャスト ルート(mroute)テーブルは次のとおりです。
Router4# show ip mroute 239.1.2.3 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 X - Proxy Join Timer Running Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 239.1.2.3), 00:04:28/00:00:00, RP 10.10.10.10, flags: SJCL Incoming interface: Ethernet1, RPF nbr 10.1.3.3 Outgoing interface list: Ethernet0, Forward/Sparse, 00:02:12/00:02:53
このグループのレシーバが存在する(ルータ 4 で ip igmp join-group コマンドが使用されている)ため、mroute テーブルに (*,G) エントリが作成されます。(*,G) エントリのリバース パス フォワーディング(RPF)ネイバーが、HSRP スタンバイ アドレスの 10.1.3.3 であることに注意してください。ただし (S,G) エントリは作成されていないため、この送信元からはトラフィックを受信しません。
ルータ 4 にはグループの関連レシーバが存在するため、PIM ネイバーに PIM Join/Prune メッセージを送信する必要があります。ルータ 4 の PIM ネイバーを確認するには、次に示すように show ip pim neighbor コマンドを使用します。
Router4# show ip pim neighbor PIM Neighbor Table Neighbor Address Interface Uptime Expires Ver Mode 10.1.3.1 Ethernet1 4d23h 00:01:41 v2 10.1.3.2 Ethernet1 4d23h 00:01:36 v2
debug ip pim 239.1.2.3 コマンドをイネーブルにすると、ルータ 4 は次の PIM Join/Prune メッセージを作成しますが、実際には送信しません。
*Mar 6 18:32:48:PIM:Received RP-Reachable on Ethernet1 from 10.10.10.10 *Mar 6 18:32:48:for group 239.1.2.3 *Mar 6 18:33:14:PIM:Building Join/Prune message for 239.1.2.3 *Mar 6 18:34:13:PIM:Building Join/Prune message for 239.1.2.3
ルータはなぜ Join/Prune メッセージを送信しないのでしょうか。RFC 2362 には「ルータは、(S,G)、(*,G)、および (*,*,RP) の各エントリに関連付けられた明確な RPF ネイバーに対して、定期的に Join/Prune メッセージを送信する。 Join/Prune メッセージは、RPF ネイバーが PIM ネイバーである場合にのみ送信される」と規定されています。
この例の RPF ネイバーは 10.1.3.3 です。これはデフォルト スタティック ルートで使用される HSRP スタンバイ アドレスです。ただし、このアドレスは PIM ネイバーとしてリストされていません。HSRP スタンバイ アドレスが PIM ネイバーとしてリストされない理由は、HSRP を実行する 2 台のルータ(ルータ 2 および 3)が、HSRP スタンバイ アドレスから PIM ネイバー メッセージを送信しないためです。
この問題を解決するには、RPF ネイバーが PIM ネイバーにもなるようにルータ 4 の設定を変更します。EIGRP プロセスにルータ 4 を含めることで設定を変更すると、ルータ 4 は EIGRP を介して RP アドレスを学習するようになります。
注:ルータ4にはルーティングプロトコルを実行する機能があるため、接続にHSRPスタンバイアドレスを使用する必要はありません。HSRP は、ホストで迅速かつ効率的な冗長性またはフェールオーバーを実現する方法を提供するために開発されました。
EIGRP を有効にしたルータ 4 の新しい設定を以下に示します。
ip multicast-routing ip dvmrp route-limit 20000 ! ! ! interface Ethernet0 ip address 10.1.4.1 255.255.255.0 no ip directed-broadcast ip igmp join-group 239.1.2.3 ! interface Ethernet1 ip address 10.1.3.4 255.255.255.0 no ip directed-broadcast ip pim sparse-mode ! router eigrp 1 network 10.0.0.0 no auto-summary ! no ip http server ip classless ip route 0.0.0.0 0.0.0.0 10.1.3.3 ip pim rp-address 10.10.10.10 ! end
注:EIGRPプロセスにRouter 4を含める代わりに(推奨される方法で)、RPFチェックでmrouteがユニキャストルーティングテーブルよりも優先されるため、Router 4にスタティックmrouteを追加してRPFを実ルータのIPアドレスに設定します。たとえば、ip mroute 0.0.0.0 0.0.0.0 10.1.3.2 を追加します。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
10-Aug-2005 |
初版 |