Cisco IOS マルチキャスト Auto RPの設定方法

スポンサーリンク

マルチキャストのRPを設定する方法の1つであるAuto RPの設定例を示します。このページでは単純なAuto RPの設定だけでなく、Auto RPの冗長化やAuto RP messageの制御についてまとめます。

概要

Auto RPについて、冗長化手法とマルチキャスト境界についてまとめます。

マルチキャスト境界とは、マルチキャストルーティングを行う領域を制限する概念の事です。マルチキャストを行う領域を大きくすると、マルチキャストルーティングテーブルが膨大になり、ルータのリソースを食いつぶしてしまいます。Auto RPに関するマルチキャスト境界の実装方法としては、以下を挙げる事ができます。

  • TTLによる制限
  • Auto RP announce filter
  • Multicast Boundary

RP Candidator 冗長化

動作確認

以下の構成で動作確認を行います。

RP candidator       RP candidator      Mapping Agent       Mapping Agent
 +--------+          +--------+          +--------+          +--------+
 |   R1   +----------+   R2   +----------+   R3   +----------+   R4  | 
 +--------+.1      .2+--------+.2      .3+--------+.3      .4+--------+
         e0/0      e0/0      e0/2      e0/2      e0/3      e0/3
         192.168.12.0/24     192.168.23.0/24     192.168.34.0/24
 [R1]
ip pim send-rp-announce Loopback0 scope 5 interval 10

 [R2]
ip pim send-rp-announce Loopback0 scope 5 interval 10

 [R3]
ip pim send-rp-discovery Loopback0 scope 5 interval 10

 [R4]
ip pim send-rp-discovery Loopback0 scope 5 interval 10

設定全文は下記ファイルです。ルーティングなどの詳細設定は下記を参照ください。

R1
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
no ip domain lookup
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.1.1.1 255.255.255.255
 ip pim sparse-dense-mode
!
interface Ethernet0/0
 ip address 192.168.12.1 255.255.255.0
 ip pim sparse-dense-mode
 half-duplex
!
interface Ethernet0/1
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/2
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router eigrp 10
 network 0.0.0.0
 no auto-summary
!
ip http server
ip forward-protocol nd
!
!
ip pim send-rp-announce Loopback0 scope 5 interval 10
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
R2
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R2
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
no ip domain lookup
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.2.2.2 255.255.255.255
 ip pim sparse-dense-mode
!
interface Ethernet0/0
 ip address 192.168.12.2 255.255.255.0
 ip pim sparse-dense-mode
 half-duplex
!
interface Ethernet0/1
 ip address 192.168.23.2 255.255.255.0
 ip pim sparse-dense-mode
 half-duplex
!
interface Ethernet0/2
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router eigrp 10
 network 0.0.0.0
 no auto-summary
!
ip http server
ip forward-protocol nd
!
!
ip pim send-rp-announce Loopback0 scope 5 interval 10
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
R3
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R3
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
no ip domain lookup
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.3.3.3 255.255.255.255
 ip pim sparse-dense-mode
!
interface Ethernet0/0
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/1
 ip address 192.168.23.3 255.255.255.0
 ip pim sparse-dense-mode
 half-duplex
!
interface Ethernet0/2
 ip address 192.168.34.3 255.255.255.0
 ip pim sparse-dense-mode
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router eigrp 10
 network 0.0.0.0
 no auto-summary
!
ip http server
ip forward-protocol nd
!
!
ip pim send-rp-discovery Loopback0 scope 5 interval 10
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
R4
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R4
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
no ip domain lookup
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.4.4.4 255.255.255.255
 ip pim sparse-dense-mode
!
interface Ethernet0/0
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/1
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/2
 ip address 192.168.34.4 255.255.255.0
 ip pim sparse-dense-mode
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router eigrp 10
 network 0.0.0.0
 no auto-summary
!
ip http server
ip forward-protocol nd
!
!
ip pim send-rp-discovery Loopback0 scope 5 interval 10
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end

