分類の設定

分類について

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

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

表 1. 分類基準

分類基準

説明

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 ポート番号範囲によって識別します。

MPLS 試験版

EXP フィールド値。

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


(注)  


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


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

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

分類の前提条件

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

  • モジュラ QoS CLI について理解している。

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

注意事項と制約事項

分類の設定時のガイドラインと制約事項は次のとおりです。

  • キーワードが付いている show コマンドはサポートされていません。 internal

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

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

  • ACL について照合する際、それ以外に指定できる一致基準は、match-all クラス内のレイヤ 3 パケット長だけです。

  • コマンドの match-all オプションはサポートされていません。class-map type qos match-all このコマンドの一致基準は、コマンドと同じになります。class-map type qos match-any コマンドの結果は、コマンドと同じです。class-map type qos match-all class-map type qos match-any

  • レイヤ 2 ポート上のトラフィックは、着信パケットのポート ポリシーに基づいて分類できます(ただし両方に基づいて分類することはできません)。両方のポリシーが存在する場合、デバイスはポート ポリシーに基づいて動作します。

  • MAC ベースの ACL がクラス マップで一致する QoS ポリシーは、IPv6 トラフィックでは機能しません。QoS の場合、IPv6 トラフィックは、MAC アドレスではなく IPv6 アドレスに基づいて照合する必要があります。

  • ICMP タイプまたはコードの一致を含む ACL を参照する QoS ポリシーはサポートされていません。

  • TCP フラグの一致を含む ACL を参照する QoS ポリシーはサポートされていません。

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

ACL 分類の設定

トラフィックを分類するには、既存の ACL に基づいてパケットを照合します。ACL キーワードの permit および deny は、照合時には無視されます。QoS では ACL の許可-拒否機能は使用されません。IPv4、IPv6、または MAC アドレスによる分類が可能です。

手順


ステップ 1

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

switch# configure terminal

ステップ 2

class-name という名前のクラス マップを作成するか、そのクラス マップにアクセスし、クラス マップ モードを開始します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができ、最大 40 文字まで設定できます。(オプションが選択されておらず、複数の match ステートメントが入力される場合、デフォルトは match-any です。)

switch(config)# class-map [type qos] [match-any | match-all] class-name

ステップ 3

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

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


例:ACL 分類の構成

次に、実行構成の例を示します。プレースホルダを、セットアップに関連する値に置き換えます。

configure terminal
     class-map class_acl
     match access-group name my_acl

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

show class-map class_acl

DSCP 分類の設定

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

表 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

デフォルト

デフォルト dscp(000000):10 進値 0

ef

EF dscp(101110):10 進値 46

手順


ステップ 1

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

switch# configure terminal

ステップ 2

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

switch(config)# class-map [type qos] [match-any | match-all] class-name

ステップ 3

dscp-values に基づいてパケットを照合することによって、トラフィック クラスを構成します。標準の DSCP 値については、次の表を参照してください。

switch(config-cmap-qos)# match [not] dscp dscp-values

ステップ 4

グローバル クラス マップ キューイング モードを終了し、グローバル 構成モードを開始します。

switch(config-cmap-qos)# exit

ステップ 5

(任意)実行構成をスタートアップ構成に保存します。

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


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

show class-map class_dscp

IP Precedence 分類の設定

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


(注)  


DSCP 値は、Cisco NX-OS デバイスのレイヤ 3 ポートで信頼されています。


優先順位値を以下に示します。

表 3. 優先順位値

優先順位値のリスト

0 ~ 7

IP precedence 値

クリティカル

クリティカル優先順位(5)

flash

フラッシュ優先順位(3)

flash-override

フラッシュ オーバーライド優先順位(4)

即時

即時優先順位(2)

インターネット

インターネットワーク コントロール優先順位(6)

network

ネットワーク コントロール優先順位(7)

プライオリティ

プライオリティ優先順位(1)

routine

ルーチン優先順位(0)

手順


ステップ 1

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

configure terminal

ステップ 2

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

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

ステップ 3

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

match [not] precedence precedence-values

ステップ 4

グローバル クラス マップ キューイング モードを終了し、グローバル 構成モードを開始します。

exit

ステップ 5

(任意)実行構成をスタートアップ構成に保存します。

copy running-config startup-config


例:IP Precedence 分類の構成

次に、実行構成の例を示します。プレースホルダを、セットアップに関連する値に置き換えます。

configure terminal
     class-map class_ip_precedence
     match precedence 1-2, 5-7
     exit

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

show class-map class_ip_precedence

プロトコル分類の設定

