Catalyst 4500 シリーズ スイッチ Cisco IOS ソフトウェア コンフィギュレーション ガイド Release 12.2(46)SG
QoS の設定
QoS の設定
発行日;2012/01/09 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 14MB) | フィードバック

目次

QoS の設定

Catalyst 4500 シリーズ スイッチでの QoS の概要

プライオリティ

QoS の用語

QoS の基本モデル

分類

QoS ACL に基づく分類

クラス マップおよびポリシー マップに基づく分類

ポリシングおよびマーキング

内部 DSCP 値

マッピング テーブル

キューイングおよびスケジューリング

AQM

送信キュー間のリンク帯域幅の共有

ストリクト プライオリティ/低遅延キューイング

トラフィック シェーピング

パケットの変更

PVQoS

QoS およびソフトウェア処理されるパケット

Supervisor Engine II-Plus、II+10GE、VI、V、V-10GE、4924、4948、および 4948-10GE での Auto-QoS の設定

生成される Auto-QoS 設定

Auto-QoS の設定上の影響

設定時の注意事項

VoIP 用の Auto-QoS のイネーブル化

Auto-QoS 情報の表示

Auto-QoS 設定例

Supervisor Engine II-Plus、II+10GE、VI、V、V-10GE、4924、4948、および 4948-10GE での QoS の設定

QoS のデフォルト設定

設定時の注意事項

QoS のグローバルなイネーブル化

信頼境界の設定によるポート セキュリティの確保

DBL のイネーブル化

DBL のグローバルなイネーブル化

DBL の選択的イネーブル化

名前付き集約ポリサーの作成

QoS ポリシーの設定

QoS ポリシー設定の概要

クラス マップの設定(任意)

ポリシー マップの設定

インターフェイスへのポリシー マップの付加

CoS 変換の設定

UBRL の設定

階層型ポリサーの設定

PVQoS のイネーブル化

インターフェイス上での QoS のイネーブル化またはディセーブル化

レイヤ 2 インターフェイス上での VLAN ベース QoS の設定

インターフェイスの信頼状態の設定

インターフェイスの CoS 値の設定

インターフェイスの DSCP 値の設定

送信キューの設定

DSCP 値から特定の送信キューへのマッピング

送信キュー間での帯域幅の割り当て

送信キューのトラフィック シェーピングの設定

ハイ プライオリティ送信キューの設定

DSCP マップの設定

CoS/DSCP マップの設定

ポリシング済み DSCP マップの設定

DSCP/CoS マップの設定

レイヤ 2 制御パケット QoS のイネーブル化

使用上の注意事項

機能の相互作用

Supervisor Engine 6-E での Auto-QoS の設定

Supervisor Engine 6-E での QoS の設定

MQC ベースの QoS の設定

概要

プラットフォームでサポートされる分類基準および QoS 機能

プラットフォーム ハードウェアの機能

QoS サービス ポリシーを適用するための前提条件

QoS サービス ポリシーの適用に関する制約事項

分類

ポリシング

ポリシングの実装方法

プラットフォームの制約事項

ネットワーク トラフィックのマーク付け

内容

ネットワーク トラフィックのマーク付けに関する情報

アクション ドライバのマーク付け

トラフィック マーキング手順のフローチャート

ネットワーク トラフィックのマーク付けに関する制約事項

マルチアトリビュート マーキングのサポート

マーキング用のハードウェア機能

ポリシー マップ マーキング アクションの設定

マーキング統計

シェーピング、共有(帯域幅)、プライオリティ キュー、キュー制限、および DBL

シェーピング

共有(帯域幅)

プライオリティ キューイング

キュー制限

DBL を経由した AQM

伝送キューの統計

階層型ポリシー

ポリシーの関連付け

ソフトウェア QoS

QoS の設定

この章では、Automatic QoS(auto-QoS)コマンドまたは標準の QoS(Quality Of Service)コマンドを使用して Catalyst 4500 シリーズ スイッチ上で QoS を設定する方法について説明します。ここでは、VLAN だけでなくさまざまな種類のインターフェイス(アクセス、レイヤ 2 トランク、レイヤ 3 ルーティング、EtherChannel)での QoS 設定を指定する方法を説明します。また、所定のインターフェイスの異なる VLAN 上で異なる QoS(per-Port per-VLAN QoS [PVQoS])を設定する方法についても説明します。この章では、Supervisor Engine II-Plus から V-10GE まで、および Supervisor Engine 6-E での QoS サポートについて説明します。

Supervisor Engines II-Plus から V-10G でサポートされている QoS コンフィギュレーション モデルは、スイッチ QoS モデルと呼ばれています。ただし、Supervisor Engine 6-E は Modular QoS CLI(MQC; モジュラ QoS コマンドライン インターフェイス)と呼ばれる別の QoS コンフィギュレーション モデルをサポートしています。QoS が設定されているスーパーバイザ エンジンの該当する設定セクションを参照してください。MQC についての詳細は、『 Cisco IOS Quality of Service Solutions Configuration Guide 』Release 12.3 の「Modular Quality of Service Command-Line Interface」を参照してください。

この章の内容は、次のとおりです。

「Catalyst 4500 シリーズ スイッチでの QoS の概要」

「Supervisor Engine II-Plus、II+10GE、VI、V、V-10GE、4924、4948、および 4948-10GE での Auto-QoS の設定」

「Supervisor Engine II-Plus、II+10GE、VI、V、V-10GE、4924、4948、および 4948-10GE での QoS の設定」

「Supervisor Engine 6-E での Auto-QoS の設定」

「Supervisor Engine 6-E での QoS の設定」


) この章のスイッチ コマンドの構文および使用方法の詳細については、『Catalyst 4500 Series Switch Cisco IOS Command Reference』および次の URL の関連マニュアルを参照してください。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122sr/cr/index.htm


Catalyst 4500 シリーズ スイッチでの QoS の概要

ネットワークは通常、 ベスト エフォート型 の配信方式で動作します。したがって、すべてのトラフィックに等しいプライオリティが与えられるため、正しいタイミングで配信される可能性はどのトラフィックでも同等です。輻輳が発生した場合にドロップされる可能性についても、すべてのトラフィックで同等です。

QoS は、ネットワーク トラフィック(ユニキャストおよびマルチキャスト)を選択して、トラフィックの相対的な重要度に従ってプライオリティを与え、プライオリティ ベースの処理を実行して、輻輳を回避します。QoS はさらに、ネットワーク トラフィックが使用する帯域幅を制限します。QoS を実装すると、ネットワーク パフォーマンスが予測可能になり、帯域幅をより効率的に利用できます。

ここでは、次の内容について説明します。

「プライオリティ」

「QoS の用語」

「QoS の基本モデル」

「分類」

「ポリシングおよびマーキング」

「マッピング テーブル」

「キューイングおよびスケジューリング」

「パケットの変更」

「PVQoS」

「QoS およびソフトウェア処理されるパケット」

プライオリティ

QoS の実装は、DiffServ アーキテクチャに基づきます。このアーキテクチャでは、ネットワークの入口で各パケットを分類すると規定されています。この分類は、IP パケット ヘッダーで伝送され、現在ほとんど使用されていない IP Type of Service(ToS; サービス タイプ)フィールドの 6 ビットを使用して分類( クラス )情報が伝送されます。分類は、レイヤ 2 フレームで伝送される場合もあります。レイヤ 2 フレームまたはレイヤ 3 パケットのこのような特殊ビットについては、図35-1 を参照してください。

レイヤ 2 フレーム内のプライオリティ値:

レイヤ 2 の ISL(スイッチ間リンク)フレーム ヘッダーには、1 バイトのユーザ フィールドがあり、Least Significant Bit(LSB; 最下位ビット)3 ビットで IEEE(米国電気電子学会)802.1p Class of Service(CoS; サービス クラス)値が伝送されます。レイヤ 2 ISL トランクとして設定されたインターフェイス上では、すべてのトラフィックが ISL フレームを使用します。

レイヤ 2 802.1Q フレーム ヘッダーには、2 バイトのタグ制御情報フィールドがあり、Most Significant Bit(MSB; 最上位ビット)3 ビット(ユーザ プライオリティ ビットと呼ばれる)で CoS 値が伝送されます。レイヤ 2 802.1Q トランクとして設定されたインターフェイスでは、ネイティブ VLAN のトラフィックを除き、すべてのトラフィックが 802.1Q フレームに収められます。

その他のフレーム タイプでは、レイヤ 2 CoS 値は伝送されません。

レイヤ 2 CoS 値の範囲は、0(ロー プライオリティ)~7(ハイ プライオリティ)です。

レイヤ 3 パケット内の優先順位ビット:

レイヤ 3 IP パケットは、IP precedence 値または Differentiated Services Code Point(DSCP; DiffServ コード ポイント)値のいずれかを伝送します。DSCP 値は IP precedence 値と下位互換性があるので、QoS ではどちらの値でも使用できます。

IP precedence 値の範囲は、0 ~ 7 です。

DSCP 値の範囲は 0 ~ 63 です。

図35-1 フレームおよびパケット内の QoS 分類レイヤ

 

インターネット上のすべてのスイッチおよびルータはクラス情報に基づき、同じクラス情報を持ったパケットに対しては転送上、同じ取り扱いを行い、クラス情報が異なるパケットに対しては異なった取り扱いを行います。設定されたポリシー、パケットの詳しい検証、またはその両方に基づき、エンド ホストあるいは途中にあるスイッチまたはルータによって、パケット内のクラス情報が割り当てられる場合があります。パケットの詳しい検証は、コア スイッチおよびルータが過負荷にならないように、ネットワーク エッジに近い位置で行われることが前提になります。

パス上にあるスイッチおよびルータは、クラス情報を使用して、トラフィック クラスごとに割り当てられるリソースの量を制限できます。DiffServ アーキテクチャで個々の装置がトラフィックを処理するときの動作を、Per-Hop Behavior(PHB)といいます。パス上のすべての装置が一貫性のある PHB を提供する場合、エンドツーエンドの QoS ソリューションを構築できます。

ネットワークに QoS を実装する作業は、インターネットワーキング装置が提供する QoS 機能、ネットワーク上のトラフィック タイプおよびトラフィック パターン、着信トラフィックおよび発信トラフィックに対して適用すべき制御の粒度に応じて、簡単なものにも複雑なものになります。

QoS の用語

QoS 機能についての説明では、次の用語が使用されます。

パケット ― レイヤ 3 でトラフィックを伝送します。

フレーム ― レイヤ 2 でトラフィックを伝送します。レイヤ 2 フレームは、レイヤ 3 パケットを伝送します。

ラベル ― レイヤ 3 パケットおよびレイヤ 2 フレームで伝送されるプライオリティ値です。

レイヤ 2 CoS 値。範囲は 0(ロー プライオリティ)~ 7(ハイ プライオリティ)です。

レイヤ 2 ISL フレーム ヘッダーには、1 バイトのユーザ フィールド(LSB 3 ビットで IEEE 802.1p CoS 値を伝送)があります。

レイヤ 2 802.1Q フレーム ヘッダーには、2 バイトのタグ制御情報フィールドがあり、MSB 3 ビット(ユーザ プライオリティ ビット)で CoS値が伝送されます。

その他のフレーム タイプでは、レイヤ 2 CoS 値は伝送されません。


) レイヤ 2 ISL トランクとして設定されたインターフェイスでは、すべてのトラフィックが ISL フレームに収められます。レイヤ 2 802.1Q トランクとして設定されたインターフェイスでは、ネイティブ VLAN のトラフィックを除き、すべてのトラフィックが 802.1 Qフレームに収められます。


レイヤ 3 IP precedence 値 ― IPv4 の仕様では、1 バイトの ToS フィールドの MSB 3 ビットを IP precedence と定義しています。IP precedence 値の範囲は、0(ロー プライオリティ)~ 7(ハイ プライオリティ)です。

レイヤ 3 DSCP 値 ― Internet Engineering Tasks Force(IETF; インターネット技術特別調査委員会) は、1 バイトの IP ToS フィールドのうち MSB 6 ビットを DSCP と定義しています。個々の DSCP 値が表す PHB は、設定変更可能です。DSCP 値の範囲は 0 ~ 63 です。「DSCP マップの設定」を参照してください。


) レイヤ 3 の IP パケットは、IP precedence 値または DSCP 値のいずれかを伝送します。DSCP 値は IP precedence 値と下位互換性があるので、QoS ではどちらの値でも使用できます。表35-1を参照してください。


 

表35-1 IP precedence 値および DSCP 値

3 ビットの IP
precedence
ToS の 6 MSB 1
6 ビットの
DSCP
 
3 ビットの IP
precedence
ToS の 6 MSB 1
6 ビットの
DSCP
8
7
6
 
5
4
3
8
7
6
 
5
4
3

0

0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
1
2
3
4
5
6
7

4

1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

32
33
34
35
36
37
38
39

1

0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

8
9
10
11
12
13
14
15

5

1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

40
41
42
43
44
45
46
47

2

0
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

16
17
18
19
20
21
22
23

6

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

48
49
50
51
52
53
54
55

3

0
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

24
25
26
27
28
29
30
31

7

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

56
57
58
59
60
61
62
63

1.MSB = Most Significant Bit(最上位ビット)

分類 ― マーク付けするトラフィックを選択することです。

マーキング ― RFC 2475 に従い、レイヤ 3 の DSCP 値をパケットに設定する処理です。このマニュアルでは、マーキングの定義を拡大して、レイヤ 2 CoS 値の設定までを含めています。

スケジューリング ― レイヤ 2 フレームをキューに割り当てることです。QoS は、内部 DSCP 値(内部 DSCP 値を参照)に基づいて、キューにフレームを割り当てます。

ポリシング ― トラフィック フローが使用する帯域幅を制限する処理です。ポリシングによって、トラフィックのマーキングまたはドロップが可能になります。

QoS の基本モデル

図35-2 に、QoS の基本モデル(スイッチ QoS モデルとも呼びますが、MQC 準拠ではありません)を示します。入力インターフェイスおよび出力インターフェイスで行われるアクションには、トラフィックの分類、ポリシング、およびマーキングがあります。

分類は、トラフィックの種類を区別します。このプロセスによって、パケットの内部 DSCP が生成されます。内部 DSCP は、今後このパケットに対して実行されるすべての QoS アクションを表します。詳細については、「分類」を参照してください。

ポリシングは、トラフィック レートを設定済みのポリサーと比較することによって、パケットがイン プロファイルであるか、それともアウト オブ プロファイルであるかを判別します。ポリサーは、トラフィック フローが消費する帯域幅を制限します。この判別の結果が、マーカーに引き渡されます。詳細については、「ポリシングおよびマーキング」を参照してください。

マーキングは、パケットがアウト オブ プロファイルのときに行われるアクションに関してポリサーの設定情報を評価し、パケットの処置(変更なしにパケットを通過させるか、パケット内の DSCP 値をマーク ダウンするか、パケットをドロップするか)を決定します。詳細については、「ポリシングおよびマーキング」を参照してください。

出力インターフェイスで行われるアクションには、キューイングおよびスケジューリングがあります。

キューイングは、内部 DSCP を評価し、4 つの出力キューのどれにパケットを入れるかを決定します。

スケジューリングは、出力(送信)ポートの共有およびシェーピング設定に基づいて、4 つの出力(送信)キューを処理します。共有およびシェーピング設定については、「キューイングおよびスケジューリング」を参照してください。

図35-2 QoS の基本モデル

 

分類

分類は、パケットの各フィールドを検証することで、トラフィックの種類を区別するプロセスです。スイッチ上で QoS がグローバルにイネーブルに設定されている場合に限り、分類がイネーブルになります。デフォルトでは、QoS はグローバルでディセーブルに設定されているため、分類は行われません。

フレームまたはパケットの、どのフィールドを使用して着信トラフィックを分類するかを、ユーザが指定します。

図35-3 に、さまざまな分類オプションを示します。

IP 以外のトラフィックについては、次の分類オプションがあります。

ポート デフォルトを使用します。パケットが IP 以外のパケットである場合、デフォルトのポート DSCP 値を着信パケットに割り当てます。

着信フレームの CoS値を信頼します(ポートを Trust CoS に設定する)。この場合、設定変更可能な CoS/DSCP マップを使用して、内部 DSCP 値を生成します。レイヤ 2 ISL フレーム ヘッダーでは、1 バイトのユーザ フィールドの LSB 3 ビットを使用して CoS 値を伝送します。レイヤ 2 802.1Q フレーム ヘッダーでは、タグ制御情報フィールドの MSB 3 ビットを使用して CoS 値を伝送します。CoS 値の範囲は、0(ロー プライオリティ)~ 7(ハイ プライオリティ)です。フレームに CoS 値が含まれていない場合は、着信フレームにデフォルトのポート CoS を割り当てます。

Trust DSCP の設定は、IP以外のトラフィックに対しては無意味です。ポートを Trust DSCP に設定し、IP 以外のトラフィックを受信した場合、スイッチはデフォルトのポート DSCP を割り当てます。

IP トラフィックについては、次の分類オプションがあります。

着信パケットの IP DSCP を信頼し(ポートを Trust DSCP に設定し)、パケットに同じ DSCP を割り当てて内部的に使用します。IETF は、1 バイトの ToS フィールドの MBB 6 ビットを DSCP として定義しています。個々の DSCP 値が表すプライオリティは、設定変更可能です。DSCP 値の範囲は 0 ~ 63 です。

着信パケットの CoS 値(存在する場合)を信頼し、CoS/DSCP マップを使用して DSCP を生成します。

設定された IP 標準 Access Control List(ACL; アクセス コントロール リスト)または拡張 ACL(IP ヘッダーの各種のフィールドを検証する)に基づいて、分類を実行します。ACL を設定していない場合は、入力ポートの信頼状態に基づいてデフォルトの DSCP がパケットに割り当てられます。ACL を設定している場合は、ポリシー マップによって着信フレームに割り当てる DSCP が指定されます。


) 入力 QoS ポリシーが実行するマーキングに基づいてトラフィックを分類することはできません。Catalyst 4500 プラットフォームでは、入力および出力 QoS の検索が平行して実行されるため、出力 QoS ポリシーでトラフィックを分類するのに入力時にマーク付けされた DSCP 値を使用できません。



) 内部 DSCP に基づいてトラフィックを分類することはできません。内部 DSCP は、すべてのパケットで送信キューおよび送信CoS値を決定するのにのみ使用される純粋な内部分類メカニズムです。


ここで説明するマップについての詳細は、「マッピング テーブル」を参照してください。ポートの信頼状態の設定手順については、「インターフェイスの信頼状態の設定」を参照してください。

図35-3 分類のフローチャート

 

QoS ACL に基づく分類

QoS のパケット分類は、複数の一致基準を使用して行うことができ、指定された一致基準をパケットがすべて満たしている必要があるか、または少なくとも 1 つの一致基準を満たしていればよいかを指定できます。QoS 分類基準を定義するには、クラス マップで一致(match)文を使用して一致基準を指定します。一致文では、マッチングの対象になるパケットのフィールドを指定することも、IP 標準 ACL または IP 拡張 ACL を使用することもできます。詳細については、「クラス マップおよびポリシー マップに基づく分類」を参照してください。

すべての一致基準に一致するようにクラス マップを設定した場合、パケットがクラス マップ内のすべての一致文を満たしていないと、QoS アクションは実行されません。パケットがクラス マップの一致基準を 1 つでも満たさない場合、そのパケットについて QoS アクションは実行されません。

最低 1 つの一致基準に一致するようにクラス マップを設定した場合、パケットがクラス マップ内の少なくとも 1 つの一致文を満たしていれば、QoS アクションが実行されます。パケットがクラス マップの一致基準をどれも満たしていない場合、そのパケットについて QoS アクションは実行されません。


) IP 標準 ACL および IP 拡張 ACL を使用する場合、QoS コンテキストでは、ACL の中の許可(permit)Access Control Entry(ACE; アクセス コントロール エントリ)と拒否(deny)ACE の意味は多少異なります。


[permit] を指定している ACE を検出し、なおかつパケットがそれを満たしている場合、そのパケットは QoS 分類の一致基準に「一致した」ことになります。

[deny] を指定している ACE を検出し、なおかつパケットがそれを満たしている場合、そのパケットは QoS 分類の一致基準に「一致しない」ことになります。

一致する許可(permit)アクションが検出されないまま、すべての ACE の検証が終わった場合、そのパケットは QoS 分類の基準に「一致しない」ことになります。


) アクセス リストを作成するとき、アクセス リストの末尾にはデフォルトで、リストの末尾に達しても一致が見つからなかった場合に使用される、暗黙の拒否(deny)文がある点に留意してください。


クラス マップを使用してトラフィック クラスを定義したあとで、トラフィック クラスに対する QoS アクションを定義するポリシーを作成できます。ポリシーでは、複数のクラスのそれぞれについて、アクションを指定できます。ポリシーには、クラスを集約的に分類する(たとえば、DSCP を割り当てる)コマンド、またはクラスをレート制限するコマンドを組み込めます。このポリシーを特定のポートに付加して、そのポート上でポリシーを有効にします。

IP トラフィックを分類するための IP ACL を実装するには、 access-list グローバル コンフィギュレーション コマンドを使用します。詳しい設定手順については、「QoS ポリシーの設定」を参照してください。

クラス マップおよびポリシー マップに基づく分類

クラス マップは、特定のトラフィック フロー(クラス)を、他のすべてのトラフィックから切り離して名前を付けるためのメカニズムです。クラス マップは、特定のトラフィック フローを分類する目的で使用する一致基準を定義します。基準としては、ACL で定義されるアクセス グループとのマッチング、または特定の DSCP 値、IP precedence 値、または L2 CoS 値のリストとのマッチングを指定できます。複数のタイプのトラフィックを分類する必要がある場合は、別のクラス マップを別の名前で作成します。クラス マップの基準に関するパケットのマッチングが終わったあとで、ポリシー マップを使用して QoS アクションを指定できます。

ポリシー マップは、各トラフィック クラスに対する QoS アクションを指定します。アクションとしては、トラフィック クラスの CoS 値または DSCP 値を信頼すること、トラフィック クラスの特定の DSCP 値または IP precedence 値の設定、またはトラフィックの帯域幅制限の指定およびトラフィックがアウト オブ プロファイルであるときのアクションを含めることができます。ポリシー マップを有効にするには、インターフェイスにポリシー マップを付加する必要があります。

クラス マップを作成するには、 class-map グローバル コンフィギュレーション コマンドを使用します。 class-map コマンドを入力すると、スイッチはクラス マップ コンフィギュレーション モードになります。このモードでは、 match クラス マップ コンフィギュレーション コマンドを使用して、トラフィックの一致基準を定義します。

ポリシー マップを作成して名前を付けるには、 policy-map グローバル コンフィギュレーション コマンドを使用します。このコマンドを入力すると、スイッチはポリシー マップ コンフィギュレーション モードになります。このモードで、 trust または set ポリシー マップ コンフィギュレーション コマンドおよびポリシー マップ クラス コンフィギュレーション コマンドを使用して、特定のトラフィック クラスに対して実行すべきアクションを指定します。ポリシー マップを有効にするには、 service-policy インターフェイス コンフィギュレーション コマンドを使用して、ポリシー マップをインターフェイスに対応付けます。

ポリシー マップには、ポリサーを定義するコマンド(トラフィックの帯域幅制限)および制限を超過した場合に実行するアクションを含めることもできます。詳細については、「ポリシングおよびマーキング」を参照してください。

ポリシー マップには、次のような特性もあります。

1 つのポリシー マップに、最大 255 のクラス文を指定できます。

1 つのポリシー マップで異なるクラスを指定できます。

ポリシー マップの信頼状態は、インターフェイスの信頼状態を上書きします。

詳しい設定手順については、「QoS ポリシーの設定」を参照してください。

ポリシングおよびマーキング

パケットが分類され、パケットに内部 DSCP 値が割り当てられると、ポリシングおよびマーキングのプロセスが開始可能になります(図35-4 を参照)。

ポリシングを行うには、トラフィックの帯域幅制限を指定するポリサーを作成します。この制限を超過するパケットは、 アウト オブ プロファイル つまり 不適合 パケットです。各ポリサーは、イン プロファイルまたはアウト オブ プロファイル パケットに対して実行すべきアクションを指定します。これらのアクション(マーカーによって実行される)では、パケットを変更せずにそのまま通過させること、パケットをドロップすること、または、設定変更可能なポリシング済み DSCP マップから得られる新しい DSCP 値にパケットをマークダウンすることが可能です。ポリシング済み DSCP マップの詳細については、「マッピング テーブル」を参照してください。

次の種類のポリサーを作成できます。

個別

ポリシー マップが付加されている各ポート/VLAN に対して、QoS がポリサーで指定される帯域幅制限を一致する各トラフィック クラスに個別に適用します。ポリシー マップでこのタイプのポリサーを設定するには、ポリシー マップ クラス コンフィギュレーション モードで police コマンドを使用します。

集約

一致するすべてのトラフィック フローに、集約ポリサーで指定される帯域幅制限を QoS が累積的に適用します。ポリシー マップで、集約ポリサー名を指定してこのタイプのポリサーを設定するには、 police aggregate ポリシー マップ コンフィギュレーション コマンドを使用します。ポリサーの帯域幅制限を指定するには、 qos aggregate-policer グローバル コンフィギュレーション コマンドを使用します。集約ポリサーは、1 つのポリシー マップ内で複数のトラフィック クラスによって共有されます。

フローまたはマイクロフロー

フローベースのポリシングでは、識別されたすべてのフローが、指定したレートに個別にポリシングされます。フローはダイナミックなので、キー識別フィールドをクラス マップで設定する必要があります。2 つのフロー一致オプション、送信元 IP ベース(送信元 IP アドレスが一意であるそれぞれのフローを新しいフローとして扱う)および宛先 IP ベース(宛先 IP アドレスが一意であるそれぞれのフローを新しいフローとして扱う)を指定できます。フローベースのポリサーの設定については、「UBRL の設定」を参照してください。