RP 確認

RPの冗長化は、RP Candidatorを複数台に対して設定する事によって可能です。RP Candidatorの情報はMapping Agentに収集され、IPアドレスが大きいRPが優先されます

Mapping AgentでRP情報を出力させると、収集したRPの情報が全て表示されます。実際にRPとして使用されるルータにはelectedと表記されます。

 [R3]
R3#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)

Group(s) 224.0.0.0/4
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), elected via Auto-RP
         Uptime: 00:06:30, expires: 00:00:20
  RP 10.1.1.1 (?), v2v1
    Info source: 10.1.1.1 (?), via Auto-RP
         Uptime: 00:06:34, expires: 00:00:30
R3#

実践離れした試験専用の方法ですが、以下のようにAuto RP announce messageを送信するinterfaceを切り替えることで、RPを切り替える事ができます。

 [R1]
no ip pim send-rp-announce Loopback0 scope 5 interval 10
ip pim send-rp-announce Ethrenet0/0 scope 5 interval 10

 [R3]
R3#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)

Group(s) 224.0.0.0/4
  RP 192.168.12.1 (?), v2v1
    Info source: 192.168.12.1 (?), elected via Auto-RP
         Uptime: 00:02:28, expires: 00:00:28
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), via Auto-RP
         Uptime: 00:02:37, expires: 00:00:22
R3#

Mapping Agent 冗長化

RP 確認

Mapping Agentの冗長化は、Mapping Agentを複数台に対して設定する事によって可能です。Mapping Agent同士の優劣はなく、最新のAuto RP discovery messageを使用するだけです。その証拠に、R2でRP表示コマンドを連打すると、Mapping Agentのアドレスのみが変わる事が分かります。

R2#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP (Auto-RP)

Group(s) 224.0.0.0/4
  RP 192.168.12.1 (?), v2v1
    Info source: 10.3.3.3 (?), elected via Auto-RP
         Uptime: 00:03:46, expires: 00:00:23
R2#
R2#
R2#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP (Auto-RP)

Group(s) 224.0.0.0/4
  RP 192.168.12.1 (?), v2v1
    Info source: 10.4.4.4 (?), elected via Auto-RP
         Uptime: 00:03:48, expires: 00:00:28
R2#

RP 負荷分散

基本設定

以下のように、RP Candidatorの設定は<std_acl>の指定が可能です。<std_acl>をうまく指定すれば、マルチキャストグループに基づいたRPの負荷分散が可能です。また、<std_acl>にdeny句を使用するとRP使用禁止のグループアドレスを指定する事ができます

Router(config)# ip pim send-rp-announce <int> scope <ttl> group-list <std_acl>

設定例

RP CandidatorであるR1, R2に対して、以下のグループアドレスを指定します。

R1 R2
deny 239.0.0.0/8
permit 224.0.0.0/5
permit 224.0.0.0/4
deny 239.0.0.0/8
permit 232.0.0.0/5
permit 224.0.0.0/4

RPのグループアドレスも、longest matchの法則が適用されます。例えば、グループアドレス224.3.3.3に合致するエントリは224.0.0.0/4と224.0.0.0/5ですが、実際に適用されるのは224.0.0.0/5です。実際に使用されるRPのアドレスをまとめると以下の通りです。R1は224.0.0.0/5に対するRPに、R2は232.0.0.0/5に対するRPになるので、負荷分散されます。また、R1もR2も224.0.0.0/4に対するRPなので、R1, R2のどちらか片方に障害が発生したとしても自動的にRPが切り替わります。

group address RP
224.0.0.0 – 231.255.255.255 R1 (192.168.12.1)
232.0.0.0 – 238.255.255.255 R2 (10.2.2.2)
239.0.0.0 – 239.255.255.255 なし

具体的な設定は以下の通りです。

 [R1]
