2024-03-13 Catalyst3850 9000 スイッチ QoS 設定・検証
目的
Catalyst3850 の QoS を検証する際に、注意するべき点をまとめます。
注意点
QoS は動作検証で意図した結果を得られたものが正しいコンフィグです。
検証で確認されていないコンフィグは、すべてゴミです。
トラブル時のエスカレーションも、検証結果を元に行います。
構成
Cat3850-1
Gi1/0/1
|
|
|
Gi1/0/24
Cat3850-2 (DUT)
Gi1/0/1
|
|
|
Gi1/0/24
Cat3850-3
入力機能
分類
ポリシング
マーキング
出力機能
シェーピング
帯域幅制限
プライオリティ キュー
サンプル要件
QoS で差別化するトラフィックを、以下の通り定義します。
通常ユーザ : NET
- 帯域幅を最大に確保
- 優先度は最低とする
- バッファリングを行い、TCP 再送が起きにくくする
管理トラフィック : MGMT
- ルーティング プロトコルやプロビジョニング用プロトコルの DHCP や ARP を優先する
- Internetwork Control として、NET よりも優先して転送させる
- NET でパケットが埋まっていても、優先して処理されること
音声トラフィック : VoIP
- 音声を 200ms 以内の遅延で転送するため、絶対優先させる
- 他の ToS / DSCP で帯域幅が埋まっていても、パケットドロップが起きないこと
その他 : class-default
- その他の ToS / DSCP を転送する
- アプリケーションのデフォルトで ToS=1-4 などが付与されている場合に使用される
サンプル コンフィグ
入力マーキング
!!! Cat3850-2 !!!
configure terminal
!
ip access-list extended ACL_NET
permit ip 10.0.0.0 0.255.255.255 any
!
ip access-list extended ACL_MGMT
permit ip 172.16.0.0 0.15.255.255 any
!
ip access-list extended ACL_VoIP
permit ip 192.16.0.0 0.0.255.255 any
!
class-map CMAP_NET_MARKING
match access-group name ACL_NET
!
class-map CMAP_MGMT_MARKING
match access-group name ACL_MGMT
!
class-map CMAP_VoIP_MARKING
match access-group name ACL_VoIP
!
policy-map PMAP_MARKING
class CMAP_NET_MARKING
set precedence 0
class CMAP_MGMT_MARKING
set precedence 6
class CMAP_VoIP_MARKING
set dscp 46
!
interface GigabitEthernet1/0/1
service-policy input PMAP_MARKING
!
end
トラフィック生成
TIPS
rate 値の算出間隔を変更
デフォルトでは 5 分あたりのトラフィック量が show interface の rate 値に反映されます。
load-interval を 300 秒 -> 30 秒に変更することで、リアルタイムに近い値を得られるようになります。
configure terminal
interface GigabitEthernet1/0/1
load-interval 30
end
ハマりポイント
QoS を設定したら、ToS=0 のパケットドロップが多くなったんだけど ?
- 正常な動作です。ToS=0 のパケットは他の ToS を持つパケットの犠牲になります。
Catalyst3850 に ToS=5 のトラフィックを転送しても、絶対優先されないぞ ?
- 正常な動作です。Catalyst3850 以降は DSCP ベースで動作するため、DSCP=46(EF) が絶対優先されます。
- EF = Expedited Forwarding
参考 URL
Cisco IOS XE Gibraltar 16.12.x(Catalyst 3850 スイッチ)Quality of Service(QoS)コンフィギュレーション ガイド