優先度スケジューリングの概要
Junos OS は、複数の転送優先度レベルをサポートしています。これは、優先度をlow
高めるために 、 、 medium-low
、 medium-high
、および strict-high
high
です。これにより、ソフトウェアは、優先度の低いキューの前に、より高優先度のキューにサービスを提供できます。
優先度スケジューリングは、出力インターフェイスがそのキューからトラフィックを送信する順序を決定するため、重要なトラフィックを含むキューが、発信インターフェイスへのより良いアクセスを提供されるようにします。Junos OSでは、各キューに割り当てられた優先度と、各キューが定義された帯域幅プロファイル内にあるかどうかを調べることで、優先度のスケジューリングを実行します。Junos OS は、個々のキューが帯域幅プロファイル内にあるかどうかを判断するために、一定の間隔でキューによって送信されるデータ量を、 階層レベルで[edit class-of-service schedulers scheduler-name]
定義された構成済みスケジューラ伝送レート(transmit-rate
)によって割り当てられた帯域幅と比較します。送信量が割り当てられた量よりも小さい場合、キューはプロファイル内にあると見なされます。送信量が割り当てられた量を超えると、キューはプロファイル外になります。
特定の出力物理インターフェイス(またはそのインターフェイスでユニット単位のスケジューリングが有効になっている場合は出力 論理インターフェイス )のキューは、その優先度に基づいてセットに分割されます。このようなセットには、同じ優先度のキューが含まれています。
Junos OS は、優先順位の下の順にセットをトラバースします。セット内の少なくとも 1 つのキューに送信するパケットがある場合、ソフトウェアはそのセットを選択します。セットからのキューは、セット内で動作する WRR(Weighted Round Robin)アルゴリズムに基づいて選択されます。
Junos OS は、次の手順を使用して優先キューイングを実行します。
ソフトウェアは、現在プロファイル中のすべての優先度の高いキューを探します。これらのキューは、まず、重み付けラウンドロビン方式でサービスされます。
このソフトウェアは、現在プロファイル中のすべての中高優先度キューを検出します。これらのキューは、2 番目の重み付きラウンドロビン方式でサービスされます。
このソフトウェアは、現在プロファイル中の優先度の低いキューをすべて特定します。これらのキューは、ウェイト付きラウンドロビン方式で3分の1のサービスを受けます。
ソフトウェアは、現在プロファイル中のすべての優先度の低いキューを検出します。これらのキューは、ウェイト付きラウンドロビン方式で第4のサービスを受けます。
このソフトウェアは、現在プロファイル外であり、レート制限されていない優先度の高いキューをすべて検出します。サービスを提供するために、これらのキューに加重ラウンドロビンアルゴリズムが適用されます。
このソフトウェアは、現在プロファイル外であり、レート制限がない中高優先度キューをすべて検出します。サービスを提供するために、これらのキューに加重ラウンドロビンアルゴリズムが適用されます。
このソフトウェアは、現在プロファイル外であり、レート制限がない中低優先度キューをすべて特定します。サービスを提供するために、これらのキューに加重ラウンドロビンアルゴリズムが適用されます。
このソフトウェアは、現在プロファイル外であり、レート制限されていない優先度の低いキューをすべて特定します。これらのキューは、最後に、重み付けラウンドロビン方式でサービスされます。
絶対優先設定の概要
インターフェイスごとに1つのキューに優先度を設定strict-high
することができ、これは優先度とhigh
同じように動作しますが、無制限の伝送帯域幅を提供します。優先度の高いstrict-high
キューに送信するトラフィックがある限り、優先度の高いキューを除く他のすべてのキューhigh
よりも優先されます。キューとhigh
優先度の高いstrict-high
キューは、キューが空になる、優先キューが空になる、high
または優先キューが帯域幅クレジットをhigh
使い切るまで、順番にパケットstrict-high
を送信します。これらの条件が満たされている場合にのみ、優先度の低いキューがトラフィックを送信できます。
優先度を持つstrict-high
キューを設定する場合、優先キューの伝送レートは WRR 設定によって[edit class-of-service schedulers scheduler-name]
制限されないため、 階層レベルのstrict-high
キュー設定に ステートメントを含めるtransmit-rate
必要はありません。優先キューに伝送レートをstrict-high
設定した場合、WRR 操作には影響しません。ただし、伝送レートは遅延バッファの計算に影響を与え、 コマンドなどのコマンドの出力のプレースホルダとしてもshow interface queue
機能します。
strict-high
優先キューが優先キューを飢え low
させ、特定の状況下では優先キューが制限 high
される可能性があります。優先度により high
、キュー内のトラフィックに飢えるトラフィッククラスを strict-high
保護できます。例えば、ネットワーク制御キューでは、小さな帯域幅の割り当て(例:5%)が必要な場合があります。このキューに優先順位を割り当てて high
、サービスが不足するのを防ぐことができます。
優先度の高いstrict-high
キューは、優先度の低いキューの帯域幅保証よりも優先されます。そのため、優先度をstrict-high
使用して、音声トラフィックなどの特別なトラフィックを適切に順序付けられるようにすることをお勧めします。キューの伝送速度に オプションを適用rate-limit
することで、一般的に必要な帯域幅のみをキューに割り当てることにより、優先度の低いキューstrict-high
に対する帯域幅保証をstrict-high
維持できます。例えば、以下の送信帯域幅の割り当てを考えてみましょう。
Q0 BE—20%、優先度が低い
第 1 四半期 EF—30%、厳格な優先度
第 2 四半期 AF—40%、優先度が低い
Q3 NC—10%、優先度が低い
この帯域幅割り当ては、一般に、EF 転送クラスがインターフェイスの送信帯域幅の 30% しか必要とすると仮定しています。ただし、EF 転送クラスで短いトラフィックバーストを受信し rate-limit
、オプションを適用しない場合、設定により帯域幅の 100% が EF 転送クラスに strict-high
与えられます。