トラフィック クラスについて
トラフィック クラスとは、類似性に基づいてグループ化されるトラフィック(パケット)のカテゴリのことです。そのようなトラフィックのグループは、クラス マップと呼ばれます。ネットワーク トラフィックを分類することにより、ネットワーク内で Quality Of Service(QoS)ストラテジをイネーブルにできます。
図 2-1 に、ネットワーク トラフィックの分類に使用する基準を示します。
図 2-1 ネットワーク トラフィックの分類基準
ネットワーク トラフィックを識別し、トラフィック クラスにカテゴリ化(つまり、パケットを分類)すると、ネットワーク トラフィックを異なるカテゴリに分けられるため、さまざまなトラフィックのタイプを扱うことが可能になります。
ネットワーク トラフィックを分類することにより、トラフィックの種類を判別し、特定のタイプのトラフィックを他のトラフィックとは異なる方法で扱うことができます。ネットワーク トラフィックを識別し、整理することにより、トラフィックのタイプごとに最適なパフォーマンスが得られるようにネットワーク リソースを割り当てることができます。
特定の IP precedence を持つネットワーク トラフィックを 1 つのトラフィック クラスに分類し、同時に、特定の DiffServ コード ポイント(DSCP)値を持つトラフィックを別のトラフィック クラスに分類できます。各トラフィック クラスでは、異なる QoS を扱うことができます。これは、後述のポリシー マップで設定します。
IP precedence やサービス クラス(CoS)などの基準に基づいて、各トラフィック クラスをクラス マップ内で定義します。トラフィックのクラスをマッピングするために使用可能な基準を 表 2-1 に示します。これらの基準は、次のようにトラフィックと照合できます。
• すべて一致
• 1 つと一致または一致しない
• 複数と一致または一致しない
• 別のクラス マップと一致または一致しない
トラフィック クラス マップ内で使用される基準のいくつかは、トラフィックの 1 方向(入力または出力)にだけ関係します。たとえば、内部ラベル QoS グループは、入力トラフィックに対しては意味を持ちません。これは、まだ値が割り当てられていないからです。
QoS ポリシー マップ内でどのトラフィック クラスにも一致しないトラフィックは、class-default と呼ばれるデフォルトのトラフィック クラスに割り当てられます。QoS ポリシー マップ内で class-default を参照することで、この一致しないトラフィックを選択できます。
表 2-1 に、トラフィック クラスのマッピングに使用可能な基準のリストと説明を示します。
表 2-1 トラフィック クラス基準
|
|
CoS |
IEEE 802.1Q ヘッダー内のサービス クラス(CoS)フィールド。 |
IP precedence |
IP ヘッダーのタイプ オブ サービス(ToS)バイト内部の優先順位値。 IP precedence 値については、「IP Precedence 値」を参照してください。 |
DiffServ コード ポイント(DSCP) |
IP ヘッダーの DIffServ フィールド内部の DSCP 値。 標準の DSCP 値については、「一般によく使用される DSCP 値」を参照してください。 |
QoS グループ |
システム内部で操作および照合できる、ローカルで有効な QoS 値。有効な範囲は 0 ~ 126 です。 |
廃棄クラス |
システム内部で照合および操作できる、ローカルで有効な値。指定できる範囲は 0 ~ 63 です。 |
ACL |
IP アクセス コントロール リスト(ACL)またはメディア アクセス コントロール(MAC)ACL 名。 クラスの設定を、match-all、および一致基準として使用される ACL にした場合、パケット長以外の他の一致基準は指定できません。 クラスの設定を、match-any、および一致基準として使用される ACL にした場合、ACL を他のどの一致基準にも一致させることができます。 |
パケット長 |
レイヤ 3 パケット長のサイズ範囲 |
IP RTP |
Real-time Transport Protocol(RTP)を使用しているアプリケーションを、ユーザ データグラム プロトコル(UDP)ポート番号範囲によって識別します。 |
クラス マップ |
名前付きクラス マップ オブジェクト内で指定された基準。 |
トラフィックの分類
ここでは、トラフィックの分類方法について説明します。
• 「ACL トラフィックの分類」
• 「DSCP トラフィックの分類」
• 「IP precedence 分類の設定」
• 「QoS グループ分類の設定」
• 「廃棄クラス分類の設定」
• 「レイヤ 3 パケット長分類の設定」
• 「CoS 分類の設定」
• 「IP RTP 分類の設定」
• 「クラス マップ分類の設定」
ACL トラフィックの分類
既存のアクセス コントロール リスト(ACL)に基づいてパケットを照合することによって、トラフィックを分類できます。
はじめる前に
この手順を開始する前に、次のことを確認または実行する必要があります。
• QoS では ACL の許可-拒否機能は使用されません。 permit および deny ACL キーワードは照合時に無視されます。
• QoS では、このコマンドの not 形式はサポートされていません。
• クラスの設定を、match-all、および一致基準として使用される ACL にした場合、パケット長以外の他の一致基準は指定できません。
• クラスの設定を、match-any、および一致基準として使用される ACL にした場合、ACL を他のどの一致基準にも一致させることができます。
• EXEC モードで CLI にログインしていること。
• トンネリング プロトコルもまた IP でない限り、トンネル型 IP パケットは照合されません。また、照合は外側の IP ヘッダーに適用され、カプセル化された IP ヘッダーには適用されません。
手順の概要
1. config t
2. class-map [ type qos ] [ match-any | match-all ] class_map_name
3. match access-group name acl_name
4. show class-map class_map_name
5. copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
config t Example: n1000v# config t n1000v(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
class-map [ type qos ] [ match-any | match-all ] class_map_name Example: n1000v(config)# class-map class_acl n1000v(config-cmap_qos)# |
指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 |
match access-group name acl-name Example: n1000v(config-cmap-qos)# match access-group name my_acl |
実行コンフィギュレーションで、このクラスに対して照合するアクセス グループを設定し、保存します。 キーワードは ACL の照合時に無視されます。 形式はサポートされていません。 |
ステップ 4 |
show class-map class_map_name Example: n1000v(config-cmap-qos)# show class-map class_acl1 |
クラス マップ設定を表示します。 |
ステップ 5 |
copy running-config startup-config Example:
n1000v(config-cmap-qos)#
copy running-config startup-config
|
(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
DSCP トラフィックの分類
IP ヘッダーの DiffServ フィールドの DSCP 値に基づいてトラフィックを分類できます。標準の DSCP 値については、「DSCP 値と優先順位値」を参照してください。
(注) トンネリング プロトコルもまた IP でない限り、トンネル型 IP パケットは照合されません。また、照合は外側の IP ヘッダーに適用され、カプセル化された IP ヘッダーには適用されません。
手順の概要
1. config t
2. class-map [type qos] [match-any | match-all] class_map_name
3. match [ not ] dscp dscp_list
4. show class-map class_map_name
5. copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
config t Example: n1000v# config t n1000v(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
class-map [ type qos ] [ match-any | match-all ] class_map_name Example: n1000v(config)# class-map class_dscp n1000v(config-cmap-qos)# |
指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 |
match [ not ] dscp dscp_list Example: n1000v(config-cmap-qos)# match dscp af21, af32 |
dscp-values に基づいてパケットを照合することによって、トラフィック クラスを設定します。標準の DSCP 値については、「DSCP 値と優先順位値」を参照してください。 指定した範囲に一致しない値について照合するには、 not キーワードを使用します。 |
ステップ 4 |
show class-map class_map_name Example: n1000v(config-cmap-qos)# show class-map class_dscp |
クラス マップ設定を表示します。 |
ステップ 5 |
copy running-config startup-config Example:
n1000v(config-cmap-qos)# copy running-config startup-config
|
(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
IP precedence 分類の設定
IP ヘッダーの ToS バイト フィールドの優先順位値に基づいてトラフィックを分類できます。優先順位値については、「DSCP 値と優先順位値」を参照してください。
(注) トンネリング プロトコルもまた IP でない限り、トンネル型 IP パケットは照合されません。また、照合は外側の IP ヘッダーに適用され、カプセル化された IP ヘッダーには適用されません。
手順の概要
1. config t
2. class-map [ type qos ] [ match-any | match-all ] class_map_name
3. match [ not ] precedence values
4. show class-map class_map_name
5. copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
config t Example: n1000v# config t n1000v(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
class-map [ type qos ] [ match-any | match-all ] class_map_name Example: n1000v(config)# class-map class_ip_precedence n1000v(config-cmap-qos)# |
指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 |
match [ not ] precedence values Example: n1000v(config-cmap-qos)# match precedence 1-2, 5-7 |
precedence-values に基づいてパケットを照合することによって、トラフィック クラスを設定します。値については、「DSCP 値と優先順位値」を参照してください。指定した範囲に一致しない値について照合するには、 not キーワードを使用します。 |
ステップ 4 |
show class-map class_map_name Example: n1000v(config-cmap-qos)# show class-map class_ip_precedence |
クラス マップ設定を表示します。 |
ステップ 5 |
copy running-config startup-config Example:
n1000v(config-cmap-qos)# copy running-config startup-config
|
(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
QoS グループ分類の設定
QoS グループ内部ラベルの値に基づいてトラフィックを分類できます。QoS グループ内部ラベルはパケット ペイロードまたはパケット ヘッダーの一部ではありません。「QoS グループ ポリシーの作成」で説明しているように、 set qos-group コマンドを使用して、ポリシー マップ内で QoS グループの値を設定できます。
(注) QoS グループの値は入力ポリシー内で設定されるまで未定義になっているため、QoS グループについての照合は、出力ポリシー内でだけ行います。
手順の概要
1. config t
2. class-map [ type qos ] [ match-any | match-all ] class_map_name
3. match [ not ] qos-group multi-range-qos-group-values
4. show class-map class_map_name
5. copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
config t Example: n1000v# config t n1000v(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
class-map [ type qos ] [ match-any | match-all ] class_map_name Example: n1000v(config)# class-map class_qos_group n1000v(config-cmap-qos)# |
指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 |
match [ not ] qos-group multi-range-qos-group-values Example: n1000v(config-cmap-qos)# match qos-group 4, 80-90 |
QoS グループ値のリストに基づいてパケットを照合することによって、トラフィック クラスを設定します。値の範囲は 0 ~ 126 です。デフォルトの QoS グループ値は 0 です。指定した範囲に一致しない値について照合するには、 not キーワードを使用します。 |
ステップ 4 |
show class-map class_map_name Example: n1000v(config-cmap-qos)# show class-map class_qos_group |
指定したトラフィック クラス名に対するクラス マップ設定を表示します。 |
ステップ 5 |
copy running-config startup-config Example:
n1000v(config-cmap-qos)# copy running-config startup-config
|
(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
廃棄クラス分類の設定
廃棄クラス内部ラベルの値に基づいてトラフィックを分類できます。廃棄クラス内部ラベルはパケット ペイロードまたはパケット ヘッダーの一部ではありません。「廃棄クラス ポリシーの作成」で説明しているように、 set discard-class コマンドを使用して、ポリシー マップ内で廃棄クラスの値を設定できます。
(注) 廃棄クラスの値は入力ポリシー内で設定されるまで未定義になっているため、廃棄クラスについての照合は、出力ポリシー内でだけ行います。
手順の概要
1. config t
2. class-map [ type qos ] [ match-any | match-all ] class_map_name
3. match [ not ] discard-class multi-range-discard-class-values
4. show class-map class_map_name
5. copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
config t Example: n1000v# config t n1000v(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
class-map [ type qos ] [ match-any | match-all ] class_map_name Example: n1000v(config)# class-map class_discard_class n1000v(config-cmap-qos)# |
指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 |
match [ not ] discard-class multi-range-discard-class-values Example: n1000v(config-cmap-qos)# match discard-class 4, 60-62 n1000v(config-cmap-qos)# |
廃棄クラス値のリストに基づいてパケットを照合することによって、トラフィック クラスを設定します。値の範囲は 0 ~ 63 です。デフォルトの廃棄クラス値は 0 です。指定した範囲に一致しない値について照合するには、 not キーワードを使用します。 |
ステップ 4 |
show class-map class_map_name Example: n1000v(config-cmap-qos)# show class-map class_discard_class n1000v(config-cmap-qos)# |
指定したクラス マップ設定を表示します。 |
ステップ 5 |
copy running-config startup-config Example:
n1000v(config-cmap-qos)# copy running-config startup-config
|
(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
レイヤ 3 パケット長分類の設定
各種のパケット長に基づいてレイヤ 3 トラフィックを分類できます。
(注) この機能は IP パケットだけが対象です。
手順の概要
1. config t
2. class-map [ type qos ] [ match-any | match-all ] class_map_name
3. match [ not ] packet length packet-length-list
4. show class-map class_map_name
5. copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
config t Example: n1000v# config t n1000v(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
class-map [ type qos ] [ match-any | match-all ] class_map_name Example: n1000v(config)# class-map class_packet_length |
指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 |
match [ not ] packet length packet-length-list Example: n1000v(config-cmap-qos)# match packet length 2000 |
各種のパケット長に基づいてパケットを照合することによって、トラフィック クラスを設定します。値の範囲は 1 ~ 9198 です。指定した範囲に一致しない値について照合するには、 not キーワードを使用します。 |
ステップ 4 |
show class-map class_map_name Example: n1000v(config-cmap-qos)# show class-map class_packet_length n1000v(config-cmap-qos)# |
指定したクラス マップ設定を表示します。 |
ステップ 5 |
copy running-config startup-config Example:
n1000v(config-cmap-qos)# copy running-config startup-config
|
(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
CoS 分類の設定
IEEE 802.1Q ヘッダー内のサービス クラス(CoS)フィールドに基づいてトラフィックを分類できます。この 3 ビットのフィールドは IEEE 802.1p で QoS トラフィック クラスをサポートするために規定されています。CoS は VLAN ID タグ フィールドの上位 3 ビットで符号化され、user_priority と呼ばれます。
手順の概要
1. config t
2. class-map [ type qos ] [ match-any | match-all ] class_map_name
3. match [ not ] cos cos-list
4. show class-map class_map_name
5. copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
config t Example: n1000v# config t n1000v(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
class-map [ type qos ] [ match-any | match-all ] class_map_name Example: n1000v(config)# class-map class_cos |
指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 |
match [ not ] cos cos-list Example: n1000v(config-cmap-qos)# match cos 4, 5-6 |
CoS 値のリストに基づいてパケットを照合することによって、トラフィック クラスを設定します。指定できる範囲は 0 ~ 7 です。指定した範囲に一致しない値について照合するには、 not キーワードを使用します。 |
ステップ 4 |
show class-map class_map_name Example: n1000v(config-cmap-qos)# show class-map class_cos n1000v(config-cmap-qos)# |
指定したクラス マップ設定を表示します。 |
ステップ 5 |
copy running-config startup-config Example:
n1000v(config-cmap-qos)# copy running-config startup-config
|
(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
IP RTP 分類の設定
IP Real-time Transport Protocol(RTP)は、オーディオやビデオなどのデータを送信するリアルタイム アプリケーション用のトランスポート プロトコルで、 RFC 3550 で規定されています。RTP では一般的な TCP ポートや UDP ポートは使用されませんが、通常はポート 16384 ~ 32767 を使用するように RTP を設定します。偶数ポートを UDP 通信に使用し、次の上位の奇数ポートを RTP Control Protocol(RTCP)通信に使用します。
UDP ポート範囲に基づいて分類を設定できます。UDP ポート範囲は、RTP を使用するアプリケーションを対象とする可能性があります。
手順の概要
1. config t
2. class-map [ type qos ] [ match-any | match-all ] class_map_name
3. match [ not ] ip rtp udp-port-values
4. show class-map class_map_name
5. copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
config t Example: n1000v# config t n1000v(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
class-map [ type qos ] [ match-any | match-all ] class_map_name Example: n1000v(config)# class-map class_rtp n1000v(config-cmap-qos)# |
指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 |
match [ not ] ip rtp udp-port-values Example: n1000v(config-cmap-qos)# match ip rtp 2000-2100, 4000-4100 |
UDP ポート番号の下限と上限に基づいてパケットを照合することによって、トラフィック クラスを設定します。UDP ポート番号の範囲は、RTP を使用するアプリケーションを対象とする可能性があります。値の範囲は 2000 ~ 65535 です。指定した範囲に一致しない値について照合するには、 not キーワードを使用します。 |
ステップ 4 |
show class-map class_map_name Example: n1000v(config-cmap-qos)# show class-map class_rtp |
指定したクラス マップ設定を表示します。 |
ステップ 5 |
copy running-config startup-config Example:
n1000v(config-cmap-qos)# copy running-config startup-config
|
(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
クラス マップ分類の設定
別のクラス マップ内にある一致基準に基づいてトラフィックを分類できます。
はじめる前に
この手順を開始する前に、次のことを確認または実行する必要があります。
• 参照先のクラス マップは参照元よりも先に作成しておく必要があります。
• 同じクラス マップを複数のポリシー内で参照できます。
• 設定できるクラス マップの入れ子のレベルは 1 レベルだけです。別のクラス マップを参照しているクラス マップは参照できません。
• 参照先のクラス マップを削除する場合は、その前に、そのクラス マップへの参照をすべて削除してください。
• match class-map コマンドで指定したクラス マップとの論理 OR を実行するには、 match-any キーワードを使用します。照合されるクラス マップの match-any または match-all の指定は無視されます。
• match class-map コマンドで指定したクラス マップとの論理 AND を実行するには、 match-all キーワードを使用します。照合されるクラス マップの match-any または match-all の指定は無視されます。
手順の概要
1. config t
2. class-map [ type qos ] [ match-any | match-all ] class_map_name
3. match [ not ] class-map class_map_name
4. show class-map class_map_name
5. copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
config t Example: n1000v# config t n1000v(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
class-map [ type qos ] [ match-any | match-all ] class_map_name Example: n1000v(config)# class-map class_class_map n1000v(config-cmap-qos)# |
指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 |
match [ not ] class-map class_map_name Example: n1000v(config-cmap-qos)# match class-map class_map3 |
別のクラス マップ内の一致基準に基づいてパケットを照合することによって、トラフィック クラスを設定します。match-all は class-map コマンドのデフォルトであるため、class_map3 内で指定された一致基準と class_class_map 内の一致基準とが論理 AND されます。指定した範囲に一致しない値について照合するには、 not キーワードを使用します。 |
ステップ 4 |
show class-map class_map_name Example: n1000v(config-cmap-qos)# show class-map class_class_map |
指定したクラス マップ設定を表示します。 |
ステップ 5 |
copy running-config startup-config Example:
n1000v(config-cmap-qos)# copy running-config startup-config
|
(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |