PIM-SMのトラブル その2 解答と解説 【CCIEレベル】

解答

  • なぜ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として設定するためには、グローバルコンフィグレーションモードで次のコマンドを使います。

(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

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R4#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

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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あてにパケットを送信すると、Recieverまでルーティングされるようになります。

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
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

次の図は、今回の設定ミスについてまとめたものです。

multicast_routing_problem10.jpg
図 設定ミスのまとめ


マルチキャストルーティングとCiscoルータでの設定・検証方法を詳しく勉強したい方には「詳解IPマルチキャスト」がオススメです。

詳解IPマルチキャスト 概念からCisco製品での設定例まで (NETWORK PROFESSIONAL) 詳解IPマルチキャスト 概念からCisco製品での設定例まで (NETWORK PROFESSIONAL)
Gene

Ciscoネットワーク構築教科書[設定編] CCIE Routing and Switching Certification Guide (4th Edition) (Exam Certification Guide) ネットワーク構築の基礎 IPv4アドレス枯渇対策とIPv6導入 Cisco WAN 実践ケーススタディ
by G-Tools

Follow me!