マルチキャスト通信では,PIM-SM(スパースモード)が使われるケースが一般的です。
ここでは,PIM-SMを試してみます。
●マルチキャスト・パケットの送信・受信ツール
マルチキャスト・パケットを配信するには,マルチキャスト・データを配信するためのツールが必要です。
ここでは,フリーのマルチキャスト配信ツール「VLC」を使って,動画配信を試してみます。
VLCのインストールと利用方法については,以下を参考にしてみてください。
(参考)VLCのインストールと利用方法
●PIM-SM(スパースモード)
PIMには大きく,PIM-DM(デンスモード)とPIM-SM(スパースモード)という二つの方式があります。
大雑把に言うと,
PIM-DMは,「いったんすべての端末に配信して,その後,必要ないと報告のあったところを止める」という方法です。
PIM-SMは,「配信拠点のルーターを決めておいて,端末はそこに配信要求を出して受信する」という方法です。
ここでは,PIM-SMを実践してみます。
●設定の確認
最初に,設定を確認しましょう。
スパースモードを設定するときのポイントは,以下の三つです。
【PIM-SMの設定】
1.ip multicast-routingコマンドで,マルチキャスト・ルーティングを有効にする
2.各インタフェースでip pim sparse-modeコマンドを入れ,PIM-SMを有効にする
3.ip pim rp-addressで,RP(ランデブー・ポイント)のアドレスを指定する
例えば,RouterCの設定は以下になります。
RouterC(config)#ip multicast-routing
RouterC(config)#interface fastEthernet 0/0
RouterC(config-if)#ip pim sparse-mode
RouterC(config)#interface fastEthernet 0/1
RouterC(config-if)#ip pim sparse-mode ←自動的にIGMPも有効になる
RouterC(config-if)#exit
RouterC(config)#ip pim rp-address 172.16.255.2
RouterAとRouterBの設定も基本的には同じです。
PIM-DMの設定に,RPの設定が加わっただけです。
この状態で,サーバーからマルチキャスト・パケットを配信し,レシーバで受信すれば,レシーバで動画が再生されるはずです。
●設定後の状態確認
サーバーでマルチキャスト・パケットを配信していなく,かつ,レシーバで受信要求を出していない,初期状態を確認してみましょう。
RouterCのマルチキャスト・ルーティングテーブルをshow ip mrouteで見てみます。
RouterC#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,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 224.0.1.40), 16:54:30/00:00:00, RP 172.16.255.2, flags: SJCL
Incoming interface: FastEthernet0/0, RPF nbr 192.168.3.1
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 16:48:32/00:02:03
(*,G)エントリが一つだけできています。
224.0.1.40は,シスコのAuto-RP機能で使うアドレスで,このエントリはデフォルトで作成されるようになっています。
今回は,239.255.1.1をあて先とするマルチキャスト・パケットが対象です。
239.255.1.1あてのエントリは,まだ登録されていないことがわかります。
また,(*,239.255.255.250)のエントリができているケースがあります。
これは,Windowsパソコンがユニバーサル・プラグアンドプレイ(UPnP)で使うマルチキャスト・アドレスです。
ご利用のパソコンでUPnPを利用していないなら,オフにしてかまいません。
(参考)
WindowsXPの起動時に、「239.255.255.250」へのパケットが送信される場合(DELLのサポートホームページ)
http://support2.jp.dell.com/jp/jp/mwfaq/faq.asp?faqno=190329
次に,RP(ランデブー・ポイント)を確認してみましょう。
show ip pim rp mappingコマンドを使います。
RouterC#show ip pim rp mapping
PIM Group-to-RP Mappings
Group(s): 224.0.0.0/4, Static
RP: 172.16.255.2 (?)
RPが,172.16.255.2(RouterBのLoopbackアドレス)になっているのがわかります。
対象となっているグループ「224.0.0.0/4」は,「全てのマルチキャスト・グループ」という意味です。
つまり,全てのグループでRouterBがRPになっているわけです。
ちなみに,最後の(?)印は,172.16.255.2の名前解決ができなかったことを意味しています。
PIMのネイバーを見てみましょう。
show ip pim neighborコマンドを使います。
RouterC#show ip pim neighbor
PIM Neighbor Table
Neighbor Interface Uptime/Expires Ver DR
Address Prio/Mode
192.168.3.1 FastEthernet0/0 16:50:44/00:01:44 v2 1 / S
192.168.3.1(RouterBのFa0/1)がネイバーになっているのがわかります。
RouterCは,端末のグループ参加要求をIGMPで受け取るラストホップ・ルーターです。
IGMPの様子も確認しておきましょう。
show ip igmp groupsコマンドを使います。
RouterC#show ip igmp groups
IGMP Connected Group Membership
Group Address Interface Uptime Expires Last Reporter
224.0.1.40 FastEthernet0/1 16:49:53 00:02:47 192.168.4.1
Auto-RP用に自動でできる224.0.1.40がエントリされているのがわかります。
他のグループはエントリされていません。
以上が,レシーバがIGMPで参加要求を出していなく,ソースがマルチキャスト・パケットを配信していない,初期状態です。
RouterAもRouterBも,239.255.1.1のエントリは出来ていません。
●PIM-SMの動作の流れ
PIM-SMの場合,設定は簡単でも,動作はちょっと複雑です。
PIM-SMにおけるマルチキャスト配信の流れは,以下のようになります。

