Catalyst QoS - Configuration 2 -



 分類の設定 - その2 -

 スイッチに着信してきたトラフィックの分類方法には先に紹介した mls qos trust cos | dscp | ip-precedence
 コマンド以外に、IPACLまたはMacACL→Class-map→Policy-mapによるトラフィックの指定的な分類方法も
 あります。IPトラフィックには標準ACLや拡張ACL、非IPトラフィックにはMacACLにてトラフィックを定義すること
 ができます。次にそのトラフィックを分類するために class-map を作成します。特定のトラフィックフローと照合
 する条件には、matchコマンドにより先に紹介したACLやMacACLの他に、DSCP値やPrecedence値を指定
 することも可能です。最後に、物理ポート上に指定したトラフィックに対して policy-map を使用してポリシーを
 適用します。このポリシーでは、分類したトラフィックに対して trust cos | dscp | ip-precedence により分類を
 行ったり、set dscp または set ip precedenceにより新しいDSCP値を割り当てて分類を行うことができます。

 - ACLによりトラフィックの指定例 -

 
Catalyst(config)# access-list 1 permit 192.168.0.0 0.0.0.255

 Catalyst(config)# access-list 101 permit ip 192.168.0.0 0.0.0.255192.168.1.0 0.0.0.255

 Catalyst(config)# mac access-list extended CCIE
 Catalyst(config-ext-macl)# permit host 1234.1234.abcd any decnet-ip




 - Class-mapによるトラフィックの分類例 -

 
Catalyst(config)# class-map match-all C-abc
 Catalyst(config-cmap)# match access-group 101

 Catalyst(config)# class-map match-all C-def
 Catalyst(config-cmap)# match ip dscp 10 11 12 13 14 15

 Catalyst(config)# class-map match-all C-ghi
 Catalyst(config-cmap)# match ip precedence 5 6 7


 ※ クラスマップごとにサポートされるmatchコマンドは [ 1 ] つなので match-all でも match-any でも機能は変わりません。


 - Policy-mapによるポリシーの適用例 -

 
Catalyst(config)# policy-map P-abc
 Catalyst(config-pmap)# class-map C-abc
 Catalyst(config-pmap-c)# trust dscp

 Catalyst(config)# policy-map P-def
 Catalyst(config-pmap)# class-map C-def
 Catalyst(config-pmap-c)# trust ip-precedence

 Catalyst(config)# policy-map P-ghi
 Catalyst(config-pmap)# class-map C-ghi
 Catalyst(config-pmap-c)# trust cos

 Catalyst(config)# policy-map P-jkl
 Catalyst(config-pmap)# class-map C-jkl
 Catalyst(config-pmap-c)# set dscp 46

 Catalyst(config)# policy-map P-mno
 Catalyst(config-pmap)# class-map C-mno
 Catalyst(config-pmap-c)# set ip precedence 5


 ※ 分類のためのポリシー適用は trust cos | dscp | ip-predence の3通りと、set dscp | ip-precedece の2通りの計5通りです。


 - 物理インターフェースへの適用例 -

 
Catalyst(config)# interface gigabitethernet 0/1
 Catalyst(config-if)# service-policy input P-abc


 ※ 作成したポリシーマップ名を指定して、入力ポートに適用します。サポートされるポリシーマップは入力ポートごとに1つだけ。
 ※ ポリシーマップの信頼状態は、インターフェースの信頼状態 ( mls qos trust cos | dscp | ip-precedence) より優先されます。




 ポリシングとマーキングの設定

 上記の設定で、ACL→Class-mapによりトラフィックを分類してPolicy-mapによりポリシーを適用する際に
 分類したトラフィックにポリサーを適用することができます。これにより指定したトラフィックに対しての平均
 トラフィックレートの指定や、その平均トラフィックレートを超えた場合のアクションを指定することができます。

 以下のコマンドで「rate-bps」には平均トラフィックレートを bps で指定します。burst-byteには標準バースト
 サイズ(Bc)をバイト数で指定します。レートを超過した場合のアクション(exceed-action)にはパケットを廃棄
 する[ drop ]、または、DSCP値をマークダウンする [ policed-dscp transmit ] があります。実質的なマーク
 ダウンをする場合、mls qos map policed-dscp によりポリシング済みDSCPマップを変更する必要があります。


 Catalyst(config-pmap-c)# police rate-bps burst-byte [ exceed-action ] { drop | policed-dscp transmit ]




 Policy-mapを使用したコンフィグレーション例

 送信元10.0.0.0/24から宛先192.168.1.0/24へのトラフィックを指定します。このトラフィックに一致した
 トラフィックはそのDSCP値を信頼して、そのトラフィックに対する平均トラフィックレートを480Kbpsとして
 バーストサイズは8000byteとします。尚、このトラフィックを超過した場合は、ポリシング済みDSCPマップ
 に従ってDSCP値はマークダウンしてから送信させます。このポリシーはG0/2に適用することとします。


 Catalyst(config)# access-list 101 permit ip 10.0.0.0 0.0.0.255 192.168.1.0 0.0.0.255

 Catalyst(config)# class-map match-all C-123
 Catalyst(config-cmap)# match access-group 101

 
