目次
概要
Auto RPでRPアドレスをダイナミックに学習することについて設定ミストの切り分けと修正を行います。
ネットワーク構成
下記のネットワーク構成で、PIM-SMによるマルチキャストルーティングを行っています。
設定概要
各ルータで行われているPIM-SMに関する設定は次の通りです。これらの設定には一部設定ミスがあります。
R1
ip multicast-routing ! interface Loopback0 ip address 192.168.0.1 255.255.255.255 ip pim sparse-mode ! interface Ethernet0/0 ip address 192.168.1.1 255.255.255.0 ip pim sparse-mode ! interface Ethernet0/1 ip address 192.168.12.1 255.255.255.0 ip pim sparse-mode ! router ospf 1 log-adjacency-changes network 192.168.0.0 0.0.255.255 area 0 ! ip pim autorp listener
R2
ip multicast-routing ! interface Loopback0 ip address 192.168.0.2 255.255.255.255 ip pim sparse-mode ! interface Ethernet0/0 ip address 192.168.12.2 255.255.255.0 ip pim sparse-mode ! interface Ethernet0/1 ip address 192.168.23.2 255.255.255.0 ip pim sparse-mode ! router ospf 1 log-adjacency-changes network 192.168.0.0 0.0.255.255 area 0 ! ip pim autorp listener ip pim send-rp-announce Loopback0 scope 5 group-list 1 interval 5 ! access-list 1 permit 239.1.1.1
R3
ip multicast-routing ! interface Loopback0 ip address 192.168.0.3 255.255.255.255 ip pim sparse-mode ! interface Ethernet0/0 ip address 192.168.23.3 255.255.255.0 ip pim sparse-mode ! interface Ethernet0/1 ip address 192.168.34.3 255.255.255.0 ip pim sparse-mode ! router ospf 1 log-adjacency-changes network 192.168.0.0 0.0.255.255 area 0 ! ip pim autorp listener ip pim send-rp-discovery Loopback0 scope 1 interval 5
R4
ip multicast-routing ! interface Loopback0 ip address 192.168.0.4 255.255.255.255 ip pim sparse-mode ! interface Ethernet0/0 ip address 192.168.34.4 255.255.255.0 ip pim sparse-mode ! interface Ethernet0/1 ip address 192.168.45.4 255.255.255.0 ip pim sparse-mode ! interface Ethernet0/2 ip address 192.168.46.4 255.255.255.0 ip pim sparse-mode ! router ospf 1 log-adjacency-changes network 192.168.0.0 0.0.255.255 area 0
R5
ip multicast-routing ! interface Loopback0 ip address 192.168.0.5 255.255.255.255 ip pim sparse-mode ! interface Ethernet0/0 ip address 192.168.45.5 255.255.255.0 ip pim sparse-mode ! interface Ethernet0/1 ip address 192.168.5.5 255.255.255.0 ip pim sparse-mode ip igmp join-group 239.1.1.1 ! router ospf 1 log-adjacency-changes network 192.168.0.0 0.0.255.255 area 0 ! ip pim autorp listener
R6
ip multicast-routing ! interface Loopback0 ip address 192.168.0.6 255.255.255.255 ip pim sparse-mode ! interface Ethernet0/0 ip address 192.168.46.6 255.255.255.0 ip pim sparse-mode ! interface Ethernet0/1 ip address 192.168.6.6 255.255.255.0 ip pim sparse-mode ip igmp join-group 239.1.1.1 ! router ospf 1 log-adjacency-changes network 192.168.0.0 0.0.255.255 area 0 ! ip pim autorp listener
SOURCE
interface Ethernet0/0 ip address 192.168.1.100 255.255.255.0 ! ip route 0.0.0.0 0.0.0.0 192.168.1.1
トラブルの症状
SOURCEから送信したマルチキャストグループ239.1.1.1のパケットが正しくルーティングされません。マルチキャストグループ239.1.1.1のパケットがルーティングされない原因を調べてみると、R3以外のルータは239.1.1.1のRPアドレスを認識していません。そのため、正しくルーティングできていないことが分かりました。
各ルータでRPアドレスを確認すると、次のようになっています。
R1 show ip pim rp mapping
R1#show ip pim rp mapping PIM Group-to-RP Mappings
R2 show ip pim rp mapping
R2#show ip pim rp mapping PIM Group-to-RP Mappings This system is an RP (Auto-RP)
R3 show ip pim rp mapping
R3#show ip pim rp mapping PIM Group-to-RP Mappings This system is an RP-mapping agent (Loopback0) Group(s) 239.1.1.1/32 RP 192.168.0.2 (?), v2v1 Info source: 192.168.0.2 (?), elected via Auto-RP Uptime: 00:46:05, expires: 00:00:12
R4 show ip pim rp mapping
R4#show ip pim rp mapping PIM Group-to-RP Mappings
R5 show ip pim rp mapping
R5#show ip pim rp mapping PIM Group-to-RP Mappings
R6 show ip pim rp mapping
R6#show ip pim rp mapping PIM Group-to-RP Mappings
問題
- なぜ239.1.1.1のRPアドレスが正しく認識されていないのですか?
- すべてのルータで239.1.1.1のRPアドレスを正しく認識して、ルーティングできるようにするためにはどのように設定を修正すればよいですか?ただし、PIMのモードを変更してはいけません。
解答
なぜ239.1.1.1のRPアドレスが正しく認識されていないのですか?
MAとして動作しているR3から送信されるRP DiscoveryメッセージのTTLが1のため、RP Discoveryメッセージがルーティングされない。また、R4でAuto RP Listenerが有効になっていないので、R4はRP Discoveryメッセージをルーティングしない。
すべてのルータで239.1.1.1のRPアドレスを正しく認識して、ルーティングできるようにするためにはどのように設定を修正すればよいですか?ただし、PIMのモードを変更してはいけません。
R3
ip pim send-rp-discovery Loopback0 scope 5 interval 5
R4
ip pim autorp listener
ワンポイント
- PIM-SMでAuto RPを利用するにはAuto RP Listenerを有効化する
- マルチキャストパケットでもTTL=1のパケットはルーティングされない
解説
まず、Auto RPの概要について簡単に復習しましょう。Auto RPでは、RP候補であるルータが定期的にRP Announceメッセージを送信して、自身がRPとなることをMAに通知します。そして、MAはRP Announceメッセージを受信して、適切なRPを選択します。RPの情報をRP Discoveryメッセージとしてマルチキャストルータに通知します。今回のネットワーク構成では、239.1.1.1のRP候補はR2で、MAはR3です。
今回のトラブルのポイントは2点あります。
- RP DiscoveryメッセージのTTL
- PIM-SMでAuto RPを利用する場合の考慮
この2点について見ていきます。
【RP DiscoveryメッセージのTTL】
ルータをMAとして設定するためには、グローバルコンフィグレーションモードで次のコマンドを使います。
Auto RP MAの設定
(config)#ip pim send-rp-discovery <interface> scope <ttl> [interval <sec>]
<interface>:RP Discoveryメッセージの送信元IPアドレスとして利用するインタフェース
<ttl>:RP DiscoveryメッセージのTTL
<sec>:RP Discoveryメッセージの送信間隔
R3をMAとするために、次の設定を行っています。
R3 MAの設定
ip pim send-rp-discovery Loopback0 scope 1 interval 5
R3でMAとしてRP Discoveryメッセージを送信するのですが、TTL=1としています。TTL=1なのでRP Discoveryメッセージをルーティングできずに、すべてのマルチキャストルータで正しく239.1.1.1のRPアドレスを認識できません。
R3から送信されるRP Discoveryメッセージがルーティングして、他のルータまで転送されるようにTTLの値を増やします。
R3 MAの設定 TTL=5に
ip pim send-rp-discovery Loopback0 scope 5 interval 5
R3でRP DiscoveryメッセージのTTLを増やすと、R1、R2、R4までRPアドレスを認識できるようになります。
R1 show ip pim rp mapping
R1#show ip pim rp mapping PIM Group-to-RP Mappings Group(s) 239.1.1.1/32 RP 192.168.0.2 (?), v2v1 Info source: 192.168.0.3 (?), elected via Auto-RP Uptime: 00:01:34, expires: 00:00:11
R2 show ip pim rp mapping
R2#show ip pim rp mapping PIM Group-to-RP Mappings This system is an RP (Auto-RP) Group(s) 239.1.1.1/32 RP 192.168.0.2 (?), v2v1 Info source: 192.168.0.3 (?), elected via Auto-RP Uptime: 00:02:34, expires: 00:00:11
R4 show ip pim rp mapping
4#show ip pim rp mapping PIM Group-to-RP Mappings Group(s) 239.1.1.1/32 RP 192.168.0.2 (?), v2v1 Info source: 192.168.0.3 (?), elected via Auto-RP Uptime: 00:02:56, expires: 00:00:14
【PIM-SMでAuto RPを利用する場合の考慮】
上記のように、MAであるR3でRP DiscoveryメッセージのTTLを増やすと、R1、R2、R4まではRPアドレスを認識できるようになりました。ですが、R5、R6ではまだRPアドレスを認識できていません。そのため、当然、239.1.1.1のマルチキャストグループのルーティングもできません。PIM-SMでAuto RPを利用するには問題点があり、それを考慮した設定がR4でされていないためです。
Auto RPのRP Announce/RP Discoveryメッセージについてもう少し復習します。RP候補から送信されるRP Announceメッセージは224.0.1.39でマルチキャストします。また、MAはRP Discoveryメッセージを224.0.1.40でマルチキャストします。
そして、Auto RPのそもそもの目的も思い出しましょう。PIM-SMではマルチキャストパケットをルーティングするためにはRPが必要です。一貫したRPアドレスを各マルチキャストルータがダイナミックに学習できるようにAuto RPを利用します。
ですが、Auto RPのRP Announce/RP Discoveryメッセージをマルチキャストパケットで転送しています。RPがなければマルチキャストパケットをルーティングできないからAuto RPを使うのに、Auto RPのメッセージをマルチキャストパケットとして送信しています。これがPIM-SMでAuto RPを利用する上での問題点です。その解決方法として、3点あります。
- 224.0.1.39/224.0.1.40だけスタティックにRPを設定する
- Sparse-Denseモードを利用する
- Auto RP Listener
今回の設定はR4以外ですべてAuto RP Listenerを有効化しています。Auto RP ListenerはAuto RPの224.0.1.39/224.0.1.40だけDenseモードのようにフラッディングして、RP Announce/RP Discoveryメッセージをルーティングできるようにする機能です。
R4でAuto RP Listenerが有効化されていないので、R4はRP Discoveryメッセージをルーティングできません。そのため、R5とR6で239.1.1.1のRPアドレスを認識できません。R4で次のコマンドで、Auto RP Listenerを有効化する必要があります。
R4 Auto RP Listenerの有効化
ip pim autorp listener
R4でAuto RP Listenerを有効化すれば、R5、R6でもRPアドレスを認識できるようになります。
R5 show ip pim rp mapping
R5#show ip pim rp mapping PIM Group-to-RP Mappings Group(s) 239.1.1.1/32 RP 192.168.0.2 (?), v2v1 Info source: 192.168.0.3 (?), elected via Auto-RP Uptime: 00:00:09, expires: 00:00:11
R6 show ip pim rp mapping
R6#show ip pim rp mapping PIM Group-to-RP Mappings Group(s) 239.1.1.1/32 RP 192.168.0.2 (?), v2v1 Info source: 192.168.0.3 (?), elected via Auto-RP Uptime: 00:01:16, expires: 00:00:14
すると、SOURCEから239.1.1.1あてにパケットを送信すると、Receiverまでルーティングされるようになります。
SOURCE ping 239.1.1.1
SOURCE#ping 239.1.1.1 Type escape sequence to abort. Sending 1, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds: Reply to request 0 from 192.168.46.6, 720 ms Reply to request 0 from 192.168.45.5, 720 ms
次の図は、今回の設定ミスについてまとめたものです。
IPマルチキャストの仕組み
- ユニキャスト/ブロードキャスト/マルチキャストの振り返り
- IPマルチキャストの用途 ~同じデータの同報~
- マルチキャストグループへの参加 ~マルチキャストデータを受信できるようにする~
- マルチキャストアドレス ~レイヤ3とレイヤ2のマルチキャストアドレス~
- IGMPの概要 ~マルチキャストグループへの参加を通知~
- IGMPの仕組み
- IGMPの設定と確認コマンド
- IGMPスヌーピング
- マルチキャストルーティングの概要
- ディストリビューションツリー
- RPFチェック
- PIM-DMの仕組み
- PIM-DMの設定と確認コマンド
- PIM-SMの仕組み ~ディストリビューションツリー作成~
- PIM-SMの仕組み ~ディストリビューションツリー作成例~
- PIM-SMの設定と確認コマンド
- PIM-SM ダイナミックなRPの設定 ~Auto RP/BSRの概要~
- PIM-SM AutoRPの設定例
- PIM-SM BSRの設定例
- Bidirectional PIMの設定と確認コマンド
- PIM SSMの設定と確認コマンド
- PIM-SMの設定演習 [スタティックRP]
- PIM-SMの設定演習 [Auto RP]
- PIM-SMの設定演習 [BSR]
- PIM-SMの設定演習 [Bidirectional PIM]
- PIM-SMの設定演習 [SSM]
- PIM-SMの設定演習 [トラブルシュート]
- Anycast RP ~RPの負荷分散~
- Anycast RPの設定と確認コマンド
- Anycast RPの設定例
- マルチキャストパケットの転送経路の制御 ~ip mrouteコマンド~
- ip multicast rate-limitコマンド ~マルチキャストパケットのレート制限~
- ip multicast rate-limitコマンドの設定例
- IGMPレポートの制限
- PIM-SM 設定ミスの切り分けと修正 Part1
- PIM-SM 設定ミスの切り分けと修正 Part2
- PIM-SM 設定ミスの切り分けと修正 Part3