Cisco IOS マルチキャスト PIM SSM (source-specific multicast)の設定方法

スポンサーリンク

通常、PIM sparse modeは共有ツリーと送信元ツリーで作成されます。しかし、sparse modeには、送信元からレシーバまでの間にひとつの送信元ツリーを作るSSM modeも存在します。

概要

PIM SSM(source specific multicast)とは特殊なsparse modeで、マルチキャストソースからマルチキャストレシーバまでのsource treeを作成します。マルチキャストソースが1つしかない、One to Manyの環境に適した処理です。

コマンド一覧

このシナリオで重要なコマンド一覧は以下の通りです。

Router(config)# ip pim ssm { defalut | <std_acl> }

Router(config)# interface <interface>
Router(config-if)# ip igmp version 3
Router(config-if)# ip igmp join-group <group_addr> source <source_addr>

構成図

これ以降の動作確認は、以下の環境で行います。R2をRP Candidator かつ BSR Routerとして設定します。

          e0/1      e0/0      e0/1      e0/0      e0/1      e0/0       e0/1    
          .1+--------+.1      .2+--------+.2      .3+--------+.3    .103+--------+
        ----+   R1   +----------+   R2   +----------+   R3   +----------+ Host 3| 
            +--------+          +--------+          +--------+          +--------+
192.168.1.0/24     192.168.12.0/24     192.168.23.0/24     192.168.3.0/24

           R1 Loopback0        R2 Loopback0        R3 Loopback0
           10.1.1.1/24         10.2.2.2/24         10.3.3.3/24
 [R1]
ip multicast-routing 
!
interface Loopback0
 ip pim sparse-mode
!
interface Ethernet0/0
 ip pim sparse-mode
!
interface Ethernet0/1
 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

設定全文は下記ファイルです。詳細設定は下記を参照ください。

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
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.1.1.1 255.255.255.255
 ip pim sparse-mode
!
interface Ethernet0/0
 ip address 192.168.12.1 255.255.255.0
 ip pim sparse-mode
 half-duplex
!
interface Ethernet0/1
 ip address 192.168.1.1 255.255.255.0
 ip pim sparse-mode
 half-duplex
 no keepalive
!
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
!
!
!
!
!
!
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 R3
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.2.2.2 255.255.255.255
 ip pim sparse-mode
!
interface Ethernet0/0
 ip address 192.168.23.2 255.255.255.0
 ip pim sparse-mode
 half-duplex
!
interface Ethernet0/1
 ip address 192.168.12.2 255.255.255.0
 ip pim sparse-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
!
!
!
!
!
!
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
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.3.3.3 255.255.255.255
 ip pim sparse-mode
!
interface Ethernet0/0
 ip address 192.168.3.3 255.255.255.0
 ip pim sparse-mode
 half-duplex
!
interface Ethernet0/1
 ip address 192.168.23.3 255.255.255.0
 ip pim sparse-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
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
Host3
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Host3
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Ethernet0/0
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/1
 ip address 192.168.3.103 255.255.255.0
 half-duplex
!
interface Ethernet0/2
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
ip http server
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 192.168.3.3
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end

PIM SSM

仕様説明

PIM SSMを使用するには、ラストホップルータでPIM SSMを有効にします。SSMによるルーティングを行うマルチキャストグループは<std_acl>により指定可能です。もし、defaultを指定した場合はSSM用途として予約された232.0.0.0/8をSSMで使用します。

Router(config)# ip pim ssm { defalut | <std_acl> }

SSMによるマルチキャストグループに参加するには、マルチキャストグループだけでなくマルチキャストレシーバも含めたメッセージをラストホップルータに送信する必要があります。このようなメッセージを送信するには、IGMP version 3を指定する必要があります(IGMP version 2 未満はinclude modeのIGMP joinをサポートしていないため)。

マルチキャストグループに参加するには、以下のようにIGMP version指定コマンドとマルチキャストソースを指定したjoinが必要になります。

Router(config)# interface <interface>
Router(config-if)# ip igmp version 3
Router(config-if)# ip igmp join-group <group_addr> source <source_addr>

マルチキャストレシーバからのIGMP version 3をListenできるようラストホップルータ側のIGMP version変更も忘れずに行って下さい。

Router(config)# interface <interface>
Router(config-if)# ip igmp version 3

PIM SSM 設定

Host3をマルチキャストレシーバ、R1をマルチキャストソースである通信を例に挙げて動作確認します。ラストホップルータであるR3でSSMを有効にします。また、IGMP joinをListenするinterfaceをIGMP version 3に変更します。

 [R3]
ip pim ssm default
!
interface Ethernet0/0
 ip pim sparse-mode
 ip igmp version 3

PIM SSM 設定

Host3を以下マルチキャストグループに参加させます。

 [Host3]
interface Ethernet0/1
 ip igmp join-group 232.3.3.3 source 192.168.1.1
 ip igmp version 3

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

R1からHost3までのsource treeが作成されている事を確認します。

 [R1]
R1#show ip mroute 232.3.3.3

 <omitted>

(*, 232.3.3.3), 00:06:23/stopped, RP 0.0.0.0, flags: SPF
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list: Null

(192.168.1.1, 232.3.3.3), 00:02:26/00:01:04, flags: FT
  Incoming interface: Ethernet0/1, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0/0, Forward/Sparse, 00:02:26/00:03:02

R1#

 [R2]
R2#show ip mroute 232.3.3.3

 <omitted>

(*, 232.3.3.3), 00:06:31/stopped, RP 0.0.0.0, flags: SP
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list: Null

(192.168.1.1, 232.3.3.3), 00:02:33/00:00:56, flags:
  Incoming interface: Ethernet0/1, RPF nbr 192.168.12.1
  Outgoing interface list:
    Ethernet0/0, Forward/Sparse, 00:02:33/00:02:54

R2#

 [R3]
R3#show ip mroute 232.3.3.3

 <omitted>

(192.168.1.1, 232.3.3.3), 00:06:35/00:02:29, flags: sTI
  Incoming interface: Ethernet0/1, RPF nbr 192.168.23.2
  Outgoing interface list:
    Ethernet0/0, Forward/Sparse, 00:06:35/00:02:29

R3#
タイトルとURLをコピーしました