|
PQ ( Priority Queing ) とは
このキューイングは、ルータで設定するパケットのプライオリティに基づいてキューから配送する方式です。
このキューイングでパケットのプライオリティは
@ high A medium B normal C low の4つに分類され、
出力インターフェースで輻輳が発生して、パケットがキューに入れられた時、プライオリティの高いパケット
プライオリティが低いパケットよりも先に転送されます。転送される順は
@ → A → B → C の順番です。
帯域幅が狭ければ狭いほど効果のあるキューイングで、1Mbps
以下なら効果的な QoS を発揮するでしょう。
パケットのプライオリティ付けの基準
このキューイングで、どのパケットをhigh,
medium, normal, lowに設定するのかは以下の基準で分類できます。
・ TCP/UDP のポート番号
・ パケットが IP フラグメントされたものかどうか
・ 非IPトラフィック ( SNA, IPX, AppleTalk
)
・ パケットを受信したインターフェース
・ 標準、拡張 ACL により記述可能な任意の情報
・ バイト単位のパケットサイズ
・ 上記で定義されていないデフォルトのパケット
( normalへ )
プライオリティ・キューイングのルール
輻輳を感知した出力インターフェースは、パケットを
output queue で一時的に保持されることになります。
プライオリティキューイングの場合、output
queue と一口にいっても、high のキュー、medium
のキュー、
normal のキュー、low のキューの4つのキューに分類され、保持されることになります。
プライオリティキューイングの場合、[ high
] のキューを完全に空にしてからでないと、次のプライオリティの
キュー、つまりmediumのキューのパケットを転送することは出来ません。同じように
normal のパケットは
mediumのキューのパケットを完全に空にしてからでないとダメです。そして最後にようやくlowの処理です。
このキューイングを採用した場合、highのキューのパケットが絶対優先となり帯域が保証されます。例えば
highキューのパケットを全て転送して、medium
のパケットの転送をはじめたとしても、その途中で
high の
パケットが入ってきたら、medium のパケットの転送はストップされます。従って、一般的に
high のキューに
格納するパケットは、遅延に敏感なアプリのものであり、帯域幅を占有しないものを格納するようにします。
- プロトコルタイプに基づいた分類 ( ACLによる分類を含む
) -
Cisco(config)# priority-list number protocol name [ high | medimu | normal | low ] queue-keyword keyword-value
|
- 入力インターフェースに基づいた分類 -
Cisco(config)# priority-list number interface type [ high | medimu | normal | low ]
|
- デフォルトキューの定義 -
Cisco(config)# priority-list number default [ high | medium | normal | low ]
|
プライオリティキューイングではパケットが合致するまで
priority-list が読まれていきますが、どのpriority-listにも合致しない
場合、パケットはデフォルトキューに格納されます。デフォルトの設定で、デフォルトキューとは
[ normal ] キューのこと指します。
例えば priority-list 1 default medium と設定すると、PQのリスト1でデフォルトキューが[
normal ] から [ medium ]に変更される。
プライオリティキューの最大サイズ
PQでのデフォルトでは、各キューに格納できる(キューイングできる)最大パケット数は以下の通りとなります。
| Priority Queue Argument |
Pakcet Limits |
| high-limit |
20 |
| medium-limit |
40 |
| normal-limit |
60 |
| low-limit |
80 |
上記のキューごとにキューイングできる最大パケット数の値を変更するためには以下のコマンドで変更します。
- 最大パケット数の定義 -
Cisco(config)# priority-list number queue-limit [ high-limit | medium-limit | normal-limit | low-limit ]
|
インターフェースへの適用
PQのインターフェースの適用コマンドは以下となります。I/F適用する際に
IN や OUT などのキーワードが
ありませんが、出力インターフェースに対して
output キューに対するキューイング実装方式であることから
OUTでの適用であることを意味します。そもそもキューイングとは一般的に
[ output queue ] に対するもの。
Cisco(config)# interface type
Cisco(config-if)# priority-group number
|
PQの設定例
下図ではPC Aからのtelnetパケットを「 high
」に格納させて最優先処理させて、PC G( 192.168.0.1
)
からPC B(10.1.1.0/25)の全ての全てのIPトラフィックを「normal」に格納させています。またデフォルト
キューを [ normal ] から [ medium ] に変更して、キューイングできる最大パケットサイズをhighを
10
medium を 40、normal を 60、low を 80に設定しています。最後に、これらをS0/0に適用しています。
Cisco(config)# access-list 101 permit ip
host 192.168.0.110.1.1.0 0.0.0.127
Cisco(config)# priority-list 1 protocol
ip high tcp 23
Cisco(config)# priority-list 1 protocol
ip normal list 101
Cisco(config)# priority-list 1 default
medium
Cisco(config)# priority-list 1 queue-limit
10 40 60 80
Cisco(config)# interface serial 0/0
Cisco(config-if)# priority-gruop 1
|

※ PQのステータスは、show queue , show
queue priority コマンドにより確認することができます。Priority Queueing
Resource : QoS 書籍一覧 Cisco QoS書籍一覧 Cisco QoS Command Guide 12.4 Cisco QoS Configuration Guide 12.4
|