概要

シンプルなネットワーク構成で、PIM-SMのAuto RPによるダイナミックなRPの設定例について解説します。

ネットワーク構成

図 PIM-SM ネットワーク構成
図 PIM-SM ネットワーク構成

初期設定

各ルータには、初期設定として以下の内容を設定済みです。

  • ホスト名
  • IPアドレス
  • ルーティングプロトコル
    OSPFエリア0
  • RECEIVER 239.1.1.1にJoin

設定と確認

Step1:PIM-SMの有効化

R1~R5でマルチキャストルーティングとインタフェースでPIM-SMを有効化します。また、239.1.1.1のラストホップルータであるR5ではスイッチオーバーしないようにSPT Thresholdをinfinityに設定します。

R1

ip multicast-routing 
!         
interface Loopback0
 ip pim sparse-mode
!
interface Ethernet0/0
 ip pim sparse-mode
!
interface Ethernet0/1
 ip pim sparse-mode
!
interface Ethernet0/2
 ip pim sparse-mode

R2

ip multicast-routing 
!         
interface Loopback0
 ip pim sparse-mode
!
interface Ethernet0/0
 ip pim sparse-mode
!
interface Ethernet0/1
 ip pim sparse-mode

R3

ip multicast-routing 
!         
interface Loopback0
 ip pim sparse-mode
!
interface Ethernet0/0
 ip pim sparse-mode
!
interface Ethernet0/1
 ip pim sparse-mode

R4

ip multicast-routing 
!         
interface Loopback0
 ip pim sparse-mode
!
interface Ethernet0/0
 ip pim sparse-mode
!
interface Ethernet0/1
 ip pim sparse-mode
!
interface Ethernet0/2
 ip pim sparse-mode

R5

ip multicast-routing 
!         
interface Loopback0
 ip pim sparse-mode
!
interface Ethernet0/0
 ip pim sparse-mode
!
interface Ethernet0/1
 ip pim sparse-mode
!
ip pim spt-threshold infinity

Step2:MAの設定

R2、R3をAuto RPのMapping Agent(MA)として設定します。RP Discoveryメッセージの送信元IPアドレスは、Loopback0のIPアドレスを利用します。また、RP Discoverメッセージを3秒ごとに送信するようにします。

R2/R3

ip pim send-rp-discovery loopback 0 scope 16 interval 3

Step3:RP Candidateの設定

R2、R3のLoopback0のIPアドレスを239.1.1.1のRP Candidateとして設定します。RP Announceメッセージは3秒ごとに送信するようにします。

R2/R3

ip pim send-rp-announce Loopback0 scope 16 group-list 1 interval 3
!
access-list 1 permit 239.1.1.1

Step4:Auto RP Listenerの設定

Auto RPのRP AnnounceメッセージとRP DiscoveryメッセージをフラッディングできるようにAuto RP Listenerを有効化します。

R1~R5

ip pim autorp listener

次の図は、ここまでの設定をまとめたものです。

図 Step1~Step4の設定
図 Step1~Step4の設定

Step5:RPの確認

R1~R5の各ルータで239.1.1.1のRPを確認します。RPアドレスの確認には、show ip pim rp mappingコマンドを利用します。R1では、次のようなコマンド出力になります。

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.3 (?), v2v1
    Info source: 192.168.0.2 (?), elected via Auto-RP
         Uptime: 00:16:02, expires: 00:02:13

Auto RPでは、MAでRPを選択します。IPアドレスが大きいルータが優先されるのでR3(192.168.0.3)がRPとして選択されていることがわかります。RECEIVERが239.1.1.1にJoinしているので、RPであるR3までの共有ツリーが作成されています。

R2 show ip mroute 239.1.1.1

R2#show ip mroute 239.1.1.1
Group 239.1.1.1 not found

R3 show ip mroute 239.1.1.1

R3#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~

(*, 239.1.1.1), 00:15:12/00:03:03, RP 192.168.0.3, flags: S
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse, 00:15:12/00:03:03

R4 show ip mroute 239.1.1.1

R4#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~

(*, 239.1.1.1), 00:15:41/00:02:34, RP 192.168.0.3, flags: S
  Incoming interface: Ethernet0/1, RPF nbr 192.168.34.3
  Outgoing interface list:
    Ethernet0/2, Forward/Sparse, 00:15:41/00:02:34

R5 show ip mroute 239.1.1.1

R5#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~

(*, 239.1.1.1), 00:28:51/00:02:18, RP 192.168.0.3, flags: SC
  Incoming interface: Ethernet0/0, RPF nbr 192.168.45.4
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse, 00:28:51/00:02:18