ip access-list standard RP_ANNOUNCE
 10 deny 239.0.0.0 0.255.255.255
 20 permit 224.0.0.0 7.255.255.255
 30 permit 224.0.0.0 15.255.255.255

no ip pim send-rp-announce Ethernet0/0 scope 5 interval 10
ip pim send-rp-announce Ethernet0/0 scope 5 group-list RP_ANNOUNCE interval 10

 [R2]
ip access-list standard RP_ANNOUNCE
 10 deny 239.0.0.0 0.255.255.255
 20 permit 232.0.0.0 7.255.255.255
 30 permit 224.0.0.0 15.255.255.255

no ip pim send-rp-announce Loopback0 scope 5 interval 10
ip pim send-rp-announce Loopback0 scope 5 group-list RP_ANNOUNCE interval 10

Mapping Agentが収集した情報を確認します。224.0.0.0/4, 232.0.0.0/5など様々なグループアドレスに対する情報を収集している事が読み取れます。なお、239.0.0.0/8にはマイナスが表記されていますが、これはnagative cacheと呼ばれRPを使用しない事を意味します。

R3#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)

Group(s) 224.0.0.0/5
  RP 192.168.12.1 (?), v2v1
    Info source: 192.168.12.1 (?), elected via Auto-RP
         Uptime: 00:09:57, expires: 00:00:27
Group(s) 224.0.0.0/4
  RP 192.168.12.1 (?), v2v1
    Info source: 192.168.12.1 (?), elected via Auto-RP
         Uptime: 00:09:57, expires: 00:00:26
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), via Auto-RP
         Uptime: 00:10:07, expires: 00:00:21
Group(s) 232.0.0.0/5
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), elected via Auto-RP
         Uptime: 00:10:07, expires: 00:00:22
Group(s) (-)239.0.0.0/8
  RP 192.168.12.1 (?), v2v1
    Info source: 192.168.12.1 (?), elected via Auto-RP
         Uptime: 00:09:57, expires: 00:00:27
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), via Auto-RP
         Uptime: 00:10:07, expires: 00:00:22
R3#

RP確認コマンドshow ip pim rp mappingには、グループアドレスを指定する事ができます。グループアドレスを指定すると、グループアドレスにマッチするエントリのみが表示されます。例えば、239.3.3.3を指定すると、224.0.0.0/4, 232.0.0.0/8, 239.0.0.0/8がマッチする事が分かり、実際に適用されるのはlongest matchの法則により239.0.0.0/8になる事が分かります。

R3#show ip pim rp mapping 239.3.3.3
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)

Group(s) 224.0.0.0/4
  RP 192.168.12.1 (?), v2v1
    Info source: 192.168.12.1 (?), elected via Auto-RP
         Uptime: 00:11:21, expires: 00:00:23
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), via Auto-RP
         Uptime: 00:11:31, expires: 00:00:28
Group(s) 232.0.0.0/5
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), elected via Auto-RP
         Uptime: 00:11:31, expires: 00:00:28
Group(s) (-)239.0.0.0/8
  RP 192.168.12.1 (?), v2v1
    Info source: 192.168.12.1 (?), elected via Auto-RP
         Uptime: 00:11:21, expires: 00:00:22
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), via Auto-RP
         Uptime: 00:11:31, expires: 00:00:28
R3#

source treeの観察

R3を以下のマルチキャストグループに参加させ、具体的にどのようなツリーが作成されるかを観察します。

interface Loopback0
 ip igmp join-group 224.3.3.3
 ip igmp join-group 232.3.3.3
 ip igmp join-group 239.3.3.3

224.3.3.3はR1をRPとするsource treeが作成されている事が読み取れます。

 [R1]
R1#show ip mroute 10.3.3.3 224.3.3.3

 <omitted>

(*, 224.3.3.3), 00:00:26/00:03:03, RP 192.168.12.1, flags: S
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/0, Forward/Sparse-Dense, 00:00:26/00:03:03

