Catalyst 2960X/3560X/3750X
- MLS QoS。MQCも少し使える。
- ライセンスの種類によって使えない機能があるので注意
分類
trust設定のポートは、受信したパケットの優先度情報(CoS/DSCP/IP Precedence)を元にQoSラベル(CoSまたはDSCP)が生成される。ACLが設定されている場合はそのtrust設定による。(set dscpをした場合はQoSラベルにDSCPが設定される?)
untrust設定のポートは、受信したパケットの内部DSCPが0になる。
生成されるQoSラベルは、表にすると以下のようになる。
trust | VLAN Tag | IP/非IP | QoSラベル |
---|---|---|---|
CoS | 有り | - | CoSを元にQoSラベルが生成される |
無し | - | ポートのdefault cosを元にQoSラベルが生成される | |
DSCP | 有り | IP | DSCPを元にQoSラベルが生成される |
非IP | CoSを元にCoS/DSCPマップを使用し、DSCPからQoSラベルが生成される | ||
無し | IP | DSCPを元にQoSラベルが生成される | |
非IP | ポートのdefault cosを元にCoS/DSCPマップを使用し、DSCPからQoSラベルが生成される | ||
IP Precedence | 有り | IP | IP Precedenceを元にIP Precedence/DSCPマップを使用し、DSCPからQoSラベルが生成される |
非IP | CoSを元にCoS/DSCPマップを使用し、DSCPからQoSラベルが生成される | ||
無し | IP | IP Precedenceを元にIP Precedence/DSCPマップを使用し、DSCPからQoSラベルが生成される | |
非IP | ポートのdefault cosを元にCoS/DSCPマップを使用し、DSCPからQoSラベルが生成される | ||
untrust | - | - | DSCP0のQoSラベルが生成される |
分類中には trustした優先度情報を元に、対応するマッピングテーブルでDSCPやCoS値が書き換えられる。
キューイング
キューイングでは、QoSラベル(CoSまたはDSCP)を元にキューイングされる。以下のコマンドでキューを指定する。どちらのコマンドが使われるかはQoSラベルの中身(CoSまたはDSCP)による?
mls qos srr-queue (input|output) cos-map queue ~
mls qos srr-queue (input|output) dscp-map queue ~
ただし、自発パケットは、全てキュー2に入る。
キューのバッファサイズは非公開。
Catalyst 2960L
2960Xと似ているが、以下の差分が見られる。- queue-setはひとつのみ
- trustは、DSCPとCoSのみ
- DSCPとCoS間の変換テーブルがない
- bufferやdrop-thresholdが設定できない
- policy-mapで、trustは使えない、setはDSCPのみ
- classのmatch行のACLのワイルドカードが機能しない→バグでした
バグ修正版のIOSを使えない場合は、tcp/udpのポート番号指定や、DSCP指定はできるため、それで何とかするしかなさそう。
Catalyst 6500 Sup2t
- Sup2t QoSアーキテクチャ。MQCが使える。レガシーのコンフィギュレーションも出来る。
- inputでDSCPを元に内部DSCP(discard value/class?)が生成される。
IP PrecedenceやCoSにも設定変更が可能。 - outputで内部DSCPを元にCoSが設定され(?)、CoSを元にキューイングされ、送信される。MLS QoSと違い、DSCPが書き換えられることは無い。
一部の10G以上対応のラインカードでは、DSCPを元にキューイングする設定が可能。Sup上インターフェースでは10g-onlyと設定することで可能になる。 - バッファサイズはラインカードのデータシートが確認できる。