※ 一般的に以下の設定ではなく「Catalyst QoS - Configuration 1」で紹介した分類方法で設定します。
◆ 分類の設定 - その2( 一般的な分類設定ではありません )
スイッチに着信してきたトラフィックの分類方法には「 mls qos trust cos | dscp | ip-precedence 」の
設定以外に「IPACLまたはmacACL」→「Class-map」→「Policy-map」によるトラフィックの指定した
分類方法もあります。
IPトラフィックには標準ACLや拡張ACL、非IPトラフィックにはmacACLでトラフィックを定義できます。
◆ 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.255 192.168.1.0 0.0.0.255
Catalyst(config)# mac access-list extended MAC-ACL01
Catalyst(config-ext-macl)# permit host 1234.1234.abcd any decnet-ip
|
次に、そのトラフィックを分類するために「 class-map 」を作成します。特定のトラフィックフローと
照合する条件には、matchコマンドでACLやmacACLの他に、DSCP値やPrecedence値でも指定できます。
◆ 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を使用してポリシー適用します。ポリシーでは、
分類したトラフィックに対して「trust cos | dscp | ip-precedence」コマンドで分類を行ったり「set dscp」
または「set ip precedence」により新しいDSCP値を割り当てて分類を行うことができます。
◆ 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 )は排他的であり、最後に設定された方が有効になります。
◆ ポリシングとマーキングの設定
上記の設定で、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
|
|