R1#

 [R2]
R2#show ip mroute 10.3.3.3 224.3.3.3

 <omitted>

(*, 224.3.3.3), 00:01:34/00:02:37, RP 192.168.12.1, flags: S
  Incoming interface: Ethernet0/0, RPF nbr 192.168.12.1
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse-Dense, 00:01:34/00:02:37

R2#

 [R3]
R3#show ip mroute 10.3.3.3 224.3.3.3

 <omitted>

(*, 224.3.3.3), 00:02:08/00:02:47, RP 192.168.12.1, flags: SJCL
  Incoming interface: Ethernet0/1, RPF nbr 192.168.23.2
  Outgoing interface list:
    Loopback0, Forward/Sparse-Dense, 00:02:08/00:02:47

R3#

 [R4]
R4#show ip mroute 10.3.3.3 224.3.3.3
Group 224.3.3.3 not found
R4#

232.3.3.3はR2をRPとするsource treeが作成されている事が読み取れます。

 [R1]
R1#show ip mroute 10.3.3.3 232.3.3.3
Group 232.3.3.3 not found
R1#

 [R2]
R2#show ip mroute 10.3.3.3 232.3.3.3

 <omitted>

(*, 232.3.3.3), 00:04:32/00:02:36, RP 10.2.2.2, flags: S
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse-Dense, 00:04:32/00:02:36

R2#

R3#show ip mroute 10.3.3.3 232.3.3.3

 <omitted>

(*, 232.3.3.3), 00:05:05/00:02:52, RP 10.2.2.2, flags: SJCL
  Incoming interface: Ethernet0/1, RPF nbr 192.168.23.2
  Outgoing interface list:
    Loopback0, Forward/Sparse-Dense, 00:05:05/00:02:52

R3#

R4#show ip mroute 10.3.3.3 232.3.3.3
Group 232.3.3.3 not found
R4#

239.3.3.3はsource treeが作成されていない事が読み取れます。なお、R3に(*, G)エントリが存在しますが、これはsource treeではありません。この(*, G)はdense modeによる転送を行う際にテンプレートとなるエントリです。source treeかdense modeのテンプレートかは、sparse modeを表すS flagが存在するかどうかで判断して下さい)

 [R1]
R1#show ip mroute 10.3.3.3 239.3.3.3
Group 239.3.3.3 not found
R1#

 [R2]
R2#show ip mroute 10.3.3.3 239.3.3.3
Group 239.3.3.3 not found
R2#

 [R3]
R3#show ip mroute 10.3.3.3 239.3.3.3

 <omitted>

(*, 239.3.3.3), 00:07:02/00:02:56, RP 0.0.0.0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/2, Forward/Sparse-Dense, 00:06:31/00:00:00
    Ethernet0/1, Forward/Sparse-Dense, 00:06:32/00:00:00
    Loopback0, Forward/Sparse-Dense, 00:07:02/00:00:00

R3#

 [R4]
R4#show ip mroute 10.3.3.3 239.3.3.3
Group 239.3.3.3 not found
R4#

TTL 制限

設定例

Auto RP announce messageまたはAuto RP discovery messageのTTLを小さくする事で、マルチキャストドメインを小さくする手法もあります。例えば、以下のようにR3, R4から送信されるAuto RP discovery messageのTTLを小さくします。

 [R3]
ip pim send-rp-discovery Loopback0 scope 2 interval 10

 [R4]
ip pim send-rp-discovery Loopback0 scope 3 interval 10

R1までAuto RP discovery messageが届かなくなった事が読み取れます。

 [R1]
R1#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP (Auto-RP)

R1#

 [R2]
R2#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP (Auto-RP)

Group(s) 224.0.0.0/5
  RP 192.168.12.1 (?), v2v1
    Info source: 10.3.3.3 (?), elected via Auto-RP
         Uptime: 00:00:24, expires: 00:00:25
