Cisco Nexus 9000 シリーズ NX-OS QoS コンフィギュレーション ガイド リリース 6.x
分類の設定
分類の設定
発行日;2014/01/21 | 英語版ドキュメント(2013/11/21 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 1MB) | フィードバック

目次

分類の設定

分類について

分類のライセンス要件

分類の前提条件

注意事項と制約事項

トラフィック クラスの設定

ACL 分類の設定

DSCP 分類の設定

IP precedence 分類の設定

プロトコル分類の設定

レイヤ 3 パケット長分類の設定

CoS 分類の設定

IP RTP 分類の設定

分類設定の確認

分類の設定例

分類の設定

この章では、Cisco NX-OS デバイス上で分類を設定する方法について説明します。この章は、次の項で構成されています。

「分類について」

「分類のライセンス要件」

「分類の前提条件」

「注意事項と制約事項」

「トラフィック クラスの設定」

「分類設定の確認」

「分類の設定例」

分類について

分類とは、パケットをトラフィック クラスに振り分けることです。指定した分類済みトラフィックに対して特定のアクション(ポリシングやマークダウンなど)を実行するようにデバイスを設定します。

パケットの特性を 表 3-1 に示す分類基準と照合することによって、各トラフィック クラスを表すクラス マップを作成できます。

 

表 3-1 分類基準

分類基準
説明

CoS

IEEE 802.1Q ヘッダー内のサービス クラス(CoS)フィールド。

IP precedence

IP ヘッダーのタイプ オブ サービス(ToS)バイト内部の優先順位値。

Diffserv コード ポイント(DSCP)

IP ヘッダーの DIffServ フィールド内部の DSCP 値。

QoS group

システム内部で操作できる、ローカルで有効な QoS 値。範囲は 0 ~ 3 です。

ACL

IP ACL の名前。

パケット長

レイヤ 3 パケット長のサイズ範囲

IP RTP

Real-time Transport Protocol(RTP)を使用しているアプリケーションを、UDP ポート番号範囲によって識別します。

複数の一致基準を指定することも、特定の基準について照合しないようにすることも、一部または全部の基準を照合することによってトラフィック クラスを決定することもできます。


) ただし、ACL について照合する場合は、パケット長を除く他の一致基準を match-all クラス内で指定することはできません。match-any クラス内では、ACL およびその他の一致基準について照合できます。


QoS ポリシー マップ内でどのクラスにも一致しないトラフィックは、class-default と呼ばれるデフォルトのトラフィック クラスに割り当てられます。QoS ポリシー マップ内で class-default を参照することで、この一致しないトラフィックを選択できます。

同じタイプのトラフィックを処理する別のインターフェイスの QoS ポリシーを定義する場合、クラス マップを再利用できます。


) クラス マップの詳細については、「モジュラ QoS コマンドライン インターフェイス(MQC) の使用」を参照してください。


分類のライセンス要件

次の表に、この機能のライセンス要件を示します。

 

製品
ライセンス要件

Cisco NX-OS

QoS 機能にライセンスは必要ありません。ライセンス パッケージに含まれていない機能は NX-OS イメージにバンドルされており、無料で提供されます。Cisco NX-OS のライセンス スキームの詳細については、『 Cisco NX-OS Licensing Guide 』を参照してください。

分類の前提条件

分類の前提条件は、次のとおりです。

「モジュラ QoS コマンドライン インターフェイス(MQC) の使用」に精通している。

デバイスにログインしている。

注意事項と制約事項

分類 設定時の注意事項と制約事項は次のとおりです。

クラス マップ内で指定できる一致基準の数は最大 1,024 個です。

1 つのポリシー マップで使用するために設定できるクラスの数は最大 4,096 個です。

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 コマンドと同じ結果が得られます。


) 表に記載されていないレイヤ 3 プロトコルは、プロトコル番号 4(IPv4 カプセル化)に分類されます。


トラフィック クラスの設定

この項では、次のトピックについて取り上げます。

「ACL 分類の設定」

「DSCP 分類の設定」

「IP precedence 分類の設定」

「プロトコル分類の設定」

「レイヤ 3 パケット長分類の設定」

「CoS 分類の設定」

「IP RTP 分類の設定」

ACL 分類の設定