ポリシングおよびポリサーを設定する場合、次の点に注意してください。

IP パケットでは、IP ペイロードの長さ(IP ヘッダーの全長フィールド)だけがポリシング演算でポリサーに使用されます。レイヤ 2 ヘッダーとトレーラーの長さは計上されていません。たとえば、64 バイトの Ethernet II IP パケットでは、46 バイトだけがポリシングに計上されます(64 バイト - 14 バイトのイーサネット ヘッダー - 4 バイトのイーサネット CRC)。

IP 以外のパケットでは、レイヤ 2 ヘッダーに指定されたレイヤ 2 の長さは、ポリシング演算でポリサーに使用されます。IP パケットをポリシングする場合、さらにレイヤ 2 カプセル化の長さを指定するには、qos account layer2 encapsulationコマンドを使用します。

デフォルトで設定されるポリサーはありません。

設定できるのは、平均レートおよび認定バースト パラメータだけです。

個別ポリサーおよび集約ポリサーのポリシングは、入力インターフェイスと出力インターフェイスのどちらでも行えます。

Supervisor Engine V-10GE(WS-X4516-10GE)の場合は、8192 個のポリサーが入力および出力でサポートされます。

その他のスーパーバイザ エンジンでは、1024 個のポリサーが入力および出力でサポートされます。


) 入力および出力の方向で 4 個のポリサーが予約されています。


ポリサーは、個別タイプか集約タイプにすることができます。Supervisor Engine V-10GE では、フローベース ポリサーがサポートされます。

フロー ポリサーのポリシングは、入力レイヤ 3 インターフェイスのみで行えます。

Supervisor Engine V-10GE では、512 個の一意のフロー ポリサーを設定できます。


) 1 つのフロー ポリサーがソフトウェアによって予約されているので、511 個の一意のフロー ポリサーを定義できます。


100,000 より多いフローをマイクロフロー ポリシングできます。


) マイクロフローでは、現在のところ 2 つのフロー一致オプション(送信元 IP アドレス ベースおよび宛先 IP アドレス ベース)がサポートされます。マイクロフロー ポリシングを Netflow 統計情報収集と併用するとき、送信元 IP アドレスか宛先 IP アドレスが一致するフローの完全なフロー統計は使用できません。Netflow 統計の設定については、「NetFlow 統計情報収集機能のイネーブル化」を参照してください。


QoS を設定したインターフェイス上では、そのインターフェイス経由で送受信されるすべてのトラフィックが、インターフェイスに付加されたポリシー マップに従って、分類、ポリシング、およびマーク付けされます。ただし、インターフェイスがqos vlan-basedコマンドによって VLAN ベース QoS を使用するように設定されている場合は、そのインターフェイス経由で送受信されるトラフィックは、パケットの所属先 VLAN に付加されたポリシー マップ(VLAN インターフェイス上に設定されている)に従って、分類、ポリシング、およびマーク付けされます。パケットの所属先 VLAN にポリシー マップが付加されていない場合には、インターフェイスに付加されたポリシー マップが使用されます。

ポリシー マップおよびポリシング アクションを設定したあと、 service-policy インターフェイス コンフィギュレーション コマンドを使用して、入力インターフェイスまたは出力インターフェイスにポリシーを付加します。詳しい設定手順については、「QoS ポリシーの設定」および「名前付き集約ポリサーの作成」を参照してください。

図35-4 ポリシングおよびマーキングのフローチャート

 

内部 DSCP 値

ここでは、内部 DSCP 値について説明します。

「内部 DSCP の作成元」

「出力 ToS および CoS の作成元」

内部 DSCP の作成元

QoS は処理中、すべてのトラフィック(IP 以外のトラフィックを含む)のプライオリティを、内部 DSCP 値で表します。QoS は、以下に基づいて内部 DSCP 値を導き出します。

Trust CoS トラフィックの場合、受信したレイヤ 2 CoS 値または入力インターフェイスのレイヤ 2 CoS 値

Trust DSCP トラフィックの場合、受信した DSCP 値または入力インターフェイスの DSCP 値

信頼されない(untrusted)トラフィックの場合、入力インターフェイスの DSCP 値

トラフィックの信頼状態は、入力インターフェイスの信頼状態です。ただし、ポリシー アクションによりトラフィック クラスに対して別の設定が行われる場合を除きます。

QoS は、設定変更可能な各種のマッピング テーブルを使用して、3 ビットの CoS から 6 ビットの内部 DSCP 値を導き出します(DSCP マップの設定を参照)。

出力 ToS および CoS の作成元

出力 IP トラフィックについては、QoS は内部 DSCP 値から ToS バイトを作成して、出力インターフェイスに送信し、それが IP パケットに書き込まれます。 trust dscp および untrusted IP トラフィックの場合、ToS バイトには、受信した ToS バイトの元の LSB 2 ビットが含まれます。


) 内部 ToS 値は IP precedence 値を使用します(IP precedence 値および DSCP 値を参照)。


すべての出力トラフィックについて、QoS は設定変更可能なマッピング テーブルを使用して、トラフィックと対応付けられた内部 ToS 値から CoS 値を導き出します(DSCP/CoS マップの設定を参照)。QoS は CoS 値を送信して、ISL フレームおよび 802.1Q フレームに書き込ませます。

qos trust cos コマンドを使用してtrust cos に設定された入力インターフェイスに着信したトラフィックの場合、送信される CoS は、常に着信パケットの CoS(または、パケットをタグなしで受信した場合には、入力インターフェイスのデフォルト CoS)です。

qos trust dscp コマンドを使用してインターフェイスの信頼状態を trust dscp に設定していない場合、セキュリティおよび QoS ACL 分類では、常にインターフェイス DSCP が使用され、着信パケットの DSCP は使用されません。

マッピング テーブル

QoS の処理中、スイッチはすべてのトラフィック(IP 以外のトラフィックを含む)のプライオリティを、内部 DSCP 値で表します。

分類の際、QoS は設定変更可能なマッピング テーブルを使用して、受信した CoS から内部 DSCP(6 ビット値)を導き出します。これらのマップには、CoS/DSCP マップが含まれます。

ポリシングの際、QoS は IP パケットまたは IP 以外のパケットに別の DSCP 値を割り当てることがあります(パケットがアウト オブ プロファイルであり、なおかつポリサーでマークダウン後の DSCP 値が指定されている場合)。この設定変更可能なマップを、ポリシング済み DSCP マップといいます。

トラフィックがスケジューリング段階に達する前に、QoS は内部 DSCP を使用して、4 つの出力キューのうち 1 つを出力処理用に選択します。DSCP から出力キューへのマッピングは、qos map dscp to tx-queue コマンドを使用して設定します。

CoS/DSCP および DSCP/CoS マップのデフォルト値は、ネットワークに適している場合も、適していない場合もあります。

詳しい設定手順については、「DSCP マップの設定」を参照してください。

キューイングおよびスケジューリング

各物理ポートには、4 つの送信キュー(出力キュー)があります。送信する必要がある各パケットは、いずれかの送信キューに格納されます。各送信キューは、送信キュー スケジューリング アルゴリズムに基づいて処理されます。

(DSCP のマークダウンも含めて)最終的な送信 DSCP が算出されると、送信 DSCP と送信キューのマッピング設定によって、送信キューが決定されます。パケットは、送信 DSCP から決定された送信ポートの送信キューに格納されます。送信 DSCP と送信キューのマッピングを設定するには、qos map dscp to tx-queue コマンドを使用します。パケットが入力ポートおよび出力ポートの QoS ポリシーおよび信頼状態の設定によって判別された IP 以外のパケットである場合、送信 DSCP は内部 DSCP 値です。

詳しい設定手順については、「送信キューの設定」を参照してください。

AQM

Active Queue Management(AQM)は、バッファ オーバーフローが発生する前に輻輳に関して通知する先行型の手法です。AQM は、Dynamic Buffer Limiting(DBL)を使用して実行されます。DBL はスイッチ内の各トラフィックのキュー長を追跡します。フローのキュー長が制限を超えると、DBL はパケットをドロップするか、パケット ヘッダーの Explicit Congestion Notification(ECN; 明示的輻輳通知)ビットを設定します。

DBL は、フローをアダプティブとアグレッシブの 2 つのカテゴリに分類します。アダプティブ フローは、輻輳通知を受信するとパケット伝送レートを減らします。アグレッシブ フローは、輻輳通知に対してどのような修正措置も行いません。すべてのアクティブ フローに対して、スイッチは [buffersUsed] および [credits] という 2 つのパラメータを保持します。すべてのフローは、グローバル パラメータの [max-credits] から開始されます。credits が [aggressive-credits](別のグローバル パラメータ)より少ないフローの場合、アグレッシブ フローとみなされ、[aggressiveBufferLimit] と呼ばれる小さなバッファ制限が指定されます。

キュー長は、パケット数によって測定されます。キュー内のパケット数により、フローに与えられるバッファ スペースのサイズが決定します。フローのキュー長が長い場合、算出値は低下します。これにより、新規着信フロー用のバッファ スペースがキュー内に確保されます。この結果、すべてのフローが、キュー内につり合いがとれた割合のパケットを置くことができます。

インターフェイスごとに 4 つの送信キューがあり、DBL はキュー単位のメカニズムであるため、DSCP 値により DBL の適用がさらに複雑になる可能性があります。

次の表に、デフォルトの DSCP と送信キューのマッピングを示します。

 

DSCP
txQueue

0 ~ 15

1

16 ~ 31

2

32 ~ 48

3

49 ~ 63

4

たとえば、2 つのストリームを送信するとき、1 つのストリームは 16 の DSCP で、もう 1 つのストリームは値が 0 の場合、これらのストリームは別々のキューから送信されます。txQueue 2 のアグレッシブ フロー(16 の DSCP を持つパケット)がリンクを飽和させる可能性があっても、0 の DSCP を持つパケットは txQueue 1 から送信されるため、アグレッシブ フローでブロックされません。したがって、DBL がなくても、DSCP 値によって txQueue 1、3、または 4 に配置されるパケットはアグレッシブ フローによってドロップされません。

送信キュー間のリンク帯域幅の共有

送信ポートの 4 つの送信キューは、その送信ポートで使用できるリンク帯域幅を共有します。送信キュー間でリンク帯域幅を共有する方法を変更するには、インターフェイス送信キュー コンフィギュレーション モードで bandwidth コマンドを使用します。このコマンドを使用して、各送信キューに最低限保証される帯域幅を指定します。

デフォルトでは、すべてのキューがラウンド ロビン方式でスケジューリングされています。

Supervisor Engine II-Plus、Supervisor Engine II-Plus TS、Supervisor Engine III、Supervisor Engine IV を使用するシステムの場合、帯域幅を設定できるのは次のポートに限られます。

スーパーバイザ エンジン上のアップリンク ポート

WS-X4306-GB GBIC モジュール上のポート

WS-X4506-GB-T CSFP モジュール上のポート

WS-X4232-GB-RJ モジュール上の 2 つの 1000BASE-X ポート

WS-X4418-GB モジュール上の最初の 2 つのポート

WS-X4412-2GB-TX モジュール上の 2 つの 1000BASE-X ポート

Supervisor Engine V を使用するシステムの場合、帯域幅はすべてのポート(10/100 ファスト イーサネット、10/100/1000BASE-T、1000BASE-X)で設定できます。

ストリクト プライオリティ/低遅延キューイング

インターフェイスコンフィギュレーション モードで priority high 送信キュー コンフィギュレーション コマンドを使用し、各ポートの送信キュー 3 に高いプライオリティを設定できます。送信キュー 3 に高いプライオリティを設定した場合、送信キュー 3 のパケットは、他のキューのパケットよりも優先的にスケジューリングされます。

送信キュー 3 に高いプライオリティを設定した場合、パケットが他の送信キューよりも優先的にスケジューリングされるのは、割り当てられた帯域幅共有の設定を超えていない場合に限られます。設定されたシェープ レートを超過するトラフィックは、キューに格納されたあと、設定された速度で送信されます。バースト トラフィックによってキューの容量を超過した場合には、設定されたシェープ レートを維持するために、パケットがドロップされます。

トラフィック シェーピング

トラフィック シェーピングは、トラフィックが設定上の最大送信速度に従うように、発信トラフィックの速度を制御する能力を提供します。ある制限に適合するトラフィックを、ダウンストリーム トラフィックの速度要件を満たすようにシェーピングし、データ速度の不一致を解消できます。

各送信キューに最大速度を設定するには、shape コマンドを使用します。この設定により、トラフィックの最大速度を指定できます。設定されたシェープ レートを超過するトラフィックは、キューに格納されたあと、設定された速度で送信されます。バースト トラフィックによってキューの容量を超過した場合には、設定されたシェープ レートを維持するために、パケットがドロップされます。

パケットの変更

パケットの分類、ポリシング、およびキューイングによって、QoS が提供されます。次のプロセスで、パケットの変更が行われることがあります。

IP パケットの場合、分類によって、パケットに DSCP が割り当てられます。ただし、この段階でパケットは変更されません。割り当てられた DSCP が伝送されるだけです。その理由は、QoS の分類と ACL の検索が並行して実行され、ACL によってパケットの拒否とロギングが指示される場合があるためです。この状況では、パケットは元の DSCP 付きで CPU に転送され、CPU で再び ACL ソフトウェアによって処理されます。

IP 以外のパケットの場合、分類によってパケットに内部 DSCP が割り当てられますが、非 IP パケットに DSCP はないので、上書きは行われません。代わりに、内部 DSCP がキューイングおよびスケジューリング決定の両方で使用され、さらにパケットが ISL または 802.1Q トランク ポートのいずれかで送信される場合、タグへの CoS プライオリティ値の書き込みに使用されます。

ポリシングでは、IP パケットおよび IP 以外のパケットに別の DSCP が割り当てられます(パケットがアウト オブ プロファイルであり、なおかつポリサーでマークダウン DSCP が指定されている場合)。この場合にも、パケットの DSCP は変更されませんが、マークダウン後の値が伝えられます。IP パケットの場合、あとの段階でパケットの変更が行われます。

PVQoS

PVQoS により、トランク ポート上の個別の VLAN に差別化された QoS が提供されます。この機能により、サービス プロバイダーはビジネスまたは住宅への各トランク ポートの個々の VLAN ベース サービスをレート制限できるようになります。企業の Voice over IP(VoIP)環境で、攻撃者が IP Phone になりすましている場合でも、この機能を使用して音声 VLAN をレート制限できます。ポート単位/VLAN 単位サービス ポリシーは、入力トラフィックまたは出力トラフィックのいずれかに別々に適用できます。

QoS およびソフトウェア処理されるパケット

Catalyst 4500 プラットフォームは、Cisco IOS ソフトウェアによって転送または生成されるパケットに、QoS マーキングまたはポリシング コンフィギュレーションを適用しません。これは、Cisco IOS がパケットを転送または生成している場合、ポートあるいは VLAN で設定された入力または出力 QoS ポリシーはパケットに適用されないためです。

ただし、Cisco IOS は生成された制御パケットすべてを正しくマーク付けし、内部 IP DSCP を使用して出力送信インターフェイスで送信キューを判断します。IP パケットの場合、内部 IP DSCP は IP パケットの IP DSCP フィールドにあります。IP 以外のパケットの場合、Cisco IOS は内部でパケット プライオリティを割り当て、内部 IP DSCP 値にマッピングします。

Cisco IOS は IP precedence 値 6 をコントロール プレーン上のルーティング プロトコル パケットに割り当てます。RFC 791 での記載のとおり、「インターネットワークの制御指定は、ゲートウェイ制御発信元が使用するためだけのものです」。つまり、Cisco IOS は IP ベースの制御パケット(Open Shortest Path First [OSPF]、Routing Information Protocol [RIP]、Enhanced Interior Gateway Routing Protocol [EIGRP] hello、キープアライブ)をマーク付けします。ルータへの、およびルータからの Telnet パケットにも IP precedence 値 6 が与えられます。出力インターフェイスがパケットをネットワークに送信した場合、割り当てられた値はパケットとともに残ります。

レイヤ 2 制御プロトコルの場合、ソフトウェアは内部 IP DSCP を割り当てます。通常、レイヤ 2 制御プロトコル パケットは、内部 DSCP 値 48(IP precedence 値 6 に対応)が割り当てられます。

内部 IP DSCP は、送信インターフェイス上で待機状態のパケットの送信キューを特定するために使用します。キューを送信するよう DSCP を設定する方法については、「送信キューの設定」を参照してください。

内部 IP DSCP は、トランク インターフェイス上でパケットが IEEE 802.1Q または ISL タグ付きで送信される場合、送信 CoS マーキングを決定するのにも使用します。DSCP/CoS マッピングを設定する方法については、「DSCP/CoS マップの設定」を参照してください。

Supervisor Engine II-Plus、II+10GE、VI、V、V-10GE、4924、4948、および 4948-10GE での Auto-QoS の設定

Auto-QoS 機能を使用すると、既存の QoS 機能の使用を簡略化できます。Auto-QoS はネットワーク設計に関する予測を行うもので、それによってスイッチは、デフォルトの QoS 動作を使用せずにトラフィック フローごとに優先順位を付け、適切に出力キューを使用できます(デフォルトでは、QoS はディセーブルです。スイッチではパケットの内容やサイズに関係なく、各パケットにベストエフォート型サービスが提供され、単一キューでパケットを送信します)。

Auto-QoS をイネーブルにすると、入力パケット ラベルに基づいてトラフィックを自動的に分類します。スイッチはこの分類結果を使用して適切な出力キューを選択します。

Auto-QoS コマンドを使用し、Cisco IP Phone と接続しているポートを識別し、アップリンクを通じて信頼できる VoIP トラフィックを受信するポートを識別します。そのあと、Auto-QoS は次の機能を実行します。

IP Phone の有無を検出します。

QoS分類を設定します。

出力キューを設定します。

ここでは、スイッチ上で Auto-QoS を設定する手順について説明します。

「生成される Auto-QoS 設定」

「Auto-QoS の設定上の影響」

「設定時の注意事項」

「VoIP 用の Auto-QoS のイネーブル化」

生成される Auto-QoS 設定

デフォルトでは、Auto-QoS はすべてのインターフェイス上でディセーブルに設定されています。

最初のインターフェイス上で Auto-QoS 機能をイネーブルにすると、次の動作が自動的に発生します。

QoS がグローバルにイネーブルになります( qos グローバル コンフィギュレーション コマンド)。

DBL がグローバルにイネーブルになります(qos dbl グローバル コンフィギュレーション コマンド)。

auto qos voip trust インターフェイス コンフィギュレーション コマンドを入力すると、指定されたインターフェイスがレイヤ 2 として設定されている場合、インターフェイス上の入力分類は、パケット内で受信される CoS ラベルを信頼するように設定されます。インターフェイスがレイヤ 3 として設定されている場合は、DSCP を信頼するように設定されます( 表35-2 を参照)。

auto qos voip cisco-phone インターフェイス コンフィギュレーション コマンドを入力すると、信頼境界機能がイネーブルになります。この機能は、Cisco Discovery Protocol(CDP; シスコ検出プロトコル)を使用して Cisco IP Phone の有無を検出します。Cisco IP Phone が検出されたとき、インターフェイスをレイヤ 2 として設定している場合、インターフェイスの入力分類は、パケットで受信した CoS ラベルを信頼するように設定されます。インターフェイスをレイヤ 3 として設定している場合、分類は DSCP を信頼するように設定されます。Cisco IP Phone が存在しない場合、パケットの CoS ラベルを信頼しないようにインターフェイスの入力分類が設定されます。


) 指定ポートでは、Cisco IP Phone 検出情報がスタンバイ スーパーバイザ エンジンで更新されません。スタンバイ エンジンがアクティブになると、CDP を通じて Cisco IP Phone を再検出します。したがって、SSO スイッチオーバー後に短期間ポートが信頼状態になりません。


信頼境界機能の詳細については、「信頼境界の設定によるポート セキュリティの確保」を参照してください。

auto qos voip cisco-phone または auto qos voip trust インターフェイス コンフィギュレーション コマンドを使用して Auto-QoS をイネーブルにすると、スイッチはトラフィック タイプと入力パケット ラベルに基づいて自動的に QoS 設定を生成し、 表35-2 に示されるコマンドをインターフェイスに適用します。

 

表35-2 生成される Auto-QoS 設定

説明
自動的に生成されるコマンド

スイッチが標準 QoS を自動的にイネーブルにし、DBL が CoS/DSCP マップ(着信パケット内の CoS 値を DSCP 値にマッピングします)を設定します。

Switch(config)# qos
Switch(config)# qos map cos 3 to 26
Switch(config)# qos dbl
Switch(config)# qos map cos 5 to 46

スイッチが自動的に DSCP/Tx キュー マッピングを設定します。

Switch(config)# qos map dscp 24 25 26 27 b28 29 30 31 to tx-queue 4
Switch(config)# qos map dscp 32 33 34 35 36 37 38 39 to tx-queue 4

スイッチが、パケットで受信される CoS/DSCP 値を信頼するように、インターフェイス上の入力分類を自動的に設定します。

Switch(config-if)# qos trust cos

または

Switch(config-if)# qos trust dscp

スイッチは、自動的に QoS サービス ポリシーを作成し、ポリシー上で DBL をイネーブルにし、インターフェイスに付加します。

Switch(config)# policy-map autoqos-voip-policy
Switch(config-pmap)# class class-default
Switch(config-pmap-c)# dbl

auto qos voip cisco-phone コマンドを入力すると、スイッチは自動的に信頼境界機能をイネーブルにします。この機能は、CDP を使用して Cisco IP Phone の有無を検出するものです。

Switch(config-if)# qos trust device cisco-phone

スイッチがより高いプライオリティをキュー 3 に割り当てます。キュー 3 のシェーピング制限が選択されるので、リンク速度は 33% です。共有がサポートされているポートにシェーピングを 33% として設定します。

これにより、より高いプライオリティのキューが他のキューを停止させないようになります。

Switch(config-if)# tx-queue 3
Switch(config-if-tx-queue)# priority high
Switch(config-if-tx-queue)# shape percent 33
Switch(config-if-tx-queue)# bandwidth percent 33

Auto-QoS の設定上の影響

Auto-QoS がイネーブルの場合、 auto qos voip インターフェイス コンフィギュレーション コマンドおよび生成された設定が、実行コンフィギュレーションに追加されます。

設定時の注意事項

Auto-QoS を設定する前に、次の点を理解する必要があります。

このリリースでは、Cisco IP Phone の VoIP に対してのみ Auto-QoS がスイッチを設定します。

Auto-QoS のデフォルト設定を使用する場合、Auto-QoS コマンドを入力する前にいかなる標準 QoS コマンドも設定しないでください。必要であれば、QoS 設定をきめ細かく調整できますが、Auto-QoS 設定が完了したあとに行うことを推奨します。

スタティックアクセス、ダイナミックアクセス、音声 VLAN アクセス、およびトランク ポート上で Auto-QoS をイネーブルにできます。

デフォルトでは、CDP はすべてのインターフェイス上でイネーブルになっています。Auto-QoS を適切に機能させるには、CDP をディセーブルにしないでください。

レイヤ 3 インターフェイス上で auto qos voip trust をイネーブルにするには、ポートをレイヤ 3 に変更してから、Auto-QoS を適用し、DSCP を信頼するようにします。

VoIP 用の Auto-QoS のイネーブル化

VoIP 用の Auto-QoS を QoS ドメイン内でイネーブルにするには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch# debug auto qos

(任意)Auto-QoS のデバッグをイネーブルにします。デバッグがイネーブルに設定された場合、スイッチは Auto-QoS がイネーブルまたはディセーブルに設定されると自動的に生成および適用される QoS コマンドを表示します。

ステップ 2

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

Switch(config)# interface interface-id

インターフェイス コンフィギュレーション モードを開始し、Cisco IP Phone に接続されているインターフェイス、またはネットワーク内部にある他のスイッチやルータに接続されているアップリンク インターフェイスを指定します。

ステップ 4

Switch(config-if)# auto qos voip {cisco-phone | trust}

Auto-QoS をイネーブルにします。

キーワードの意味は次のとおりです。

cisco-phone ― インターフェイスが Cisco IP Phone に接続されている場合、着信パケットの CoS ラベルは電話機が検出された場合のみ信頼されます。

trust ― アップリンク インターフェイスが信頼できるスイッチまたはルータに接続されていて、入力パケット内の VoIP トラフィック分類が信頼されます。

ステップ 5

Switch(config)# end

特権 EXEC モードに戻ります。

ステップ 6

Switch# show auto qos interface interface-id

入力を確認します。

このコマンドは、最初に適用された Auto-QoS 設定を表示するもので、ユーザにより有効になった変更は反映されません。

インターフェイス上で Auto-QoS をディセーブルにするには、no auto qos voip インターフェイス コンフィギュレーション コマンドを使用します。このコマンドを入力すると、スイッチは Auto-QoS 設定を、そのインターフェイスの標準 QoS デフォルト設定に変更します。このコマンドは、Auto-QoS によって実行されるグローバル コンフィギュレーションを変更しません。グローバル コンフィギュレーションは、同じ状態のままです。

次に、インターフェイス FastEthernet 1/1 に接続されているデバイスが Cisco IP Phone として検出された場合に、Auto-QoS をイネーブルにして、着信パケット内の CoS ラベルを信頼する例を示します。

Switch(config)# interface fastethernet1/1
Switch(config-if)# auto qos voip cisco-phone
 

次に、インターフェイス GigabitEthernet 1/1 に接続されたスイッチまたはルータが信頼できるデバイスの場合に、Auto-QoS をイネーブルにして、着信パケット内の CoS/DSCP ラベルを信頼する例を示します。

Switch(config)# interface gigabitethernet1/1
Switch(config-if)# auto qos voip trust
 

次に、Auto-QoS がイネーブルにされた場合に、自動的に生成される QoS コマンドを表示する例を示します。

