◆ 出力緊急キューの設定
出力キューの緊急キューはデフォルトで有効になっていません。このキューを有効にすると、このキューが
完全に空になるまで処理してから他のキューを処理するようになります。入力キューのプライオリティキュー
とは異なり帯域指定(0〜40)の設定がなく、全ての帯域幅を利用して出力ポートでパケット転送を行えます。
◆ 出力緊急キュー(プライオリティキュー)の有効化
(config)# interface interface-id(物理ポートを指定)
(config-if)# priority-queue out
緊急キューになることができるのは「キュー1」だけです。キュー1が緊急キューになった場合、srr-queue
bandwidth share や srr-queue shape の weight1 の値が無視されます。(比率計算の対象外となります)
◆ 出力インターフェースの帯域幅の制限(任意の設定)
出力ポートの帯域幅は制限することができます。デフォルトでは、出力ポートのレートは制限されずに、
100%の状態です。これを物理ポートのレートに対して、10% 〜 90%の間で指定することができます。
◆ 出力インターフェースの帯域幅の制限
(config)# interface interface-id(物理ポートを指定)
(config-if)# srr-queue bandwidth limit weight1
例えば、以下のように設定することで、Gi1/0/1では使用できる帯域幅は、物理ポートの80%(800Mbps)
になります。ただし、ハードウェアはラインレートを6%単位で調整しているため、80%と指定した場合でも
正確に800Mbpsに制限されるわけではなく「800Mbps前後にレートが制限」されるレベルの制限となります。
◆ Gi1/0/1の出力インターフェースの帯域幅が800Mbps前後に制限される設定
(config)# interface GigabitEthernet1/0/1
(config-if)# srr-queue bandwidth limit 80
◆ 出力キューとWTDしきい値へのDSCP or CoS値のマッピング(任意の設定)
出力キューは4つ(機種に依存)です。優先するトラフィックとそうでないトラフィックを分類するためには
優先キュー( queue 1 )にマッピングされるDSCP or CoS値が、優先するトラフィックのDSCP or CoS値で
ある必要があります。ただしデフォルト設定で最適化されているので、基本的に設定変更は必要ありません。
※ DSCP値(40〜46)CoS値(5)以外の値を優先キュー(queue 1)にマッピングしたい場合に変更します。
次に、キュー(queue 1 or 2 or 3 or 4)に対してWTDのスレッシュホールド(1 or 2 or 3)を定義します。
デフォルトでは、すべてのqueueにWTDのスレッシュホールドは「1」が割り当てられています。スレッシュ
ホールドの1、2、3はデフォルトでキューフルステート(廃棄しきい値100%)です。3 は設定変更不可能です。
◆ DSCP値を出力キューとしきい値IDにマッピング
(config)# mls qos srr-queue output dscp-map queue queue-id threshold threshold-id dscp1..dscp8
または ◆ CoS値を出力キューとしきい値IDにマッピング
(config)# mls qos srr-queue output dscp-map queue queue-id threshold threshold-id cos1..cos8
以下の設定例は、DSCP値34を「 出力キュー1 としきい値 1 」にマッピングするコンフィグ設定です。
Catalyst(config)# mls qos srr-queue output dscp-map queue 1 threshold 1 34 |
◆ 出力キューセットに対するバッファスペースの割当 & WTDしきい値の設定(任意の設定)
キューセットにバッファを割り当てるための設定は以下です。デフォルトでは、全ての割り当て値は4つの
キューに均等(25、25、25、25)にマッピングされています。コマンド引数の「qset-id」には 1 or 2 を
指定します。4つのキューはデフォルトで「キューセット 1」にマッピングされています。alloactionには
キューセット内のキューごとに1つずつ、合計4つのパーセンテージを指定します。
◆ 出力キューセットに対するバッファスペースの割り当て
(config)# mls qos queue-set output qset-id buffers allocation1 allocation2 allocation3 allocation4
WTDを設定し、バッファのアベイラビリティを保証してキューセット(ポート毎に4つの出力キュー)の
最大メモリ割り当てを設定します。デフォルトではキュー 1、3、4 のWTDは100%に設定されています。
キュー2の WTD は200%に設定されています。キュー 1、2、3、4 の専用は 50% に設定されています。
すべてのキューの最大は 400% に設定されています。
◆ WTDのしきい値の設定とキューセットの最大メモリ割り当て
(config)# mls qos queue-set output qset-id threshold queue-id drop-threshold1 drop-threshold2
reserved-threshold maximum-threshold
コマンド引数 |
説明 |
qset-id |
mls qos queue-set output コマンドで指定した同じキューセットのIDを指定 |
queue-id |
コマンドの実行対象となるキューセット内の特定のキューを入力。指定できる範囲は 1 〜 4
|
drop-threshold1 |
キューの割り当てメモリの割合として表される2つのWTDを指定。 指定できる範囲は 1 〜 3200% |
drop-threshold2 |
キューの割り当てメモリの割合として表される2つのWTDを指定。 指定できる範囲は 1 〜 3200% |
reserved-threshold |
割り当てメモリの割合として表されるキューに保証されるメモリ サイズを指定。範囲は 1 〜 100% |
maximum-threshold |
この値を指定することで、保証量を超えるバッファを取得できるようになる。範囲は 1〜3200% |
最後に出力ポートを指定して、定義したキューセットをマッピングさせます。
◆ 出力ポートに定義したキューセットのマッピング
(config)# interface interface-id
(config-if)# queue-set qset-id
設定例ではポートを「キューセット2」にマッピングしています。出力キュー1にはバッファ スペースの40%
出力キュー 2、3、4には20%が割り当てられます。キュー2のドロップしきい値は、割り当てメモリの40%と
60%に設定されて、割り当てメモリの100%が保証されて、パケットがドロップされるまでこのキューが使用
できる最大メモリが 200% に設定されます。
Catalyst(config)# mls qos queue-set output 2 buffers 40 20 20 20
Catalyst(config)# mls qos queue-set output 2 threshold 2 40 60 100 200
Catalyst(config)# interface gigabitethernet 1/0/1
Catalyst(config-if)# queue-set 2
|
◆ 出力キューでのSRRシェーピングの重み設定(任意の設定)
出力キューでは、SRRは「シェーピングモード」または「共有モード」で動作します。シェーピングモードで
動作させる際に各キューに割り当てる使用可能な帯域幅を指定することができ、SRRスケジューラはその重み
の比率に従い各キューからパケットを取り出し送信します。
デフォルトでweight1は「25」weight2、weight3、weight4 は「0」に設定されています。重みが「 0 」と
設定した場合、そのキューは共有モードで動作します。その場合は、srr-queue bandwidth shapeコマンドで
指定された重みは無視され、 srr-queue bandwidth share で設定されたキューの重みが有効になります。
weight1 weight2 weight3 weight4 には、シェーピングされるポートの割合を制御する重みを入力します。
このキューのシェーピング帯域幅はインバース比率(1/ weight )により制御されます。指定範囲0〜65535。
◆ 出力キューでのSRRシェーピング重みの設定
(config)# interface interface-id
(config-if)# srr-queue bandwidth share weight1 weight2 weight3 weight4
設定例はキュー 1 に帯域幅のシェーピングを設定しています。キュー 2、3、4 の重み比が 0 に設定されて
いるので、これらのキューは共有モードで動作します。キュー 1 の帯域幅の重みは 1/8(12.5%)です。
Catalyst(config-if)# srr-queue bandwidth shape 8 0 0 0 |
◆ 出力キューでのSRR共有の重み設定(任意の設定)
共有モードでは、シェーピングモードと同様に重みに従って帯域幅を共有して、その重み分の帯域幅は保証
されますが、共有モードの場合はこのレベルに限定されず他のキューが空である場合、残りのキューはその
空のキューを共有して使用することができます。デフォルトでは、キュー1、2、3、4の重みはすべて「25」
であり、各キューに帯域幅の1/4が均等に割り当てられています。重みの指定可能な範囲は 1 〜 255 です。
◆ 出力キューでのSRR共有の重み設定
(config)# interface interface-id
(config-if)# srr-queue bandwidth share weight1 weight2 weight3 weight4
以下では、出力ポートで稼動するSRRスケジューラの重み比を設定する方法を示します。4つのキューが
使用され、共有モードで各キューに割り当てられる帯域幅の比率は、キュー 1、2、3、4 に対して
1/(1 + 2 + 3 + 4)、2/(1 + 2 + 3 + 4)、3/(1 + 2 + 3 + 4)、および 4/(1 + 2 + 3
+ 4) になります。
※ キュー 4 はキュー 1 の帯域幅の 4 倍、キュー 2 の帯域幅の 2 倍、キュー 3 の帯域幅の 1 と 1/3 倍であることを示します。
Catalyst(config-if)# srr-queue bandwidth share 1 2 3 4 |
|