この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章の内容は、次のとおりです。
ポリシー マップにより、ネットワーク トラフィックがクラス単位で優先順位付けされます。最適な Quality of Service が得られるトラフィックの優先順位付けが行われるように、ポリシー マップを作成して各クラスのトラフィックの扱い方法を定義します。
マーキングは、着信および発信パケットの Quality of Service(QoS)フィールドを変更するために使用する方式です。マーキングが可能な QoS フィールドは、レイヤ 2 ではサービス クラス(CoS)、レイヤ 3 では Internet Protocol(IP)precedence と Diffserv コード ポイント(DSCP)です。QoS グループと廃棄クラスはシステムにとってローカルな 2 つのラベルで、中間マーキング値を割り当てることができます。これらの 2 つのラベルを使用して、パケット内でマーキングされた値の最終値を決定できます。
サービス ポリシーは、ポリシー マップを使用して指定されます。ポリシー マップにより、クラス マップは順序付きでサービス レベルにマッピングされます。ポリシー マップ内では複数のクラス マップを指定でき、クラス マップを高、中、または低のサービス レベルにマッピングできます。デフォルトの優先度は低です。ポリシー マップ名は、63 文字までの英数字に制限されています。
ポリシー マップ内でのクラス マップの順序は重要であり、フレームがクラス マップと比較される順序はこれにより決定します。最初に一致したクラス マップの対応するプライオリティが、フレームにマーキングされます。
トラフィック クラスを定義した後は、ポリシー マップ内でそれらのマーキング方法も定義して参照できます。
次の表に、マーキングに使用可能なフィールドを示します。
フィールド |
説明 |
||
---|---|---|---|
DSCP |
レイヤ 3 の DiffServ コード ポイント(DSCP)。
|
||
IP Precedence |
レイヤ 3 の IP precedence。
|
||
CoS |
レイヤ 2 サービス クラス(CoS)。 |
||
QoS グループ |
必要に応じてマーキングと照合が可能なローカルな QoS 値。有効な範囲は 0 ~ 126 です。 |
||
廃棄クラス |
必要に応じて照合とマーキングが可能なローカルな QoS 値。範囲は 0 ~ 63 です。
|
||
Using Table Maps |
テーブル マップをマーキングに使用する方式。 |
特に制限事項として記載されていない限り、着信パケットと発信パケットの両方にマーキングできます。
マーキングの前提条件は、次のとおりです。
ネットワーク トラフィックを分類しておく必要があります。詳細については、QoS 分類の設定を参照してください。
EXEC モードで CLI にログインしておきます。
IP ヘッダー パケット内の DSCP 値をマーキングするポリシーを作成し、特定クラスのトラフィックを優先順位付けできます。
RFC 2475 の DSCP の説明を参照してください。
EXEC モードで CLI にログインしていること。
DSCP マーキングを使用する場合、廃棄クラス マーキングは使用できません。
DSCP のフィールドには、0 ~ 63 の数値、または一般によく使用される DSCP 値およびIP precedence 値に示されている一般によく使用される値のいずれかをマーキングできます。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# policy-map [type qos] [match-first] policy-map-name | 指定したポリシー マップに対してポリシー マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定します。 policy-map-name 引数は、大文字と小文字が区別される一意のアルファベット文字列で、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 3 | switch(config-pmap)# class [type qos] {class_map_name |class-default} | class-map-name への参照を作成し、指定したクラス マップに対してポリシーマップ クラス QoS コンフィギュレーション モードを開始します。デフォルトでは、このクラスはポリシー マップの最後に追加されます。変更は、実行コンフィギュレーションに保存されます。 ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。 class_map_name 引数は、大文字と小文字が区別されない一意のアルファベット文字列であり、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 4 | switch (config-pmap-c-qos)# set dscpvalue | 指定したクラスのすべての IP ヘッダー内で使用する DSCP 値を定義し、その値を実行コンフィギュレーションに保存します。 1 ~ 60 の数値か、一般によく使用される DSCP 値およびIP precedence 値の標準値のいずれかを使用できます。 |
ステップ 5 | switch(config-pmap-c-qos)# show policy-mappolicy-map-name | 指定したマップ名に対するポリシー マップ設定を表示します。 |
ステップ 6 | switch(config-pmap-c-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例は、DSCP ポリシーの作成方法を示しています。
switch# configure 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)# show policy-map policy Type qos policy-maps ==================== policy-map type qos policy1 class class1 set dscp af31 switch(config-pmap-c-qos)# copy running-config startup-config
EXEC モードで CLI にログインしていること。
IP precedence 値の表で、重要度が低いものから順に示した RFC 791 precedence 値を参照してください。
次の例は、IP precedence ポリシーの作成方法を示しています。
switch# configure 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 Type qos policy-maps ==================== policy-map type qos policy1 class class1 set prec 3 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 コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定します。 policy-map-name 引数は、大文字と小文字が区別される一意のアルファベット文字列で、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 3 | switch(config-pmap-qos)# class [type qos] {class_map_name | class-default} | class-map-name への参照を作成し、指定したクラス マップに対してポリシーマップ クラス QoS コンフィギュレーション モードを開始します。デフォルトでは、このクラスはポリシー マップの最後に追加されます。変更は、実行コンフィギュレーションに保存されます。 ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。 class_map_name 引数は、一意のアルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 4 | switch (config-pmap-c-qos)# set cos cos-value | CoS 値を cos-value に設定します。値の範囲は 0 ~ 7 です。このコマンドは出力ポリシーだけで使用できます。 |
ステップ 5 | switch(config-pmap-c-qos)# show policy-mappolicy-map-name | 指定したマップ名に対するポリシー マップ設定を表示します。 |
ステップ 6 | switch(config-pmap-c-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次に、サービス クラス ポリシーを作成する例を示します。
switch# configure 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 cos 3 switch(config-pmap-c-qos)#
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# policy-map [type qos] [match-first] policy-map-name | 指定したポリシー マップに対してポリシー マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定します。 policy-map-name 引数は、大文字と小文字が区別される一意のアルファベット文字列で、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 3 | switch(config-pmap-qos)# class [type qos] {class_map_name | class-default} | class-map-name への参照を作成し、指定したクラス マップに対してポリシーマップ クラス QoS コンフィギュレーション モードを開始します。デフォルトでは、このクラスはポリシー マップの最後に追加されます。変更は、実行コンフィギュレーションに保存されます。 ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。 class_map_name 引数は、一意のアルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 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-mappolicy-map-name | 指定したマップ名に対するポリシー マップ設定を表示します。 |
ステップ 6 | switch(config-pmap-c-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例は、QoS グループ ポリシーの作成方法を示しています。
switch# configure 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 Type qos policy-maps ==================== policy-map type qos policy1 class class1 set qos-group 100 switch(config-pmap-c-qos)# copy running-config startup-config
ローカルな内部ラベル廃棄クラス ポリシーを設定できます。
ローカルな内部ラベル廃棄クラス ポリシーを設定する場合、DSCP ポリシーを作成することはできません。DSCP ポリシーの詳細については、DSCP ポリシーの作成を参照してください。
廃棄クラスは入力ポリシーでだけ設定できます。
ポリシー内またはトラフィック分類内でローカル廃棄クラスを参照するには、match discard-class コマンドを使用します。詳細については、廃棄クラス分類の設定を参照してください。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# policy-map [type qos] [match-first] policy-map-name | 指定したポリシー マップに対してポリシー マップ QoS コンフィギュレーション モードを開始し、実行コンフィギュレーションでそのマップ名を設定します。 policy-map-name 引数は、大文字と小文字が区別される一意のアルファベット文字列で、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 3 | switch(config-pmap-qos)# class [type qos] {class_map_name |class-default} | class-map-name への参照を作成し、指定したクラス マップに対してポリシーマップ クラス QoS コンフィギュレーション モードを開始します。デフォルトでは、このクラスはポリシー マップの最後に追加されます。変更は、実行コンフィギュレーションに保存されます。 ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。 class_map_name 引数は、一意のアルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
ステップ 4 | switch (config-pmap-c-qos)# set discard-classdiscard-class-value | 廃棄クラス値を discard-class-value に設定します。値の範囲は 0 ~ 63 です。 |
ステップ 5 | switch(config-pmap-c-qos)# show policy-mappolicy-map-name | 指定したマップ名に対するポリシー マップ設定を表示します。 |
ステップ 6 | switch(config-pmap-c-qos)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次に、廃棄クラス ポリシーを作成する例を示します。
switch# configure 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 Type qos policy-maps ==================== policy-map type qos policy1 class class1 set discard-class 40 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] | (任意) インターフェイスまたはポート プロファイルの入力または出力パケットに追加されるポリシー マップ名を付加します。
policy-map-name 引数は、大文字と小文字が区別される一意のアルファベット文字列で、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。マップ名はクラスマップおよびポリシーマップ全体で一意である必要があります。たとえば、HR_Map という同じ名前をクラスマップとポリシーマップに設定することはできません。 |
||
ステップ 4 | switch(config-if)# show policy-map policy-map-name | 指定したマップ名に対するポリシー マップ設定を表示します。 |
||
ステップ 5 | switch(config-if)# copy running-config startup-config | (任意) リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
次の例では、イーサネット インターフェイスで入力ポリシーを設定する方法を示します。
switch# configure terminal switch(config)# interface port-channel 1 switch(config-if)# service-policy input policy1 switch(config-if)# show policy-map interface port-channel 1 input Global statistics status : enabled port-channel1 Service-policy (qos) input: policy1 policy statistics status: enabled Class-map (qos): class1 (match-all) 283 packets Match: access-group testacl1 Match: packet length 3-6000 set dscp af31 switch(config-if)# copy running-config startup-config
次の例では、ポート プロファイルで出力ポリシーを設定する方法を示します。
switch# configure terminal switch(config)# port-profile 2225-ephe switch(config-port-prof)# service-policy output policy1 switch(config)# show policy-map interface vethernet 1 Global statistics status : enabled Vethernet1 Service-policy (qos) output: policy1 policy statistics status: enabled Class-map (qos): class1 (match-all) 0 packets Match: access-group testacl1 Match: packet length 3-6000 set dscp af31 switch(config)# copy running-config startup-config
次のいずれかのコマンドを使用して、設定を確認します。
コマンド |
説明 |
---|---|
show policy-map [type qos] [namepolicy_map_name] | ポリシー マップ設定を表示します。 |
show policy-map interfacename | インターフェイスに適用されているポリシーを統計情報とともに表示します。 |
show policy-map interface brief | QoS ポリシーが適用されているすべてのインターフェイスを表示します。 |
show running-config ipqos | 設定されているすべてのクラスおよびポリシー マップと、これらが適用されているインターフェイスを表示します。 |
次の例に、インターフェイスに適用されている特定のポリシー マップ ポリシーを表示する方法を示します。
switch(config)# show policy-map policy1 Type qos policy-maps ==================== policy-map type qos policy1 class class1 set dscp af31 switch(config)# sh class-map class1 Type qos class-maps ==================== class-map type qos match-all class1 match access-group name testacl1 match packet length 3-6000 switch(config)# int veth 1 switch(config-if)# service-policy ty qos input policy1 switch(config-if)# sh run int veth 1 !Command: show running-config interface Vethernet1 !Time: Tue Feb 12 02:45:20 2013 version 5.2(1)SM1(5.1) interface Vethernet1 inherit port-profile 2225-ephe service-policy type qos input policy1 description data-2-00-1, Network Adapter 2 switch(config-if)# sh policy-map interface vethernet 1 Global statistics status : enabled Vethernet1 Service-policy (qos) input: policy1 policy statistics status: enabled Class-map (qos): class1 (match-all) 0 packets Match: access-group testacl1 Match: packet length 3-6000 set dscp af31 switch(config-if)# sh policy-map interface brief Interface/VLAN [Status]:INP QOS OUT QOS INP QUE OUT QUE ================================================================================ Vethernet1 [Active]:policy1 Vethernet2 [Active]: policy1 Vethernet3 [Active]: policy1
ここでは、QoS マーキング ポリシーのリリース履歴を示します。
機能名 |
リリース |
機能情報 |
---|---|---|
QoS マーキング ポリシー |
5.2(1)SM1(5.1) |
この機能が導入されました。 |