Switch# debug auto qos
AutoQoS debugging is on
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# auto qos voip cisco-phone

Auto-QoS 情報の表示

初期 Auto-QoS 設定を表示するには、 show auto qos [ interface [ interface-id ]] 特権 EXEC コマンドを使用します。ユーザが変更した設定を表示するには、 show running-config 特権 EXEC コマンドを使用します。 show auto qos コマンドと show running-config コマンド出力を比較することで、ユーザが定義した QoS 設定を識別できます。

Auto-QoS の影響を受ける QoS 設定に関する情報を表示するには、次のいずれかのコマンドを使用します。

show qos

show qos map

show qos interface [ interface-id ]

これらのコマンドの詳細については、このリリースに対応するコマンド リファレンスを参照してください。

Auto-QoS 設定例

ここでは、ネットワーク内で Auto-QoS を実装する方法について説明します(図35-5 を参照)。

図35-5 Auto-QoS を設定したネットワークの例

 

図35-5 のインテリジェントなワイヤリング クローゼットは、Catalyst 4500 スイッチで構成されています。この例では、VoIP トラフィックを他のすべてのトラフィックよりも優先させることを目的としています。これを実行するには、ワイヤリング クローゼット内の QoS ドメインのエッジにあるスイッチ上で Auto-QoS をイネーブルにします。


) Auto-QoS コマンドを入力する前にいかなる標準 QoS コマンドも設定しないでください。QoS 設定をきめ細かく調整できますが、Auto-QoS 設定が完了したあとに行うことを推奨します。


VoIP トラフィックを他のすべてのトラフィックよりも優先させるために、QoS ドメインのエッジにあるスイッチを設定するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch# debug auto qos

Auto-QoS のデバッグをイネーブルにします。デバッグがイネーブルに設定されると、スイッチは Auto-QoS がイネーブルになる場合に自動的に生成される QoS 設定を表示します。

ステップ 2

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

Switch(config)# cdp enable

CDP をグローバルにイネーブルにします。デフォルトでは、CDP はイネーブルに設定されています。

ステップ 4

Switch(config)# interface fastethernet2/3

インターフェイス コンフィギュレーション モードを開始します。

ステップ 5

Switch(config-if)# auto qos voip cisco-phone

インターフェイス上で Auto-QoS をイネーブルにし、インターフェイスが Cisco IP Phone に接続されていることを指定します。

着信パケット内の CoS ラベルは、IP Phone が検出された場合のみ信頼されます。

ステップ 6

Switch(config)# interface fastethernet2/5

インターフェイス コンフィギュレーション モードを開始します。

ステップ 7

Switch(config)# auto qos voip cisco-phone

インターフェイス上で Auto-QoS をイネーブルにし、インターフェイスが Cisco IP Phone に接続されていることを指定します。

ステップ 8

Switch(config)# interface fastethernet2/7

インターフェイス コンフィギュレーション モードを開始します。

ステップ 9

Switch(config)# auto qos voip cisco-phone

インターフェイス上で Auto-QoS をイネーブルにし、インターフェイスが Cisco IP Phone に接続されていることを指定します。

ステップ 10

Switch(config)# interface gigabit1/1

インターフェイス コンフィギュレーション モードを開始します。

ステップ 11

Switch(config)# auto qos voip trust

インターフェイス上で Auto-QoS をイネーブルにし、インターフェイスが信頼できるルータまたはスイッチに接続されていることを指定します。

ステップ 12

Switch(config)# end

特権 EXEC モードに戻ります。

ステップ 13

Switch# show auto qos

入力を確認します。

このコマンドは、最初に適用された Auto-QoS 設定を表示するもので、ユーザにより有効になった変更は反映されません。

Auto-QoS の影響を受ける QoS 設定に関する情報については、「Auto-QoS 情報の表示」を参照してください。

ステップ 14

Switch# show auto qos interface interface-id

入力を確認します。

このコマンドは、最初に適用された Auto-QoS 設定を表示するもので、ユーザにより有効になった変更は反映されません。

ステップ 15

Switch# copy running-config startup-config

auto qos voip インターフェイス コンフィギュレーション コマンドと生成された Auto-QoS 設定をコンフィギュレーション ファイルに保存します。

Supervisor Engine II-Plus、II+10GE、VI、V、V-10GE、4924、4948、および 4948-10GE での QoS の設定

QoS を設定する前に、次の事項を完全に理解する必要があります。

使用するアプリケーションのタイプ、およびネットワーク上のトラフィック パターン

トラフィックの特性およびネットワークの要件。バースト性のトラフィックかどうか。音声およびビデオ ストリーム用に帯域幅を予約する必要があるかどうか

帯域幅の要件およびネットワークの速度

ネットワーク上の輻輳発生箇所

ここでは、Catalyst 4500 シリーズ スイッチ上で QoS を設定する手順について説明します。

「QoS のデフォルト設定」

「設定時の注意事項」

「QoS のグローバルなイネーブル化」

「信頼境界の設定によるポート セキュリティの確保」

「DBL のイネーブル化」

「名前付き集約ポリサーの作成」

「QoS ポリシーの設定」

「CoS 変換の設定」

「UBRL の設定」

「PVQoS のイネーブル化」

「インターフェイス上での QoS のイネーブル化またはディセーブル化」

「レイヤ 2 インターフェイス上での VLAN ベース QoS の設定」

「インターフェイスの信頼状態の設定」

「インターフェイスの CoS 値の設定」

「インターフェイスの DSCP 値の設定」

「送信キューの設定」

「DSCP マップの設定」

「レイヤ 2 制御パケット QoS のイネーブル化」

QoS のデフォルト設定

表35-3 に、QoS のデフォルト設定を示します。

 

表35-3 QoS のデフォルト設定

機能
デフォルト値

QoS のグローバルな設定

ディセーブル

インターフェイス QoS の設定(ポート単位)

QoS がグローバルにイネーブルの場合、イネーブル

インターフェイス CoS 値

0

インターフェイス DSCP 値

0

CoS/DSCP マップ
(CoS 値から設定された DSCP)

CoS 0 = DSCP 0
CoS 1 = DSCP 8
CoS 2 = DSCP 16
CoS 3 = DSCP 24
CoS 4 = DSCP 32
CoS 5 = DSCP 40
CoS 6 = DSCP 48
CoS 7 = DSCP 56

DSCP/CoS マップ
(DSCP 値から設定された CoS)

DSCP 0 ~ 7 = CoS 0
DSCP 8 ~ 15 = CoS 1
DSCP 16 ~ 23 = CoS 2
DSCP 24 ~ 31 = CoS 3
DSCP 32 ~ 39 = CoS 4
DSCP 40 ~ 47 = CoS 5
DSCP 48 ~ 55 = CoS 6
DSCP 56 ~ 63 = CoS 7

DSCP からマークダウンされた DSCP へのマッピング(ポリシング後の DSCP)

マークダウンされた DSCP 値は元の DSCP 値(マークダウンなし)と等しい

ポリサー

なし

ポリシー マップ

なし

送信キューの共有

リンク帯域幅の 1/4

送信キュー容量

ポートの送信キュー エントリの 1/4。ポートの送信キュー容量はポートのタイプによって異なり、送信キュー 1 つ当たり 240 ~ 1920 パケット

送信キューのシェーピング

なし

DCSP/送信キュー マップ

DSCP 0 ~ 15 キュー 1
DSCP 16 ~ 31 キュー 2
DSCP 32 ~ 47 キュー 3
DSCP 48 ~ 63 キュー 4

ハイ プライオリティ送信キュー

ディセーブル

QoS がディセーブルの場合

インターフェイスの信頼状態

trust dscp

QoS がイネーブルの場合

QoS がイネーブルに設定され、その他の QoS パラメータがすべてデフォルト値である場合、送信されるすべてのトラフィックで IP DSCP が 0、レイヤ 2 CoS が 0 に設定される

インターフェイスの信頼状態

untrusted(信頼性がない)

設定時の注意事項

QoS の設定を始める前に、次の点を理解する必要があります。

スイッチ上に EtherChannel ポートを設定している場合、EtherChannel に QoS の分類およびポリシングを設定する必要があります。EtherChannel を形成する個々の物理ポートに、送信キューの設定が必要です。

IP フラグメントが、QoS 用にトラフィックを分類するために使用される ACL で設定された送信元および宛先に一致するが、ACL のレイヤ 4 ポート番号には一致しない場合、ACL とは引き続き一致するとされ、優先されます。意図する動作が IP フラグメントにベスト エフォートのサービスを提供する場合、次の 2 つの ACE が、トラフィックの分類に使用される ACL に追加される必要があります。

access-list xxx deny udp any any fragments
access-list xxx deny tcp any any fragments
 

設定されている IP 拡張 ACL と IP オプションのマッチングによって、QoS を強制することはできません。これらのパケットは CPU に送信され、ソフトウェアによって処理されます。IP オプションは、IP ヘッダー内のフィールドで示されます。

スイッチが受信した制御トラフィック(スパニングツリーBridge Protocol Data Unit [BPDU; ブリッジ プロトコル データ ユニット]、ルーティング アップデート パケットなど)は、すべての入力 QoS 処理の対象になります。

IP ルーティングがディセーブルの場合、set コマンドをポリシー マップで使用することはできません(デフォルトではイネーブル)。

dot1q トンネル ポートでは、レイヤ 2 一致基準だけがタグ付きパケットに適用できます。ただし、タグなしパケットにはすべての一致基準を適用できます。

トランク ポートでは、レイヤ 2 一致基準のみを複数の 802.1q タグを持つパケットに適用できます。


) QoS は、ユニキャスト トラフィックとマルチキャスト トラフィックの両方を処理します。


QoS のグローバルなイネーブル化

QoS をグローバルにイネーブルにするには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch# conf terminal

コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# qos

スイッチ上で QoS をイネーブルにします。

QoS をグローバルにディセーブルにするには、 no qos コマンドを使用します。

ステップ 3

Switch(config)# end

コンフィギュレーション モードを終了します。

ステップ 4

Switch# show qos

設定を確認します。

次に、QoS をグローバルにイネーブルにし、設定を確認する例を示します。

Switch# config terminal
Switch(config)# qos
Switch(config)# end
Switch#
Switch# show qos
QoS is enabled globally
Switch#

信頼境界の設定によるポート セキュリティの確保

通常のネットワークでは、Cisco IP Phone をスイッチ ポートに接続します( 第 36 章「音声インターフェイスの設定」 を参照)。通常の場合、電話機からスイッチに送信されたトラフィックは、802.1Q ヘッダーを使用するタグによってマーク付けされます。このヘッダーには VLAN 情報、およびパケットのプライオリティを決定する CoS の 3 ビット フィールドが格納されます。ほとんどの Cisco IP Phone 設定では、電話機からスイッチに送信されたトラフィックは信頼され、音声トラフィックがネットワーク内の他のタイプのトラフィックよりも適切に優先されます。 qos trust cos インターフェイス コンフィギュレーション コマンドを使用することにより、ポートで受信されたすべてのトラフィックの CoS ラベルを信頼するように、電話機の接続先であるスイッチ ポートを設定できます。


) Cisco IOS Release 12.2(31)SG 以降では、Supervisor Engine V-10GE を使用すれば、ポートの信頼状態に関わらずパケットの IP DSCP 値に基づいてトラフィックを分類できます。このため、Cisco IP Phone が検出されない場合でも、データ トラフィックは IP DSCP 値に基づいて分類されます。これにより出力キュー選択が影響されることはありません。出力キュー選択はこれまでと同じく着信ポート信頼設定に基づきます。送信キューの設定については、「送信キューの設定」を参照してください。


場合により、IP Phone に PC またはワークステーションを接続することもできます。この場合は、 switchport priority extend cos インターフェイス コンフィギュレーション コマンドを使用して、PC から受信したトラフィックよりも優先するように、スイッチ CLI(コマンドライン インターフェイス)を通して電話機を設定できます。このコマンドを使用すると、PC がハイプライオリティのデータ キューを利用しないように設定できます。

ただし、ユーザが電話機を省略して PC を直接スイッチに接続した場合、スイッチは PC によって生成された CoS ラベルを信頼し(信頼された CoS 設定のため)、ハイプライオリティ キューが誤って使用される可能性があります。信頼境界機能は、CDP を使用してスイッチ ポート上で Cisco IP Phone(Cisco IP Phone 7910、7935、7940、7960)の存在を検出することにより、この問題を解決します。


) スイッチまたは該当するポートで CDP がグローバルに稼働していない場合、信頼境界は機能しません。


ポート上に信頼境界を設定する場合、信頼がディセーブルにされます。電話機が接続されて検出されると、信頼がイネーブルになります(電話機を検出するには数分かかります)。そして、電話機が取り外され(検出されなければ)、信頼境界機能はスイッチ ポートの trusted 設定をディセーブルにし、ハイ プライオリティのキューの誤使用を防ぎます。


) 指定ポートでは、Cisco IP Phone 検出情報がスタンバイ スーパーバイザ エンジンで更新されません。スタンバイ エンジンがアクティブになると、CDP を通じて Cisco IP Phone を差異検出します。したがって、SSO スイッチオーバー後に短期間ポートが信頼状態になりません。


ポート上の信頼境界をイネーブルにするには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# interface interface-id

インターフェイス コンフィギュレーション モードを開始し、IP Phone に接続されているインターフェイスを指定します。

有効なインターフェイスは物理インターフェイスなどです。

ステップ 3

Switch(config)# qos trust [cos | dscp]

受信したトラフィックの CoS 値を信頼するように、インターフェイスを設定します。デフォルトで、ポートは trusted になっていません。

ステップ 4

Switch(config)# qos trust device cisco-phone

Cisco IP Phone が信頼できるデバイスであることを指定します。

信頼境界と Auto-QoS( auto qos voip インターフェイス コンフィギュレーション コマンド)は相互に排他的なので、同時にイネーブルにできません。

ステップ 5

Switch(config)# end

特権 EXEC モードに戻ります。

ステップ 6

Switch# show qos interface interface-id

入力を確認します。

ステップ 7

Switch# copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

信頼境界機能をディセーブルにするには、 no qos trust device cisco-phone インターフェイス コンフィギュレーション コマンドを使用します。

DBL のイネーブル化


) Supervisor Engine 6-E は、この機能をサポートしていません。


DBL は、Catalyst 4500 プラットフォームでのアクティブ キュー管理を提供します(詳細については、AQMを参照してください)。

「選択的」DBL を介して、DBL アルゴリズムの対象となる(または対象とならない)フローを選択できます。特定の IP DSCP 値で、または特定の CoS 値で、DBL をグローバルにイネーブルにできます。

ここでは、次の作業について説明します。

「DBL のグローバルなイネーブル化」

「DBL の選択的イネーブル化」

DBL のグローバルなイネーブル化

DBL をグローバルにイネーブルにするには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# qos dbl

スイッチ上で DBL をイネーブルにします。

AQM をディセーブルにするには、 no qos dbl コマンドを使用します。

ステップ 2

Switch(config)# end

コンフィギュレーション モードを終了します。

ステップ 3

Switch# show qos dbl

設定を確認します。

次に、DBL をグローバルにイネーブルにし、設定を確認する例を示します。

Switch# configure terminal
Switch(config)# qos dbl
Global DBL enabled
Switch(config)# end
Switch# show qos dbl
QOS is enabled globally
DBL is enabled globally on DSCP values:
0-63
DBL flow includes vlan
DBL flow includes layer4-ports
DBL does not use ecn to indicate congestion DBL exceed-action probability: 15% DBL max credits: 15 DBL aggressive credit limit: 10 DBL aggressive buffer limit: 2 packets
Switch#
 

サービスポリシーを適用して、出力インターフェイス方向で DBL をイネーブルにできます。

Switch# conf terminal
Switch(config)# policy-map dbl
Switch(config-pmap)# class class-default
Switch(config-pmap-c)# dbl
Switch(config-pmap-c)# end
Switch#
00:08:12: %SYS-5-CONFIG_I: Configured from console by console
Switch# conf terminal
Switch(config)# int gig 1/2
Switch(config-if)# service-policy output dbl
Switch(config-if)# end
Switch#

DBL の選択的イネーブル化

DSCP 値により、IP パケット(単一またはタグなし)に対してのみ選択的に DBL を適用できます(特定 IP DSCP 値での DBL のイネーブル化を参照)。非 IP パケットまたは二重タグ付きパケット(Q-in-Q など)に DBL を選択的に適用するには、次に説明するように CoS 値を使用する必要があります(特定 CoS 値での DBL のイネーブル化を参照)。

次の事項が可能です。

「特定 IP DSCP 値での DBL のイネーブル化」

「特定 CoS 値での DBL のイネーブル化」

特定 IP DSCP 値での DBL のイネーブル化

DBL アクションは、送信キュー(インターフェイスごとに 4 つ)で実行されます。キューを送信するために IP DSCP からのマッピングを操作するには、qos map dscp dscp-values to tx-queue queue-id コマンドを使用します(方法については、送信キューの設定を参照)。

特定の IP DSCP 値で DBL をイネーブルにするには、次の作業を実行します。

 

コマンド
目的

ステップ 1

Switch(config)# [no] qos dbl dscp-based <value, value_range>

特定の IP DSCP 値で DBL をイネーブルにします。

ステップ 2

Switch(config)# end

コンフィギュレーション モードを終了します。

ステップ 3

Switch# show qos dbl

設定を確認します。

次に、DSCP 値 1 ~ 10 で DBL を選択的にイネーブルにする例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# qos dbl dscp-based 1-10
Switch(config)# end
Switch# show qos dbl
QOS is enabled globally
DBL is enabled globally on DSCP values:
1-10
DBL flow includes vlan
DBL flow includes layer4-ports
DBL does not use ecn to indicate congestion DBL exceed-action probability: 15%
DBL max credits: 15
DBL aggressive credit limit: 10
DBL aggressive buffer limit: 2 packets
Switch#
 

次に、DSCP 値 1 ~ 10 で DBL を選択的にディセーブルにし、設定を確認する例を示します。

Switch# configure terminal
Switch(config)# no qos dbl dscp-based 1-5, 7
Switch(config)# end
Switch# show qos dbl
QOS is enabled globally
DBL is enabled globally on DSCP values:
6,8-10
DBL flow includes vlan
DBL flow includes layer4-ports
DBL does not use ecn to indicate congestion DBL exceed-action probability: 15% DBL max credits: 15 DBL aggressive credit limit: 10 DBL aggressive buffer limit: 2 packets
Switch#
 

DSCP 以外のクラス アトリビュートに基づいて DBL を適用しても、引き続きポリシーマップを出力インターフェイスに付加する必要があります(ポリシー マップ クラス アクションの設定)。

ネットワーク ポリシーに従って値が設定されている場合、DBL が抑圧するアグレッシブ フローの出力インターフェイスで「Trust DSCP」を設定する必要があります。

Interface <ingress>
qos trust dscp

特定 CoS 値での DBL のイネーブル化

非 IP パケットまたは二重タグ付きパケット(たとえば、Q-in-Q)を使用するつもりであれば、CoS 値を使用して、選択的に DBL を適用する必要があります。

一重タグ付き IP パケットの場合は、次のアプローチを使用します。「特定 IP DSCP 値での DBL のイネーブル化」に示すように、グローバル qos dbl dscp-based コマンドを指定します。

Interface <ingress>
switchport mode trunk
qos trust cos
 

非 IP パケットまたは二重タグ付きパケットの場合、次の方法を使用します。

 

コマンド
目的

ステップ 1

Switch(config)# qos dbl

DBL をグローバルにイネーブルにします。

ステップ 2

Switch(config)# end

コンフィギュレーション モードを終了します。

ステップ 3

Switch(config)# class-map cos

トラフィック クラスを定義します。

ステップ 4

Switch(config-cmap)# match cos x y

一致基準として使用する CoS 値を指定します。

ステップ 5

Switch(config-cmap)# exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 6

Switch(config)# policy-map cos

ユーザが指定する名前でポリシー マップを作成します。

ステップ 7

Switch(config-pmap)# class cos

ポリシー マップが使用するクラス マップを指定します。

ステップ 8

Switch(config-pmap-c)# dbl

ポリシー上で DBL をイネーブルにします。

ステップ 9

Switch(config-pmap-c)# end

EXEC モードに戻ります。

ステップ 10

Switch# show policy-map cos

設定を確認します。

ステップ 11

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 12

Switch(config)# interface gigabitEthernet 1/20

設定をインターフェイスに適用します。

ステップ 13

Switch(config-if)# service-policy output cos

ポリシー マップをインターフェイスに付加します。

ステップ 14

Switch# show policy-map interface

設定を確認します。


) CoS 変換の使用の詳細については、「CoS 変換の設定」を参照してください。


CoS 値 2 および 3 で DBL を選択的にイネーブルにするには、次の手順を実行します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# qos dbl
Switch(config)# end
Switch# configure terminal
Switch(config)# class-map cos
Switch(config-cmap)# match cos 2 3
Switch(config-cmap)# exit
Switch(config)# policy-map cos
Switch(config-pmap)# class cos
Switch(config-pmap-c)# dbl
Switch(config-pmap-c)# end
Switch# show policy-map cos
Policy Map cos
Class cos
dbl
Switch# configure terminal
Switch(config)# interface gigabitEthernet 1/20
Switch(config-if)# service-policy output cos
Switch# show policy-map interface
GigabitEthernet1/20
 
Service-policy output: cos
 
Class-map: cos (match-all)
0 packets
Match: cos 2 3
dbl
 
Class-map: class-default (match-any)
0 packets
Match: any
0 packets

名前付き集約ポリサーの作成

名前付き集約ポリサーを作成するには、次の作業を行います。

 

コマンド
目的

Switch(config)# qos aggregate-policer policer_name rate burst [[ conform-action { transmit | drop }] [ exceed-action { transmit | drop | policed-dscp-transmit}]]

名前付き集約ポリサーを作成します。

集約ポリサーは、1 つまたは複数のインターフェイスに適用できます。ただし、あるインターフェイスの入力方向と、別のインターフェイスの出力方向に同じポリサーを適用すると、スイッチング エンジン上で 2 つの異なる同等の集約ポリサーを作成したことになります。各ポリサーは同じポリシング パラメータを使用し、1 つのポリサーは 1 つのインターフェイスの入力トラフィックのポリシング、もう 1 つのポリサーは別のインターフェイスの出力トラフィックのポリシングを行います。集約ポリサーを複数のインターフェイスに同じ方向で適用した場合、スイッチング エンジン上に作成されるそのポリサーのインスタンスは 1 つだけです。

同様に、集約ポリサーをポートまたは VLAN に適用できます。同じ集約ポリサーをポートおよび VLAN に適用した場合、スイッチング エンジン上で 2 つの異なる同等の集約ポリサーを作成したことになります。各ポリサーは同じポリシング パラメータを使用し、1 つのポリサーは設定されたポート上のトラフィックのポリシング、もう 1 つのポリサーは設定された VLAN 上のトラフィックのポリシングを行います。集約ポリサーを複数のポートのみ、または複数の VLAN のみに適用した場合、スイッチング エンジン上に作成されるそのポリサーのインスタンスは 1 つだけです。

1 つの集約ポリサーを複数のポートおよび VLAN に異なる方向で適用した場合、実質的には、同等の 4 つの集約ポリサー(入力方向でポリサーを共有するすべてのポート用、出力方向でポリサーを共有するすべてのポート用、入力方向でポリサーを共有するすべての VLAN 用、および出力方向でポリサーを共有するすべての VLAN 用の集約ポリサー)を作成したことになります。

名前付き集約ポリサーを作成する場合、次の点に注意してください。

rate パラメータ値の有効範囲は、次のとおりです。

最小 ― 32 Kbps(キロビット/秒)

最大 ― 32 Gbps(ギガビット/秒)

「設定時の注意事項」を参照してください。

速度(rate)はビット/秒で入力できますが、次の簡略表記を使用することもできます。

k は、1,000 bps を表します。

m は、1,000,000 bps を表します。

g は、1,000,000,000 bps を表します。


) 小数点を使用することもできます。たとえば、1,100,000 bps の速度は、1.1m と入力できます。


burst パラメータ値の有効範囲は、次のとおりです。

最小 ― 1 KB

最大 ― 512 MB

バースト サイズ(burst)はバイトで入力できますが、次の簡略表記を使用することもできます。

k は、1,000 バイトを表します。

m は、1,000,000 バイトを表します。

g は、1,000,000,000 バイトを表します。


) 小数点を使用することもできます。たとえば、1,100,000 バイトのバーストは、1.1m と入力できます。


一致するイン プロファイルトラフィックに対する conform アクションを、任意で次のように指定できます。

デフォルトの conform アクションは、 transmit です。

一致するトラフィックをすべてドロップするには、 drop キーワードを入力します。


dropを conform アクションとして設定すると、QoS はdropを exceed アクションとして設定します。


Committed Information Rate(CIR; 認定情報レート)を超過するトラフィックについて、exceed アクションを任意で次のように指定できます。

デフォルトの exceed アクションは、 drop です。

一致するアウト オブ プロファイルトラフィックを、マークダウン マップの指定に従ってマークダウンするには、 policed-dscp-transmit キーワードを入力します。

ポリシングをまったく行わないようにするには、 transmit キーワードを入力して、一致したアウト オブ プロファイルトラフィックをすべて送信します。

名前付き集約ポリサーを削除するには、 no qos aggregate-policer policer_name コマンドを使用します。

次に、10 Mbps のレート制限および 1 MB のバースト サイズを指定し、適合するトラフィックを送信して、不適合トラフィックをマークダウンする、名前付き集約ポリサーの作成例を示します。

Switch# config terminal
Switch(config)# qos aggregate-policer aggr-1 10000000 1000000 conform-action transmit exceed-action policed-dscp-transmit
Switch(config)# end
Switch#
 

次に、設定を確認する例を示します。

