Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

CoS階層ポートスケジューリング(ETS)について

スケジューリングは、出力キューのサービスクラス(CoS)プロパティを定義します。出力キューは転送クラスにマップされます。CoS スケジューラのプロパティには、キューに割り当てられたインターフェイス帯域幅の量、キューの優先度、およびキューに関連付けられたドロッププロファイルが含まれます。

階層ポートスケジューリングは、ポート帯域幅の使用率を向上させ、キュー(転送クラス)とキューのグループ(転送クラスセット)にリソースを割り当てる際の柔軟性を高める2層プロセスです。階層スケジューリングには、IEEE 802.1Qazに記載されているように、Junos実装のETS(拡張伝送選択)が含まれます。

このトピックでは、以下について説明します。

階層スケジューリング層

表1に示すように、階層スケジューリングで使用される2つの層は、 優先度と優先度グループです。

表1:階層型スケジューリング層

Junos構成

同等のETS構成

説明

転送クラス

優先度

優先度(フォワーディングクラス)は出力キューと考えてください。転送クラスをキューにマップするため、各転送クラスが出力キューを表します。

分類子を使用して転送クラスを IEEE 802.1p コード ポイントにマッピングすると、コード ポイントが優先度ベースのフロー制御(PFC)のトラフィックの優先度を識別します。したがって、転送クラス、転送クラスにマッピングされたキュー、および転送クラスにマッピングされた優先度(コードポイント)はすべて同じトラフィックを識別します。

転送クラスセット

優先度グループ

優先度グループ(転送クラス セット)は、優先度(転送クラス)のグループです。フォワーディングクラスセット内のフォワーディングクラスのメンバーシップは、各プライオリティが属するプライオリティグループを定義します。

最大3つのユニキャスト優先グループと1つのマルチキャスト優先グループを設定できます。

スケジューリングプロパティは、次のセクションで説明するように、各階層スケジューリング層に適用します。

注:

インターフェイス上で1つ以上の優先度グループを明示的に設定した場合、そのインターフェイス上の優先度グループ(転送クラスセット)に割り当てられていない優先度(転送クラス)は、自動生成されたデフォルトの優先度グループに割り当てられ、帯域幅は受信 されません。つまり、インターフェイス上で階層スケジューリングを設定する場合、そのインターフェイスでトラフィックを転送するすべての転送クラスは、転送クラスセットに属している必要があります。

階層型スケジューリングとETS

2層階層スケジューリングは、各優先度グループおよび各優先度のCoSプロパティを定義できるようにすることで、帯域幅を効率的に管理します。階層スケジューラの第1層は、ポート帯域幅を優先度グループに割り当てます。階層スケジューラの第 2 層は、優先度(キュー)が使用できる優先度グループの帯域幅の部分を決定します。

優先度グループの CoS プロパティは、その優先度グループ内のキューで利用可能なポート帯域幅リソースの量を定義します。各キューに設定する CoS プロパティは、優先度グループに割り当てられた帯域幅からキューで利用可能な帯域幅の量を指定します。 図1 は、ポートリソースの優先度グループへの割り当てと、優先度グループのリソースのキューへの割り当て(優先度)の関係を示しています。

図1:階層型スケジューリング層 Network traffic model showing bandwidth allocation for port with unicast and multicast priority groups and queues for traffic management.

キュー(優先度)が割り当てられた帯域幅を使用しない場合、ETS は、各キューにスケジュールされた最小保証レート(送信レート)に比例して、未使用の帯域幅を優先度グループ内の他のキュー間で共有します。優先度グループが割り当てられた帯域幅を使用しない場合、ETSは、各優先度グループにスケジュールされた最小保証レート(guaranteed rate)に比例して、ポート上の優先度グループ間で未使用帯域幅を共有します。

このようにして、ETSはリンク帯域幅の使用率を向上させ、各キューと各優先度グループに使用可能な最大帯域幅を提供します。例えば、バースト性トラフィックで構成される優先度は、トラフィック負荷が少ないときに帯域幅割り当て全体を予約する代わりに、トラフィック伝送が少ないときに帯域幅を共有できます。

注:

使用可能なリンク帯域幅は、優先度の高いフロー strict-high 処理後に残っている帯域幅です。絶対に高い優先度が他のすべてのトラフィックよりも優先されます。 シェーピングレート (QFX10000スイッチの送信レート )を設定して、他のキューの枯渇を防ぐために絶対優先度の高い転送クラスが使用できる帯域幅の最大量を制限することをお勧めします。

DCBXのETSアドバタイズメント

ポートで階層スケジューリングを設定すると、DCBX(Data Center Bridging Capability Exchangeプロトコル)が以下をアドバタイズします。

  • 各優先度グループ

  • 各優先度グループの優先度

  • 各優先度グループと優先度の帯域幅プロパティ

ポートで階層スケジューリングを設定すると、明示的に設定された優先度グループに属さない優先度は、自動生成されたデフォルトの優先度グループに割り当てられ、帯域幅は受信されません。デフォルトの優先度グループは透過的です。設定には表示されません。

階層的なスケジューリングプロセス