Group(s) 224.0.0.0/4
  RP 192.168.12.1 (?), v2v1
    Info source: 10.3.3.3 (?), elected via Auto-RP
         Uptime: 00:00:24, expires: 00:00:26
Group(s) 232.0.0.0/5
  RP 10.2.2.2 (?), v2v1
    Info source: 10.3.3.3 (?), elected via Auto-RP
         Uptime: 00:00:24, expires: 00:00:25
Group(s) (-)239.0.0.0/8
  RP 192.168.12.1 (?), v2v1
    Info source: 10.3.3.3 (?), elected via Auto-RP
         Uptime: 00:00:24, expires: 00:00:25
R2#

RP announce filter

基本設定

以下のコマンドでMapping Agentが受け入れるRP情報を制限する事ができます。

以下のようにグループアドレスのみを指定した場合は、ACLで拒否した情報がRP情報として収集されなくなります。

Router(config)# ip pim rp-announce-filter group-list <std_acl>

以下のようにRPのみを指定した場合は、ACLで指定したRPについて制限がなされます。つまり、ACLで許可した情報がRP情報として収集されなくなります。

Router(config)# ip pim rp-announce-filter rp-list <std_acl>

以下のようにRPとグループアドレスを指定した場合は、ACLで指定したRPについてグループアドレスに基づく制限がなされます。(ACLで指定されなかったRPについては、全ての情報を受け入れます。)

Router(config)# ip pim rp-announce-filter rp-list <std_acl> group-list <std_acl>

設定例

グループアドレスに基づく制限の設定例は以下の通りです。239.0.0.0/8のAuto RP announceを受け入れている事が分かります。

 [R3]
ip access-list standard GROUP_LIST
 10 permit 239.0.0.0 0.255.255.255
!
ip pim rp-announce-filter group-list GROUP_LIST


R3#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)

Group(s) (-)239.0.0.0/8
  RP 192.168.12.1 (?), v2v1
    Info source: 192.168.12.1 (?), elected via Auto-RP
         Uptime: 00:00:52, expires: 00:00:28
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), via Auto-RP
         Uptime: 00:00:44, expires: 00:00:25
R3#

RPに基づく制限の設定例は以下の通りです。R2(10.2.2.2)からのAuto RP announceを全て拒否している事が分かります。

 [R3]
ip access-list standard RP_LIST
 10 permit 10.2.2.2
!
no ip pim rp-announce-filter group-list GROUP_LIST
ip pim rp-announce-filter rp-list RP_LIST


R3#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)

Group(s) 224.0.0.0/5
  RP 192.168.12.1 (?), v2v1
    Info source: 192.168.12.1 (?), elected via Auto-RP
         Uptime: 00:00:31, expires: 00:00:29
Group(s) 224.0.0.0/4
  RP 192.168.12.1 (?), v2v1
    Info source: 192.168.12.1 (?), elected via Auto-RP
         Uptime: 00:00:31, expires: 00:00:28
Group(s) (-)239.0.0.0/8
  RP 192.168.12.1 (?), v2v1
    Info source: 192.168.12.1 (?), elected via Auto-RP
         Uptime: 00:02:11, expires: 00:00:28
R3#

RPとグループアドレスに基づく制限の設定例は以下の通りです。R2(10.2.2.2)からのAuto RP announceは239.0.0.0/24のみ許可しています。言い換えると、R2(10.2.2.2)からのAuto RP announceについて、224.0.0.0/4, 232.0.0.0/5を拒否しています。

224.0.0.0/4のエントリはR1(192.168.12.1)から受信した情報のみである事、また232.0.0.0/5のエントリが存在しない事などからフィルタリングされた様子を読み取る事ができます。

 [R3]
no ip pim rp-announce-filter rp-list RP_LIST
ip pim rp-announce-filter rp-list RP_LIST group-list GROUP_LIST


R3#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)

