コンフィグレーションガイド Vol.3
PIM-DMはルータ間で使用されるマルチキャストルーティングプロトコルです。隣接情報やマルチキャスト配送ツリーへの参加および刈り込み要求などをやり取りして,受信したマルチキャストパケットの中継および廃棄処理を実施します。また,ユニキャストルーティングを利用することで,マルチキャストパケット送信元からの最短パスを使用してマルチキャストパケットを中継します。
本装置が送信するPIM-DMメッセージのフォーマットおよび設定値はPIM-DMインターネットドラフトに従います。
- <この項の構成>
- (1) PIM-DMメッセージサポート仕様
- (2) 動作
- (3) 近隣検出
- (4) Forwarderの決定
- (5) マルチキャスト配送ツリーの刈り込み
- (6) マルチキャスト配送ツリーの再接続
- (7) 同一LAN上の刈り込み
- (8) 冗長経路時の注意事項
- (9) PIM-DMタイマ仕様
- (10) PIM-DM使用上の注意事項
PIM-DMメッセージのサポート仕様を次の表に示します。
表14-12 PIM-DMメッセージのサポート仕様
メッセージタイプ 機能 PIM-Hello PIM隣接ルータの検出 PIM-Join/Prune マルチキャスト配送ツリーの参加および刈り込み PIM-Assert Forwarderの決定 PIM-Graft マルチキャスト配送ツリーの再接続 PIM-Graft-Ack PIM-Graftメッセージに対する応答
PIM-DMはマルチキャストパケットをその送信元ネットワークからすべてのグループメンバに配送するために,送信元を頂点とした配送ツリーを形成します。この配送ツリーは,グループのすべてのメンバに到達するために必要な最小の配送ツリーとして保たれます。グループメンバが存在しないインタフェースの場合,最初のマルチキャストパケット中継後にPIM-Pruneメッセージで刈り込まれます。新しいメンバがグループに参加した場合,PIM-Graftメッセージの送受信によって再度配送ツリーに追加されます。
また,送信元から各グループへの最短パスの決定には,ユニキャストルーティングを使用します。ユニキャストルーティングで得た最短パスは,受信したマルチキャストパケットを中継するときの,送信元から最短パス経由で受信できているかを判断するReverse Path Forwardingチェックで使用します。
PIM-DMは次の順序で動作します。
- 最初のマルチキャストパケットを上流インタフェースから受信すると,受信インタフェースを除いて,中継できるすべてのインタフェースにマルチキャストパケットを中継します。
- 中継先のないルータは,上流ルータに対して刈り込みメッセージ(PIM-Pruneメッセージ)を送信します。
- 刈り込み終了後,そのパケットを必要とするホストに対するマルチキャスト配送ツリーを形成して,マルチキャストパケットを中継します。
PIM-DMの動作の流れを次の図に示します。
図14-19 PIM-DMによるマルチキャストパケット中継処理
PIM-DMルータはマルチキャストができるすべてのインタフェースに定期的にPIM-Helloメッセージを送信します。PIM-HelloメッセージはAll-PIM-Routers IPマルチキャストグループアドレス宛て(224.0.0.13)に送信します。このメッセージを受信することで,近隣のPIMルータを動的に検出します。
PIM-SM(「14.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-DMルータ3からPIM-Prune(S1,G1)メッセージを受信したため,(S1,G1)マルチキャストパケットを中継するインタフェースがなくなります。このため,(S1,G1)マルチキャストパケットを受信したインタフェースに対してPIM-Prune(S1,G1)メッセージを送信します。マルチキャスト配送ツリーの刈り込み動作を次の図に示します。
マルチキャスト配送ツリーから刈り込んだツリーへは,該当する送信元から該当するグループへパケットを中継しません。しかし,刈り込んだツリーに新しくマルチキャストグループへの参加があった場合,刈り込んだツリーに対し再接続メッセージ(PIM-Graftメッセージ)を送信します。PIM-DMルータはPIM-Graftメッセージを受信したら配送ツリーに該当するインタフェースを追加して,PIM-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)メッセージを送信します。
「図14-21 マルチキャスト配送ツリーの刈り込み動作」に示すマルチキャスト配送ツリーの刈り込み状態から該当するマルチキャストグループに新しく参加があった場合の,マルチキャスト配送ツリーへの再接続動作を次の図に示します。
(b) 再接続後のマルチキャストパケットの流れ
PIM-DMルータ1にはマルチキャストパケットが中継されているため,PIM-Graft(S1,G1)メッセージを受信したインタフェースへ(S1,G1)マルチキャストパケットを中継します。
「図14-21 マルチキャスト配送ツリーの刈り込み動作」に示すマルチキャスト配送ツリーの刈り込み状態から該当するマルチキャストグループに新しく参加があった場合の,マルチキャスト配送ツリーへの再接続後動作を次の図に示します。
同一LAN上でPIM-DMルータ2がPIM-DMルータ1へグループG1に対するPIM-Pruneメッセージを送信した場合,PIM-DMルータ1は該当するインタフェースを刈り込むまで4秒間待ちます。その間にグループG1に対するPIM-Joinメッセージ(以前に送信されたPIM-Pruneメッセージをキャンセルするメッセージ)を受信しない場合,該当するインタフェースを刈り込みます。PIM-Joinメッセージを受信した場合は,刈り込みを中止します。
PIM-DMルータ2からPIM-DMルータ1へ送信されたPIM-Pruneメッセージを受信したPIM-DMルータ3で,PIM-DMルータ1からグループG1宛てのパケットを受信したい場合は,3秒以内にPIM-DMルータ1へPIM-Joinメッセージを送信してPIM-DMルータ1に刈り込みを中止させます。同一LAN上でのPIM-PruneおよびPIM-Joinメッセージの動作を次の図に示します。
図14-24 同一LAN上でのPIM-PruneおよびPIM-Joinメッセージの動作
- PIM-DMルータ1がG1宛てのマルチキャストパケットを送信する。
- PIM-DMルータ2ではG1宛てのデータは必要ないため,PIM-Prune(S1,G1)メッセージをPIM-DMルータ1へ送信する。
- PIM-DMルータ1がPIM-Prune(S1,G1)メッセージを受信したため,PIM-Join(S1,G1)メッセージを4秒間監視する。
- PIM-DMルータ3がPIM-Prune(S1,G1)メッセージを受信したあと,ルータ3配下にG1が存在するためPIM-Join(S1,G1)メッセージをPIM-DMルータ1へ送信する。
- PIM-DMルータ1が4秒以内にPIM-Join(S1,G1)メッセージを受信したため,刈り込みを中止する。
次の図に示すような冗長構成の場合,マルチキャストパケットが中継されないため注意してください。したがって,冗長経路がある場合は,その経路上のすべてのルータでPIMの設定が必要になります。
図14-25 冗長経路時の注意
PIM-DMが使用するタイマ値を次の表に示します。
表14-13 PIM-DMタイマ
タイマ名 内容 デフォルト値(秒) コンフィグレーションによる
設定範囲(秒)備考 Hello-Period PIM-Helloメッセージ周期 30 − − Hello-Holdtime 近隣タイムアウト 105 − 3.5×PIM-Helloメッセージ周期 Assert-Timeout PIM-Assertタイムアウト 210 − − Deletion-Delay-Time PIM-PruneDelayタイマ 4 − − Data-Timeout
(Keep-alive-time)マルチキャスト中継エントリの保持期間 210 0(無期限),
60〜43200最大で+90秒の誤差が発生します。 Prune Life Time Prune Life Time 210 − PIM-Pruneメッセージを受信している場合は,受信しているPIM-PruneのLife timeの最大値 (凡例) −:該当しない
PIM-DMを使用したネットワークを構成する場合には次の制限事項に注意してください。本装置はインターネットドラフト(draft-ietf-pim-v2-dm-03)に準拠していますが,一部インターネットドラフトとの差分があります。インターネットドラフトとの差分を次の表に示します。
項目 インターネットドラフト 本装置 ユニキャスト経路の切り替え ユニキャスト経路に変化があった場合,(S,G)エントリも同様に変化する。
- Pruneメッセージを古い上流インタフェースに送信すべきである。
- Graftメッセージを新しい上流インタフェースに送信すべきである。
本装置ではユニキャスト経路の切り替えによって,マルチキャスト経路情報の上流インタフェースを切り替えたときに新しい上流インタフェースにPIM-Graftメッセージを送信しますが,古い上流インタフェースにPIM-Pruneメッセージを送信しません。 PIM-Helloオプション PIM HelloメッセージにはGeneration IDオプションを付加すべきである。 本装置ではPIM-HelloメッセージにGenerationIDオプションを付けないで送信します。受信したPIM-HelloメッセージにGenerationIDオプションが付いていた場合,GenerationIDオプションを無視します。
All Rights Reserved, Copyright(C), 2006, 2018, ALAXALA Networks, Corp.