この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章の内容は、次のとおりです。
トラフィック クラスは、トラフィックの類似性に基づいてグループ化されるトラフィック(パケット)のカテゴリで、クラス マップと呼ばれます。ネットワーク トラフィックを分類することにより、ネットワーク内で Quality Of Service(QoS)ストラテジをイネーブルにできます。
ネットワーク トラフィックを識別し、トラフィック クラスにカテゴリ化(つまり、パケットを分類)すると、ネットワーク トラフィックを異なるカテゴリに分けられるため、さまざまなトラフィックのタイプを扱うことが可能になります。
ネットワーク トラフィックを分類することにより、トラフィックの種類を判別し、特定のタイプのトラフィックを他のトラフィックとは異なる方法で扱うことができます。ネットワーク トラフィックを識別し、整理することにより、トラフィックのタイプごとに最適なパフォーマンスが得られるようにネットワーク リソースを割り当てることができます。
特定の IP precedence を持つネットワーク トラフィックを 1 つのトラフィック クラスに分類し、同時に、特定の DiffServ コード ポイント(DSCP)値を持つトラフィックを別のトラフィック クラスに分類できます。各トラフィック クラスで異なる QoS クラスを指定できます。これは、後述のポリシー マップで設定します。
IP precedence やサービス クラス(CoS)などの基準に基づいて、各トラフィック クラスをクラス マップ内で定義します。トラフィック クラスのマッピングに対して指定可能な基準を使用でき、次のようにトラフィックを基準と照合できます。
トラフィック クラス マップ内で使用される基準のいくつかは、トラフィックの 1 方向(入力または出力)にだけ関係します。たとえば、内部ラベル QoS グループは、入力トラフィックに対しては意味を持ちません。これは、まだ値が割り当てられていないからです。
QoS ポリシー マップ内でどのトラフィック クラスにも一致しないトラフィックは、class-default と呼ばれるデフォルトのトラフィック クラスに割り当てられます。QoS ポリシー マップ内で class-default を参照することで、この一致しないトラフィックを選択できます。
次の表に、マッピング トラフィック クラスに使用できる基準を示します。
クラス基準 | 説明 |
---|---|
CoS |
IEEE 802.1Q ヘッダー内のサービス クラス(CoS)フィールド。 |
IP precedence |
IP ヘッダーのタイプ オブ サービス(ToS)バイト内部の優先順位値。 詳細については、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 ポート番号範囲によって識別します。 |
クラス マップ |
名前付きクラス マップ オブジェクト内で指定された基準。 |
EXEC モードで CLI にログインしていること。
(注) |
トンネリング プロトコルもまた IP でない限り、トンネル型 IP パケットは照合されません。また、照合は外側の IP ヘッダーに適用され、カプセル化された IP ヘッダーには適用されません。 |
既存のアクセス コントロール リスト(ACL)に基づいてパケットを照合することによって、トラフィックを分類できます。
次の例に、ACL トラフィックを分類する方法を示します。
switch# configure terminal switch(config)# class-map class_acl switch(config-cmap-qos)# match access-group name my_acl switch(config-cmap-qos)# show class-map class_acl Type qos class-maps ==================== class-map type qos match-all class_acl match access-group name my_acl switch(config-cmap-qos)# copy running-config startup-config
IP ヘッダーの DiffServ フィールドの DSCP 値に基づいてトラフィックを分類できます。標準の DSCP 値については、一般によく使用される DSCP 値およびIP precedence 値を参照してください。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# class-map [type qos] [match-any | match-all] class_map_name | 指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、一意のアルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 3 | switch(config-cmap-qos)# match [not] dscpdscp_list | dscp-values に基づいてパケットを照合することによって、トラフィック クラスを設定します。標準の DSCP 値については、一般によく使用される DSCP 値およびIP precedence 値を参照してください。 指定した範囲に一致しない値について照合するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-mapclass_map_name | クラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例に、DSCP トラフィックを分類する方法を示します。
switch# configure terminal switch(config)# class-map class_dscp switch(config-cmap-qos)# match dscp af21 af32 Type qos class-maps ==================== class-map type qos match-all class_dscp match dscp 18,28 switch(config-cmap-qos)# show class-map class_dscp switch(config-cmap-qos)# copy running-config startup-config
IP ヘッダーの ToS バイト フィールドの優先順位値に基づいてトラフィックを分類できます。優先順位値は、一般によく使用される DSCP 値およびIP precedence 値の表にあります。
コマンドまたはアクション | 目的 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
||||||||||||||||||
ステップ 2 | switch(config)# class-map [type qos] [match-any | match-all] class_map_name | 指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、一意のアルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
||||||||||||||||||
ステップ 3 | switch(config-cmap-qos)# match [not] precedencevalues |
|
||||||||||||||||||
ステップ 4 | switch(config-cmap-qos)# show class-mapclass_map_name | クラス マップ設定を表示します。 |
||||||||||||||||||
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例に、IP precedence 分類を設定する方法を示します。
switch# configure terminal switch(config)# class-map class_ip_precedence switch(config-cmap-qos)# match precedence 1-2, 5-7 switch(config-cmap-qos)# show class-map class_ip_precedence Type qos class-maps ==================== class-map type qos match-all class_ip_precedence match precedence 1-2,5-7 switch(config-cmap-qos)# copy running-config startup-config
QoS グループ内部ラベルの値に基づいてトラフィックを分類できます。QoS グループ内部ラベルはパケット ペイロードまたはパケット ヘッダーの一部ではありません。QoS グループ ポリシーの作成で説明しているように、set qos-group コマンドを使用して、ポリシー マップ内で QoS グループの値を設定できます。
(注) |
QoS グループの値は入力ポリシー内で設定されるまで未定義になっているため、QoS グループについての照合は、出力ポリシー内でだけ行います。 |
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# class-map [type qos] [match-any | match-all] class_map_name | 指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、一意のアルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 3 | switch(config-cmap-qos)# match [not] qos-groupmulti-range-qos-group-values | QoS グループ値のリストに基づいてパケットを照合することによって、トラフィック クラスを設定します。値の範囲は 0 ~ 126 です。デフォルトの QoS グループ値は 0 です。指定した範囲に一致しない値について照合するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-mapclass_map_name | 指定したトラフィック クラス名に対するクラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例に、QoS グループ分類を設定する方法を示します。
switch# configure terminal switch(config)# class-map class_qos_group switch(config-cmap-qos)# match qos-group 4, 80-90 switch(config-cmap-qos)# show class-map class_qos_group Type qos class-maps ==================== class-map type qos match-all class_qos_group match qos-group 4,80-90 switch(config-cmap-qos)# copy running-config startup-config
廃棄クラス内部ラベルの値に基づいてトラフィックを分類できます。廃棄クラス内部ラベルはパケット ペイロードまたはパケット ヘッダーの一部ではありません。set discard-class コマンドを使用して、ポリシー マップ内で廃棄クラスの値を設定できます。
(注) |
廃棄クラスの値は入力ポリシー内で設定されるまで未定義になっているため、廃棄クラスについての照合は、出力ポリシー内でのみ行います。 |
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# class-map [type qos] [match-any | match-all] class_map_name | 指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、一意のアルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 3 | switch(config-cmap-qos)# match [not] discard-classmulti-range-discard-group-values | 廃棄クラス値のリストに基づいてパケットを照合することによって、トラフィック クラスを設定します。値の範囲は 0 ~ 63 です。デフォルトの廃棄クラス値は 0 です。指定した範囲に一致しない値について照合するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-mapclass_map_name | 指定したトラフィック クラス名に対するクラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
switch# configure terminal switch(config)# class-map class_discard_class switch(config-cmap-qos)# match discard-class 4, 60-62 switch(config-cmap-qos)# show class-map class-discard-class Type qos class-maps ==================== class-map type qos match-all class_dicard_class match discard-class 4,60-62 switch(config-cmap-qos)# copy running-config startup-config
各種のパケット長に基づいてレイヤ 3 トラフィックを分類できます。
(注) |
この機能は IP パケットだけが対象です。 |
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# class-map [type qos] [match-any | match-all] class_map_name | 指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、一意のアルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 3 | switch(config-cmap-qos)# match [not] packet-lengthpacket-length-list | 各種のパケット長に基づいてパケットを照合することによって、トラフィック クラスを設定します。値の範囲は 1 ~ 9198 です。指定した範囲に一致しない値について照合するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-mapclass_map_name | 指定したトラフィック クラス名に対するクラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例に、レイヤ 3 パケット長分類を設定する方法を示します。
switch# configure terminal switch(config)# class-map class_packet_length switch(config-cmap-qos)# match packet length 2000 switch(config-cmap-qos)# show class-map class_packet_length Type qos class-maps ==================== class-map type qos match-all class_packet_length match packet length 2000 switch(config-cmap-qos)# copy running-config startup-config
トラフィックの分類により、トラフィックが指定の基準と一致するかどうかに基づいて、トラフィック(パケット)をトラフィック クラスまたはカテゴリに整理できます。トラフィックの分類に使用する値を、一致基準と呼びます。トラフィック クラスを定義する場合、一致基準を複数指定することも、特定の基準について照合しないように選択することも、一部または全部の基準を照合することによってトラフィック クラスを決定することもできます。
IEEE 1Q ヘッダー内のサービス クラス(CoS)に基づいてトラフィックを分類できます。この 3 ビットのフィールドは IEEE.802.1p で QoS トラフィック クラスをサポートするために規定されています。CoS とは、スイッチ ネットワークを通過するときにイーサネット フレームのプライオリティを示す 802.1Q ヘッダーの 3 ビットのことです。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# class-map [type qos] [match-any | match-all] class_map_name | 指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、一意のアルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 3 | switch(config-cmap-qos)# match [not] coscos-list | CoS 値のリストに基づいてパケットを照合することによって、トラフィック クラスを設定します。指定できる範囲は 0 ~ 7 です。指定した範囲に一致しない値について照合するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-mapclass_map_name | 指定したトラフィック クラス名に対するクラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例では、CoS 分類を設定する方法を示します。
switch# configure terminal switch(config)# class-map class_cos switch(config-cmap-qos)# match cos 4, 5-6 switch(config-cmap-qos)# show class-map class-cos Type qos class-maps ==================== class-map type qos match-all class_cos match cos 4-6 switch(config-cmap-qos)# copy running-config startup-config
IP Real-time Transport Protocol(RTP)は、オーディオやビデオなどのデータを送信するリアルタイム アプリケーション用のトランスポート プロトコルで、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] [match-any | match-all] class_map_name | 指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、一意のアルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 3 | switch(config-cmap-qos)# match [not] ip rtpudp-port-values | UDP ポート番号の下限と上限に基づいてパケットを照合することによって、トラフィック クラスを設定します。UDP ポート番号の範囲は、RTP を使用するアプリケーションを対象とする可能性があります。値の範囲は 2000 ~ 65535 です。指定した範囲に一致しない値について照合するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-mapclass_map_name | 指定したトラフィック クラス名に対するクラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例に、IP RTP 分類を設定する方法を示します。
switch# configure terminal switch(config)# class-map class_rtp switch(config-cmap-qos)# match ip rtp 2000-21000, 4000-4100 Type qos class-maps ==================== class-map type qos match-all class_rtp match ip rtp 2000-2100,4000-4100 switch(config-cmap-qos)# show class-map class-rtp switch(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 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# class-map [type qos] [match-any | match-all] class_map_name | 指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、一意のアルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 3 | switch(config-cmap-qos)# match [not] class-mapclass_map_name | 別のクラス マップ内の一致基準に基づいてパケットを照合することによって、トラフィック クラスを設定します。match-all は class-map コマンドのデフォルトであるため、class_map3 内で指定された一致基準と class_class_map 内の一致基準とが論理 AND されます。指定した範囲に一致しない値を検索するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-mapclass_map_name | クラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例に、クラス マップ分類を設定する方法を示します。
switch# configure terminal switch(config)# class-map class_class_map switch(config-cmap-qos)# match class-map class-map switch(config-cmap-qos)# show class-map class_class_map Type qos class-maps ==================== class-map type qos match-all class_class_map match class-map class-map switch(config-cmap-qos)# show class-map class-map Type qos class-maps ==================== class-map type qos match-all class-map match dscp 10,12 switch(config-cmap-qos)# copy running-config startup-config
分類の設定を確認するには、次の表のコマンドを使用します。
コマンド |
説明 |
---|---|
show class-map name |
すべてのクラス マップまたは指定したクラス マップに対するクラス マップ設定を表示します。 |
show ip access-lists name |
すべての IPv4 アクセス コントロール リスト(ACL)または特定の IPv4 ACL を表示します。 |
次の例では、DSCP トラフィック AF21 と AF32 を照合する分類を、クラス マップ cmap1 に設定する方法を示します。
switch(config)# class-map type qos match-all cmap1 switch(config-cmap-qos)# show class-map cmap1 Type qos class-maps ==================== class-map type qos match-all cmap1 match dscp 18,28 switch(config-cmap-qos)# exit
ここでは、QoS 分類のリリース履歴を示します。
機能名 |
リリース |
機能情報 |
---|---|---|
QoS 分類 |
5.2(1)SM1(5.1) |
この機能が導入されました |