「2024-03-13 Catalyst3850 9000 スイッチ QoS 設定・検証」の版間の差分

提供: hkatou_Lab
ナビゲーションに移動 検索に移動
(ページの作成:「 == 目的 == Catalyst3850 の QoS を検証する際に、注意するべき点をまとめます。 == 注意点 == QoS は動作検証で意図した結果を得ら…」)
 
42行目: 42行目:
  
 
=== プライオリティ キュー ===
 
=== プライオリティ キュー ===
 +
 +
== サンプル要件 ==
 +
QoS で差別化するトラフィックを、以下の通り定義します。
 +
 +
=== 通常ユーザ : NET ===
 +
 +
* 帯域幅を最大に確保
 +
* 優先度は最低とする
 +
* バッファリングを行い、TCP 再送が起きにくくする
 +
 +
=== 管理トラフィック : MGMT ===
 +
 +
* ルーティング プロトコルやプロビジョニング用プロトコルの DHCP や ARP を優先する
 +
* Internetwork Control として、NET よりも優先して転送させる
 +
* NET でパケットが埋まっていても、優先して処理されること
 +
 +
=== 音声トラフィック : VoIP ===
 +
 +
* 音声を 200ms 以内の遅延で転送するため、絶対優先させる
 +
* 他の ToS / DSCP で帯域幅が埋まっていても、パケットドロップが起きないこと
 +
 +
=== その他 : class-default ===
 +
 +
* その他の ToS / DSCP を転送する
 +
* アプリケーションのデフォルトで ToS=1-4 などが付与されている場合に使用される
  
 
== サンプル コンフィグ ==
 
== サンプル コンフィグ ==
47行目: 72行目:
 
=== 入力マーキング ===
 
=== 入力マーキング ===
 
<syntaxhighlight lang="diff">
 
<syntaxhighlight lang="diff">
 +
!!! Cat3850-2 !!!
 
configure terminal
 
configure terminal
 
!
 
!
73行目: 99行目:
 
   set precedence 6
 
   set precedence 6
 
  class CMAP_VoIP_MARKING
 
  class CMAP_VoIP_MARKING
   set precedence 5
+
   set dscp 46
 
!
 
!
interface GigabitEthernet1/0/16
+
interface GigabitEthernet1/0/1
 
  service-policy input PMAP_MARKING
 
  service-policy input PMAP_MARKING
 
!
 
!
exd
+
end
 
</syntaxhighlight>
 
</syntaxhighlight>
  
101行目: 127行目:
  
 
* 正常な動作です。ToS=0 のパケットは他の ToS を持つパケットの犠牲になります。
 
* 正常な動作です。ToS=0 のパケットは他の ToS を持つパケットの犠牲になります。
 +
 +
=== Catalyst3850 に ToS=5 のトラフィックを転送しても、絶対優先されないぞ ? ===
 +
 +
* 正常な動作です。Catalyst3850 以降は DSCP ベースで動作するため、DSCP=46(EF) が絶対優先されます。
 +
* EF = Expedited Forwarding
  
 
== 参考 URL ==
 
== 参考 URL ==

2023年11月30日 (木) 11:58時点における版

目的

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)コンフィギュレーション ガイド

Cisco IOS XE Everest 16.8.x(Catalyst 3850 スイッチ)コマンド リファレンス

QoSの3750 MLSから3850 MQCへの変換の設定