この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章の内容は、次のとおりです。
分類とは、パケットをトラフィック クラスに振り分けることです。指定した分類済みトラフィックに対して特定のアクション(ポリシングやマークダウンなど)を実行するようにデバイスを設定します。
パケットの特性を分類基準と照合することによって、各トラフィック クラスを表すクラス マップを作成できます。
分類基準 |
説明 |
---|---|
クラス マップ |
名前付きクラス マップ オブジェクト内で指定された基準。 |
優先順位 |
IP ヘッダーのタイプ オブ サービス(ToS)バイト内部の優先順位値。 |
Diffserv コード ポイント(DSCP) |
IP ヘッダーの DIffServ フィールド内部の DSCP 値。 |
プロトコル |
アドレス解決プロトコル(ARP)、コネクションレス型ネットワーク サービス(CLNS)などの選択済みプロトコル セット。 |
IP RTP |
Real-time Transport Protocol(RTP)を使用しているアプリケーションを、UDP ポート番号範囲によって識別します。 |
ACL |
トラフィックは、アクセス コントロール リスト(ACL)に定義されている基準で分類されます。 |
RFC | Title |
---|---|
RFC 2474 | Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers |
分類は、トラフィックをクラスに区分けするのに使用します。トラフィックは、パケット特性(CoS フィールド)またはパケット ヘッダー フィールドに基づいて分類します。パケット ヘッダー フィールドには、IP precedence、DiffServ コード ポイント(DSCP)、レイヤ 2 からレイヤ 4 までのパラメータが含まれます。トラフィックの分類に使用する値を、一致基準と呼びます。
どのクラスにも一致しないトラフィックは、class-default と呼ばれるデフォルトのトラフィック クラスに割り当てられます。
この機能には、ライセンスは必要ありません。ライセンス パッケージに含まれていない機能はすべて Cisco NX-OS システム イメージにバンドルされており、追加費用は一切発生しません。NX-OS ライセンス方式の詳細については、『Cisco NX-OS Licensing Guide』を参照してください。
分類の設定
class-map コマンドを使用して、クラス マップを作成または変更できます。クラス マップは、トラフィックのクラスを表す名前付きオブジェクトです。クラス マップでは、パケットを分類する一致基準を指定します。以降は、クラス マップをポリシー マップで参照できるようになります。
(注) | クラス マップ タイプのデフォルトは type qos で、その一致基準のデフォルトは match-all です。 |
IEEE 802.1Q ヘッダー内のサービス クラス(CoS)フィールドに基づいてトラフィックを分類できます。この 3 ビットのフィールドは IEEE 802.1p で QoS トラフィック クラスをサポートするために規定されています。CoS は Virtual Local Area Network(VLAN:バーチャル LAN)ID タグ フィールドの上位 3 ビットで符号化され、user_priority と呼ばれます。
(注) | Cisco Nexus 2148 ファブリック エクステンダは dot1p vlan 0 タグを持つフレームをサポートしません。 |
システム クラスに no-drop 機能が設定されている場合、match cos コマンドは追加目的で機能します。スイッチは CoS 値をアダプタに送信するので、アダプタはこの CoS 値の PFC ポーズを適用します。
FCoE システム クラスのデフォルトの CoS 値は 3 です。match cos 設定を FCoE システム クラスに追加して、異なる CoS 値を設定できます。PFC ポーズは新しい値と一致するトラフィックに適用されます。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 | ||
ステップ 2 | switch(config)# class-map type qos class-name |
トラフィックのクラスを表す名前付きオブジェクトを作成します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。 | ||
ステップ 3 | switch(config-cmap-qos)# match cos cos-value |
パケットをこのクラスに分類する場合に照合する CoS 値を指定します。CoS 値は、0 ~ 7 の範囲で設定できます。
| ||
ステップ 4 | switch(config-cmap-qos)# no match cos cos-value | (任意)
一致するトラフィックをトラフィック クラスから削除します。 |
次の例は、定義された CoS 値に基づいてパケットを照合することにより、トラフィックを分類する方法を示しています。
switch# configure terminal switch(config)# class-map type qos match-any class_cos switch(config-cmap-qos)# match cos 4, 5-6
CoS 値のクラス マップ設定を表示するには、show class-map コマンドを使用します。
switch# show class-map class_cos
IP ヘッダー(IPv4 または IPv6 のいずれか)のサービス タイプ(ToS)バイト フィールドの優先順位値に基づいてトラフィックを分類できます。次の表に、優先順位値を示します。
値 |
優先順位値のリスト |
---|---|
0 ~ 7 |
IP precedence 値 |
critical |
クリティカル優先順位(5) |
flash |
フラッシュ優先順位(3) |
flash-override |
フラッシュ オーバーライド優先順位(4) |
immediate |
即時優先順位(2) |
internet |
インターネットワーク コントロール優先順位(6) |
network |
ネットワーク コントロール優先順位(7) |
priority |
プライオリティ優先順位(1) |
routine |
ルーチン優先順位(0) |
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# class-map type qos match-any class-name |
トラフィックのクラスを表す名前付きオブジェクトを作成します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。 |
ステップ 3 | switch(config-cmap-qos)#match precedence precedence-values |
優先順位の値に基づいたパケットの照合により、トラフィック クラスを設定します。優先順位値の一覧については、優先順位値の表を参照してください。 |
ステップ 4 | switch((config-cmap-qos)# no match precedence precedence-values | (任意)
一致するトラフィックをトラフィック クラスから削除します。優先順位値の一覧については、優先順位値の表を参照してください。 |
次の例は、IP ヘッダーの ToS バイトの優先順位値に基づいてパケットを照合することにより、トラフィックを分類する方法を示しています。
switch# configure terminal switch(config)# class-map type qos match-any class_precedence switch(config-cmap-qos)# match precedence 1-2, critical
IP precedence 値のクラス マップ設定を表示するには、show class-map コマンドを使用します。
switch# show class-map class_precedence
値 |
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 |
AF32 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 | switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# class-map type qos class-name |
トラフィックのクラスを表す名前付きオブジェクトを作成します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。 |
ステップ 3 | switch(config-cmap-qos)# match dscp dscp-list |
dscp-list 変数の値に基づいて、パケットの照合によってトラフィック クラスを設定します。DSCP 値の一覧については、標準の DSCP 値の表を参照してください。 |
ステップ 4 | switch(config-cmap-qos)# no match dscp dscp-list | (任意)
一致するトラフィックをトラフィック クラスから削除します。DSCP 値の一覧については、標準の DSCP 値の表を参照してください。 |
次の例は、IP ヘッダーの DiffServ フィールドの DSCP 値に基づいてパケットを照合することにより、トラフィックを分類する方法を示しています。
switch# configure terminal switch(config)# class-map type qos match-any class_dscp switch(config-cmap-qos)# match dscp af21, af32DSCP のクラス マップ設定を表示するには、show class-map コマンドを使用します。
switch# show class-map class_dscp
IP ヘッダーの [IPv4 Protocol] フィールドまたは [IPv6 Next Header] フィールドに基づいて、トラフィックを分類できます。次の表に、protocol 引数を示します。
引数 |
説明 |
---|---|
arp |
アドレス解決プロトコル(ARP) |
clns_es |
CLNS エンド システム |
clns_is |
CLNS 中継システム |
dhcp |
Dynamic Host Configuration(DHCP) |
LDP |
ラベル配布プロトコル(LDP) |
netbios |
NetBIOS Extended User Interface(NetBEUI) |
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal |
コンフィギュレーション モードに入ります。 |
ステップ 2 | switch(config)# class-map type qos class-name |
トラフィックのクラスを表す名前付きオブジェクトを作成します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。 |
ステップ 3 | switch(config-cmap-qos)# match protocol {arp | clns_es | clns_is | dhcp | ldp | netbios} |
指定したプロトコルに基づいてパケットを照合することによって、トラフィック クラスを設定します。 |
ステップ 4 | switch(config-cmap-qos)# no match protocol {arp | clns_es | clns_is | dhcp | ldp | netbios} | (任意)
一致するトラフィックをトラフィック クラスから削除します。 |
次の例は、プロトコル フィールドに基づいてパケットを照合することにより、トラフィックを分類する方法を示しています。
switch# configure terminal
switch(config)# class-map type qos class_protocol
switch(config-cmap-qos)# match protocol arp
プロトコルのクラス マップ設定を表示するには、show class-map コマンドを使用します。
switch# show class-map class_protocol
IP Real-time Transport Protocol(RTP)は、オーディオやビデオなどのデータを送信するリアルタイム アプリケーション用のトランスポート プロトコルで、Request For Comments(RFC)3550 で規定されています。RTP では一般的な TCP ポートや UDP ポートは使用されませんが、通常はポート 16384 ~ 32767 を使用するように RTP を設定します。偶数ポートを UDP 通信に使用し、次の上位の奇数ポートを RTP Control Protocol(RTCP)通信に使用します。
UDP ポート範囲に基づいて分類できます。UDP ポート範囲は、RTP を使用するアプリケーションを対象とする可能性があります。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# class-map type qos class-name |
トラフィックのクラスを表す名前付きオブジェクトを作成します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。 |
ステップ 3 | switch(config-cmap-qos)# match ip rtp port-number |
UDP ポート番号の下限と上限に基づいてパケットを照合することによって、トラフィック クラスを設定します。UDP ポート番号の範囲は、RTP を使用するアプリケーションを対象とする可能性があります。値の範囲は 2000 ~ 65535 です。 |
ステップ 4 | switch(config-cmap-qos)# no match ip rtp port-number | (任意)
一致するトラフィックをトラフィック クラスから削除します。 |
switch# configure terminal switch(config)# class-map type qos match-any class_rtp switch(config-cmap-qos)# match ip rtp 2000-2100, 4000-4100
RTP のクラス マップ設定を表示するには、show class-map コマンドを使用します。
switch# show class-map class_rtp
既存のアクセス コントロール リスト(ACL)に基づいたパケットの照合により、トラフィックを分類できます。ACL で定義された基準によってトラフィックが分類されます。ACL キーワードの permit および deny は、照合時には無視されます。アクセス リストの一致基準に deny アクションが含まれる場合でも、そのクラスの照合では使用されます。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 | ||
ステップ 2 | switch(config)# class-map type qos class-name |
トラフィックのクラスを表す名前付きオブジェクトを作成します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。 | ||
ステップ 3 | switch(config-cmap-qos)# match access-group name acl-name |
acl-name に基づいてパケットを照合することによって、トラフィック クラスを設定します。ACL キーワードの permit および deny は、照合時には無視されます。
| ||
ステップ 4 | switch(config-cmap-qos)# no match access-group name acl-name | (任意)
一致するトラフィックをトラフィック クラスから削除します。 |
次に、既存の ACL に基づいたパケットの照合により、トラフィックを分類する例を示します。
switch# configure terminal
switch(config)# class-map type qos class_acl
switch(config-cmap-qos)# match access-group name acl-01
ACL のクラス マップ設定を表示するには、show class-map コマンドを使用します。
switch# show class-map class_acl
Cisco NX-OS Release 7.2(0)N1(1) 以降、QoS ポリシーに関連付けられた ACL については、統計情報が ACE ごとに表示されます。
統計情報とポリサーが TCAM エントリにアタッチされる方法が原因で、統計情報の表示には制約事項があります。
統計情報は、ユーザが QoS ポリシーで使用される ACL のエントリごとの統計情報を提供する場合にイネーブル化されます。
Switch(config-acl)# show ip access-lists test_ACL1 IPV4 ACL test_ACL1 statistics per-entry 10 permit ip 10.10.10.1/24 20.2.2.2/24 ------>//Operation when a policer is attached// 20 deny ip 40.4.4.4/24 any 30 permit ip 30.3.3.3/24 11.11.11.1/24 Switch(config-acl)# Switch(config-acl)# class-map type qos test_map Switch(config-cmap-qos)# match access-group name test_ACL1 Switch(config-cmap-qos)# exit Switch(config)# policy-map type qos test_pmap Switch(config-pmap-qos)# class test_map Switch(config-pmap-c-qos)# set qos-group 4 Switch(config-pmap-c-qos)# conf Switch(config)# int e1/26 Switch(config-if)# service-policy type qos input test_pmap Switch(config-if)# conf Switch(config)# show ip access-lists test_ACL1 IPV4 ACL test_ACL1 statistics per-entry 10 permit ip 10.10.10.1/24 20.2.2.2/24 [match=0]--->//Operation with no policer attached or ACL having only one entry// 20 deny ip 40.4.4.4/24 any [match=0] 30 permit ip 30.3.3.3/24 11.11.11.1/24 [match=0]
次のいずれかのコマンドを使用して、設定を確認します。
コマンド |
目的 |
---|---|
show class-map |
スイッチで定義されたクラス マップを表示します。 |
show policy-map [name] |
スイッチで定義されたポリシー マップを表示します。指定したポリシーだけを表示することもできます。 |
running-config ipqos |
QoS の実行コンフィギュレーションに関する情報を表示します。 |
startup-config ipqos |
QoS のスタートアップ コンフィギュレーションに関する情報を表示します。 |