ネットワーク構成

pim-sm_basic_configuration01.png
図 PIM-SMの基本設定 ネットワーク構成

設定条件

【スタティックRP】

  1. R1~R6でPIM-SMによるマルチキャストルーティングを行います。
  2. ホスト1を239.1.1.1のマルチキャストグループのソースとします。ホスト2、ホスト3は239.1.1.1のレシーバとします。R3のLoopback0のIPアドレスを239.1.1.1のRPとします。RPの設定はスタティックで行います。
  3. マルチキャストパケットのルーティングは、ソースからレシーバまでの最短経路になるようにします。ただし、不要なスイッチオーバーは起こらないようにしてください。また、ホスト2へのマルチキャストパケットはR4を経由してルーティングされるようにします。

設定と確認

Step1:PIM-SMの有効化

R1~R6でマルチキャストルーティングを有効化します。そして、マルチキャストパケットが転送される経路上のすべてのインタフェースでPIM-SMを有効化します。Loopback0のIPアドレスをRPアドレスとするために、Loopback0でもPIM-SMを有効化します。

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
!
interface Ethernet0/3
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
!
interface Ethernet0/2
ip pim sparse-mode
!
interface Ethernet0/3
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
--------------------------------------------------------------

R5

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

R6

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

Step2:PIMネイバーの確認

R1~R6でPIM-SMを有効化したインタフェースとPIMネイバーを確認します。そのために、以下のコマンドを利用します。

  • show ip pim interface
  • show ip pim neighbor

R3では、次のような表示になります。

R3

--------------------------------------------------------------
R3#show ip pim interface
Address          Interface                Ver/   Nbr    Query  DR     DR
Mode   Count  Intvl  Prior
192.168.0.3      Loopback0                v2/S   0      30     1      192.168.0.3
192.168.13.3     Ethernet0/0              v2/S   1      30     1      192.168.13.3
192.168.34.3     Ethernet0/1              v2/S   1      30     1      192.168.34.4
192.168.35.3     Ethernet0/2              v2/S   1      30     1      192.168.35.5
192.168.23.3     Ethernet0/3              v2/S   1      30     1      192.168.23.3
R3#show ip pim neighbor
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
S - State Refresh Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
192.168.13.1      Ethernet0/0              00:08:45/00:01:21 v2    1 / S
192.168.34.4      Ethernet0/1              00:07:56/00:01:39 v2    1 / DR S
192.168.35.5      Ethernet0/2              00:07:50/00:01:15 v2    1 / DR S
192.168.23.2      Ethernet0/3              00:08:45/00:01:22 v2    1 / S
--------------------------------------------------------------

Step3:RPの設定

R1~R6で239.1.1.1のRPアドレスとしてR3のLoopback0のIPアドレス 192.168.0.3を指定します。

R1~R6共通

--------------------------------------------------------------
access-list 1 permit 239.1.1.1
ip pim rp-address 192.168.0.3 1
--------------------------------------------------------------

Step4:RPアドレス、RPFインタフェースの確認

R1~R6でマルチキャストグループ 239.1.1.1のRPアドレスとして192.168.0.3を認識していることを確認します。また、RPアドレス 192.168.0.3に対するRPFインタフェースを確認します。そのために、以下のコマンドを利用します。

  • show ip pim rp mapping
  • show access-lists
  • show ip rpf 192.168.0.3

R2では、次のような表示になります。

R2

--------------------------------------------------------------
R2#show ip pim rp mapping
PIM Group-to-RP Mappings
Acl: 1, Static
RP: 192.168.0.3 (?)
R2#show access-lists
Standard IP access list 1
10 permit 239.1.1.1
R2#show ip rpf 192.168.0.3
RPF information for ? (192.168.0.3)
RPF interface: Ethernet0/3
RPF neighbor: ? (192.168.23.3)
RPF route/mask: 192.168.0.3/32
RPF type: unicast (ospf 1)
RPF recursion count: 0
Doing distance-preferred lookups across tables
--------------------------------------------------------------

※コマンド表示内の「?」は、IPアドレスに対するホスト名が解決できていないことを表しています。

次の図は、各ルータで239.1.1.1のRPアドレス 192.168.0.3に対するRPFインタフェースをまとめたものです。

pim-sm_basic_configuration02.png
図 192.168.0.3に対するRPFインタフェース

RPFインタフェースは、ユニキャストルーティングテーブルから自動的に決定されています。239.1.1.1のShared Treeでは、RPFインタフェースがマルチキャストパケットの受信インタフェースとなります。

Step5:レシーバの設定

ホスト2、ホスト3を239.1.1.1のレシーバとして設定します。

ホスト2/ホスト3共通

--------------------------------------------------------------
interface Ethernet0/0
ip igmp join-group 239.1.1.1
--------------------------------------------------------------

Step6:Shared Treeの確認

ホスト2、ホスト3を239.1.1.1のレシーバとして設定したことによって、RPまでのShared Treeが作成されます。R2~R6で239.1.1.1のShared Treeを確認します。そのために、次のコマンドを利用します。

  • show ip mroute 239.1.1.1