Switch# show qos aggregate-policer aggr-1
Policer aggr-1
Rate(bps):10000000 Normal-Burst(bytes):1000000
conform-action:transmit exceed-action:policed-dscp-transmit
Policymaps using this policer:
Switch#

QoS ポリシーの設定

ここでは、QoS ポリシーの設定について説明します。

「QoS ポリシー設定の概要」

「クラス マップの設定(任意)」

「ポリシー マップの設定」

「インターフェイスへのポリシー マップの付加」


) QoS ポリシーは、ユニキャスト トラフィックおよびマルチキャスト トラフィックの両方を処理します。


QoS ポリシー設定の概要

QoS ポリシーを設定するには、トラフィック クラスを設定して、それらのトラフィック クラスに適用するポリシーを設定し、さらに、次のコマンドを使用してポリシーをインターフェイスに付加する必要があります。

access-list (IP トラフィックに対して任意 ― class-map コマンドを使用して IP トラフィックをフィルタリングできます。)

QoS では、次のアクセス リスト タイプがサポートされています。

 

プロトコル
番号付きアクセス リストのサポート
拡張アクセス リストの
サポート
名前付きアクセス リストのサポート

IP

あり:
1 ~ 99
1300 ~ 1999

あり:
100 ~ 199
2000 ~ 2699

含まれる

Catalyst 4500 シリーズ スイッチ上の ACL については、 第 43 章「ACL によるネットワーク セキュリティの設定」 を参照してください。

class-map (任意) ― class-map コマンドを使用してトラフィックの分類基準を指定し、1 つまたは複数のトラフィック クラスを定義します(クラス マップの設定(任意)を参照)。

policy-map ― 各トラフィック クラスに以下を定義するには、 policy-map コマンドを使用します。

内部 DSCP の作成元

集約または個別のポリシングおよびマーキング

service-policy service-policy コマンドを使用して、ポリシー マップをインターフェイスに付加します。

クラス マップの設定(任意)

ここでは、クラス マップの設定手順について説明します。

「クラス マップの作成」

「クラス マップでのフィルタリングの設定」

「クラス マップの設定の確認」

トラフィック クラスを定義し、そのクラスに属するトラフィックを識別するための一致基準を指定するには、 class-map コンフィギュレーション コマンドを使用します。一致文には、ACL、IP precedence 値、DSCP 値などの基準を指定できます。一致基準は、クラス マップ コンフィギュレーション モードで 1 つの一致文を入力して定義します。

クラス マップの作成

クラス マップを作成するには、次の作業を行います。

 

コマンド
目的
Switch(config)# [ no ] class-map [match-all | match-any] class_name

名前付きクラス マップを作成します。

クラス マップを削除するには、 no キーワードを使用します。

クラス マップでのフィルタリングの設定

クラス マップにフィルタリングを設定するには、次のいずれかの作業を行います。

 

コマンド
目的
Switch(config-cmap)# [ no ] match access-group { acl_index | name acl_name }

(任意)トラフィックのフィルタリングに使用する ACL の名前を指定します。

クラス マップから文を削除するには、 no キーワードを使用します。


) アクセス リストについては、このマニュアルでは説明しません。「QoS ポリシーの設定」に記載されている access-list の説明を参照してください。


Switch (config-cmap)# [ no ] match ip precedence ipp_value1 [ ipp_value2 [ ipp_valueN ]]

(任意 ― IP トラフィックのみ)一致基準として使用する IP precedence値(最大 8 つ)を指定します。クラス マップから文を削除するには、 no キーワードを使用します。

Switch (config-cmap)# [ no ] match ip dscp dscp_value1 [ dscp_value2 [ dscp_valueN ]]

(任意 ― IP トラフィックのみ)一致基準として使用する DSCP 値(最大 8 つ)を指定します。クラス マップから文を削除するには、 no キーワードを使用します。

Switch (config-cmap)# [ no ] match cos value1 [ value2] [ value3 } [ value4 }

+(任意 ― 非 IPv4 トラフィックのみ)一致基準として使用する CoS 値(最大 8 つ)を指定します。クラス マップから文を削除するには、 no キーワードを使用します。

非 IPv4 トラフィックについては、「設定時の注意事項」を参照してください。

Switch (config-cmap)# [ no ] match any

(任意)すべての IP トラフィックまたは IP 以外のトラフィックを一致させます。

Switch (config-cmap)# match flow ip {source-address | destination-address

(任意)IP 送信元アドレスまたは宛先アドレスが一意であるそれぞれのフローを新しいフローとして扱います。


) match ip precedence または match ip dscp クラス マップ コマンドを指定したクラス マップを使用する入力ポリシーまたは出力ポリシーでは、パケットを受信するポートが trust dscp に設定されている必要があります。設定されていない場合、IP パケット DSCP/IP precedence はトラフィックのマッチングには使用されず、受信ポートのデフォルト DSCP が使用されます。Cisco IOS Release 12.2(31)SG 以降では、Supervisor Engine V-10GE を使用すれば、ポートの信頼状態に関わらずパケットの IP DSCP 値に基づいてトラフィックを分類できます。



) Cisco IOS Release 12.2(31) では、Catalyst 4500 シリーズ スイッチは match cos をサポートします。



) Catalyst 4500 シリーズ スイッチ上のインターフェイスは、match classmapmatch destination-
address
match input-interfacematch mpls、match not、match protocolmatch qos-group、および match source-address キーワードをサポートしていません。


クラス マップの設定の確認

クラス マップの設定を確認するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch (config-cmap)# end

コンフィギュレーション モードを終了します。

ステップ 2

Switch# show class-map class_name

設定を確認します。

次に、 ipp5 という名前のクラス マップを作成し、IP precedence 5 のトラフィックと一致するようにフィルタリングを設定する例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# class-map ipp5
Switch(config-cmap)# match ip precedence 5
Switch(config-cmap)# end
Switch#

次に、設定を確認する例を示します。

Switch# show class-map ipp5
Class Map match-all ipp5 (id 1)
Match ip precedence 5
 
Switch#
 

次に、非 IPv4 トラフィックの CoS マッチングを設定する例を示します。ここでは、CoS 値が 5 のトラフィックをフィルタリングします。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# class-map maptwo
Switch(config-cmap)# match cos 5
Switch(config-cmap)# end
Switch#
 

次に、設定を確認する例を示します。

Switch# show class-map maptwo
Class Map match-all maptwo (id 1)
Match cos 5
 
Switch#

ポリシー マップの設定

1 つのインターフェイスに付加できるポリシー マップは、1 つに限られます。ポリシー マップには、一致基準およびポリサーがそれぞれ異なる 1 つまたは複数のポリシー マップ クラスを含めることができます。

インターフェイスで受信するトラフィック タイプごとに、個別のポリシー マップ クラスをポリシー マップ内に設定します。各トラフィック タイプ用のすべてのコマンドを、同一のポリシー マップ クラスに入れます。QoS が、一致したトラフィックに複数のポリシー マップ クラスのコマンドを適用することはありません。

ここでは、ポリシー マップの設定手順について説明します。

「ポリシー マップの作成」

「ポリシー マップ クラス アクションの設定」

ポリシー マップの作成

ポリシー マップを作成するには、次の作業を行います。

 

コマンド
目的
Switch(config)# [ no ] policy-map policy_name

ユーザが指定する名前でポリシー マップを作成します。

ポリシー マップを削除するには、 no キーワードを使用します。

ポリシー マップ クラス アクションの設定

ここでは、ポリシー マップ クラスのアクションを設定する手順について説明します。

「ポリシー マップ マーキング状態の設定」

「ポリシー マップ クラスの信頼状態の設定」

「ポリシー マップ クラスの DBL 状態の設定」

「ポリシー マップ クラスのポリシングの設定」

「名前付き集約ポリサーの使用」

「インターフェイス別ポリサーの設定」

ポリシー マップ マーキング状態の設定

ポリシー マップを設定してパケットに IP precedence または DSCP をマーク付けするには、次の作業を実行します。

 

コマンド
目的
Switch(config-pmap-c)# [ no ] set ip [precedence prec_value | dscp dscp_value ]

ポリシー マップ マーキング状態を設定します。この設定によって、後続処理のためにパケットの内部 DSCP が決定します。

設定した値をクリアし、デフォルトに戻すには、no キーワードを使用します。

ポリシー マップ クラスの信頼状態の設定

ポリシー マップ クラスの信頼状態を設定するには、次の作業を行います。

 

コマンド
目的
Switch(config-pmap-c)# [ no ] trust { cos | dscp ]

ポリシー マップ クラスの信頼状態を設定します。この設定によって、QoS が内部 DSCP 値の作成元として使用する値が選択されます(内部 DSCP 値を参照)。

設定した値をクリアし、デフォルトに戻すには、 no キーワードを使用します。

ポリシー マップ クラスの信頼状態を設定する際、次の点に注意してください。

no trust コマンドを入力すると、入力インターフェイス上に設定されている信頼状態を使用できます(これがデフォルトです)。

cos キーワードを使用すると、QoS は受信した CoS またはインターフェイス CoS に基づいて、内部 DSCP 値を設定します。

dscp キーワードを使用すると、QoS は受信した DSCP を使用します。

ポリシー マップ クラスの DBL 状態の設定

ポリシー マップ クラスの DBL 状態を設定するには、次の作業を行います。

 

コマンド
目的
Switch(config-pmap-c)# [ no ] dbl

ポリシー マップ クラスの DBL 状態を設定します。この設定によって、トラフィック フローのキュー長を追跡します(AQMを参照)。

DBL 値をクリアし、デフォルトに戻すには、 no キーワードを使用します。

ポリシー マップ クラスの DBL 状態を設定する場合、次の点に注意してください。

名前付き集約ポリサーを使用しているクラスは、機能するために同じ DBL 設定でなければなりません。

ポリシー マップ クラスのポリシングの設定

ここでは、ポリシー マップ クラスによるポリシングを設定する手順について説明します。

「名前付き集約ポリサーの使用」

「インターフェイス別ポリサーの設定」

名前付き集約ポリサーの使用

名前付き集約ポリサーを使用するには(名前付き集約ポリサーの作成を参照)、次の作業を行います。

 

コマンド
目的
Switch(config-pmap-c)# [ no ] police aggregate aggregate_name

あらかじめ定義されている集約ポリサーを使用します。

ポリシー マップ クラスからポリサーを削除するには、 no キーワードを使用します。

インターフェイス別ポリサーの設定

インターフェイスにインターフェイス単位のポリサーを設定するには(ポリシングおよびマーキングを参照)、次の作業を行います。

 

コマンド
目的

Switch(config-pmap-c)# [ no ] police rate burst [[ conform-action { transmit | drop }] [ exceed-action { transmit | drop | policed-dscp-transmit}]]

インターフェイス別のポリサーを設定します。

ポリシー マップ クラスからポリサーを削除するには、 no キーワードを使用します。

インターフェイス別ポリサーを設定する際、次の点に注意してください。

rate パラメータ値の有効範囲は、次のとおりです。

最小 ― 32 Kbps(32000 と入力)

最大 ― 32 Gbps(32000000000 と入力)


「設定時の注意事項」を参照してください。


速度(rate)はビット/秒で入力できますが、次の簡略表記を使用することもできます。

k は、1,000 bps を表します。

m は、1,000,000 bps を表します。

g は、1,000,000,000 bps を表します。


) 小数点を使用することもできます。たとえば、1,100,000 bps の速度は、1.1m と入力できます。


burst パラメータ値の有効範囲は、次のとおりです。

最小 ― 1 KB

最大 ― 512 MB

バースト サイズ(burst)はバイトで入力できますが、次の簡略表記を使用することもできます。

k は、1,000 バイトを表します。

m は、1,000,000 バイトを表します。

g は、1,000,000,000 バイトを表します。


) 小数点を使用することもできます。たとえば、1,100,000 バイトのバーストは、1.1m と入力できます。


一致するイン プロファイルトラフィックに対する conform アクションを、任意で次のように指定できます。

デフォルトの conform アクションは、 transmit です。

一致するトラフィックをすべてドロップするには、 drop キーワードを入力します。

任意で、CIR を超過するトラフィックについて、一致するアウト オブ プロファイルトラフィックをすべてマークダウン マップの指定に従ってマークダウンするには、 policed-dscp-transmit キーワードを入力します。「ポリシング済み DSCP マップの設定」を参照してください。

ポリシングをまったく行わないようにするには、 transmit キーワードを入力して、一致するアウト オブ プロファイルトラフィックをすべて送信します。

次の例は、 ipp5 という名前のクラス マップを使用する、 ipp5-policy という名前のポリシー マップを作成する方法を示しています。 クラス マップ ipp5 は、パケット優先順位を 6 に書き換えて、IP precedence 値の 5 と一致するトラフィックを集約ポリシングするように設定されています。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# policy-map ipp5-policy
Switch(config-pmap)# class ipp5
Switch(config-pmap-c)# set ip precedence 6
Switch(config-pmap-c)# dbl
Switch(config-pmap-c)# police 2000000000 2000000 conform-action transmit exceed-action policed-dscp-transmit
Switch(config-pmap-c)# end
 

次の例は、cs2 という名前のクラス マップを使用する、cs2-policy という名前のポリシー マップを作成する方法を示しています。クラス マップ cos5 は CoS 5 で一致するように設定されており、トラフィックを集約ポリシングするように設定されています。

Switch(config)# class-map cs2
Switch(config-cmap)# match cos 5
Switch(config-cmap)# exit
 
Switch(config)# policy-map cs2-policy
Switch(config-pmap)# class cs2
police 2000000000 2000000 conform-action transmit exceed-action policed-dscp-transmit
 
Switch(config)# int g5/1
Switch(config-if)# service-policy input cs2-policy
Switch(config-if)# end
 
Switch# sh class-map cs2
Class Map match-all cs2 (id 2)
Match cos 5
 
Switch# sh policy-map cs2-policy
Policy Map cs2-policy
Class cs2
police 2000000000 bps 2000000 byte conform-action transmit exceed-action policed-dscp-transmit Switch#

ポリシー マップの設定の確認

ポリシー マップの設定を確認するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config-pmap-c)# end

ポリシー マップ クラス コンフィギュレーション モードを終了します。


) ポリシー マップに別のクラスを作成するには class コマンドを入力します。


ステップ 2

Switch# show policy-map policy_name

設定を確認します。

次に、設定を確認する例を示します。

Switch# show policy-map ipp5-policy
show policy ipp5-policy
Policy Map ipp5-policy
class ipp5
set ip precedence 6
dbl
police 2000000000 2000000 conform-action transmit exceed-action
policed-dscp-transmit
Switch#

インターフェイスへのポリシー マップの付加

ポリシー マップをインターフェイスに付加するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# interface { vlan vlan_ID | { fastethernet | gigabitethernet } slot/interface | Port-channel number }

設定するインターフェイスを選択します。

ステップ 2

Switch(config-if)# [ no ] service-policy input policy_map_name

ポリシー マップをインターフェイスの入力方向に付加します。インターフェイスからポリシー マップの付加を解除するには、 no キーワードを使用します。

ステップ 3

Switch(config-if)# end

コンフィギュレーション モードを終了します。

ステップ 4

Switch# show policy-map interface { vlan vlan_ID | { fastethernet | gigabitethernet } slot/interface }

設定を確認します。


) IP ルーティングをグローバルにイネーブルにするまでは、インターフェイスのマーキング コマンドをイネーブルにできません。IP ルーティングがグローバルにディセーブルのときインターフェイスにサービス ポリシーを設定すると、設定は受け付けられても有効にはなりません。このような場合には、[Set command will not take effect since CEF is disabled.Please enable IP routing and CEF globally.(CEF がディセーブルなので設定されたコマンドは有効になりません。IP ルーティングおよび CEF をグローバルにイネーブルにしてください。)] というエラー メッセージが表示されます。IP ルーティングをグローバルにイネーブルにするには、ip routing および ip cef global コンフィギュレーション コマンドを実行します。その後、マーキング コマンドが有効になります。


次に、ポリシー マップ pmap1 をインターフェイス FastEthernet 5/36 に付加し、設定を確認する例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastethernet 5/36
Switch(config-if)# service-policy input pmap1
Switch(config-if)# end
Switch# show policy-map interface fastethernet 5/36
FastEthernet6/1
 
service-policy input:p1
 
class-map:c1 (match-any)
238474 packets
match:access-group 100
38437 packets
police:aggr-1
Conform:383934 bytes Exceed:949888 bytes
 
class-map:class-default (match-any)
0 packets
match:any
0 packets
Switch#

CoS 変換の設定


) Supervisor Engine 6-E は、この機能をサポートしていません。


レイヤ 2 VPN を提供するサービス プロバイダーは、サービス プロバイダーの VLAN を示す外部タグと顧客の VLAN を示す内部タグを持つ二重タグ トラフィックまたは Q-in-Q トラフィックを伝送します。外部タグの CoS に基づいて、SP ネットワーク内に Differentiated Service(diffserv; ディファレンシエーテッド サービス)を提供できます。

dot1q トンネル ポートで CoS 変換を使用すると、プロバイダーのコア ネットワークに入る dot1q トンネル パケットの外部タグの CoS 値を顧客の VLAN タグの CoS から導き出すことができます。その結果、プロバイダーは顧客の QoS セマンティックスをネットワーク内で保つことができます。

CoS 変換は、特定の着信 CoS 値に一致させ、一致したパケットに関連付けられている内部 DSCP を指定するようにユーザーが明示的に設定することによって実現されます。この内部 DSCP は、スイッチからの送信時に DSCP/CoS マッピングを通じて CoS に変換されます。外部 VLAN タグにはこの CoS 値がマーク付けされます。

このプロセス中に内部タグの CoS が保存され、サービス プロバイダーのネットワーク内で伝送されます。

次に、ポリシー マップが顧客の VLAN ID と CoS 値をネットワーク内で保つ例を示します。

Class Map match-any c0
Match cos 0
 
Class Map match-any c1
Match cos 1
 
Class Map match-any c2
Match cos 2
 
Class Map match-any c3
Match cos 3
 
Class Map match-any c4
Match cos 4
 
Class Map match-any c5
Match cos 5
 
Class Map match-any c6
Match cos 6
 
Class Map match-any c7
Match cos 7
 
Policy Map cos_mutation
Class c0
set dscp default
 
Class c1
set dscp cs1
 
Class c2
set dscp cs2
 
Class c3
set dscp cs3
 
Class c4
set dscp cs4
 
Class c5
set dscp cs5
 
Class c6
set dscp cs6
 
Class c7
set dscp cs7
 
 
interface GigabitEthernet5/1
switchport access vlan 100
 
switchport mode dot1q-tunnel
service-policy input cos_mutation

UBRL の設定

User Based Rate Limiting(UBRL)ではマイクロフロー ポリシング機能が採用され、トラフィック フローがダイナミックに学習されて、それぞれの一意のフローが個別レートにレート制限されます。UBRL は、内蔵 NetFlow がサポートされている Supervisor Engine V-10GE で使用できます。UBRL は、送信元または宛先フローマスクを持つルーテッド インターフェイス上の入力トラフィックに適用できます。最大 85,000 の個別フローおよび 511 の異なるレートをサポートできます。UBRL は、通常ユーザ単位のきめ細かいレート制限メカニズムが必要な環境(ユーザ単位の発信トラフィック レートがユーザ単位の着信トラフィック レートと異なる場合など)で使用されます。


) デフォルトでは、UBRL はルーティングされた IP トラフィックのみをポリシングします。スイッチングされる IP トラフィックをポリシングするには、ip flow ingress layer2-switched グローバル コマンドを使用します。ただし、レイヤ 3 インターフェイス上に UBRL 設定を残す必要があります。UBRL 設定と ip flow ingress layer2-switched グローバル コマンドを使用すれば、VLAN 間フローをポリシングできます( スイッチド/ブリッジド IP フローの設定を参照)。ip flow ingress コマンドを入力する必要はありません。


フローは 5 タプルとして定義されます(IP 送信元アドレス、IP 宛先アドレス、IP ヘッド プロトコル フィールド、レイヤ 4 送信元ポート、宛先ポート)。フローベース ポリサーでは、フローごとにトラフィックをポリシングできます。フローはダイナミックなので、クラス マップで識別値が必要です。

source-address キーワードを使用して match flow コマンドを指定すると、送信元アドレスが一意であるそれぞれのフローは、新しいフローとして扱われます。destination-address キーワードを使用してmatch flow コマンドを指定すると、宛先アドレスが一意であるそれぞれのフローは、新しいフローとして扱われます。ポリシー マップによって使用されるクラス マップは、フロー オプションが設定されている場合、フローベース ポリシー マップとして扱われます。 ip destination-address ip protocol L4 source-address L4 destination-address キーワードを使用してmatch flow コマンドを指定すると、一意の IP 送信元、IP 宛先、IP プロトコル、およびレイヤ 4 送信元、宛先アドレスを含む各フローは、新しいフローとして扱われます。


) マイクロフローは、Supervisor Engine V-10GE でのみサポートされます。


フローベース クラス マップとポリシー マップを設定するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# class-map match-all class_name

名前付きクラス マップを作成します。

ステップ 2

Switch(config-cmap)# match flow ip {source-address | ip destination-address ip protocol L4 source-address L4 destination-address | destination-address}

フローのキーフィールドを指定します。

ステップ 3

Switch(config-cmap)# end

クラスマップ コンフィギュレーション モードを終了します。

ステップ 4

Switch# show class-map class-name

設定を確認します。

例 1

次の例では、送信元アドレスに関連付けられたフローベース クラス マップを生成する方法を示します。

Switch(config)# class-map match-all c1
Switch(config-cmap)# match flow ip {source-address [ip destination_address ip protocol L4 source-address L4 destination address]}
Switch(config-cmap)# end
Switch#
Switch# show class-map c1
Class Map match-all c1 (id 2)
Match flow ip source-address

例 2

次の例では、宛先アドレスに関連付けられたフローベース クラス マップを生成する方法を示します。

Switch(config)# class-map match-all c1
Switch(config-cmap)# match flow ip destination-address
Switch(config-cmap)# end
Switch#
 
Switch# show class-map c1
Class Map match-all c1 (id 2)
Match flow ip destination-address

例 3

インターフェイス FastEthernet 6/1 に 2 つのアクティブなフローがあり、送信元アドレスが 192.168.10.20 と 192.168.10.21 であるとします。次の例は、許可されるバースト値を 9000 バイトにして 1 Mbps でそれぞれのフローを維持する方法を示しています。

Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# class-map c1
Switch(config-cmap)# match flow ip source-address
Switch(config-cmap)# exit
Switch(config)# policy-map p1
Switch(config-pmap)# class c1
Switch(config-pmap-c)# police 1000000 9000
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface fa6/1
Switch(config-if)# service-policy input p1
Switch(config-if)# end
Switch# write memory
 
Switch# show policy-map interface
FastEthernet6/1
 
Service-policy input: p1
 
Class-map: c1 (match-all)
15432182 packets
Match: flow ip source-address
police: Per-interface
Conform: 64995654 bytes Exceed: 2376965424 bytes
 
Class-map: class-default (match-any)
0 packets
Match: any
0 packets

例 4

インターフェイス FastEthernet 6/1 に 2 つのアクティブなフローがあり、宛先アドレスが 192.168.20.20 と 192.168.20.21 であるとします。次の例は、許可されるバースト値を 9000 バイトにして 1 Mbps でそれぞれのフローを維持する方法を示しています。

Switch# conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# class-map c1
Switch(config-cmap)# match flow ip destination-address
Switch(config-cmap)# exit
Switch(config)# policy-map p1
Switch(config-pmap)# class c1
Switch(config-pmap-c)# police 1000000 9000
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface fa6/1
Switch(config-if)# service-policy input p1
Switch(config-if)# end
Switch# write memory
 
Switch# show policy-map interface
FastEthernet6/1
 
Service-policy input: p1
 
Class-map: c1 (match-all)
2965072 packets
Match: flow ip destination-address
police: Per-interface
Conform: 6105636 bytes Exceed: 476652528 bytes
 
Class-map: class-default (match-any)
0 packets
Match: any
0 packets

例 5

インターフェイス FastEthernet 6/1 上に 2 つのアクティブ フローが存在すると想定します。

SrcIp DstIp IpProt SrcL4Port DstL4Port
--------------------------------------------------------
192.168.10.10 192.168.20.20 20 6789 81
192.168.10.10 192.168.20.20 20 6789 21
 

次の設定の場合、各フローは許可されるバースト値を 9,000 にして 1,000,000 bps にポリシングされます。


) match flow ip source-address|destination-address コマンドを使用する場合、これら 2 つのフローは同じ送信元および宛先アドレスを持つため、1 つのフローに統合されます。


Switch# conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# class-map c1
Switch(config-cmap)# match flow ip source-address ip destination-address ip protocol l4 source-port l4 destination-port
Switch(config-cmap)# exit
Switch(config)# policy-map p1
Switch(config-pmap)# class c1
Switch(config-pmap-c)# police 1000000 9000
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface fastEthernet 6/1
Switch(config-if)# service-policy input p1
Switch(config-if)# end
Switch# write memory
Switch# show policy-map interface
FastEthernet6/1
 
class-map c1
match flow ip source-address ip destination-address ip protocol l4 source-port l4 destination-port
!
policy-map p1
class c1
police 1000000 bps 9000 byte conform-action transmit exceed-action drop
!
interface FastEthernet 6/1
service-policy input p1
 
Switch# show class-map c1
Class Map match-all c1 (id 2)
Match flow ip source-address ip destination-address ip protocol l4 source-port l4 destination-port
 
Switch# show policy-map p1
Policy Map p1
Class c1
police 1000000 bps 9000 byte conform-action transmit exceed-action drop
 
Switch# show policy-map interface
FastEthernet6/1
 
Service-policy input: p1
 
Class-map: c1 (match-all)
15432182 packets
Match: flow ip source-address ip destination-address ip protocol l4 source-port l4 destination-port
police: Per-interface
Conform: 64995654 bytes Exceed: 2376965424 bytes
 
 
Class-map: class-default (match-any)
0 packets
Match: any
0 packets