レイヤ 3 プロトコルのトラフィックでは、ACL 分類の照合を使用できます。

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

引数

説明

arp

Address Resolution Protocol(ARP)

bridging

ブリッジング

cdp

Cisco Discovery Protocol(CDP)

dhcp

Dynamic Host Configuration(DHCP)

isis

Intermediate System to Intermediate System(IS-IS)

lldp

Link Layer Discovery Protocol

lacp

リンク集約制御プロトコル

手順


ステップ 1

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

switch# configure terminal

ステップ 2

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

switch(config)# class-map [type qos] [match-any | match-all] class-name

ステップ 3

指定したプロトコルに基づいてパケットを照合することによって、トラフィック クラスを構成します。

switch(config-cmap-qos)# match protocol {arp | bridging | cdp | dhcp | isis}

ステップ 4

グローバル クラス マップ キューイング モードを終了し、グローバル 構成モードを開始します。

switch(config-cmap-qos)# exit

ステップ 5

(任意)実行構成をスタートアップ構成に保存します。

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


例:プロトコル分類の構成

次に、実行構成の例を示します。プレースホルダを、セットアップに関連する値に置き換えます。

configure terminal
      class-map class_protocol
      match protocol isis
      exit

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

show class-map class_protocol

CoS 分類の設定

IEEE 802.1Q ヘッダー内のサービス クラス(CoS)に基づいてトラフィックを分類できます。この 3 ビットのフィールドは IEEE 802.1p で QoS トラフィック クラスをサポートするために規定されています。CoS は VLAN ID タグ フィールドの上位 3 ビットで符号化され、user_priority と呼ばれます。

手順


ステップ 1

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

switch# configure terminal

ステップ 2

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

switch(config)# class-map [type qos] [match-any | match-all] class-name

ステップ 3

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

switch(config-cmap-qos)# match [not] cos cos-list

ステップ 4

グローバル クラス マップ キューイング モードを終了し、グローバル 構成モードを開始します。

switch(config-cmap-qos)# exit

ステップ 5

(任意)実行構成をスタートアップ構成に保存します。

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


例: CoS 分類の構成

次に、実行構成の例を示します。プレースホルダを、セットアップに関連する値に置き換えます。

configure terminal
     class-map class_cos
     match cos 4,5-6
     exit

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

show class-map class_cos

IP Real-time Transport Protocol(RTP)分類の設定

IP Real-time Transport Protocol(RTP)は、オーディオやビデオなどのデータを送信するリアルタイム アプリケーション用のトランスポート プロトコルで、RFC 3550 で規定されています。RTP では一般的な TCP ポートや UDP ポートは使用されませんが、通常はポート 16384 ~ 32767 を使用するように RTP を設定します。偶数番号ポートを UDP 通信に使用し、1 つ上の奇数番号ポートを RTP Control Protocol(RTCP)通信に使用します。

UDP ポート範囲に基づいて分類を構成できます。UDP ポート範囲は、RTP を使用するアプリケーションを対象とする可能性があります。

手順


ステップ 1

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

switch# configure terminal

ステップ 2

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

switch(config)# class-map [type qos] [match-any | match-all] class-name

ステップ 3

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

switch(config-cmap-qos)# match ip rtp udp-port-value

ステップ 4

グローバル クラス マップ キューイング モードを終了し、グローバル 構成モードを開始します。

switch(config-cmap-qos)# exit

ステップ 5

(任意)実行構成をスタートアップ構成に保存します。

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


例:IP Real-time Transport Protocol(RTP)分類の構成

次に、実行構成の例を示します。プレースホルダを、セットアップに関連する値に置き換えます。

configure terminal
     class-map class_rtp
     match ip rtp 2000-2100, 4000-4100
     exit
     copy running-config
     startup-config

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

switch# show class-map class_rtp

MPLS 実験分類の構成

手順


ステップ 1

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

switch# configure terminal

ステップ 2

class-mpls にアクセスします。

switch(config)# class-map type qos match-any class-mpls

ステップ 3

mplsexperimental を一致させることによってトラフィック クラスを構成します。

switch(config-cmap-qos)# match mpls experimental topmost number


例:MPLS 実験分類の構成

configure terminal
     class-map type qos match-any class-mpls
     match match mpls experimental topmost 2, 5-7
 

分類設定の確認

クラスマップ設定を確認するには、show class-map コマンドを使用します。このコマンドによって、すべてのクラス マップが表示されます。

分類の設定例

次に、2 つのクラスのトラフィックについて分類を設定する例を示します。

class-map class_dscp
match dscp af21, af32
exit
class-map class_cos
match cos 4, 5-6
exit