Anycast RPの設定

Anycast RPの設定手順は次のようになります。

  • 複数のRPにAnycastアドレスを設定する
  • Anycastアドレスをルーティングプロトコルでアドバタイズする
  • 各マルチキャストルータでAnycastアドレスをRPアドレスとして設定する
  • 複数のRP間でMSDPピアを設定する

1.~3.までは、何も特別な設定ではありません。普通のIPアドレスの設定とルーティングプロトコル、RPの設定です。Anycastアドレスとして設定するIPアドレスはループバックインタフェースにサブネットマスクを/32で設定することが多いです。ただし、OSPFやBGPなどのルータIDには注意が必要です。AnycastアドレスがルータIDになってしまうと、ルータIDが重複して正しくルーティングできなくなってしまいます。AnycastアドレスがルータIDに選ばれないように、ルータIDをスタティックに設定するなど注意してください。そして、AnycastアドレスをRPアドレスとして設定するのは、スタティックでもAuto RP/BSRでも構いません。


RPアドレスの設定について、以下の記事をご覧ください。

MSDPピアの設定

4.のMSDPピアの設定についてのコマンドの構文は次の通りです。

MSDPピアの設定

(config)#ip msdp peer < ip-address > [connect-source < interface >]

< ip-address > : MSDPピアのIPアドレス
connect-source < interface > : MSDPパケットの送信元IPアドレスとして利用したいインタフェースの指定

Anycast RPにおいてMSDPピアの設定する際は、ピアを設定するIPアドレスに注意してください。MSDPピアのIPアドレスはAnycastアドレスではありません。AnycastアドレスはRPアドレスとして利用するためのものです。RP間で共有していないIPアドレスでMSDPピアを設定してください。

また、MSDPピアのIPアドレスとして、ネットワークの冗長性を活かすためにループバックインタフェースのIPアドレスを利用することが一般的です。複数のRPでAnycastアドレスではない普通のIPアドレスを設定しているループバックインタフェースを作成して、MSDPピアとして指定してください。そして、MSDPピアの設定の考え方はBGPネイバーとよく似ています。MSDPピアとなるルータがお互いきちんと設定できていなければいけません。つまり、MSDPパケットの送信元IPアドレスが設定しているMSDPピアのIPアドレスと一致していなければいけません。そこで、ループバックインタフェースのIPアドレスでMSDPピアを設定するときには、connect-sourceのオプションで送信元IPアドレスとしてどのインタフェースのIPアドレスを利用したいかを指定します。ちょうどBGPネイバーのneighbor update-sourceコマンドと同じ考え方です。

また、Anycast RPでMSDPピアの設定には、追加で次のコマンドが必要です。

MSDP Originator-id

(config)#ip msdp originator-id < interface >

< interface > : MSDP SAメッセージのOriginator-idとして利用するインタフェースの指定

ドメイン間のマルチキャストをSAメッセージでカプセル化して転送する場合、デフォルトでOriginator-idはRPアドレスとなります。Anycast RPでは、RPアドレスとして複数のRPで共有しているAnycastアドレスを使っているので、変更しなければいけません。そこで、ip msdp originator-idコマンドによってOriginator-idとしてMSDPピアを確立するループバックインタフェースに変更します。

MSDPピアの設定例

次の図のネットワーク構成で、Anycast RPにおけるMSDPピアの簡単な設定例を考えます。

図 Anycast RPの設定例
図 Anycast RPの設定例

この図の構成でRP1、RP2の設定は次のように行います。

R1

interface loopback 0
 ip address 1.1.1.1 255.255.255.255

interface loopback 1
 ip address 10.1.1.1 255.255.255.255

ip msdp peer 10.1.1.2 connect-source loopback1
ip msdp originator-id loopback1

ip pim rp-address 1.1.1.1

R2

interface loopback 0
 ip address 1.1.1.1 255.255.255.255

interface loopback 1
 ip address 10.1.1.2 255.255.255.255

ip msdp peer 10.1.1.1 connect-source loopback1
ip msdp originator-id loopback1

ip pim rp-address 1.1.1.1

実際のRP1/RP2の設定には、MSDPピアの設定以外にもマルチキャストルーティングの有効化やユニキャストルーティングの有効化も必要です。

上記の設定例のように複数のRPで

  • RPアドレスとしてAnycastアドレスを指定
  • AnycastアドレスではないループバックインタフェースでMSDPピアの設定

を行います。

Anycast RPの確認コマンド

Anycast RPの設定や動作を確認するには、通常のPIM-SMの確認コマンドに加えて、MSDPピアを確認するための次のshowコマンドを利用します。

  • show ip msdp summary
  • show ip msdp peer

以下、showコマンドの出力例です。

show ip msdp summary

R4-PIM#show ip msdp summary
MSDP Peer Status Summary
Peer Address     AS    State    Uptime/  Reset SA    Peer Name
                                Downtime Count Count
3.3.3.3          ?     Up       00:02:44 0     0     ?

show ip msdp peer

R4-PIM#show ip msdp peer
MSDP Peer 3.3.3.3 (?), AS ?
Description:
  Connection status:
    State: Up, Resets: 0, Connection source: Loopback0 (4.4.4.4)
    Uptime(Downtime): 00:00:39, Messages sent/received: 1/1
    Output messages discarded: 0
    Connection and counters cleared 00:01:16 ago
  SA Filtering:
    Input (S,G) filter: none, route-map: none
    Input RP filter: none, route-map: none
    Output (S,G) filter: none, route-map: none
    Output RP filter: none, route-map: none
  SA-Requests:
    Input filter: none
    Sending SA-Requests to peer: disabled
  Peer ttl threshold: 0
  SAs learned from this peer: 0
  Input queue size: 0, Output queue size: 0


PIM-SMの確認コマンドは、以下の記事をご覧ください。

具体的なネットワーク構成でのAnycast RPの設定例は、以下の記事をご覧ください。


IPマルチキャストの仕組み