階層型ポリサーの設定


) 階層型ポリサーは、Supervisor Engine V-10GE 上でのみサポートされます。


フロー ポリサーを既存ポリサーと結合し、2 つのポリシング レートをインターフェイスで作成できます。たとえばデュアル ポリシングを使用すると、特定インターフェイスのすべての着信トラフィック レートを 50 Mbps に制限し、このトラフィックの一部であるそれぞれのフローのレートを 2 Mbps に制限できます。

階層型ポリサーは、service-policyポリシーマップ設定コマンドで設定できます。ポリシー マップで使用されるクラス マップが、フローベース一致基準(match flow ip source-addressなど)と一致する場合、ポリシー マップはフローベースと呼ばれます。それぞれの子ポリシー マップは、親のすべての match access-group コマンドを継承します。


) フローベース ポリシー マップのみを子ポリシー マップとして設定できます。親ポリシー マップをフローベース ポリシー マップにすることはできません。子ポリシー マップと親ポリシー マップの両方で、クラスマップ設定にmatch-all が含まれている必要があります。


個別ポリサーか集約ポリサーの子としてフローベース ポリシー マップを設定するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# policy-map policy_name

個別ポリシーマップ名か集約ポリシーマップ名を指定します。

ステップ 2

Switch(config-pmap)# class class_name

このポリシー マップのクラスマップ名を指定します。

ステップ 3

Switch(config-flow-cache)# service-policy service_policy_name

フローベース ポリシー マップの名前を指定します。


) 親が集約ポリサー、子がマイクロフロー ポリサーである階層型ポリサー設定では、子のマイクロフロー ポリサーに一致するパケットはイン プロファイルであるパケットだけを報告します(つまり、ポリシング レートを一致させます)。ポリシング レートを超過するパケットは、クラスマップ パケット一致統計情報では報告されません。


次の例は、階層型ポリシー マップの作成方法を示しています。名前が aggregate-policy であるポリシー マップには、名前が aggregate-class であるクラス マップが含まれます。名前が flow-policy であるフローベース ポリシー マップは、子ポリシー マップとしてこのポリシー マップに付加されます。

Switch# config terminal
Switch(config)# policy-map aggregate-policy
Switch(config-pmap)# class aggregate-class
Switch(config-pmap-c)# service-policy flow-policy
Switch(config-pmap-c)# end
Switch#
 

次の例では、IP アドレス範囲が 101.237.0.0 ~ 101.237.255.255 であるトラフィックが 50 Mbps にポリシングされます。101.237.10.0 ~ 101.237.10.255 の範囲のフローは、2 Mbps の速度で個別にポリシングされます。このトラフィックは、集約ポリサーとその他のフローベース ポリサーという 2 つのポリサーを通過します。

次の例は、このシナリオの設定を示しています。

class-map match-all flow-class
match flow ip source-address
match access-group 20
!
class-map match-all aggregate-class
match access-group 10
!
policy-map flow-policy
class flow-class
police 2000000 bps 10000 byte conform-action transmit exceed-action drop
!
policy-map aggregate-policy
class aggregate-class
police 50000000 bps 40000 byte conform-action transmit exceed-action drop
service-policy flow-policy
!
access-list 10 permit 101.237.0.0 0.0.255.255
access-list 20 permit 0.0.10.0 255.255.0.255
 

次に、設定を確認する例を示します。

Switch# show policy-map flow-policy
Policy Map flow-policy
Class flow-class
police 2000000 bps 10000 byte conform-action transmit exceed-action drop
Switch# show policy-map aggregate-policy
Policy Map aggregate-policy
Class aggregate-class
police 50000000 bps 40000 byte conform-action transmit exceed-action drop
service-policy flow-policy
 
Switch# show policy-map interface
FastEthernet6/1
Service-policy input: aggregate-policy
 
Class-map: aggregate-class (match-all)
132537 packets
Match: access-group 10
police: Per-interface
Conform: 3627000 bytes Exceed: 0 bytes
 
Service-policy : flow-policy
 
Class-map: flow-class (match-all)
8867 packets
Match: access-group 20
Match: flow ip source-address
police: Per-interface
Conform: 1649262 bytes Exceed: 59601096 bytes
 
Class-map: class-default (match-any)
0 packets
Match: any 0 packets
 
Class-map: class-default (match-any)
5 packets
Match: any 5 packets

PVQoS のイネーブル化

PVQoS 機能により、所定のインターフェイスの異なる VLAN 上で異なる QoS 設定を指定できます。通常、この機能はトランク ポートまたは音声 VLAN(Cisco IP Phone)ポートなど、複数の VLAN に所属するポート上で使用します。

PVQoS を設定するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# interface { fastethernet | gigabitethernet | tengigabitethernet } slot/interface | Port-channel number

設定するインターフェイスを選択します。

ステップ 2

Switch(config-if)# vlan-range vlan_range

関連する VLAN を指定します。

ステップ 3

Switch(config-if-vlan-range)# service-policy
{input | output} policy-map

ポリシーマップおよび方向を指定します。

ステップ 4

Switch(config-if-vlan-range)# exit

クラスマップ コンフィギュレーション モードを終了します。

ステップ 5

Switch(config-if)# end

インターフェイス コンフィギュレーション モードを終了します。

ステップ 6

Switch# show policy-map interface interface_name

設定を確認します。

例 1

図35-6 に、PVQoS 構成のトポロジ例を示します。トランク ポート gi3/1 は、複数の VLAN(101 および 102)で構成されています。ポート内部には、独自のサービス ポリシーを VLAN 単位で作成できます。このポリシーはハードウェアで実行され、入力および出力ポリシング、DSCP の信頼、またはデータよりも音声パケットへの優先制御で構成されます。

図35-6 PVQoS 構成のトポロジ

 

次のコンフィギュレーション ファイルでは、ポート GigabitEthernet 3/1 に適用されるポリシーマップ P31_QOS を使用して、VLAN 単位で入力および出力ポリシングを実行する方法について示しています。

ip access-list 101 permit ip host 1.2.2.2 any
ip access-list 103 permit ip any any
Class-map match-all RT

match ip access-group 101
Class-map Match all PD

match ip access-group 103
Policy-map P31_QoS

Class RT


Police 200m 16k conform transmit exceed drop

Class PD


Police 100m 16k conform transmit exceed drop
 
Interface Gigabit 3/1
Switchport
Switchport trunk encapsulation dot1q
Switchport trunk allowed vlan 101-102
Vlan range 101
Service-policy input P31_QoS
Service-policy output P31_QoS
Vlan range 102
Service-policy input P32_QoS
Service-policy output P32_QoS

例 2

たとえば、インターフェイス GigabitEthernet 6/1 はトランク ポートで、VLAN 20、300 ~ 301、および 400 に属していると仮定します。次に、VLAN 20 と VLAN 400 のトラフィックにポリシーマップ p1、VLAN 300 ~ 301 のトラフィックにポリシーマップ p2 を適用する例を示します。

Switch# configure terminal
Switch(config)# interface gigabitethernet 6/1
Switch(config-if)# vlan-range 20,400
Switch(config-if-vlan-range)# service-policy input p1
Switch(config-if-vlan-range)# exit
Switch(config-if)# vlan-range 300-301
Switch(config-if-vlan-range)# service-policy output p2
Switch(config-if-vlan-range)# end
Switch#

例 3

次に、インターフェイス GigabitEthernet 6/1 上で設定された VLAN 20 のポリシーマップの統計情報を表示する例を示します。

Switch# show policy-map interface gigabitethernet 6/1 vlan 20
GigabitEthernet6/1 vlan 20
 
Service-policy input: p1
 
Class-map: class-default (match-any)
0 packets
Match: any
0 packets
police: Per-interface
Conform: 0 bytes Exceed: 0 bytes

例 4

次に、インターフェイス GigabitEthernet 6/1 上で設定されたすべての VLAN のポリシーマップの統計情報を表示する例を示します。

Switch# show policy-map interface gigabitethernet 6/1
GigabitEthernet6/1 vlan 20
 
Service-policy input: p1
 
Class-map: class-default (match-any)
0 packets
Match: any
0 packets
police: Per-interface
Conform: 0 bytes Exceed: 0 bytes
 
GigabitEthernet6/1 vlan 300
 
Service-policy output: p2
 
Class-map: class-default (match-any)
0 packets
Match: any
0 packets
police: Per-interface
Conform: 0 bytes Exceed: 0 bytes
 
GigabitEthernet6/1 vlan 301
 
Service-policy output: p2
 
Class-map: class-default (match-any)
0 packets
Match: any
0 packets
police: Per-interface
Conform: 0 bytes Exceed: 0 bytes
 
GigabitEthernet6/1 vlan 400
 
Service-policy input: p1
 
Class-map: class-default (match-any)
0 packets
Match: any
0 packets
police: Per-interface
Conform: 0 bytes Exceed: 0 bytes

インターフェイス上での QoS のイネーブル化またはディセーブル化

qos インターフェイス コマンドを使用すると、設定されている QoS 機能が再びイネーブルになります。 qos インターフェイス コマンドは、インターフェイスのキュー設定に影響しません。

インターフェイスからのトラフィックに対して QoS 機能をイネーブルまたはディセーブルにするには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# interface { vlan vlan_ID | { fastethernet | gigabitethernet } slot/interface | Port-channel number }

設定するインターフェイスを選択します。

ステップ 2

Switch(config-if)# [ no ] qos

インターフェイス上で QoS をイネーブルにします。

インターフェイス上で QoS をディセーブルにするには、 no キーワードを使用します。

ステップ 3

Switch(config-if)# end

コンフィギュレーション モードを終了します。

ステップ 4

Switch# show qos interface

設定を確認します。

次に、インターフェイス VLAN 5 上で QoS をディセーブルにする例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface vlan 5
Switch(config-if)# no qos
Switch(config-if)# end
Switch#
 

次に、設定を確認する例を示します。

Switch# show qos | begin QoS is disabled
QoS is disabled on the following interfaces:
Vl5
(テキスト出力は省略)
Switch#

レイヤ 2 インターフェイス上での VLAN ベース QoS の設定

デフォルトでは、QoS は物理インターフェイスに付加されたポリシー マップを使用します。レイヤ 2 インターフェイスについては、VLAN に付加されたポリシー マップを使用するように QoS を設定できます。(インターフェイスへのポリシー マップの付加を参照)。

レイヤ 2 インターフェイス上で VLAN ベースの QoS を設定するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# interface { fastethernet | gigabitethernet } slot/interface | Port-channel number

設定するインターフェイスを選択します。

ステップ 2

Switch(config-if)# [ no ] qos vlan-based

レイヤ 2 インターフェイス上で VLAN ベースの QoS を設定します。

インターフェイス上で VLAN ベース QoS をディセーブルにするには、 no キーワードを使用します。

ステップ 3

Switch(config-if)# end

コンフィギュレーション モードを終了します。

ステップ 4

Switch# show qos

設定を確認します。


) レイヤ 2 インターフェイスに入力 QoS ポリシーが付加されていない場合、ポートが VLAN ベースで設定されていなくても、(パケットが着信する)VLAN に付加された入力 QoS ポリシーがあればそれが使用されます。このデフォルトが望ましくない場合には、レイヤ 2 インターフェイスにプレースホルダの入力 QoS ポリシーを付加します。同様に、レイヤ 2 インターフェイスに出力 QoS ポリシーが付加されていない場合、ポートが VLAN ベースで設定されていなくても、(パケットを送信する)VLAN に付加された出力 QoS ポリシーがあればそれが使用されます。このデフォルトが望ましくない場合には、レイヤ 2 インターフェイスにプレースホルダの出力 QoS ポリシーを付加します。


次に、インターフェイス FastEthernet 5/42 で VLAN ベースの QoS を設定する例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastethernet 5/42
Switch(config-if)# qos vlan-based
Switch(config-if)# end
 

次に、設定を確認する例を示します。

Switch# show qos | begin QoS is vlan-based
QoS is vlan-based on the following interfaces:
Fa5/42
Switch#

) レイヤ 2 インターフェイスに VLAN ベース QoS が設定されている場合に、QoS ポリシーがない VLAN のポートにパケットが着信すると、ポートに付加された QoS ポリシーがある場合はそれが使用されます。これは、入力および出力 QoS ポリシーの両方に適用されます。


インターフェイスの信頼状態の設定

このコマンドは、インターフェイスの信頼状態を設定します。デフォルトでは、すべてのインターフェイスが untrusted です。

インターフェイスの信頼状態を設定するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# interface { vlan vlan_ID | { fastethernet | gigabitethernet } slot/interface | Port-channel number }

設定するインターフェイスを選択します。

ステップ 2

Switch(config-if)# [ no ] qos trust [ dscp | cos ]

インターフェイスの信頼状態を設定します。

設定した値をクリアし、デフォルトに戻すには、 no キーワードを使用します。

ステップ 3

Switch(config-if)# end

コンフィギュレーション モードを終了します。

ステップ 4

Switch# show qos

設定を確認します。

インターフェイスの信頼状態を設定する際、次の点に注意してください。

インターフェイスの状態を untrusted に戻すには、 no qos trust コマンドを使用します。

qos trust cos コマンドを使用してtrust cos に設定された入力インターフェイスに着信したトラフィックの場合、送信される CoS は、常に着信パケットの CoS(または、パケットをタグなしで受信した場合には、入力インターフェイスのデフォルト CoS)です。

qos trust dscp コマンドを使用してインターフェイスの信頼状態を trust dscp に設定していない場合、セキュリティおよび QoS ACL 分類では、常にインターフェイス DSCP が使用され、着信パケットの DSCP は使用されません。

Cisco IOS Release 12.2(31)SG 以降では、Supervisor Engine V-10GE を使用すれば、ポートの信頼状態に関わらずパケットの IP DSCP 値に基づいてパケットを分類できます。パケット送信キューイングは影響を受けません。送信キューについては、「送信キューの設定」を参照してください。

次に、 trust cos キーワードを使用してインターフェイス GigabitEthernet 1/1 を設定する例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet 1/1
Switch(config-if)# qos trust cos
Switch(config-if)# end
Switch#
 

次に、設定を確認する例を示します。

Switch# show qos interface gigabitethernet 1/1 | include trust
Trust state: trust COS
Switch#

インターフェイスの CoS 値の設定

QoS は、trusted として設定された入力インターフェイスからのタグなしフレーム、および untrusted として設定された入力インターフェイスからのすべてのフレームに、このコマンドで指定された CoS 値を割り当てます。

入力インターフェイスの CoS 値を設定するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# interface { fastethernet | gigabitethernet } slot/interface | Port-channel number }

設定するインターフェイスを選択します。

ステップ 2

Switch(config-if)# [ no ] qos cos default_cos

入力インターフェイスの CoS 値を設定します。

設定した値をクリアし、デフォルトに戻すには、 no キーワードを使用します。

ステップ 3

Switch(config-if)# end

コンフィギュレーション モードを終了します。

ステップ 4

Switch# show qos interface { fastethernet | gigabitethernet } slot/interface

設定を確認します。

次に、インターフェイス FastEthernet 5/24 にデフォルトとして CoS 5 を設定する例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastethernet 5/24
Switch(config-if)# qos cos 5
Switch(config-if)# end
Switch#
 

次に、設定を確認する例を示します。

Switch# show qos interface fastethernet 5/24 | include Default COS
Default COS is 5
Switch#

インターフェイスの DSCP 値の設定

QoS は、trust dscp に設定されたインターフェイスで受信した非 IPv4 フレーム、および untrusted として設定されたインターフェイスで受信したすべてのフレームに、このコマンドで指定された DSCP 値を割り当てます。

入力インターフェイスの DSCP 値を設定するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# interface { fastethernet | gigabitethernet } slot/interface | Port-channel number

設定するインターフェイスを選択します。

ステップ 2

Switch(config-if)# [ no ] qos dscp default_dscp

入力インターフェイスの DSCP 値を設定します。

設定した値をクリアし、デフォルトに戻すには、 no キーワードを使用します。

ステップ 3

Switch(config-if)# end

コンフィギュレーション モードを終了します。

ステップ 4

Switch# show qos interface { fastethernet | gigabitethernet } slot/interface

設定を確認します。

次に、インターフェイス FastEthernet 5/24 のデフォルトとして DSCP 5 を設定する例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface fastethernet 5/24
Switch(config-if)# qos dscp 5
Switch(config-if)# end
Switch#
 

次に、設定を確認する例を示します。

Switch# show qos interface fastethernet 6/1
QoS is enabled globally
Port QoS is enabled
Port Trust State:CoS
Default DSCP:0 Default CoS:0
 
Tx-Queue Bandwidth ShapeRate Priority QueueSize
(bps) (bps) (packets)
1 31250000 disabled N/A 240
2 31250000 disabled N/A 240
3 31250000 disabled normal 240
4 31250000 disabled N/A 240
Switch#

送信キューの設定

ここでは、送信キューを設定する手順について説明します。

「DSCP 値から特定の送信キューへのマッピング」

「送信キュー間での帯域幅の割り当て」

「送信キューのトラフィック シェーピングの設定」

「ハイ プライオリティ送信キューの設定」

ネットワークと QoS ソリューションの複雑さによっては、次に挙げる手順のすべてを実行する必要があります。たし、最初に次の質問に答えてください。

各キューへの(DSCP 値による)パケットの割り当て

特定のポートでの送信キューと他のキューとの相対的なサイズ

各キューへの使用可能な帯域幅の割り当て

各送信キューの最大速度、および各送信キューから送信できる最大バースト トラフィック

DSCP 値から特定の送信キューへのマッピング

DSCP 値を送信キューにマッピングするには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# [ no ] qos map dscp dscp-values to tx-queue queue-id

DSCP 値を送信キューにマッピングします。dscp-valuesには、最大 8 つの DSCP 値を指定できます。queue-idの範囲は、1 ~ 4 です。

送信キューから DSCP 値を削除するには、 no qos map dscp to tx-queue コマンドを使用します。

ステップ 2

Switch(config)# end

コンフィギュレーション モードを終了します。

ステップ 3

Switch# show qos maps dscp tx-queues

設定を確認します。

次に、送信キュー 2 に DSCP 値をマッピングする例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# qos map dscp 50 to tx-queue 2
Switch(config)# end
Switch#
 

次に、設定を確認する例を示します。

Switch# show qos maps dscp tx-queue
DSCP-TxQueue Mapping Table (dscp = d1d2)
d1 :d2 0 1 2 3 4 5 6 7 8 9
-------------------------------------
0 : 02 02 02 01 01 01 01 01 01 01
1 : 01 01 01 01 01 01 02 02 02 02
2 : 02 02 02 02 02 02 02 02 02 02
3 : 02 02 03 03 03 03 03 03 03 03
4 : 03 03 03 03 03 03 03 03 04 04
5 : 04 04 04 04 04 04 04 04 04 04
6 : 04 04 04 04
Switch#

送信キュー間での帯域幅の割り当て

送信キューの帯域幅を設定するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# interface gigabitethernet slot/interface

設定するインターフェイスを選択します。

ステップ 2

Switch(config-if)# tx-queue queue_id

設定する送信キューを選択します。

ステップ 3

Switch(config-if-tx-queue)# [no] [ bandwidth rate | percent percent]

送信キューの帯域幅レートを設定します。

送信キューの帯域幅の比率をデフォルト値に戻すには、 no キーワードを使用します。

ステップ 4

Switch(config-if-tx-queue)# end

コンフィギュレーション モードを終了します。

ステップ 5

Switch# show qos interface

設定を確認します。

帯域幅レートは、インターフェイスによって異なります。

帯域幅を設定できるのは、次のインターフェイスに限られます。

Supervisor Engine III(WS-X4014)上のアップリンク ポート

WS-X4306-GB モジュール上のポート

WS-X4232-GB-RJ モジュール上の 2 つの 1000BASE-X ポート

WS-X4418-GB モジュール上の最初の 2 つのポート

WS-X4412-2GB-TX モジュール上の 2 つの 1000BASE-X ポート

次に、送信キュー 2 に 1 Mbps の帯域幅を設定する例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet 1/1
Switch(config-if)# tx-queue 2
Switch(config-if-tx-queue)#bandwidth 1000000
Switch(config-if-tx-queue)# end
Switch#

送信キューのトラフィック シェーピングの設定

送信キューから送信されるパケットが指定の最大速度を超えないように設定するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# interface { fastethernet | gigabitethernet } slot/interface

設定するインターフェイスを選択します。

ステップ 2

Switch(config-if)# tx-queue queue_id

設定する送信キューを選択します。

ステップ 3

Switch(config-if-tx-queue)# [ no ] [ shape rate | percent percent]

送信キューの送信レートを設定します。

送信キューの最大速度を削除するには、 no キーワードを使用します。

ステップ 4

Switch(config-if-tx-queue)# end

コンフィギュレーション モードを終了します。

ステップ 5

Switch# show qos interface

設定を確認します。

次に、送信キュー 2 のシェープ レートを 1 Mbps に設定する例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet 1/1
Switch(config-if-tx-queue)# tx-queue 2
Switch(config-if-tx-queue)# shape 1000000
Switch(config-if-tx-queue)# end
Switch#

ハイ プライオリティ送信キューの設定

送信キュー 3 をハイ プライオリティに設定するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch(config)# interface { fastethernet | gigabitethernet } slot/interface

設定するインターフェイスを選択します。

ステップ 2

Switch(config-if)# tx-queue 3

設定する送信キュー 3 を選択します。

ステップ 3

Switch(config-if)# [ no ] priority high

この送信キューをハイ プライオリティに設定します。

送信キューのプライオリティをクリアするには、 no キーワードを使用します。

ステップ 4

Switch(config-if)# end

コンフィギュレーション モードを終了します。

ステップ 5

Switch# show qos interface

設定を確認します。

次に、送信キュー3をハイ プライオリティに設定する例を示します。

Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet 1/1
Switch(config-if-tx-queue)# tx-queue 3
Switch(config-if-tx-queue)# priority high
Switch(config-if)# end
Switch#

DSCP マップの設定

ここでは、DSCP マップを設定する方法について説明します。内容は次のとおりです。

「CoS/DSCP マップの設定」

「ポリシング済み DSCP マップの設定」

「DSCP/CoS マップの設定」

マップはいずれもグローバルに定義され、すべてのポートに適用されます。

CoS/DSCP マップの設定

CoS/DSCP マップは、着信パケットの CoS 値を、DSCP 値(トラフィックのプライオリティを表すために QoS が内部的に使用する)にマッピングする目的で使用します。

表35-4 に、デフォルトの CoS/DSCP マップを示します。

 

表35-4 デフォルトの CoS/DSCP マップ

CoS 値

0

1

2

3

4

5

6

7

DSCP 値

0

8

16

24

32

40

48

56

これらの値がネットワークに適さない場合は、値を変更する必要があります。

CoS/DSCP マップを変更するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# qos map cos cos1 ... cos8 to dscp dscp

CoS/DSCP マップを変更します。

cos1...cos8には、最大 8 つの CoS を入力できます。指定できる値の範囲は 0 ~ 7 です。各 CoS 値をスペースで区切ります。

dscpの範囲は 0 ~ 63 です。

ステップ 3

Switch(config)# end

特権 EXEC モードに戻ります。

ステップ 4

Switch# show qos maps cos-dscp

入力を確認します。

ステップ 5

Switch# copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

次に、入力 CoS/DSCP マッピングで CoS を 0 に設定する例を示します。

Switch# configure terminal
Switch(config)# qos map cos 0 to dscp 20
Switch(config)# end
Switch# show qos maps cos dscp
 
CoS-DSCP Mapping Table:
CoS: 0 1 2 3 4 5 6 7
--------------------------------
DSCP: 20 8 16 24 32 40 48 56
Switch(config)#

) デフォルトのマップに戻すには、no qos cos to dscp グローバル コンフィギュレーション コマンドを使用します。


次に、CoS/DSCP マッピング テーブル全体をクリアする例を示します。

Switch(config)# no qos map cos to dscp
Switch(config)#

ポリシング済み DSCP マップの設定

ポリシング済み DSCP マップは、ポリシングおよびマーキング アクションの結果、DSCP 値を新しい値にマークダウンする目的で使用します。

デフォルトのポリシング済み DSCP マップはヌルで、着信 DSCP 値が同じ DSCP 値にマッピングされます。

CoS/DSCP マップを変更するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# qos map dscp policed dscp-list to dscp mark-down-dscp

ポリシング済み DSCP マップを変更します。

dscp-listには、最大 8 つの DSCP 値をスペースで区切って入力します。その後ろに、 to キーワードを入力します。

mark-down-dscp には、対応するポリシング済み(マークダウンされた)DSCP 値を入力します。

ステップ 3

Switch(config)# end

特権 EXEC モードに戻ります。

ステップ 4

Switch# show qos maps dscp policed

入力を確認します。

ステップ 5

Switch# copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

デフォルトのマップに戻すには、 no qos dscp policed グローバル コンフィギュレーション コマンドを使用します。

次に、DSCP 50 ~ 57 を、マークダウンされた DSCP 値 0 にマッピングする例を示します。

Switch# configure terminal
Switch(config)# qos map dscp policed 50 51 52 53 54 55 56 57 to dscp 0
Switch(config)# end
Switch# show qos maps dscp policed
Policed-dscp map:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0 : 00 01 02 03 04 05 06 07 08 09
1 : 10 11 12 13 14 15 16 17 18 19
2 : 20 21 22 23 24 25 26 27 28 29
3 : 30 31 32 33 34 35 36 37 38 39
4 : 40 41 42 43 44 45 46 47 48 49
5 : 00 00 00 00 00 00 00 00 58 59
6 : 60 61 62 63

) 前述のポリシング済み DSCP マップでは、マークダウンされた DSCP 値がマトリクスの本体に示されています。カラム d1 は、元の DSCP の上位桁を表し、行 d2 は、元の DSCP の下位桁を表します。d1 と d2 が交わった部分にある値が、マークダウン後の値です。たとえば、元の DSCP 値が 53 である場合、対応するマークダウン後の DSCP 値は 0 です。