Group(s) 224.0.0.0/5
  RP 192.168.12.1 (?), v2v1
    Info source: 192.168.12.1 (?), elected via Auto-RP
         Uptime: 00:03:07, expires: 00:00:22
Group(s) 224.0.0.0/4
  RP 192.168.12.1 (?), v2v1
    Info source: 192.168.12.1 (?), elected via Auto-RP
         Uptime: 00:03:07, expires: 00:00:22
Group(s) (-)239.0.0.0/8
  RP 192.168.12.1 (?), v2v1
    Info source: 192.168.12.1 (?), elected via Auto-RP
         Uptime: 00:04:47, expires: 00:00:23
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), via Auto-RP
         Uptime: 00:00:50, expires: 00:00:21
R3#

Multicast Boundary

基本設定

Multicast BoundaryはPIM join messageやAuto RP messageを制限する事によって、マルチキャストに境界を設ける技術です。

(*, G) join messageを制限するには、以下のコマンドを指定します。

Router(config-if) ip multicast boundary <std_acl>

(S, G) join messageを制限するには、以下のコマンドを指定します。なお、in, outはPIM messageが流れる方向ではなく、マルチキャストのデータパケットが流れる方向を指定します。

Router(config-if) ip multicast boundary <ext_acl> { in | out }

Auto RP messageを制限するには、以下のコマンドを指定します。<std_acl>にはグループアドレスを指定してます。
なお、announce, discoveryの両方を制限する事が可能ですが、誤って、224.0.1.39, 224.0.1.40まで制限しないよう注意して下さい。

Router(config-if) ip multicast boundary <std_acl> filter-autorp

動作確認

物理構成は先ほどと同じですが、RP candidator, Mapping Agentの構成を変更します。

RP candidator       RP candidator      Mapping Agent
 +--------+          +--------+          +--------+          +--------+
 |   R1   +----------+   R2   +----------+   R3   +----------+   R4  | 
 +--------+.1      .2+--------+.2      .3+--------+.3      .4+--------+
         e0/0      e0/0      e0/2      e0/2      e0/3      e0/3
         192.168.12.0/24     192.168.23.0/24     192.168.34.0/24
 [R1]
ip access-list standard ANNOUNCE
 10 permit 224.0.0.0 15.255.255.255
 20 permit 239.1.0.0 0.0.255.255
 30 permit 239.3.0.0 0.0.255.255
 40 permit 239.5.0.0 0.0.255.255
!
ip pim send-rp-announce Loopback0 scope 5 group-list ANNOUNCE interval 10

 [R2]
ip access-list standard ANNOUNCE
 10 permit 224.0.0.0 15.255.255.255
 20 permit 239.2.0.0 0.0.255.255
 30 permit 239.4.0.0 0.0.255.255
 40 permit 239.6.0.0 0.0.255.255
!
ip pim send-rp-announce Loopback0 scope 5 group-list ANNOUNCE interval 10

 [R3]
ip pim send-rp-discovery Loopback0 scope 5 interval 10

設定全文は下記ファイルです。ルーティングなどの詳細設定は下記を参照ください。

R1
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
no ip domain lookup
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.1.1.1 255.255.255.255
 ip pim sparse-dense-mode
!
interface Ethernet0/0
 ip address 192.168.12.1 255.255.255.0
 ip pim sparse-dense-mode
 half-duplex
!
interface Ethernet0/1
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/2
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router eigrp 10
 network 0.0.0.0
 no auto-summary
!
ip http server
ip forward-protocol nd
!
!
ip pim send-rp-announce Loopback0 scope 5 interval 10
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
R2
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R2
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
no ip domain lookup
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.2.2.2 255.255.255.255
 ip pim sparse-dense-mode
!
interface Ethernet0/0
 ip address 192.168.12.2 255.255.255.0
 ip pim sparse-dense-mode
 half-duplex
!
interface Ethernet0/1
 ip address 192.168.23.2 255.255.255.0
 ip pim sparse-dense-mode
 half-duplex
