この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、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)または Media Access Control(MAC; メディア アクセス コントロール)ACL 名。 クラスの設定を、match-all、および一致基準として使用される ACL にした場合、パケット長以外の他の一致基準は指定できません。 クラスの設定を、match-any、および一致基準として使用される ACL にした場合、ACL を他のどの一致基準にも一致させることができます。 |
パケット長 |
レイヤ 3 パケット長のサイズ範囲 |
IP RTP |
Real-time Transport Protocol(RTP)を使用しているアプリケーションを、User Datagram Protocol(UDP; ユーザ データグラム プロトコル)ポート番号範囲によって識別します。 |
クラス マップ |
名前付きクラス マップ オブジェクト内で指定された基準。 |
EXEC モードで CLI にログインしていること。
既存のアクセス コントロール リスト(ACL)に基づいてパケットを照合することによって、トラフィックを分類できます。
次に、ACL トラフィックを分類する例を示します。
switch# config 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_acl1 switch(config-cmap-qos)# copy running-config startup-config
IP ヘッダーの DiffServ フィールドの DSCP 値に基づいてトラフィックを分類できます。 標準の DSCP 値については、一般によく使用される DSCP 値およびIP precedence 値を参照してください。
(注) |
トンネリング プロトコルもまた IP でない限り、トンネル型 IP パケットは照合されません。また、照合は外側の IP ヘッダーに適用され、カプセル化された IP ヘッダーには適用されません。 |
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# class-map [type qos] [match-any] [match-all] class_map_name | 指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 | switch(config-cmap-qos)# match [not] dscp dscp_list | dscp-values に基づいてパケットを照合することによって、トラフィック クラスを設定します。 標準の DSCP 値については、一般によく使用される DSCP 値およびIP precedence 値を参照してください。 指定した範囲に一致しない値について照合するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-map class_map_name | クラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
switch# config terminal switch(config)# class-map class_dscp switch(config-cmap-qos)# match dscp-af21, af32 switch(config-cmap-qos)# show class-map class_dscp switch(config-cmap-qos)# copy running-config startup-config
IP ヘッダーの ToS バイト フィールドの優先順位値に基づいてトラフィックを分類できます。 優先順位値は、一般によく使用される DSCP 値およびIP precedence 値の表にあります。
(注) |
トンネリング プロトコルもまた IP でない限り、トンネル型 IP パケットは照合されません。また、照合は外側の IP ヘッダーに適用され、カプセル化された IP ヘッダーには適用されません。 |
コマンドまたはアクション | 目的 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
||||||||||||||||||
ステップ 2 | switch(config)# class-map [type qos] [match-any] | [match-all] class_map_name | 指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
||||||||||||||||||
ステップ 3 | switch(config-cmap-qos)# match [not] precedence values |
|
||||||||||||||||||
ステップ 4 | switch(config-cmap-qos)# show class-map class_map_name | クラス マップ設定を表示します。 |
||||||||||||||||||
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次に、IP precedence 分類を設定する例を示します。
switch# config 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 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 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 | switch(config-cmap-qos)# match [not] qos-group multi-range-qos-group-values | QoS グループ値のリストに基づいてパケットを照合することによって、トラフィック クラスを設定します。 値の範囲は 0 ~ 126 です。 デフォルトの QoS グループ値は 0 です。 指定した範囲に一致しない値について照合するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-map class_map_name | 指定したトラフィック クラス名に対するクラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
switch# config 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 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 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 | switch(config-cmap-qos)# match [not] discard-class multi-range-discard-group-values | 廃棄クラス値のリストに基づいてパケットを照合することによって、トラフィック クラスを設定します。 値の範囲は 0 ~ 63 です。 デフォルトの廃棄クラス値は 0 です。 指定した範囲に一致しない値について照合するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-map class_map_name | 指定したトラフィック クラス名に対するクラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
switch# config 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 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 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 | switch(config-cmap-qos)# match [not] packet-length packet-length-list | 各種のパケット長に基づいてパケットを照合することによって、トラフィック クラスを設定します。 値の範囲は 1 ~ 9198 です。 指定した範囲に一致しない値について照合するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-map class_map_name | 指定したトラフィック クラス名に対するクラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
switch# config 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 switch(config-cmap-qos)# copy running-config startup-config
トラフィックの分類により、トラフィックが指定の基準と一致するかどうかに基づいて、トラフィック(パケット)をトラフィック クラスまたはカテゴリに整理できます。 トラフィックの分類に使用する値を、一致基準と呼びます。 トラフィック クラスを定義する場合、一致基準を複数指定することも、特定の基準について照合しないように選択することも、一部または全部の基準を照合することによってトラフィック クラスを決定することもできます。
IEEE 1Q ヘッダー内のサービス クラス(CoS)に基づいてトラフィックを分類できます。 この 3 ビットのフィールドは IEEE.802.1p で QoS トラフィック クラスをサポートするために規定されています。 CoS は VAN ID タグ フィールドの上位 3 ビットで符号化され、user_priority と呼ばれます。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# class-map [type qos] [match-any] | [match-all] class_map_name | 指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 | switch(config-cmap-qos)# match [not] cos cos-list | CoS 値のリストに基づいてパケットを照合することによって、トラフィック クラスを設定します。 指定できる範囲は 0 ~ 7 です。 指定した範囲に一致しない値について照合するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-map class_map_name | 指定したトラフィック クラス名に対するクラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
switch# config 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 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 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 | switch(config-cmap-qos)# match [not] ip rtp udp-port-values | UDP ポート番号の下限と上限に基づいてパケットを照合することによって、トラフィック クラスを設定します。UDP ポート番号の範囲は、RTP を使用するアプリケーションを対象とする可能性があります。 値の範囲は 2000 ~ 65535 です。 指定した範囲に一致しない値について照合するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-map class_map_name | 指定したトラフィック クラス名に対するクラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
switch# config terminal switch(config)# class-map class_rtp switch(config-cmap-qos)# match ip rtp 2000-21000, 4000-4100 switch(config-cmap-qos)# show class-map class-rtp switch(config-cmap-qos)# copy running-config startup-config
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# class-map [type qos] [match-any] | [match-all] class_map_name | 指定したクラス マップに対してクラス マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定および保存します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 | switch(config-cmap-qos)# match [not] class-map class_map_name | 別のクラス マップ内の一致基準に基づいてパケットを照合することによって、トラフィック クラスを設定します。 match-all は class-map コマンドのデフォルトであるため、class_map3 内で指定された一致基準と class_class_map 内の一致基準とが論理 AND されます。 指定した範囲に一致しない値を検索するには、not キーワードを使用します。 |
ステップ 4 | switch(config-cmap-qos)# show class-map class_map_name | クラス マップ設定を表示します。 |
ステップ 5 | switch(config-cmap-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例は、クラス マップ分類を設定する方法を示します。
switch# config terminal switch(config)# class-map class_class_map switch(config-cmap-qos)# match class-map class-map3 switch(config-cmap-qos)# show class-map class_class_map 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)# match dscp af21 af32 switch(config-cmap-qos)# exit