DSCP/CoS マップの設定

DSCP/CoS マップは、CoS 値を生成する目的で使用します。

表35-5 に、デフォルトの DSCP/CoS マップを示します。

 

表35-5 デフォルトの DSCP/CoS マップ

DSCP 値

0 ~ 7

8 ~ 15

16 ~ 23

24 ~ 31

32 ~ 39

40 ~ 47

48 ~ 55

56 ~ 63

CoS 値

0

1

2

3

4

5

6

7

これらの値がネットワークに適さない場合は、値を変更する必要があります。

DSCP/CoS マップを変更するには、次の作業を行います。

 

コマンド
目的

ステップ 1

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# [no] qos map dscp dscp-list to cos cos

DSCP/CoS マップを変更します。

dscp-listには、最大 8 つの DSCP 値をスペースで区切って入力します。その後ろに、 to キーワードを入力します。

cos には、一連の DSCP 値を対応させる CoS 値を 1 つだけ入力します。

DSCP の範囲は 0 ~ 63、CoS の範囲は 0 ~ 7 です。

デフォルトのマップに戻すには、 no qos dscp to cos グローバル コンフィギュレーション コマンドを使用します。

ステップ 3

Switch(config)# end

特権 EXEC モードに戻ります。

ステップ 4

Switch# show qos maps dscp to cos

入力を確認します。

ステップ 5

Switch# copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

次に、DSCP 値 0、8、16、24、32、40、48、および 50 を CoS 値 0 にマッピングし、マップを表示する例を示します。

Switch# configure terminal
Switch(config)# qos map dscp 0 8 16 24 32 40 48 50 to cos 0
Switch(config)# end
Switch# show qos maps dscp cos
Dscp-cos map:
d1 : d2 0 1 2 3 4 5 6 7 8 9
---------------------------------------
0 : 00 00 00 00 00 00 00 00 00 01
1 : 01 01 01 01 01 01 00 02 02 02
2 : 02 02 02 02 00 03 03 03 03 03
3 : 03 03 00 04 04 04 04 04 04 04
4 : 00 05 05 05 05 05 05 05 00 06
5 : 00 06 06 06 06 06 07 07 07 07
6 : 07 07 07 07

) 前述の DSCP/CoS マップでは、CoS 値がマトリクスの本体に示されています。カラム d1 は、DSCP の上位桁を表し、行 d2 は、DSCP の下位桁を表します。d1 と d2 が交わった部分にある値が、CoS 値です。たとえば、この DSCP/CoS マップでは、DSCP 値 08 は CoS 値 0 に対応しています。


レイヤ 2 制御パケット QoS のイネーブル化


) レイヤ 2 制御パケット QoS は、Supervisor Engine 6-E ではサポートされていません。


この機能では、大量の制御パケットの入力による高 CPU 利用率の問題を解決します。問題の解決は、制御したいプロトコル(QoS CAM にインストール済み)に対応する QoS スタティック エントリを無効にすることで行われます。

解決法では、ハードウェアは、レイヤ 2 制御トラフィックに一致するユーザ定義サービス ポリシーに対応するアクションを適用します。この制御モードは、デフォルト モードが既存のモードであるため、CLI を介して展開できます。

必須レイヤ 2 パケットに一致するようにポリシーを設定し、希望するレベルにポリシングする必要があります。レイヤ 2 制御パケットは、基本的に宛先 MAC アドレスで識別されます。この機能が、そのパケット タイプでイネーブルになっていると、目的の制御パケットに一致する MACL およびそれらの MACL に一致する対応クラスマップがまだ存在しない場合、自動生成されます。

制御パケットのポリシングを行うには、ポリシーマップでこれらのクラスマップを使用する必要があるだけです。その後他のポリシーマップと同様に、ポート単位、VLAN 単位、またはポート単位/VLAN 単位でポリシーマップを適用できます。

レイヤ 2 制御パケット QoS をイネーブルにするには、次の作業を実行します。

 

コマンド
目的

ステップ 1

Switch# interface t

コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# qos control-packets
[bpdu-range | cdp-vtp | sstp]

レイヤ 2 制御ポリシングをイネーブルにします。

この機能をイネーブルにするパケット タイプを指定できます。

デフォルトでは、すべてのパケット タイプが選択されます。

ステップ 3

Switch(config)# end

コンフィギュレーション モードを終了します。

ステップ 4

Switch# show run | inc qos control-packets

設定を確認します。

次の表では、この機能で影響を受けるパケット タイプを一覧にします。

 

表35-6 パケット タイプとアクション可能なアドレス範囲

機能がイネーブルになるパケット タイプ
動作するアドレス範囲

BPDU 範囲

0180.C200.0000 BPDU

0180.C200.0002 OAM、LACP

0180.C200.0003 Eapol

CDP-VTP

0100.0CCC.CCCC

SSTP

0100.0CCC.CCCD

次に、レイヤ 2 制御パケット QoS を CDP-VTP パケットに設定する例を示します。

Switch# config terminal
Switch(config)# qos control-packets cdp-vtp
Switch(config)# end
Switch# show run | inc qos control-packets
qos control-packets cdp-vtp
 

すべてのパケット タイプでこの機能がイネーブルになっているとき、show running コマンドの出力には、qos control-packets 文字列が表示されます。

Switch# show running | inc qos control-packets
qos control-packets
 

ここで、SSTP パケットに対してこの機能をディセーブルにしている場合、次の出力が表示されます。

Switch# show running | inc qos control-packets
qos control-packets bpdu-range
qos control-packets cdp-vtp
 

show running コマンドおよび一般的な関連コマンドで、目的の制御パケットをキャプチャ、ドロップ、およびポリシングする、MACL およびユーザ設定ポリシーのステータスを確認できます。

この機能をディセーブルにするには、no qos control-packets [bpdu-range | cdp-vtp | sstp] コマンドを実行します。たとえば、CDP-VTP パケットで機能をディセーブルにするには、no qos control-packets cdp-vtp コマンドを実行します。


) 指定したプロトコルタイプに対してこの機能の設定を解除すると、そのプロトコルタイプを処理するユーザ設定ポリシーは、直ちに無効な状態になります。TCAM リソースを保存するには、MACL およびクラスマップ(自動生成またはユーザ定義)とともにポリシーも削除します。


次の表に、対応パケット タイプで機能がイネーブルになっているときに作成されるクラスマップを示します。

 

表35-7 パケット タイプおよび自動生成 MACL/クラスマップ

パケット タイプ
自動生成 MACL/クラスマップ

BPDU 範囲

mac access-list extended system-control-packet-bpdu-range

permit any 0180.c200.0000 0000.0000.000c

class-map match-any system-control-packet-bpdu-range

match access-group name system-control-packet-bpdu-range

SSTP

mac access-list extended system-control-packet-sstp

permit any host 0100.0ccc.cccd

class-map match-any system-control-packet-sstp

match access-group name system-control-packet-sstp

CDP-VTP

mac access-list extended system-control-packet-cdp-vtp

permit any host 0100.0ccc.cccc

class-map match-any system-control-packet-cdp-vtp

match access-group name system-control-packet-cdp-vtp

次に、BPDU 範囲パケットに MACL およびポリサー設定を適用する例を示します。

BPDU 範囲でこの機能をイネーブルにします。

qos control-packets bpdu-range
 

対応 MACL/クラスマップを作成します(自動的に実行)。

mac access-list extended system-control-packet-bpdu-range
permit any 0180.C200.0000 0000.0000.000C
 
class-map match-any system-control-packet-bpdu-range
match access-group name system-control-packet-bpdu-range
 

ポリシーマップを作成し、目的のインターフェイス/VLAN に付加します。

policy-map police-bpdu
class system-control-packet-bpdu-range
police 32000 bps 1000 byte conform-action transmit exceed-action drop
 
interface GigabitEthernet 1/1
switchport trunk encapsulation dot1q
switchport mode trunk
vlan-range 100
service-policy input police_bpdu
 

システムが生成したクラスマップおよび MACL を変更しないでください。変更すると、スイッチがリロードを行うとき、または実行コンフィギュレーションをファイルから更新するとき、予期せぬ動作になることがあります。

これらのシステム生成クラスマップまたは MACL を調整または変更する必要がある場合、ユーザ定義クラスマップおよび MACL を作成する必要があります。次に、作成した新しいユーザ定義 MACL/クラスマップを使用して、目的のポリシングを実行します。


) ユーザ定義クラスマップ名をプレフィクス system-control-packet- で始める必要がある点だけが唯一の制限事項です。クラスマップが system-control-packet- で始まらない場合、特定のスーパーバイザ エンジンでは、設定された QoS アクションが実行されないことがあります。



) ユーザ定義 MACL に使用する名前には、制限事項はありません。


たとえば、次に挙げる名前は、制御パケットをポリシングする、有効なユーザ定義クラスマップ名です。

system-control-packet-bpdu1
system-control-packet-control-packet
system-control-packet-bla
 

たとえば、EAPOL、OAM、または BPDU パケットに異なるクラスマップを定義する予定である場合、自動生成クラスマップの system-control-packet-bpdu-range はすべてのパケットに一致するため、ユーザ定義 MACL/クラスマップ(前述の例)の作成が役立ちます。

mac access-list extended system-control-packet-bpdu
permit any 0180.c200.0000
class-map match-any system-control-packet-bpdu
match access-group name system-control-packet-bpdu
 
mac access-list extended system-control-packet-eapol
permit any 0180.c200.0003
class-map match-any system-control-packet-eapol
match access-group name system-control-packet-eapol
 
mac access-list extended system-control-packet-oam
permit any 0180.c200.0002
class-map match-any system-control-packet-oam
match access-group name system-control-packet-oam
 

次にこれらのクラスマップを使用して、共通ポリサーを system-control-packet-bpdu-range に適用する代わりに、各パケットに異なるポリサーを定義できます。

使用上の注意事項

この機能がイネーブルになっているとき、ポートおよび VLAN に適用された既存のポリシーは、制御したいレイヤ 2 制御パケットが偶発的に希望しない QoS アクションの対象になることがなく、この機能がスイッチ上で設定された他のポリシーから影響を受けることがないというポリシーであることを確認する必要があります。

前述の制御パケットで QoS をイネーブルにする前に、新規および既存のポリシーを調べて編集し、選択した制御パケットに一致するポリシーマップの分類子が正しい順番で定義および設定されていることを確認する必要があります。同じポリシーマップ内の後半に出現する別の分類子のアクションで意図しない結果になることを避けるため、制御パケットに一致する分類子をポリシーマップの冒頭に配置する必要があります。

class-default クラスに関連付けられたアクションの場合、その動作はスーパーバイザ エンジンの種類によって変わります。

内蔵 NetFlow がサポートされている Supervisor Engine V-10GE

class-default に関連付けられたアクションは、一致しない制御パケットには適用されず、control-packet クラスマップがそれより前に制御パケットを取得していない場合、デフォルトの許可アクションは適用されません。system-control-packet- で始まるクラスマップを使用するポリサーに関連付けられたアクションだけが、制御パケットに適用されます。

他のすべてのスーパーバイザ エンジン

class-default に関連付けられたアクションは、一致しない制御パケットに適用されます。


) 内蔵 NetFlow がサポートされている Supervisor Engine V-10GE では、これらのタイプのパケットでマイクロフロー統計は使用できません。



) BPDU 範囲でこの機能がイネーブルになっている場合、最初の 802.1X 認証フェーズが完了した後でのみ EAPOL パケットをポリシングできます。



) フォワーディング スパニングツリー ステートになっているポートでポート セキュリティがイネーブルになっているとき、レイヤ 2 制御パケットはそのポート上でポリシングできません。


機能の相互作用

各単一フローにユーザ設定ポリシーを適用したあと、レイヤ 2 制御パケット QoS の最初にある CoPP ポリシーを設定し、CPU へ送信される集約フローをレート制限します。その場合、基本的に CoPP は、ユーザ定義ポリシーによりポート単位/VLAN 単位ベースですでに入力側でフィルタされたパケットの出力側でさらにレート制限を行って、CPU のための別レベルの保護を提供します。CoPP は、ポート上にユーザ定義ポリシーが適用されている間は、第 2 レベルの防御となり、VLAN は第 1 レベルの防御になります。

たとえば、ポリシーマップマッチングおよびインターフェイス GigabitEthernet 1/1 から送信される BPDU 範囲トラフィックのポリシングを設定する場合、VLAN 1 は次のようになります。

policy-map police_bpdu_1
class system-control-packet-bpdu-range
police 32000 bps 1000 byte conform-action transmit exceed-action drop
 
interface GigabitEthernet1/1
switchport trunk encapsulation dot1q
switchport mode trunk
vlan-range 1
service-policy input police_bpdu_1
 

さらに、インターフェイス GigabitEthernet 1/2 VLAN 2 で 2 番めを設定すると、BPUD 範囲パケットのマッチングおよびポリシングは次のようになります。

policy-map police_bpdu_2
class system-control-packet-bpdu-range
police 34000 bps 1000 byte conform-action transmit exceed-action drop
 
interface GigabitEthernet1/2
switchport trunk encapsulation dot1q
switchport mode trunk
vlan-range 2
service-policy input police_bpdu_2
 

CoPP は次のように設定します。

policy-map system-cpp-policy
class system-cpp-bpdu-range
police 50000 bps 1000 byte conform-action transmit exceed-action drop
 

次の点に注意してください。

インターフェイス 1/1、VLAN 1 では、BPDU 範囲パケットは、police_bpdu_1 に従って毎秒 32000 ビットのレートでポリシングされます。

インターフェイス 1/2、VLAN 2 では、BPDU 範囲パケットは、police_bpdu_2 に従って毎秒 34000 ビットのレートでポリシングされます。

集約フローは、毎秒 50000 ビットのレートで CPU ポートの CoPP からポリシングされます。

また、ポートまたは VLAN のグループに適用された名前付き集約ポリサーを使用して、ポリサー リソースの消費を減らすこともできます。


) フォワーディング スパニングツリー ステートになっているポートでポート セキュリティがイネーブルになっているとき、レイヤ 2 制御パケットはそのポート上でポリシングできません。


Supervisor Engine 6-E での Auto-QoS の設定

Supervisor Engine II-Plus から V-10GE までの Auto-QoS とは異なり、Supervisor Engine 6-E の Auto-QoS は MQC モデルを採用しています。これは、特定のグローバル コンフィギュレーション(qos や qos dbl など)を使用する代わりに、Supervisor Engine 6-E のスイッチ上のインターフェイスに適用された Auto-QoS は、いくつかのグローバル クラスマップおよびポリシーマップを設定することを意味します。

クラスマップは次のとおりです。

class-map match-all AutoQos-VoIP-Control-Dscp26
match dscp af31
class-map match-all AutoQos-VoIP-Control-Dscp24
match dscp cs3
class-map match-all AutoQos-VoIP-Bearer-Cos
match cos 5
class-map match-all AutoQos-VoIP-Control-QosGroup24
match qos-group 24
class-map match-all AutoQos-VoIP-Control-QosGroup26
match qos-group 26
class-map match-all AutoQos-VoIP-Bearer-QosGroup
match qos-group 46
class-map match-all AutoQos-VoIP-Bearer-Dscp
match dscp ef
class-map match-all AutoQos-VoIP-Control-Cos
match cos 3
 

これらのクラスマップは、レイヤ 2 またはレイヤ 3 いずれかのインターフェイスの制御およびデータ(ベアラ)音声トラフィックを識別することが意図されています。

ポリシー マップは次のとおりです。

policy-map AutoQos-VoIP-Input-Dscp-Policy
class AutoQos-VoIP-Bearer-Dscp
set qos-group 46
class AutoQos-VoIP-Control-Dscp26
set qos-group 26
class AutoQos-VoIP-Control-Dscp24
set qos-group 24
policy-map AutoQos-VoIP-Input-Cos-Policy
class AutoQos-VoIP-Bearer-Cos
set qos-group 46
class AutoQos-VoIP-Control-Cos
set qos-group 24
policy-map AutoQos-VoIP-Output-Policy
class AutoQos-VoIP-Bearer-QosGroup
set dscp ef
set cos 5
priority
police cir percent 33
class AutoQos-VoIP-Control-QosGroup26
set dscp af31
set cos 3
bandwidth remaining percent 5
class AutoQos-VoIP-Control-QosGroup24
set dscp cs3
set cos 3
bandwidth remaining percent 5
class class-default
dbl
 

3 つのポリシー マップは次のように定義されます。

ポリシーマップ AutoQos-VoIP-Input-Dscp-Policy

このポリシー マップは、Auto-QoS がポート上で設定されるとき、レイヤ 3 インターフェイス(ネイバー スイッチへのアップリンク接続など)に入力サービス ポリシーとして適用されます。

ポリシーマップ AutoQos-VoIP-Input-Cos-Policy

このポリシー マップは、アップリンク接続または Cisco IP Phone にフックされたポートのいずれかの、レイヤ 2 インターフェイスに入力サービス ポリシーとして適用されます。

ポリシーマップ AutoQos-VoIP-Output-Policy

このポリシー マップは、Auto-QoS が設定されている任意のポートの出力ポリシーとして適用され、トラフィックが音声データか制御トラフィックかに従ってポート上で出力トラフィックを管理するポリシーを確立します。

入力ポリシー マップの目的は、音声データまたは制御トラフィック識別し、マーク付けしながらスイッチを通過させることです。出力ポリシー マップは、入力時に発生するマーク付けでパケットに一致させ、帯域幅、ポリシングまたはプライオリティ キューイングなどの出力パラメータを適用します。

Supervisor Engine 6-E に採用されているスイッチでの Auto-QoS の呼び出しでは、Supervisor Engine II-Plus から V-10GE までで使用されるのと同じコンフィギュレーション コマンドを使用します。

スイッチ対スイッチの接続の場合、インターフェイス上での入力および出力サービス ポリシーの適用には、[no] auto qos voice trust コマンドが使用されます。

service-policy input AutoQos-VoIP-Input-Cos-Policy
 

または

service-policy input AutoQos-VoIP-Input-Dscp-Policy
 

および

service-policy output AutoQos-VoIP-Output-Policy
 

入力ポリシーの選択は、ポートがレイヤ 2 かレイヤ 3 かによって異なります。レイヤ 2 の場合、ポリシーでは受信パケット内の CoS 設定を信頼します。レイヤ 3 ポートの場合、パケットに含まれる DSCP 値に依存します。

電話接続ポートの場合、ポートへの次のサービス ポリシーの適用には、[no] auto qos voice cisco-phone コマンドが使用されます。

qos trust device cisco-phone
 
service-policy input AutoQos-VoIP-Input-Cos-Policy
 

および

service-policy output AutoQos-VoIP-Output-Policy
 

ここでは、Cisco IP Phone を認識する信頼境界が確立され、電話からのパケットの CoS 設定を信頼します。Cisco IP Phone が検出されない場合、CoS フィールドは無視され、パケットは音声トラフィックとして分類されません。Cisco Phone が検出されると、パケット内の CoS 値に基づいて入力パケットにマークが付けられます。このマーキングは、出力で適切なトラフィック分類と処理のために使用されます。

Supervisor Engine 6-E での QoS の設定

次の内容について説明します。

「MQC ベースの QoS の設定」

「概要」

「プラットフォームでサポートされる分類基準および QoS 機能」

「プラットフォーム ハードウェアの機能」

「QoS サービス ポリシーを適用するための前提条件」

「QoS サービス ポリシーの適用に関する制約事項」

「分類」

「ポリシング」

「ネットワーク トラフィックのマーク付け」

「シェーピング、共有(帯域幅)、プライオリティ キュー、キュー制限、および DBL」

MQC ベースの QoS の設定

Cisco IOS Release 12.2(40)SG 以降では、Supervisor Engine 6-E を使用している Catalyst 4500 シリーズ スイッチは、QoS の MQC モデルを採用しています。QoS を適用するには、次の作業を完了できる CLI 構造であるモジュラ QoS コマンドライン インターフェイス(MQC)を使用します。

トラフィック クラスの定義に使用する一致基準を指定します。

トラフィック ポリシー(ポリシー マップ)を作成します。トラフィック ポリシーは、各トラフィック クラスに実行する QoS ポリシー アクションを定義します。

ポリシー マップで指定されたポリシー アクションをインターフェイス、VLAN、またはポートおよび VLAN に適用します。

MQC についての詳細は、『 Cisco IOS Quality of Service Solutions Configuration Guide 』Release 12.3 の「Modular Quality of Service Command-Line Interface」を参照してください。


) MQC モデルでは、Supervisor Engines II-Plus から V-10GE のスイッチ QoS モデルで利用可能な信頼 機能がサポートされていません。Supervisor Engine 6-E でサポートされている MQC モデルでは、着信トラフィックはデフォルトで信頼できると見なされます。インターフェイスで信頼境界機能がイネーブルの場合のみ、ポートを非信頼モードにすることができます。このモードでは、スイッチは IP パケットの DSCP 値とイーサネット フレーム上にある VLAN タグの Cos 値を「0」とマークします。


概要

Supervisor Engine 6-E は、ベスト エフォートと QoS の DiffServ タイプの展開(RFC 2597、2598、2474、2475 は DiffServ 基準を定義)をサポートします。高レベル Supervisor Engine 6-E の QoS モデルは次のとおりです。


ステップ 1 着信パケットは、異なるパケットフィールド、受信ポートおよび/または VLAN に基づいてトラフィック クラスに属するように分類されます。

ステップ 2 トラフィック クラスによっては、パケットはレート制限またはポリシングされ、低プライオリティ パケットがドロップされるか、パケット フィールド(DSCP および CoS)に低プライオリティのマークが付くように、任意で(通常はネットワークのエッジで)マーク付けされます。

ステップ 3 パケットがマーク付けされると、転送用に検索されます。このアクションでは、送信ポートとパケットを送信する VLAN が取得されます。

ステップ 4 パケットは、送信ポートおよび VLAN に基づいて出力方向で分類されます。分類では、入力 QoS によるパケットのマーキングが考慮されます。

ステップ 5 出力分類によって、パケットはポリシングされ、そのプライオリティは任意で(再び)マーク付けされて、パケットの送信キューがトラフィック クラスに従って決定されます。

ステップ 6 送信キューのステートは、AQM アルゴリズムおよびドロップしきい値設定を介してダイナミックに監視され、そのパケットをドロップするか、送信用にキューに入れるかが判別されます。

ステップ 7 伝送に適格である場合、パケットは送信キューに入れられます。送信キューは、出力 QoS 分類基準に基づいて選択されます。選択されたキューは、遅延および帯域幅に関して目的の動作を行います。


 

図35-7 に、Supervisor Engine 6-E の高レベル モデルを示します。

図35-7 QoS パケットの処理

 

プラットフォームでサポートされる分類基準および QoS 機能

次の表に、Supervisor Engine 6-E でサポートされるさまざまな分類基準およびアクションのまとめを示します。詳細については、『 Catalyst 4500 Series Switch Command Reference 』を参照してください。

 

サポートされる分類アクション
説明

match access-group

指定した ACL をベースにクラス マップに対して一致基準を設定します。

match any

すべてのパケットに一致する一致基準を、クラス マップに対して設定します。

match cos

レイヤ 2 の CoS マーキングに基づいてパケットを照合します。

match destination-address mac

宛先 MAC アドレスを一致基準として使用します。

match source-address mac

送信元 MAC アドレスを一致基準として使用します。

match [ip] dscp

特定の DSCP 値を一致基準として指定します。1 つの一致文に 8 つまでの DSCP 値を含めることができます。

match [ip] precedence

IP Precedence 値を一致基準として指定します。

match protocol

指定したプロトコルに基づいてクラス マップに対して一致基準を設定します。

match qos-group

特定の QoS グループ値を一致基準として指定します。出力方向でのみ適用されます。

サポートされる QoS 機能
説明

police

トラフィック ポリシングを設定します。

police (percent)

インターフェイスで使用可能な帯域幅のパーセンテージに基づいてトラフィック ポリシングを設定します。

police (two rates)

CIR と PIR(Peak Information Rate; 最大情報レート)の 2 つのレートを使用して、トラフィック ポリシングを設定します。

service-policy

(互いの内部でトラフィック ポリシーをネスト化[階層型トラフィック ポリシー]するための)一致基準として使用されるトラフィック ポリシーの名前を指定します。最大 2 レベルがサポートされます。

set cos

発信パケットのレイヤ 2 CoS 値を設定します。

set dscp

IPv4 の ToS バイトまたは IPv6 パケットのトラフィック クラス バイトで DSCP 値を設定して、パケットにマークを付けます。

set precedence

パケット ヘッダーに Precedence 値を設定します。

set qos-group

あとでパケットの分類に使用できる QoS グループの ID を設定します。

table map support

別のパケット フィールドに基づいてパケット フィールドに無条件にマーク付けします。

priority

ポリシー マップに属しているトラフィックのクラスにプライオリティを設定します。

shape

指定したアルゴリズムに基づいて、指示されたビット レートにトラフィックをシェーピングします。

bandwidth

8 つのキューそれぞれに、保障されている最小帯域幅を提供します。

dbl

Dynamic Buffer Limiting です。

queue-limit

送信キューが保持できるパケットの最大数を指定します。

プラットフォーム ハードウェアの機能

 

QoS アクション
サポートされるエントリ数

分類

64k 入力および 64k 出力分類エントリがサポートされます。

1 つのポリシーでは、最大 24k ACL を使用できます。

ポリシング

16K ポリサーがサポートされています。ポリサーは、2k のブロックの指定方向に割り当てられます。たとえば、2k ポリサーを入力に、14k ポリサーを出力に、それぞれ使用できます。単一レート ポリサーは、1 つのポリサー エントリを使用します。Single Rate Three Color Marker(srTCM)(RFC 2697)および Two Rate Three Color Marker(trTCM)(RFC 2698)は、2 つのポリサー エントリを使用します。

