解説書 Vol.1
PIM-SMはルータ間で使用されるマルチキャストルーティングプロトコルで,隣接情報やマルチキャスト配送ツリーへの参加および刈り込み要求などをやり取りすることによって,受信したマルチキャストパケットの中継および廃棄処理を実施します。PIM-SMは最初にランデブーポイント(集中ポイント)経由でマルチキャストパケットを中継します。その後,既存のユニキャストルーティングを利用することによって,マルチキャストパケット送信元からの最短パスを使用して最短パス経由に切り替え,マルチキャストパケットを中継します。
本装置が送信するPIM-SMフレームのフォーマットおよび設定値はRFC2362に従います。
- <この項の構成>
- (1) PIM-SMメッセージサポート仕様
- (2) 動作
- (3) 近隣検出
- (4) Forwarderの決定
- (5) DRの決定および動作
- (6) 冗長経路時の注意事項
- (7) PIM-SMタイマ仕様
- (8) PIM-SM使用上の注意事項
PIM-SMメッセージのサポート仕様を次の表に示します。
表13-9 PIM-SMメッセージサポート仕様
メッセージタイプ 機能 PIM-Hello PIM近隣ルータを検出します。 PIM-Join/Prune マルチキャスト配送ツリーの参加および刈り込みをします。 PIM-Assert Forwarderを決定します。 PIM-Register マルチキャストパケットをランデブーポイント宛てにIPカプセル化します。 PIM-Register-stop Registerメッセージを抑止します。 PIM-Bootstrap BSRを決定します。また,ランデブーポイントの情報を配信します。 PIM-Candidate-RP-Advertisement ランデブーポイントがBSRに自ランデブーポイント情報を通知します。
各PIM-SMルータはIGMPで学習したグループ情報をランデブーポイントに通知します。ランデブーポイントは各PIM-SMからグループ情報を受信することで各グループの存在を認識します。したがって,PIM-SMは最初にマルチキャストパケットをその送信元ネットワークからランデブーポイント経由ですべてのグループメンバに配送するために,送信元を頂点としたランデブーポイント経由配送ツリーを形成します。次に送信元から各グループに対して最短パスで到達できるように,既存のユニキャストルーティングを使用して送信元からの最短パスを決定します。最短パス配送ツリーを形成します。これによって送信元から各グループメンバへのマルチキャストパケット中継は最短パスで行われます。PIM-SMの動作概要を次の図に示します。
(a) ランデブーポイントおよびブートストラップルータ(BSR)
ランデブーポイントルータおよびブートストラップルータ(BSR)は構成定義で定義します。本装置ではランデブーポイントとBSRは同一装置内で定義し,システムに1台とします。BSRはランデブーポイントの情報(IPアドレスなど)をすべてのマルチキャストインタフェースに通知します。この通知はホップバイホップですべてのマルチキャストルータに通知されます。ランデブーポイントおよびBSRの役割を次の図に示します。
図13-23 ランデブーポイントおよびブートストラップルータ(BSR)の役割
この図で,BSR(PIM-SMルータC)はランデブーポイント情報をすべてのマルチキャストインタフェースに通知します。ランデブーポイント情報を受信したルータはランデブーポイントのIPアドレスを学習し,受信したインタフェース以外でマルチキャストルータが存在するすべてのインタフェースにランデブーポイント情報を通知します。
(b) ランデブーポイントへのグループ参加情報の通知
各ルータはIGMPで学習したグループ参加情報をランデブーポイントに通知します。ランデブーポイントはグループ情報を受信することでグループの存在をインタフェースごとに認識します。ランデブーポイントへのグループ参加情報の通知を次の図に示します。
この図で,各ホストはIGMPでグループ1に参加します。PIM-SMルータDおよびPIM-SMルータEはグループ1情報を学習し,ランデブーポイント(PIM-SMルータC)にグループ1情報を通知します。ランデブーポイント(PIM-SMルータC)はグループ1情報を受信することによって,受信したインタフェースにグループ1が存在することを学習します。
(c) ランデブーポイント経由のマルチキャストパケット通信(カプセル化)
送信者S1がグループ1宛てのマルチキャストパケットを送信した場合,PIM-SMルータAはそのマルチキャストパケットをランデブーポイント(PIM-SMルータC)宛てにIPカプセル化(Registerパケット)して送信します(ランデブーポイントのIPアドレスは(a)で学習済み)。ランデブーポイント(PIM-SMルータC)はIPカプセル化したパケットを受信すると,カプセル化を解除してグループ1が存在するインタフェースにグループ1宛てのマルチキャストパケットを中継します(グループ1の存在は(b)で学習済み)。PIM-SMルータDおよびPIM-SMルータEは,グループ1宛てのマルチキャストパケットを受信すると,グループ1が存在するインタフェースにパケットを中継します(グループ1の存在は(b)のIGMPで学習済み)。ランデブーポイント経由のマルチキャストパケット通信(カプセル化)を次の図に示します。
図13-25 ランデブーポイント経由のマルチキャストパケット通信(カプセル化)
(d) ランデブーポイント経由のマルチキャストパケット通信(非カプセル化)
ランデブーポイント(PIM-SMルータC)はIPカプセル化したパケットを受信すると,カプセル化を解除してグループ1が存在するインタフェースにグループ1宛てのマルチキャストパケットを中継します。
ランデブーポイントはこの処理後,送信元サーバの方向にグループ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が存在するインタフェースに中継します。ランデブーポイント経由のマルチキャストパケット通信(非カプセル化)を次の図に示します。
図13-26 ランデブーポイント経由のマルチキャストパケット通信(非カプセル化)
(e) 最短パスのマルチキャストパケット通信
PIM-SMルータDおよびPIM-SMルータEは,送信者元サーバのグループ1宛てマルチキャストパケットを受信した場合((c)で説明),PIM-SMルータDおよびPIM-SMルータEは送信者S1に対して最短のパス(既存のユニキャストルーティング情報)の方向にグループ1情報を通知します。PIM-SMルータAは,PIM-SMルータDおよびPIM-SMルータEからグループ1情報を受信すると,受信したインタフェースにグループ1の存在を認識し,送信元サーバのグループA宛てのマルチキャストパケットを受信すると該当するインタフェースに中継します。最短パスのマルチキャストパケット通信を次の図に示します。
(f) マルチキャスト配送ツリーの刈り込み
PIM-SMルータDは,ホストがIGMPでグループ1から離脱した場合,グループ1情報を通知していたインタフェースに対してグループ1の刈り込み情報を通知します。PIM-SMルータAはグループ1の刈り込み通知を受信すると,受信したインタフェースに対してグループ1宛てのマルチキャストパケットの中継を中止します。マルチキャスト配送ツリーの刈り込みを次の図に示します。
PIM-DM(「13.4.2 PIM-DM (4) 近隣検出」)と同じです。
PIM-DM(「13.4.2 PIM-DM (5) Forwarderの決定」)と同じです。
同一イーサネット上で複数のPIM-SMルータが存在する場合,送信元サーバが送信したマルチキャストパケットをランデブーポイントにIPカプセル化して中継するルータ(DR)を決定します。そのインタフェース上で一番大きいIPアドレスのルータがDRとなります。例えば,PIM-SMルータAとPIM-SMルータBのIPアドレスを比較してPIM-SMルータBの方がIPアドレスが大きい場合,PIM-SMルータBがDRとなりランデブーポイントに対してIPカプセル化パケットを中継します。DRの動作を次の図に示します。
次の図に示すような冗長構成の場合,マルチキャストパケットがフォワードされないので注意してください。冗長経路がある場合は,その経路上のすべてのルータでPIMの設定が必要になります。
図13-30 冗長経路時の注意
PIM-SMが使用するタイマ値を次の表に示します。
表13-10 PIM-SMタイマ
タイマ 値 (単位:秒) Hello周期 30 近隣タイムアウト 105
3.5×PIM-Hello周期Assertタイムアウト 180 Join/Prune周期 60 Join/Prune保持 210 Register抑止 30〜90
ランデブーポイントにマルチキャストパケットをカプセル化して送信するのを抑止するタイマランデブーポイント候補周期 60
ランデブーポイントがBSRにC-RP-Advメッセージを送信する周期BSR周期 60
BSRが周期的にBSRメッセージを送信する周期注 PIM-SMタイマの値は変更できません。
PIM-SMを使用したネットワークを構成する場合には次の制限事項に注意してください。本装置はRFC2362(PIM-SM仕様)に準拠していますが,ソフトウェアの機能制限から一部RFCとの差分があります。RFCとの差分を次の表に示します。
項目 RFC 本装置 パケット
フォーマットRFCにはエンコードグループアドレスおよびエンコードソースアドレスにマスク長を設定するフィールドがあります。 本装置ではエンコードアドレスのマスク長は32固定。 RFCにはエンコードグループアドレスおよびエンコードソースアドレスにアドレスファミリーとエンコードタイプを設定するフィールドがあります。 本装置ではエンコードアドレスのアドレスファミリーは1(IPv4),エンコードタイプは0固定。IPv4以外のPIM−SMと接続できません。 RFCにはPIMメッセージのヘッダにPIMバージョンを設定するフィールドがあります。 本装置のPIMバージョンは2固定。
PIMバージョン1と接続できません。Join/Pruneフラグメント Join/PruneメッセージはネットワークのMTUを超えてもフラグメントすることができます。 本装置では送信するJoin/Pruneメッセージのサイズが大きい場合,8kBに分割して送信します。さらに,分割して送信するJoin/PruneメッセージはネットワークのMTU長でIPフラグメントによって送信されます。 PMBRとの接続 RFCではPMBR(PIM Border Router)との接続および(*,*,RP)エントリについての仕様が記述されています。 本装置ではPMBRとの接続をサポートしていません。また,(*,*,RP)エントリもサポートしていません。 Register受信とRegister−Stop送信 Register受信し,マッチした(S,G)または(*,G)エントリのoifがnullならば,ランデブーポイントはRegisterメッセージのsourceアドレスにRegister-Stopメッセージをユニキャストします。この場合,Register-Stopメッセージのsourceアドレスフィールドはワイルドカード値(0)がセットされます。 本装置ではランデブーポイントでRegister受信した場合にマッチしたエントリが(S,G)エントリでoifがnullであってもRPTビットが0ならRegister-Stopメッセージは送信しません(カプセル化は抑止しません)。また,ワイルドカードのRegister-Stopメッセージを受信してもカプセル化は抑止しません。 最短経路への切り替え 最短経路への切り替えタイミングとしてデータレートを基に切り替える方法があります。 本装置ではlast-hop-routerにて最初のデータを受信したら,データレートをチェックしないで最短経路への切り替えます。 C-RP-Adv受信とBootstrap送信 Bootstrapメッセージは生成したメッセージ長が最大パケット長を超えた場合にフラグメントすることが許されます。しかし,フラグメント発生を抑止するためにランデブーポイント候補の最大数を定義することを推奨します。 本装置ではランデブーポイントおよびBSRはシステムで1台だけです。さらに,ランデブーポイントで定義できるグループプレフィックスは最大128個です。
本装置では送信するBootstrapメッセージのサイズが大きい場合,ネットワークのMTU長でIPフラグメントして送信されます。
Copyright (c)2005 ALAXALA Networks Corporation. All rights reserved.