Cisco Nexus 5600 シリーズ NX-OS Quality of Service コンフィギュレーション ガイド リリース 7.x
WRED 明示的輻輳通知機能の概要
WRED 明示的輻輳通知機能の概要

WRED 明示的輻輳通知機能の概要

現在、伝送制御プロトコル(TCP)の輻輳制御および回避アルゴリズムは、パケット損失が、ベストエフォート型サービス モデルを使用してデータを伝送するネットワーク上の輻輳の適切な表示であるという概念に基づいています。 ベストエフォート型サービス モデルが使用されているネットワークでは、信頼性、遅延限界、またはスループットを保証しなくても提供可能なデータが配信されます。 ただし、これらのアルゴリズムとベストエフォート型サービス モデルは、遅延やパケット損失の影響を受けやすいアプリケーション(たとえば、Telnet、Web ブラウジング、音声データやビデオ データの転送などのインタラクティブ トラフィック)には適しません。 重み付けランダム早期検出(WRED)とその拡張である明示的輻輳通知(ECN)がこの問題の解決に役立ちます。

RFC 3168 の『The Addition of Explicit Congestion Notification (ECN) to IP』では、インターネット インフラストラクチャにアクティブ キュー管理(WRED など)を追加することによって、ルータは輻輳の表示としてのパケット損失に制限されなくなると規定されています。

WRED 明示的輻輳通知

WRED 明示的輻輳通知について

WRED 明示的輻輳通知の注意事項と制約事項

  • 明示的輻輳通知(ECN)パラメータはシステム レベルでしか設定できません。

  • 重み付けランダム早期検出(WRED)は、Quality of Service(QoS)グループ単独では設定できません。 ECN はデフォルトで有効になっています。

  • インターフェイスが存在しない場合でも、10 G インターフェイスと 40 G インターフェイスの WRED しきい値を設定する必要があります。

  • WRED ECN はマルチキャストまたはブロードキャスト トラフィックに適用できません。

  • WRED ECN は Nexus 5000 シリーズ スイッチでサポートされません。

WRED の仕組み

WRED は、輻輳の可能性を早期に検出して、複数のトラフィック クラスの処理手段を可能にします。 WRED は、ルータで輻輳が発生し始めると、優先度の低いトラフィックを選択的に破棄することによって、サービス クラスごとに異なるパフォーマンス特性を提供できます。 また、グローバル同期に対して保護されます。 グローバル同期は、輻輳ピークの波として発生し、その後に伝送リンクが最大容量まで使用されない期間が続きます。 したがって、WRED は輻輳の発生が予想される出力インターフェイスやルータに有効です。

WRED はネットワークのコア ルータに実装されます。 エッジ ルータが、ネットワークに進入してきたパケットに IP Precedence を割り当てます。 WRED では、コア ルータはこれらの優先順位を使用して、異なる種類のトラフィックの処理方法を決定します。 WRED は IP Precedence ごとに異なるしきい値と重み付けを提供します。これにより、ネットワークで、トラフィックの種類ごとに異なるサービス品質(パケット ドロップに関する)を実現できます。 標準的なトラフィックは、輻輳期間中には、優先度の高いトラフィックよりも頻繁にドロップされる可能性があります。

WRED の詳細については、「輻輳回避の概要」モジュールを参照してください。

ECN による WRED 機能の拡張

WRED は、輻輳を示す、特定のしきい値を超える平均キュー長に基づいてパケットをドロップします。 ECN は WRED の拡張で、平均キュー長が特定のしきい値を超えた場合に ECN がパケットをドロップせずにマーキングします。 WRED 明示的輻輳通知機能を設定すると、ルータとエンド ホストがこのマーキングをネットワークが輻輳してパケットの送信速度が低下する兆候として使用します。

RFC 3168 の『The Addition of Explicit Congestion Notification (ECN) to IP』で規定されているように、ECN を実装するには、IP ヘッダー内に 2 つのビット(ECN-capable Transport(ECT)ビットと Congestion Experienced(CE)ビット)からなる ECN 固有のフィールドが必要です。 ECT ビットと CE ビットを使用して、00 から 11 の 4 つの ECN フィールドの組み合わせを作成できます。 最初の数字は ECT ビットで、2 番目の数字は CE ビットです。 次の表に、ECN フィールド内の ECT ビットと CE ビットの組み合わせのそれぞれと、その組み合わせの意味を示します。

表 1 ECN ビットの設定

ECT ビット

CE ビット

組み合わせが示す内容

0

0

ECN 非対応

0

1

トランスポート プロトコルのエンドポイントは ECN 対応です。

1

0

トランスポート プロトコルのエンドポイントは ECN 対応です。

1

1

Congestion Experienced

ECN のフィールドの組み合わせ 00 は、パケットが ECN を使用していないことを示します。

ECN フィールドの組み合わせの 01 と 10(それぞれ ECT(1)と ECT(0)と呼ばれる)は、データの送信側によって設定され、トランスポート プロトコルのエンドポイントが ECN 対応であることを示します。 ルータは、これらの 2 つのフィールドの組み合わせを同様に取り扱います。 データの送信元は、これらの 2 つの組み合わせの 1 つまたは両方を使用できます。 これらの 2 つのフィールドの組み合わせ、および組み合わせて使用する意味の詳細については、RFC 3168、『The Addition of Explicit Congestion Notification (ECN) to IP』を参照してください。

ECN フィールドの組み合わせ 11 は、エンド ポイントに対する輻輳を示します。 ルータの満杯のキューに到着するパケットはドロップされます。

