【マルチキャスト】PIM-SMをわかりやすく解説(スタティックRP)

PIM-SM(PIM Sparse Mode)の動作を、Cisco ルータの検証構成をもとに順に確認していきます。RP(ランデブーポイント)は動的に学習させず、全ルータに手動で設定する「スタティック RP」の構成です。

マルチキャストルーティングの全体像は、先に次の記事を読んでおくと理解しやすくなります。

>> 参考:【初心者わかりやすく】マルチキャストルーティングの第1歩

この記事でわかること
  1. マルチキャストルーティングと PIM-SM を有効にし、PIM の隣接関係を作る
  2. RP を手動で設定し、PIM Register でマルチキャストを RP に届ける
  3. 受信機の参加(Join)から共有ツリーができ、送信元ツリーに切り替わるまでの流れ
  4. show ip mroute で共有ツリーと送信元ツリーを読み取る

検証構成

配信サーバ(192.168.12.1)が 239.1.1.1 宛てにマルチキャストを配信し、受信機(Receiver-1)が IGMPv2 で 239.1.1.1 への参加を要求します。R5 のループバックアドレス(5.5.5.5/32)を RP にします。

192.168.25.0/24 192.168.35.0/24 192.168.23.0/24 192.168.12.0/24 192.168.34.0/24 .1 .2 .2 .3 .3 .4 .2 .3 .5 .5 239.1.1.1 IGMPv2 R5(RP) Loopback0 5.5.5.5 R2 R3 配信サーバ 受信機
図1 検証構成

マルチキャストの設定

ユニキャストのルーティングを設定する

まず、各ネットワーク間でユニキャストのルーティングができるようにします。ここでは OSPF で設定しています(設定は記事の最後にまとめています)。PIM は、ユニキャストのルーティングテーブルを使って RPF チェック(受信したインターフェースが正しいかの確認)をするので、ユニキャストのルーティングが前提になります。

配信サーバはマルチキャストを送信するだけなので、デフォルトゲートウェイを設定しなくてもかまいません。受信機も、マルチキャストを受信するだけならデフォルトゲートウェイは不要です。今回は、配信サーバからのマルチキャスト宛ての ping に受信機が応答できるよう、受信機にはデフォルトゲートウェイを設定します。

マルチキャストルーティングを有効にする

Cisco ルータでは、マルチキャストルーティングは既定で無効なので、有効にします。

R2,R3,R5
   (config)# ip multicast-routing

インターフェースで PIM-SM を有効にする

R2・R3・R5 のルータ間のインターフェースと、配信サーバや受信機がつながっているインターフェースで PIM-SM を有効にします。

R2,R3,R5
(config-if)# ip pim sparse-mode
PIM 隣接 PIM 隣接 PIM 隣接 PIM-SM を有効にしたインターフェース R5(RP) Loopback0 5.5.5.5 R2 R3 配信サーバ 受信機
図2 PIM-SM を有効にするインターフェースと、PIM の隣接関係

インターフェースで PIM-SM を有効にすると、ルータは PIM Hello パケットを送り始めます。例えば R2 から R3 への Hello を見てみます。

画面イメージについて

この記事の画面は、実際の画面ではなく、検証時の画面から見るポイントを抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。

