エグレス輻輳を管理するためのスケジューラのバッファサイズの設定
出力段での輻輳を制御するために、遅延バッファ帯域幅を設定できます。遅延バッファ帯域幅は、指定された遅延時間までバースト トラフィックを吸収するためのパケット バッファ領域を提供します。指定された遅延バッファがいっぱいになると、ドロップ確率が 100% のパケットがバッファの先頭からドロップされます。
キュー 0 〜 7 のデフォルトのスケジューラ伝送速度は、使用可能な総帯域幅の 95、0、0、0、0、0、0、0、および 5 % です。
キュー 0 〜 7 のデフォルトのバッファー サイズの割合は、使用可能なバッファーの合計の 95、0、0、0、0、0、0、0、および 5 % です。キューごとに使用可能なバッファーの合計は、PIC タイプによって異なります。
バッファーサイズを設定するには、[edit class-of-service schedulers scheduler-name]階層レベルでbuffer-sizeステートメントを含めます。
[edit class-of-service schedulers scheduler-name] buffer-size (percent percentage | remainder | shared | temporal microseconds);
各スケジューラに対して、バッファ サイズを次のいずれかに設定できます。
-
バッファー全体に対する割合。キューあたりの合計バッファーはマイクロ秒ベースで、ルーティング デバイス タイプにより異なります。
-
使用可能な残りのバッファー。残りは、他のキューに割り当てられていないバッファーの割合です。
-
インターフェイスのバッファー プールから共有されます。PTXシリーズルーターでは、キューのバッファをインターフェイスのバッファの最大100%に設定します。このオプションを使用すると、キューのバッファがインターフェイスの唯一のアクティブなキューである場合に限り、インターフェイスのバッファの 100% まで拡張できます。
-
時間値 (マイクロ秒単位)。temporal 設定では、キューイング アルゴリズムは、計算されたバイト数を超えてキューイングするとパケットのドロップを開始します。この最大値は、キューの伝送速度に設定された時間値を乗じて計算されます。
手記:一般に、デフォルトの時間バッファ値は、インターフェイスの速度(シェーピング レート)に反比例します。インターフェイスの速度が上がるにつれて、インターフェイスがより多くのデータを送信する可能性があるため、インターフェイスがデータを保持するために必要なバッファはますます少なくなります。
テンポラル バッファーの設定に使用できるハードウェア リソースは限られているため、できるだけ共通のテンポラル バッファー構成にすることをお勧めします。
一般に、スケジューラのバッファサイズは、ポートスケジューラと階層型スケジューラの両方に設定できます。ポート スケジューラの場合、Junos は以下に基づいて共有バッファー サイズを計算します。
-
ポートシェーパーが設定されている場合、Junosはポートシェーパーに基づいてバッファサイズを計算します。
-
ポートシェーパーが設定されていない場合、Junosはポート速度に基づいてバッファサイズを計算します。
階層型スケジューラの場合、Junos は以下に基づいて共有バッファー サイズを計算します。
-
シェーパーが論理インターフェイスで設定されている場合、Junosは論理インターフェイスポートシェーパーに基づいてバッファーサイズを計算します。
-
ポートシェーパーが設定されていても、論理インターフェイスシェーパーがない場合、Junosはポートシェーパーに基づいてバッファサイズを計算します。
-
シェーパーが設定されていない場合、Junosはポート速度に基づいてバッファサイズを計算します。
例:スケジューラの遅延バッファ値の設定
物理インターフェイスまたは論理インターフェイスに、異なるスケジューラ(またはキュー)で構成されるスケジューラ マップを割り当てることができます。物理インターフェイスの大きな遅延バッファは、[edit class-of-service schedulers scheduler-name]階層レベルでtransmit-rateおよびbuffer-sizeステートメントを使用して、異なるスケジューラ(またはキュー)に分散できます。
この例では、 sched-best と sched-exped の 2 つのスケジューラを示しており、遅延バッファ サイズをそれぞれパーセンテージ(20%)と時間値(300,000 マイクロ秒)で設定しています。 sched-best スケジューラの送信速度は 10% です。 sched-exped スケジューラの送信速度は 20% です。
sched-best スケジューラの遅延バッファは、指定された送信レートである 10% の 2 倍です。sched-best スケジューラが T1 インターフェイスに割り当てられていると仮定すると、このスケジューラは T1 インターフェイスの遅延バッファの合計 500,000 マイクロ秒の 20% を受信します。したがって、スケジューラは 18,750 バイトの遅延バッファを受信します。
available interface bandwidth * configured percentage buffer-size * maximum buffer = queue buffer 1.5 Mbps * 0.2 * 500,000 microseconds = 150,000 bits = 18,750 bytes
sched-exped スケジューラが T1 インターフェイスに割り当てられていると仮定すると、このスケジューラは、T1 インターフェイスの 500,000 マイクロ秒の遅延バッファのうち 300,000 マイクロ秒を受信し、トラフィック レートは 20% になります。したがって、スケジューラは 11,250 バイトの遅延バッファを受信します。
available interface bandwidth * configured percentage transmit-rate * configured temporal buffer-size = queue buffer 1.5 Mbps * 0.2 * 300,000 microseconds = 90,000 bits = 11,250 bytes
この例を設定するには:
例:物理インターフェイスシェーピングレートの設定
一般に、物理インターフェイスの速度が遅延バッファサイズを計算するための基礎となります。ただし、 shaping-rate ステートメントを含めると、シェーピング レートが遅延バッファ サイズ計算の基礎になります。
この例では、T1 インターフェイスのシェーピング レートを 200 Kbps に設定します。つまり、T1 インターフェイスの帯域幅を 1.5 Mbps ではなく 200 Kbps に設定します。200 Kbps は 4xDS0 より小さいため、このインターフェイスは 4 秒間の遅延バッファ、または 800 Kbps のトラフィック(1 秒間で 800 KB)を受信します。
完全な構成
この例では、FPCスロット0、PICスロット0のチャネル化されたOC12 IQ PIC、およびフレームリレーカプセル化されたチャネル化されたT1インターフェイスを示しています。また、物理インターフェイス上のスケジューラ マップ設定も表示します。
chassis {
fpc 0 {
pic 0 {
q-pic-large-buffer;
max-queues-per-interface 8;
}
}
}
interfaces {
coc12-0/0/0 {
partition 1 oc-slice 1 interface-type coc1;
}
coc1-0/0/0:1 {
partition 1 interface-type t1;
}
t1-0/0/0:1:1 {
encapsulation frame-relay;
unit 0 {
family inet {
address 10.1.1.1/24;
}
dlci 100;
}
}
}
class-of-service {
interfaces {
t1-0/0/0:1:1 {
scheduler-map smap-1;
}
}
scheduler-maps {
smap-1 {
forwarding-class best-effort scheduler sched-best;
forwarding-class expedited-forwarding scheduler sched-exped;
forwarding-class assured-forwarding scheduler sched-assure;
forwarding-class network-control scheduler sched-network;
}
}
schedulers {
sched-best {
transmit-rate percent 40;
buffer-size percent 40;
}
sched-exped {
transmit-rate percent 30;
buffer-size percent 30;
}
sched-assure {
transmit-rate percent 20;
buffer-size percent 20;
}
sched-network {
transmit-rate percent 10;
buffer-size percent 10;
}
}
}
キューごとのメモリ割り当ての動的有効化および無効化
Junos OS では、MAD(メモリ割り当てダイナミック)は、キューが送信レート設定で割り当てられた帯域幅よりも多くの帯域幅を使用している場合に、追加の遅延バッファを動的にプロビジョニングするメカニズムです。この追加バッファにより、キューはトラフィック バーストをより簡単に吸収し、パケットのドロップを回避できます。MAD メカニズムは、キューが追加の送信帯域幅を使用している場合にのみ、追加の遅延バッファをプロビジョニングできます。つまり、使用可能な余剰伝送帯域幅がない場合、キューでパケットがドロップされる可能性があるということです。
ジュニパーネットワークスのMXシリーズ5GユニバーサルルーティングプラットフォームとEXシリーズイーサネットスイッチの場合のみ、遅延バッファに特定のキューの一時的な設定が設定されていない限り、MADメカニズムが有効になります。MADメカニズムは、帯域幅の最大利用が主な要件である遅延の影響を受けないトラフィックを伝送する転送クラスに特に役立ちます。対照的に、遅延の影響を受けやすいトラフィックでは、大きな遅延バッファは最適ではないため、MAD メカニズムを無効にすることができます。
MADサポートは、PICではなく、FPCとパケット転送エンジンに依存します。MPC(モジュラーポートコンセントレータ)とIQ、IQ2、IQ2E、IQE PICはMADをサポートしていません。
サポートされているハードウェアで MAD メカニズムを有効にするには:
[edit class-of-service schedulers scheduler-name]階層レベルでbuffer-size percentステートメントを含めます。
[edit class-of-service schedulers scheduler-name] user@host# set buffer-size percent percentage
キューに割り当てられる最小バッファーは 18,432 バイトです。キューのバッファー サイズが 18,000 未満に設定されている場合、キューのバッファー サイズは 18,432 バイトのままになります。
必要に応じて、設定された伝送速度よりも大きいバッファサイズを設定できます。バッファーは、十分な余剰帯域幅が利用可能な場合、設定された伝送速度を超えるパケット バーストに対応できます。例えば:
class-of-service {
schedulers {
sched-best {
transmit-rate percent 20;
buffer-size percent 30;
}
}
}
前述したように、テンポラル遅延バッファー構成を使用して、キューの MAD メカニズムを無効にし、遅延バッファーのサイズを制限できます。ただし、テンポラル キューの有効なバッファー待機時間は、バッファー サイズ値だけでなく、関連するドロップ プロファイルによっても制限されます。ドロップ プロファイルで 100% 未満のフィル レベルで 100% のドロップ確率が指定されている場合、有効な最大バッファー待機時間はバッファー サイズ設定よりも小さくなります。これは、ドロップ プロファイルが、キューの遅延バッファが 100% フルになる前にキューがパケットをドロップするように指定しているためです。
このような構成は、次の例のようになります。
class-of-service {
drop-profiles {
plp-high {
fill-level 70 drop-probability 100;
}
plp-low {
fill-level 80 drop-probability 100;
}
}
schedulers {
sched {
buffer-size temporal 500000;
drop-profile-map loss-priority low protocol any drop-profile plp-low;
drop-profile-map loss-priority high protocol any drop-profile plp-high;
transmit-rate percent 20;
}
}
}
プラットフォーム固有のバッファー サイズ構成の動作
Feature Explorer を使用して、バッファー サイズ設定のプラットフォームとリリースのサポートを確認します。
次の表を使用して、プラットフォームのプラットフォーム固有の動作を確認します。
| プラットフォーム | の違い |
|---|---|
| ACX7000シリーズルーター |
|
| PTXシリーズルーター | PTXシリーズ ルーターは、 |