マーキング

CoS および DSCP/Precedence は、それぞれが 512 エントリをサポートできる 2 つの マーキング テーブルを介してサポートされます。各方向にそれぞれ別個のテーブルがあります。

キューイング

キュー サイズは、シャーシおよびライン カードのタイプに応じてポートごとに設定可能な最大エントリ数で設定されます。

DBL

設定されたすべてのクラスマップで DBL アクションをイネーブルにできます。

QoS サービス ポリシーを適用するための前提条件

スイッチ QoS モデルとは異なり、さまざまなターゲットで QoS をイネーブルにするための前提条件はありません。サービス ポリシーを適用すれば QoS がイネーブルになり、そのポリシーの適用を解除すると、ターゲット上で QoS がディセーブルになります。

QoS サービス ポリシーの適用に関する制約事項

インターフェイス、VLAN、またはポートおよび VLAN 上で、トラフィック マーキングを設定できます。インターフェイスは、レイヤ 2 アクセス ポート、レイヤ 2 スイッチ トランク、レイヤ 3 ルーテッド ポート、または EtherChannnel が考えられます。ポリシーは、vlan configuration モードを使用して VLAN に付加されます。


) ポリシーの SVI への付加はサポートされていません。


分類

Supervisor Engine 6-E は、レイヤ 2、IP、IPv6 パケット、および ARP パケットの分類をサポートします。入力で実行されるパケット マーキングは、出力方向で照合できます。前述の表では、すべての機能が一覧になっています。デフォルトでは、Supervisor Engine 6-E は分類リソース共有もサポートします。

デフォルトでは、ポート、VLAN、またはポート単位/VLAN 単位 ターゲットに同じポリシーが付加されている場合、ACL エントリが Supervisor Engine 6-E で共有されます。CAM エントリが共有されている場合でも、QoS アクションはターゲットごとに異なります。

次に例を示します。

class-map c1
match ip any
Policy Map p1
class ipp5
police rate 1 m burst 200000
 

ポリシーマップ p1 がインターフェイス Gig 1/1 および Gig 1/2 に適用されている場合、1 つの CAM エントリ(IP パケットに一致する 1 つの ACE)が使用されますが、2 つのポリサー(ターゲットごとに 1 つずつ)が割り当てられます。したがって、すべての IP パケットがインターフェイス Gig 1/1 で 1 Mbps にポリシングされ、インターフェイス Gig 1/2 上のパケットも 1 Mbps にポリシングされます。


) Cisco IOS Release 12.2(46)SG では、match protocol arp コマンドを実行できます。詳細については、『Catalyst 4500 Series Switch Cisco IOS Command Reference』を参照してください。


ポリシング

Supervisor Engine 6-E は、次の操作モードでポリサーをサポートします。

Single Rate Policer Two Color Marker

この種類のポリサーは、CIR と通常バーストでのみ設定され、conform アクションと exceed アクションのみがあります。

これは、Supervisor Engine II-Plus から V-10GE ベース システムでサポートされる唯一の形式です。

srTCM(RFC 2697)

trTCM(RFC 2698)

Color Blind Mode

設定済みポリサー レートの 0.75% のポリシング精度

Supervisor Engine 6-E は、16384(16 × 1024、16K)単一レート、単一バースト ポリサーをサポートします。16K ポリサーは、2K ポリサーの バンク 8 個で編成されています。ポリサー バンクは、QoS 設定に従い、ソフトウェアによってダイナミックに割り当てられます(入力または出力ポリサー バンク)。したがって、16K ポリサーは、次のようにダイナミックにソフトウェアで分割されます。

0 入力ポリサーと 16K 出力ポリサー

2K 入力ポリサーと 14K 出力ポリサー

4K 入力ポリサーと 12K 出力ポリサー

6K 入力ポリサーと 10K 出力ポリサー

8K 入力ポリサーと 8K 出力ポリサー

10K 入力ポリサーと 6K 出力ポリサー

12K 入力ポリサーと 4K 出力ポリサー

14K 入力ポリサーと 2K 出力ポリサー

16K 入力ポリサーと 0 出力ポリサー

これらの数値は、単一レートおよびバースト パラメータをサポートするハードウェア内の個々のポリサー エントリを表します。この数値に基づき、Supervisor Engine 6-E は、次の数のポリサーをサポートします。

単一バースト付き 16K 単一レート ポリサー(Two Color Marker)

8K srTCM

8K trTCM

これらのポリサーは、2K ポリサー バンクの塊で、入力と力の間で分割されます。さまざまなタイプのポリサーは、すべてシステム内に共存できます。ただし、ポリサーの特定タイプ(srTCM、trTCM など)は、128 個のポリサーのブロックとして設定可能です。

ポリシングの実装方法

Catalyst 4500 シリーズ スイッチにポリシング機能を実装する方法の詳細については、次のリンク先にある Cisco IOS マニュアルを参照してください。

http://www.cisco.com/en/US/products/ps6350/products_configuration_guide_book09186a0080435d50.html

プラットフォームの制約事項

プラットフォームの制約事項は、次のとおりです。

マルチポリサー アクションを指定できます(CoS および IP DSCP の設定がサポートされています)。

無条件マーキングとポリサー ベース マーキングは同時にはサポートされません。

ポリサー ベースのサービスポリシーがポートと VLAN の両方に付加されている場合、ポートベースのポリシングがデフォルトで優先されます。特定の VLAN ポリシーを指定ポートで優先させるには、ポート単位/VLAN 単位ポリシーを設定する必要があります。

PVQoS ポリシーのあるポート チャネルを削除すると、スイッチはクラッシュします。

回避策:ポート チャネルを削除する前に、次の作業を実行します。

1. 存在する場合は PVQoS ポリシーを削除します。

2. no vlan-range コマンドを使用して、ポート チャネル上の VLAN 設定を削除します。

ネットワーク トラフィックのマーク付け

ネットワーク トラフィックのマーク付けにより、特定のクラスまたはカテゴリに属するトラフィック(つまりパケット)のアトリビュートを設定または変更できます。ネットワーク トラフィックの分類とともに使用すると、ネットワーク トラフィックのマーク付けは、ネットワーク上で多くの QoS 機能をイネーブルにする基礎となります。ここでは、ネットワーク トラフィックのマーク付けのための概念的情報と設定作業を説明します。

ネットワーク トラフィックのマーク付けに関する情報

ネットワーク トラフィックをマーク付けするには、次の概念を理解しておく必要があります。

「ネットワーク トラフィックのマーク付けの目的」

「ネットワーク トラフィックのマーク付けの利点」

「トラフィック アトリビュートをマーク付けする 2 つの方法」

ネットワーク トラフィックのマーク付けの目的

トラフィック マーキングは、特定のトラフィック タイプを識別して個別に処理し、ネットワーク トラフィックを異なるカテゴリに分割するために使用されます。

トラフィック分類でネットワーク トラフィックをクラスに編成したあとには、トラフィック マーキングにより特定クラスに属するトラフィックに対して値(アトリビュート)をマーク付け(つまり設定または変更)できます。たとえば、あるクラスで CoS 値を 2 から 1 に変更したり、別のクラスで DSCP 値を 3 から 2 に変更したりします。ここでは、これらの値はアトリビュートまたはマーキング フィールドと呼ばれています。

設定および変更可能なアトリビュートは、次のとおりです。

タグ付きイーサネット フレームの CoS 値

IPv4 の ToS バイトでの DSCP/Precedence 値

QoS グループ ID

IPv6 のトラフィック クラス バイトでの DSCP/Precedence 値

ネットワーク トラフィックのマーク付けの利点

トラフィック マーキングにより、ネットワーク上のトラフィックのアトリビュートを細かく調整できます。より細かく調整できるようになったことで、特別な処理が必要なトラフィックを分離し、それによって最適なアプリケーション パフォーマンスの実現に役立ちます。

トラフィック マーキングにより、ネットワーク トラフィックのアトリビュートがどのように設定されているのかに基づき、トラフィックを処理する方法を決定できます。これにより、ネットワーク トラフィックは、次のようにアトリビュートに基づいて複数のプライオリティ レベルまたは CoS にセグメント化できます。

トラフィック マーキングは、ネットワークに入っていくトラフィックの IP Precedence 値または IP DSCP 値の設定によく使用されます。ネットワーク内のネットワーク デバイスは、新たにマーク付けされた IP Precedence 値を使用して、トラフィックの処理方法を決定します。たとえば、音声トラフィックには特定の IP Precedence または DSCP でマーク付けし、そのマーキングのすべてのパケットをキューに入れるように完全優先を設定できます。この場合、マーキングは完全優先キューのトラフィックを識別するために使用されます。

トラフィック マーキングは、クラスベースの QoS 機能(一部、制約事項があるものの、ポリシー マップ クラス設定モードで使用可能な機能)のトラフィックを識別するために使用できます。

トラフィック マーキングは、スイッチ内の QoS グループにトラフィックを割り当てるために使用できます。スイッチは QoS グループを使用し、送信用にトラフィックのプライオリティを設定する方法を決定します。通常 QoS グループ値は、次の 2 つの理由のうちいずれかのために使用されます。

広範囲のトラフィック クラスを利用するため。QoS グループ値には、DSCP に類似する、64 の異なる個別マーキングがあります。

Precedence または DSCP 値の変更が望ましくない場合。

トラフィック アトリビュートをマーク付けする 2 つの方法


) ここでは、ポリサー ベースのマーキングとは異なる無条件マーキングを説明します。無条件マーキングは、分類にのみ基づきます。


方法 1:無条件明示的マーキング(set コマンドを使用)

ポリシー マップで設定された set コマンドを使用して、変更するトラフィック アトリビュートを指定します。次の表に、使用可能な set コマンドと対応するアトリビュートを示します。set コマンドの詳細については、『 Catalyst 4500 Series Switch Command Reference 』を参照してください。

 

表35-8 set コマンドおよび適用可能なパケット タイプ

set コマンド
トラフィック アトリビュート
パケット タイプ

set cos

発信トラフィックのレイヤ 2 CoS 値

イーサネット IPv4、IPv6

set dscp

ToS バイトの DSCP 値

IPv4、IPv6

set precendence

パケット ヘッダーの Precedence 値

IPv4、IPv6

set qos-group

QoS グループ ID

イーサネット、IPv4、IPv6

個別の set コマンドを使用している場合、それらの set コマンドはポリシー マップで指定されます。次に、 表35-8 に一覧になっている set コマンドの 1 つで設定されたポリシー マップの例を示します。

この設定例では、set cos コマンドがポリシー マップ(policy1)で設定され、CoS アトリビュートをマーク付けしています。

enable
configure terminal
policy map p1
class class1
set cos 3
end
 

ポリシー マップの設定の詳細については、「ポリシー マップの作成」を参照してください。

最後の作業として、インターフェイスにポリシー マップを付加します。インターフェイスへのポリシー マップの付加の詳細については、「インターフェイスへのポリシー マップの付加」を参照してください。

方法 2:無条件テーブルマップベース マーキング

トラフィック アトリビュートのマーク付けに使用できるテーブル マップを作成できます。テーブル マップとは、1 つのトラフィック アトリビュートを別のトラフィック アトリビュートにリストしてマップする、一種の 2 方向変換チャートです。テーブル マップは、多数対 1 タイプの変換とマッピング スキームをサポートします。テーブル マップは、トラフィック アトリビュートの to-from 関係を確立し、アトリビュートに行われる変更を定義します。つまりアトリビュートは、別の値から取得された 1 つの値に設定されます。値は、変更される特定のアトリビュートに基づきます。たとえば、Precedence アトリビュートは 0 ~ 7 の数値に、一方 DSCP アトリビュートは 0 ~ 63 の数値にそれぞれ設定できます。

次に、テーブル マップ設定の例を示します。

table-map table-map1
map from 0 to 1
map from 2 to 3
exit
 

次の表に、テーブル マップを使用して to-from 関係を確立できるトラフィック アトリビュートの一覧を示します。

 

表35-9 to-from 関係を確立できるトラフィック アトリビュート

「to」アトリビュート
「from」アトリビュート

Precedence

CoS、QoS グループ、DSCP、Precedence

DSCP

CoS、QoS グループ、DSCP、Precedence

CoS

DSCP、QoS グループ、CoS、Precedence

次に、前に作成したテーブル マップ(table-map1)を使用するように設定されたポリシー マップ(policy2)の例を示します。

Policy map policy
class class-default

set cos dscp table table-map

exit
 

この例では、テーブル マップで定義されたように、CoS アトリビュートと DSCP アトリビュートの間にマッピング関係が確立されています。

テーブル マップを使用するためのポリシー マップの設定の詳細については、「ポリシー マップの設定」を参照してください。

最後の作業として、インターフェイスにポリシー マップを付加します。インターフェイスへのポリシー マップの付加の詳細については、「インターフェイスへのポリシー マップの付加」を参照してください。

アクション ドライバのマーク付け

マーキング アクションは、2 つの QoS 処理手順のうちの 1 つに基づいてトリガーされます。

分類ベース:この場合、クラスに一致するすべてのトラフィックは、明示的方法またはテーブルマップ ベースの方法のいずれかを使用してマーク付けされます。この方法は、無条件マーキングと呼ばれます。

ポリサー結果ベース:この場合、トラフィックのクラスは、パケットで使用可能なポリサー結果(conform/exceed/violate)に基づいて、別にマーキングされます。この方法は、条件付きマーキングと呼ばれます。

トラフィック マーキング手順のフローチャート

図35-8に、トラフィック マーキングの設定手順の順番を示します。

図35-8 トラフィック マーキング手順のフローチャート

 

ネットワーク トラフィックのマーク付けに関する制約事項

パケット マーキング アクションには、次の制約事項が適用されます。

QoS グループは、入力方向でのみマーク付けでき、無条件明示的マーキングのみをサポートします。

明示的マーキングは、ポリサーベース マーキングに対してのみサポートされます。

マルチアトリビュート マーキングのサポート

Supervisor Engine 6-E は、トラフィックのクラスに一致するパケットの複数の QoS アトリビュートをマーク付けできます。たとえば、DSCP、CoS、および QoS グループは、明示的マーキングまたはテーブルマップベース マーキングのいずれかを使用して、すべて一緒に設定できます。


) 複数フィールドまたはポリサーベース マルチフィールドの無条件明示的マーキングを使用するとき、ToS または CoS マーキング テーブルで設定可能なテーブルマップ数をマーク付けするマルチリージョン(conform/exceed/violate)は、サポートされる最大数より少なくなります。


マーキング用のハードウェア機能

Supervisor Engine 6-E は、パケットを送信、マークダウン、ドロップするポリサー アクションだけでなく、CoS および DSCP/Precedence フィールドでのマーキング アクションの種類を各エントリが指定する、128 エントリのマーキング アクション テーブルを提供します。このテーブルは、入力および出力の各方向でサポートされます。このテーブルは、無条件マーキングとポリサーベース マーキングの両方に使用されます。128 の一意のマーキング アクションまたは 32 の一意のポリサーベース アクション、またはこの 2 つの組み合わせをサポートするために使用可能です。

各マーキング フィールド(CoS および DSCP)のために、Supervisor Engine 6-E は、各方向に 512 エントリのマーキング テーブルを提供します。これらのテーブルは、スイッチ QoS モデルをサポートするスーパーバイザ エンジンで使用可能なマッピング テーブルに類似しています。ただし、ユーザが設定する複数の固有マッピング テーブルを保持する機能を持ちます。

たとえば、ToS マーキング テーブルは、DSCP/Precedence フィールド マーキングを提供し、次のいずれかとして使用できます。

それぞれが 64 の DSCP または QoS グループ値を他の DSCP にマッピングする 8 つの異なるテーブルマップ

それぞれが 8 つの CoS(16 の CoS および CFi)値を入力(出力)方向の DSCP にマッピングする 64(32) の異なるテーブルマップ

上記 2 種類のテーブルマップの組み合わせ

512 エントリの CoS マーキング テーブルでは、同様のマッピングが使用可能です。

ポリシー マップ マーキング アクションの設定

ここでは、ネットワーク トラフィックに無条件マーキング アクションを確立する方法を説明します。

前提条件

次の手順を実行します。

クラス マップ(ipp5)およびポリシー マップを作成します(QoS ポリシーの設定を参照)。

マーキング アクションを設定します(ポリシー マップ クラス アクションの設定を参照)。


) Supervisor Engine 6-E では、マーキング アクション コマンド オプションが拡張されています(set コマンドおよび適用可能なパケット タイプおよびto-from 関係を確立できるトラフィック アトリビュートを参照)。


テーブルマップベース無条件マーキングの設定

テーブルマップ ベースの無条件マーキングを設定するには、次の作業を実行します。

 

コマンド
目的

ステップ 1

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# table-map name

テーブルマップを設定します。

ステップ 3

Switch(config-tablemap)# map from from_value to to_value

from_value から to_value へマップを作成します。

ステップ 4

Switch(config-tablemap)# exit

テーブルマップ コンフィギュレーション モードを終了します。

ステップ 5

Switch(config)# policy-map name

ポリシーマップ コンフィギュレーション モードを開始します。

ステップ 6

Switch(config-p)# class name

QoS アクションのクラスを選択します。

ステップ 7

Switch(config-p-c)# set cos | dscp | prec cos | dscp | prec | qos-group [table name]

暗黙の、または明示的テーブルマップに基づいて、マーキング アクションを選択します。

ステップ 8

Switch(config-p-c)# end

コンフィギュレーション モードを終了します。

ステップ 9

Switch# show policy-map name

ポリシーマップの設定を確認します。

ステップ 10

Switch# show table-map name

テーブルマップの設定を確認します。

次に、テーブルマップを使用してマーキング アクションをイネーブルにする例を示します。

Switch(config)# table-map dscp2Cos
Switch(config-tablemap)# map from 8 to 1
Switch(config-tablemap)# exit
Switch(config)# policy-map p1
Switch(config-pmap)# class ipp5
Switch(config-pmap-c)# set cos dscp table dscp2Cos
Switch(config-pmap-c)# end
Switch# show policy-map p1
 
Policy Map p1
Class ipp5
set cos dscp table dscp2Qos
 
Switch# show table-map dscp2Cos
 
Table Map dscp2Cos
from 8 to 1
default copy

ポリサー結果ベースの条件付きマーキングの設定

ポリサー結果ベースの条件付きマーキングを設定するには、単一レートまたはデュアル レート ポリサーを設定します。「ポリシングの実装方法」を参照してください。

次に、各ポリサー リージョンの明示的アクションで Two Rate Three Color ポリサーを設定する例を示します。

Switch# configure terminal
Switch(config-pmap-c)# policer cir percent 20 pir percent 30
Switch(config-pmap-c-policer)# conform-action set-cos-transmit 3 set-dscp-transmit 10
Switch(config-pmap-c-policer)# exceed-action set-cos-transmit 4 set-dscp-transmit 20
Switch(config-pmap-c-policer)# violate action drop
Switch# show policy-map p1
 
Policy Map police
Class ipp5
police cir percent 20 pir percent 30
conform-action set-cos-transmit 3
conform-action set-dscp-transmit af11
exceed-action set-cos-transmit 4
exceed-action set-dscp-transmit af22
violate-action drop

マーキング統計

マーキング統計では、マーク付けされたパケット数を示します。

無条件マーキングの場合、分類エントリは、マーク付けされたパケットにあるフィールドを代わりに示すマーキング アクション テーブルのエントリを示します。したがって、分類統計はそれ自身で無条件マーキング統計を示します。

ポリサーを使用する条件付きマーキングでは、ポリサーがパケット レート ポリサーである場合、ポリサーは異なるポリシング結果のバイト統計のみを提供するため、マーク付けされたパケット数は判別できません。

シェーピング、共有(帯域幅)、プライオリティ キュー、キュー制限、および DBL

Supervisor Engine 6-E は、送信キューの選択にあたり、分類ベース(クラスベース)モードをサポートします。このモードでは、送信キューは、出力 QoS 分類検索に基づいて選択されます。


) 出力キューのみがサポートされます。


Supervisor Engine 6-E ハードウェアは、ポートごとに 8 つの送信キューをサポートします。パケットをポートから転送することが決定されると、出力 QoS 分類により、パケットが入れられる必要がある送信キューが決定されます。

デフォルトでは、ポートにサービス ポリシーが関連付けられていない Supervisor Engine 6-E には、帯域幅または一種のプライオリティに関して保証のない 2 つのキュー(制御パケット キューおよびデフォルト キュー)があります。唯一の例外は、制御トラフィックに多少の最小リンク帯域幅が与えられるように、システム生成制御パケットが制御パケット キューに入れられることです。

出力ポリシーが、1 つまたは複数のトラフィックのクラスに対する 1 つまたは複数のキューイング関連アクションでポートに付加されるとき、キューが割り当てられます。ポートごとに 8 つのキューしかないので、キューイング アクションを持つトラフィック クラスは最大でも 8 つ(予約クラス、class-default を含む)となります。キュー アクションを持たないトラフィックのクラスは、キューイングなしクラスと呼ばれます。キューイングなしのクラス トラフィックは、最終的にクラス class-default に対応するキューを使用します。

キューイング ポリシー(キューイング アクションを持つポリシー)が付加されると、制御パケット キューが削除され、制御パケットは、分類ごとに関連キューに入れられます。

キューのダイナミックなサイズ変更(キュー制限クラスマップ アクション)は、 queue-limit コマンドを使用することでサポートされています。シャーシとライン カードの種類に基づいて、ポート上の 8 つのキューすべては、同じキュー サイズで設定されます。

シェーピング

シェーピングにより、キューにあるアウト オブ プロファイル パケットを遅延させるて指定のプロファイルに適合させることができます。シェーピングは、ポリシングとは異なります。ポリシングは、設定したしきい値を超えたパケットをドロップしますが、シェーピングは、パケットをバッファし、トラフィックを指定のしきい値内に保ちます。シェーピングでは、トラフィックの処理がポリシングよりも滑らかに行われます。policy-map クラス コンフィギュレーション コマンドを使用して、トラフィック クラスの平均レート トラフィック シェーピングをイネーブルにします。

Supervisor Engine 6-E は、約 1.5% の精度で 32 Kbps ~ 10 Gbps の範囲のシェーピングをサポートします。

キューイング クラスが明示的シェーピング設定を使用せずに設定されているとき、キュー シェーピングはリンク レートに設定されます。

サービス ポリシーにクラスレベル シェーピングを設定するには、次の手順を実行します。

 

コマンド
目的

ステップ 1

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# policy-map policy-map-name

ポリシーマップ名を入力してポリシー マップを作成し、ポリシーマップ コンフィギュレーション モードを開始します。

デフォルト設定では、ポリシー マップは定義されていません。

ステップ 3

Switch(config-pmap)# class class-name

トラフィック ポリシーを作成または変更するクラスの名前を指定し、ポリシーマップ クラス コンフィギュレーション モードを開始します。

デフォルト設定では、トラフィック クラスは定義されていません。

ステップ 4

Switch(config-pmap-class)# shape average {cir-bps kbps | percent percent}

平均レート トラフィック シェーピングをイネーブルにします。

帯域幅は、Kbps またはパーセンテージで指定できます。

cir-bps の場合、トラフィックがシェーピングされるビット レートである CIR を bps で指定します。指定できる範囲は 32000 ~ 10000000000 bps です。

percent の場合、トラフィックのクラスをシェーピングするリンク レートのパーセンテージを指定します。有効範囲は 1 ~ 100 です。

デフォルト設定では、平均レート トラフィック シェーピングはディセーブルになっています。

ステップ 5

Switch(config-pmap-class)# exit

ポリシーマップ コンフィギュレーション モードに戻ります。

ステップ 6

Switch(config-pmap)# exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 7

Switch(config)# interface interface-id

物理ポートを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 8

Switch(config-interface)# service-policy output policy-map-name

ポリシーマップ名を指定し、物理インターフェイスに適用します。

ステップ 9

Switch(config-interface)# end

特権 EXEC モードに戻ります。

ステップ 10

Switch# show policy-map
[policy-map-name [class class-map-name]]
 
or
 
Switch# show policy-map interface interface-id

入力を確認します。

ステップ 11

Switch# copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

既存のポリシー マップを削除するには、no policy-map policy-map-name グローバル コンフィギュレーション モードを使用します。既存のクラスを削除するには、no class class-name policy-map コンフィギュレーション コマンドを使用します。平均レート トラフィック シェーピングをディセーブルにするには、no shape average policy-map クラス コンフィギュレーション コマンドを使用します。

次に、クラスレベル、平均レート シェーピングを設定する例を示します。ここでは、トラフィック クラス class1 をデータ伝送レート 256 Kbps に制限します。

Switch# configure terminal
Switch(config)# policy-map policy1
Switch(config-pmap)# class class1
Switch(config-pmap-c)# shape average 256000
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# service-policy output policy1
Switch(config-if)# end
Switch#
 
Switch# show policy-map policy1
Policy Map policy1
Class class1
shape average 256000
 

次に、queuing-class トラフィックについて、クラスレベル、平均シェーピング パーセンテージを、リンク帯域幅の 32% に設定する例を示します。

Switch# configure terminal
Switch(config)# policy-map queuing-policy
Switch(config-pmap)# class queuing-class
Switch(config-pmap-c)# shape average percent 32
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# service-policy output policy1
Switch(config-if)# end
Switch #
 
Switch# show policy-map queuing-policy
Policy Map queuing-policy
Class queuing-class
Average Rate Traffic Shaping
cir 32%

共有(帯域幅)

トラフィックのクラスに割り当てられた帯域幅は、輻輳中にクラスに対して保証される最小帯域幅です。送信キュー シェーピングは、出力リンク帯域幅が指定ポートの複数キューで共有されるプロセスです。

Supervisor Engine 6-E は、約 1.5% の精度で 32 Kbps ~ 10 Gbps の範囲の共有をサポートします。すべてのキューイング クラスにわたる設定帯域幅の合計は、リンク帯域幅を超えないようにしてください。