!
interface Ethernet0/2
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router eigrp 10
 network 0.0.0.0
 no auto-summary
!
ip http server
ip forward-protocol nd
!
!
ip pim send-rp-announce Loopback0 scope 5 interval 10
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
R3
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R3
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
no ip domain lookup
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.3.3.3 255.255.255.255
 ip pim sparse-dense-mode
!
interface Ethernet0/0
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/1
 ip address 192.168.23.3 255.255.255.0
 ip pim sparse-dense-mode
 half-duplex
!
interface Ethernet0/2
 ip address 192.168.34.3 255.255.255.0
 ip pim sparse-dense-mode
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router eigrp 10
 network 0.0.0.0
 no auto-summary
!
ip http server
ip forward-protocol nd
!
!
ip pim send-rp-discovery Loopback0 scope 5 interval 10
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
R4
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R4
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
no ip domain lookup
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.4.4.4 255.255.255.255
 ip pim sparse-dense-mode
!
interface Ethernet0/0
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/1
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/2
 ip address 192.168.34.4 255.255.255.0
 ip pim sparse-dense-mode
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router eigrp 10
 network 0.0.0.0
 no auto-summary
!
ip http server
ip forward-protocol nd
!
!
ip pim send-rp-discovery Loopback0 scope 5 interval 10
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end

discovery message 制限

R3(Mapping Agent)からR4に伝えるRP情報を239.1.0.0/16, 239.2.0.0/16のみに限定します。

 [R3]
ip access-list standard BOUNDARY_R4
 10 permit 224.0.1.40
 20 permit 239.1.0.0 0.0.255.255
 30 permit 239.2.0.0 0.0.255.255
!
interface Ethernet0/2
 ip multicast boundary BOUNDARY_R4 filter-autorp

RPとして使用するグループアドレスが、239.1.0.0/16, 239.2.0.0/16のみになっている事が読み取れます。

 [R4]
R4#show ip pim rp mapping
PIM Group-to-RP Mappings

Group(s) 239.1.0.0/16
  RP 10.1.1.1 (?), v2v1
    Info source: 10.3.3.3 (?), elected via Auto-RP
         Uptime: 00:04:24, expires: 00:00:27
Group(s) 239.2.0.0/16
  RP 10.2.2.2 (?), v2v1
    Info source: 10.3.3.3 (?), elected via Auto-RP
         Uptime: 00:04:26, expires: 00:00:28
R4#

announce message 制限

R3(Mapping Agent)がR2から受信するRP情報を239.1.0.0/16, 239.2.0.0/16のみに限定します。

 [R3]
ip access-list standard BOUNDARY_R2
 10 permit 224.0.1.39
 20 permit 224.0.1.40
 30 permit 239.1.0.0 0.0.255.255
 40 permit 239.2.0.0 0.0.255.255
 50 permit 239.3.0.0 0.0.255.255
 60 permit 239.4.0.0 0.0.255.255
!
interface Ethernet0/1
 ip multicast boundary BOUNDARY_R2 filter-autorp

R3が受信したRP情報が、239.1.0.0/16, 239.2.0.0/16, 239.3.0.0/16, 239.4.0.0/16のみになっている事が読み取れます。

R3#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)

Group(s) 239.1.0.0/16
  RP 10.1.1.1 (?), v2v1
    Info source: 10.1.1.1 (?), elected via Auto-RP
         Uptime: 00:27:52, expires: 00:00:28
Group(s) 239.2.0.0/16
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), elected via Auto-RP
         Uptime: 00:16:10, expires: 00:00:29
Group(s) 239.3.0.0/16
  RP 10.1.1.1 (?), v2v1
    Info source: 10.1.1.1 (?), elected via Auto-RP
         Uptime: 00:00:32, expires: 00:00:28
Group(s) 239.4.0.0/16
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), elected via Auto-RP
         Uptime: 00:00:32, expires: 00:00:30