R2

--------------------------------------------------------------
R2#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~
(*, 239.1.1.1), 00:11:11/00:03:09, RP 192.168.0.3, flags: S
Incoming interface: Ethernet0/3, RPF nbr 192.168.23.3
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 00:11:11/00:03:09
--------------------------------------------------------------

R3

--------------------------------------------------------------
R3#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~
(*, 239.1.1.1), 00:02:35/00:02:58, RP 192.168.0.3, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/3, Forward/Sparse, 00:02:30/00:02:58
Ethernet0/2, Forward/Sparse, 00:02:35/00:02:53
--------------------------------------------------------------

R4

--------------------------------------------------------------
R4#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~
(*, 239.1.1.1), 00:03:19/00:02:31, RP 192.168.0.3, flags: SP
Incoming interface: Ethernet0/0, RPF nbr 192.168.34.3
Outgoing interface list: Null
--------------------------------------------------------------

R5

--------------------------------------------------------------
R5#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~
(*, 239.1.1.1), 00:04:24/00:02:31, RP 192.168.0.3, flags: SJC
Incoming interface: Ethernet0/0, RPF nbr 192.168.35.3
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 00:04:24/00:02:31
--------------------------------------------------------------

R6

--------------------------------------------------------------
R6#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~
(*, 239.1.1.1), 00:05:02/00:01:55, RP 192.168.0.3, flags: SJC
Incoming interface: Ethernet0/0, RPF nbr 192.168.26.2
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 00:05:02/00:01:55
--------------------------------------------------------------

次の図は、239.1.1.1のShared Treeについてまとめたものです。

pim-sm_basic_configuration03.png
図 239.1.1.1のShared Tree

239.1.1.1のShared Treeを確認すると、ホスト2へのマルチキャストパケットはR5を経由してルーティングされることがわかります。これは、192.168.45.0/24でPIMのDRがR5となっているからです。ホスト2からのIGMPレポートに対して、DRであるR5がPIM JoinメッセージをRPFネイバーであるR3へ送信しています。

pim-sm_basic_configuration04.png
図 DRの動作

R4を経由してホスト2へマルチキャストパケットをルーティングするためには、192.168.45.0/24上でR4をDRとしなければいけません。

Step7:DRの設定

R4を192.168.45.0/24上のDRとするために、Ethernet0/1でPIMのプライオリティの設定を行います。PIMのプライオリティはデフォルトが1で値が大きい方が優先されます。

R4

--------------------------------------------------------------
interface Ethernet0/1
ip pim dr-priority 10
--------------------------------------------------------------

Step8:DRとShared Treeの確認

R4が192.168.45.0/24のDRとなり、R4を経由してマルチキャストパケットをルーティングするShared Treeであることを確認します。そのために、次のコマンドを利用します。

  • show ip pim interface ethernet0/1 detail
  • show ip mroute 239.1.1.1

R4

--------------------------------------------------------------
R4#show ip pim interface ethernet 0/1 detail
Ethernet0/1 is up, line protocol is up
Internet address is 192.168.45.4/24
Multicast switching: fast
Multicast packets in/out: 0/0
Multicast TTL threshold: 0
PIM: enabled
PIM version: 2, mode: sparse
PIM DR: 192.168.45.4 (this system)
PIM neighbor count: 1
PIM Hello/Query interval: 30 seconds
PIM Hello packets in/out: 164/164
PIM State-Refresh processing: enabled
PIM State-Refresh origination: disabled
PIM NBMA mode: disabled
PIM ATM multipoint signalling: disabled
PIM domain border: disabled
Multicast Tagswitching: disabled
R4#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~
(*, 239.1.1.1), 00:39:12/00:02:41, RP 192.168.0.3, flags: SJC
Incoming interface: Ethernet0/0, RPF nbr 192.168.34.3
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 00:12:42/00:02:41
--------------------------------------------------------------

Step9:マルチキャストパケットの送信

ホスト1から239.1.1.1あてにPingを実行して、マルチキャストパケットを送信します。ここまでの設定が正しく行われていれば、ホスト2、ホスト3から応答が返ってきます。

ホスト1

--------------------------------------------------------------
H1#ping 239.1.1.1 repeat 3
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:
Reply to request 0 from 192.168.45.100, 128 ms
Reply to request 0 from 192.168.6.100, 156 ms
Reply to request 1 from 192.168.45.100, 84 ms
Reply to request 1 from 192.168.6.100, 92 ms
Reply to request 1 from 192.168.45.100, 84 ms
Reply to request 2 from 192.168.45.100, 48 ms
Reply to request 2 from 192.168.6.100, 72 ms
--------------------------------------------------------------

Step10:ディストリビューションツリーの確認

ホスト1からマルチキャストパケットを送信したあと、R1~R6で239.1.1.1のSource TreeとShared Treeの状態を確認します。そのために、次のコマンドを利用します。

  • show ip route 239.1.1.1

