概要

Auto RPでRPアドレスをダイナミックに学習することについて設定ミストの切り分けと修正を行います。

ネットワーク構成

下記のネットワーク構成で、PIM-SMによるマルチキャストルーティングを行っています。

図 PIM-SM 設定ミスの切り分けと修正 Part2 ネットワーク構成
図 PIM-SM 設定ミスの切り分けと修正 Part2 ネットワーク構成

設定概要

各ルータで行われている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アドレスを認識できません。

TTL=1でもR3に直接接続されているR2、R4まではRP Discoveryメッセージが届きそうですが届いていません。これは実装で、TTL=1になっているとそもそもRP Discoveryメッセージをインタフェフェースから送信していないようです。

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点あります。

  1. 224.0.1.39/224.0.1.40だけスタティックにRPを設定する
  2. Sparse-Denseモードを利用する
  3. 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マルチキャストの仕組み