元バンドマンITエンジニアの語り場

技術とか趣味とか日々の至福と鬱憤とか

【Cisco】C9300のQoS仕様について

Catalyst3850シリーズの後継機器としてリリースされたCatalyst9300シリーズ。

このC9300にCBWFQのQoS仕様に少々クセがあるようなのでまとめてみます。

 

仕様1:Class数上限

インターフェイスに適用するPolicy-map内に定義できるClass数の上限が8つまでになった。また、8つには「Class-default」も含まれるので、利用者が任意で作成可能なClassは7つまでということになる。

【設定例】
policy-map CBWFQ
 class c1
  bandwidth 1000
 class c2
  bandwidth 1000
 class c3 
  bandwidth 1000
 class c4
  bandwidth 1000
 class c5
  bandwidth 1000
 class c6
  bandwidth 1000
 class c7
  bandwidth 1000

※Config上は8つ目のClassは表示されないが、Class-defaultが存在している。
「show policy-map」コマンドで確認可能。

ちなみに、policy-mapに対して9つ目のClassを定義した状態で、そのpolicy-mapをインターフェイスに適用しようとするとエラーになります。

(config-if)#service-policy output CBWFQ
 Policy CBWFQ rejected:Has more than 7 user defined classes

 

仕様2:クラス分類のACL制限

出力でQoSを適用するトラフィックの分類手法としてACLによるマッチが行えず、COSやDSCPがついているトラフィックのみQoS処理が可能。

ACLでClass分類を行いたい場合は、入力時にQoS-Groupを付与し、出力時にQoS-Groupを条件とした分類を行うことで実現することができる。(めんどくさいしわかりにくい。。)

ちなみに、QoS-Groupとは着信したパケットが指定した条件に一致する場合に付与される識別子のこと。QoS-Groupは筐体のみで利用可能な識別子で、他の装置に対しては影響を与えない。

クラス分類にACLを使用した場合の設定例
【input側マーキング用Policy-map】

#ACLで分類したいトラフィックを分ける
ip access-list extended TEST-A
 permit tcp 172.16.1.0 0.0.0.255 any ep 443
ip access-list extended TEST-B
 permit tcp 192.168.1.0 0.0.0.255 any ep 22
!
#ACLをClassにマッピング
class-map match-all TEST-CLASS-A
 match access-group name TEST-A
class-map match-all TEST-CLASS-B
 match access-group name TEST-B
!
#ポリシーマップでACLで分類したパケットにqos-groupを付与
policy-map QOS-IN-ACL
 class TEST-CLASS-A
  set qos-group 1
 class TEST-CLASS-B
  set qos-group 2
!
#入力側インターフェイスに適用
interface Gi0/1
 service-policy input QOS-IN-ACL
【output側CBWFQ用Policy-map】#qos-groupの識別子を条件にクラスマッピング
class-map TEST-A-OUT
 match qos-group 1
class-map TEST-B-OUT
 match qos-group 2
!
#CBWFQ用のポリシーマップ作成
policy-map CBWFQ
 class TEST-A-OUT
  bandwidth 1000
 class TEST-B-OUT
  bandwidth 1000
!
#QoSをかけたいインターフェイスに適用
interface Gi0/2
 service-policy output CBWFQ

 

上記にように、入力インターフェイスACLで分類したトラフィックQoS-Group識別子を付与し、出力インターフェイスQoSをかけたいインターフェイス)でQoS-Group識別子をもとにしたクラス分けを行うことで、QoS対象トラフィックACLで分類することが可能になる。

ただし、入力インターフェイスが複数ある場合はインターフェイスごとにQoS-Group識別子を付与する必要があるので、設定が複雑になる。

めんどくさいですね。。

以上です。