パケットキャプチャ(Wireshark):R2 → R3 の PIM Hello画面イメージ
No.TimeSourceDestinationProtocolLengthInfo
72.417281192.168.23.2224.0.0.13PIMv276Hello
5132.367083192.168.23.2224.0.0.13PIMv276Hello
11561.685471192.168.23.2224.0.0.13PIMv276Hello
15790.867000192.168.23.2224.0.0.13PIMv276Hello
199120.223980192.168.23.2224.0.0.13PIMv276Hello
▸ 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 231▸ Internet Protocol Version 4, Src: 192.168.23.2, Dst: 224.0.0.13▾ Protocol Independent Multicast    0010 .... = Version: 22    .... 0000 = Type: Hello (0)    Reserved byte(s): 00    Checksum: 0x4ee3 [correct]  ▾ PIM Options: 53    ▸ Option 1: Hold Time: 105    ▸ Option 20: Generation ID: 1252280022    ▸ Option 19: DR Priority: 1    ▸ Option 21: State Refresh Capable: Version = 1, Interval = 0s    ▸ Option 65004: RPF Proxy Vector
図3 R2 から R3 への PIM Hello(実際の画面ではなく、表示内容のポイントを示したイメージです)
No.表示意味
1Dst: 224.0.0.13宛先は ALL-PIM-ROUTERS(すべての PIM ルータ)のマルチキャストアドレス。一覧の Time を見ると、約30秒ごとに送られている
2Type: Hello (0)PIM Hello メッセージ
3Hold Time: 105この時間 Hello が届かなければ、隣接関係を切る。Hello の送信間隔 30 秒の 3.5 倍の 105 秒

R3 からも同じように PIM Hello が送られ、コンソールに次のログが出て、R2 と R3 が PIM の隣接関係になります。

R2
%PIM-5-NBRCHG: neighbor 192.168.23.3 UP on interface FastEthernet0/0.23
R3
%PIM-5-NBRCHG: neighbor 192.168.23.2 UP on interface FastEthernet0/0.23

隣接関係は show ip pim neighbor で確認できます。

R2# show ip pim neighbor
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
      P - Proxy Capable, S - State Refresh Capable, G - GenID Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
192.168.23.3      FastEthernet0/0.23       00:45:16/00:01:43 v2    1 / DR S P G
192.168.25.5      FastEthernet0/0.25       00:44:40/00:01:20 v2    1 / DR S P G

R2・R3・R5 の間で、それぞれ同じように PIM の隣接関係ができます。

ランデブーポイント(RP)を設定する

RP を設定します。今回は R5 のループバックアドレス(5.5.5.5)を RP にします。RP を動的に学習させるのではなく、全ルータに手動で設定します。RP のアドレスには、どのルータからもユニキャストで届く必要があるので、ループバックのネットワークも OSPF で広告しておきます。

R5
R5(config)# interface Loopback0
R5(config-if)# ip address 5.5.5.5 255.255.255.255
R5(config-if)#!
R5(config-if)# router ospf 1
R5(config-router)# network 5.5.5.5 0.0.0.0 area 0
!
R2、R3、R5
(config)# ip pim rp-address 5.5.5.5

すると、コンソールに次のログが出ます。

R2
%LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up

R3
%LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up

R5
%LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to up

トンネルインターフェースがアップしています。全ルータで Tunnel0 が、RP である R5 だけ Tunnel1 もアップしています。このトンネルは、次の PIM Register で使われます。

動作確認

PIM Register(送信元を RP に登録する)

配信サーバが 239.1.1.1 宛てにマルチキャストを送ると、ファーストホップルータ(送信元に一番近いルータ)である R2 は、そのマルチキャストを PIM Register に入れて、RP(R5)にユニキャストで送ります。このカプセル化にトンネルインターフェースが使われ、Tunnel0 は PIM Register のカプセル化に、R5 の Tunnel1 はカプセル化の解除に使われます。

PIM Register (ユニキャスト) Register-Stop R5(RP) Loopback0 5.5.5.5 R2 R3 配信サーバ 受信機
図4 PIM Register と Register-Stop

配信サーバから 239.1.1.1 へ ping を実行し、R2 と R5 の間の PIM Register を確認します。

パケットキャプチャ(Wireshark):R2 → R5 の PIM Register画面イメージ
1▸ Internet Protocol Version 4, Src: 192.168.12.2, Dst: 5.5.5.5▾ Protocol Independent Multicast    0010 .... = Version: 22    .... 0001 = Type: Register (1)    Reserved byte(s): 00    Checksum: 0xdeff [correct]  ▸ PIM Options3▸ Internet Protocol Version 4, Src: 192.168.12.1, Dst: 239.1.1.1▾ Internet Control Message Protocol    Type: 8 (Echo (ping) request)    Code: 0
図5 PIM Register の中身(実際の画面ではなく、表示内容のポイントを示したイメージです)
No.表示意味
1Src: 192.168.12.2, Dst: 5.5.5.5R2 から RP(R5)へのユニキャストでカプセル化している
2Type: Register (1)PIM Register メッセージ
3Src: 192.168.12.1, Dst: 239.1.1.1中に入っている元のマルチキャストパケット(配信サーバからの ping)

