IP マルチキャストの最適化:大規模な IP マルチキャスト展開での PIM スパース モードの最適化
大規模な IP マルチキャスト展開での PIM スパース モードの最適化の前提条件
大規模な IP マルチキャスト展開での PIM スパース モードの最適化について
PIM 登録プロセス
IP マルチキャスト ソースは、その存在をアナウンスするのにシグナリング メカニズムを使用しません。送信元は接続ネットワークにデータを送信するだけなのに対し、受信者は Internet Group Management Protocol(IGMP)を使用して、自身の在席状態を示します。ソースが PIM スパース モード(PIM-SM)で設定されているマルチキャスト グループにトラフィックを送信すると、ソースにつながる指定ルータ(DR)は、このソースの存在についてランデブー ポイント(RP)に知らせなければなりません。この送信元からマルチキャスト トラフィックを(ネイティブに)受信するダウンストリーム受信者が RP にいて、RP が送信元につながる最短パスに加入していない場合、DR はトラフィックを送信元から RP に送信する必要があります。PIM 登録プロセスは、各 (S, G) エントリに対し個別に実行されますが、DR と RP 間のこれらのタスクを実行します。
登録プロセスは、DR が新しい (S, G) ステートを作成すると開始されます。DR は、(S, G) ステートに一致するすべてのデータ パケットを PIM 登録メッセージにカプセル化し、それらの登録メッセージを RP にユニキャストします。
RP が新しいソースからの登録メッセージを受信したいダウンストリーム レシーバを持っている場合は、RP は、登録メッセージを DR を通じて受信し続けることも、ソースにつながる最短パスに加入することもできます。デフォルトでは、ネイティブ マルチキャスト トラフィックの配信が最も高いスループットを実現するため、RP は最短パスに加入します。最短パス経由でネイティブに到着した最初のパケットを受信後、RP は DR に登録停止メッセージを送り返します。DR は、この登録停止メッセージを受信したら、RP への登録メッセージの送信を停止します。
RP に新しい送信元からの登録メッセージを受信するダウンストリーム受信者がいない場合、RP は最短パスに加入しません。その代わり、RP は、ただちに DR に登録停止メッセージを送り返します。DR は、この登録停止メッセージを受信したら、RP への登録メッセージの送信を停止します。
いったんソースへのルーティング エントリが確立されたら、DR と RP の間で定期的な再登録が発生します。DR が RP から登録停止メッセージを受信するまでは、ソースがアクティブであれば、マルチキャスト ルーティング テーブル ステートがタイムアウトする 1 分前に DR が 1 つのデータのない登録メッセージを RP に送信します。このアクションがマルチキャスト ルーティング テーブル エントリのタイムアウト時間をリスタートさせ、通常は、2 分ごとに 1 つの登録交換が行われることになります。登録は、ステートを維持するため、ステート損失から回復するため、および RP 上でソースを追跡するために必要です。これは、RP の最短パスへの加入からは独立して発生します。
PIM バージョン 1 の互換性
RP が PIM バージョン 1 を実行している場合、それはデータのない登録メッセージは理解しません。この場合、DR は RP にデータのない登録メッセージを送信しません。代わりに、RP から登録停止メッセージを受信後約 3 分おきに、DR は送信元からの着信データ パケットを登録メッセージにカプセル化し、それを RP に送信します。DR は RP から別の登録停止メッセージを受信するまで、登録メッセージを送信し続けます。DR が PIM バージョン 1 を実行している場合、同じ動作が起こります。
PIM バージョン 1 を実行している DR が特定の (S, G) エントリ向けの登録メッセージにデータ パケットをカプセル化すると、エントリではプロセス スイッチングが行われます(高速スイッチングやハードウェア スイッチングではない)。これらの高速パスをサポートしているプラットフォームでは、PIM バージョン 1 を実行している RP または DR の PIM 登録プロセスが、定期的で不適切なパケット配信の原因となる可能性があります。そのため、ネットワークを PIM バージョン 1 から PIM バージョン 2 にアップグレードすることを推奨しています。
PIM 指定ルータ
IP マルチキャスト用に設定されているデバイスは、PIM ハロー メッセージを送信して、どのデバイスが各 LAN セグメント(サブネット)の指定ルータ(DR)であるかを調べます。ハロー メッセージにはデバイスの IP アドレスが含まれており、最も大きい IP アドレスを持つデバイスが DR になります。
DR は、直接接続された LAN 上のすべてのホストに Internet Group Management Protocol(IGMP)ホスト クエリ メッセージを送信します。スパース モードで稼働している場合は、DR は、ソース登録メッセージをランデブー ポイント(RP)に送信します。
デフォルトでは、マルチキャスト デバイスは、30 秒ごとに PIM ルータ クエリ メッセージを送信します。デバイスがより頻繁に PIM ハロー メッセージを送信できるようにすることにより、デバイスは、応答しないネイバーをより迅速に検出できるようになります。その結果、デバイスは、より効率的なフェールオーバー手順または回復手順を実装できます。この変更は、ネットワークのエッジ上の冗長デバイスに対してのみ行うことが推奨されます。
PIM スパース モード登録メッセージ
データのない登録メッセージは、1 秒に 1 メッセージのレートで送信されます。DR が集中的なソース(データ レートの高いソース)を登録しており、RP が PIM バージョン 2 を実行していない場合は、連続的に高いレートの登録メッセージが発生する可能性があります。
デフォルトでは、PIM スパース モード登録メッセージは、レート制限なしで送信されます。登録メッセージのレートを制限すると、設定された制限を超えた登録メッセージはドロップされるという代償を伴いますが、DR および RP にかかる負荷が制限されます。レシーバは、パケットが集中的なソースから送信されてから最初の 1 秒間に、データ パケット損失を経験する可能性があります。
メモリ要件を減らすために最短パス ツリーの使用を回避する
PIM 共有ツリーとソース ツリーを理解しておくと、最短パス ツリーの使用を回避することでどのようにメモリ要件を減らせるかについて理解しやすくなります。
PIM 共有ツリーおよびソース ツリー(最短パス ツリー)
デフォルトでは、ランデブー ポイント(RP)がルートになる単一のデータ配信ツリー全体にわたって、マルチキャスト グループのメンバが送信者からグループへのデータを受信します。このタイプの配布ツリーは、図に示すように、共有ツリーと呼ばれます。送信側からのデータは、RP に配信され、その共有ツリーに加入しているグループ メンバに配布されます。
図 1. 共有ツリーとソース ツリー(最短パス ツリー)
データ レートで保証される場合、共有ツリー上のリーフ ルータは、送信元をルートとするデータ配布ツリーへの切り替えを開始できます。このタイプの配信ツリーは、最短パス ツリー(SPT)またはソース ツリーと呼ばれます。デフォルトでは、ソフトウェアが送信元から最初のデータ パケットを受信すると、送信元ツリーに切り替わります。
次に、共有ツリーから送信元ツリーに切り替わるプロセスの詳細を示します。
レシーバがグループに加入します。リーフ ルータであるルータ C が、RP に向けて加入メッセージを送信します。
RP がルータ C へのリンクを発信インターフェイス リストに登録します。
送信元がデータを送信します。ルータ A はデータをカプセル化して登録メッセージに格納し、RP に送信します。
RP が、データを共有ツリーの下流に向けて、ルータ C に転送し、ソースに向けて加入メッセージを送信します。この時点で、データはルータ C に 2 回(カプセル化された状態で 1 回、ネイティブの状態で 1 回)着信する可能性があります。
データがネイティブに(マルチキャストを通じて)RP に到着すると、RP は、ルータ A に登録停止メッセージを送信します。
デフォルトでは、最初のデータ パケットの受信で、ルータ C のソースへの加入メッセージ送信が促されます。
ルータ C は、(S, G) でデータを受信すると、共有ツリーの上流に向けて、ソースのプルーニング メッセージを送信します。
RP が(S, G)の発信インターフェイスからルータ C へのリンクを削除します。RP は、ソースに向けてプルーニング メッセージをトリガーします。
加入メッセージとプルーニング メッセージが、ソースと RP に送信されます。これらのメッセージはホップバイホップで送信され、送信元または RP に向かうパス上の各 PIM ルータによって処理されます。register および register-stop メッセージは、ホップバイホップで送信されません。これらのメッセージは、送信元に直接接続されている指定ルータによって送信され、グループの RP によって受信されます。
グループへ送信する複数の送信元で、共有ツリーが使用されます。
最短パスツリーの使用を回避または延期する利点
共有ツリーからソース ツリーへのスイッチは、最初のデータ パケットのラスト ホップ デバイス(#GUID-53401AB5-DA27-4CBB-886C-40D577875B45 でのルータ C)への到着によって発生します。このスイッチが発生するのは、ippimspt-threshold コマンドがタイミングを制御しているためで、そのデフォルト設定は 0 kbps です。
最短パス ツリーは共有ツリーより多くのメモリを必要としますが、遅延は低減します。この使用を回避または延期して、メモリの要件を減らすことができます。リーフ デバイスがただちに最短パス ツリーに移動できるようにする代わりに、SPT の使用を防止したり、まずトラフィックがしきい値に到達しなければならないように指定したりできます。
PIM リーフ デバイスが、指定グループの SPT に加入する時期を設定できます。送信元の送信速度が指定速度(キロビット/秒)以上の場合、デバイスは PIM Join メッセージを送信元に向けて送信し、ソース ツリー(SPT)を構築します。infinity キーワードを指定すると、指定されたグループのすべての送信元で共有ツリーが使用され、送信元ツリーに切り替わらなくなります。
大規模な IP マルチキャスト展開で PIM スパース モードを最適化する方法
大規模な展開での PIM スパース モードの最適化
IP マルチキャストの展開が大規模な場合には、この作業を行うことを検討してください。
このタスクのステップ 3、5、および 6 は相互に依存せず、オプションと見なされます。これらの手順はいずれも、PIM スパース モードの最適化に役立ちます。ステップ 5 または 6 を実行する場合は、ステップ 4 を実行する必要があります。ステップ 6 は、指定ルータにしか適用されません。PIM クエリーの間隔の変更は、PIM ドメインのエッジにある冗長ルータに対してしか適切ではありません。
手順 | コマンドまたはアクション | 目的 |
---|
ステップ 1 | enable
例:
|
特権 EXEC モードをイネーブルにします。
|
ステップ 2 | configure terminal
例:
Router# configure terminal
|
グローバル コンフィギュレーション モードを開始します。
|
ステップ 3 | ippimregister-rate-limit レート
例:
Router(config)# ip pim register-rate-limit 10
|
(任意)各 (S, G) ルーティング エントリについて、1 秒当たりに送信される PIM スパース モード登録メッセージの最大数の制限を設定します。
このコマンドは、指定ルータ(DR)が各 (S, G) エントリに許可する登録メッセージ数を制限する場合に使用します。
デフォルトでは、最大レートは設定されていません。
このコマンドを設定すると、設定された制限を超えた登録メッセージはドロップされるという代償を伴いますが、DR および RP への負荷は制限されます。
レシーバは、登録メッセージが集中的なソースから送信されてから最初の 1 秒間に、データ パケット損失を経験する可能性があります。
|
ステップ 4 | ippimspt-threshold{kbps| infinity}[group-list access-list]
例:
Router(config)# ip pim spt-threshold infinity group-list 5
|
(任意)最短パス ツリーに移行するには超えなければならないしきい値を指定します。
デフォルト値は 0 です。この場合、ルータは、最初のデータ パケットを受信したらただちに SPT に加入します。
infinity キーワードを指定すると、最短パス ツリーへの移行は一切行われなくなり、共有ツリーのままとなります。このキーワードは、「多対多」通信のマルチキャスト環境に適用されます。
グループ リストは、SPT のしきい値がどのグループに適用されるかを制御する標準アクセス リストです。0 の値を指定するか、またはグループ リストを指定しなかった場合、しきい値はすべてのグループに適用されます。
この例では、グループ リスト 5 は、すでにマルチキャスト グループ 239.254.2.0 および 239.254.3.0 を許可するように設定されています(access-list 5 permit 239.254.2.0 0.0.0.255 access-list 5 permit 239.254.3.0 0.0.0.255)。
|
ステップ 5 | interface type number
例:
Router(config)# interface ethernet 0
|
インターフェイスを設定します。
|
ステップ 6 | ippimquery-interval period [msec]
例:
Router(config-if)# ip pim query-interval 1
|
(任意)マルチキャスト ルータが PIM ルータ クエリー メッセージを送信する頻度を設定します。
この手順は、PIM ドメインのエッジにある冗長ルータに対してだけ実行してください。
デフォルトのクエリー間隔は 30 秒です。
msec キーワードが指定されないかぎり、period 引数の単位は秒です。
クエリー間隔を少ない秒数に設定するとコンバージェンスを高速化できますが、コンバージェンスの高速化と引き換えに CPU と帯域幅の使用量が大きくなります。
|
大規模なマルチキャスト展開での PIM スパース モードの最適化の設定例
大規模な IP マルチキャスト展開での PIM スパース モードの最適化の例
次の例は、下記のことを行う方法を示します。
クエリー間隔を 1 秒に設定して、コンバージェンスを高速化する。
ルータが一切 SPT に移行せず、共有ツリーに留まるように設定する。
各 (S, G) ルーティング エントリについて、1 秒当たりに送信される PIM スパース モード登録メッセージの制限を 10 個に設定する。
interface ethernet 0
ip pim query-interval 1
.
.
.
!
ip pim spt-threshold infinity
ip pim register-rate-limit 10
!
IP マルチキャストの最適化:大規模な IP マルチキャスト展開での PIM スパース モードの最適化に関するその他の関連資料
テクニカル サポート
説明 |
リンク |
シスコのサポート Web サイトでは、シスコの製品やテクノロジーに関するトラブルシューティングにお役立ていただけるように、マニュアルやツールをはじめとする豊富なオンライン リソースを提供しています。
お使いの製品のセキュリティ情報や技術情報を入手するために、Product Alert Tool(Field Notice からアクセス)、Cisco Technical Services Newsletter、Really Simple Syndication(RSS)フィードなどの各種サービスに加入できます。
シスコのサポート Web サイトのツールにアクセスする際は、Cisco.com のユーザ ID およびパスワードが必要です。
|
http://www.cisco.com/support
|
IP マルチキャストの最適化:大規模な IP マルチキャスト展開での PIM スパース モードの最適化の機能履歴と情報
次の表に、このモジュールで説明した機能に関するリリース情報を示します。この表は、ソフトウェア リリース トレインで各機能のサポートが導入されたときのソフトウェア リリースのみを示しています。その機能は、特に断りがない限り、それ以降の一連のソフトウェア リリースでもサポートされます。
プラットフォームのサポートおよび Cisco ソフトウェア イメージのサポートに関する情報を検索するには、Cisco Feature Navigator を使用します。Cisco Feature Navigator にアクセスするには、www.cisco.com/go/cfn に移動します。Cisco.com のアカウントは必要ありません。
表 1 IP マルチキャストの最適化:大規模な IP マルチキャスト展開での PIM スパース モードの最適化の機能情報
機能名(Feature Name)
|
リリース
|
機能情報
|
IP マルチキャストの最適化:大規模な IP マルチキャスト展開での PIM スパース モードの最適化
|
Cisco IOS XE Everest 16.5.1a
|
この機能は、次のプラットフォームに実装されていました。
|