例:キュースケジューラの設定
スケジューラは、出力キューの CoS プロパティを定義します(出力キューは転送クラスにマッピングされ、分類子は IEEE 802.1p または DSCP コード ポイントに基づいてトラフィックを転送クラスにマッピングします)。キュースケジューリングは、優先度グループスケジューリングと連携して、2層の階層スケジューラを作成します。CoS スケジューリング プロパティには、キューに割り当てられたインターフェイス帯域幅の量、キューの優先度、キューで明示的輻輳通知(ECN)が有効になっているかどうか、およびキューに関連付けられた WRED パケット ドロップ プロファイルが含まれます。
CoS スケジューラの設定
CLIクイックコンフィグレーション
キュースケジューラを素早く設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク構成に合わせて変数や詳細を変更し、[edit]階層レベルのCLIにコマンドをコピー&ペーストしてください。
[edit class-of-service] set schedulers be-sched transmit-rate percent 20 set schedulers be-sched shaping-rate percent 40 set schedulers be-sched buffer-size percent 20 set schedulers be-sched priority low set schedulers be-sched drop-profile-map loss-priority low protocol any drop-profile be-dp set scheduler-maps be-map forwarding-class best-effort scheduler be-sched set traffic-control-profiles be-tcp scheduler-map be-map set interfaces xe-0/0/7 forwarding-class-set lan-pg output-traffic-control-profile be-tcp
ステップバイステップの手順
CoS スケジューラを設定するには:
最小保証帯域幅2Gbps、最大帯域幅4Gbps、優先度が低いスケジューラ(
be-sched)を作成し、ドロッププロファイルbe-dpにマッピングします。[edit class-of-service schedulers] user@switch# set be-sched transmit-rate percent 20 user@switch# set be-sched shaping-rate percent 40 user@switch# set be-sched buffer-size percent 20 user@switch# set be-sched priority low user@switch# set be-sched drop-profile-map loss-priority low protocol any drop-profile be-dp
注:ECNはデフォルトで無効になっているため、ECN設定は表示されません。
スケジューラマップ(
be-map)を設定して、スケジューラ(be-sched)をフォワーディングクラス(best-effort)に関連付けます。[edit class-of-service scheduler-maps] user@switch# set be-map forwarding-class best-effort scheduler be-sched
スケジューラマップ
be-mapをトラフィック制御プロファイル(be-tcp)に関連付けます。[edit class-of-service traffic-control-profiles] user@switch# set be-tcp scheduler-map be-map
トラフィック制御プロファイル
be-tcpを、転送クラスセット(lan-pg)および10ギガビットイーサネットインターフェイス(xe-0/0/7)に関連付けます。[edit class-of-service] user@switch# set interfaces xe-0/0/7 forwarding-class-set lan-pg output-traffic-control-profile be-tcp
要件
この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。
1つのQFXスイッチ
サポートされているすべてのJunosリリース
概要
スケジューラパラメータは、スケジューラにマッピングされたキューの以下の特性を定義します。
transmit-rate—最小帯域幅。 コミット情報レート(CIR)とも呼ばれます。スケジューラにマッピングされた各キューは、設定された絶対帯域幅量または設定された帯域幅の割合のいずれかを最低限受信します。また、送信レートは、キューが共有できる超過(余計な)優先度グループ帯域幅の量も決定します。追加の優先度グループの帯域幅は、各キューの送信レートに比例して、優先度グループ内のキュー間に割り当てられます。優先度が最も高いキューの送信レートを設定することはできません。送信レートが設定されたキュー(転送クラス)は、優先度が厳密に高い優先度のキューを持つ転送クラス セットに含めることはできません。注:transmit-rate設定は、キューが属する転送クラスセットに接続されているトラフィック制御プロファイルでguaranteed-rateも設定している場合にのみ機能します。guaranteed-rateを設定しないと、transmit-rateは機能しません。転送クラスセット内のすべてのキュー送信レートの合計は、トラフィック制御プロファイルが保証するレートを超えてはなりません。合計が転送クラス設定の保証レートを超える送信レートを設定すると、コミットチェックは失敗し、システムは設定を拒否します。注:帯域幅の計算には、プリアンブルバイトとフレーム間ギャップバイト、データバイトを含めます。
注:優先度が最も高いキューの送信レートを設定することはできません。送信レートが設定されたキュー(転送クラス)は、優先度が厳密に高い優先度のキューを持つ転送クラス セットに含めることはできません。
shaping-rate—最大帯域幅、 ピーク情報レート(PIR)とも呼ばれます。各キューは、より多くの帯域幅が使用可能であっても、設定された絶対帯域幅量または設定された帯域幅の割合の最大値を受信します。注:帯域幅の計算には、プリアンブルバイトとフレーム間ギャップバイト、データバイトを含めます。
priority—スケジューラに関連付けられたキューが受信できる2つの帯域幅優先度のうちの1つ:low—スケジューラの優先度は低いです。strict-high—スケジューラの優先度は最も高いです。優先度が最も高いキューとして設定できるのは 1 つのキューだけです。絶対に高い優先度は、他のキューが帯域幅を受信する前に、スケジュールされた帯域幅をキューに割り当てます。他のキューは、ストリクトハイキューが処理された後に残っている帯域幅を受け取ります。他のキューを枯渇させないように、優先度が最も高いキューには常にシェーピング レートを適用することをお勧めします。絶対優先度の高いキューが使用できる帯域幅の量を制限するためにシェーピング レートを適用しない場合、絶対優先度の高いキューは利用可能なポート帯域幅をすべて使用し、ポート上の他のキューを枯渇させる可能性があります。
drop-profile-map—ドロッププロファイルを損失の優先度とプロトコルにマッピングして、WREDをスケジューラに適用します。buffer-size—ポート上の専用バッファ領域の割合、または明示的に設定されたキューが提供された後に残るポートの専用バッファ領域の比例シェアとして表示されるキューバッファのサイズ。explicit-congestion-notification—ベストエフォートキューでECNを有効にします。ECNにより、TCP/IPベースのネットワーク上の2つのECN対応エンドポイント間でエンドツーエンドの輻輳通知が可能になります。ECNが正常に動作するためには、両方のエンドポイントとエンドポイント間のすべての中間デバイスでECNを有効にする必要があります。ECNはデフォルトで無効になっています。
イングレスポートが複数のエグレスポートにトラフィックを転送し、そのうちの少なくとも1つが混雑が発生した場合、エグレスポートの輻輳が発生する可能性があります。この場合、輻輳したエグレスポートにより、イングレスポートがイングレスバッファリソースの公正な割り当てを超えてしまう可能性があります。イングレスポートがバッファリソースの割り当てを超えると、フレームはイングレスでドロップされます。イングレスポートのフレームドロップは、輻輳したエグレスポートだけでなく、混雑したイングレスポートがトラフィックを転送するすべてのエグレスポートにも影響します。
輻輳したイングレスポートが、1つ以上の輻輳していないエグレスポート宛てのトラフィックをドロップした場合、WRED(Weighted Random Early Detection)ドロッププロファイルを設定し、混雑の原因となっているエグレスキューに適用します。ドロッププロファイルは、イングレスポートで輻輳を引き起こすのではなく、エグレスでフレームをドロップすることで、混雑したエグレスキューが他のポートのエグレスキューに影響を与えるのを防ぎます。
fcoe および無損失フォワーディング クラスのドロップ プロファイルを設定しないでください。FCoEおよびその他のロスレストラフィックキューには、ロスレス動作が必要です。PFC(優先度ベースのフロー制御)を使用して、ロスレス優先度でのフレームドロップを防止します。
スケジューラマップは、スケジューラを転送クラス(キュー)に関連付けます。スケジューラを定義し、スケジューラマップのキューにマッピングした後、ハードウェアキュースケジューリング(階層ポートスケジューリング)を設定するには、以下を行います。
スケジューラマップをトラフィック制御プロファイルに関連付けます(トラフィック制御プロファイルは、 転送クラス セットまたは 優先度グループと呼ばれる転送クラスのグループのリソースをスケジュールします)。
転送クラスとトラフィック制御プロファイルをインターフェイスにアタッチします。
例:CoS階層ポートスケジューリング(ETS)の設定は、 階層スケジューリングの完全な例を示しています。
最大4つのユーザー定義のスケジューラマップを転送クラスセットに関連付けることができます。
このプロセスでは、スケジューラマップの転送クラス(ひいては出力キュー)にマッピングする帯域幅プロパティとWRED特性を設定します。トラフィック制御プロファイルは、スケジューラのCoSプロパティを使用して、優先度グループで使用可能なリソースの合計から個々の出力キューに割り当てるべきリソースを決定します。
表1は 、この例の設定コンポーネントを示しています。
コンポーネント |
設定 |
|---|---|
ハードウェア |
QFXスイッチ |
スケジューラ |
名前: |
スケジューラマップ |
名前: |
トラフィック制御プロファイル |
名前:
注:
このトピックでは、トラフィック制御プロファイルの定義方法については説明しません。 |
転送クラスセット |
名前: |
検証
キュースケジューラが作成され、正しいインターフェイスにマッピングされていることを確認するには、以下のタスクを実行します。
スケジューラ設定の検証
目的
キュースケジューラ be-sched が、最小保証帯域幅2Gbps、最大帯域幅4Gbps、優先度 lowに設定され、ドロッププロファイル be-dpで作成されていることを確認します。
アクション
次の動作モードコマンドを使用してスケジューラを表示します show configuration class-of-service schedulers be-sched。
user@switch> show configuration class-of-service schedulers be-sched transmit-rate percent 20; shaping-rate percent 40; buffer-size percent 20; priority low; drop-profile-map loss-priority low protocol any drop-profile be-dp;
スケジューラマップ設定の検証
目的
スケジューラマップ be-map が作成され、転送クラス best-effort がスケジューラ be-schedに関連付けられていること、またスケジューラマップがトラフィック制御プロファイル be-tcpに添付されていることを確認します。
アクション
次の動作モードコマンドを使用してスケジューラマップを表示します show configuration class-of-service scheduler-maps be-map。
user@switch> show configuration class-of-service scheduler-maps be-map forwarding-class best-effort scheduler be-sched;
トラフィック制御プロファイルを表示し、スケジューラ マップ be-map が次の動作モード コマンドを使用して接続されていることを確認します show configuration class-of-service traffic-control-profiles be-tcp scheduler-map。
user@switch> show configuration class-of-service traffic-control-profiles be-tcp scheduler-map scheduler-map be-map;
このトピックでは、トラフィック制御プロファイルの設定方法やポート帯域幅の割り当てについては説明しません。階層スケジューリングを実装するには、トラフィック制御プロファイルを使用して、優先度グループへのポートリソース割り当てを設定する必要があります。
スケジューラがインターフェイスに関連付けられていることの確認
目的
キュースケジューラに関連付けられた転送クラスセット(lan-pg)とトラフィック制御プロファイル(be-tcp)がインターフェイス xe-0/0/7に接続されていることを確認します。
アクション
次の動作モードコマンドを使用してインターフェイスを一覧表示します show configuration class-of-service interfaces xe-0/0/7。
user@switch> show configuration class-of-service interfaces xe-0/0/7
forwarding-class-set {
lan-pg {
output-traffic-control-profile be-tcp;
}
}