重み付け均等化キューイングと重み付けランダム早期検出はどのように関連していますか?


10

QoSシステムのしくみを理解しようとしていますが、WFQとWREDがどのように相互作用するのか正確にはわかりません。

最初は、WFQはキューイングメカニズムであり、WREDは輻輳回避メカニズムであると思っていました。WFQはパケットをキューにスケジュールする必要があり、WREDはキューがいっぱいになったときにそれらをドロップします。たとえば、L3スイッチでQoSを設定する場合は、キューイングメカニズムと輻輳回避メカニズムをセットアップするので、理論的にはWFQとWRDを連携させることができます。たとえば、このドキュメントは、私が彼らがそのような方法で設定されることを示唆しているようです。他のいくつかのシスコのドキュメントでは、それらを個別に使用できると述べています。

それから私は彼らがどのように働いたかについてもっと学びたかった、そしてインターネットを捜し始めた。その結果、私はそれらが何であるか、そしてそれらがどのように機能するのかを知りません。

一部のサイト(少なくとも内容を理解している限り)では、パケットスケジューリングアルゴリズムと輻輳回避アルゴリズムは基本的に同じであると主張しています。たとえば、この Wikipediaの記事では、それらはすべて同じグループに配置されています。いくつかのランダムな記事で、WFQ XOR WREDを使用できると述べました。

では、私が聞きたかったのは、WFQとWREDの関連性です。どちらを使用するのか、両方を使用するのは可能ですか?


1
wfqとwredは、同じ英語の単語の使用を共有する以外は互いに関係がありません
Mike Pennington

1
「それから、彼らがどのように機能したかについてもっと知りたいと思って、インターネットの検索を始めました。その結果、私は今、彼らが何であるか、そして彼らがどのように機能するかわかりません。」これは、QoSを理解しようとする私の経験の99.98%を表しています。
南蛮ジム

回答:


10

重み付け均等化キューイング(WFQ)は、その名前がキューイングアルゴリズムを意味するためです。キューイングは、インターフェイスで輻輳が発生している場合に使用されます。これは通常、送信リング(TX-Ring)がいっぱいであることによって検出されます。これは、インターフェイスがパケットの送信でビジーであることを意味します。インターフェイスに輻輳がない限り、キューイングは行われません。場合によっては、TXリングのサイズを操作できます。小さなTXリングは、どのパケットが最初に送信されるかに関して、ソフトウェアキューにより多くの電力を提供しますが、あまり効果的ではありません。TXリングが大きすぎると、ソフトウェアキューがほとんど役に立たなくなり、重要なパケットのレイテンシとジッターが高くなります。

デフォルトのキューイングアルゴリズムは通常、先入れ先出し(FIFO)です。これは、パケットがインターフェイスの入力に到着した順序で正確に配信されることを意味します。一部のパケットを優先する必要があるため、これは通常望ましくありません。

顧客がインターネットサービスプロバイダー(ISP)からサブレートでサービスを購入することはごく一般的です。つまり、顧客は50メガビット/秒のサービスを購入しますが、物理インターフェースは100メガビット/秒で実行されています。この場合、輻輳はありませんが、ISPは顧客からのトラフィック量を制限します。これらの場合に人為的な輻輳を導入するには、シェーパーを適用できます。

これで輻輳が発生したので、キューイングアルゴリズムを適用できます。キューイングアルゴリズムは追加の帯域幅を提供しないことに注意してください。それらは、どのパケットが私たちにとってより重要であるかを決定させるだけです。WFQは、いくつかのパラメーターを取り、それに基づいて決定を行うアルゴリズムです。アルゴリズムは非常に複雑で、重み(IP Precedence)、パケットサイズ、スケジューリング時間をパラメーターとして使用します。ここにはINEからの非常に詳細な説明があります。WFQは、SSH、Telnet、音声などの小さなサイズのフローに十分な帯域幅を提供し、ファイル転送がすべての帯域幅を盗むわけではないため、キューイングをあまりいじりたくない場合に適しています。

加重ランダム早期検出(WRED)は、輻輳回避メカニズムです。WREDは優先順位の値に応じてキューのサイズを測定し、キューが最小しきい値と最大しきい値の間にあるときにパケットのドロップを開始します。構成により、Nパケットごとに1つがドロップされると決定されます。WREDは、TCP同期とTCP枯渇の防止に役立ちます。TCPがパケットを失うと、スロースタートになり、すべてのTCPセッションが同時にパケットを失うと、それらは同期され、次のようなグラフが提供されます。

