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

WRED 明示的輻輳通知

この章の内容は、次のとおりです。

WRED 明示的輻輳通知

WRED 明示的輻輳通知に関する情報

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

現在、Transmission Control Protocol(TCP)の輻輳管理と回避アルゴリズムは、ベストエフォート型サービス モデルを使用してデータを送信するネットワークの輻輳を適切に示すのはパケット損失であるという概念に基づいています。 ネットワークがベストエフォート型サービス モデルを使用する場合、ネットワークは信頼性、遅延限界、スループットを保証せずに、可能であればデータを配信します。 ただし、これらのアルゴリズムとベストエフォート型サービス モデルは、遅延やパケット損失の影響を受ける用途には適していません(例:Telnet、Web ブラウジング、音声およびビデオ データなどの双方向トラフィック転送)。 Weighted Random Early Detection(WRED)および明示的輻輳通知(ECN)は、この問題の解決に役立ちます。

RFC 3168「IP への明示的輻輳通知(ECN)の追加(The Addition of Explicit Congestion Notification (ECN) to IP)」は、インターネット インフラにアクティブ キュー管理(例:WRED)を追加すると、ルータは輻輳の兆候としてパケット損失に限定されなくなることを示しています。

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

  • 明示的輻輳通知(ECN)パラメータは、システム レベルでのみ設定できます。

  • Weighted Random Early Detection(WRED)は、Quality of Service(QoS)グループ上で単独で設定することはできません。 ECN はデフォルトでイネーブルになっています。

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

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

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

WRED の仕組み

WRED は、輻輳の早期検出を可能にし、複数のトラフィック クラスを処理する手段を提供します。 WRED では、ルータで輻輳が発生し始めると、よりプライオリティが低いトラフィックを選択的に廃棄し、異なるサービス クラスに対して差別化したパフォーマンス特性を提供できます。 また、グローバル同期に対して保護されます。 グローバル同期は輻輳の波が頂点に達すると発生し、その後は転送リンクが容量いっぱいまで使用されない時間が続きます。 そのため、WRED は輻輳の発生が予測される出力インターフェイスやルータで役立ちます。

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

WRED の詳細情報については、『Congestion Avoidance Overview(輻輳回避の概要)』モジュールを参照してください。

ECN による WRED 機能の拡張

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

RFC 3168『The Addition of Explicit Congestion Notification (ECN) to IP』に記述されているように、ECN を実装するには、ECN 専用フィールドで ECN 対応転送(ECT)ビットと CE(Congestion Experienced)ビットの 2 つのビットが IP ヘッダに含まれている必要があります。 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 をイネーブルにして、プロキシ キュー送信速度を指定します。

はじめる前に

デバイスの Weighted Random Early Detection(WRED)の明示的輻輳通知(ECN)を設定する前に、Quality of Service(QoS)グループを設定する必要があります。 さらに、次の制限事項が適用されます。

  • 明示的輻輳通知(ECN)パラメータは、システム レベルでのみ設定できます。

  • Weighted Random Early Detection(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 明示的輻輳通知の設定例

    次に、Weighted Random Early Detection(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