Catalyst(config)# policy-map P-123
 Catalyst(config-pmap)# class-map C-123
 Catalyst(config-pmap-c)# trust dscp
 Catalyst(config-pmap-c)# police 480000 8000 exceed-action policed-dscp-transmit

 Catalyst(config)# interface gigabitethernet 0/2
 Catalyst(config-if)# service-policy input P-123



 送信元10.0.0.0/25から宛先192.168.1.0/25へのトラフィックを指定します。このトラフィックに一致した
 トラフィックはDSCP値46を割り当てて、そのトラフィックに対する平均トラフィックレートを800000bpsとして
 バーストサイズは16000byteとします。尚、このトラフィックを超過した場合は、パケットを廃棄(drop)します。
 送信元10.0.0.128/25から宛先192.168.1.128/25へのトラフィックを指定します。このトラフィックに一致した
 トラフィックはDSCP値30を割り当てて、そのトラフィックに対するCIRを400KbpsとしBcを8000byteとします。
 尚、このトラフィックを超過した場合はパケットを廃棄します。これらのポリシーはG0/10に適用させます。


 Catalyst(config)# access-list 101 permit ip 10.0.0.0 0.0.0.127 192.168.1.0 0.0.0.127
 Catalyst(config)# access-list 102 permit ip 10.0.0.128 0.0.0.127 192.168.1.128 0.0.0.127

 Catalyst(config)# class-map match-all C-123
 Catalyst(config-cmap)# match access-group 101
 Catalyst(config)# class-map match-all C-456
 Catalyst(config-cmap)# match access-group 102

 
Catalyst(config)# policy-map P-123456
 Catalyst(config-pmap)# class-map C-123
 Catalyst(config-pmap-c)# set dscp 46
 Catalyst(config-pmap-c)# police 800000 16000 exceed-action drop
 Catalyst(config-pmap)# class-map C-456
 Catalyst(config-pmap-c)# set dscp 30
 Catalyst(config-pmap-c)# police 400000 8000 exceed-action drop

 Catalyst(config)# interface gigabitethernet 0/10
 Catalyst(config-if)# service-policy input P-123456


 

 コンフィグ例の2つ目のように、同じポリシーマップ内で複数のトラフィッククラスがある場合、そして
 コンフィグ例の2つ目ではそうではありませんが、そのclass-map内で共有される同じ内容のポリサー
 がある場合、[ 集約ポリサー ] なるものを作成することにより、同じポリシーマップ内でそのポリサーを
 共有することができます。但し、あくまでも同じポリシーマップ内での使用に限ります。コマンドは以下。


 Catalyst(config)# mls qos aggregate-police name rate-bps burst-byte [ exceed-action ] { drop | policed-dscp transmit ]




 Catalyst(config)# access-list 101 permit ip 10.0.0.0 0.0.0.127 192.168.1.0 0.0.0.127
 Catalyst(config)# access-list 102 permit ip 10.0.0.128 0.0.0.127 192.168.1.128 0.0.0.127

 Catalyst(config)# mls qos aggregate-police ABC 400000 8000 exceed-action drop

 Catalyst(config)# class-map match-all C-123
 Catalyst(config-cmap)# match access-group 101
 Catalyst(config)# class-map match-all C-456
 Catalyst(config-cmap)# match access-group 102

 
Catalyst(config)# policy-map P-123456
 Catalyst(config-pmap)# class-map C-123
 Catalyst(config-pmap-c)# set dscp 46
 Catalyst(config-pmap-c)# police aggregate ABC
 Catalyst(config-pmap)# class-map C-456
 Catalyst(config-pmap-c)# set dscp 30
 Catalyst(config-pmap-c)# police aggregate ABC

 Catalyst(config)# interface gigabitethernet 0/10
 Catalyst(config-if)# service-policy input P-123456


 上記のコンフィグレーションと下記のコンフィグレーションは同じ内容、同じ効能のコンフィグとなります。


 Catalyst(config)# access-list 101 permit ip 10.0.0.0 0.0.0.127 192.168.1.0 0.0.0.127
 Catalyst(config)# access-list 102 permit ip 10.0.0.128 0.0.0.127 192.168.1.128 0.0.0.127

 Catalyst(config)# class-map match-all C-123
 Catalyst(config-cmap)# match access-group 101
 Catalyst(config)# class-map match-all C-456
 Catalyst(config-cmap)# match access-group 102

 
Catalyst(config)# policy-map P-123456
 Catalyst(config-pmap)# class-map C-123
 Catalyst(config-pmap-c)# set dscp 46
 Catalyst(config-pmap-c)# police 400000 8000 exceed-action drop
 Catalyst(config-pmap)# class-map C-456
 Catalyst(config-pmap-c)# set dscp 30
 Catalyst(config-pmap-c)# police 400000 8000 exceed-action drop

 Catalyst(config)# interface gigabitethernet 0/10
 Catalyst(config-if)# service-policy input P-123456


 Resource :Cat3550 12.2(25)SEC Cat3560 12.2(35)SEE Cat3560 12.2(25)SEE CatalystLANスイッチ教科書 BCMSNテキスト第2版 


Catalyst QoS - コンフィグ その1 - Catalyst QoS - コンフィグ その3 - →

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

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