加入者管理とサービスのためのリソース監視
加入者管理およびサービスのためのリソース監視の概要
Junos OSは、CLIとSNMP MIBクエリの両方を使用して、リソース監視機能をサポートします。このユーティリティを使用して、十分なヘッドルーム(アプリケーションまたは仮想ルーターのメモリ容量制限)をプロビジョニングし、システムの安定性、特にMXシリーズルーター上のIチップベースのラインカードとTrioベースのFPCの健全性と運用効率を確保することができます。
メモリ使用率(ukernel メモリまたは ASIC メモリ)が特定のしきい値に達すると、システム操作により、ラインカードの正常性とトラフィック処理の安定性が損なわれます。システムパフォーマンスに対するこのようなトレードオフは、ライブトラフィックとプロトコルをサポートする上で悪影響を及ぼす可能性があります。
リソースの特定の閾値を超えたときにエラーログを生成するしきい値を構成する機能に加えて、SNMP MIBクエリを使用してしきい値とリソース使用率を監視することもできます。
次のセクションでは、Junos OSで利用できるリソース監視のタイプについて説明します。
- ラインカード リソース監視でのウォーターマークの使用
- CoSリソース容量に基づいた加入者負荷のスロットリング
- show コマンドを使用したメモリ リソース領域の使用状況の調査
- 処理の遅延を削減するための負荷調整
- Resource Monitor によるサブスクライバの制限
- 加入者管理およびサービスのリソース監視に関する変更履歴
- 加入者管理とサービス動作のためのプラットフォーム固有のリソース監視
ラインカード リソース監視でのウォーターマークの使用
ukernメモリ(ヒープ)、ネクストホップ(NH)メモリ、ファイアウォールまたはフィルターメモリなどのラインカードリソースのウォーターマークまたはチェックポイント値を、TrioベースとIチップベースのラインカードの両方で統一するように設定できます。NH メモリ ウォーターマークは、カプセル化メモリ(出力 WAN スタティック RAM メモリ)にのみ適用されます。カプセル化メモリはIチップに固有であり、Trioベースのチップには適用できません。設定したウォーターマークを超えると、エラーログがトリガーされます。リソースが特定のしきい値を超えて使用されている場合、しきい値を超えたことを通知する警告システムログメッセージが生成されます。ネットワークのニーズに基づいて、システムが過負荷になって故障するのを防ぐために、既存の加入者とサービスを終了するかどうかを決定できます。
この機能は、各ラインカードから入力を収集し、この統計の詳細を既知の内部ポートを使用してルーティングエンジンプロセスに転送します。この情報は、ルーチンエンジン上のデーモンによってスキャンされ、セッションデータベースに組み込まれた共有メモリスペースを使用して、しきい値を超えた状態に対して警告メッセージが生成されます。
[edit system services]
階層レベルで以下のパラメーターを設定して、すべてのメモリ空間またはリージョンに共通する上限しきい値と、DPCおよびMPC上の異なるメモリブロックのウォーターマーク値を指定できます。
-
resource-monitor high-threshold value
ステートメントを使用して、ヒープや ukernel、ネクストホップとカプセル化、ファイアウォールフィルターメモリなど、メモリのすべての領域について、警告やエラーログが生成されるしきい値を超過する上限しきい値。 -
resource-monitor free-nh-memory-watermark percentage
ステートメントを使用して、ウォーターマーク値で監視するネクスト ホップに使用される空きメモリ領域の割合。 -
resource-monitor free-heap-memory-watermark percentage
ステートメントを使用して、ウォーターマーク値で監視する ukernel またはヒープメモリに使用される空きメモリ領域の割合。 -
resource-monitor free-fw-memory-watermark percentage
ステートメントを使用して、ウォーターマーク値で監視するファイアウォールおよびフィルター メモリに使用される空きメモリ領域の割合。この機能はデフォルトで有効になっており、手動で無効にすることはできません。ネクストホップの空きメモリの割合を示すしきい値のデフォルト値と設定済みの値は、カプセル化メモリにも適用されます。
ukernel またはヒープの空きメモリ、ネクストホップメモリ、ファイアウォールフィルターメモリの割合のデフォルトのウォーターマーク値を以下に示します。
-
空きヒープメモリウォーターマーク—20
-
free-nh-memory-watermark—20
-
free-fw-memory-watermark—20
CoSリソース容量に基づいた加入者負荷のスロットリング
サービス クラス(CoS)基準は、加入者アクセスのスロットリング決定に組み込まれます。CoS リソースの可用性、つまりキューの容量に関する情報は、ライン カードから収集されます。加入者のログイン時に、加入者が CoS リソースを必要とすると仮定すると、ラインカードは CoS キューの使用率を、スケジューリング階層にバインドされ、新しいスケジューリング階層に自由にバインドされないリソースの割合として報告します。[edit system services]
階層レベルのhigh-cos-queue-threshold
ステートメントは、FPCスロットごとに0%から90%の範囲で設定できます。特定のFPCのCoSキュー使用率がそのFPCで設定されたしきい値レベルに達すると、そのFPCでのそれ以降の加入者のログインは許可されません。このリソース監視メカニズムは、調整可能な安全マージンを提供し、各FPCの利用可能なCoSキューリソースが完全に枯渇することを事前に回避します。high-cos-queue-threshold
を参照してください。この機能は、加入者管理を有効にした場合にのみ使用できます。加入者管理の有効化の詳細については、Junos OS 拡張加入者管理の設定を参照してください。
show コマンドを使用したメモリ リソース領域の使用状況の調査
show system resource-monitor fpc
コマンドを使用して、FPC のパケット転送エンジンのメモリ リソースの使用率を監視できます。フィルターメモリは、ファイアウォールフィルターカウンターに使用されるフィルターカウンターメモリを示します。各メモリ領域の横に表示されるアスタリスク(*)は、設定されたしきい値を現在超えている領域を示します。リソース監視コマンドは、監視するさまざまなラインカードアプリケーションのメモリのウォーターマークの設定値を表示します。表示される統計メトリックは、個々のラインカードの現在のメモリ使用率に対して実行された計算に基づいています。ukern メモリは、さまざまなタイプのライン カードで汎用的であり、ヒープ メモリ バッファを示します。特定のスロット内のラインカードまたはFPCには、複数のパケット転送エンジンコンプレックスを含めることができるため、特定用途向け集積回路(ASIC)で使用されるメモリは、特定のPFEコンプレックスに固有です。サポートされるラインカードのバリエーションによってアーキテクチャモデルが異なるため、ASIC固有のメモリ(ネクストホップおよびファイアウォールまたはフィルターメモリ)の使用率の解釈が異なる場合があります。
処理の遅延を削減するための負荷調整
ルーティングエンジンは、リソース監視を使用して、ラインカードのパケット転送エンジンの処理負荷を評価して削減できます。ルーティングエンジンは、パケット転送エンジンが処理できるよりも高いレートで作業を送信する可能性があります。これは、ラインカードまたはパケット転送エンジンのオーバードライブと呼ばれることもあります。パケット転送エンジンのワークロードが大きすぎると、パケット処理に著しい遅延が発生する可能性があります。
リソース監視により、ルーティングエンジンはパケット転送エンジンに送信するパケットの往復遅延を評価して、負荷を評価できます。ラウンドトリップタイムが長いほど、負荷が高いため、パケット転送エンジンで処理の遅延が発生する可能性が高くなります。必要に応じて、ルーティングエンジンは、完了が許可されている加入者セッション(クライアントおよびサービス)の割合を減らします。
この機能は、負荷調整またはラウンドトリップ時間負荷調整と呼ばれます。スロットリングは、ルーティングエンジンがラインカードをオーバードライブし、処理の遅延がオペレーターやバックオフィスシステムに見えるようになるのを防ぎます。その仕組みはこうです。
遅延を監視するために、ルーティングエンジンは、ラインカード上のパケット転送エンジンに毎秒エコー要求メッセージを送信します。エコー要求には、送信時のタイムスタンプと実行中のシーケンス番号の両方が含まれます。メッセージ優先度はベストエフォートで、ラインカードの最悪の処理遅延をシミュレートします。
パケット転送エンジンはエコー要求を処理し、エコー応答で応答します。ルーティングエンジンが返されたパケットを処理する際のジッターを最小限に抑えるために、メッセージ優先度を高くしています。
ルーティングエンジンは、エコー応答を受信すると、エコー要求のタイムスタンプと、その特定のシーケンス番号のエコー応答を受信するまでの時間差として往復時間を計算します。
ルーティングエンジンは、往復遅延時間をデフォルトの往復閾値である1秒と比較します。測定された遅延が 3 つの連続したトリップのしきい値よりも長い場合、ルーティングエンジンは、一定の割合の新規加入者のログインを拒否し、確立される新しいクライアントとサービス セッションの数を減らします。この削減は調整と呼ばれます。
内部アルゴリズムは、しきい値とラウンドトリップ時間に基づいてスロットルの割合を導き出します。この割合は、その時点での往復遅延によって異なります。
ルーティングエンジンは、3つの遅延測定が連続して閾値を超えるごとにスロットルを上げ、それ以上の加入者のログインを拒否します。
測定された遅延が 3 回連続したトリップのしきい値を下回ると、ルーティングエンジンはスロットルを解除します。これにより、加入者は自由にログインできます。
RTT ロード スロットリングは、イーサネット インターフェイス(ge、xe)および疑似回線インターフェイス(ps)に対して、ラインカード単位で次のように適用されます。
-
集合型イーサネットインターフェイスの場合、集約型イーサネットバンドルに関連付けられたラインカードのセットに適用されます。
-
冗長論理トンネル(RLT)を備えた疑似配線インターフェイスの場合、アンカーポイントに関連付けられたラインカードのセットに適用されます。
いずれの場合も、ルーティングエンジンは、スロットルを決定する遅延値を、セット内のすべてのラインカードの中で最も長い往復遅延とみなします。
表 1 は、ラウンドトリップ遅延が内部しきい値よりも大きい場合に、加入者セッションが 12 秒間にわたってラインカード上でどのようにスロットリングされるかを示しています。この例では、次のことを前提としています。
-
内部遅延閾値は1秒です。
-
遅延測定は毎秒行われます。
-
往復遅延の閾値を超えるラウンドトリップ遅延が 3 回連続して測定されると、セッション作成率は 10% 低下します。しきい値を超えている限り、スロットリングは 3 回の測定ごとに増加します。
-
測定された遅延が低下し、3 回連続でラウンドトリップ遅延測定のしきい値を下回ると、セッション レートは 100% に戻ります。
この例は簡略化されています。正確なスロットルの割合は動的に決定され、秒ごとに変化する可能性があることに注意してください。
時間 |
ラウンド トリップ遅延(ms) |
しきい値超過 |
許可されるセッションの割合 |
---|---|---|---|
1 |
850 |
いいえ |
100 |
2 |
900 |
いいえ |
100 |
3 |
995 |
いいえ |
100 |
4 |
1021 |
はい しきい値超過カウント #1 |
100 |
5 |
1130 |
はい しきい値超過カウント #2 |
100 |
6 |
1158 |
はい しきい値超過カウント #3 |
90 セッションレートが10%減少 |
7 |
1127 |
はい しきい値超過カウント #1 |
90 セッションレートが10%減少 |
8 |
1135 |
はい しきい値超過カウント #2 |
90 |
9 |
1126 |
はい しきい値超過カウント #3 |
80 セッションレートが10%減少 |
10 |
1000 |
いいえ しきい値がカウント #1 を超えていません |
80 |
11 |
991 |
いいえ しきい値を超えていません カウント #2 |
80 |
12 |
998 |
いいえ しきい値を超えていません カウント #3 |
100 スロットルの除去 |
リソース負荷の監視とラウンドトリップ時間の調整は、既定で有効になっています。以下のステートメントのいずれかを使用して、この機能を無効にすることができます。
-
no-load-throttle
[edit system services resource-monitor]
階層レベルで -
no-throttle
[edit system services resource-monitor]
階層レベルで
この機能を無効にし、パケット転送エンジンがビジー状態になった場合、新しい加入者はログインしてアクティブにできますが、一定期間はトラフィックフローがなくなります。このトラフィック処理の遅延が顕著になる場合があります。
次のコマンドを使用して、負荷調整機能が有効になっているかどうかを確認し、機能のさまざまな側面の動作を確認できます。太字のフィールドは特に便利です。
user@host> show system resource-monitor summary Resource Usage Summary Throttle : Enabled Load Throttle : Enabled /*RTT load throttling is enabled*/ Heap Mem Threshold : 70 % IFL Counter Threshold : 95 % Round Trip Delay Threshold(ms) : 1000 /*RTT throttle value*/ Filter Counter Threshold : 100 % Expansion Threshold : 95 % CoS Queue Threshold : 100 % MFS threshold : 70 % Used : 0 Slot # 0 Client allowed : Yes Service allowed : Yes Heap memory used : 339204848 In % : 18 Average Round-trip Delay(ms) : 103 (30 ) Round-trip Delay(ms) : 103 /*RTT delay and average delay, the 30 in parentheses means that the average is for last 30 secs*/ MAX session rate allowed(%) : 100 Client denied : 1524 /*The number of new subscribers have been denied*/ Service Denied : 0 Performance Denial Client : 1524 <-- Performance Denial Service : 0 IFL Denied : 0
Resource Monitor によるサブスクライバの制限
Junos OS リリース 17.3R1 以降では、リソース監視を使用して、ハードウェア要素ごとにサポートされる加入者の数を直接制限することもできます。シャーシ、ラインカード(MPC)、MIC、またはポートごとに、ログインできる加入者の最大数を指定できます。制限は、1 つのクライアントタイプ(DHCP、L2TP、または PPPoE)の加入者のみ、または任意のクライアントタイプの加入者に設定できます。
この機能により、ハードウェア要素ごとにログインする加入者の数が、ネットワークが目的のサービス帯域幅で安定して提供できる数を超えないようにすることができます。ハードウェア要素の制限に達すると、加入者数が設定された制限を下回るまで、その要素での新規加入者のログインが拒否されます。制限を超える新しい加入者は、同じブロードキャスト ドメイン内の別のハードウェア要素に接続できます。集合型イーサネットインターフェイスの1つ以上のレッグに制限を設定した場合、加入者数がいずれかのレッグの値を超えるとログインが拒否されます。
この方法で加入者を制限すると、ハードウェア要素間で負荷が分散されますが、いかなる種類のロードバランシングも提供されません。この機能は、ネットワーク内の容量をマッピングし、その容量を拡張するために必要なハードウェアリソースを決定するのにも役立ちます。たとえば、特定の量のメモリを必要とするサービスを提供し、特定のハードウェア セットでサービスを提供できる加入者の数がわかっている場合は、必要なメモリの量を決定できます。または、加入者あたりのメモリ数が多いサービスを追加する場合は、必要な追加容量を計算し、使用可能なメモリと比較して、新しいサービスを処理するために新しいポート、MIC、MPC、またはルーターをプロビジョニングする必要があるかどうかを判断できます。
加入者管理およびサービスのリソース監視に関する変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。
リリース | の説明 |
---|---|
17.3 | Junos OS リリース 17.3R1 以降では、リソース監視を使用して、ハードウェア要素ごとにサポートされる加入者の数を直接制限することもできます。 |
17.4 | Junos OS リリース 17.4R1 以降、加入者アクセスのスロットリング決定にサービス クラス(CoS)基準が組み込まれています。 |
19.4 | Junos OS リリース 19.4R1 以降では、値 0 を指定することで、どの加入者もキューベースのスロットリングによってスロットルされるのを防ぐことができます。 |
加入者管理とサービス動作のためのプラットフォーム固有のリソース監視
プラットホーム |
差 |
---|---|
MPC2Eレガシー、MPC2E-NG、MPC3E-NG、MPC5E、MPC7Eラインカード搭載のMX240、MX480、MX960ルーター | CoS リソース監視機能は、ハードウェアではキューのみに基づいてアドミッションを決定します。その他のCoSリソースは、この基準に含まれません。この機能は、疑似回線、論理トンネル、または冗長論理トンネル デバイスに到着する加入者のスロットリングをサポートしていません。 |
MX80、MX104ルーター |
リソース監視設定をサポートします。 |
MX240、MX480、MX960、MX2010、MX2020ルーター |
次のラインカードは、MX240、MX480、MX960、MX2010、MX2020ルーターでリソース監視をサポートしています。
|
Resource Monitor を使用したクライアント タイプとハードウェア要素による加入者の制限
リソース監視を使用してシステム メモリの使用状況を監視および管理するだけでなく、ハードウェア要素(シャーシ、ライン カード(MPC)、MIC、ポート)ごとにサポートされる加入者数を直接制限するために使用できます。これらの各要素にログインできる加入者の最大数を指定できます。制限は、1 つのクライアントタイプ(DHCP、L2TP、または PPPoE)の加入者、またはこれらのクライアントタイプのいずれかの加入者にのみ適用します。後者の場合、3 つのクライアントタイプすべてのセッションの合計に制限が適用されます。
加入者制限により、ハードウェア要素ごとにログインする加入者の数が、ネットワークが目的のサービス帯域幅で安定して提供できる数を超えないようにすることができます。ハードウェア要素の制限に達すると、加入者数が設定された制限を下回るまで、その要素での新規加入者のログインが拒否されます。制限を超えた新しい加入者は、同じブロードキャスト ドメイン内の別のハードウェア要素に接続します。集合型イーサネットインターフェイスの1つ以上のレッグに制限を設定した場合、加入者数がいずれかのレッグの値を超えるとログインが拒否されます。
この方法で加入者を制限すると、ハードウェア要素間で負荷が分散されますが、いかなる種類のロードバランシングも提供されません。この機能は、ネットワーク内の容量をマッピングし、その容量を拡張するために必要なハードウェアリソースを決定するのにも役立ちます。たとえば、特定の帯域幅でサービスを提供し、特定のハードウェア セットでサービスを提供できる加入者の数がわかっている場合は、必要な帯域幅を決定できます。また、加入者あたりの帯域幅を増やしたサービスを追加する場合、必要な追加帯域幅を計算し、利用可能な帯域幅と比較して、新しいサービスを処理するために新しいポート、MIC、MPC、またはルーターをプロビジョニングする必要があるかどうかを判断できます。
CLI では、 fpc
と pic
という用語を使用します。この機能では、 fpc
はMPCに対応し、 pic
はMICに対応します。
ハードウェア要素に許可される加入者の最大数に制限を設けるには、次のようにします。
例えば、以下の設定では、PPPoE加入者に対するシャーシとMPCの制限を設定します。
[edit system services resource-monitor subscribers-limit] user@host# edit client-type pppoe [edit system services resource-monitor subscribers-limit client-type pppoe] user@host# set chassis limit 112000 user@host# set fpc 0 limit 28000 user@host# set fpc 1 limit 28000 user@host# set fpc 2 limit 28000 user@host# set fpc 3 limit 28000
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。