この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
目次
この章の内容は、次のとおりです。
ポリシー マップにより、ネットワーク トラフィックがクラス単位で優先順位付けされます。 最適な Quality of Service が得られるトラフィックの優先順位付けが行われるように、ポリシー マップを作成して各クラスのトラフィックの扱い方法を定義します。
マーキングとは、パケットをマーキングするプロセスです。それにより、パケット内の次のいずれかが QoS の目的のために変化します。
トラフィック クラスを DSCP(指定したフレームのサービス レベルを表すインジケータ)にマッピングできます。 DSCP 値の範囲は 0 ~ 63 です。デフォルト値は 0 です。 46 の DSCP 値は使用できません。
サービス ポリシーは、ポリシー マップを使用して指定されます。 ポリシー マップにより、クラス マップは順序付きでサービス レベルにマッピングされます。 ポリシー マップ内では複数のクラス マップを指定でき、クラス マップを高、中、または低のサービス レベルにマッピングできます。 デフォルトのプライオリティは低です。 ポリシー マップ名は、63 文字までの英数字に制限されています。
ポリシー マップ内でのクラス マップの順序は重要であり、フレームがクラス マップと比較される順序はこれにより決定します。 最初に一致したクラス マップの対応するプライオリティが、フレームにマーキングされます。
マーキングとは、パケットに関連する QoS 情報を設定することです。 標準の QoS フィールド、IP precedence、DSCP、サービス クラス(CoS)の値、および後続のアクション(ポリシングなど)で使用できる内部ラベルを設定できます。
トラフィック クラスを定義した後、それらをポリシー マップ内で参照し、それらをどのようにマーキングするかを定義できます。 ポリシーは、クラスの使用を 4 つまでだけにして、単純なものにすることを推奨します。
マーキングに使用できるフィールドを次の表に示します。
フィールド |
説明 |
||
---|---|---|---|
DSCP |
レイヤ 3 の DiffServ コード ポイント(DSCP)。
|
||
IP precedence |
レイヤ 3 の IP precedence。
|
||
CoS |
レイヤ 2 のサービス クラス(CoS)。 |
||
QoS グループ |
必要に応じてマーキングと照合が可能なローカルな QoS 値。 有効な範囲は 0 ~ 126 です。 |
||
廃棄クラス |
必要に応じて照合とマーキングが可能なローカルな QoS 値。 指定できる範囲は 0 ~ 63 です。
|
||
入力および出力ポート |
マーキングは、着信または発信パケットに適用されます。 |
単一のクラスで、5 つのフィールド(CoS、IP precedence、DSCP、QoS グループ、廃棄クラス)のうちのいずれか 2 つがマーキング可能です。 特に制限事項として記載されていない限り、着信パケットと発信パケットの両方にマーキングできます。
マーキングの前提条件は、次のとおりです。
IP ヘッダー パケット内の DSCP 値をマーキングするポリシーを作成し、特定クラスのトラフィックを優先順位付けできます。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# policy-map [type qos] [match-first] policy-map-name | 指定したポリシー マップに対してポリシー マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 | switch(config-pmap)# class [type qos] {class_map_name |class-default} | class-map-name への参照を作成し、指定したクラス マップに対してポリシー マップ クラス QoS コンフィギュレーション モードを開始します。 デフォルトでは、このクラスはポリシー マップの最後に追加されます。 変更は、実行コンフィギュレーションに保存されます。 ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。 |
ステップ 4 | switch (config-pmap-c-qos)# set dscp value | 指定したクラスのすべての IP ヘッダー内で使用する DSCP 値を定義し、その値を実行コンフィギュレーションに保存します。 1 ~ 60 の数値か、一般によく使用される DSCP 値およびIP precedence 値の標準値のいずれかを使用できます。 下の例では、標準値 af31 が使用されています。 |
ステップ 5 | switch(config-pmap-c-qos)# show policy-map policy-map-name | 指定したマップ名に対するポリシー マップ設定を表示します。 |
ステップ 6 | switch(config-pmap-c-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例は、DSCP ポリシーの作成方法を示しています。
switch# config terminal switch(config)# policy-map policy1 switch(config-pmap)# class class1 switch(config-pmap-c-qos)# set dscp af31 switch(config-pmap-c-qos)# show policy-map policy1 switch(config-pmap-c-qos)# copy running-config startup-config
次の例は、IP precedence ポリシーの作成方法を示しています。
switch# config terminal switch(config)# policy-map policy1 switch(config-pmap)# class class1 switch(config-pmap-c-qos)# set precedence 3 switch(config-pmap-c-qos)# show policy-map policy1 switch(config-pmap-c-qos)# copy running-config startup-config
特定のクラスのすべてのトラフィックの IEEE 802.1Q ヘッダー内で CoS フィールドをマーキングできます。 入力または出力ポリシー内でこのフィールドをマーキングすると、パケットが IEEE 802.1Q 準拠のインターフェイスに表示されるときだけ、この設定が適用されます。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# policy-map [type qos] [match-first] policy-map-name | 指定したポリシー マップに対してポリシー マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 | switch(config-pmap-qos)# class [type qos] {class_map_name | class-default} | class-map-name への参照を作成し、指定したクラス マップに対してポリシー マップ クラス QoS コンフィギュレーション モードを開始します。 デフォルトでは、このクラスはポリシー マップの最後に追加されます。 変更は、実行コンフィギュレーションに保存されます。 ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。 |
ステップ 4 | switch (config-pmap-c-qos)# set cos cos-value | CoS 値を cos-value に設定します。 値の範囲は 0 ~ 7 です。 このコマンドは出力ポリシーだけで使用できます。 |
ステップ 5 | switch(config-pmap-c-qos)# show policy-map policy-map-name | 指定したマップ名に対するポリシー マップ設定を表示します。 |
ステップ 6 | switch(config-pmap-c-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次に、サービス クラス ポリシーを作成する例を示します。
This example shows how to create a class of service policy. switch# config terminal switch(config)# policy-map policy1 switch(config-pmap-qos)# class class1 switch(config-pmap-c-qos)# set cos 3 switch(config-pmap-c-qos)# show policy-map policy1 Type qos policy-maps ==================== policy-map type qos policy1 class class1 set dscp 26 set cos 3 class class2 set dscp 14 class class-default set dscp 20 police cir 256000 bps bc 300 ms pir 256000 bps be 300 ms conform transmit exceed set dscp dscp table cir-mar kdown-map violate drop
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# policy-map [type qos] [match-first] policy-map-name | 指定したポリシー マップに対してポリシー マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 | switch(config-pmap-qos)# class [type qos] {class_map_name | class-default} | class-map-name への参照を作成し、指定したクラス マップに対してポリシー マップ クラス QoS コンフィギュレーション モードを開始します。 デフォルトでは、このクラスはポリシー マップの最後に追加されます。 変更は、実行コンフィギュレーションに保存されます。 ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。 |
ステップ 4 | switch (config-pmap-c-qos)# set qos-group qos-group-value | QoS グループ値を qos-group-value に設定します。 値の範囲は 0 ~ 126 です。 |
ステップ 5 | switch(config-pmap-c-qos)# show policy-map policy-map-name | 指定したマップ名に対するポリシー マップ設定を表示します。 |
ステップ 6 | switch(config-pmap-c-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例は、QoS グループ ポリシーの作成方法を示しています。
switch# config terminal switch(config)# policy-map policy1 switch(config-pmap-qos)# class class1 switch(config-pmap-c-qos)# set qos-group 100 switch(config-pmap-c-qos)# show policy-map policy1 switch(config-pmap-c-qos)# copy running-config startup-config
ローカルな内部ラベル廃棄クラス ポリシーを設定できます。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# policy-map [type qos] [match-first] policy-map-name | 指定したポリシー マップに対してポリシー マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
ステップ 3 | switch(config-pmap-qos)# class [type qos] {class_map_name |class-default} | class-map-name への参照を作成し、指定したクラス マップに対してポリシー マップ クラス QoS コンフィギュレーション モードを開始します。 デフォルトでは、このクラスはポリシー マップの最後に追加されます。 変更は、実行コンフィギュレーションに保存されます。 ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。 |
ステップ 4 | switch (config-pmap-c-qos)# set discard-class discard-class-value | 廃棄クラス値を discard-class-value に設定します。 値の範囲は 0 ~ 63 です。 |
ステップ 5 | switch(config-pmap-c-qos)# show policy-map policy-map-name | 指定したマップ名に対するポリシー マップ設定を表示します。 |
ステップ 6 | switch(config-pmap-c-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次に、廃棄クラス ポリシーを作成する例を示します。
switch# config terminal switch(config)# policy-map policy1 switch(config-pmap-qos)# class class1 switch(config-pmap-c-qos)# set discard-class 40 switch(config-pmap-c-qos)# show policy-map policy1 switch(config-pmap-c-qos)# copy running-config startup-config
ポリシー マップをインターフェイスまたはポート プロファイルに付加すると、マーキング命令が入力または出力パケットに適用されます。
(注) |
1 つのインターフェイスまたはポート プロファイルには、1 つの入力ポリシーと 1 つの出力ポリシーだけを付加できます。 |
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 2 | 次のいずれかのコマンドを入力します。 | 指定したイーサネット/vEthernet インターフェイスまたはポート プロファイルに対してコンフィギュレーション モードを開始します。 |
||
ステップ 3 | switch (config-if)# service-policy [type qos] {input | output} policy-map-name [no stats] | (任意) インターフェイスまたはポート プロファイルの入力または出力パケットに追加されるポリシー マップ名を付加します。
|
||
ステップ 4 | switch(config-if)# show policy-map policy-map-name | 指定したマップ名に対するポリシー マップ設定を表示します。 |
||
ステップ 5 | switch(config-if)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例では、イーサネット インターフェイスで入力ポリシーを設定する方法を示します。
switch# config terminal switch(config)# interface ethernet 1/1 switch(config-if)# service-policy input policy1 switch(config-if)# show policy-map policy1 Type qos policy-maps ==================== policy-map type qos policy1 switch(config-if)# copy running-config startup-config
次の例では、ポート プロファイルで入力ポリシーを設定する方法を示します。
switch# config terminal switch(config)# port-profile accessprofile switch(config-if)# service-policy input policy1 switch(config-if)# show policy-map policy1 switch(config-if)# copy running-config startup-config Type qos policy-maps ==================== policy-map type qos policy1 switch(config-if)# copy running-config startup-config
指定した入力または出力ポリシー マップで定義されるトラフィック クラスごとに DSCP ポートをマーキングできます。
(注) |
1 つのインターフェイスまたはポート プロファイルには、1 つの入力ポリシーと 1 つの出力ポリシーだけを付加できます。 |
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 2 | switch(config)# policy-map [type qos] [match-first] policy-map-name | 指定したポリシー マップに対してポリシー マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定します。 class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。 |
||
ステップ 3 | switch(config-pmap)# class [type qos] {class_map_name |class-default} | class-map-name への参照を作成し、指定したクラス マップに対してポリシー マップ クラス QoS コンフィギュレーション モードを開始します。 デフォルトでは、このクラスはポリシー マップの最後に追加されます。 変更は、実行コンフィギュレーションに保存されます。 ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。 |
||
ステップ 4 | switch (config-pmap-c-qos)# set dscp value | DSCP 値を設定します。 DSCP の有効値については、一般によく使用される DSCP 値およびIP precedence 値を参照してください。 |
||
ステップ 5 | 作成する各クラス マップに対してステップ 3 およびステップ 4 を繰り返します。 | |||
ステップ 6 | switch (config-pmap-c-qos)# exit | ポリシー マップ コンフィギュレーション モードに戻ります。 |
||
ステップ 7 | switch (config-pmap)# exit | グローバル コンフィギュレーション モードに戻ります。 |
||
ステップ 8 | 次のいずれかのコマンドを入力します。 | 指定したイーサネット/vEthernet インターフェイスまたはポート プロファイルに対してコンフィギュレーション モードを開始します。 |
||
ステップ 9 | switch (config-if)# service-policy [type qos] {input | output} policy-map-name [no stats] | (任意)
|
||
ステップ 10 | switch(config-if)# show policy-map policy-map-name | 指定したマップ名に対するポリシー マップ設定を表示します。 |
||
ステップ 11 | switch(config-if)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例では、イーサネット インターフェイス上で、入力ポリシー マップで定義されるトラフィック クラスごとに DSCP ポートをマーキングする方法を示します。
switch# config terminal switch(config)# policy-map policy1 switch(config-pmap-qos)# class class1 switch(config-pmap-c-qos)# set dscp af31 switch(config-pmap-c-qos)# exit switch(config-pmap-qos)# exit switch(config)# interface ethernet 1/1 switch(config-if)#service-policy input policy1 switch(config-if)# show policy-map policy1 Type qos policy-maps ==================== policy-map type qos policy1 class class1 set dscp af31 class class2 set dscp af13 class class-default set dscp af22 switch(config-if)# copy running-config startup-config
次の例では、イーサネット インターフェイス上で、入力ポリシー マップで定義されるトラフィック クラスごとに DSCP ポートをマーキングする方法を示します。
switch# config terminal switch(config)# policy-map policy1 switch(config-pmap)# class class1 switch(config-pmap-c-qos)# set dscp af31 switch(config-pmap-c-qos)# exit switch(config-pmap-qos)# class class2 switch(config-pmap-c-qos)# set dscp af13 switch(config-pmap-c-qos)# exit switch(config-pmap-qos)# class class-default switch(config-pmap-c-qos)# set dscp af22 switch(config-pmap-c-qos)# exit switch(config-pmap-qos)# exit switch(config)# interface ethernet 1/1 switch(config-if)# service-policy input policy1 switch(config-if)# show policy-map policy1 Type qos policy-maps ==================== policy-map type qos policy1 class class1 set dscp af31 class class2 set dscp af13 class class-default set dscp af22 switch(config-if)# copy running-config startup-config
次の例では、ポート プロファイル上で、入力ポリシー マップで定義されるトラフィック クラスごとに DSCP ポートをマーキングする方法を示します。
switch(config)# config terminal switch(config)# policy-map policy1 switch(config-pmap-qos)# class class1 switch(config-pmap-c-qos)# set dscp af31 switch(config-pmap-c-qos)# exit switch(config-pmap-qos)# class class2 switch(config-pmap-c-qos)# set dscp af13 switch(config-pmap-c-qos)# exit switch(config-pmap-qos)# class class-default switch(config-pmap-c-qos)# set dscp af22 switch(config-pmap-c-qos)# exit switch(config-pmap-qos)# exit switch(config)# port-profile accessprofile switch(config-port-prof)# service-policy input policy1 switch(config-port-prof)# show policy-map policy1 Type qos policy-maps ==================== policy-map type qos policy1 class class1 set dscp af31 class class2 set dscp af13 class class-default set dscp af22 switch(config-if)# copy running-config startup-config
設定を確認するには、次のいずれかのコマンドを使用します。
コマンド |
説明 |
---|---|
show policy-map [type qos] [name policy_map_name] | ポリシー マップ設定を表示します。 |
show table-map name | テーブル マップ設定を表示します。 |
次の例では、特定のポリシー マップ ポリシーを表示する方法を示します。
switch(config)# show policy-map policy-ipacl Type qos policy-maps ==================== policy-map type qos policy-ipacl class class-ipacl set dscp 10
次の例では、すべてのインターフェイスのポリシー マップを表示する方法を示します。
switch# show policy-map interface brief Interface/VLAN [Status]:INP QOS OUT QOS INP QUE OUT QUE ================================================================================ Vethernet1 [Active]: media Vethernet10 [Active]: media Vethernet13 [Active]:web_policer Vethernet15 [Active]:iperf Vethernet16 [Active]: iperf_policer Vethernet17 [Active]:ixia_in ixia_out Vethernet18 [Active]: media Vethernet19 [Active]:iperf Vethernet20 [Active]: iperf_policer Vethernet21 [Active]:netperf_polic ================================================================================