この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
分類とは、パケットをトラフィック クラスに振り分けることです。指定した分類済みトラフィックに対して特定のアクション(ポリシングやマークダウンなど)を実行するようにデバイスを設定します。
パケットの特性を次の表に示す分類基準と照合することによって、各トラフィック クラスを表すクラス マップを作成できます。
分類基準 |
説明 |
---|---|
CoS |
IEEE 802.1Q ヘッダー内のサービス クラス(CoS)フィールド。 |
IP precedence |
IP ヘッダーのタイプ オブ サービス(ToS)バイト内部の優先順位値。 |
Diffserv コード ポイント(DSCP) |
IP ヘッダーの DIffServ フィールド内部の DSCP 値。 |
ACL |
IP、IPv6、または MAC ACL 名 |
パケット長 |
レイヤ 3 パケット長のサイズ範囲 |
IP RTP |
Real-time Transport Protocol(RTP)を使用しているアプリケーションを、UDP ポート番号範囲によって識別します。 |
複数の一致基準を指定することも、特定の基準について照合しないようにすることも、一部または全部の基準を照合することによってトラフィック クラスを決定することもできます。
(注) | ただし、ACL について照合する場合は、パケット長を除く他の一致基準を match-all クラス内で指定することはできません。match-any クラス内では、ACL およびその他の一致基準について照合できます。 |
QoS ポリシー マップ内でどのクラスにも一致しないトラフィックは、class-default と呼ばれるデフォルトのトラフィック クラスに割り当てられます。QoS ポリシー マップ内で class-default を参照することで、この一致しないトラフィックを選択できます。
同じタイプのトラフィックを処理する別のインターフェイスの QoS ポリシーを定義する場合、クラス マップを再利用できます。
次の表に、この機能のライセンス要件を示します。
製品 |
ライセンス要件 |
---|---|
Cisco NX-OS |
QoS 機能にライセンスは必要ありません。ライセンス パッケージに含まれていない機能は NX-OS イメージにバンドルされており、無料で提供されます。NX-OS ライセンス方式の詳細については、『Cisco NX-OS Licensing Guide』を参照してください。 |
分類の前提条件は、次のとおりです。
分類の設定時の注意事項と制約事項は次のとおりです。
internal キーワードが付いている show コマンドはサポートされていません。
クラス マップ内で指定できる一致基準の数は最大 1,024 個です。
1 つのポリシー マップで使用するために設定できるクラスの数は最大 128 個です。
ACL について照合する際、それ以外に指定できる一致基準は、match-all クラス内のレイヤ 3 パケット長だけです。
class-map type qos match-all コマンドの match-all オプションはサポートされていません。このコマンドの一致基準は class-map type qos match-any コマンドと同じになります。class-map type qos match-all コマンドは、class-map type qos match-any コマンドと同じ結果が得られます。
レイヤ 2 ポート上のトラフィックは、着信パケットのポート ポリシーまたは VLAN ポリシーのいずれかに基づいて分類できます(ただし両方に基づいて分類することはできません)。両方のポリシーが存在する場合、デバイスはポート ポリシーに基づいて動作し、VLAN ポリシーを無視します。
Cisco Nexus Fabric Extender(FEX)を接続して使用している場合、データ トラフィックを CoS 値 7 でマーク付けしないでください。CoS 7 は、Fabric Extender を通過する制御トラフィック用に予約されています。
スイッチからの FEX への制御トラフィック(制御フレーム)は CoS 値 7 でマークされ、2344 バイトのジャンボ MTU フレームのサイズに制限されます。
FEX のホスト インターフェイス(HIF)は、FEX QoS ポリシーによってサポートされます。
MTU をサポートする FEX での制御キューは 2240 に制限されるため、スイッチ スーパーバイザから FEX ホストへのジャンボ ping(MTU 2400 以上)は失敗します。
QoS 分類ポリシーは、レイヤ 2 スイッチ ポートのシステム qos レベル下ではサポートされません。ただし、CoS/DSCP に基づいて着信トラフィックを分類し、異なるキューにマッピングするよう QoS ポリシーを設定できます。QoS ポリシーは、分類が必要なすべてのインターフェイスに適用する必要があります。
トラフィック クラスの設定
トラフィックを分類するには、既存の ACL に基づいてパケットを照合します。ACL キーワードの permit および deny は、照合時には無視されます。QoS では ACL の許可-拒否機能は使用されません。IPv4、IPv6、または MAC アドレスによる分類が可能です。
1.
configure terminal
2.
class-map [type qos] [match-any | match-all] class-name
3.
match access-group nameacl-name
次に、ACL クラス マップ設定の表示方法例を示します。
switch# show class-map class_acl
IP ヘッダーの DiffServ フィールドの DSCP 値に基づいてトラフィックを分類できます。標準の DSCP 値については、次の表を参照してください。
値 |
DSCP 値のリスト |
---|---|
af11 |
AF11 dscp(001010):10 進値 10 |
af12 |
AF12 dscp(001100):10 進値 12 |
af13 |
AF13 dscp(001110):10 進値 14 |
af21 |
AF21 dscp(010010):10 進値 18 |
af22 |
AF22 dscp(010100):10 進値 20 |
af23 |
AF23 dscp(010110):10 進値 22 |
af31 |
AF31 dscp(011010):10 進値 26 |
af32 |
AF40 dscp(011100):10 進値 28 |
af33 |
AF33 dscp(011110):10 進値 30 |
af41 |
AF41 dscp(100010):10 進値 34 |
af42 |
AF42 dscp(100100):10 進値 36 |
af43 |
AF43 dscp(100110):10 進値 38 |
cs1 |
CS1(precedence 1)dscp(001000):10 進値 8 |
cs2 |
CS2(precedence 2)dscp(010000):10 進値 16 |
cs3 |
CS3(precedence 3)dscp(011000):10 進値 24 |
cs4 |
CS4(precedence 4)dscp(100000):10 進値 32 |
cs5 |
CS5(precedence 5)dscp(101000):10 進値 40 |
cs6 |
CS6(precedence 6)dscp(110000):10 進値 48 |
cs7 |
CS7(precedence 7)dscp(111000):10 進値 56 |
default |
デフォルト dscp(000000):10 進値 0 |
ef |
EF dscp(101110):10 進値 46 |
1.
configure terminal
2.
class-map [type qos] [match-any | match-all] class-name
3.
match [not] dscpdscp-values
4.
exit
5.
copy running-config startup-config
次に、DSCP クラス マップ設定の表示方法例を示します。
switch# show class-map class_dscp
IP ヘッダーの ToS バイト フィールドの優先順位値に基づいてトラフィックを分類できます。優先順位値を以下に示します。
値 |
優先順位値のリスト |
---|---|
0 ~ 7 |
IP precedence 値 |
critical |
クリティカル優先順位(5) |
flash |
フラッシュ優先順位(3) |
flash-override |
フラッシュ オーバーライド優先順位(4) |
immediate |
即時優先順位(2) |
internet |
インターネットワーク コントロール優先順位(6) |
network |
ネットワーク コントロール優先順位(7) |
priority |
プライオリティ優先順位(1) |
routine |
ルーチン優先順位(0) |
1.
configure terminal
2.
class-map [type qos] [match-any | match-all] class-name
3.
match [not] precedenceprecedence-values
4.
exit
5.
copy running-config startup-config
次に、IP precedence クラス マップ設定の表示方法例を示します。
switch# show class-map class_ip_precedence
レイヤ 3 プロトコルのトラフィックでは、ACL 分類の照合を使用できます。
引数 |
説明 |
---|---|
arp |
アドレス解決プロトコル(ARP) |
bridging |
ブリッジング |
cdp |
Cisco Discovery Protocol(CDP) |
dhcp |
Dynamic Host Configuration(DHCP) |
isis |
Intermediate System to Intermediate System(IS-IS) |
1.
configure terminal
2.
class-map [type qos] [match-any | match-all] class-name
3.
match [not] protocol {arp | bridging | cdp | dhcp | isis}
4.
exit
5.
copy running-config startup-config
次に、protocol クラス マップ設定の表示方法例を示します。
switch# show class-map class_protocol
各種のパケット長に基づいてレイヤ 3 トラフィックを分類できます。
(注) | この機能は IP パケットだけが対象です。 |
1.
configure terminal
2.
class-map [type qos] [match-any | match-all] class-name
3.
match [not] packet lengthpacket-length-list
4.
exit
5.
copy running-config startup-config
次に、packet length クラス マップ設定の表示方法例を示します。
switch# show class-map class_packet_length
IEEE 802.1Q ヘッダー内のサービス クラス(CoS)フィールドに基づいてトラフィックを分類できます。この 3 ビットのフィールドは IEEE 802.1p で QoS トラフィック クラスをサポートするために規定されています。CoS は VLAN ID タグ フィールドの上位 3 ビットで符号化され、user_priority と呼ばれます。
1.
configure terminal
2.
class-map [type qos] [match-any | match-all] class-name
3.
match [not] coscos-list
4.
exit
5.
copy running-config startup-config
次に、CoS クラス マップ設定の表示方法の例を示します。
switch# show class-map class_cos
FEX のサービス クラス(CoS)に基づいてトラフィックを分類できます。
FEX を設定する前に、feature-set fex をイネーブルにしておきます。
1.
configure terminal
2.
class-map [type qos] [match-any | match-all] class-name
3.
match [not] coscos-list
4.
exit
5.
copy running-config startup-config
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 | ||
ステップ 2 | class-map [type qos] [match-any | match-all] class-name 例: switch(config)# class-map class_cos |
class-name という名前のクラス マップを作成するか、そのクラス マップにアクセスし、クラス マップ モードを開始します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができ、最大 40 文字まで設定できます。 | ||
ステップ 3 | match [not] coscos-list 例: switch(config-cmap-qos)# match cos 4,5-6 |
CoS 値のリストに基づいてパケットを照合することによって、トラフィック クラスを設定します。指定できる範囲は 0 ~ 7 です。指定した範囲に一致しない値について照合するには、not キーワードを使用します。
| ||
ステップ 4 | exit 例: switch(config-cmap-qos)# exit switch(config)# |
グローバル クラス マップ キューイング モードを終了し、グローバル コンフィギュレーション モードを開始します。 | ||
ステップ 5 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。 |
次に、CoS クラス マップの設定方法の例を示します。
switch# conf t switch(config)# class-map type qos match-all cos6 switch(config-cmap-qos)# match cos 6 switch(config)# class-map type qos match-all cos1 switch(config-cmap-qos)# match cos 1 switch(config)# class-map type qos match-all cos2 switch(config-cmap-qos)# match cos 2 switch(config)# class-map type qos match-all cos3 switch(config-cmap-qos)# match cos 3 switch(config)# class-map type qos match-all cos0 switch(config-cmap-qos)# match cos 0
IP Real-time Transport Protocol(RTP)は、オーディオやビデオなどのデータを送信するリアルタイム アプリケーション用のトランスポート プロトコルで、Request For Comments(RFC)3550 で規定されています。RTP では一般的な TCP ポートや UDP ポートは使用されませんが、通常はポート 16384 ~ 32767 を使用するように RTP を設定します。偶数番号ポートを UDP 通信に使用し、1 つ上の奇数番号ポートを RTP Control Protocol(RTCP)通信に使用します。
UDP ポート範囲に基づいて分類を設定できます。UDP ポート範囲は、RTP を使用するアプリケーションを対象とする可能性があります。
1.
configure terminal
2.
class-map [type qos] [match-any | match-all] class-name
3.
match [not] ip rtpudp-port-value
4.
exit
5.
copy running-config startup-config
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | class-map [type qos] [match-any | match-all] class-name 例: switch(config)# class-map class_rtp |
class-name という名前のクラス マップを作成するか、そのクラス マップにアクセスし、クラス マップ モードを開始します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができ、最大 40 文字まで設定できます。 |
ステップ 3 | match [not] ip rtpudp-port-value 例: switch(config-cmap-qos)# match ip rtp 2000-2100, 4000-4100 |
UDP ポート番号の下限と上限に基づいてパケットを照合することによって、トラフィック クラスを設定します。UDP ポート番号の範囲は、RTP を使用するアプリケーションを対象とする可能性があります。値の範囲は 2000 ~ 65535 です。指定した範囲に一致しない値について照合するには、not キーワードを使用します。 |
ステップ 4 | exit 例: switch(config-cmap-qos)# exit switch(config)# |
グローバル クラス マップ キューイング モードを終了し、グローバル コンフィギュレーション モードを開始します。 |
ステップ 5 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。 |
次に、RTP クラス マップ設定の表示方法の例を示します。
switch# show class-map class_rtp
クラス マップ設定を確認するには、show class-map コマンドを使用します。このコマンドによって、すべてのクラス マップが表示されます。
次に、2 つのクラスのトラフィックについて分類を設定する例を示します。
class-map class_dscp match dscp af21, af32 exit class-map class_cos match cos 4, 5-6 exit