これで RP は、配信サーバ(192.168.12.1)から 239.1.1.1 へのマルチキャストがあることを知ります。次に RP は、送信元に向けて (192.168.12.1, 239.1.1.1) の PIM Join を送り、送信元からのマルチキャストをカプセル化せずに直接受け取れるようにします。直接受け取れるようになると、RP は R2 に Register-Stop を送り、カプセル化をやめさせます。

パケットキャプチャ(Wireshark):R5 → R2 の Register-Stop画面イメージ
1▸ Internet Protocol Version 4, Src: 5.5.5.5, Dst: 192.168.12.2▾ Protocol Independent Multicast    0010 .... = Version: 22    .... 0010 = Type: Register-stop (2)    Reserved byte(s): 00    Checksum: 0x1f33 [correct]  ▾ PIM Options3      Group: 239.1.1.1/32      Source: 192.168.12.1
図6 Register-Stop の中身(実際の画面ではなく、表示内容のポイントを示したイメージです)
No.表示意味
1Src: 5.5.5.5, Dst: 192.168.12.2RP(R5)から R2 へのユニキャスト
2Type: Register-stop (2)Register-Stop メッセージ(カプセル化の停止要求)
3Group・Source停止する対象。送信元 192.168.12.1 からグループ 239.1.1.1 へのマルチキャスト

受信機の参加(PIM Join)

受信機が 239.1.1.1 を受信したいときは、ラストホップルータ(受信機に一番近いルータ)である R3 に IGMP を送ります。IGMPv2 の動作は IGMPv2 の記事 を参照してください。IGMP を受け取った R3 は、RP に向かうインターフェースから PIM Join を送ります。

IGMP (*, G) Join 239.1.1.1 R5(RP) Loopback0 5.5.5.5 R2 R3 配信サーバ 受信機
図7 受信機の IGMP をきっかけに、R3 が RP へ (*, G) Join を送る

R3 から R5 への PIM Join は次のようになります。

パケットキャプチャ(Wireshark):R3 → R5 の PIM Join画面イメージ
1▸ Internet Protocol Version 4, Src: 192.168.35.3, Dst: 224.0.0.13▾ Protocol Independent Multicast    0010 .... = Version: 22    .... 0011 = Type: Join/Prune (3)    Reserved byte(s): 00    Checksum: 0xf430 [correct]  ▾ PIM Options3      Upstream-neighbor: 192.168.35.5      Reserved byte(s): 00      Num Groups: 1      Holdtime: 2104    ▾ Group 0: 239.1.1.1/32      ▸ Num Joins: 1        Num Prunes: 0
図8 (*, G) Join の中身(実際の画面ではなく、表示内容のポイントを示したイメージです)
No.表示意味
1Dst: 224.0.0.13Join/Prune も ALL-PIM-ROUTERS 宛てに送る
2Type: Join/Prune (3)Join と Prune は同じメッセージで運ぶ
3Upstream-neighbor: 192.168.35.5Join を受け取ってほしい上流の PIM ネイバー。RP に向かう R5
4Group 0: 239.1.1.1/32239.1.1.1 への参加(Join が1件、Prune が0件)

マルチキャストルーティングを確認する

マルチキャストルーティングでは、共有ツリーと送信元ツリーが作られます。

ツリー表記説明
共有ツリー(*, G)RP を根にして配信されるツリー。RP は複数の送信元で共有されるので、この名前があります。PIM-SM では、共有ツリーが必ず作られます
送信元ツリー(S, G)特定の送信元アドレスを根にして配信されるツリー。最短経路で届くので、最短パスツリー(SPT)とも呼びます
共有ツリー 根:RP 送信元ツリー 根:配信サーバ(送信元) RP 受信機 192.168.12.1 受信機
図9 共有ツリーと送信元ツリーの根

