パケットの大きな遅延バッファのCoS
コマンドと組み合わせて、非常に大きな buffer-size-temporal
遅延バッファを設定 q-pic-large-buffer
できます。この buffer-size temporal
オプションを併用すると q-pic-large-buffer
、インターフェイス上の1つまたは複数のキューに、超大規模な遅延バッファ割り当てを作成できます。
設定されたバッファー サイズが小さすぎる場合、転送クラスのバッファー サイズは 9192 に設定され、「fwdd_cos_set_delay_bandwidth:queue:16 遅延バッファ サイズ(1414)が低すぎる、デフォルト 9192 に設定」というログ メッセージが表示されます。
Configuring Large Delay Buffers
次の設定は、次の例に適用されます。
Example: Simple Configuration Using Four Queues
この設定では、4 つのキューごとに 12,500,000 バイトのバッファーを割り当てられます。この最初の例では、遅延バッファ計算の限界を超えしないように、インターフェイス シェーピング レート、スケジューラ送信レート、スケジューラ バッファ サイズのパーセント構成はありません。
4 つの各キューで最大 4 秒の遅延バッファを指定します。
[edit]
set class-of-service schedulers be-Scheduler0 buffer-size temporal 4m
set class-of-service schedulers video-Scheduler1 buffer-size temporal 4m
set class-of-service schedulers voice-Scheduler2 buffer-size temporal 4m
set class-of-service schedulers nc-Scheduler3 buffer-size temporal 4m
一部または
buffer-size temporal
すべてのキューに指定すると、明示的(デフォルト)または明示的な送信レートの割合が、これらのキューの一時的な値のバッファー サイズの割合として使用されます。明示的に指定された送信レートの割合は指定されていないため、設定済みのキュー数(スケジューラ マップにスケジューラが設定されたキュー)で 100 パーセント分割すると、キュー単位の送信レートの割合が暗黙的(デフォルト)になります。各キューは、暗黙的(デフォルト)の送信レート 100% / 4 = 25% を取得します。この例では 各キューで最大4秒の遅延を指定し インターフェイス上のシェーピング レートなし、25 パーセントのキュー単位の送信レート、インターフェイス上のすべての一時的な 4m キューの合計バッファー = 4 秒 * 100,000,000 最大インターフェイス bps / 8 ビット/バイト = 4 秒 * 12,500,000 バイト = 50,000,000 バイト。一時 4m を指定する各キューは 25% * 50,000,000 = 12,500,000 バイトを取得します。
4 Mbps のシェーピング レートをインターフェイスに追加します。
[edit]
set class-of-service interfaces ge-0/0/3 unit 201 shaping-rate 4m
インターフェイス上のすべての一時 4m キューの総バッファー = 4 sec * 4,000,000 bps シェーピングレート / 8 ビット/バイト = 4 sec * 500,000 バイト = 2,000,000 バイトそのため、一時 4m を指定する各キューは、25% * 2,000,000 = 500,000 バイトを受信します。
buffer-size temporal
transmit-rate percent
buffer-size percent
インターフェイス キューで使用している場合、インターフェイス キューでコマンド、コマンド、または両方のコマンドを使用している場合は、バッファー サイズの計算が複雑になり、使用可能なキューの深さの制限に達する可能性があります。設定が/var/log/messages
使用可能なメモリを超えしようとすると、コミット 時に2つのシステム ログ メッセージがファイルに表示され、インターフェイス のサービス クラス設定は無視され、インターフェイス のサービス クラス設定は2キューのデフォルトに戻ります。
Mar 11 11:02:10.239 elma-n4 elma-n4 COSMAN_FWDD: queue mem underflow for ge-0/0/3 Mar 11 11:02:10.240 elma-n4 elma-n4 cosman_compute_install_sched_params: Failed to compute scheduler params for ge-0/0/3.Hence retaining defaults
または 、または両方buffer-size temporal
をtransmit-rate percent
buffer-size percent
一緒に設定する場合、または、その両方を監視して、使用可能なキューの奥行き制限に達したかどうかを確認する必要があります。
Example: Using buffer-size temporal with Explicit transmit-rate percent Commands
4 つのキューすべてに明示的な送信レートを追加するには、以下の方法で行います。
[edit]set class-of-service schedulers be-Scheduler0 transmit-rate percent 10
set class-of-service schedulers video-Scheduler1 transmit-rate percent 25
set class-of-service schedulers voice-Scheduler2 transmit-rate percent 25
set class-of-service schedulers nc-Scheduler3 transmit-rate percent 40
たとえば、インターフェイスが 4 Mbps に形成されている場合、キューの送信レートは 10 の割合で、特定のキューの帯域幅共有は 0.4 Mbps になります。キューは、このインターフェイス上の一時的なキューに使用可能な合計バッファーの 2,000,000 バイトの部分に割り当てられます。その送信レートに比例します。4 つのキューには、それぞれ 200,000、500,000、500,000、800,000 バイトの遅延バッファが格納されています。
buffer-size temporal
buffer-size temporal
buffer-size percent
transmit rate percent
キューの奥行き制限を超え、システム ログ メッセージをトリガーし、デフォルト設定の動作をトリガーしないようにするには、以下の設定ルールを使用してキューを構成する際に、以下の設定ルールに従う必要があります。 インターフェイス上の 1 つ以上のキューが設定されている場合、一時キューの合計に明示的に設定された送信レート の割合と、他の非一時的なキューに明示的に設定されたバッファー サイズの割合を 1,000 を超えなければならない パーセント。
一時キューの合計が伝送レートの割合と非一時キューのバッファー サイズの割合が 100queue mem underflow
Failed to compute scheduler params
% を超えると、メッセージ ログにシステム ログ メッセージが表示され、インターフェイスに対して明示的に設定された CLI CoS 設定が無視され、インターフェイスは 2 キューのデフォルト CoS 設定に戻ります。
キュー buffer-size temporal
で指定されている transmit-rate percent
場合、同じキュー上でも設定されている場合、設定されているキューの奥行きは、指定されたによって取得されるキューの小数帯域幅に基づいて行います transmit-rate percent
。
バッファー サイズを一時的に使用して 1 つ以上のキューに一時的な遅延時間が指定されるのに加え、インターフェイス全体で別の遅延時間が自動的に計算されます。このインターフェイスの遅延時間は、暗黙的(デフォルト)または明示的な送信レートの割合に比例して、すべての非一時キューに分散されます。有効q-pic-large-buffer
になっていない場合、インターフェイスの遅延時間は 100 ミリ秒にデフォルトになります。表 1 に示すように、q-pic-large-buffer
有効になっている場合、インターフェイスの遅延時間は、インターフェイスに対して設定されたシェーピング レートに基づいて計算されます。上記の例で設定されたシェーピングレートは 4 Mbps(>2,048,000 bps)なので、設定のインターフェイス遅延時間は 100 msec です。
設定済みシェーピング レート(bps) |
q-pic-large-bufferが有効な非一時キューに使用されるインターフェイス遅延時間(msec) |
デフォルト遅延時間使用(msec)(q-pic-large-buffer なし) |
---|---|---|
64,000-255,999 |
4000 |
100 |
256,000 - 511,999 |
2000 |
100 |
512,000 - 102,3999 |
1000 |
100 |
1,024,000 - 2,047,999 |
500 |
100 |
>= 2,048,000 |
100 |
100 |
この例では、一時キューと非一次キューの両方の遅延バッファ制限を適切に計算します。
buffer-size temporal
キューbuffer-size percent
0 と 1 に置き換える:[edit]
delete class-of-service schedulers be-Scheduler0 buffer-size temporal 4m
delete class-of-service schedulers video-Scheduler1 buffer-size temporal 4m
set class-of-service schedulers be-Scheduler0 buffer-size percent 10
set class-of-service schedulers video-Scheduler1 buffer-size percent 25
これにより、4 秒間のハード指定のバッファリング要件が削除され、非一時キューのインターフェイス全体の遅延時間の 10 パーセント(または 25%)の比例した制限に置き換まれます。どちらの場合も、キューの奥行きは特定のキューのインターフェイス帯域幅の共有に基づいて計算されます。インターフェイス非一時キュー メモリ = シェーピングレート * インターフェイス遅延時間(表 1) = 4 Mbps * 0.1 秒 = 500,000 バイト/秒 * 0.1 秒 = 50,000 バイト キュー 0 と 1 には 10% * 50,000 = 5000 バイト、 25% * 50,000 = 12,500 バイトの遅延バッファがあります。
キュー
buffer-size temporal
2 および 3 での設定:[edit]
set class-of-service schedulers voice-Scheduler2 buffer-size temporal 4m
set class-of-service schedulers voice-Scheduler2 transmit-rate percent 25
set class-of-service schedulers nc-Scheduler3 buffer-size temporal 4m
set class-of-service schedulers nc-Scheduler3 transmit-rate percent 40
キュー 2 と 3 には、前に計算した 500,000 および 800,000 バイトの遅延バッファがそれぞれ格納されています。この構成では、一時キューの送信レートの合計(25% + 40% = 65%)に加えて、非一時キューのバッファー サイズの割合(10%+ 25% = 35%)は 100%(65%+ 35%< = 100%)を超えないというルールを変更します。
次の例では、遅延バッファ制限を超えて、システム ログ メッセージと、デフォルトの 2 キュー サービス クラスの動作をトリガーしています。
バッファー サイズの割合を非一時的キューで 25%から 26% に増加 1:
[edit]
set class-of-service schedulers video-Scheduler1 buffer-size percent 26
これは、非一時キューのバッファー サイズの割合(10% + 26% = 36%)と一時キューの伝送率の割合(25% + 40% = 65%)の合計が 100%(36% + 65 % = 101%)を超えるという構成ルールに違反します。したがって、ファイルには次の 2 つのシステム ログ メッセージが表示 /var/log/messages
されます。
Mar 23 18:08:23 elma-n4 elma-n4 COSMAN_FWDD: %PFE-3: queue mem underflow for ge-0/0/3 q_num(3) Mar 23 18:08:23 elma-n4 elma-n4 cosman_compute_install_sched_params: %PFE-3: Failed to compute scheduler params for ge-0/0/3.Hence retaining defaults
遅延バッファの制限を超えた場合、CLIが設定したサービスクラス設定は使用されません。デフォルトのサービスクラス設定(デフォルトのスケジューラマップ)がインターフェイスに割り当てられます。2 つのキューを使用します。 転送クラスのベストイワーディング(キュー 0)は送信レートが 95 パーセント、バッファー サイズのパーセント 95、転送クラス ネットワーク制御(キュー 3)は送信レートが 5 、バッファー サイズのパーセント 5 です。
queue 0: 1,187,500 Bytes queue 1: 9,192 Bytes queue 2: 9,192 Bytes queue 3: 62,500 Bytes