PIM-SMのポイントは,RP(ランデブー・ポイント)の存在です。
ソースが出したマルチキャスト・パケットは,必ずRPまで届きます。
一方,レシーバが出した受信要求もRPまで届きます。
こうしてマルチキャスト・パケットと受信要求をランデブー(待ち合わせ)させるわけです。
●PIM-SMの動作確認
≪端末が受信要求を出したとき≫
では,実際にマルチキャスト・パケットを配信しながら,上の図にある動作を確認していきましょう。
すべてのルーターで,マルチキャスト・ルーティングとPIMのデバッグをオンにしておきます。
RouterA#debug ip routing
IP routing debugging is on
RouterA#debug ip pim
PIM debugging is on
これで準備OKです。
ではまず,端末で239.255.1.1あてのマルチキャスト・パケットの受信要求を出してみましょう。
VLCで「再生」ボタンを押すと,IGMPの受信要求(Membership Reportメッセージ)を出します(VLCの設定方法はこちら)。
(「ip igmp join-group マルチキャスト・アドレス」コマンドを使って,シスコ・ルーターをレシーバにすることもできます。)
RouterCの動作を見てみましょう。
RouterC#
1d12h: MRT: Create (*, 239.255.1.1), RPF Null, PC 0x80718A1C ←(1)
1d12h: PIM: Check RP 172.16.255.2 into the (*, 239.255.1.1) entry
1d12h: MRT: Add/Update FastEthernet0/1/239.255.1.1 to the olist of (*, 239.255.1.1), Forward state
1d12h: PIM: Building triggered (*,G) Join / (S,G,RP-bit) Prune message for 239.255.1.1
1d12h: PIM: v2, for RP, Join-list: 172.16.255.2/32, RP-bit, WC-bit, S-bit
1d12h: PIM: Send v2 triggered Join/Prune to RP via 192.168.3.1 (FastEthernet0/0) ←(2)
1d12h: PIM: Building batch join message for 239.255.1.1
1d12h: MRT: Update (*, 239.255.1.1), RPF Null, PC 0x80718A1C
1d12h: PIM: Send v2 Hello on FastEthernet0/0
1d12h: PIM: Building Join/Prune message for 239.255.1.1
1d12h: PIM: v2, for RP, Join-list: 172.16.255.2/32, RP-bit, WC-bit, S-bit
1d12h: PIM: Send v2 periodic Join/Prune to RP via 192.168.3.1 (FastEthernet0/0)
1d12h: MRT: Update (*, 239.255.1.1), RPF Null, PC 0x80718A1C
(1) IGMPの受信要求(Menbership Reportメッセージ)を受け,(*,239.255.1.1)エントリを作成
(2) RPがある192.168.3.1あてに,239.255.1.1のJoinメッセージを送出
以上が,上図の@の動作
この状態の,RouterCのマルチキャスト・ルーティングテーブルを見てみます。
RouterC#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,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.255.1.1), 00:02:07/00:02:48, RP 172.16.255.2, flags: SJC
Incoming interface: FastEthernet0/0, RPF nbr 192.168.3.1
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:02:07/00:02:48
(*, 224.0.1.40), 00:07:47/00:00:00, RP 172.16.255.2, flags: SJCL
Incoming interface: FastEthernet0/0, RPF nbr 192.168.3.1
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:07:47/00:02:40
(*,239.255.1.1)エントリが出来ています。
「Incoming interface」はマルチキャスト・パケットの入力インタフェースで,RPにつながるインタフェースです。
「Outgoing interface」はマルチキャスト・パケットの出力インタフェースで,IGMPで受信要求を受け取ったインタフェースです。
つまり,「Fa0/0から入って来た239.255.1.1あてのマルチキャスト・パケットは,Fa0/1から出せばいい」というエントリを作ったわけです。
「flags」にある「S」はスパースモード,「C」はレシーバがつながっていることを意味しています。
端末が受信要求を出したときの,RouterBの動作も見てみます。
RouterB#
1d12h: PIM: Received v2 Join/Prune on FastEthernet0/1 from 192.168.3.2, to us ←(1)
1d12h: PIM: Join-list: (*, 239.255.1.1) RP 172.16.255.2
1d12h: MRT: Create (*, 239.255.1.1), RPF Null, PC 0x8074539C ←(2)
1d12h: PIM: Check RP 172.16.255.2 into the (*, 239.255.1.1) entry, RPT-bit set,WC-bit set, S-bit set
1d12h: MRT: Add/Update FastEthernet0/1/239.255.1.1 to the olist of (*, 239.255.1.1), Forward state
1d12h: PIM: Add FastEthernet0/1/192.168.3.2 to (*, 239.255.1.1), Forward state
1d12h: PIM: Building Join/Prune message for 239.255.1.1
1d12h: PIM: Received v2 Hello on FastEthernet0/1 from 192.168.3.2
1d12h: PIM: Received v2 Join/Prune on FastEthernet0/1 from 192.168.3.2, to us
1d12h: PIM: Join-list: (*, 239.255.1.1) RP 172.16.255.2, RPT-bit set, WC-bit set, S-bit set
1d12h: PIM: Add FastEthernet0/1/192.168.3.2 to (*, 239.255.1.1), Forward state
1d12h: PIM: Send periodic v2 Hello on FastEthernet0/0
1d12h: PIM: Building Join/Prune message for 224.0.1.40
1d12h: PIM: Received v2 Join/Prune on FastEthernet0/0 from 192.168.2.1, to us
1d12h: PIM: Join-list: (*, 224.0.1.40) RP 172.16.255.2, RPT-bit set, WC-bit set, S-bit set
(1) 192.168.3.2(RouterC)からJoinメッセージを受信
(2) (*,239.255.1.1)エントリを作成
これは,上図@を受けての動作
このときのRouterBのマルチキャスト・ルーティングテーブルは以下です。
RouterB#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,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.255.1.1), 00:01:54/00:02:35, RP 172.16.255.2, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:01:54/00:02:35
(*, 224.0.1.40), 00:07:43/00:00:00, RP 172.16.255.2, flags: SJCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:07:34/00:02:50
FastEthernet0/0, Forward/Sparse, 00:07:43/00:02:45
RouterCと同様に,(*,239.255.1.1)エントリができています。
ただ,Incoming interfaceが「NULL」になっています。
これは,まだソースからマルチキャスト・パケットを受信していないので,どこが入力インタフェースなのかがわからない状態というわけです。
レシーバの受信要求が届くのはRPまでです。
そのため,RouterAのマルチキャスト・ルーティングテーブルは,初期状態のままです。
RouterA#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,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 224.0.1.40), 00:09:00/00:00:00, RP 172.16.255.2, flags: SJCL
Incoming interface: FastEthernet0/1, RPF nbr 192.168.2.2
Outgoing interface list:
FastEthernet0/0, Forward/Sparse, 00:09:00/00:02:20
ここまでで,レシーバからRPまでの配信経路ができました。
この配信経路はすべて(*,G)のエントリなので,「Shared Tree」(シェアード・ツリー)と呼ばれています。
≪サーバーがマルチキャスト・パケットを配信したとき≫
続いて,サーバーでマルチキャスト・パケットを配信させてみましょう。
VLCで,適当な動画ファイルを239.255.1.1あてに配信します(VLCの設定方法はこちら)。
配信直後のRouterAの様子を見てみましょう。
RouterA#
1d12h: MRT: Create (*, 239.255.1.1), RPF Null, PC 0x8072B380 ←(1)
1d12h: PIM: Check RP 172.16.255.2 into the (*, 239.255.1.1) entry
1d12h: MRT: Create (192.168.1.1/32, 239.255.1.1), RPF FastEthernet0/0/0.0.0.0, PC 0x8072B6AC ←(2)
1d12h: PIM: Send v2 Register to 172.16.255.2 for 192.168.1.1, group 239.255.1.1 ←(3)
1d12h: PIM: Send v2 Register to 172.16.255.2 for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Send v2 Register to 172.16.255.2 for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Send v2 Register to 172.16.255.2 for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Send v2 Register to 172.16.255.2 for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Send v2 Register to 172.16.255.2 for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Send v2 Register to 172.16.255.2 for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Received v2 Join/Prune on FastEthernet0/1 from 192.168.2.2, to us ←(4)
1d12h: PIM: Join-list: (192.168.1.1/32, 239.255.1.1), S-bit set
1d12h: MRT: Add/Update FastEthernet0/1/239.255.1.1 to the olist of (192.168.1.1, 239.255.1.1),
Forward state
1d12h: PIM: Add FastEthernet0/1/192.168.2.2 to (192.168.1.1/32, 239.255.1.1), Forward state
1d12h: PIM: Received v2 Join/Prune on FastEthernet0/1 from 192.168.2.2, to us
1d12h: PIM: Join-list: (192.168.1.1/32, 239.255.1.1), S-bit set
1d12h: PIM: Add FastEthernet0/1/192.168.2.2 to (192.168.1.1/32, 239.255.1.1), Forward state
1d12h: PIM: Building Join/Prune message for 239.255.1.1
1d12h: PIM: No sources in join or prune list
1d12h: PIM: Send v2 Register to 172.16.255.2 for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Received v2 Register-Stop on FastEthernet0/1 from 172.16.255.2 ←(5)
1d12h: PIM: for source 192.168.1.1, group 239.255.1.1
1d12h: PIM: Clear register flag to 172.16.255.2 for (192.168.1.1/32, 239.255.1.1)
(1) サーバーからのマルチキャスト・パケットを受け,(*,239.255.1.1)エントリを作成。これは(2)の準備
(2) (192.168.1.1,239.255.1.1)エントリを作成
(3) PIMのRegisterメッセージを使って,マルチキャスト・パケットをPIMパケットでカプセル化して,RPである172.16.255.2に送信
ここまでが,上図Aの動作
(4) 192.168.2.2(RouterB)から,239.255.1.1のJoinメッセージを受信
これは,上図Bの動作
(5) PIMのRegister-StopメッセージをRP(172.16.255.2)から受信
これは,上図Dの動作
このときのRouterAのマルチキャスト・ルーティングテーブルは以下です。
RouterA#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,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.255.1.1), 00:01:35/00:02:59, RP 172.16.255.2, flags: SPF
Incoming interface: FastEthernet0/1, RPF nbr 192.168.2.2
Outgoing interface list: Null
(192.168.1.1, 239.255.1.1), 00:01:35/00:03:30, flags: FT
Incoming interface: FastEthernet0/0, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:01:35/00:03:19
(*, 224.0.1.40), 00:11:52/00:00:00, RP 172.16.255.2, flags: SJCL
Incoming interface: FastEthernet0/1, RPF nbr 192.168.2.2
Outgoing interface list:
FastEthernet0/0, Forward/Sparse, 00:11:53/00:02:29
(*,239.255.1.1)エントリと,(192.168.1.1,239.255.1.1)エントリの二つが出来ています。
ここで作りたかったのは,(192.168.1.1,239.255.1.1)エントリです。
このエントリは,「ソースが192.168.1.1で,グループが239.255.1.1のマルチキャスト・パケット」に関する転送情報というわけです。
(S,G)エントリを作る際には,必ず(*,G)エントリを作る決まりになっています。
一緒に(*,239.255.1.1)エントリができたのはそのためです。
RPであるRouterBの様子も見てみましょう。
RouterB#
1d12h: PIM: Send periodic v2 Hello on FastEthernet0/1
1d12h: PIM: Send RP-reachability for 239.255.1.1 on FastEthernet0/1
1d12h: PIM: Received v2 Hello on FastEthernet0/1 from 192.168.3.2
1d12h: PIM: Received v2 Register on FastEthernet0/0 from 192.168.2.1 ←(1)
1d12h: for 192.168.1.1, group 239.255.1.1
1d12h: MRT: Create (192.168.1.1/32, 239.255.1.1), RPF FastEthernet0/0/192.168.2.1, PC 0x8074EE2C←(2)
1d12h: MRT: Add/Update FastEthernet0/1/239.255.1.1 to the olist of (192.168.1.1, 239.255.1.1),
Forward state
1d12h: PIM: Send v2 Join on FastEthernet0/0 to 192.168.2.1 for (192.168.1.1/32,239.255.1.1), S-bit←(3)
1d12h: PIM: Forward decapsulated data packet for 239.255.1.1 on FastEthernet0/1 ←(4)
1d12h: PIM: Received v2 Register on FastEthernet0/0 from 192.168.2.1
1d12h: for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Forward decapsulated data packet for 239.255.1.1 on FastEthernet0/1
1d12h: PIM: Received v2 Register on FastEthernet0/0 from 192.168.2.1
1d12h: for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Forward decapsulated data packet for 239.255.1.1 on FastEthernet0/1
1d12h: PIM: Received v2 Register on FastEthernet0/0 from 192.168.2.1
1d12h: for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Forward decapsulated data packet for 239.255.1.1 on FastEthernet0/1
1d12h: PIM: Received v2 Join/Prune on FastEthernet0/1 from 192.168.3.2, to us
1d12h: PIM: Join-list: (192.168.1.1/32, 239.255.1.1), S-bit set
1d12h: PIM: Add FastEthernet0/1/192.168.3.2 to (192.168.1.1/32, 239.255.1.1), Forward state
1d12h: PIM: Received v2 Register on FastEthernet0/0 from 192.168.2.1
1d12h: for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Forward decapsulated data packet for 239.255.1.1 on FastEthernet0/1
1d12h: PIM: Received v2 Register on FastEthernet0/0 from 192.168.2.1
1d12h: for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Forward decapsulated data packet for 239.255.1.1 on FastEthernet0/1
1d12h: PIM: Received v2 Register on FastEthernet0/0 from 192.168.2.1
1d12h: for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Forward decapsulated data packet for 239.255.1.1 on FastEthernet0/1
1d12h: PIM: Send v2 Join on FastEthernet0/0 to 192.168.2.1 for (192.168.1.1/32,239.255.1.1), S-bit
1d12h: PIM: Received v2 Register on FastEthernet0/0 from 192.168.2.1
1d12h: for 192.168.1.1, group 239.255.1.1
1d12h: PIM: Send v2 Register-Stop to 192.168.2.1 for 192.168.1.1, group 239.255.1.1 ←(5)
(1) 192.168.2.1(RouterA)からRegisterメッセージを受信
(2) Registerメッセージを受けて,(192.168.1.1,239.255.1.1)エントリを作成 ここまでが,上図Aの動作
(3) 192.168.2.1(RouterA)にJoinメッセージを送信
上図Bの動作
(4) Registerメッセージでカプセル化されたマルチキャスト・パケットを非カプセル化(decapsulated)してFe0/1に送信
上図AとCを受けての動作
(5) Register-Stopメッセージを192.168.2.1に送信
上図Dの動作
このときのRouterAのマルチキャスト・ルーティングテーブルは以下になります。
RouterB#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,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.255.1.1), 00:06:31/00:02:59, RP 172.16.255.2, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:06:31/00:02:54
(192.168.1.1, 239.255.1.1), 00:02:00/00:03:29, flags: T
Incoming interface: FastEthernet0/0, RPF nbr 192.168.2.1
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:02:00/00:02:54
(*, 224.0.1.40), 00:12:21/00:00:00, RP 172.16.255.2, flags: SJCL
Incoming interface: Null, RPF nb
1d12h: PIM: Received v2 Hello on FastEthernet0/1 from 192.168.3.2r 0.0.0.0
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:12:13/00:03:07
FastEthernet0/0, Forward/Sparse, 00:12:22/00:03:04
新たに,(192.168.1.1,239.255.1.1)エントリが出来ました。
これはつまり,239.255.1.1あてのパケットのソースが192.168.1.1であることがわかったわけです。
最後に,RouterCの様子も見てみましょう。
RouterC#
1d12h: PIM: Received v2 Hello on FastEthernet0/0 from 192.168.3.1
1d12h: PIM: Hello packet has unknown option 20, ignored
1d12h: PIM: Send v2 Hello on FastEthernet0/1
1d12h: PIM: Received RP-Reachable on FastEthernet0/0 from 172.16.255.2
1d12h: for group 239.255.1.1
1d12h: PIM: Send v2 Hello on FastEthernet0/0
1d12h: MRT: Create (192.168.1.1/32, 239.255.1.1), RPF FastEthernet0/0/192.168.3.1, PC 0x80727AC0
1d12h: MRT: Add/Update FastEthernet0/1/239.255.1.1 to the olist of (192.168.1.1, 239.255.1.1),
Forward state
1d12h: PIM: Send v2 Join on FastEthernet0/0 to 192.168.3.1 for (192.168.1.1/32,239.255.1.1), S-bit
1d12h: PIM: Received RP-Reachable on FastEthernet0/0 from 172.16.255.2
1d12h: for group 224.0.1.40
1d12h: MRT: Update (*, 239.255.1.1), RPF Null, PC 0x80718A1C
1d12h: MRT: Update (*, 224.0.1.40), RPF Null, PC 0x80718A1C
マルチキャスト・パケットを受け,(192.168.1.1,239.255.1.1)エントリを作成しているのがわかります(上の青字)。
マルチキャスト・ルーティングテーブルも確認しておきましょう。
RouterC#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,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.255.1.1), 00:06:54/00:02:59, RP 172.16.255.2, flags: SJC
Incoming interface: FastEthernet0/0, RPF nbr 192.168.3.1
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:06:54/00:02:58
(192.168.1.1, 239.255.1.1), 00:02:23/00:02:59, flags: CJT
Incoming interface: FastEthernet0/0, RPF nbr 192.168.3.1
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:02:23/00:02:58
(*, 224.0.1.40), 00:12:34/00:00:00, RP 172.16.255.2, flags: SJCL
Incoming inte
1d12h: MRT: Update (*, 239.255.1.1), RPF Null, PC 0x80718A1Crface: FastEthernet0
/0, RPF nbr 192.168.3.1
Outgoing interface list:
FastEthernet0/1, Forward/Sparse, 00:12:36/00:02:53
すでに出来ていた(*,239.255.1.1)エントリを基に,(192.168.1.1,239.255.1.1)エントリが作られました。
これで,すべてのルーターで(192.168.1.1,239.255.1.1)エントリができたことになります。
これはつまり,すべてのルーターで,192.168.1.1から出された239.255.1.1あてのマルチキャスト・パケットをどこへ出せばいいかがわかったことになります。
●IPマルチキャスト テクノロジーの概要
http://www.cisco.com/web/JP/product/hs/ios/multicast/tech/mcst_ovr.html
●マルチキャスト クイックスタート コンフィギュレーション ガイド
http://www.cisco.com/web/JP/product/hs/ios/multicast/tech/mqs_cg.html |