スパニングツリーの記事でも書きましたが、「ツリー」という言葉が出てきたら、ツリーの根(ルート)がどこかを意識するのが一番大事です。スパニングツリーの根はルートブリッジでした。マルチキャストでは、共有ツリーの根は RP、送信元ツリーの根は配信サーバ(送信元アドレス)です。

また、ツリーは根から枝の先までループしないことを保証する必要があります。マルチキャストでは、根(共有ツリーなら RP、送信元ツリーなら送信元アドレス)に対して RPF チェックをすることで、ループを防ぎます。

R2 のルーティング確認

R2# show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group,
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode


(*, 239.1.1.1), 00:02:31/stopped, RP 5.5.5.5, flags: SPF
  Incoming interface: FastEthernet0/0.25, RPF nbr 192.168.25.5
  Outgoing interface list: Null


(192.168.12.1, 239.1.1.1), 00:02:31/00:03:26, flags: FT
  Incoming interface: FastEthernet0/0.12, RPF nbr 0.0.0.0
  Outgoing interface list:
    FastEthernet0/0.25, Forward/Sparse, 00:02:31/00:02:56
エントリ説明
共有ツリー
(*, 239.1.1.1)
送信元は任意で、宛先が 239.1.1.1 のパケットについてのエントリ。Incoming interface は RP 向けの FastEthernet0/0.25 です。R2 の先に受信機はいないので、Outgoing interface list は Null です
送信元ツリー
(192.168.12.1, 239.1.1.1)
送信元 192.168.12.1 から宛先 239.1.1.1 へのパケットについてのエントリ。Incoming interface は配信サーバがいる FastEthernet0/0.12、Outgoing interface は RP 向けの FastEthernet0/0.25 です

R5 のルーティング確認

R5# show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group,
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode


(*, 239.1.1.1), 00:22:28/00:02:41, RP 5.5.5.5, flags: S
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    FastEthernet0/0.35, Forward/Sparse, 00:08:08/00:02:41


(192.168.12.1, 239.1.1.1), 00:03:04/00:02:53, flags: T
  Incoming interface: FastEthernet0/0.25, RPF nbr 192.168.25.2
  Outgoing interface list:
    FastEthernet0/0.35, Forward/Sparse, 00:03:04/00:02:41
エントリ説明
共有ツリー
(*, 239.1.1.1)
RP から配信される共有ツリー。R5 自身が RP なので、Incoming interface は Null です。Outgoing interface は受信機側(R3)に向かう FastEthernet0/0.35 です
送信元ツリー
(192.168.12.1, 239.1.1.1)
送信元 192.168.12.1 からのエントリ。Incoming interface は配信サーバ側(R2)に向かう FastEthernet0/0.25、Outgoing interface は受信機側の FastEthernet0/0.35 です

R3 のルーティング確認

R3# show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group,
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode


(*, 239.1.1.1), 00:22:55/00:02:06, RP 5.5.5.5, flags: SC
  Incoming interface: FastEthernet0/0.35, RPF nbr 192.168.35.5
  Outgoing interface list:
    FastEthernet0/0.34, Forward/Sparse, 00:08:35/00:02:06
エントリ説明
共有ツリー
(*, 239.1.1.1)
RP から配信される共有ツリー。Incoming interface は RP 向けの FastEthernet0/0.35、Outgoing interface は受信機がいる FastEthernet0/0.34 です

これで R3 は、共有ツリーをもとに RP から 239.1.1.1 のパケットを受け取り、受信機へ転送できます。

S: 192.168.12.1 → G: 239.1.1.1 R5(RP) Loopback0 5.5.5.5 R2 R3 配信サーバ 受信機
図10 共有ツリーでの配信。マルチキャストは RP(R5)を経由して届く

