例:WRED ドロッププロファイルの設定
補間された WRED(Weighted Random Early Detection)プロファイルを設定し、異なるパケット損失の優先度のパケットドロップ特性を制御することで、トラフィックの輻輳を制御することができます。
ロスレストラフィックフローでWREDを有効にしないでください。プライオリティベースのフロー制御(PFC)を使用して、ロスレス転送クラスでのパケット損失を防ぎます。
マルチデスティネーション(マルチキャスト)キューでWREDを有効にすることはできません。WRED は、ユニキャスト キューでのみ有効にできます。
要件
この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。
1つのQFXスイッチ
サポートされているすべてのJunosリリース
概要
WRED ドロップ プロファイルをスケジューラの損失優先度に関連付けます。スケジューラを転送クラス(キュー)にマッピングする場合、そのキューで指定された損失優先度のトラフィックに補間されたドロッププロファイルを適用します。ドロッププロファイルは、ペアとして機能する2つの値を指定します。
充填レベル—キューのフルネス値。キューに割り当てられたメモリの合計量に対する、パケットの保存に使用されるメモリの割合を表します。
ドロップ確率—個々のパケットがドロップされる可能性に対応するパーセント値。
ECN対応のキューでは、ドロッププロファイルがパケットに混雑を発生しているとマークする必要があるタイミングのしきい値を設定します( CoS Explicit Congestion Notification(ECN)を参照)。ECN 対応キューでは、スイッチは輻輳期間中の ECN 対応パケットではないパケットのドロップを制御するためにドロッププロファイルを使用しません。代わりに、スイッチはテールドロップアルゴリズムを使用して、混雑期間中はECN非対応パケットをドロップします。キューが最大レベルまでいっぱいになると、テールドロップは、キューにさらにパケットをバッファリングするためのスペースができるまで、その後に到着するすべてのパケットをドロップします。ECN非対応パケットはすべて同じように処理されます。
QFX10000を除くスイッチでのWREDドロッププロファイルの設定
設定
ステップバイステップの手順
Interpolated つまり、スイッチがドロップ開始点からドロップ終了点までの滑らかなドロップカーブを作成し、ドロップエンドポイントで最大ドロップレートに達することを意味します。
ドロップ開始ポイント—WREDアルゴリズムがパケットのドロップを開始したときの平均キュー充填レベルのパーセンテージ。ドロップ開始ポイントの前に、パケットのドロップはスケジュールされていません。
ドロップエンドポイント—その後に到着するすべてのパケットがドロップされる平均キュー充填レベル。キューの充填レベルがドロップ エンドポイントを下回ると、パケットは再び転送され始めます。(ドロップエンドポイントでは、パケットドロップの確率は100%になります。)
最大ドロップ率—平均キューの充填レベルがドロップエンドポイントに達したときのドロップ確率。
ドロップ開始点とドロップ終了点を設定するには、2つのキュー充填レベルパーセント値を指定します。最初の値はドロップ開始点で、2 番目の値はドロップ終了点です。
最大ドロップ率を設定するには、2つのドロップ確率のパーセント値を指定します。最初の値は常にゼロ(0)であり、これは最小ドロップ率、つまりドロップ開始ポイントでパケットをドロップする確率です。2 番目の値は、ドロップ エンドポイントでの最大ドロップ レートです。
キューの充填レベルがドロップ開始ポイントに達するまで、ドロップ率はゼロです。キューがいっぱいになると、キューがドロップエンドポイントに達するまで、パケットは滑らかな直線曲線でドロップします。このとき、パケットは最大ドロップレートでドロップします。ドロップエンドポイントを超えてキューがいっぱいになると、ドロッププロファイルに一致するすべてのパケットがドロップされます。
図1 に、ドロップ開始点が30%、ドロップ終了点が50%、最大ドロップ率が80%のドロッププロファイルのグラフを示します。
グラフは、キューの充填レベルが30%未満の場合、パケットドロップ率がゼロであることを示しています。キューの充填レベルが30%に達すると、パケットがドロップし始めます。キューがいっぱいになると、より高い割合のパケットがドロップされます。キューの充填レベルが50%に達すると、パケットのドロップ率は80%に上昇します。キューの充填レベルが50%を超えると、すべてのパケットが破棄されます。
この例では、 図 1 に示すドロップ プロファイルの設定方法を説明します。ドロッププロファイルには次のものが含まれます。
名前
be-dp1ドロップ開始ポイントの30%(最初の
fill-levelの設定)ドロップエンドポイントの50%(2番目の
fill-level設定)最小ドロップ率は0%(最初の
drop-probability設定)最大ドロップ率の80%(2番目の
drop-probability設定)
ドロッププロファイルをパケット損失の優先度にマッピングするドロッププロファイルマップを設定し、ドロッププロファイルとパケット損失の優先度をスケジューラに関連付けることで、ドロッププロファイルを適用します。スケジューラを転送クラス(キュー)にマッピングすると、スイッチはパケット損失優先度が一致する転送クラス内のパケットにドロッププロファイルを適用します。
ドロッププロファイル
be-dp1のドロップ開始点を30%、ドロップ終了点を50%、最小ドロップ率を0%、最大ドロップ率を80%に設定します。[edit class-of-service] user@switch# set drop-profile be-dp1 interpolate fill-level 30 fill-level 50 drop-probability 0 drop-probability 80
検証
ドロッププロファイル設定の検証
目的
ドロッププロファイル be-dp1 に、正しいドロップ開始点と終了点、および正しいドロップレートを設定したことを確認します。
アクション
運用モードコマンドを使用して、ドロッププロファイル設定の結果を確認します show configuration class-of-service drop-profiles be-dp1。
user@switch> show configuration class-of-service drop-profiles be-dp1
interpolate {
fill-level [ 30 50 ];
drop-probability [ 0 80 ];
}
QFX10000スイッチでのWREDドロッププロファイルの設定
設定
ステップバイステップの手順
各キューの充填レベルは、ドロップ確率とペアになります。キューがさまざまなレベルにいっぱいになると、ドロッププロファイルで構成されたフィルレベルに達するたびに、キューはそのフィルレベルとペアになったドロップ確率を、フィルレベルを超えるキュー内のトラフィックに適用します。最大32組のフィルレベルとドロップ確率を設定して、最大32の微分ポイントを持つカスタマイズされたパケットドロップ確率曲線を作成できます。
パケットは、最初に設定されたキュー充填レベルに達するまでドロップされません。キューが最初のフィルレベルに達すると、パケットは最初のフィルレベルとペアに設定されたドロップ確率レートでドロップし始めます。キューが2番目のフィルレベルに達すると、パケットは、2番目のフィルレベルとペアに設定されたドロップ確率レートでドロップし始めます。このプロセスは、ドロッププロファイルで設定したフィルレベル/ドロップ確率ペアの数だけ続行されます。
ドロッププロファイルが interpolatedされます。補間された落下プロファイルは、設定された各塗りつぶしレベル間の曲線に沿って落下確率を徐々に増加させます。キューが次のフィル レベルに達すると、ドロップ確率は、そのフィル レベルとペアになっているドロップ確率に達します。
この例では、3つの塗りつぶしレベル/落下確率のペアを持つ落下プロファイルを設定する方法を説明します。
ドロッププロファイル名—
be-dp1キューの充填レベル - 25%、50%、75%
ドロップ確率—30%、60%、100%
3 つの塗りつぶしレベルはそれぞれ、補間された落下プロファイル曲線をプログラムするための落下確率とペアになります。
ドロッププロファイルをパケット損失の優先度にマッピングするドロッププロファイルマップを設定し、ドロッププロファイルとパケット損失の優先度をスケジューラに関連付けることで、ドロッププロファイルを適用します。スケジューラを転送クラス(キュー)にマッピングすると、スイッチはパケット損失優先度が一致する転送クラス内のパケットにドロッププロファイルを適用します。
ドロッププロファイルを設定するには:
ドロップ開始点を
25パーセントの塗りつぶしレベル、中間の塗りつぶしレベルを50パーセント、ドロップ終了点を75パーセントに設定します。ドロッププロファイルbe-dp1のペアのドロップ確率をそれぞれ30%、60%、100%に設定します。[edit class-of-service] user@switch# set drop-profile be-dp1 interpolate fill-level [ 25 50 75 ] drop-probability [ 30 60 100 ]
検証
ドロッププロファイル設定の検証
目的
ドロッププロファイル be-dp1 を正しい充填レベルとドロップ確率で設定したことを確認します。
アクション
運用モードコマンドを使用して、ドロッププロファイル設定の結果を確認します show configuration class-of-service drop-profiles be-dp1。
user@switch> show configuration class-of-service drop-profiles be-dp1
interpolate {
fill-level [ 25 50 75 ];
drop-probability [ 30 60 100 ];
}