ECN がイネーブルの場合のパケットの処理方法

  • キュー内のパケット数が最小しきい値未満の場合、パケットが送信されます。 これは ECN がイネーブルになっているかどうかに関係なく実行されます。この処理は、ネットワーク上で WRED だけが使用されている場合、パケットが受けるのと同一の処理です。

  • キュー内のパケット数が最小しきい値と最大しきい値の間の場合は、次の 3 つのシナリオのいずれかが発生します。
    • パケットの ECN のフィールドにエンドポイントが ECN 対応であることが示されている(つまり、ECT ビットが 1 および CE ビットが 0 に設定されているか、または ECT ビットが 0 および CE ビットが 1 に設定されている)場合、および WRED アルゴリズムによってパケットがドロップ確率に基づいてドロップされると判断される場合には、パケットの ECT ビットと CE ビットが 1 に変更され、パケットが送信されます。 これは、ECN がイネーブルであり、パケットがドロップされる代わりにマークされているために発生します。
    • パケットの ECN のフィールドによって、どちらのエンドポイントも ECN 対応ではないことが示されている(つまり、ECT ビットが 0 設定され、CE ビットが 0 に設定されている)場合、パケットは、WRED 廃棄確率に基づいてドロップされる可能性があります。 これは、ルータ上で ECN を設定せずに WRED が有効化されている場合に、パケットが受けるのと同一の処理です。
    • パケットの ECN のフィールドに、ネットワークで輻輳が発生していることが示されている(つまり、ECT ビットと CE ビットの両方が 1 に設定されている)場合、パケットが送信されます。 これ以上のマーキングは必要ありません。
  • キュー内のパケット数が最小しきい値を上回っている場合、パケットはドロップ確率に基づいてドロップされます。 これは、ルータ上で ECN を設定せずに WRED が有効化されている場合に、パケットが受けるのと同一の処理です。

プロキシ キュー ドレイン レート

プロキシ キューが輻輳を示すしきい値に到達すると、パケットの受信者が輻輳表示を送信者にエコーできるように、明示的輻輳通知(ECN)マーキングが実行されます。 送信者は、輻輳がパケット ドロップによって示された場合と同様に対応する必要があります。 プロキシ キュー ドレイン レートは、出力ポートでの輻輳時に特定量のパケットだけがドレインされることを保証するように設定します。 たとえば、10 ギガビット ポートでは、9900 Mbps のドレイン レートを設定することによって、すべてのパケットがドレインされることはないことを保証できます。

推奨されている ECN しきい値とプロキシ キュー ドレイン レート

次の表に、推奨されているプロキシ キュー ドレイン レートと、明示的輻輳通知(ECN)の最大しきい値と最小しきい値を示します。

パラメータ 10 ギガビット ポート 40 ギガビット ポート

ECN 最小しきい値

64000 バイト

4000 バイト

ECN 最大しきい値

128000 バイト

256000 バイト

プロキシ キュー ドレイン レート

9900 Mbps

39900 Mbps

WRED 明示的輻輳通知の設定方法

WRED 明示的輻輳通知の設定

WRED-ECN を設定するには、インターフェイスしきい値を指定して、ECN をイネーブルにし、プロキシ キュー ドレイン レートを指定します。

はじめる前に

デバイスの重み付けランダム早期検出(WRED)明示的輻輳通知(ECN)を設定する前に、Quality of Service(QoS)グループを設定する必要があります。 加えて、次の制限が適用されます。

  • 明示的輻輳通知(ECN)パラメータはシステム レベルでしか設定できません。

  • 重み付けランダム早期検出(WRED)は、Quality of Service(QoS)グループ単独では設定できません。 ECN はデフォルトで有効になっています。

  • インターフェイスが存在しない場合でも、10 G インターフェイスと 40 G インターフェイスの WRED しきい値を設定する必要があります。

手順
     コマンドまたはアクション目的
    ステップ 1switch# configure terminal  

    グローバル コンフィギュレーション モードを開始します。

     
    ステップ 2switch(config)# hardware random-detect min-thresh 10g 10g-min-threshold 40g 40g-min-threshold max-thresh 10g 10g-max-threshold 40g 40g-max-threshold ecn qos-group qos-group-number  

    10 ギガビット インターフェイスと 40 ギガビット インターフェイスの最小しきい値と最大しきい値を設定し、特定の QoS グループの ECN をイネーブルにします。

    10 G インターフェイスと 40 G インターフェイスのしきい値はともに、1 ~ 67108863 バイトの範囲にすることができます。

    QoS グループ番号は、設定する QoS グループを示しており、その範囲は 0(クラス デフォルト)~ 5 です。

     
    ステップ 3switch(config)# hardware pq-drain 10g 10g-drain-rate 40g 40g-drain-rate  

    10 ギガビット ポートと 40 ギガビット ポートのプロキシ キュー ドレイン レートを設定します。 出力ポートで輻輳が発生した場合は、ドレイン レート値がドレイン可能なパケットの最大数を示します。

    10 G インターフェイスのドレイン レートは 1 ~ 20000 Mbps の範囲にすることができます。 40 G インターフェイスのドレイン レートは 1 ~ 80000 Mbps の範囲にすることができます。

     

    WRED 明示的輻輳通知の例

    WRED 明示的輻輳通知の設定例

    次に、重み付けランダム早期検出(WRED)明示的輻輳通知(ECN)を設定する例を示します。

    switch# configuration terminal   
    switch(config)# hardware random-detect min-thresh 10g 64000 40g 4000 max-thresh 10g 128000 40g 256000 ecn qos-group 2
    switch(config)# hardware pq-drain 10g 9900 40g 39900
    switch(config)# exit
    switch(config)# copy running-config startup-config