はじめに
QoSはなぜ必要か
- バーストから重要なトラフィックを守りたい : 時々ビデオ会議の画像がブレる / WAN 越しの業務通信で再送が発生している
- 遅延に敏感なアプリケーションを優先させたい : Voice / Video / Collaboration App etc..
- 新しいアプリケーション、業務システムにすぐに対応したい : Campus LAN / DC LAN で柔軟にマーキングに対応。WAN Edge で柔軟に帯域を調整
- とにかく重要なトラフィックのパケットを落としたくない
QoS use cases
- スケジューリングによる帯域幅の保証
- 特定のトラフィックの損失の削減
- ネットワーク輻輳の管理と回避
- ネットワークトラフィックのシェーピング/ポリシング
- ネットワークを横断するトラフィックへの優先順位の設定
※ デザイン / 個別の設定等の案内につきましては、TAC のサポート範囲外となります。下記設定内容については参考としてご利用ください
QoS の基本シーケンス

MQC - Modular QoS CLI
Catalyst 9000 および3650/3850 のQoS設定は、すべてMQC(Modular QoS Cli)を介して行われます。MQCは、以下のコンポーネントから構成されます。
- class-map : マッチ基準に基づいてフローをクラスとして特定
- policy-map : クラスごとに実施されるポリシーアクションを特定
- service-policy : インターフェース上である方向(in/out)に適用される特定のpolicy-map

入力ツールセット
Catalyst 9000 では、すべての入力パケットのDSCP は、デフォルトで信頼(Trust)されます。ポリシーでマーキングが変更されない限り、パケットの着信時のマーキングは変更されず、保持されます。
- 条件付き信頼ポート : 特定のToS(Type of Service)を信頼します。"trust device"がポートに適用されると、ポートは信頼されたデバイスのみを信頼するようになります。他のデバイスから信頼されたパケットは、信頼せず、DSCP、IPプレシデンス、CoS は、0にリマーキングされます。
※デバイスが検出されない場合、Untrust モードに移行します。
※条件付き信頼ポートは、 1つのタイプのみポートで有効化できます。ハブなどで、同時に複数のデバイスが 1つのポートに接続する場合は、条件付きトラストを有効にすることはできません。
出力ツールセット
Catalyst 9000シリーズのキュー構造
Catalyst 9000ではキュー構造を提供するために、UADP ASICにてイーグレス キュー システム(EQS)ブロックを使用。
主なEQS コンポーネント
- ポートキュー : パケットを同じ方法でグループ化して処理できる。複数のキューがあると、ASICは次のパケットを取得して、送信するキューを選択できます
- ポートは物理キューに分割
- すべてのキューは、パケットをためるバッファ / メモリを持つ
- ポートごとのキュー数は、1から 8 個を可変して持つことができる
パケットがキューに割り当てられると、スケジューリングアルゴリズムによりキューで順番を管理する。priority / expressキューを優先し、非優先キューは、輻輳を避けるためウェイテッドラウンドロビン(WRR)が使用されます。
Strict priority queue(絶対優先キュー)
パケットが絶対優先キューにあるとき、パケットのスケジューリングは、WRR キューを停止し、絶対優先キューのパケットが送信される。
絶対優先キューが空であるときのみ、スケジューリングプロセスは、WRR キューからパケットの送信を再開します。

WRR の重み付け比率を変更することもできます。重みづけは、それぞれのキューがどのくらいの帯域幅でアクセスできるかを定義でき、他のキューより高い重み付け(各間隔)の場合に、キューから多くのデータを取り出せるように、指定されたキューを偏らせて処理することができます。

上記は、ノーマルキューから送信されるパケットの数が異なるように設定されていることを示し、高帯域 / 高い重みづけをもつ(WRR Queue 1)からより多くのパケットが送信され、キューはより頻繁に使用されるようになります。
デフォルトのキュー構造
Catalsyt 9000 シリーズのデフォルトのキュー構造は、ポートの速度に関係なくすべてのポートで統一されており、 2キューモデルに基づいて構成されています。
デフォルトでは、優先トラフィックと制御トラフィックは、Q0に分離されますが、Q0は、優先キューとして設定されません。デフォルトのキュー設定は、カスタムのMQCポリシーにより変更することが可能。ポリシーマップで明示的に指定されていない場合でも、クラスデフォルトが常に 1個定義され、8個のキューまで使用可能となります。

- show platform hardware fed switch active qos queue config interface <interface_name>

キュー構造タイプのキーワード
- Q : 通常キュー、もしくは、UADP ASIC によるWRRキューの数を表す
- P : 絶対優先(低遅延)キューの数を表す
- T : 通常キューごとの閾値の数を表す。絶対キューは閾値を実装しません
Catalyst 9000 シリーズ 2P6Q3T キューイングモデル
2P6Q3T : 2つの優先キュー(レベル 1と 2)、6つの通常キュー、キュー毎に 3つのしきい値
※ Catalyst 3650/3850 シリーズも同様のキューイングモデルを持ちます

2P6Q3T with WTD : Wired Port Egress Queuing Model

- show platform hardware fed switch active qos queue config interface <interface_name>

MQC Sample
キューの優先度を管理するために、クラスマップとポリシーマップを使用。WRR 帯域幅は、キューごとに調整され、バッファ比率は手動で調整されます。
トラフィックをアサインするには、DSCP、CoS、QoSグループを使用します。ACL クラシフィケーションは、キューイングポリシーでは使用できません。
1. トラフィックの分類
class-map match-any VOICE-PQ1
match dscp ef
class-map match-any VIDEO-PQ2
match dscp cs4
match dscp cs5
class-map match-any CONTROL-MGMT
match dscp cs7
match dscp cs6
match dscp cs3
match dscp cs2
(snip)
2. QoSポリシーの定義
policy-map 2P6Q3T
class VOICE-PQ1
priority level 1
queue-buffers ratio 5
class VIDEO-PQ2
priority level 2
queue-buffers ratio 10
class CONTROL-MGMT
bandwidth remaining percent 10
queue-buffers ratio 10
class MULTIMEDIA-CONFERENCING
bandwidth remaining percent 10
queue-buffers ratio 10
class MULTIMEDIA-STREAMING
bandwidth remaining percent 10
queue-buffers ratio 10
class TRANSACTION-DATA
bandwidth remaining percent 10
queue-buffers ratio 10
class SCAVENGER-BULK-DATA
bandwidth remaining percent 5
queue-buffers ratio 10
class class-default
bandwidth remaining percent 25
queue-buffers ratio 35
3. ターゲットインターフェースに適用
interface <name>
service-policy output 2P6Q3T
-> キューイング MQC ポリシーは、output 方向のポリシーのみサポートされます
※VLANへのポリシーマップの適用
ポリシーマップは VLAN SVI に適用されますが、ポート単位で実行できるのはマーキングまたは再マーキングアクションのみです。複数の物理ポートからのトラフィックの合計が認識されるようなポリサーを設定できません。
Switch(config)#interface vlan 100
Switch(config-if)#service-policy output 2P6Q3T
Switch(config-if)#
*Apr 11 00:39:33.604: Only Marking policy action is supported on SVI interface. Policy Rejected
参考情報
Cisco Catalyst 9000 Switching Platforms: QoS and Queuing White Paper
Cisco IOS XE Amsterdam 17.2.x(Catalyst 9300 スイッチ)Quality of Service コンフィギュレーション ガイド