サービス ポリシーにクラスレベル帯域幅アクションを設定するには、次の手順を実行します。

 

コマンド
目的

ステップ 1

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# policy-map policy-map-name

ポリシーマップ名を入力してポリシー マップを作成し、ポリシーマップ コンフィギュレーション モードを開始します。

デフォルト設定では、ポリシー マップは定義されていません。

ステップ 3

Switch(config-pmap)# class class-name

トラフィック ポリシーを作成または変更するクラスの名前を指定し、ポリシーマップ クラス コンフィギュレーション モードを開始します。

デフォルト設定では、トラフィック クラスは定義されていません。

ステップ 4

Switch(config-pmap-class)# bandwidth {bandwidth-kbps | percent percent}

スイッチにトラフィックの輻輳があるとき、このポリシー マップに属するクラスに提供される最小帯域幅を指定します。スイッチが輻輳していない場合、クラスは bandwidth コマンドで指定した以上の帯域幅が与えられます。

デフォルト設定では、帯域幅は指定されていません。

帯域幅は、Kbps またはパーセンテージで指定できます。

・ bandwidth-kbps では、クラスに割り当てられる帯域幅を Kbps で指定します。有効範囲は 32 ~ 10000000 です。

・ percent では、クラスに割り当てられる使用可能帯域幅のパーセンテージを指定します。有効範囲は 1 ~ 100 です。

すべてのクラス帯域幅を Kbps またはパーセンテージ(混在は不可)で指定します。

ステップ 5

Switch(config-pmap-class)# exit

ポリシーマップ コンフィギュレーション モードに戻ります。

ステップ 6

Switch(config-pmap)# exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 7

Switch(config)# interface interface-id

物理ポートを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 8

Switch(config-interface)# service-policy output policy-map-name

ポリシーマップ名を指定し、物理インターフェイスに適用します。

ステップ 9

Switch(config-interface)# end

特権 EXEC モードに戻ります。

ステップ 10

Switch# show policy-map
[policy-map-name [class class-map-name]]

または

Switch# show policy-map interface interface-id

入力を確認します。

ステップ 11

Switch# copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

既存のポリシー マップを削除するには、no policy-map policy-map-name グローバル コンフィギュレーション モードを使用します。既存のクラスを削除するには、no class class-name policy-map コンフィギュレーション コマンドを使用します。デフォルトの帯域幅に戻すには、no bandwidth policy-map クラス コンフィギュレーション コマンドを使用します。

次に、prec1、prec2、および prec3 という 3 つのクラスに対して、policy11 という名前のクラスレベル ポリシー マップを作成する例を示します。これらのクラスのポリシーでは、最初のクラスのキューに 30%、2 番めのクラスのキューに 20%、3 番めのクラスのキューに 10% の使用可能帯域幅が、それぞれ割り当てられます。

Switch # configure terminal
Switch(config)# policy-map policy11
Switch(config-pmap)# class prec1
Switch(config-pmap-c)# bandwidth percent 30
Switch(config-pmap-c)# exit
Switch(config-pmap)# class prec2
Switch(config-pmap-c)# bandwidth percent 20
Switch(config-pmap-c)# exit
Switch(config-pmap)# class prec3
Switch(config-pmap-c)# bandwidth percent 10
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# service-policy output policy11
Switch(config-if)# end
Switch #
 
Switch# show policy-map policy11
Policy Map policy11
Class prec1
bandwidth percent 30
Class prec2
bandwidth percent 20
Class prec3
bandwidth percent 10
 

次に、prec1、prec2、および prec3 という 3 つのクラスに対して、policy11 という名前のクラスレベル ポリシー マップを作成する例を示します。これらのクラスのポリシーでは、最初のクラスのキューに 300 Mbps、2 番めのクラスのキューに 200 Mbps、3 番めのクラスのキューに 100 Mbps の使用可能帯域幅が、それぞれ割り当てられます。

Switch # configure terminal
Switch(config)# policy-map policy11
Switch(config-pmap)# class prec1
Switch(config-pmap-c)# bandwidth 300000
Switch(config-pmap-c)# exit
Switch(config-pmap)# class prec2
Switch(config-pmap-c)# bandwidth 200000
Switch(config-pmap-c)# exit
Switch(config-pmap)# class prec3
Switch(config-pmap-c)# bandwidth 100000
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# service-policy output policy11
Switch(config-if)# end
Switch #
 
Switch# show policy-map policy11
Policy Map policy11
Class prec1
bandwidth 300000 (kbps)
Class prec2
bandwidth 200000 (kbps)
Class prec3
bandwidth 100000 (kbps)
 

キューで最小帯域幅が保証されないために、キューイング クラスが明示的共有/帯域幅設定を使用せずに設定されている場合、ハードウェア キューはポート上の未割り当て帯域幅の共有を取得するようにプログラミングされます。以下の例を参照してください。

新しいキューに対して帯域幅が残っていない場合、または明示的共有/帯域幅設定を持たないすべてのキューの最小設定可能レート(32 Kbps)を満たすのに未割り当て帯域幅が十分でない場合、ポリシーの関連付けは拒否されます。

たとえば、次のような 2 つのキューがあるとします。

policy-map queue-policy
class q1
bandwidth percent 10
 
class q2
bandwidth percent 20
 

そのキューの帯域幅割り当ては次のようになります。

q1 = 10%
q2 = 20%
class-default = 70%
 

同様に、もう 1 つのキューイング クラス(q3 とします)が明示的帯域幅なしで(たとえば、shape コマンドだけで)追加されると、帯域幅割り当ては次のようになります。

q1 = 10%
q2 = 20%
q3 = min(35%, q3-shape-rate)
class-default = max(35%, (100 - (q1 + q2 + q3 )))

プライオリティ キューイング

Supervisor Engine 6-E では、ポート上の伝送キューを 1 つだけ、完全優先(低遅延キューまたは LLQ)として設定できます。

LLQ では、トラフィック クラスに対して完全優先キューイングが提供されます。これにより、他のキューのパケットの前に、音声など遅延の影響を受けやすいデータを送信できます。プライオリティ キューは、空になるまでまたはシェーピング レートを下回るまで、最初に処理されます。クラスレベル ポリシーごとのプライオリティ キューの宛先にできるのは、1 つのトラフィック ストリームだけです。トラフィック クラスのプライオリティ キューをイネーブルにするには、クラス モードで priority policy-map class コンフィギュレーション コマンドを使用します。

LLQ は、レート制限されていないかぎり、他のキューを停止させることがあります。Supervisor Engine 6-E は、キューが輻輳すると(キュー長に基づく)、2 パラメータ ポリサー(レート、バースト)が有効になる条件付きポリシングをサポートしません。ただし、完全優先 キューに入れられたパケットのレート制限のための無条件ポリサーの適用はサポートします。

サービス ポリシーにクラスレベル プライオリティ キューイングを設定するには、次の手順を実行します。

 

コマンド
目的

ステップ 1

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# policy-map policy-map-name

ポリシーマップ名を入力してポリシー マップを作成し、ポリシーマップ コンフィギュレーション モードを開始します。

デフォルト設定では、ポリシー マップは定義されていません。

ステップ 3

Switch(config-pmap)# class class-name

トラフィック ポリシーを作成または変更するクラスの名前を指定し、ポリシーマップ クラス コンフィギュレーション モードを開始します。

デフォルト設定では、トラフィック クラスは定義されていません。

ステップ 4

Switch(config-pmap-class)# priority

完全優先 キューをイネーブルにし、トラフィックのクラスのプライオリティを設定します。

デフォルト設定では、完全優先 キューイングはディセーブルになっています。

ステップ 5

Switch(config-pmap-class)# exit

ポリシーマップ コンフィギュレーション モードに戻ります。

ステップ 6

Switch(config-pmap)# exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 7

Switch(config)# interface interface-id

物理ポートを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 8

Switch(config-interface)# service-policy output policy-map-name

ポリシーマップ名を指定し、物理インターフェイスに適用します。

ステップ 9

Switch(config-interface)# end

特権 EXEC モードに戻ります。

ステップ 10

Switch# show policy-map
[policy-map-name [class class-map-name]]

または

Switch# show policy-map interface interface-id

入力を確認します。

ステップ 11

Switch# copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

既存のポリシー マップを削除するには、no policy-map policy-map-name グローバル コンフィギュレーション モードを使用します。既存のクラスを削除するには、no class class-name policy-map コンフィギュレーション コマンドを使用します。プライオリティ キューをディセーブルにするには、no priority policy-map class コンフィギュレーション コマンドを使用します。

次に、policy1 というクラスレベル ポリシーを設定する例を示します。class 1 は、プライオリティ キューとして設定され、空になるまで最初に処理されます。

Switch# configure terminal
Switch(config)# policy-map policy1
Switch(config-pmap)# class class1
Switch(config-pmap-c)# priority
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# service-policy output policy1
Switch(config-if)# end
Switch #
 
Switch# show policy-map policy1
Policy Map policy1
Class class1
priority

キュー制限

クラスベース キューが物理ポートでインスタンス化される際に、デフォルト サイズで設定されます。このサイズは、このトラフィック クラスに属するパケットがキューイング可能なキュー エントリの数を表します。スケジューラは、キュー シェーピング、帯域幅、およびプライオリティ設定に基づいて、すでに送信可能なキューからパケットを移動します。

キュー制限は、指定時間内のキュー内にあるパケットの最大数を指定します。キューが一杯になった場合に、後続のパケットをキューイングしようとするとテール ドロップになります。ただし、DBL がキューでイネーブルである場合は、キューが一杯になっていなくても DBL アルゴリズムに基づいてパケットが確率的にドロップされます。

帯域幅、シェーピング、またはプライオリティなどのキュー スケジューリングがすでに設定されている場合のみ、 queue-limit コマンドをクラスの下に設定できます。この要件の例外は、クラスデフォルト クラス上でスタンドアロン queue-limit コマンドをサポートしている場合です。

キュー メモリ

割り当て可能なキュー エントリ数は 8 の倍数でなければならず、16 ~ 8184 の範囲です。クラスベース キューが物理ポートでインスタンス化される際に、エントリのデフォルト数が指定されます。このデフォルト キュー サイズは、シャーシ内のスロット数と、各スロットの前面パネル ポート数に基づいています。

Supervisor Engine 6-E には、512K(524,288)キュー エントリがあり、そのうち 100K (102,400)キュー エントリが空いているリザーブ プール内に保留されています。残りの 412K(421,88)のうち、ドロップ ポートに 8184 エントリが提供され、CPU ポートに 11704 エントリが割り当てられます。残りのエントリは、シャーシ内のスロットへ均等に分けられます。冗長シャーシ内では、このエントリ分配のために 2 つのスーパーバイザ スロットが 1 つとして扱われます。各スロット内では、そのスロットにあるライン カード上に存在する前面パネルのポート間でキュー エントリの数が均等に分割されます。

インターフェイス上にあるキュー エントリのユーザ設定が専用割り当て分を越えた場合、システムが空いているリザーブ プールを活用して設定に対応しようとします。空いているリザーブ プールからのエントリは、先着順でインターフェイスに割り当てられます。

サーバ ポリシーの関連付け

キューイング アクションのある QoS サービス ポリシーが設定されているものの、明示的に queue-limit コマンドが物理インターフェイスの出方向に添付されていない場合、クラスベースの各キューはその物理ポートの専用割り当て分から同数のキュー エントリを取得します。queue-limit コマンドを使用してキューに明示的にサイズが指定されている場合、スイッチはインターフェイスの専用割り当てから全エントリを割り当てようとします。必要なエントリ数がインターフェイスの専用割り当て分を越える場合、スイッチは空いているリザーブからエントリを割り当てようとします。

キューに関連付けられたキュー エントリは常に連続している必要があります。この要件により、スイッチ間で共有されている 512K のキューエントリにフラグメンテーションが発生する可能性があります。たとえば、あるインターフェイスで専用割り当て分のキュー エントリが十分ない場合、そのキューを設定するために空いているリザーブ分を使用することになります。この場合、他のポートやスロットと共有できないため、専用割り当て分のキュー エントリは未使用のままになります。

インターフェイスに関連付けられている QoS サービスポリシーが削除された場合、空いているリザーブ分から取得したキュー エントリは空いているリザーブ プールに戻されます。インターフェイス キューイング コンフィギュレーションは、2 つのキュー(デフォルトのシェーピング、帯域幅、サイズを有するクラスデフォルトおよび制御パケット キュー)に戻ります。制御パケットキューはサイズ 16 で設定されていて、デフォルト キューはインターフェイスの専用割り当て分に基づいて可能な最大サイズに設定されています。

キュー割り当て障害

キュー メモリのフラグメンテーションや十分な空いているリザーブ エントリがないために、スイッチがインターフェイス上の 1 つまたは複数のキューで必要な明示的キュー サイズを満たすことができない場合があります。このシナリオでは、スイッチはエラー メッセージをログして、ユーザに障害を通知します。QoS サービス ポリシーはインターフェイス上に設定されたままになります。QoS サービスポリシーを削除し、スイッチ上の他のポートで、空いているリザーブ分からキュー エントリの現在の利用率を調査することで、エラーを修復することができます。

サービス ポリシーにクラスレベル queue-limit を設定するには、次の手順を実行します。

明示的キュー サイズを削除するには、ポリシーマップ内のクラスで no queue-limit コマンドを使用します。

 

コマンド
目的

ステップ 1

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# policy-map policy-map-name

ポリシーマップ名を入力してポリシー マップを作成し、ポリシーマップ コンフィギュレーション モードを開始します。

デフォルト設定では、ポリシー マップは定義されていません。

ステップ 3

Switch(config-pmap)# class class-name

トラフィック ポリシーを作成または変更するクラスの名前を指定し、ポリシーマップ クラス コンフィギュレーション モードを開始します。

デフォルト設定では、トラフィック クラスは定義されていません。

ステップ 4

Switch(config-pmap-class)# shape average {cir-bps kbps | percent percent}

平均レート トラフィック シェーピングをイネーブルにします。

帯域幅は、Kbps またはパーセンテージで指定できます。

cir-bps の場合、トラフィックがシェーピングされるビット レートである CIR を bps で指定します。指定できる範囲は 32000 ~ 10000000000 bps です。

percent の場合、トラフィックのクラスをシェーピングするリンク レートのパーセンテージを指定します。有効範囲は 1 ~ 100 です。

デフォルト設定では、平均レート トラフィック シェーピングはディセーブルになっています。

ステップ 5

Switch(config-pmap-class)# queue-limit number-of-packets

パケット内の明示的なキュー サイズを提示します。サイズは 8 の倍数で、16 ~ 8184 の範囲にする必要があります。

ステップ 6

Switch(config-pmap-class)# exit

ポリシーマップ コンフィギュレーション モードに戻ります。

ステップ 7

Switch(config-pmap)# exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 8

Switch(config)# interface interface-id

物理ポートを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 9

Switch(config-interface)# service-policy output policy-map-name

ポリシーマップ名を指定し、物理インターフェイスに適用します。

ステップ 10

Switch(config-interface)# end

特権 EXEC モードに戻ります。

ステップ 11

Switch# show policy-map
[policy-map-name [class class-map-name]]

または

Switch# show policy-map interface interface-id

入力を確認します。

ステップ 12

Switch# copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

次に、明示的な queue-limit コマンドを使用してクラスベースのキューを設定する例を示します。ここでは、トラフィック クラス class1 をキュー サイズ 4048 に制限します。

Switch# configure terminal
Switch(config)# policy-map policy1
Switch(config-pmap)# class class1
Switch(config-pmap-c)# shape average 256000
Switch(config-pmap-c)# queue-limit 4048Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# service-policy output policy1
Switch(config-if)# end
Switch#
 
Switch# show policy-map policy1
Policy Map policy1
Class class1
shape average 256000
queue-limit 4048
Switch#
 

DBL を経由した AQM

AQM は、パケットをポートの伝送キューに入れる前の、トラフィック フローのバッファ制御を提供します。この機能は、共有メモリ スイッチで非常に役立ち、特定のフローによるスイッチ パケット メモリの占有が行われないようにします。


) Supervisor Engine 6-E は、DBL 経由のアクティブ スイッチ バッファ管理をサポートします。


トラフィックのデフォルト クラス(クラス class-default)を除き、他のキューイング アクションが少なくとも 1 つ設定されている場合にのみ DBL アクションを設定できます。

サービス ポリシーのシェーピングとともにクラスレベル DBL アクションを設定するには、次の手順を実行します。

 

コマンド
目的

ステップ 1

Switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

Switch(config)# policy-map policy-map-name

ポリシーマップ名を入力してポリシー マップを作成し、ポリシーマップ コンフィギュレーション モードを開始します。

デフォルト設定では、ポリシー マップは定義されていません。

ステップ 3

Switch(config-pmap)# class class-name

トラフィック ポリシーを作成または変更するクラスの名前を指定し、ポリシーマップ クラス コンフィギュレーション モードを開始します。

デフォルト設定では、トラフィック クラスは定義されていません。

ステップ 4

Switch(config-pmap-class)# shape average cir-bps

平均レート トラフィック シェーピングをイネーブルにします。

トラフィックがシェーピングされるビット レートである CIR を bps で指定します。指定できる範囲は 32000 ~ 10000000000 bps です。

デフォルト設定では、平均レート トラフィック シェーピングはディセーブルになっています。

ステップ 5

Switch(config-pmap-class)# dbl

トラフィックのこのクラスに関連付けられたキューで DBL をイネーブルにします。

ステップ 6

Switch(config-pmap-class)# exit

ポリシーマップ コンフィギュレーション モードに戻ります。

ステップ 7

Switch(config-pmap)# exit

グローバル コンフィギュレーション モードに戻ります。

ステップ 8

Switch(config)# interface interface-id

物理ポートを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 9

Switch(config-interface)# service-policy output policy-map-name

ポリシーマップ名を指定し、物理インターフェイスに適用します。

ステップ 10

Switch(config-interface)# end

特権 EXEC モードに戻ります。

ステップ 11

Switch# show policy-map
[policy-map-name [class class-map-name]]

または

Switch# show policy-map interface interface-id

入力を確認します。

ステップ 12

Switch# copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

既存のポリシー マップを削除するには、no policy-map policy-map-name グローバル コンフィギュレーション モードを使用します。既存のクラスを削除するには、no class class-name policy-map コンフィギュレーション コマンドを使用します。関連付けられたキューで DBL をディセーブルにするには、no dbl policy-map class コンフィギュレーション コマンドを使用します。

次に、クラスレベルの DBL アクションを平均レート シェーピングとともに設定する例を示します。トラフィッククラス class1 に関連付けられたキューで DBL をイネーブルにします。

Switch# configure terminal
Switch(config)# policy-map policy1
Switch(config-pmap)# class class1
Switch(config-pmap-c)# shape average 256000
Switch(config-pmap-c)# dbl
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)# interface gigabitethernet1/1
Switch(config-if)# service-policy output policy1
Switch(config-if)# end
Switch#
 
Switch# show policy-map policy1
Policy Map policy1
Class class1
shape average 256000
dbl

伝送キューの統計

伝送キューの統計情報を表示するには、show policy-map interface コマンドを使用します。

階層型ポリシー

論理 QoS セマンティクスをサポートするには、階層型ポリシーのサポートが必要です。次に、階層型ポリシーを設定して異なる動作を実現するためのさまざまな方法の例を示します。

例 1

次の例では、特定のキューに送信されたトラフィックのポリシングまたはマーキングされたサブセットと、デフォルト キューにポリシングまたはマーキングされた残りのトラフィックがあるとします。

Policy-map queue-policy
class queue-class
shape <...>
bandwidth <...>
service-policy police-and-mark-traffic-class-1
 
class queue2-class
set <...>
police <...>
service-policy police-and-mark-traffic-class-2
 
class class-default
set <...>
police <...>
...
policy-map police-and-mark-traffic-class-1
class traffic-class-1
set <...>
police <...>

例 2

次の例では、すべてのトラフィックが集約でポリシングまたはマーキングされ、同じキュー分類ポリシーを使用するとします。MQC セマンティックスのように、クラスがキューイング アクションを使用しない場合、"class-default" は、そのトラフィックのクラスのキューとして動作します。

Policy-map queue-policy
class queue1-class
shape <...>
bandwidth <...>
 
class queue8-class
shape <...>
bandwidth <...>
 
class queue8-class
shape <...>
bandwidth <...>
policy-map port-level-policy
class traffic-class-1
set <...>
police <...>
...
class traffic-class-n
set <...>
police <...>
 
class class-default
service-policy police-and-mark-traffic-class-2
 

例 1 とは対照的に、例 2 はキュー設定の標準的な方法です。

例 3

次に、指定ポートをサブレートにシェーピングして、キューイングまたはポリシング ポリシーを適用する例を示します。


) ポート シェーピングは、Supervisor Engine 6-E ではサポートされていません。


この設定モデルには、次の手順が含まれます。


ステップ 1 ポリシングまたはマーキング ポリシー アクションの設定(最下位の子ポリシー)

ステップ 2 ステップ 1 で設定した各キューでのキューイング アクションおよびポリシングまたはマーキング パケットの設定(中位子ポリシー)

ステップ 3 ポート レベル シェーピングの設定(親ポリシー)


 

ポリシー設定は、次のようになります。

Policy-map port-level-policy
class class-default
shape percent 100
service-policy queuing-policy
 
Policy-map queuing-policy
class queue1-class
shape <...>
bandwidth <...>
service-policy police-and-mark-traffic-class-1
 
...
class class-default
shape <...>
bandwidth <...>
service-policy police-and-mark-traffic-class-default
 
Policy-map police-and-mark-traffic-class-1
class traffic-class-1
shape <...>
police <...>
...

ポリシーの関連付け

Supervisor Engine 6-E は、ポート単位/VLAN 単位ポリシーをサポートします。関連付けられたポリシーは、インターフェイス、VLAN、および指定ポートの特定 VLAN にそれぞれ付加されます。

詳細については、次の URL を参照してください。

http://www.cisco.com/en/US/products/ps6350/products_configuration_guide_book09186a0080435d50.html

QoS アクションの制約事項

異なるターゲット上で指定した方向に同じアクションを複数回実行することはできません。つまり、入力方向のポートと VLAN の両方でパケットをポリシングすることはできません。ただし、入力ポートと出力 VLAN 上ではポリシングできます。

キューイング アクションは、物理ポートの出力方向でのみ許可されます。

QoS ポリシーのプライオリティ

ポートおよび VLAN 上のポリシーが、競合アクション(ポートと VLAN の両方でのポリシングまたはマーキング アクションなど)で設定されている場合、ポート ポリシーが取得されます。

指定ポートの VLAN 上でのポリシーが上書きされる必要がある場合、ユーザは PV ポリシーを設定できます。

QoS ポリシーの統合

適用可能ポリシーは、指定方向の指定パケットに適用されます。たとえば、出力 VLAN ベース ポリシングおよびマーキングを設定し、さらにそのポートでの選択的キューイングを設定すると、このパケットに対し、両方のポリシーからのアクションが適用されます。

ソフトウェア QoS

最高レベルには、ローカルで送信された、スイッチからの 2 種類のトラフィック(制御プロトコル パケット、ping、および Telnet)があります。この 2 種類とは、高プライオリティ トラフィック(通常は、OSPF Hello や STP などの制御プロトコル パケット)と低プライオリティ パケット(他のすべてのパケット タイプ)です。

ローカルで送信されたパケットの QoS 処理には、次の 2 つの方法があります。

Supervisor Engine 6-E には、ソフトウェア パスで処理されたパケットに QoS を適用する方法が用意されています。ソフトウェアでこの QoS 処理を受けるパケットは、ソフトウェア スイッチド パケットとソフトウェア生成パケットの 2 種類に分類できます。

受信時には、ソフトウェア スイッチド パケットは、パケットを代わりに別のインターフェイスから送信する CPU に送信されます。そういったパケットの場合、入力ソフトウェア QoS は入力マーキングを提供し、出力ソフトウェア QoS は出力マーキングとキュー選択を提供します。

ソフトウェア生成パケットは、スイッチによりローカルで送信されたパケットです。これらのパケットに適用された出力ソフトウェア QoS 処理のタイプは、ソフトウェア スイッチド パケットに適用されたタイプと同じです。これら 2 つの処理タイプの唯一の違いは、ソフトウェア スイッチド パケットが、出力分類を目的として、パケットの入力マーキングを考慮する点です。

高プライオリティ パケット

高プライオリティ パケットは、次のいずれかとしてマーク付けされます。

PAK_PRIORITY を使用して内部的に

IP Precedence 6 を使用して(IP パケット用)

CoS 6 を使用して(VLAN タグ付きパケット用)

これらのパケットは、次のように動作します。

これらのパケットは、出力サービス ポリシーのように設定されたポリシング、AQM、ドロップしきい値(またはパケットをドロップすることができる機能)が原因でドロップされることはありません。ただし、ハードウェア リソースの制約(パケット バッファ、キューが満杯など)が原因でドロップされることはあります。

これらのパケットは、ポートまたは VLAN である出力サービス ポリシーのマーキング設定に従って、分類およびマーク付けされます(ポリシーの関連付けを参照)。

これらの高プライオリティ パケットは、次の基準に従って出力ポートのキューに入れられます。

ポートに出力キューイング ポリシーがない場合、パケットは、デフォルト キューとは別に設定され、5% のリンク帯域幅が予約されている制御パケット キューに入れられます。

ポートに出力キューイング ポリシーがある場合、そのパケットに適用可能な分類基準に基づいてキューが選択されます。

低プライオリティ パケット

高プライオリティ(前述)と見なされないパケットは、重要ではないと見なされます。これらのパケットには、ローカルで送信された ping、Telnet、およびその他のプロトコル パケットが含まれます。これらのパケットは、指定の伝送ポートを通過する他のパケットと同様に(出力分類、マーキングおよびキューイングを含む)、処理されます。