CQ ( Custom Queuing )



 CQ ( Custom Queing ) とは

 このキューイングは、どのキューにも公平にラウンドロビンでパケット転送の権利が与えられる方式です。
 各キューでは、ルータで設定されたバイト数に基づいてパケットを出力インターフェースに転送できます。
 プライオリティキューイングの場合、インターフェースあたりに4個のキューですが、カスタムキューイング
 の場合、16個のキューを定義できます。その16個のキューは @ 〜 O までの番号が付けられます。
 といっても16個全て使用するのでなく、緻密な設計により作成するキューは最小限にすることが大切です。
 ※ 基本的にCQが単独で使用されることは先ずありません。CBWFQ に CQ の要素がありそのための理解と思い学習しましょう。

 


 パケットの分類方法

 カスタムキューイングで、どのパケットをどのキュー番号にマッピングするのかは以下の基準で分類します。

 ・ TCP/UDP のポート番号
 ・ パケットがIPフラグメントされたものかどうか
 ・ 非IPトラフィック ( SNA, IPX, AppleTalk )
 ・ パケットを受信したインターフェース
 ・ 標準、拡張 ACL により記述可能な任意の情報
 ・ バイト単位のパケットサイズ
 ・ 上記で定義されていないデフォルトのパケットは、デフォルトと定義されたキューへ



 カスタム・キューイングのルール

 カスタム・キューイングでは、ルータは各キューを1つずつ順番にサイクルし、各キューに定義された
 バイトカウント
値を出力インターフェースに転送します。一周したら最初のキューに戻りまたサイクル。
 例えば、キューを3つ @ A B とつくるとします。キュー @ のバイトカウント値を 1000byte と設定して
 キュー A を 3000byte、キュー B を 2000byte と定義するします。
 その場合、キュー @で1000byteを出力インターフェースに完全に転送した後に次のキューに移ります。
 同様に次はAで3000byte、Bで2000byteを完全に転送して一周となります。次にまた@へと続きます。


 カスタムキューへのパケットの割り当て

 パケットをどのカスタムキューへ格納させるかは、以下の3種類のコマンドで定義することができます。

 - プロトコルタイプに基づいた分類 ( ACLによる分類も含む ) -
 Cisco(config)# queue-list number protocol namequeue-number queue-keyword queue-value


 - 入力インターフェースに基づいた分類 -

 Cisco(config)# queue-list number interfacetype queue-number


 - デフォルトキューの定義 -

 Cisco(config)# queue-list number default queue-number


 カスタムキューイングではパケットが合致するまで queue-list は読まれていきますが、どのpriority-listにも合致しない場合、
 パケットはデフォルトキューに格納されます。デフォルトキューの定義がない場合、ルータはキュー1をそれとして使用します。
 例えば queue-list 10 default 2 と設定すると、Custom-queue-list の10においてデフォルトキューに queue2 を使用します。



 カスタムキューの最大サイズ

 CQでのデフォルトでは、各キューに格納できる(キューイングできる)最大パケット数は全てのキューで20です。
 上記のキューごとにキューイングできる最大パケット数の値を変更するためには以下のコマンドで変更します。

 - キューイングできる最大パケット数の定義 -

 Cisco(config)# queue-list number queue queue-number limit limit-number


 CQのサイクルで各キューが転送できる最大バイト数を定義するためには、以下のコマンドで定義します。
 バイトカウントの値は小さすぎても大きすぎてもダメで、実際に使用されるアプリの平均パケットサイズなどを
 スニファーで調査した上でできる限り厳密に定義する必要があります。CQ は色々な意味で定義が大変です。

 - 各キューのバイトカウントの定義 -

 Cisco(config)# queue-list number queue queue-number byte-count byte-count-number



 インターフェースへの適用

 CQのインターフェースの適用コマンドは以下となります。I/F適用する際に IN や OUT などのキーワードが
 ありませんが、出力インターフェースに対して output キューに対するキューイング実装方式であることから
 OUTでの適用であることを意味します。そもそもキューイングとは一般的に [ output queue ] に対するもの。


 Cisco(config)# interface type

 Cisco(config-if)# custom-queue-list number



 CQの設定例

 下図ではPC Aからのtelnetパケットをcustom queue 1に格納させて、PC G( 192.168.0.1 )からPC B
 ( 10.1.1.0/25 )へすべてのIPトラフィックを custom queue 2 に格納させて、CQのデフォルトキューを
 custom queue3に定義して、WWWトラフィックはcutosm queue 4に格納しています。またキュー3では
 キューイングできる最大パケット数を20から30に変更しています。各キューのバイトカウントは下図の
 通り定義して、最後に Custom-queue-list の「2」を Serial0/0 のインターフェースに適用しています。


 Cisco(config)# access-list 101 permit ip host 192.168.0.110.1.1.0 0.0.0.127

 Cisco(config)# queue-list 2 protocol ip 1 tcp 23
 Cisco(config)# queue-list 2 protocol ip 2 list 101
 Cisco(config)# queue-list 2 default 3
 Cisco(config)# queue-list 2 protocol ip 4 tcp 80

 Cisco(config)# queue-list 2 queue 3 limit 30

 Cisco(config)# queue-list 2 queue 1 byte-count 1000
 Cisco(config)# queue-list 2 queue 2 byte-count 3000
 Cisco(config)# queue-list 2 queue 3 byte-count 2000
 Cisco(config)# queue-list 2 queue 4 byte-count 1000

 Cisco(config)# interface serial 0/0
 Cisco(config-if)# custom-queue-lsit 2



  

  ※ CQのステータスは、show queue , show queue customコマンドにより確認することができます。Custom Queueing

 

 Resource : QoS 書籍一覧  Cisco QoS書籍一覧  Cisco QoS Command Guide 12.4  Cisco QoS Configuration Guide 12.4 



ネットワークエンジニアとして

Copyright(C) 2002-2008 Cool. All Rights Reserved