TCP同期

WREDが設定されていない場合に見られるように、グラフはフルブラスト、サイレント、フルブラストと続きます。WREDは、より平均的な送信レートを提供します。UDPには確認応答メカニズムがなく、TCPのように実装されたスライディングウィンドウがあるため、UDPはパケットのドロップの影響を受けないことに注意することが重要です。したがって、WREDは、SNMP、DNS、または他のUDPベースのプロトコルを処理するクラスのようなUDPベースのクラスに実装しないでください。

WFQとWREDの両方を一緒に展開できます。


2
こんにちはダニエル、いい答えです。それはWFQ(WQFではない)であるべきではありませんか?また、WREDはUDPに対して有効ではないため、UDP VoiceなどのUDPベースのクラスでの使用は避けてください
Mike Pennington

マイクありがとう。なぜWFQを誤って入力したのかわからないので、編集しました。UDPについても簡単に説明しました。あなたは常に素晴らしい投稿を提供します。
Daniel Dib

8

まず第一に、あなたがインターネットで読んだすべてを信じないでください;-)

アルゴリズム(またはそれらの物理的な実装方法)が理論上のカテゴリに適切に適合しない場合があります。あなたがそれを何と呼ぶか​​はそれが何をするかを理解することより重要ではありません。

WFQ(またはその他のスケジューリングアルゴリズム)の要点は、さまざまなフロー間で制限されたリンク帯域幅を共有することです。WFQは、各フローに比例して帯域幅を割り当てようとします。CBWFQは、各「クラス」に対して同じことを行います。無制限のキューと無制限のメモリがある完璧な世界では、それで十分です。帯域幅を共有すれば、誰もが満足します。

ただし、デバイスには無制限のキューとメモリがないため、いくつかの「ショートカット」を作成する必要があります。キューのサイズには制限があるため、キューがいっぱいになり、テールドロップとトラフィックの同期が発生する危険があります。基本的に、キューがオーバーフローしている場合は、帯域幅を制御していません。

キューがオーバーフローしないように、ランダム早期検出を使用しています。このアルゴリズムは、キューがどれだけいっぱいか(深さ)に従ってランダムにキューからパケットをドロップします。キューがいっぱいになると、より多くのパケットがドロップされます。目標は、キューがオーバーフローしないようにして、スケジューリングアルゴリズムが機能するようにすることです。

その後、優秀なシスコエンジニアは、使用するキューの数を減らし(ハードウェアを簡略化)、キューの深さの異なるさまざまな種類のトラフィックをランダムにドロップできることに気づきました。WREDは、トラフィックのタイプに応じて、さまざまな深度でキューからトラフィックをドロップします。あなたは輻輳回避メカニズムをWRED呼ぶかもしれないが、トラフィックはトラフィックの種類によって異なるがドロップされる深さが、効果はさまざまな種類がキューに少ないスペースを得るため、少ない帯域幅のことです。したがって、スケジューリングアルゴリズムとしても機能します。あなたはpo-tay-toを言い、私はpo-tah-toeを言います。

もう1つの違い:FQとWFQは基本的にバイトをカウントするため、すべてのタイプのトラフィックで機能します。REDとWREDはTCPでのみ機能します。これらはTCPのフロー制御メカニズムに依存しているため、トラフィックを遅くし、キューがオーバーフローしないようにするためです。

(注:説明のために、優先キューとLLQは無視しています。それは別の答えです)。

マイクが言ったことにも同意します。


1
優れた回答と解説。
generalnetworkerror 2013

-1

次に、CBWFQとWREDの例を示します。

ポリシーマップOUT

クラス音声
優先パーセント20

クラスビデオ
帯域幅パーセント30

クラスP1
帯域幅パーセント10
ランダム検出dscpベースの
ランダム検出dscp af31 26 40 10

クラスP2
帯域幅パーセント15
ランダム検出dscpベースの
ランダム検出dscp af21 24 40 10

クラスclass-default
フェアキュー
ランダム検出dscpベース


悲しいことに、この例は彼の質問に答えません。方法が同じでない場合
マイクペニントン

見方をすれば、これは、ターボチャージャーとギア比がどのように関連しているかをレースカーの運転手に尋ね、彼に一言も言わずに競馬場を運転してもらうようなものです。インタラクション(および/またはその欠如)をすでに理解している場合は問題ありませんが、その場合は質問しません。
南蛮ジム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.