共有ツリーから送信元ツリーへの切り替え

マルチキャストを受け取ると、ラストホップルータの R3 は、送信元のアドレスが 192.168.12.1 だとわかります。ここで R3 は、共有ツリーから送信元ツリーに切り替えます。ユニキャストのルーティングテーブルで 192.168.12.1 宛ての出力インターフェースを調べ、そこから 239.1.1.1 についての PIM Join(送信元 192.168.12.1 を指定した (S, G) Join)を送ります。

(S, G) Join (S, G, rpt) Prune R5(RP) Loopback0 5.5.5.5 R2 R3 配信サーバ 受信機
図11 R3 が送信元に向けて (S, G) Join を、RP に向けて (S, G, rpt) Prune を送る

R3 から R2 への PIM Join は次のとおりです。

パケットキャプチャ(Wireshark):R3 → R2 の (S, G) Join画面イメージ
▸ Internet Protocol Version 4, Src: 192.168.23.3, Dst: 224.0.0.13▾ Protocol Independent Multicast    0010 .... = Version: 2    .... 0011 = Type: Join/Prune (3)    Reserved byte(s): 00    Checksum: 0x4094 [correct]  ▾ PIM Options1      Upstream-neighbor: 192.168.23.2      Reserved byte(s): 00      Num Groups: 1      Holdtime: 2102    ▾ Group 0: 239.1.1.1/32      ▾ Num Joins: 1          IP address: 192.168.12.1/32 (S)        Num Prunes: 0
図12 (S, G) Join の中身(実際の画面ではなく、表示内容のポイントを示したイメージです)
No.表示意味
1Upstream-neighbor: 192.168.23.2送信元 192.168.12.1 に向かう上流のネイバー。RP の R5 ではなく R2 になっている
2IP address: 192.168.12.1/32 (S)送信元 192.168.12.1 を指定した 239.1.1.1 への参加。送信元ツリーへの Join

R2 から直接マルチキャストを受け取れるようになると、RP からこの送信元のマルチキャストを受け取る必要はなくなります。そこで R3 は、R5 に向けて PIM Prune を送ります。

R3 から RP への PIM Prune は次のとおりです。

パケットキャプチャ(Wireshark):R3 → R5 の PIM Prune画面イメージ
▸ Internet Protocol Version 4, Src: 192.168.35.3, Dst: 224.0.0.13▾ Protocol Independent Multicast    0010 .... = Version: 2    .... 0011 = Type: Join/Prune (3)    Reserved byte(s): 00    Checksum: 0x3391 [correct]  ▾ PIM Options1      Upstream-neighbor: 192.168.35.5      Reserved byte(s): 00      Num Groups: 1      Holdtime: 2102    ▾ Group 0: 239.1.1.1/32        Num Joins: 0      ▾ Num Prunes: 1          IP address: 192.168.12.1/32 (SR)
図13 (S, G, rpt) Prune の中身(実際の画面ではなく、表示内容のポイントを示したイメージです)
No.表示意味
1Upstream-neighbor: 192.168.35.5RP に向かう上流のネイバー(R5)
2IP address: 192.168.12.1/32 (SR)送信元 192.168.12.1 についての Prune。R は RPT ビットで、共有ツリー(RP 側)からこの送信元だけを外すという意味。(S, G, rpt) Prune と呼ぶ

R3 のルーティングテーブルを見ると、送信元ツリーのエントリが登録されています。

R3# show ip mroute 
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode


(*, 239.1.1.1), 01:39:26/stopped, RP 5.5.5.5, flags: SJC
  Incoming interface: FastEthernet0/0.35, RPF nbr 192.168.35.5
  Outgoing interface list:
    FastEthernet0/0.34, Forward/Sparse, 01:25:06/00:02:30


(192.168.12.1, 239.1.1.1), 00:00:05/00:02:54, flags: JT
  Incoming interface: FastEthernet0/0.23, RPF nbr 192.168.23.2
  Outgoing interface list:
    FastEthernet0/0.34, Forward/Sparse, 00:00:05/00:02:54