既存の ACL に基づいてパケットを照合することによって、トラフィックを分類できます。ACL キーワードの permit および deny は、照合時には無視されます。QoS では ACL の許可-拒否機能は使用されません。IP バージョン 4(IPv4)または IP バージョン 6(IPv6)のいずれかによって、分類できます。

手順の概要

1. configure terminal

2. class-map [ type qos ] [ match-any | match-all ] class-name

3. match access-group name acl-name

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

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

ステップ 2

class-map [ type qos ] [ match-any | match-all ] class-name

 

Example:

switch(config)# class-map class_acl

class-name という名前のクラス マップを作成するか、そのクラス マップにアクセスし、クラス マップ モードを開始します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

match access-group name acl-name

 

Example:

switch(config-cmap-qos)# match access-group name my_acl

acl-name に基づいてパケットを照合することによって、トラフィック クラスを設定します。ACL キーワードの permit および deny は、照合時には無視されます。

次に、ACL クラス マップ設定の表示方法例を示します。

switch# show class-map class_acl

DSCP 分類の設定

IP ヘッダーの DiffServ フィールドの DSCP 値に基づいてトラフィックを分類できます。標準の DSCP 値については、 表 3-2 を参照してください。

 

表 3-2 標準の 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] dscp dscp-list

4. exit

5. (任意)copy running-config startup-config

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

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

ステップ 2

class-map [ type qos ] [ match-any | match-all ] class-name

 

Example:

switch(config)# class-map class_dscp

class-name という名前のクラス マップを作成するか、そのクラス マップにアクセスし、クラス マップ モードを開始します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

match [not] dscp dscp-values

 

Example:

switch(config-cmap-qos)# match dscp af21, af32

dscp-values に基づいてパケットを照合することによって、トラフィック クラスを設定します。標準の DSCP 値を 表 3-2 に示します。

指定した範囲に一致しない値について照合するには、 not キーワードを使用します。

ステップ 4

exit

 

Example:

switch(config-cmap-qos)# exit

switch(config)#

グローバル クラス マップ キューイング モードを終了し、グローバル コンフィギュレーション モードを開始します。

ステップ 5

copy running-config startup-config

 

Example:

switch(config)# copy running-config startup-config

(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

次に、DSCP クラス マップ設定の表示方法例を示します。

switch# show class-map class_dscp

IP precedence 分類の設定

IP ヘッダーの ToS バイト フィールドの優先順位値に基づいてトラフィックを分類できます。 表 3-3 に、優先順位値を示します。

 

表 3-3 優先順位値

優先順位値のリスト

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 ] precedence precedence-values

4. exit

5. (任意)copy running-config startup-config

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

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

ステップ 2

class-map [ type qos ] [ match-any | match-all ] class-name

 

Example:

switch(config)# class-map class_ip_precedence

class-name という名前のクラス マップを作成するか、そのクラス マップにアクセスし、クラス マップ モードを開始します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

match [ not ] precedence precedence-values

 

Example:

switch(config-cmap-qos)# match precedence 1-2, 5-7

precedence-values に基づいてパケットを照合することによって、トラフィック クラスを設定します。値については、 表 3-3 を参照してください。指定した範囲に一致しない値について照合するには、 not キーワードを使用します。

ステップ 4

exit

 

Example:

switch(config-cmap-qos)# exit

switch(config)#

グローバル クラス マップ キューイング モードを終了し、グローバル コンフィギュレーション モードを開始します。

ステップ 5

copy running-config startup-config

 

Example:

switch(config)# copy running-config startup-config