図 239.1.1.1の共有ツリー

Step6:マルチキャストパケットの転送経路の確認

SOURCEから239.1.1.1あてのマルチキャストパケットを連続して送信します。その後、各ルータでディストリビューションツリーを確認します。

R1 show ip mroute 239.1.1.1

R1#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~

(*, 239.1.1.1), 00:05:04/stopped, RP 192.168.0.3, flags: SPF
  Incoming interface: Ethernet0/2, RPF nbr 192.168.13.3
  Outgoing interface list: Null

(192.168.1.100, 239.1.1.1), 00:05:04/00:03:26, flags: FT
  Incoming interface: Ethernet0/0, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/2, Forward/Sparse, 00:05:04/00:03:20

R3 show ip mroute 239.1.1.1

R3#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~

(*, 239.1.1.1), 00:59:26/00:03:12, RP 192.168.0.3, flags: S
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse, 00:59:26/00:03:12

(192.168.1.100, 239.1.1.1), 00:05:44/00:03:28, flags: T
  Incoming interface: Ethernet0/0, RPF nbr 192.168.13.1
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse, 00:05:44/00:03:12

R4 show ip mroute 239.1.1.1

R4#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~

(*, 239.1.1.1), 01:00:11/00:03:22, RP 192.168.0.3, flags: S
  Incoming interface: Ethernet0/1, RPF nbr 192.168.34.3
  Outgoing interface list:
    Ethernet0/2, Forward/Sparse, 01:00:11/00:03:17

R5 show ip mroute 239.1.1.1

R5#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~

(*, 239.1.1.1), 01:13:25/00:02:56, RP 192.168.0.3, flags: SC
  Incoming interface: Ethernet0/0, RPF nbr 192.168.45.4
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse, 01:13:25/00:02:48

239.1.1.1に関するディストリビューションツリーとマルチキャストパケットの転送経路は、次の図のようになっていることがわかります。

図 ディストリビューションツリーとマルチキャストパケットの転送経路
図 ディストリビューションツリーとマルチキャストパケットの転送経路

SOURCEから送信された239.1.1.1あてのマルチキャストパケットはRPであるR3を経由してルーティングされています。

Step7:RPの切り替え

239.1.1.1のRPをR3からR2へ切り替えます。そのために、R3 E0/0、E0/1をシャットダウンします。

R3

interface Ethernet0/0
 shutdown
!
interface Ethernet0/1
 shutdown

RP Announce/RP Discoverメッセージの送信間隔を3秒にしているので、R3のダウンを9秒程度で認識します。R2は新しい239.1.1.1としてR2を選び、RP Discoverメッセージで他のルータへアドバタイズします。

Step8:マルチキャストパケットの転送経路の確認(RP切り替え後)

各ルータでディストリビューションツリーを確認して、RPがR2へ切り替わったこととマルチキャストパケットの転送経路を確認します。

R1 show ip mroute 239.1.1.1

R1#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~

(*, 239.1.1.1), 00:31:29/stopped, RP 192.168.0.2, flags: SPF
  Incoming interface: Ethernet0/1, RPF nbr 192.168.12.2
  Outgoing interface list: Null

(192.168.1.100, 239.1.1.1), 00:15:55/00:03:21, flags: FT
  Incoming interface: Ethernet0/0, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse, 00:07:00/00:03:23

R2 show ip mroute 239.1.1.1

R2#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~

(*, 239.1.1.1), 00:07:42/00:03:20, RP 192.168.0.2, flags: S
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse, 00:07:42/00:03:20

(192.168.1.100, 239.1.1.1), 00:07:42/00:03:26, flags: T
  Incoming interface: Ethernet0/0, RPF nbr 192.168.12.1
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse, 00:07:42/00:03:20

R4 show ip mroute 239.1.1.1

R4#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~

(*, 239.1.1.1), 01:28:29/00:03:25, RP 192.168.0.2, flags: S
  Incoming interface: Ethernet0/0, RPF nbr 192.168.24.2
  Outgoing interface list:
    Ethernet0/2, Forward/Sparse, 01:28:29/00:02:37

R5 show ip mroute 239.1.1.1

R5#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~

(*, 239.1.1.1), 01:41:47/00:02:55, RP 192.168.0.2, flags: SC
  Incoming interface: Ethernet0/0, RPF nbr 192.168.45.4
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse, 01:41:47/00:02:22

図 ディストリビューションツリーとマルチキャストパケットの転送経路(RP切り替え後)
図 ディストリビューションツリーとマルチキャストパケットの転送経路(RP切り替え後)

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