送信元ツリーの Incoming interface は、R2 に向かう FastEthernet0/0.23 になっています。共有ツリーの (*, 239.1.1.1) も残っているので、ほかの送信元から 239.1.1.1 が配信されたときは、まず RP 経由で受け取れます。

Cisco ルータでは、ラストホップルータの共有ツリーから送信元ツリーへの切り替えは、既定で最初のパケットを受け取った時点ですぐに行われます。これで、RP を経由せず、最短経路で配信サーバから受信機までマルチキャストが届くようになりました。

S: 192.168.12.1 → G: 239.1.1.1 R5(RP) Loopback0 5.5.5.5 R2 R3 配信サーバ 受信機
図14 送信元ツリーでの配信。RP を経由せず最短経路で届く

疎通確認

配信サーバ(Cisco の機器を使用)から 239.1.1.1 へ ping を実行すると、受信機(192.168.34.4)から応答が返ってきます。

R1# ping 239.1.1.1           
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:

Reply to request 0 from 192.168.34.4, 28 ms

設定のまとめ

各ルータの設定内容をまとめます。

R2

R2(config)# ip multicast-routing 

R2(config)# interface FastEthernet0/0.12 
R2(config-subif)# ip pim sparse-mode 
R2(config-subif)# interface FastEthernet0/0.23 
R2(config-subif)# ip pim sparse-mode 
R2(config-subif)# interface FastEthernet0/0.25 
R2(config-subif)# ip pim sparse-mode 

R2(config)# ip pim rp-address 5.5.5.5 

R2(config)# router ospf 1 
R2(config-router)# network 192.168.12.0 0.0.0.255 area 0 
R2(config-router)# network 192.168.23.0 0.0.0.255 area 0 
R2(config-router)# network 192.168.25.0 0.0.0.255 area 0 

R3

R3(config)# ip multicast-routing 

R3(config)# interface FastEthernet0/0.23 
R3(config-subif)# ip pim sparse-mode 
R3(config-subif)# interface FastEthernet0/0.34 
R3(config-subif)# ip pim sparse-mode 
R3(config-subif)# interface FastEthernet0/0.35 
R3(config-subif)# ip pim sparse-mode 

R3(config)# ip pim rp-address 5.5.5.5 

R3(config)# router ospf 1 
R3(config-router)# network 192.168.23.0 0.0.0.255 area 0 
R3(config-router)# network 192.168.35.0 0.0.0.255 area 0 

R5

R5(config)# ip multicast-routing 

R5(config)# interface Loopback0
R5(config-if)# ip address 5.5.5.5 255.255.255.255
R5(config-if)# interface FastEthernet0/0.25 
R5(config-subif)# ip pim sparse-mode 
R5(config-subif)# interface FastEthernet0/0.35 
R5(config-subif)# ip pim sparse-mode 

R5(config)# ip pim rp-address 5.5.5.5 

R5(config)# router ospf 1 
R5(config-router)# network 5.5.5.5 0.0.0.0 area 0 
R5(config-router)# network 192.168.25.0 0.0.0.255 area 0 
R5(config-router)# network 192.168.35.0 0.0.0.255 area 0 

まとめ

段階メッセージ内容
隣接関係PIM Hello224.0.0.13 宛てに約30秒ごと。Hold Time は 105 秒
送信元の登録PIM Registerファーストホップ(R2)がマルチキャストをカプセル化して RP へユニキャストで送る
登録の停止Register-StopRP が送信元から直接受け取れるようになったら、R2 にカプセル化をやめさせる
受信機の参加(*, G) Joinラストホップ(R3)が RP に向けて送り、共有ツリーができる
送信元ツリーへの切り替え(S, G) JoinR3 が送信元に向けて送り、最短経路の送信元ツリーができる
共有ツリーから外れる(S, G, rpt) PruneR3 が RP に向けて送り、この送信元の分だけ RP 経由の配信を止める

 

コメント