CoS スケジューリング動作と設定に関する考慮事項について
スケジューリングの設定と帯域幅の要件には、以下のような多くの要因が影響します。
-
転送クラス(各転送クラスはキューにマッピングされる)または転送クラス セット(優先度グループ)に帯域幅を設定する場合、スイッチはそのデータのみを構成された帯域幅と見なします。スイッチは、プリアンブルとフレーム間ギャップ(IFG)によって消費される帯域幅を考慮していません。したがって、転送クラスまたは転送クラス セットの帯域幅要件を計算および設定するときは、プリアンブルと IFG、および計算のデータを考慮してください。
-
(デフォルトの転送クラスのみを使用するのではなく)スイッチ上でトラフィックを伝送するように転送クラスを設定する場合、ユーザーが設定した転送クラスのスケジューリングポリシーも定義する必要があります。一部のスイッチは拡張伝送選択(ETS)階層ポートスケジューリングをサポートしており、一部のスイッチはポートスケジューリングをサポートしており、一部のスイッチは両方のスケジューリング方法をサポートしています。
注:機能エクスプローラーを使用して、ETSとポートスケジューリングのプラットフォームとリリースのサポートを確認します。
ETS階層ポートスケジューリングの場合、ETSを使用して階層スケジューリングポリシーを定義するということは、次のことを意味します。
-
スケジューラマップ内の転送クラスへのスケジューラのマッピング
-
転送クラス セットへの転送クラスの包含
-
スケジューラマップとトラフィック制御プロファイルの関連付け
-
転送クラス セットおよびインターフェイスへのトラフィック制御プロファイルのアタッチ
ポートスケジューリングをサポートするスイッチでは、スケジューリングポリシーを定義することを意味します。
-
スケジューラマップ内の転送クラスにスケジューラをマッピングします。
-
1つ以上のインターフェイスにスケジューラマップを適用します。
-
-
各物理インターフェイスでは、インターフェイスで使用されているすべての転送クラスに書き換えルールを設定する必要があるか、インターフェイスで使用されている転送クラスに書き換えルールを設定することはできません。物理ポートでは、書き換えルールのある転送クラスと書き換えルールのない転送クラスを混在させないでください。
-
内部VLANタグと外部VLANタグの両方を持つパケットの場合、書き換えルールは外部VLANタグのみを書き換えます。
-
ETS階層ポートスケジューリングでは、トラフィック制御プロファイルで設定された転送クラスの最小保証帯域幅(
guaranteed-rate)も設定しない限り、転送クラスの最小保証帯域幅(transmit-rate)は機能しません。また、転送クラスセット内の転送クラスの送信レートの合計は、転送クラスセットの保証レートを超えてはなりません。(キューの最小帯域幅が、キューのセット全体で保証される最小帯域幅よりも大きくなることを保証することはできません。)合計が転送クラスセットの保証レートを超える送信レートを設定すると、コミットチェックに失敗し、システムは設定を拒否します。
-
ETS階層ポートスケジューリングの場合、転送クラスセット保証レートの合計がポート帯域幅の合計を超えることはできません。合計がポート帯域幅を超える保証レートを設定すると、システムからsyslogメッセージが送信され、設定が無効であることが通知されます。ただし、システムはコミットチェックを実行しません。保証されたレートの合計がポート帯域幅を超える設定をコミットすると、階層スケジューラは予測不能な動作をします。
-
ETS階層ポートスケジューリングでは、転送クラスセットの
guaranteed-rateをパーセンテージで設定する場合、その転送クラスセットに関連付けられたすべての送信レートをパーセンテージで設定します。この場合、送信レートのいずれかがパーセントではなく絶対値で設定されている場合、設定は無効であり、システムはsyslogメッセージを送信します。 -
絶対優先度の高いキュー(転送クラス)を設定する場合、考慮すべき要素がいくつかあります。
-
QFX5200スイッチでは、最も優先度の高いキュー(転送クラス)を1つだけ設定できます。
QFX5100 スイッチと EX4600 スイッチでは、最も高い優先度として設定できる forwarding-class-set(優先度グループ)は 1 つだけです。そのストリクトハイフォワーディングクラスセットの一部であるすべてのキューは、ストリクトハイキューとして機能します。
QFX10000スイッチでは、設定できる優先度の高いキューの数に制限はありません。
-
QFX5200、QFX5100、EX4600スイッチでは、優先度が厳密に高いキューに、最小保証帯域幅(
transmit-rate)を設定することはできません。QFX5200スイッチとQFX10000スイッチでは、優先度が厳密に高いキューに
transmit-rateを設定し、キューが優先度が厳密に高い優先度のトラフィックとして扱うトラフィック量に制限を設定できます。transmit-rateを超えるトラフィックはベストエフォート型トラフィックとして扱われ、絶対優先度の高いキューがポートで共有できる追加帯域幅の割合である「1」の超過帯域幅共有ウェイトを受け取ります。優先度が厳密でないキューは、送信レート(デフォルト)または設定された超過レートを使用して、キューが共有できる追加ポート帯域幅の割合(重み)を決定します。ただし、優先度が最も高いキューには超過レートを設定することはできません。また、優先度が最も高いキューでは超過帯域幅共有の重みを「1」に変更することはできません。ETS階層ポートスケジューリングでは、優先度が最も高い転送クラスセットに、優先度が最も高いキューを含む転送クラスセットに、最小保証帯域幅(
guaranteed-rate)を設定することはできません。 -
QFX10000スイッチを除き、ETS階層ポートスケジューリングの場合のみ、優先度が最も高いキュー用に別の転送クラスセットを作成する必要があります。QFX10000スイッチでは、同じ転送クラスセットに、優先度が高いキューと優先度が低いキューを混在させることができます。
-
QFX10000スイッチを除き、ETS階層ポートスケジューリングでは、1つの転送クラスセットのみに絶対優先度の高いキューを含めることができます。QFX10000スイッチでは、この制限は適用されません。
-
QFX10000スイッチを除き、ETS階層ポートスケジューリングでは、絶対優先度の高いキューは、優先度が厳密でないキューと同じ転送クラスセットに属することはできません。(1つの転送クラスセットに、絶対優先度が最も高い転送クラスと優先度が厳密でない転送クラスを混在させることはできません。)QFX10000スイッチでは、同じ転送クラスセットに、優先度が高いキューと優先度が低いキューを混在させることができます。
-
ユニキャストトラフィックとマルチデスティネーション(マルチキャスト、ブロードキャスト、宛先ルックアップ失敗)トラフィックに異なる転送クラスセットを使用するスイッチ上のETS階層ポートスケジューリングでは、優先度が厳密に高いキューをマルチデスティネーション転送クラスセットに属させることはできません。
-
QFX10000システムでは、他のキューを枯渇させないように、優先度が最も高いキューに常に送信レートを設定することをお勧めします。送信レートを適用して、優先度が厳密な優先度の高いキューが使用できる帯域幅の量を制限しない場合、ストリクト優先度の高いキューは利用可能なポート帯域幅をすべて使い果たし、ポート上の他のキューを枯渇させる可能性があります。
QFX5200、QFX5100、EX4600スイッチでは、他のキューを枯渇させないように、常に優先度の高いシェーピングレートを適用することをお勧めします。絶対優先度の高いキューが使用できる帯域幅の量を制限するためにシェーピング レートを適用しない場合、絶対優先度の高いキューは利用可能なポート帯域幅をすべて使用し、ポート上の他のキューを枯渇させる可能性があります。
-
-
送信レートが 1 Gbps 未満の場合、送信レートを固定レートとしてではなく、パーセンテージで設定することをお勧めします。これは、システムが固定レートをパーセンテージに変換し、小さな固定レートを低いパーセンテージに丸める可能性があるためです。例えば、350Mbpsの固定レートは、3.5%ではなく3%に切り捨てられます。
-
キューまたは優先度グループ(
shaping-rate)の最大帯域幅を 100 Kbps 以下に設定した場合、トラフィックシェーピング動作は、設定されたshaping-rateの +/– 20% 以内でしか正確ではありません。 -
QFX10000スイッチでは、
[edit class-of-service interfaces lag-interface-name scheduler-map scheduler-map-name]ステートメントを使用してLAGインターフェイスにレートシェーピング([set class-of-service schedulers scheduler-name transmit-rate (rate | percentage) exact)を設定すると、スケジュールされたトラフィックストリームが予想よりも多くのLAGリンク帯域幅を受け取る可能性があります。スケジューラでレートシェーピングを設定して、ポート上の特定の出力キューの転送クラスに割り当てられたトラフィックの最大帯域幅を設定します。例えば、キュー0にマッピングされたベストエフォート転送クラスに割り当てられたトラフィックに対して、スケジューラを使用してレートシェーピングを設定し、スケジューラマップを使用してインターフェイスにスケジューラを適用することで、そのポートのキュー0にマッピングされたベストエフォートトラフィックの最大帯域幅を設定できます。ベストエフォート転送のトラフィックは、
exactオプションを使用する場合に、送信レートで指定されたポート帯域幅を超えて使用できません。LAGインターフェイスは、単一のインターフェイスとして機能するためにバンドルされた2つ以上のイーサネットリンクで構成されています。スイッチは、LAGインターフェイスに入るトラフィックをLAGインターフェイス内の任意のメンバーリンクにハッシュできます。レートシェーピングを設定してLAGインターフェイスに適用する場合、スイッチがレートシェーピングをトラフィックに適用する方法は、スイッチがトラフィックをLAGリンクにハッシュする方法によって異なります。
リンク ハッシュがスイッチが LAG トラフィックにシェーピング レートを適用する方法にどのような影響を与えるかを説明するために、2 つのメンバー リンク(
xe-0/0/20およびxe-0/0/21)を持つ LAG インターフェイス(ae0)を見てみましょう。LAGae0では、出力キュー0にマッピングされたbest-effort転送クラスに割り当てられたトラフィックに対して、2gのレートシェーピングを設定します。best-effort転送クラスのトラフィックがLAGインターフェイスに到達すると、スイッチは2つのメンバーリンクの1つにトラフィックをハッシュします。スイッチがすべての
best-effortトラフィックを同じLAGリンクにハッシュする場合、トラフィックはそのリンクで最大2gの帯域幅を受信します。この場合、LAG上のベストエフォートトラフィックに意図した累積制限である2Gが適用されます。ただし、スイッチが
best-effortトラフィックを両方のLAGリンクにハッシュした場合、トラフィックは 各 LAGリンクで最大2gの帯域幅を受信し、LAG全体の累積合計として2gではなく、最大2gの帯域幅を受け取るため、ベストエフォート型トラフィックは、レートシェーピング設定で設定された2gではなく、LAGで最大4gを受信します。ハッシュが(転送クラスにマッピングされている)出力キューに割り当てられたトラフィックを複数のLAGリンクに分散する場合、LAGの実効レートシェーピング(累積最大帯域幅)は次のようになります。(LAGメンバーインターフェイスの数)x(出力キューのレートシェーピング)=累積LAGレートシェーピング
-
仮想出力キュー(VOQ)を使用しないスイッチでは、イングレスポートが複数のエグレスポートにトラフィックを転送し、それらのエグレスポートの少なくとも1つで混雑が発生した場合、エグレスポートの混雑期間中にイングレスポートの混雑が発生する可能性があります。この場合、輻輳したエグレスポートにより、イングレスポートがイングレスバッファリソースの公正な割り当てを超えてしまう可能性があります。イングレスポートがバッファリソースの割り当てを超えると、フレームはイングレスでドロップされます。イングレスポートのフレームドロップは、輻輳したエグレスポートだけでなく、混雑したイングレスポートがトラフィックを転送するすべてのエグレスポートにも影響します。
輻輳したイングレスポートが、1つ以上の輻輳していないエグレスポート宛てのトラフィックをドロップした場合、WRED(Weighted Random Early Detection)ドロッププロファイルを設定し、混雑の原因となっているエグレスキューに適用します。ドロッププロファイルは、イングレスポートで輻輳を引き起こすのではなく、エグレスでフレームをドロップすることで、混雑したエグレスキューが他のポートのエグレスキューに影響を与えるのを防ぎます。
注:ロスレストランスポートをサポートするシステムでは、デフォルト
fcoeやno-loss転送クラスなどのロスレス転送クラスにドロッププロファイルを設定しないでください。FCoEおよびその他のロスレストラフィックキューには、ロスレス動作が必要です。PFC(優先度ベースのフロー制御)を使用して、ロスレス優先度でのフレームドロップを防止します。 -
ユニキャストトラフィックとマルチデスティネーショントラフィックに異なる分類子を使用し、ロスレストランスポートをサポートするシステムでは、同じIEEE 802.1pコードポイントをマルチデスティネーショントラフィックフローとロスレスユニキャストトラフィックフローの両方にマッピングする分類子を設定しないでください(デフォルトのロスレス
fcoeまたはno-loss転送クラスなど)。ポート上のマルチデスティネーショントラフィックに使用されるコードポイントは、同じポート上でユニキャストトラフィックをロスレス転送クラスに分類するために使用しないでください。複数宛先トラフィックフローとロスレスユニキャストトラフィックフローがポート上の同じコードポイントを使用する場合、複数宛先トラフィックはロスレストラフィックと同じように扱われます。例えば、プライオリティベースのフロー制御(PFC)がロスレストラフィックに適用されている場合、同じコードポイントのマルチデスティネーショントラフィックも一時停止されます。輻輳期間中、マルチデスティネーショントラフィックをロスレスユニキャストトラフィックと同じように扱うと、マルチデスティネーショントラフィックのイングレスポート輻輳が発生し、マルチデスティネーショントラフィックが使用するすべてのエグレスポートのマルチデスティネーショントラフィックに影響を与える可能性があります。
例えば、以下の設定は、マルチデスティネーションフローのイングレスポート輻輳を引き起こす可能性があります。
ユニキャストトラフィックの場合、802.1p コード ポイント 011 IEEE
fcoe転送クラスに分類されます。user@switch# set class-of-service classifiers ieee-802.1 ucast_cl forwarding-class fcoe loss-priority low code-points 011
マルチデスティネーショントラフィックの場合、802.1p コードポイント
011IEEEmcastフォワーディングクラスに分類されます。user@switch# set class-of-service classifiers ieee-802.1 mcast-cl forwarding-class mcast loss-priority low code-points 011
コードポイント
011を持つトラフィックをfcoe転送クラスにマッピングするユニキャスト分類子は、インターフェイスxe-0/0/1にマッピングされます。user@switch# set class-of-service interfaces xe-0/0/1 unit 0 classifiers ieee-802.1 ucast_cl
コードポイント
011のトラフィックをmcast転送クラスにマッピングするマルチデスティネーション分類子は、すべてのインターフェイスにマッピングされます(マルチデスティネーショントラフィックはすべてのインターフェイスにマッピングされ、個々のインターフェイスにマッピングすることはできません)。user@switch# set class-of-service multi-destination classifiers ieee-802.1 mcast-cl
同じコードポイント(
011)がユニキャストトラフィックをロスレストラフィックフローにマッピングし、マルチデスティネーショントラフィックをマルチデスティネーショントラフィックフローにもマッピングするため、マルチデスティネーショントラフィックフローは輻輳期間中にイングレスポートの輻輳が発生する可能性があります。
イングレスポートの輻輳を回避するために、マルチデスティネーショントラフィックで使用されるコードポイントをロスレスユニキャストトラフィックにマッピングしないでください。次に例を示します。
コードポイント
011をfcoe転送クラスに分類する代わりに、コードポイント011をbest-effort転送クラスに分類します。user@switch# set class-of-service classifiers ieee-802.1 ucast_cl forwarding-class best-effort loss-priority low code-points 011
-
user@switch# set class-of-service classifiers ieee-802.1 mcast-cl forwarding-class mcast loss-priority low code-points 011
-
user@switch# set class-of-service interfaces xe-0/0/1 unit 0 classifiers ieee-802.1 ucast_cl
-
user@switch# set class-of-service multi-destination classifiers ieee-802.1 mcast-cl
コードポイント
011はユニキャストトラフィックをロスレストラフィックフローにマッピングしないため、混雑期間中、マルチデスティネーショントラフィックフローでイングレスポートの輻輳が発生しることはありません。
ベストプラクティスは、マルチデスティネーショントラフィックにも使用されるIEEE 802.1pコードポイントを持つユニキャストトラフィックをベストエフォートフォワーディングクラスに分類することです。