R3#

ブラックリスト形式の指定

ブラックリスト形式(明示的なdeny)の指定はやや注意が必要です。先ほどのR2に対するフィルタを以下のようなブラックリスト形式に変換します。

 [R3]
no ip access-list standard BOUNDARY_R2
ip access-list standard BOUNDARY_R2
 10 permit 224.0.1.39
 20 permit 224.0.1.40
 30 deny 239.5.0.0 0.0.255.255
 40 deny 239.6.0.0 0.0.255.255
 99 permit any
!
interface Ethernet0/1
 ip multicast boundary BOUNDARY_R2 filter-autorp

しばらく待つと、以下のようなメッセージが表示されます。RP情報を確認すると、R1, R2から受信した224.0.0.0/4に関する情報が存在しない事が分かります。ブラックリスト形式(明示的なdeny)でのfilter-autorpを使用すると、グループアドレスが重複したエントリはAuto RP announceから削除されてしまう事に注意して下さい。

R3#
*Mar  1 01:10:11.375: %AUTORP-4-OVERLAP: AutoRP Announcement packet, group 224.0.0.0 with mask 240.0.0.0 removed because of multicast boundary for 239.5.0.0 with mask 255.255.0.0
R3#
R3#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)

Group(s) 239.1.0.0/16
  RP 10.1.1.1 (?), v2v1
    Info source: 10.1.1.1 (?), elected via Auto-RP
         Uptime: 00:38:15, expires: 00:00:29
Group(s) 239.2.0.0/16
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), elected via Auto-RP
         Uptime: 00:26:33, expires: 00:00:28
Group(s) 239.3.0.0/16
  RP 10.1.1.1 (?), v2v1
    Info source: 10.1.1.1 (?), elected via Auto-RP
         Uptime: 00:10:55, expires: 00:00:29
Group(s) 239.4.0.0/16
  RP 10.2.2.2 (?), v2v1
    Info source: 10.2.2.2 (?), elected via Auto-RP
         Uptime: 00:10:56, expires: 00:00:28
R3#
R3#
R3#show ip pim rp mapping 224.0.0.1
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)

R3#

RP Candidatorにおけるブラックリスト形式の指定

RP Candidatorでブラックリスト形式のfilter-autorpの使用は、細心の注意が必要です。かなり不可解な挙動をします。

 [R3]
interface Ethernet0/1
 no ip multicast boundary BOUNDARY_R2 filter-autorp

 [R2]
ip access-list standard BOUNDARY_R3
 10 permit 224.0.1.39
 20 permit 224.0.1.40
 30 deny 239.5.0.0 0.0.255.255
 40 deny 239.6.0.0 0.0.255.255
 99 permit any
!
interface Ethernet0/1
 ip multicast boundary BOUNDARY_R3 filter-autorp

Mapping AgentにおけるRP情報を確認します。R2(10.2.2.2)からのRP情報をまったく受信していない事が分かります。

R3#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)

Group(s) 239.1.0.0/16
  RP 10.1.1.1 (?), v2v1
    Info source: 10.1.1.1 (?), elected via Auto-RP
         Uptime: 00:48:46, expires: 00:00:24
Group(s) 239.3.0.0/16
  RP 10.1.1.1 (?), v2v1
    Info source: 10.1.1.1 (?), elected via Auto-RP
         Uptime: 00:21:27, expires: 00:00:24
R3#

R2では以下メッセージの通り、グループアドレスが重複したAuto RP announceを削除するようです。推測に過ぎませんが、どうやら、重複したRP情報を削除すると同時に、R2自身が生成するRP情報も削除してしまっているようです。

R2#
*Mar  1 01:22:36.411: %AUTORP-4-OVERLAP: AutoRP Announcement packet, group 224.0.0.0 with mask 240.0.0.0 removed because of multicast boundary for 239.5.0.0 with mask 255.255.0.0
R2#
タイトルとURLをコピーしました