例:ECN の設定
この例では、出力キューで ECN(明示的輻輳通知)を有効にする方法を示しています。
要件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
1台のスイッチで
QFX シリーズの Junos OS リリース 13.2X51-D25 以降、OCX シリーズの Junos OS リリース 14.1X53-D20
概要
ECNは、TCP/IPベースのネットワーク上の2つのエンドポイント間でエンドツーエンドの輻輳通知を可能にします。2 つのエンドポイントは、ECN 対応送信者と ECN 対応受信者です。ECN が正しく動作するためには、両方のエンドポイントとエンドポイント間のすべての中間デバイスで ECN を有効にする必要があります。ECN をサポートしていない伝送パス内のデバイスは、エンドツーエンドの ECN 機能を中断します。
WRED(Weighted Random Early Detection)パケット ドロップ プロファイルは、ECN が有効になっている出力キューに適用する必要があります。ECN は、WRED ドロップ プロファイルのしきい値を使用して、出力キューで輻輳が発生した場合にパケットをマークします。
ECN は、これらのパケットをドロップするのではなく、ネットワーク輻輳発生時に ECN 対応パケットを転送することで、パケット ロスを削減します。(TCP は、パケットをドロップしてネットワークに輻輳を通知します。輻輳が発生している間、ECN は輻輳したキューから出る ECN 対応パケットをマークします。受信者が輻輳を経験しているとマークされた ECN パケットを受信すると、レシーバーは輻輳状態を送信者に戻します。その後、送信者は伝送速度を下げて輻輳を解消します。
ECN はデフォルトで無効になっています。ベストエフォート型トラフィックで ECN を有効にできます。輻輳通知にプライオリティベースのフロー制御(PFC)を使用するロスレストラフィックキューでECNを有効にし、ECNを厳密に高優先度のトラフィックキューで有効にしないでください。
出力キューで ECN を有効にするには、キュー スケジューラで ECN を有効にする必要があるだけでなく、以下も必要です。
WRED パケット ドロップ プロファイルを設定します。
WREDドロッププロファイルを含み、ECNを有効にするキュースケジューラを設定します。(この例では、ECN とドロップ プロファイルの設定のみを示しています。スケジューラで帯域幅、優先度、バッファー設定も設定できます)。
スケジューラ マップ内の転送クラス(出力キュー)にキュー スケジューラをマッピングします。
Junos OS 15.1以降、ETS(拡張送信選択)階層型スケジューリングがサポートされています。ETS(拡張送信選択)階層スケジューリングを使用している場合、転送クラスセット(優先グループ)に転送クラスを追加します。
ETS を使用している場合は、キュー スケジューラ マップをトラフィック制御プロファイル(階層スケジューリングの優先度グループ スケジューラ)に関連付けます。
ETSを使用している場合は、トラフィック制御プロファイルと転送クラスセットをインターフェイスに適用します。そのインターフェイスでは、出力キューは、トラフィック制御プロファイルにアタッチされたスケジューラ マップで指定されたとおりに、転送クラスにマッピングされたスケジューラを使用します。これにより、キューで ECN が有効になり、WRED ドロップ プロファイルがキューに適用されます。
ポートスケジューリングを使用している場合は、インターフェイスにスケジューラマップを適用します。そのインターフェイスでは、出力キューはスケジューラ マップの転送クラスにマッピングされたスケジューラを使用し、キューで ECN を有効にし、WRED ドロップ プロファイルをキューに適用します。
表 1 は、この例の設定コンポーネントを示しています。
コンポーネント |
設定 |
---|---|
ハードウェア |
QFX シリーズ スイッチ |
ドロッププロファイル(2つのフィルレベル/ドロップ確率ペア) |
名前: |
スケジューラ |
名前: |
スケジューラ マップ |
名前:
メモ:
デフォルトでは、 |
転送クラス セット(ETS のみ) |
名前: |
トラフィック制御プロファイル(ETS のみ) |
名前: スケジューラ マップ: |
インターフェイス(ETSのみ) |
名前: |
インターフェイス(ポートスケジューリングのみ) |
名前: |
ETS階層型スケジューリングをサポートするスイッチのみが、転送クラスセットとトラフィック制御プロファイル設定をサポートしています。直接ポート スケジューリングでは、階層型スケジューリング構造は使用されません。
QFX5100、EX4600、QFX3500、QFX3600 スイッチ、および QFabric システムでは、WRED ドロップ プロファイルは、ECN 対応でないトラフィック(非 ECT、ECN ビット コード 00 とマークされたパケット)のパケット ドロップ動作も制御します。
QFX10000 スイッチでは、キューで ECN が有効になっている場合、WRED ドロップ プロファイルは ECN しきい値のみを設定し、非 ECN パケットのパケット ドロップを制御しません。ECN 対応キューでは、QFX10000 スイッチは輻輳状態の間、ECN 以外のパケットでテールドロップ アルゴリズムを使用します。ECN を有効にしない場合、キューは WRED パケット ドロップ メカニズムを使用します。
構成
CLI クイックコンフィギュレーション
ドロッププロファイルを迅速に設定するには、ECNを有効にしてスケジューラを設定し、スケジューラをインターフェイス上の出力キューにマッピングするには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に合わせて変数と詳細を変更し、コマンドを 階層レベルの [edit]
CLIにコピーアンドペーストします。
ETS クイックコンフィギュレーション
[edit class-of-service] set drop-profile be-dp interpolate fill-level 30 fill-level 75 drop-probability 0 drop-probability 80 set schedulers be-sched explicit-congestion-notification set schedulers be-sched drop-profile-map loss-priority low protocol any drop-profile be-dp set schedulers be-sched transmit-rate percent 25 set schedulers be-sched buffer-size percent 25 set schedulers be-sched priority low set scheduler-maps be-map forwarding-class best-effort scheduler be-sched set forwarding-class-sets be-pg class best-effort set traffic-control-profiles be-tcp scheduler-map be-map set interfaces xe-0/0/20 forwarding-class-set be-pg output-traffic-control-profile be-tcp
ポート スケジューリング クイック設定(QFX10000 スイッチ)
[edit class-of-service] set drop-profile be-dp interpolate fill-level 30 fill-level 75 drop-probability 0 drop-probability 80 set schedulers be-sched explicit-congestion-notification set schedulers be-sched drop-profile-map loss-priority low protocol any drop-profile be-dp set schedulers be-sched transmit-rate percent 25 set schedulers be-sched buffer-size percent 25 set schedulers be-sched priority low set scheduler-maps be-map forwarding-class best-effort scheduler be-sched set interfaces xe-0/0/20 scheduler-map be-map
ECN の設定
手順
ECN を設定するには:
WRED パケット ドロップ プロファイルを設定します
be-dp
。この例では、パーセントのドロップ開始点、パーセントの30
低下エンドポイント、パーセントの75
最小低下率、およびパーセントの0
80
最大低下率を使用しています。[edit class-of-service] user@switch# set drop-profile be-dp interpolate fill-level 30 fill-level 75 drop-probability 0 drop-probability 80
ECNを有効にしたスケジューラ
be-sched
を作成し、ドロッププロファイルbe-dp
をスケジューラに関連付けます。[edit class-of-service] user@switch# set schedulers be-sched explicit-congestion-notification user@switch# set schedulers be-sched drop-profile-map loss-priority low protocol any drop-profile be-dp user@switch# set be-sched transmit-rate percent 25 user be-sched transmit-rate percent 25 user@switch# set be-sched buffer-size percent 25 user@switch# set be-sched buffer-size percent 25 user@switch# set be-sched priority low
スケジューラマップを使用して
best-effort
、スケジューラbe-sched
を転送クラス(出力キュー0)にマッピングbe-map
します。[edit class-of-service] user@switch# set scheduler-maps be-map forwarding-class best-effort scheduler be-sched
ETS を使用している場合は、転送クラス セット
be-pg
に転送クラスbest-effort
を追加します。直接ポート スケジューリングを使用している場合は、このステップをスキップします。[edit class-of-service] user@switch# set forwarding-class-sets be-pg class best-effort
ETS を使用している場合は、スケジューラ マップ
be-map
をトラフィック制御プロファイルbe-tcp
に関連付けます。直接ポート スケジューリングを使用している場合は、このステップをスキップします。[edit class-of-service] user@switch# set traffic-control-profiles be-tcp scheduler-map be-map
ETSを使用している場合、トラフィック制御プロファイル
be-tcp
と転送クラスセットbe-pg
を、ベストエフォートキューでECNを有効にしたいインターフェイスに関連付けます。[edit class-of-service] user@switch# set interfaces xe-0/0/20 forwarding-class-set be-pg output-traffic-control-profile be-tcp
直接ポートスケジューリングを使用している場合、スケジューラマップ
be-map
をベストエフォートキューでECNを有効にしたいインターフェイスに関連付けます。[edit class-of-service] user@switch# set interfaces xe-0/0/20 scheduler-map be-map
検証
ECN が有効になっていることを確認します。
目的
スケジューラ マップの設定を表示して、スケジューラ be-sched
で ECN が有効になっていることを確認します be-map
。
アクション
動作モード コマンドを使用して、スケジューラ マップ設定を表示します show class-of-service scheduler-map be-map
。
user@switch> show class-of-service scheduler-map be-map
Scheduler map: be-map, Index: 12240
Scheduler:be-sched, Forwarding class: best-effort, Index: 115
Transmit rate: 25 percent, Rate Limit: none, Buffer size: 25 percent,
Buffer Limit: none, Priority: low
Excess Priority: unspecified, Explicit Congestion Notification: enable
Drop profiles:
Loss priority Protocol Index Name
Low any 3312 be-dp
Medium-high any 1 <default-drop-profile>
High any 1 <default-drop-profile>
意味
運用コマンドは show class-of-service scheduler-map
、スケジューラ マップに関連付けられたスケジューラの設定と、そのスケジューラにマッピングされた転送クラスを表示します。出力は、以下を示しています。
スケジューラ マップに関連付けられたスケジューラは、 です
be-sched
。スケジューラ マップは転送クラス
best-effort
(出力キュー 0)に適用されます。スケジューラ
be-sched
ーの送信レート25
はパーセント、キュー・バッファー・サイズは25
パーセント、ドロップ優先度low
は .明示的な輻輳通知の状態は.
enable
低ドロップ優先度トラフィックに使用される WRED ドロップ プロファイルは です
be-dp
。