(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

次に、IP precedence クラス マップ設定の表示方法例を示します。

switch# show class-map class_ip_precedence

プロトコル分類の設定

レイヤ 3 プロトコルのトラフィックでは、ACL 分類の照合を使用できます。詳細については、「ACL 分類の設定」を参照してください。

表 3-4 に示すプロトコル引数に基づいてトラフィックを分類できます。

 

表 3-4 match コマンドのプロトコル引数

引数
説明

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

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

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

ステップ 2

class-map [ type qos ] [ match-any | match-all ] class-name

 

Example:

switch(config)# class-map class_protocol

class-name という名前のクラス マップを作成するか、そのクラス マップにアクセスし、クラス マップ モードを開始します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

match [ not] protocol { arp | bridging | cdp | dhcp | isis }

 

Example:

switch(config-cmap-qos)# match protocol isis

指定したプロトコルに基づいてパケットを照合することによって、トラフィック クラスを設定します。指定したプロトコルに一致しないプロトコルについて照合するには、 not キーワードを使用します。

ステップ 4

exit

 

Example:

switch(config-cmap-qos)# exit

switch(config)#

グローバル クラス マップ キューイング モードを終了し、グローバル コンフィギュレーション モードを開始します。

ステップ 5

copy running-config startup-config

 

Example:

switch(config)# copy running-config startup-config

(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

次に、protocol クラス マップ設定の表示方法例を示します。

switch# show class-map class_protocol
 

レイヤ 3 パケット長分類の設定

各種のパケット長に基づいてレイヤ 3 トラフィックを分類できます。


) この機能は IP パケットだけが対象です。


手順の概要

1. configure terminal

2. class-map [ type qos ] [ match-any | match-all ] class-name

3. match [ not ] packet length packet-length-list

4. exit

5. (任意)copy running-config startup-config

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

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

ステップ 2

class-map [ type qos ] [ match-any | match-all ] class-name

 

Example:

switch(config)# class-map class_packet_length

class-name という名前のクラス マップを作成するか、そのクラス マップにアクセスし、クラス マップ モードを開始します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

match [ not ] packet length packet-length-list

 

Example:

switch(config-cmap-qos)# match packet length min 2000

各種のパケット長に基づいてパケットを照合することによって、トラフィック クラスを設定します。値の範囲は 1 ~ 9198 です。指定した範囲に一致しない値について照合するには、 not キーワードを使用します。

ステップ 4

exit

 

Example:

switch(config-cmap-qos)# exit

switch(config)#

グローバル クラス マップ キューイング モードを終了し、グローバル コンフィギュレーション モードを開始します。

ステップ 5

copy running-config startup-config

 

Example:

switch(config)# copy running-config startup-config

(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

次に、packet length クラス マップ設定の表示方法例を示します。

switch# show class-map class_packet_length

CoS 分類の設定

IEEE 802.1Q ヘッダー内のサービス クラス(CoS)フィールドに基づいてトラフィックを分類できます。この 3 ビットのフィールドは IEEE 802.1p で QoS トラフィック クラスをサポートするために規定されています。

手順の概要

1. configure terminal

2. class-map [ type qos ] [ match-any | match-all ] class-name

3. match [ not ] cos cos-list

4. exit

5. (任意)copy running-config startup-config

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

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

ステップ 2

class-map [ type qos ] [ match-any | match-all ] class-name

 

Example:

switch(config)# class-map class_cos

class-name という名前のクラス マップを作成するか、そのクラス マップにアクセスし、クラス マップ モードを開始します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

match [not] cos cos-list

 

Example:

switch(config-cmap-qos)# match cos 4, 5-6

CoS 値のリストに基づいてパケットを照合することによって、トラフィック クラスを設定します。指定できる範囲は 0 ~ 7 です。指定した範囲に一致しない値について照合するには、 not キーワードを使用します。

ステップ 4

exit

 

Example:

switch(config-cmap-qos)# exit

switch(config)#

グローバル クラス マップ キューイング モードを終了し、グローバル コンフィギュレーション モードを開始します。

ステップ 5

copy running-config startup-config

 

Example:

switch(config)# copy running-config startup-config

(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

次に、CoS クラス マップ設定の表示方法例を示します。

switch# show class-map class_cos

IP RTP 分類の設定

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 rtp udp-port-value

4. exit

5. (任意)copy running-config startup-config

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

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

ステップ 2

class-map [ type qos ] [ match-any | match-all ] class-name

 

Example:

switch(config)# class-map class_rtp

class-name という名前のクラス マップを作成するか、そのクラス マップにアクセスし、クラス マップ モードを開始します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

match [not] ip rtp udp-port-value

 

Example:

switch(config-cmap-qos)# match ip rtp 2000-2100, 4000-4100

UDP ポート番号の下限と上限に基づいてパケットを照合することによって、トラフィック クラスを設定します。UDP ポート番号の範囲は、RTP を使用するアプリケーションを対象とする可能性があります。値の範囲は 2000 ~ 65535 です。指定した範囲に一致しない値について照合するには、 not キーワードを使用します。

ステップ 4

exit

 

Example:

switch(config-cmap-qos)# exit

switch(config)#

グローバル クラス マップ キューイング モードを終了し、グローバル コンフィギュレーション モードを開始します。

ステップ 5

copy running-config startup-config

 

Example:

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