階層型スケジューリングは、優先度と優先度グループを作成し、そのリソースをスケジューリングしてインターフェイスに割り当てる複数の設定ステップで構成されています。以下の手順は、 図2に示すパケットフロー図の6つのブロックに対応しています。

  1. パケット分類:

    • 受信トラフィックを転送クラス(優先度)に分類します。これは、デフォルトの分類子を使用するか、コードポイントと損失の優先順位を転送クラスにマッピングするように分類子を設定することで構成されます。

    • 分類子をイングレスインターフェイスに適用するか、デフォルトの分類子を使用します。分類子をインターフェイスに適用すると、着信トラフィックに分類子コードポイントマッピングを適用することにより、インターフェイス上の受信トラフィックが転送クラスと損失優先度にグループ化されます。

  2. 転送クラス(優先度)の出力キューを設定します。これは、デフォルトの転送クラスと転送クラスからキューへのマッピングを使用するか、独自の転送クラスを作成して出力キューにマッピングすることで構成されます。

  3. 転送クラスにリソースを割り当てます。

    • 優先順位のリソースを定義する。これは、最小保証帯域幅、最大帯域幅、WRED(Weighted Random Early Detection)のドロッププロファイル、および転送クラスに適用する帯域幅優先度を設定するためのスケジューラの設定で構成されています。余分な帯域幅は、各キューの最小保証帯域幅(送信レート)に比例して、キュー間で共有されます。

    • リソースを優先度にマッピングします。これは、スケジューラマップを使用して、転送クラスをスケジューラにマッピングすることで構成されます。

  4. 優先度グループを設定します。これは、転送クラス(優先度)を転送クラスセット(優先度グループ)にマッピングして、各優先度グループに属する優先度を定義することで構成されます。

  5. 優先度グループのリソースを定義します。これは、優先度グループに対して最小保証帯域幅(guaranteed-rate)と最大帯域幅(shaping-rate、QFX10000スイッチの 送信レート )を設定するトラフィック制御プロファイルの設定で構成されています。トラフィック制御プロファイルは、優先度グループの優先度にマッピングされたリソース(スケジューラ)を定義するスケジューラマップも指定します。追加のポート帯域幅は、各優先度グループの最小保証帯域幅に比例して、優先度グループ間で共有されます。

    トラフィック制御プロファイルの帯域幅設定によって、優先度グループが利用可能なポートリソースが決まります。スケジューラマップで指定されたスケジューラによって、各優先度が受け取る優先度グループリソースの量が決まります。

  6. ポートに階層スケジューリングを適用します。これは、1つ以上の優先度グループ(転送クラスセット)をインターフェイスにアタッチすることで構成されます。優先度グループごとに、優先度グループのスケジューリングプロパティと優先度グループの優先度を含むトラフィック制御プロファイルもアタッチします。同じポート上の異なる優先度グループが異なるトラフィック制御プロファイルを使用できるため、各インターフェイス上の各キューのスケジュールを微調整して制御できます。

図2:階層的なスケジューリングによるパケットフローHierarchical Scheduling Packet Flow

絶対優先度の高いキューと階層スケジューリング

絶対優先度の高いキューを設定する場合、以下のルールに従う必要があります。

  • 絶対優先度が高いキュー用に、別の転送クラスセット(優先度グループ)を作成する必要があります。

  • 転送クラスセットには、1つの優先度が最も高いキューのみを含めることができます。

  • 絶対優先度の高いキューは、優先度が厳密でないキューと同じ転送クラスセットに属することはできません。

  • 絶対優先度の高いキューは、マルチデスティネーション転送クラスセットに属することはできません。

  • 優先度が最も高いキューに常に シェーピングレート を適用して、優先度が最も高いキューが使用できる帯域幅の量を制限することを推奨します。絶対優先度の高いキューが使用できる帯域幅を制限しない場合、絶対優先度の高いキューは使用可能なポート帯域幅をすべて使い果たし、ポート上の他のキューを枯渇させる可能性があります。

デフォルトの階層スケジューリング

階層スケジューリングを明示的に構成しない場合、スイッチはデフォルト設定を使用します。

  • スイッチ上のすべての転送クラスを含むデフォルトの転送クラス セットが自動的に作成されます。スイッチは、ポート出力帯域幅の 100% をデフォルトの転送クラス セットに割り当てます。デフォルトの転送クラスセットは透過的です。これは設定には表示されず、DCBX(Data Center Bridging Capability Exchangeプロトコル)アドバタイズに使用されます。

  • イングレストラフィックは、デフォルトの分類子設定に基づいて分類されます。

  • デフォルトの転送クラス内の転送クラス(キュー)は、デフォルトのスケジューラ設定に基づいて帯域幅を設定します。

プラットフォーム固有の階層スケジューリング動作

お使いのプラットフォームに固有の動作を確認するには、以下の表を使用して下さい。

表2:プラットフォーム固有の階層スケジューリング動作

プラットフォーム

違い

QFX10000シリーズ

  • QFX10000スイッチには、デフォルトの階層スケジューリングはありません。QFX10000スイッチはデフォルトでポートスケジューリングを使用します。ETSを有効にするには、階層スケジューリングを明示的に設定する必要があります。また、QFX10000スイッチでは、ポートスケジューラからETSに変更、またはETSからポートスケジューラに変更するには、再起動が必要です。

  • QFX10000スイッチは、優先度グループのシェーピングレートの定義をサポートしていません。代わりに、送信レートを定義することで、優先度グループの最大帯域幅を設定します。 transmit-rateを参照してください。