分類の設定 - その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版
|