PR

 CCNPのBSCI試験では,マルチキャストルーティングプロトコルとして,PIMの設定方法が問われます。今回はPIMの設定方法と,状態の確認方法を学習しましょう。

PIMの設定

 CiscoルータでのPIMのモードは,スパース-デンスモードが推奨されています。スパース-デンスモードは,RP(ランデブーポイント)があるマルチキャストグループではPIM-SMで動作し,RPがないマルチキャストグループではPIM-DMで動作します(PIM-DMとPIM-SMについては第4回を参照)。スパース-デンスモードの設定の手順は次の通りです。

  1. IPマルチキャストルーティングを有効にする
  2. インタフェースにマルチキャストルーティングを有効化する
  3. RPを設定する

 マルチキャストルーティングを実行する際には,通常のユニキャストルーティングも必要です。マルチキャストルーティングではRPF(Reverse Path Fowarding)チェックが必要になるため,通常のルーティングテーブルが必要になるからです。

 まず,IPマルチキャストルーティングを有効にする必要があります(図1)。

  • (config)# ip multicast-routing

 図1 ip multicast-routing
ip multicast-routing

 次に,インタフェースでマルチキャストルーティングを有効にします。この際,使用するモードを選択します(図2)。

  • (config-if)# ip pim [モード]
    • [モード]
      • PIMのモード。dense-mode,sparse-mode,sparse-dense-modeで指定する

 図2 ip pim sparse-dense-mode
ip pim sparse-dense-mode

 PIM-DMでのみ動作するならば,PIMの設定はこれ以上必要ありません。ただし,PIM-SMで動作させる場合には任意のPIMルータをRPに設定する必要があります。RPを設定するには,スタティックまたはAuto-RPといった方法があります。スタティックによる設定は,各PIMルータでそれぞれのマルチキャストグループごとにRPを設定していきます。

 一方のAuto-RPは,RPとマルチキャストグループ自動的に対応付ける機能です。Auto-RPでは,RPに設定するPIMルータはRPアナウンスを224.0.1.39あてに送信します。次にRPアナウンスを受信したPIMルータ(RPマッピングエージェント)に対し,RPディスカバリを224.0.1.40あてにマルチキャストで送信します。これにより,RPディスカバリを受信したPIMルータがRPを設定します。

 RPを設定するには,RPに設定するアドレスがまず必要です。そのため,インタフェースのアップダウンが発生しないループバックインタフェースをRPのアドレスとするのが望ましいです。また,「スコープ」と呼ばれる情報も設定します。スコープは,RPアナウンス・パケットとRPディスカバリ・パケットのTTLです。スコープを設定することにより,ツリーの範囲を限定することができます。さらにどのマルチキャストグループのRPになるかを決めるため,アクセスリストを使います(図3)。

  • (config)# ip pim send-rp-announce [インタフェース] scope [スコープ] group-list [アクセスリスト番号]
    • [インタフェース]
      • RPとして設定するアドレスを持つインタフェース
    • [スコープ]
      • ツリーの範囲を限定するためにTTLを設定
    • [アクセスリスト番号]
      • マルチキャストグループを指定するためのアクセスリストの番号
  • (config)# ip pim send-rp-discovery [インタフェース] scope [スコープ]
    • [インタフェース]
      • RPとして設定するアドレスを持つインタフェース
    • [スコープ]
      • ツリーの範囲を限定するためにTTLを設定

 図3 RPの設定
RPの設定

 上図3は,アクセスリスト11番で設定している224.1.1.1のマルチキャストグループのRPに自身がなるため,RPのアドレスとしてループバック0番インタフェースのアドレスを他PIMルータに通知する設定です。

マルチキャストルーティングの確認

 マルチキャストルーティングの確認には次のコマンドを使用します。

  • show ip mroute ・・・ マルチキャストルーティングテーブルの確認
  • show ip pim interface ・・・ インタフェースのPIMの状態
  • show ip pim neighbor ・・・ PIMネイバの確認
  • mrinfo ・・・ マルチキャストの転送の確認
  • show ip pim rp ・・・ RPの確認
  • show ip rpf ・・・ RPFチェック

 これらのコマンドで特に重要なのは,マルチキャストルーティングテーブルの確認であるshow ip mrouteです。例えば,図4のネットワーク構成図で,ルータBのマルチキャストルーティングテーブルは図5のようになります(図4・5)。

 図4 ネットワーク例
ネットワーク例

 図5 マルチキャストルーティングテーブル
マルチキャストルーティングテーブル

 マルチキャストルーティングテーブルには,送信元とマルチキャストグループの組でエントリされます。それぞれ,状態を表すフラグ,RP,受信インタフェースとRPFチェックによるアップストリームにあると判断したPIMルータ,送信インタフェースとその状態(FowardとPrune)が記載されています。

 また図5には(*,224.0.1.40)のエントリが存在していますが,これはRPディスカバリを配信するためのエントリです。このRPアナウンスを配信するツリーは必ずデンスモードになります。

 図5は192.168.0.2がマルチキャストパケットを224.1.1.1に送信した状態のマルチキャストルーティングテーブルですが,その部分を詳細に見てみると次の図になります(図6)。

 図6 マルチキャストルーティングテーブル(その2)
マルチキャストルーティングテーブル(その2)

 この図4,5,6の状態でRPを設定した場合,マルチキャストルーティングテーブルは次のようになります。なお,ルータAをRPとし,ルータAにループバックインタフェース(IPアドレス10.0.0.1)を作成し,そのアドレスをRPとして設定しています(図7・8)。

 図7 マルチキャストルーティングテーブル(その3)
マルチキャストルーティングテーブル(その3)

 図8 マルチキャストルーティングテーブル(その4)
マルチキャストルーティングテーブル(その4)

 図7の下部を詳細にしたものが図8です。

 また,show ip mroute以外のPIMの確認コマンドとして,show ip pim interfaceとshow ip pim neighborがあります(図9・10)。

 図9 show ip pim interface
show ip pim interface

 図10 show ip pim neighbor
show ip pim neighbor

 さらに,showコマンドではありませんが,マルチキャストパケットの転送と,マルチキャスト配信ツリーの状態を調べるコマンドとしてmrinfoがあります(図11)。

 図11 mrinfo
mrinfo

 図11では172.16.0.2と172.17.0.1がネイバーを持つインタフェースであることがわかり,さらに192.168.2.1はマルチキャスト配信ツリーでどこにも繋がっていないインタフェース(リーフ)で,さらにそのネットワークのクエリアであることがわかります。また,フラグのPMAはP(Prune),M(mtrace,マルチキャストで使われるtracerouteのような追跡ツール),A(Auto-RP)に対応していることを示しています。

 RPの状態を確認するためには,show ip pim rpを使用します(図12)。

 図12 show ip pim rp
show ip pim rp

 さらにshow ip rpfではRPFチェックを行うことができます。RPFチェックによりマルチキャストの送信元への接続性を確認することができます。show ip rpfの後に確認したい送信元のIPアドレスを入れる必要があります(図13)。

 図13 show ip rpf
show ip rpf

■変更履歴
記事中,RPアナウンスのあて先が234.0.1.39となっていたのを224.0.1.39に訂正しました。また,RPディスカバリのあて先が234.0.1.40と239.0.1.40となっていたのを224.0.1.40に訂正しました。[2009/01/13 16:00]