Weighted Fair Queuing(WFQ; 均等化キューイング)の実装目的は、(シリアル リンクなどの)低速リンクが、各タイプのトラフィックを公平に扱えるようにすることでした。この作業を行うため、WFQ は、関連するレイヤ 3 およびレイヤ 4 の情報(IP アドレス、TCP のポートなど)に基づいて、トラフィックを異なるフローに分類します。 この機能のために、ユーザが access-list を定義する必要はありません。WFQ を用いると、低帯域幅トラフィックは高帯域幅トラフィックよりも実際に優先順位が高くなります。高帯域幅トラフィックは、割り当てられた重みに比例して、伝送メディアを共有します。
WFQには次の制限があります。
トラフィック フローが大幅に増加した場合、WFQ はスケーラブルでないため適応できません。
WFQは、ATMなどの高速インターフェイスでは使用できません。
新機能である Class-Based Weighted Fair Queuing(CBWFQ; クラスベース均等化キューイング)は、WFQ の制限に対処するために開発されました。WFQとは異なり、CBWFQではトラフィッククラスを定義できます。クラスを定義したら、パラメータを適用できます。これらのパラメータには、帯域幅とキュー制限が含まれます。
CBWFQを使用する場合、クラスに指定された重みは、クラス基準に一致する各パケットの重みになります。この重みは、クラスに割り当てられた帯域幅から求められます。その後、WFQはフロー自体に適用されるのではなく、これらのクラスに適用されます。クラスには複数のフローを含めることができます。
7200、3600、および2600ルータでのVC単位のCBWFQの可用性の要約を次に示します。
7200:PA-A3を使用したCisco IOS®バージョン12.0(5)T、12.0(5)XE、12.1(1)、12.1(1)T、12.1(1)E以降
7200(NSE):Cisco IOSバージョン12.1(7)E以降
7200 with NSE-1 Services Accelerator:Cisco IOSバージョン12.2(4)B1
NM-1A-T3/E3モジュールを搭載した2600/3600では、Cisco IOSバージョン12.1(5)T以降でLLQ/CBWFQがサポートされています。
2600/3600(DS3/E3ネットワークモジュール搭載):Cisco IOSバージョン12.1(2)T.
注:CBWFQはCEFでスイッチングされたパケットのみを監視するため、Cisco Express Forwarding(CEF)スイッチング機能を使用する必要があります。
このドキュメントに特有の要件はありません。
このドキュメントの情報は、次のハードウェアのバージョンに基づくものです。
Cisco 7200、3600、および 2600 シリーズ ルータ
ドキュメントの表記法の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
このセクションでは、このドキュメントで説明する機能を設定するために必要な情報を提供しています。
注:この文書で使用されているコマンドの詳細を調べるには、「Command Lookup ツール」を使用してください(登録ユーザのみ)。
このドキュメントでは、次のネットワーク セットアップを使用します。
1/130は、7200とルータAの間のPVCの両端で割り当てられたVPI/VCI値です。
トラフィック ジェネレータは、ファースト イーサネット 3/0 のインターフェイスに接続されています。
7200はCisco IOSバージョン12.0(5)Tを実行しています。
ルータAは、テスト用のシンクデバイスとして使用されます。
設定は7200で実行されますが、2600/3600では同様です。
CBWFQを実装するために必要な7200の設定を次に示します。
7200 |
---|
class-map ixia match input-interface FastEthernet3/0 class-map loopbacks match access-group 102 ! policy-map mypol class ixia bandwidth 40000 queue-limit 40 class loopbacks bandwidth 10000 class class-default fair-queue ! interface ATM2/0.130 point-to-point ip address 14.0.0.2 255.0.0.0 no ip directed-broadcast pvc 1/130 service-policy output mypol vbr-nrt 100000 75000 broadcast encapsulation aal5mux ip ! access-list 102 permit ip host 10.0.0.1 host 11.0.0.1 |
設定に関するコメントを次に示します。
クラスマップは、トラフィックを分類し、重みを割り当てます。分類パラメータとクラス マップは、同じ場所で定義します。この場合、1つのクラスがファストイーサネット3/0のすべての着信トラフィック(トラフィックジェネレータからのトラフィック)に適用されます。 もう1つのクラスは、ループバック(7200とルータAで定義)間のトラフィックに関連しています。
分類パラメータを定義した後、ポリシーマップを使用して、これらの分類されたフローにトラフィックパラメータを適用できます。この場合、トラフィックジェネレータからのフローには、40 Mbpsの帯域幅と40パケットのキュー項目数が「割り当て」されます。ループバック間のトラフィックには、10 Mbpsの帯域幅が割り当てられます。
キューの深さは、ドロップが発生する前に特定のクラスに保存できるパケットの数です。デフォルト値は64(最大キュー項目数も64)です。
各クラスにトラフィックパラメータを定義した後、CBWFQは次のコマンドを使用してVC単位で適用されます。service-policy [input|output] policy-map-name。
定義されたクラスマップの1つに一致しないトラフィックには、ポリシーマップで定義されたデフォルトクラスマップ(クラスデフォルト)が割り当てられます。分類されていないすべてのトラフィックは、このデフォルトクラスで定義されたパラメータに適用されます。この場合、通常の均等化キューイングが設定されます。
この設定例では、VCにCBWFQが適用されますが、PVCバンドルでも使用できます。また、CBWFQは、廃棄メカニズム(キュー制限に達した場合)として、重み付けランダム早期廃棄(WRED)と関連付けることができます。
重要:
このセクションの設定作業を実行する前に、まずVC上のトラフィックを区別するために使用されるクラスを作成し、次にそれらを含めるポリシーマップを定義する必要があります。ルータで定義されているクラスの最大数(最大64)に対してクラスポリシーを設定できます。ただし、割り当てられたVC帯域幅の総量(ポリシーマップに含まれるすべてのクラスの合計)は、VCの使用可能な帯域幅の75 %を超えることはできません。
CBWFQは最小帯域幅保証を提供するため、UBRおよびUBR+以外のサービスクラスを持つVCにのみCBWFQを適用できます。
VC単位のWFQおよびCBWFQをUBRおよびUBR+ VCに適用することはできません。これらのサービスクラスはどちらも最小帯域幅を保証しないベストエフォートクラスであるためです。VCに対してCBWFQを有効にすると、サービスポリシーの一部として設定されたすべてのクラスが均等化キューイングシステムにインストールされます。
サービスポリシーをATM VCに適用し、ポリシーにParallel Express Forwarding(PXF)対応ではない機能が含まれている場合、パケットは次に低いスイッチングパスにパントされます。show pxf acc summコマンドを実行し、「出力機能」によるパントの増分値を探します。
router#show pxf acc sum Pkts Dropped RP Processed Ignored Total 242 328395045 0 10 second averages: PXF complex busy: 28% PXF read pipeline full: 0% PXF Statistic: Packets RP -> PXF: switch ip: 0 switch raw: 556612940 qos fastsend: 0 qos enqueue: 0 Total: 556612940 Packets PXF -> RP: qos pkts: 0 fast pkts: 228217649 drops: total 242 " no route : 242 punts: total 328395045 " not IP : 597 " IP options : 676 " CEF no adjacency : 186770 " CEF receive : 265306 " output feature : 327916956
Cisco IOSバージョン12.1(5)E、12.1(5)T以降が稼働するCisco 7200ルータでは、マップクラスをグループ化してより複雑なクラスマップを作成できます。さらに、論理演算をクラスマップパラメータに関連付けて(トラフィックがクラスに一致するかどうかを判断するために)、
この概念を明確にするために、次のクラスマップを見てみましょう。
高度なCBWFQ設定 |
---|
class-map match-all ixia description traffic from Ixia match input-interface FastEthernet1/0 class-map match-all ftp1 description ftp traffic initiated by the traffic generator match class-map ixia match class-map ftp2 class-map match-all ftp2 match access-group 103 class-map match-any test match access-group 102 match input-interface Ethernet0/0 ! access-list 103 permit tcp any any eq ftp ! access-list 102 permit ip host 10.1.1.1 any |
match-all と match-any の違いは次のようになります。
match-all:関連付けられた条件がすべて確認されると、フローがクラスマップに関連付けられます。
match-anyは次のことを意味します。関連付けられた条件のいずれかが確認されると、フローはクラスマップに関連付けられます(必ずしもすべての条件とは限りません)。
ここでは、クラスマップに、他の設定済みクラスマップに対するテストを含めることができることを確認できます。この場合、クラスマップixiaおよびクラスマップftp2で定義されているすべての条件と一致するフローがftp1に関連付けられます。
ここでは、設定が正しく機能していることを確認するために使用する情報を示します。
一部の show コマンドはアウトプット インタープリタ ツールによってサポートされています(登録ユーザ専用)。このツールを使用することによって、show コマンド出力の分析結果を表示できます。
show policy-map interface atm x/y[.z]:このコマンドを使用すると、ドロップなどのキューごとの統計情報を表示できます。これは、シスコのモジュラQuality of Service(QoS)コマンドラインインターフェイス(CLI)(MQC)で作成されたサービスポリシーの結果を監視するのに役立ちます。 このコマンドの出力の解釈方法についての詳細は、『show policy-map interfaceの出力におけるパケットカウンタについて』を参照してください。
7200#show policy-map interface atm 2/0.130 ATM2/0.130: VC 1/130 - output : mypol Weighted Fair Queueing Class ixia Output Queue: Conversation 264 Bandwidth 40000 (kbps) Packets Matched 0 Max Threshold 40(packets) (discards/tail drops) 0/0 Class loopbacks Output Queue: Conversation 265 Bandwidth 10000 (kbps) Packets Matched 0 Max Threshold 64(packets) (discards/tail drops) 0/0 Class class-default Output Queue: Conversation 266 Bandwidth 0 (kbps) Packets Matched 0 Max Threshold 64 (packets) (discards/tail drops) 0/0
注:2つのタイプのドロップについては、次の説明を参照してください。
Discards:このキューからの合計廃棄
テールドロップ:このキューからのドロップは、別のキューに「より低い」WFQシーケンス番号を持つ着信パケットがあり、WFQシステムが最大キュー制限数に達した場合にのみ発生します。
show policy-map interface atm x/y[.z] vc [vcd | vpi/vci]:このコマンドは、特定のVCをより細かく設定します。
7200#show policy-map interface atm 2/0.130 vc 1/130 ATM2/0.130: VC 1/130 - output : mypol Weighted Fair Queueing Class ixia Output Queue: Conversation 264 Bandwidth 40000 (kbps) Packets Matched 0 Max Threshold 40(packets) (discards/tail drops) 0/0 Class loopbacks Output Queue: Conversation 265 Bandwidth 10000 (kbps) Packets Matched 0 Max Threshold 64(packets) (discards/tail drops) 0/0 Class class-default Output Queue: Conversation 266 Bandwidth 0 (kbps) Packets Matched 0 Max Threshold 64 (packets) (discards/tail drops) 0/0
また、show class-mapやshow policy-map classなどの他のコマンドを使用して、マップクラスに関する詳細情報を取得することもできます。
現在、この設定に関する特定のトラブルシューティング情報はありません。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
12-Dec-2005 |
初版 |