コンフィグレーションガイド Vol.3
PIM-SMはルータ間で使用されるマルチキャストルーティングプロトコルです。隣接情報やマルチキャスト配送ツリーへの参加および刈り込み要求などをやり取りすることによって,受信したマルチキャストパケットの中継および廃棄処理を実施します。PIM-SMは最初にランデブーポイント経由でマルチキャストパケットを中継します。そのあと,既存のユニキャストルーティングを利用してマルチキャスト送信者への最短パスに切り替えて,マルチキャストパケットを中継します。
- <この項の構成>
- (1) PIM-SMメッセージサポート仕様
- (2) 動作
- (3) 近隣検出
- (4) Forwarderの決定
- (5) DRの決定および動作
- (6) 冗長経路時の注意事項
- (7) PIM-SMタイマ仕様
- (8) IPv4 PIM-SM使用上の注意事項
PIM-SMメッセージのサポート仕様を次の表に示します。
表24-10 PIM-SMメッセージのサポート仕様
メッセージタイプ 機能 PIM Hello 隣接するマルチキャストルータを検出する。 PIM Join/Prune マルチキャスト配送ツリーの参加および刈り込みをする。 PIM Assert Forwarderを決定する。 PIM Register マルチキャストパケットをランデブーポイント宛てにIPカプセル化する。 PIM Register-Stop PIM Registerメッセージを抑止する。 PIM Bootstrap ブートストラップルータを決定する。また,ランデブーポイントの情報を送信する。 PIM Candidate-RP-Advertisement ランデブーポイントがブートストラップルータに自ランデブーポイント情報を通知する。
PIM-SMの動作の流れを次に示します。
- 各PIM-SMルータはIGMPで学習したマルチキャストグループ情報をランデブーポイントに通知します。
- ランデブーポイントは各PIM-SMルータからマルチキャストグループ情報を受信すると,各マルチキャストグループの存在を認識します。
- PIM-SMは最初にマルチキャストパケットを送信元ネットワークからランデブーポイント経由ですべてのグループメンバに配送するために,送信者を頂点としたランデブーポイント経由配送ツリーを形成します。
- 送信者から各マルチキャストグループに対して最短パスで到達できるように,既存のユニキャストルーティングを使用して送信者からの最短パス配送ツリーを形成します。
- 送信者から各グループメンバへ最短パスでマルチキャストパケットを中継します。
PIM-SMの動作概要を次の図に示します。
- マルチキャストグループ参加,およびマルチキャストグループ情報の通知
- ランデブーポイント経由でマルチキャストパケットの送信
- 最短パスの決定
- 最短パスでのマルチキャストパケットの送信
(a) ランデブーポイントおよびブートストラップルータ
ランデブーポイントルータおよびブートストラップルータはコンフィグレーションで設定します。
ブートストラップルータはランデブーポイントの情報(IPv4アドレスなど)をすべてのマルチキャストインタフェースに通知します。このとき,ホップバイホップですべてのマルチキャストルータに通知されます。ランデブーポイントおよびブートストラップルータの役割を次の図に示します。
図24-8 ランデブーポイントおよびブートストラップルータの役割
ブートストラップルータ(PIM-SMルータC)はランデブーポイント情報をすべてのマルチキャストインタフェースに通知します。ランデブーポイント情報を受信したルータはランデブーポイントのIPv4アドレスを学習して,受信したインタフェース以外でマルチキャストルータが存在するすべてのインタフェースにランデブーポイント情報を通知します。
ブートストラップルータおよびランデブーポイントのアドレスは,ブートストラップルータおよびランデブーポイントで設定したループバックインタフェースのアドレスとなります。ブートストラップルータ候補とランデブーポイント候補には,同じループバックインタフェースを指定してください。異なるインタフェースを指定した場合,ブートストラップルータ候補の設定が無効になります。
(b) ランデブーポイントへのマルチキャストグループ参加情報の通知
各ルータはIGMPで学習したマルチキャストグループ参加情報をランデブーポイントに通知します。この通知のときに使用される送信元および宛先IPv4アドレスは,それぞれ該当するルータのアドレス(コンフィグレーションコマンドno system-source-addressを設定していないループバックインタフェースに設定したアドレス)になります。ランデブーポイントはマルチキャストグループ情報を受信すると,マルチキャストグループの存在をインタフェースごとに認識します。ランデブーポイントへのマルチキャストグループ参加情報の通知を次の図に示します。
図24-9 ランデブーポイントへのマルチキャストグループ参加情報の通知
各受信者はIGMPでマルチキャストグループ1に参加します。PIM-SMルータDおよびPIM-SMルータEはマルチキャストグループ1情報を学習して,ランデブーポイント(PIM-SMルータC)にマルチキャストグループ1情報を通知します。ランデブーポイント(PIM-SMルータC)はマルチキャストグループ1情報を受信すると,受信したインタフェースにマルチキャストグループ1が存在することを学習します。
(c) ランデブーポイント経由のマルチキャストパケット通信(IPカプセル化)
送信者S1がマルチキャストグループ1宛てのマルチキャストパケットを送信した場合,PIM-SMルータAはそのマルチキャストパケットをランデブーポイント(PIM-SMルータC)宛てにIPカプセル化(PIM Registerメッセージ)して送信します。
ランデブーポイント(PIM-SMルータC)はIPカプセル化したマルチキャストパケットを受信すると,IPデカプセル化してマルチキャストグループ1が存在するインタフェースにマルチキャストグループ1宛てのマルチキャストパケットを中継します(マルチキャストグループ1の存在は「(b) ランデブーポイントへのマルチキャストグループ参加情報の通知」で学習済み)。PIM-SMルータDおよびPIM-SMルータEは,マルチキャストグループ1宛てのマルチキャストパケットを受信すると,マルチキャストグループ1が存在するインタフェースにマルチキャストパケットを中継します(マルチキャストグループ1の存在は「(b) ランデブーポイントへのマルチキャストグループ参加情報の通知」のIGMPで学習済み)。ランデブーポイント経由のマルチキャストパケット通信(IPカプセル化)を次の図に示します。
図24-10 ランデブーポイント経由のマルチキャストパケット通信(IPカプセル化)
なお,この通知に使用される送信元IPv4アドレスは,次に示す順で選択されます。
- ランデブーポイント候補として指定したループバックインタフェースのIPv4アドレス
- ブートストラップルータ候補として指定したループバックインタフェースのIPv4アドレス
- コンフィグレーションコマンドno system-source-addressが設定されていないループバックインタフェースに設定したIPv4アドレス
- コンフィグレーションコマンドno system-source-addressが設定されている,最小のループバックインタフェースIDを持つループバックインタフェースに設定したIPv4アドレス
- ランデブーポイント宛て経路の出力インタフェースのIPv4アドレス
(d) ランデブーポイント経由のマルチキャストパケット通信(IPデカプセル化)
ランデブーポイント(PIM-SMルータC)はIPカプセル化したマルチキャストパケットを受信すると,IPデカプセル化してマルチキャストグループ1が存在するインタフェースにマルチキャストグループ1宛てのマルチキャストパケットを中継します(「(c) ランデブーポイント経由のマルチキャストパケット通信(IPカプセル化)」で説明)。
ランデブーポイントはこの処理のあと,既存のユニキャストルーティング情報を基に決定された送信者への最短パス方向にマルチキャストグループ1情報を通知します。
マルチキャストグループ1情報を受信したPIM-SMルータBおよびPIM-SMルータAは受信したインタフェースのマルチキャストグループ1の存在を認識(学習)します。PIM-SMルータAは送信者が送信したマルチキャストグループ1宛てのマルチキャストパケットをIPカプセル化しないで該当するインタフェースに中継します。マルチキャストグループ1宛てのマルチキャストパケットを受信したPIM-SMルータB,PIM-SMルータC,PIM-SMルータDおよびPIM-SMルータEはマルチキャストグループ1が存在するインタフェースに中継します。ランデブーポイント経由のマルチキャストパケット通信(IPデカプセル化)を次の図に示します。
図24-11 ランデブーポイント経由のマルチキャストパケット通信(IPデカプセル化)
(e) 最短パスのマルチキャストパケット通信
PIM-SMルータDおよびPIM-SMルータEが送信者からのマルチキャストグループ1宛てマルチキャストパケットを受信した場合(「(d) ランデブーポイント経由のマルチキャストパケット通信(IPデカプセル化)」で説明),PIM-SMルータDおよびPIM-SMルータEは送信者に対して最短パス(既存のユニキャストルーティング情報)の方向にマルチキャストグループ1情報を通知します。
PIM-SMルータAは,PIM-SMルータDおよびPIM-SMルータEからマルチキャストグループ1情報を受信すると,受信したインタフェースにマルチキャストグループ1の存在を認識し,送信者のマルチキャストグループ1宛てのマルチキャストパケットを受信すると該当するインタフェースに中継します。最短パスのマルチキャストパケット通信を次の図に示します。
(f) マルチキャスト配送ツリーの刈り込み
PIM-SMルータDは,受信者がIGMPでマルチキャストグループ1から離脱した場合,マルチキャストグループ1情報を通知していたインタフェースに対してマルチキャストグループ1の刈り込み情報を通知します。
PIM-SMルータAはマルチキャストグループ1の刈り込み通知を受信すると,受信したインタフェースに対してマルチキャストグループ1宛てのマルチキャストパケットの中継を中止します。マルチキャスト配送ツリーの刈り込みを次の図に示します。
(g) PIM Bootstrapメッセージの広告範囲制限
IPv4マルチキャストでは,PIM Bootstrapメッセージの広告範囲を制限する機能をサポートしています。PIM Bootstrapメッセージの広告範囲を制限する場合,広告範囲の境界となるインタフェースにコンフィグレーションコマンドip pim bsr-borderを設定してください。
PIM-SMルータはPIM-SMおよびPIM-SSMを有効にしたすべてのインタフェースに定期的にPIM Helloメッセージを送信します。PIM HelloメッセージはAll-PIM-Routersグループアドレス宛て(224.0.0.13)に送信します。このメッセージを受信することで,近隣のマルチキャストルータを動的に検出します。本装置はPIM HelloメッセージのGeneration IDオプションをサポートしています。
Generation IDはマルチキャストインタフェースごとに持つ32ビットの乱数で,PIM Helloメッセージ送信時にGeneration IDを付加して送信します。Generation IDはマルチキャストインタフェースがUp状態になるたびに再生成します。受信したPIM HelloメッセージにGeneration IDオプションが付加されていればGeneration IDを記憶し,Generation IDの変化によって近隣装置のインタフェース障害を検出します。Generation IDの変化を検出すると,近隣装置情報の更新とPIM Helloメッセージ,PIM BootstrapメッセージおよびPIM Join/Pruneメッセージを定期広告のタイミングを待たないで送信します。これによって,マルチキャスト経路情報を速やかに再学習できます。
同一LAN上に複数のPIM-SMルータを接続している場合,そのネットワークにマルチキャストパケットが重複して中継される可能性があります。
同一LAN上に複数のPIM-SMルータが存在し,二つ以上のルータがそのLANにマルチキャストパケットを中継する場合,PIM-SMルータはPIM Assertメッセージを使用してそのマルチキャスト経路のプリファレンスとメトリックを比較して,送信元ネットワークに対して最適な一つのルータをForwarderとして選択します。
Forwarderとなった一つのルータだけが,そのLANでのマルチキャストパケットを中継することで,マルチキャストパケット中継の重複を抑止します。
PIM AssertメッセージによってForwarderを決定する流れを次に示します。
- プリファレンスを比較して,プリファレンス値が小さいルータがForwarderになります。
- プリファレンス値が等しい場合,メトリックを比較して,メトリック値が小さいルータがForwarderになります。
- メトリック値が等しい場合,各ルータのIPv4アドレスを比較して,IPv4アドレスが大きいルータがForwarderになります。
本装置はマルチキャスト経路のプリファレンス値に101,メトリック値に1024を設定して,PIM Assertメッセージを送信します。送信者が本装置と直接接続する場合は,プリファレンス値およびメトリック値に0を設定して送信します。また,コンフィグレーションコマンドip pim assert-preferenceおよびip pim assert-metricを設定することで,ユニキャストルーティングプロトコルから該当するマルチキャスト経路の送信元アドレスへのディスタンス値とメトリック値を取得して,PIM Assertメッセージのプリファレンス値とメトリック値として送信することもできます。
ユニキャストルーティングプロトコルがOSPFの場合,OSPFの経路の学習元によって取得するメトリック値が異なります。OSPFの経路の学習元ごとに取得するメトリック値を次の表に示します。
表24-11 OSPFの経路の学習元ごとに取得するメトリック値
経路の学習元 取得するメトリック値 備考 AS外経路(TYPE1),NSSAのAS外経路(TYPE1) メトリック値+Cost値 第1メトリック値 AS外経路(TYPE2),NSSAのAS外経路(TYPE2) メトリック値 エリア内経路,エリア間経路 Cost値 なお,マルチキャストロードバランスと併用した場合,コンフィグレーションコマンドip pim assert-preferenceおよびip pim assert-metricの設定は無効になります。
Forwarderの決定を次の図に示します。
図24-14 Forwarderの決定
PIM-SMルータAのIPv4アドレスIaとPIM-SMルータBのIPv4アドレスIbを比較します。その結果,値の大きいPIM-SMルータBがForwarderになります。
同一LAN上で複数のPIM-SMルータが存在する場合,PIM-SMルータ間の制御パケット通信によって中継代表ルータ(DR:Designated Router)を決定します。このとき,同一LAN上でいちばん大きいDR-PriorityのPIM-SMルータがDRとなります。DR-Priorityが等しい場合は,いちばん大きいIPv4アドレスのPIM-SMルータがDRとなります。また,同一LAN上にDR-Priorityオプション未サポートの装置が1台でも存在する場合は,いちばん大きいIPv4アドレスのPIM-SMルータがDRとなります。
受信者からのマルチキャストグループ参加情報はDRがランデブーポイント宛てに通知します。送信者が送信したマルチキャストパケットはDRがIPカプセル化してランデブーポイントに送信します。DRの動作を次の図に示します。
PIM-SMルータAとPIM-SMルータBのDR-Priorityを比較した場合,PIM-SMルータBのDR-Priorityが大きいため,PIM-SMルータBがDRとなってランデブーポイントにマルチキャストグループ参加情報を通知します。PIM-SMルータDとPIM-SMルータEのDR-Priorityを比較した場合,DR-Priorityが等しいため,IPv4アドレスで比較します。その結果,IPv4アドレスが大きいPIM-SMルータEがDRとなってランデブーポイントに対してIPカプセル化パケットを中継します。
次の図に示すような冗長構成の場合,マルチキャストパケットが中継されないので注意してください。冗長経路がある場合は,その経路上のすべてのルータでPIM-SMの設定が必要になります。
図24-16 冗長経路時の注意
PIM-SMが使用するタイマ値を次の表に示します。
表24-12 PIM-SMタイマ値
タイマ名 内容 デフォルト値 本装置の設定範囲 備考 Hello_Period※1 PIM Helloメッセージの送信周期 30(秒) 5〜3600(秒) − Hello_Holdtime※2 隣接関係の保持期間 105(秒) 3.5×Hello_Period
(秒)− Triggered_Hello_Delay PIM Helloメッセージの一斉送信を抑止するための調整時間 0〜5(秒) − 起動時の最初のPIM Helloメッセージ送信,または近隣ルータの再起動検出によるPIM Helloメッセージ送信時の遅延時間(0〜5秒の間でランダムに決定します) Assert_Time PIM Assertメッセージによる中継抑止期間 180(秒) − − Assert_Override_Interval Assert制御によるマルチキャスト中継の抑止を更新するための調整時間 3(秒) − Assert敗者がマルチキャスト中継を再開する前(Assert_Time)にAssert勝者がPIM Assertメッセージを送信して,Assert敗者の中継抑止時間を更新するための調整時間 t_periodic※1 PIM Join/Pruneメッセージの送信周期 60(秒) 1〜3600(秒) − J/P_HoldTime※2 経路情報および中継先インタフェースの保持期間 210(秒) 3.5×t_periodic
(秒)− Deletion-Delay-Time※1※3※4 PIM Pruneメッセージ受信後のマルチキャスト中継先インタフェースの保持期間 1/3×J/P_HoldTime
(秒)0〜300(秒) − t_suppressed PIM Join/Pruneメッセージの集中を回避するための送信抑止時間 66〜84(秒) − − J/P_Override_Interval PIM Pruneメッセージの受信からマルチキャスト中継停止までの時間 3(秒) 1000〜98302(ミリ秒)
(Effective_Propagation_Delay+Effective_Override_Interval)マルチキャスト中継停止までの間にマルチキャスト中継を継続したい下流ルータがPIM Joinメッセージを送信すると,マルチキャスト中継は維持されます Override_Interval※1 Effective_Override_Intervalを決定するための本装置の設定時間 2500(ミリ秒) 500〜65535(ミリ秒) − Effective_Override_Interval t_overrideを算出するためのLAN上の決定時間 2500(ミリ秒) − LAN上の全近隣ルータのOverride_Intervalの最大値※5 t_override PIM Join/Pruneメッセージの一斉送信を抑止するための調整時間 0〜2500(ミリ秒) 0〜65535(ミリ秒) 調整時間は0〜Effective_Override_Intervalの間でランダムに決定します Propagation_Delay※1 Effective_Propagation_Delayを決定するための本装置の設定時間 500(ミリ秒) 500〜32767(ミリ秒) − Effective_Propagation_Delay LAN上で決定したPIM Join/Pruneメッセージが行き渡るまでの遅延時間 500(ミリ秒) − LAN上の全近隣ルータのPropagation_Delayの最大値 Keepalive Timer※1 マルチキャスト中継エントリの保持期間 210(秒) 0(無期限),
60〜43200(秒)最大で+90秒の誤差が発生します Register_Supression_Time IPカプセル化送信の抑止期間 60(秒) − 最大で±30秒の揺らぎが発生します Register_Probe_Time※1※6※7 IPカプセル化送信の再開確認を送信する時間 5(秒) 5〜60(秒) デフォルトの5秒ではRegister_Supression_Timeが満了する5秒前にIPカプセル化送信の再開確認(PIM Null-Registerメッセージ)を一度だけ送信します C-RP-Adv-Period ランデブーポイント候補の通知周期 60(秒) − − RP-Holdtime※2 ランデブーポイント保持期間 150(秒) 2.5×C-RP-Adv-Period
(秒)− Bootstrap-Period PIM Bootstrapメッセージの送信周期 60(秒) − − Bootstrap-Timeout※2 PIM Bootstrapメッセージの保持期間 130(秒) 2×Bootstrap-Period+10
(秒)− BS_Rand_Override ブートストラップルータ切り替え調整時間 5〜23(秒) − 本タイマによって優先度の高いブートストラップルータ候補が短時間で選出されます Negative-Cache-Holdtime※1 ネガティブキャッシュエントリの保持期間 PIM-SMの場合210(秒),PIM-SSMの場合3600(秒) 10〜3600(秒) − (凡例) −:該当しない
- 注※1
- コンフィグレーションで設定できます。
- 注※2
- 計算式で算出されます(コンフィグレーションで設定できません)。
- 注※3
- 本タイマ値をコンフィグレーションで設定した場合は設定値を使用しますが,本中継先インタフェースに対して,最後に受信したPIM Join/Pruneメッセージに含まれるJoin/Prune-Holdtimeを超えない値を中継先インタフェースの保持期間として設定します。
- 注※4
- 本タイマ値はRFC2362に準拠した近隣ルータに対して使用するタイマです。コンフィグレーションで設定された値が優先されるため,RFC2362の規定とは異なった動作をします。なお,コンフィグレーションで値を指定していない場合にはRFC2362の動作に準じます。
- 注※5
- PIM HelloメッセージのLAN Prune Delayオプションを未サポートの近隣ルータがLAN上に存在する場合,本装置のOverride_Intervalの設定値によって,次に示す値を適用します。
- ・Override_Interval≧2500ミリ秒の場合,2500ミリ秒
- ・Override_Interval<2500ミリ秒の場合,Override_Interval
- 注※6
- 本タイマ値を10以上に設定すると,IPカプセル化送信の再開確認を5秒おきに複数回送信します。コンフィグレーションで値を指定していない場合には,一度だけ送信します。
- 注※7
- 本タイマ値はRFC2362に準拠しています。
PIM-SMを使用したネットワークを構成する場合には次に示す制限事項に注意してください。本装置はRFC4601(PIM-SM仕様)に準拠していますが,一部RFCとの差分があります。RFCとの差分を次の表に示します。
項目 RFC 本装置 パケットフォーマット RFCにはエンコードグループアドレスおよびエンコードソースアドレスにマスク長を設定するフィールドがある。 エンコードアドレスのマスク長は32固定。 RFCにはエンコードグループアドレスおよびエンコードソースアドレスにアドレスファミリとエンコードタイプを設定するフィールドがある。 エンコードアドレスのアドレスファミリは1(IPv4),エンコードタイプは0固定。IPv4以外のPIM-SMとは接続できない。 RFCにはPIMメッセージのヘッダにPIMバージョンを設定するフィールドがある。 PIMバージョンは2固定。
PIMバージョン1と接続できない。PIM Join/Pruneフラグメント PIM Join/PruneメッセージはネットワークのMTU長を超えてもフラグメントできる。 送信するPIM Join/Pruneメッセージのサイズが大きい場合,8192オクテットに分割して送信する。さらに,分割して送信するPIM Join/PruneメッセージはネットワークのMTU長でIPフラグメントによって送信される。 PIM Registerメッセージ送信時のIPフラグメント動作 PIM Registerヘッダが付加されることを考慮して,IPフラグメントしたあとにそれぞれのフラグメントパケットをIPカプセル化する。 IPカプセル化したパケットをIPフラグメントする。 IPsec認証 Authentication Header(AH)を使用するIPsec転送モードがある。 未サポート。 PMBRとの接続 RFCではPMBR(PIM Border Router)との接続および(*,*,RP)マルチキャスト経路情報に関する仕様が記述されている。 PMBRとの接続をサポートしていない。また,(*,*,RP)マルチキャスト経路情報もサポートしていない。 最短パスへの切り替え 最短パスへの切り替えタイミングとしてデータレートを基に切り替える方法がある。 ラストホップルータで最初のデータを受信したら,データレートをチェックしないで最短パスへ切り替える。
All Rights Reserved, Copyright(C), 2014, 2020, ALAXALA Networks, Corp.