解説書 Vol.1
PIM-DMはルータ間で使用されるマルチキャストルーティングプロトコルです。隣接情報やマルチキャスト配送ツリーへの参加および刈り込み要求などをやり取りし,受信したマルチキャストパケットの中継および廃棄処理を実施します。また,既存のユニキャストルーティングを利用することで,マルチキャストパケット送信元からの最短パスを使用してマルチキャストパケットを中継します。
本装置が送信するPIM-DMフレームのフォーマットおよび設定値はPIM-DM Internet-Draftに従います。
- <この項の構成>
- (1) PIM-DMメッセージサポート仕様
- (2) PIM-DM version1との接続
- (3) PIM-DMの動作
- (4) 近隣検出
- (5) Forwarderの決定
- (6) マルチキャスト配送ツリーの刈り込み
- (7) マルチキャスト配送ツリーの再接続
- (8) 同一LAN上の刈り込み
- (9) 冗長経路時の注意事項
- (10) PIM-DMタイマ仕様
PIM-DMメッセージのサポート仕様を次の表に示します。
表12-14 PIM-DMメッセージのサポート仕様
メッセージタイプ 機能 PIM-Hello PIM近隣ルータの検出 PIM-Join/Prune マルチキャスト配送ツリーの参加および刈り込み PIM-Assert Forwarderの決定 PIM-Graft マルチキャスト配送ツリーの再接続 PIM-Graft-Ack PIM Graftメッセージに対する応答
本装置は,PIM-DM version2だけをサポートしているため,version1と接続できません。
PIM-DMはマルチキャストパケットをその送信元ネットワークからすべてのグループメンバに配送するために,送信元を頂点とした配送ツリーを形成します。この配送ツリーはグループのすべてのメンバに到達するために必要な最小の配送ツリーに保持されます。グループメンバが存在しないインタフェースの場合,最初のマルチキャストパケット中継後にPIM-Pruneで刈り込まれ,また,新しいメンバがグループに参加した場合,PIM-Graftメッセージの送受信によって,再度配送ツリーに付加されます。また,送信元から各グループに対して最短パスで到達できるように,既存のユニキャストルーティングを使用して送信元からの最短パスを決定します。これは,受信したマルチキャストパケットを中継するときに,Reverse Path Forwardingチェックを行って送信元からの最短パス経由で受信したかどうかを判断するために使用します。
(a) 動作の流れ
PIM-DMは次に示す順序で動作します。
- 最初のマルチキャストパケットを受信すると,マルチキャストが使用できるインタフェースすべてにパケットを中継します。
マルチキャストパケットを受信した場合,マルチキャストが使用できるインタフェース(受信インタフェースは除く)すべてにパケットを中継します。
- グループが存在しないインタフェースを刈り込みます。
- 刈り込み動作終了後に,グループ1宛てのマルチキャストパケットを送信します。
この動作の流れを次の図に示します。
図12-23 PIM-DMによるマルチキャストパケット中継処理
PIM-SM(「12.4.2 IPv4 PIM-SM (3) 近隣検出」)と同じです。
PIM-SM(「12.4.2 IPv4 PIM-SM (4) Forwarderの決定」)と同じです。
(a) 刈り込み前の動作
PIM-DMルータは最初にマルチキャストパケットを受信したとき,中継できるインタフェース(PIM-DM近隣ルータが存在する,またはIGMPメンバーシップ情報があるインタフェース)のすべてを配送ツリーに登録します。中継できるインタフェースがない場合,送信元に対する次ホップルータ(Forwarder)に対して,中継する必要がないことをPIM-Prune(刈り込み)メッセージで通知します。PIM-Pruneメッセージを受信したPIM-DMルータは,あらかじめ登録してあった配送ツリーからPIM-Pruneメッセージを受信したインタフェースを刈り込みます。マルチキャスト配送ツリーの刈り込み前の動作を次の図に示します。
(b) 刈り込み動作
PIM-DMルータ3では,(S1,G1)マルチキャストパケットを中継するインタフェースがないため(S1,G1)マルチキャストパケットを受信したインタフェースに対してPIM-Prune(S1,G1)を送信し,自ルータが該当するインタフェースから(S1,G1)マルチキャストパケットを受信する必要がないことを通知します。また,PIM-DMルータ2は,PIM-Prune(S1,G1)を受信したことによって(S1,G1)マルチキャストパケットを中継するインタフェースがなくなったため(S1,G1)マルチキャストパケットを受信したインタフェースに対してPIM-Prune(S1,G1)を送信します。
マルチキャスト配送ツリーの刈り込み動作を次の図に示します。
マルチキャスト配送ツリーから刈り込んだツリーには該当する送信元から該当するグループへパケットは中継しません。しかし,刈り込んだツリーに新しくそのマルチキャストグループ参加があった場合,刈り込んだツリーに再接続(PIM-Graft)メッセージを送信します。PIM-DMルータはGraftメッセージを受信したら配送ツリーにそのインタフェースを追加しGraft Ackメッセージを返信します。
(a) 再接続動作
PIM-DMルータ3で,新しくG1に参加したホストが下流インタフェース上に追加された場合,G1に対してPIM-Prune(S1,G1)を送信したインタフェースにPIM-Graft(S1,G1)を送信し再接続要求をします。PIM-DMルータ2では,PIM-Prune(S1,G1)を受信したインタフェースからPIM-Graft(S1,G1)を受信した場合,PIM-Prune(S1,G1)を送信したインタフェースにPIM-Graft(S1,G1)を送信します。
「図12-25 マルチキャスト配送ツリーの刈り込み動作」に示すマルチキャスト配送ツリーの刈り込み状態から新しくそのマルチキャストグループに参加があった場合の,マルチキャスト配送ツリーへの再接続動作を次の図に示します。
(b) 再接続後のマルチキャストパケットの流れ
PIM-DMルータ1にはマルチキャストパケットが中継されているため,PIM-Graft(S1,G1)を受信したインタフェースに(S1,G1)マルチキャストパケットを中継します。
「図12-25 マルチキャスト配送ツリーの刈り込み動作」に示すマルチキャスト配送ツリーの刈り込み状態から新しくそのマルチキャストグループに参加があった場合の,マルチキャスト配送ツリーへの再接続後動作を次の図に示します。
同一LAN上でPIM-DMルータ2がPIM-DMルータ1にグループG1に対してのPIM-Pruneメッセージを送信した場合,PIM-DMルータ1はそのインタフェースを刈り込むまで4秒間待ちます。その間にグループG1のPIM-Join(以前に送信されたPIM-Pruneメッセージをキャンセルする)メッセージを受信しない場合は,そのインタフェースを刈り込みます。PIM-Joinを受信した場合は,刈り込みを中止します。PIM-DMルータ3はPIM-DMルータ2がPIM-DMルータ1に対して送信したPIM-Pruneメッセージを受信して,もし自装置がPIM-DMルータ1からグループG1宛てのパケットを受信したい場合は,3秒以内にPIM-DMルータ1にPIM-Joinメッセージを送信し,PIM-DMルータ1に刈り込みをキャンセルさせます。Multi-access LAN上でのPIM-PruneおよびPIM-Joinの動作を,次の図に示します。
図12-28 Multi-access LAN上でのPIM-PruneおよびPIM-Joinの動作
次の図に示すような冗長構成の場合,マルチキャストパケットがフォワードされないので注意してください。したがって,冗長経路がある場合は,その経路上のすべてのルータでPIMの設定が必要になります。
図12-29 冗長経路時の注意
PIM-DMが使用するタイマ値を次の表に示します。
表12-15 PIM-DMタイマ
タイマ 値(秒) 備考 PIM-Hello周期 30 − 近隣タイムアウト 105 3.5×PIM-Hello周期 PIM-Assertタイムアウト 210 − PIM-Prune Delayタイマ 4 − Prune Life Time 210 PIM-Pruneを受信している場合は,受信しているPIM-PruneのLife timeの最大値 (凡例) −:該当しない
注 PIM-DMタイマの値は変更できない。
Copyright (c)2005, 2011, ALAXALA Networks Corporation. All rights reserved.