※マルチキャストパケットの送信を止めてから約3分間でSource Treeは削除されます。Source Treeが削除されている場合は、再びStep9を実行してホスト1からマルチキャストパケットを送信してください。

R1

--------------------------------------------------------------
R1#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~
(*, 239.1.1.1), 00:06:02/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:01:51/00:03:27, flags: FT
Incoming interface: Ethernet0/0, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 00:01:50/00:02:37
Ethernet0/2, Forward/Sparse, 00:01:50/00:02:40
--------------------------------------------------------------

R2

--------------------------------------------------------------
R2#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~
(*, 239.1.1.1), 01:06:01/00:03:29, RP 192.168.0.3, flags: S
Incoming interface: Ethernet0/3, RPF nbr 192.168.23.3
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 01:06:01/00:03:29
(192.168.1.100, 239.1.1.1), 00:02:57/00:03:22, flags: T
Incoming interface: Ethernet0/0, RPF nbr 192.168.12.1
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 00:02:57/00:03:29
--------------------------------------------------------------

R3

--------------------------------------------------------------
R3#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~
(*, 239.1.1.1), 01:06:54/00:03:27, RP 192.168.0.3, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 00:40:23/00:03:27
Ethernet0/3, Forward/Sparse, 01:06:49/00:02:41
(192.168.1.100, 239.1.1.1), 00:03:45/00:03:28, flags: T
Incoming interface: Ethernet0/0, RPF nbr 192.168.13.1
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 00:03:45/00:03:27
--------------------------------------------------------------

R4

--------------------------------------------------------------
R4#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~
(*, 239.1.1.1), 01:07:40/stopped, RP 192.168.0.3, flags: SJC
Incoming interface: Ethernet0/0, RPF nbr 192.168.34.3
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 00:41:10/00:02:20
(192.168.1.100, 239.1.1.1), 00:04:31/00:02:50, flags: JT
Incoming interface: Ethernet0/0, RPF nbr 192.168.34.3
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 00:04:31/00:02:20
--------------------------------------------------------------

R5

--------------------------------------------------------------
R5#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~
(*, 239.1.1.1), 01:08:17/00:02:43, RP 192.168.0.3, flags: SP
Incoming interface: Ethernet0/0, RPF nbr 192.168.35.3
Outgoing interface list: Null
--------------------------------------------------------------

R6

--------------------------------------------------------------
R6#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~
(*, 239.1.1.1), 01:08:47/stopped, RP 192.168.0.3, flags: SJC
Incoming interface: Ethernet0/0, RPF nbr 192.168.26.2
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 01:08:47/00:02:11
(192.168.1.100, 239.1.1.1), 00:05:43/00:02:30, flags: JT
Incoming interface: Ethernet0/0, RPF nbr 192.168.26.2
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 00:05:43/00:02:11
--------------------------------------------------------------

スイッチオーバーによってR5を除くすべてのルータでSource Treeの(192.168.1.100,239.1.1.1)
エントリが作成されていることがわかります。次の図は、Source Tree (192.168.1.100,239.1.1.1)のIncoming InterfaceとOutgoing Interfaceについてまとめています。

pim-sm_basic_configuration05.png
図 Source Tree (192.168.1.100,239.1.1.1)

Step11:スイッチオーバーの無効化

スイッチオーバーによってホスト3へのマルチキャストパケットは最短経路でルーティングされるようになっています。しかし、ホスト2にはスイッチオーバーしてもしなくてもマルチキャストパケットの転送経路は変わりません。R4に必要のないSource Treeが作成されないように、R4でスイッチオーバーを無効化します。また、R4がダウンした場合を考慮して、R5でもスイッチオーバーを無効化します。

R4/R5

--------------------------------------------------------------
ip pim spt-threshold infinity group-list 1
--------------------------------------------------------------

Step12:スイッチオーバーの無効化の確認

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

ホスト1

--------------------------------------------------------------
H1#ping 239.1.1.1 repeat 3
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:
Reply to request 0 from 192.168.45.100, 84 ms
Reply to request 0 from 192.168.6.100, 120 ms
Reply to request 1 from 192.168.45.100, 88 ms
Reply to request 1 from 192.168.6.100, 100 ms
Reply to request 2 from 192.168.45.100, 16 ms
Reply to request 2 from 192.168.6.100, 44 ms
--------------------------------------------------------------

R4

--------------------------------------------------------------
R4#show ip mroute 239.1.1.1
IP Multicast Routing Table
~省略~
(*, 239.1.1.1), 02:01:32/00:02:30, RP 192.168.0.3, flags: SC
Incoming interface: Ethernet0/0, RPF nbr 192.168.34.3
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 01:35:02/00:02:25
--------------------------------------------------------------


有料メールマガジン「ネットワークのおべんきょしませんか? PREMIUM」の2015年3月のバックナンバーを購入していただくと、スタティックRP以外のすべての設定の解説を行っている高解像度のMP4ファイルとPDFファイル、GNS3プロジェクトファイルをダウンロードできます。