この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、QoS パケットの分類に使用するコマンドについて説明します。
パケット分類の概念、設定作業、および例の詳細については、『Modular QoS Configuration Guide for Cisco NCS 5000 Series Routers』の「Configuring Modular QoS Service Packet Classification」の章を参照してください。
ポリシーを作成または変更するクラスの名前を指定するには、ポリシー マップ コンフィギュレーション モードで class コマンドを使用します。クラスをポリシー マップから削除するには、このコマンドの no 形式を使用します。
class [ type qos ] { class-name | class-default }
no class [ type qos ] { class-name | class-default }
type qos |
(任意)Quality of Service(QoS)クラスを指定します。 |
class-name |
ポリシーを設定または変更するクラスの名前です。 |
class-default |
デフォルト クラスを設定します。 |
クラスの指定はありません。
タイプを指定しないと QoS になります。
ポリシー マップ コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ポリシー マップ内で、作成または変更するクラスの名前を指定するには、class (policy-map) コマンドを使用できます。ポリシー マップを最初に指定する必要があります。
ポリシー マップを指定する(および必要なポリシー マップ モードを開始する)には、class (policy-map) コマンドを使用する前に、policy-map コマンドを使用します。ポリシー マップを指定したあとは、新しいクラスのポリシーを設定したり、そのポリシー マップ内の既存のクラスのポリシーを変更できます。
ポリシー マップで指定したクラス 名は、class-map コマンドを使用して設定したとおりに、そのクラスの特性、つまり、ポリシーをクラス マップとその一致基準に関連付けます。
適合および超過アクションを示すカラー ブラインド モードのシングルレート 2 カラーは、入力方向でサポートされています。
(注) |
Cisco NCS 5001 ルータおよび Cisco NCS 5002 ルータで出力ポリシーに 8 つのすべての qos-group クラス(クラスのデフォルトを含む)を設定する必要があります。 |
RP/0/RP0/CPU0:router(config)# policy-map pm1 RP/0/RP0/CPU0:router(config-pmap)# end-policy-map RP/0/RP0/CPU0:router(config)# end ! RP/0/RP0/CPU0:router# show running-config ! policy-map pm1 class class-default ! end-policy-map !
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
RP/0/RP0/CPU0:router(config)# class-map class1 RP/0/RP0/CPU0:router(config-cmap)# match precedence 3 RP/0/RP0/CPU0:router(config-cmap)# exit RP/0/RP0/CPU0:router(config)# policy-map policy-in RP/0/RP0/CPU0:router(config-pmap)# class class1... RP/0/RP0/CPU0:routerconfig-pmap-c)# police rate percent 30 RP/0/RP0/CPU0:router(config-pmap-c-police)# exit RP/0/RP0/CPU0:router(config-pmap-c)# exit RP/0/RP0/CPU0:router(config-pmap)# class class-default RP/0/RP0/CPU0:router(config-pmap-c)# police rate percent 20
デフォルト クラスは、class1 に対して設定されている一致基準を満たさないパケットに使用されます。class1 は policy1 で使用する前に定義しておく必要がありますが、デフォルト クラスは、システムで暗黙に定義されているため、ポリシー マップで直接使用できます。
トラフィック クラス、およびパケットをクラスに対応させる関連付けられたルールを定義するには、XR コンフィギュレーション モードで class-map コマンドを使用します。既存のクラス マップをルータから削除するには、このコマンドの no 形式を使用します。
class-map [ type [traffic | qos] ] [match-all] [match-any] class-map-name
no class-map [ type [traffic | qos ] ] [match-all] [match-any] class-map-name
type qos | (任意)Quality of Service(QoS)のクラス マップを指定します。 |
traffic | (任意)トラフィック タイプのクラス マップを指定します。 |
match-all | (任意)すべての一致基準での一致を指定します。 |
match-any | (任意)いずれかの一致基準での一致を指定します。これはデフォルトです。 |
class-map-name | クラス マップのクラスの名前です。クラス名は、クラス マップに使用されるだけでなく、ポリシー マップでクラスにポリシーを設定するためにも使用されます。クラス名には最大 63 文字を使用できますが、英数字で開始する必要があります。英数字以外に次の文字を使用できます。_ @ $ % + | # : ; - = |
タイプを指定しないと QoS になります。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
class-map コマンドは、クラス マップの一致基準を作成または変更するクラスの名前を指定します。このコマンドを使用すると、クラス マップ コンフィギュレーション モードがイネーブルになります。このモードで match コマンドを入力することによって、このクラスの一致基準を設定できます。インターフェイスに着信したパケットは、クラス マップに設定されている一致基準と照らし合わせて検査され、パケットがそのクラスに属しているかどうかを判定されます。
(注) |
Cisco NCS 5001 ルータおよび Cisco NCS 5002 ルータで出力ポリシーに 8 つのすべての qos-group クラス(class-default を含む)を設定する必要があります。1 つのクラスマップが 1 つの qos-group にのみ一致します。 |
次のコマンドは、入力方向のクラス マップ一致基準に使用できます。
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、クラスの名前に class1 を指定して、このクラスのクラス マップを定義する例を示します。access list 1 に一致するパケットが、クラス class1 と照合されます。
RP/0/RP0/CPU0:router(config)# class-map class1 RP/0/RP0/CPU0:router(config-cmap)# match access-group ipv4 1
レート制限に適合したパケットに対して実行するアクションを設定するには、ポリシー マップ ポリシング コンフィギュレーション モードで conform-action コマンドを使用します。適合アクションをポリシー マップから削除するには、このコマンドの no 形式を使用します。
conform-action [ drop | set options | transmit ]
no conform-action [ drop | set options | transmit ]
drop |
(任意)パケットをドロップします。 |
setoptions |
(任意)指定したパケットのプロパティを設定します。options に次のいずれかのキーワードまたはキーワード引数を指定します。 |
transmit |
(任意)パケットを送信します。 |
デフォルトでは、レート制限に準拠するパケットにアクションが設定されていない場合、パケットは送信されます。
ポリシー マップ ポリシング コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
トラフィック ポリシング機能の詳細については、police rateコマンドを参照してください。
conform-action コマンドを使用すると、各ポリサー アクションに少なくとも 2 セットのアクションを設定できます。
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、トラフィック ポリシングを設定して、レート制限に適合するパケットに DSCP ビットを設定する MPLS の例を示します。
RP/0/RP0/CPU0:router(config)# class-map class1 RP/0/RP0/CPU0:router(config-cmap)# match mpls experimental topmost 1 RP/0/RP0/CPU0:router(config-cmap)# exit RP/0/RP0/CPU0:router(config)# policy-map policy-in RP/0/RP0/CPU0:router(config-pmap)# class class1 RP/0/RP0/CPU0:router(config-pmap-c)# police rate 100 mbps burst 2 kbytes RP/0/RP0/CPU0:router(config-pmap-c-police)# conform-action set dscp 1 RP/0/RP0/CPU0:router(config-pmap-c-police)# conform-action set qos-group 1 RP/0/RP0/CPU0:router(config-pmap-c-police)# exit RP/0/RP0/CPU0:router(config-pmap-c)# exit RP/0/RP0/CPU0:router(config-pmap)# exit RP/0/RP0/CPU0:router(config)# interface TenGigE 0/1/0/9 RP/0/RP0/CPU0:router(config-if) service-policy input policy-in
クラスの一致基準の設定を終了し、クラス マップ コンフィギュレーション モードを終了するには、クラス マップ コンフィギュレーション モードで end-class-map コマンドを使用します。
end-class-map
このコマンドにはキーワードまたは引数はありません。
デフォルトの動作または値はありません。
クラス マップ コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、クラス マップ の設定を終了し、クラス マップ コンフィギュレーション モードを終了する例を示します。
RP/0/RP0/CPU0:router(config)# class-map class1 RP/0/RP0/CPU0:router(config-cmap)# match access-group ipv4 1 RP/0/RP0/CPU0:router(config-cmap)# end-class-map
ポリシー マップの設定を終了し、ポリシー マップ コンフィギュレーション モードを終了するには、ポリシー マップ コンフィギュレーション モードで end-policy-map コマンドを使用します。
end-policy-map
このコマンドにはキーワードまたは引数はありません。
デフォルトの動作または値はありません。
ポリシー マップ コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、ポリシー マップの設定を終了し、ポリシー マップ コンフィギュレーション モードを終了する例を示します。
RP/0/RP0/CPU0:router(config)# policy-map policy1 RP/0/RP0/CPU0:router(config-pmap)# class class1 RP/0/RP0/CPU0:router(config-pmap-c)# police rate 250 ... ... RP/0/RP0/CPU0:router(config-pmap)# class class7 ... ... RP/0/RP0/CPU0:router(config-pmap)# end-policy-map
レート制限を超過したパケットに対して実行するアクションを設定するには、ポリシー マップ ポリシング コンフィギュレーション モードで exceed-action コマンドを使用します。超過アクションをポリシー マップから削除するには、このコマンドの no 形式を使用します。
exceed-action [ drop | set options | transmit ]
no exceed-action [ drop | set options | transmit ]
drop |
(任意)パケットをドロップします。 |
setoptions |
指定したパケットのプロパティを設定します。options に次のいずれかのキーワードまたはキーワード引数を指定します。 |
transmit |
(任意)パケットを送信します。 |
デフォルトでは、レート制限を超えるパケットにアクションが設定されていない場合、パケットはドロップされます。
ポリシー マップ ポリシング コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
トラフィック ポリシング機能の詳細については、police rateコマンドを参照してください。
exceed-action コマンドを使用すると、各ポリサー アクションに少なくとも 2 セットのアクションを設定できます。
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、トラフィック ポリシングを設定し、レート制限を超過しているインターフェイス TenGigE 0/7/0/0 のトラフィックをドロップする MPLS の例を示します。
RP/0/RP0/CPU0:router(config)# class-map class1 RP/0/RP0/CPU0:router(config-cmap)# match mpls experimental topmost 0 RP/0/RP0/CPU0:router(config-cmap)# exit RP/0/RP0/CPU0:router(config)# policy-map policy1 RP/0/RP0/CPU0:router(config-pmap)# class class1... RP/0/RP0/CPU0:router(config-pmap-c)# police rate 250 kbps burst 50 RP/0/RP0/CPU0:router(config-pmap-c-police)# exceed-action drop RP/0/RP0/CPU0:router(config-pmap-c-police)# exit RP/0/RP0/CPU0:router(config-pmap-c)# exit RP/0/RP0/CPU0:router(config-pmap)# exit RP/0/RP0/CPU0:router(config)# interface TenGigE 0/7/0/0 RP/0/RP0/CPU0:router(config-if) service-policy input policy1
指定したアクセス コントロール リスト(ACL)番号をクラス マップの一致基準として識別するには、クラス マップ コンフィギュレーション モードで match access-group コマンドを使用します。
match access-group { ipv4 | ipv6 } access-group-name
ipv4 |
照合する IPv4 アクセス グループの名前を指定します。 |
ipv6 |
照合する IPv6 アクセス グループの名前を指定します。 |
access-group-name |
パケットが特定のクラスに属するかどうかを判定するために検査する対象の一致基準として内容を使用する ACL。 |
クラス マップの一致基準として IPv6 または IPv4 のいずれも指定しない場合は、デフォルトで IPv4 アドレス指定が使用されます。
クラス マップ コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
クラス ベースの機能(マーキングやポリシングなど)の場合は、ACL およびインターフェイスを含め、一致基準に基づいてトラフィック クラスを定義します。クラスの一致基準を満たすパケットは、そのクラスのトラフィックの一部となります。
match access-group コマンドは、クラス マップで指定されたクラスに属しているかどうかを確認するパケットに対してその内容が一致基準として使用される ACL を指定します。
match access-group コマンドは、入力方向についてのみサポートされます。
match access-group でサポートされていない一致基準は、TTL での一致です。
対応する ACL に SYN、ACK、FIN などの TCP フィールドがあるアクセス コントロール エントリはサポートされていません。
match access-group コマンドを使用するには、最初に class-map コマンドを入力し、一致基準を確立するクラスの名前を指定する必要があります。1 つの match ステートメントで、最大 8 つの IPv4 および IPv6 ACL を指定できます。
IPv4 ヘッダーおよび IPv6 ヘッダーのパケット長または TTL(パケット存続時間)に基づく QoS 分類はサポートされていません。
ACL リストをクラス マップ内で使用すると、ACL の拒否アクションが無視され、トラフィックは指定された ACL 一致パラメータに基づいて分類されます。
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、map1 というクラス マップを指定し、このクラスの一致基準として map1 を使用するように設定する例を示します。
RP/0/RP0/CPU0:router(config)# class-map map1 RP/0/RP0/CPU0:router(config-cmap)# match access-group ipv4 map1 RP/0/RP0/CPU0:router(config-cmap)# match access-group ipv6 map2
指定したサービス クラス(CoS)値をクラス マップの一致基準として識別するには、クラス マップ コンフィギュレーション モードで match cos コマンドを使用します。指定した CoS クラス値をクラス マップの一致基準から削除するには、このコマンドの no 形式を使用します。
match [not] cos { cos-value [ cos-value1 ... cos-value7 ] }
no match [not] cos { cos-value [ cos-value1 ... cos-value7 ] }
not |
(任意)指定した一致結果を否定します。 |
cos-value |
0 ~ 7 の正確な値を指定する識別子。パケットに一致する CoS ID を 8 つまで指定できます。 |
一致基準が指定されていません。
クラス マップ コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
match cos コマンドは、入力方向についてのみサポートされます。
match cos コマンドは、クラス マップで指定されたクラスに属しているかどうかを確認するパケットに対して一致基準として使用される QoS を指定します。
match cos コマンドを使用するには、最初に class-map コマンドを入力し、一致基準を確立するクラスの名前を指定する必要があります。クラス マップに複数の match cos コマンドを指定した場合は、後続の一致ステートメントの値が最初の match cos コマンドに追加されます。
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、policy-in というサービス ポリシーを設定し、サービス ポリシー policy-in をインターフェイス TenGigE 0/7/0/0 に追加する例を示します。次に、クラス マップ cos146 がサービス パケットのすべての値、1、4、または 6 を評価する例を示します。着信パケットがこれらの CoS のいずれかの値でマーキングされている場合、トラフィックは 300 Mbps でポリシングされます。
RP/0/RP0/CPU0:router(config)# class-map cos146 RP/0/RP0/CPU0:router(config-cmap)# match cos 1 4 6 RP/0/RP0/CPU0:router(config-cmap)# exit RP/0/RP0/CPU0:router(config)# policy-map policy-in RP/0/RP0/CPU0:router(config-pmap)# class cos146 RP/0/RP0/CPU0:router(config-pmap-c)# police rate 300 mbps RP/0/RP0/CPU0:router(config-pmap-police)#exit RP/0/RP0/CPU0:router(config-pmap-c)# exit RP/0/RP0/CPU0:router(config-pmap)# exit RP/0/RP0/CPU0:router(config)# interface TenGigE 0/7/0/0 RP/0/RP0/CPU0:router(config-if)# service-policy input policy-in
特定の IP DiffServ コード ポイント(DSCP)値をクラス マップの一致基準として識別するには、クラス マップ コンフィギュレーション モードで match dscp コマンドを使用します。DSCP 値をクラスマップから削除するには、このコマンドの no 形式を使用します。
match [not] dscp { [ ipv4 | ipv6 ] dscp-value [ dscp-value1 . .. dscp-value7 ] | | [ min-value - max-value ] }
no match [not] dscp { [ ipv4 | ipv6 ] dscp-value [ dscp-value1 . .. dscp-value7 ] | | [ min-value - max-value ] }
not |
(任意)指定した一致結果を否定します。 |
ipv4 |
(任意)IPv4 DSCP 値を指定します。 |
ipv6 |
(任意)IPv6 DSCP 値を指定します。 |
dscp-value |
正確な値または値の範囲を指定する IP DSCP 値 ID。範囲は 0 ~ 63 です。最大 8個の IP DSCP 値をパケットの照合に指定できます。数値の代わりに、予約済みキーワードも指定できます。表 1に、予約済みキーワードを示します。 |
min-value |
照合する DSCP 範囲の下限値。指定できる値の範囲は 0 ~ 63 です。 |
max-value |
照合する DSCP 範囲の上限値。指定できる値の範囲は 0 ~ 63 です。 |
IP バージョン 4(IPv4)および IPv6 パケットでのマッチングがデフォルトです。
クラス マップ コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
match dscp コマンドは、入力方向についてのみサポートされます。最小値は 0 で、最大値は 63 です。最大許容値は 64 です。
match cos コマンドは、クラス マップで指定されたクラスに属しているかどうかを確認するパケットに対して一致基準として使用される DSCP 値を指定します。
match dscp コマンドを使用するには、最初に class-map コマンドを入力し、一致基準を確立するクラスの名前を指定する必要があります。
IP DSCP 値は、一致基準としてだけ使用されます。値に数学的意味はありません。たとえば、IP DSCP 値 2 が 1 より大きいわけではありません。値が示すのは、IP DSCP 値 2 がマーキングされたパケットと IP DSCP 値 1 がマーキングされたパケットの扱いが異なることだけです。これらのマーキングされたパケットの処理は、ユーザがポリシー マップ クラス コンフィギュレーション モードでポリシーを設定して定義します。
DSCP 値 |
予約済みキーワード |
---|---|
0 |
default |
10 |
AF11 |
12 |
AF12 |
14 |
AF13 |
18 |
AF21 |
20 |
AF22 |
22 |
AF23 |
26 |
AF31 |
28 |
AF32 |
30 |
AF33 |
34 |
AF41 |
36 |
AF42 |
38 |
AF43 |
46 |
EF |
8 |
CS1 |
16 |
CS2 |
24 |
CS3 |
32 |
CS4 |
40 |
CS5 |
48 |
CS6 |
56 |
CS7 |
ipv4 |
ipv4 dscp |
ipv6 |
ipv6 dscp |
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、policy-in というサービス ポリシーを設定し、サービス ポリシー policy-in をインターフェイス TenGigE 0/7/0/0 に追加する例を示します。次の例では、クラス マップ dscp14 が IP DSCP 値 14 に対して、入力されるすべてのパケットを評価します。着信パケットが IP DSCP 値 14 でマーキングされていた場合、トラフィックは 300 Mbps でポリシングされます。
RP/0/RP0/CPU0:router(config)# class-map dscp14 RP/0/RP0/CPU0:router(config-cmap)# match dscp ipv4 14 RP/0/RP0/CPU0:router(config-cmap)# exit RP/0/RP0/CPU0:router(config)# policy-map policy-in RP/0/RP0/CPU0:router(config-pmap)# class dscp14 RP/0/RP0/CPU0:router(config-pmap-c)#police rate 300 mbps RP/0/RP0/CPU0:router(config-pmap-c-police)#exit RP/0/RP0/CPU0:router(config-pmap-c)#exit RP/0/RP0/CPU0:router(config-pmap)#exit RP/0/RP0/CPU0:router(config)# interface TenGigE 0/7/0/0 RP/0/RP0/CPU0:router(config-if)# service-policy input policy-in
最上位のマルチプロトコル ラベル スイッチング(MPLS)ラベル内にある特定の 3 ビット experimental(EXP)フィールド値をクラス マップの一致基準として識別するには、クラス マップ コンフィギュレーション モードで match mpls experimental topmost コマンドを使用します。EXP フィールド値をクラス マップから削除するには、このコマンドの no 形式を使用します。
match [ not ] mpls experimental topmost exp-value [ exp-value1 ...exp-value7 ]
no match [ not ] mpls experimental topmost exp-value [ exp-value1 ...exp-value7 ]
not |
not |
exp-value |
0 ~ 7 の正確な値を指定する EXP 値。MPLS ヘッダーに一致する EXP 値を 8 つまで指定できます。 |
デフォルトの動作または値はありません。
クラス マップ コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
match mpls experimental topmost コマンドは、入力方向についてのみサポートされます。最小値は 0 で、最大値は 7 です。最大許容値は 8 です。
match mpls experimental topmost は、MPLS パケット上で照合する MPLS EXP 値を識別するためにクラス マップで使用されます。
match mpls experimental topmost コマンドを使用するには、最初に class-map コマンドを入力し、一致基準を確立するクラスの名前を指定する必要があります。複数の match mpls experimental topmost コマンドをクラス マップに指定した場合は、新しい値が既存の match ステートメントに追加されます。
このコマンドでは、MPLS パケットの最上位ラベルに含まれる 3 つの EXP ビットを調べます。1 つの match ステートメントで、最大 8 つの EXP 値を照合できます。たとえば、match mpls experimental topmost 2 4 5 7 は、EXP 値が 2、4、5、および 7 についての一致を返します。一致すると見なされるために必要な値は、4 つのうちのいずれかだけです(OR 演算)。
EXP 値は、一致基準としてだけ使用されます。値に数学的意味はありません。たとえば、EXP 値 2 が 1 より大きいわけではありません。値が示すのは、EXP 値 2 がマーキングされたパケットと EXP 値 1 がマーキングされたパケットの扱いが異なることです。これらの異なるパケットの扱いは、ポリシー マップ クラス コンフィギュレーション モードで、QoS ポリシーの設定を使用してユーザが定義します。
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、policy-in というサービス ポリシーを設定し、サービス ポリシー policy-in をインターフェイスに追加する例を示します。次に、クラス マップ mplsmap1 が MPLS EXP 値 1 に対して、TenGigabit Ethernet interface 0/1/0/9 に着信するすべてのパケットを評価する例を示します。着信パケットが MPLS EXP 値 1 でマーキングされていた場合、トラフィックは 300 Mbps でポリシングされます。
RP/0/RP0/CPU0:router(config)# class-map mplsmap1 RP/0/RP0/CPU0:router(config-cmap)# match mpls experimental topmost 1 RP/0/RP0/CPU0:router(config-cmap)# exit RP/0/RP0/CPU0:router(config)# policy-map policy-in RP/0/RP0/CPU0:router(config-pmap)# class mplsmap1 RP/0/RP0/CPU0:router(config-pmap-c)# police rate 300 mbps RP/0/RP0/CPU0:router(config-pmap-police)#exit RP/0/RP0/CPU0:router(config-pmap-c)#exit RP/0/RP0/CPU0:router(config-pmap)#exit RP/0/RP0/CPU0:router(config)# interface TenGigabitEthernet 0/1/0/9 RP/0/RP0/CPU0:router(config-if)# service-policy input policy-in
IP precedence 値を一致基準として識別するには、クラス マップ コンフィギュレーション モードで match precedence コマンドを使用します。precedence 値をクラスマップから削除するには、このコマンドの no 形式を使用します。
match [ not ] precedence [ ipv4 | ipv6 ] precedence-value [ precedence-value1 ... precedence-value7 ]
no match [ not ] precedence [ ipv4 | ipv6 ] precedence-value [ precedence-value1 ... precedence-value7 ]
not |
(任意)指定した一致結果を否定します。 |
ipv4 |
(任意)IPv4 precedence 値を指定します。 |
ipv6 |
(任意)IPv6 precedence 値を指定します。 |
precedence-value |
正確な値を指定する IP precedence 値 ID。数値の代わりに、予約済みキーワードも指定できます。表 1に、予約済みキーワードを示します。 1 つの match ステートメントで、最大 8 つの precedence 値を照合できます。 |
デフォルトでは、IP バージョン 4(IPv4)および IPv6 の両方のパケットに一致します。
クラス マップ コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
match precedence コマンドは、入力方向についてのみサポートされます。最小値は 0 で、最大値は 7 です。最大許容値は 8 です。
match precedence コマンドは、クラス マップで指定されたクラスに属しているかどうかを確認するパケットに対して一致基準として使用される precedence 値を指定します。
match precedence コマンドを使用するには、最初に class-map コマンドを入力し、一致基準を確立するクラスの名前を指定する必要があります。複数の match precedence コマンドをクラス マップに指定した場合は、新しい値が既存のステートメントに追加されます。
match precedence コマンドは、IP ヘッダーのタイプ オブ サービス(ToS)バイトの上位 3 ビットを確認します。1 つの match ステートメントで、最大 8 つの precedence 値を照合できます。たとえば、match precedence ipv4 0 1 2 3 4 5 6 7 は 0、1、2、3、4、5、6、および 7 の IP precedence 値の一致を返します。一致すると見なされるために必要な値は、8 つのうちのいずれかだけです(OR 演算)。
precedence 値は、一致基準としてだけ使用されます。値に数学的意味はありません。たとえば、precedence 値 2 が 1 より大きいわけではありません。値が示すのは、precedence 値 2 がマーキングされたパケットと precedence 値 1 がマーキングされたパケットが異なることだけです。これらの異なるパケットの扱いは、ポリシー マップ クラス コンフィギュレーション モードで、QoS ポリシーの設定を使用してユーザが定義します。
次の表に IP precedence 値の数値と関連付けられた名前を重要度の降順で示します。
値 |
名前 |
---|---|
0 |
routine |
1 |
priority |
2 |
immediate |
3 |
flash |
4 |
flash-override |
5 |
critical |
6 |
internet |
7 |
network |
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、policy-in というサービス ポリシーを設定し、サービス ポリシー policy-in をインターフェイスに追加する例を示します。次に、クラス マップ ipprec5 が precedence 値 5 に対して、TenGigabit Ethernet interface 0/1/0/9 に着信するすべてのパケットを評価する例を示します。着信パケットが precedence 値 5 でマーキングされていた場合、トラフィックは 300 Mbps でポリシングされます。
RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# class-map ipprec5 RP/0/RP0/CPU0:router(config-cmap)# match precedence ipv4 5 RP/0/RP0/CPU0:router(config-cmap)# exit RP/0/RP0/CPU0:router(config)# policy-map policy-in RP/0/RP0/CPU0:router(config-pmap)# class ipprec5 RP/0/RP0/CPU0:router(config-pmap-c)# police rate 300 mbps RP/0/RP0/CPU0:router(config-pmap-c-police)# exit RP/0/RP0/CPU0:router(config-pmap)# exit RP/0/RP0/CPU0:router(config)# interface TenGigabitEthernet 0/1/0/9 RP/0/RP0/CPU0:router(config-if)# service-policy input policy-in
特定のプロトコルをクラス マップの一致基準として識別するには、クラス マップ コンフィギュレーション モードで match protocol コマンドを使用します。プロトコル ベースの一致基準をクラス マップから削除するには、このコマンドの no 形式を使用します。
match [not] protocol { protocol-value [ protocol-value1 . .. protocol-value7 ] | | [ min-value - max-value ] }
no match [not] protocol { protocol-value [ protocol-value1 . .. protocol-value7 ] | | [ min-value - max-value ] }
not |
(任意)指定した一致結果を否定します。 |
protocol-value |
プロトコル ID。1 つの match ステートメントで 1 つの protocol-value の値(数字と名前の任意の組み合わせ)を照合できます。 |
min-value |
照合するプロトコル範囲の下限値。最小値は 0 です。 |
max-value |
照合するプロトコル範囲の上限値。最大値は 255 です。 |
デフォルトの動作または値はありません。
クラス マップ コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
match protocol コマンドは、入力方向についてのみサポートされます。
トラフィック クラスの定義は、プロトコル、アクセス コントロール リスト(ACL)、入力インターフェイス、QoS ラベル、experimental(EXP)フィールド値などの一致基準に基づいています。クラスの一致基準を満たすパケットは、そのクラスのトラフィックの一部となります。
match protocol コマンドは、クラス マップで指定されたクラスに属しているかどうかを確認するパケットに対して一致基準として使用されるプロトコルの名前を指定します。下の表に、使用可能なプロトコル名を示します。
protocol-value 引数はプロトコル番号の範囲をサポートします。クラスを識別した後に match protocol コマンドを使用して一致基準を設定します。
名前 |
説明 |
---|---|
icmp |
Internet Control Message Protocol |
igmp |
Internet Gateway Message Protocol |
ospf |
Open Shortest Path First、ルーティング プロトコル |
pim |
Protocol Independent Multicast |
tcp |
Transport Control Protocol |
udp |
User Datagram Protocol |
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、すべての TCP パケットが class 1 に属している例を示します。
RP/0/RP0/CPU0:router(config)# class-map class 1 RP/0/RP0/CPU0:router(config-cmap)# match protocol tcp
クラス マップの一致基準として特定の Quality of Service(QoS)グループ値を識別するには、クラス マップ コンフィギュレーション モードで match qos-group コマンドを使用します。特定の QoS グループ値をクラス マップの一致基準から削除するには、このコマンドの no 形式を使用します。
match [ not ] qos-group [ qos-group-value 1 ... qos-group-value7 ]
no match [ not ] qos-group
not |
(任意)指定した一致結果を否定します。 |
qos-group-value |
1 ~ 7 の厳密値、または 1 ~ 7 の値範囲を指定する QoS グループ値 ID。1 つの match ステートメントで最大 8 つの値を入力できます。 |
一致基準が指定されていません。
クラス マップ コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
match qos-group コマンドは、出力方向についてのみサポートされます。出力のデフォルト クラスは暗黙的に qos-group 0 に一致します。最小値は 1 で、最大値は 7 です。最大許容値は 7 です。
match qos-group は、パケット上でマーキングされている QoS グループを確認するための一致基準を設定します。1 つのクラスマップが 1 ~ 7 のうちの 1 つの qos-group 値にのみ一致します。1 ~ 7 の qos-group 値は、出力ポートのキュー 1 ~ 7 にマッピングされます。キュー 0 は class-default 用に予約されています。
QoS グループ値は、一致基準としてだけ使用されます。値に数学的意味はありません。たとえば、QoS グループ値 2 が 1 より大きいわけではありません。値が示すのは、QoS グループ値 2 がマーキングされたパケットと QoS グループ値 1 がマーキングされたパケットの扱いが異なることだけです。ポリシー マップ クラス コンフィギュレーション モードで service-policy コマンドを使用して、これらのさまざまなパケットの処理を定義します。
QoS グループの設定は、ローカル ルータの範囲に制限されています。通常、QoS グループはローカル ルータので設定されてローカルおよびルータ上で使用され、グループ ID に基づいて異なるレベルのサービスを提供します。
(注) |
出力ポートの 8 つのデータトラフィック キューにマッピングするには、出力ポリシーには、7 つの match qos-group クラスと 1 つの class-default が含まれている必要があります。 |
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、TenGigabit Ethernet interface 0/1/0/9 に追加された policy-out というサービス ポリシーの例を示します。この例では、クラス マップ qosgroup5 が TenGigabit Ethernet interface 0/1/0/9 から発信するすべてのパケットについて QoS グループ値 5 を確認します。パケットが QoS グループ値 5 でマーキングされていた場合、トラフィック シェーピングは 1 Gbps です。
RP/0/RP0/CPU0:router(config)# class-map qosgroup5 RP/0/RP0/CPU0:router(config-cmap)# match qos-group 5 RP/0/RP0/CPU0:router(config-cmap)# exit RP/0/RP0/CPU0:router(config)# policy-map policy-out RP/0/RP0/CPU0:router(config-pmap)# class qosgroup5 RP/0/RP0/CPU0:router(config-pmap-c)# shape average 1 gbps RP/0/RP0/CPU0:router(config-pmap-c)# exit RP/0/RP0/CPU0:router(config-pmap)# exit RP/0/RP0/CPU0:router(config)# interface TenGigabitEthernet 0/1/0/9 RP/0/RP0/CPU0:router(config-if)# service-policy output policy-out The above example is for egress, the user has to configure all the 8 classes.
ポリシー マップを入力インターフェイスまたは出力インターフェイスに追加し、そのインターフェイスのサービス ポリシーとして使用するには、適切なコンフィギュレーション モードで service-policy コマンドを使用します。 サービス ポリシーを入力インターフェイスまたは出力インターフェイスから削除するには、このコマンドの no 形式を使用します。
service-policy { input | output } policy-map
no service-policy { input | output } policy-map
input |
指定したポリシー マップを入力インターフェイスに付加します。 |
output |
指定したポリシー マップを出力インターフェイスに付加します。 |
policy-map |
追加するサービス ポリシー マップの名前(policy-map コマンドを使用して作成)。 |
サービス ポリシーは指定されていません。
インターフェイス コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
1 つのポリシー マップを 1 つ以上のインターフェイスに対応付けて、そのインターフェイスのサービス ポリシーを指定できます。ポリシー マップを構成するクラス ポリシーが、そのクラスのクラス マップ一致基準を満たすパケットに適用されます。新しいポリシーをインターフェイスに適用するには、前のポリシーを削除する必要があります。新しいポリシーで既存のポリシーを置き換えることはできません。
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
RP/0/RP0/CPU0:router(config)#interface Bundle-Ether 1 RP/0/RP0/CPU0:router(config-if)#service-policy input policy-in RP/0/RP0/CPU0:router(config-if)#exit RP/0/RP0/CPU0:router(config)# interface Bundle-Ether 2 RP/0/RP0/CPU0:router(config-if)# service-policy output policy-out
送信パケットのレイヤ 2 サービス クラス(CoS)値を設定するには、ポリシー マップ クラス コンフィギュレーション モードで set cos コマンドを使用します。特定の CoS 値の設定を削除するには、このコマンドの no 形式を使用します。
set cos cos-value
no set cos cos-value
cos-value |
0 ~ 7 の特定の IEEE 802.1Q CoS 値です。 |
送信パケットの レイヤ 2 CoS 値は設定されていません。
ポリシー マップ クラス コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
set cos コマンドを使用して、スイッチに送信するパケットをマーキングします。スイッチは、CoS 値のマーキングを含む レイヤ 2 ヘッダー情報を利用できます。
set cos コマンドは、入力方向についてのみサポートされます。外部 COS の条件付きマーキングと無条件マーキングの両方がサポートされています。
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、cos-set というポリシー マップを作成し、異なるサービス クラスに異なる CoS 値を割り当ててから、出力 TenGigE インターフェイス 0/1/0/9 に追加する例を示します。
RP/0/RP0/CPU0:router(config)# policy-map cos-set RP/0/RP0/CPU0:router(config-pmap)# class class1... RP/0/RP0/CPU0:router(config-pmap-c)# set cos 1 RP/0/RP0/CPU0:router(config-pmap-c)# exit RP/0/RP0/CPU0:router(config-pmap)# class class2... RP/0/RP0/CPU0:router(config-pmap-c)# set cos 2 RP/0/RP0/CPU0:router(config-pmap-c)# exit RP/0/RP0/CPU0:router(config-pmap)# exit RP/0/RP0/CPU0:router(config)# interface TenGigE 0/1/0/9 RP/0/RP0/CPU0:router(config-if)# service-policy input cos-set
タイプ オブ サービス(ToS)バイト内の IP DiffServ コード ポイント(DSCP)を設定することでパケットをマーキングするには、ポリシー マップ クラス コンフィギュレーション モードで set dscp コマンドを使用します。以前に設定した DSCP 値を削除するには、このコマンドの no 形式を使用します。
set dscp dscp-value
no set dscp dscp-value
dscp-value |
DSCP 値を設定する 0 ~ 63 の番号。数値の代わりに、予約済みキーワードも指定できます。表 1に、予約済みキーワードを示します。 |
デフォルトの動作または値はありません。
ポリシー マップ クラス コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
DSCP ビットを設定すると、他の Quality of Service(QoS)サービスがビット設定で動作できます。set dscp は、入力方向についてのみサポートされます。
DSCP の条件付きマーキングと無条件マーキングの両方がサポートされています。
マーキングされたトラフィックには、ネットワークによってプライオリティ(または緊急処理のタイプ)が設定されます。通常は、ネットワーク(または管理ドメイン)のエッジに DSCP 値を設定します。データはこの DSCP 値に基づいてキューイングされます。
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、policy-in というポリシー マップで DSCP ToS バイトが 6 に設定されている例を示します。class1 の一致基準を満たすすべてのパケットが DSCP 値の 6 でマーキングされます。パケットのマーキング方法はネットワーク設定によって決まります。
RP/0/RP0/CPU0:router (config)# policy-map policy-in RP/0/RP0/CPU0:router(config-pmap)# class class1... RP/0/RP0/CPU0:router(config-pmap-c)# set dscp 6
パケットの Quality of Service(QoS)グループ ID を設定するには、ポリシー マップ クラス コンフィギュレーション モードで set qos-group コマンドを使用します。特定の QoS グループ値を変更せずに残すには、このコマンドの no 形式を使用します。
set qos-group qos-group-value
no set qos-group qos-group-value
qos-group-value |
QoS グループ ID。1 ~ 7 の整数がパケット上でマーキングされます。 |
グループ ID は指定されていません。
ポリシー マップ クラス コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
set qos-group コマンドは、入力方向についてのみサポートされます。
出力ポートのキューを選択するために、set qos-group が内部プライオリティとして使用されます。
set qos-group のアクションによってデフォルト マーキング セクションが上書きされます。
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
次に、MPLS EXP ビット 1 に一致するパケットについて QoS グループを 5 に設定する例を示します。
RP/0/RP0/CPU0:router(config)# class-map class1 RP/0/RP0/CPU0:router(config-cmap)# match mpls experimental topmost 1 RP/0/RP0/CPU0:router(config-cmap)# exit RP/0/RP0/CPU0:router(config)# policy-map policy-in RP/0/RP0/CPU0:router(config-pmap)# class class1... RP/0/RP0/CPU0:router(config-pmap-c)# set qos-group 5 RP/0/RP0/CPU0:router(config-pmap-c)# exit RP/0/RP0/CPU0:router(config-pmap)# exit RP/0/RP0/CPU0:router(config)# interface TenGigE 0/1/0/9 RP/0/RP0/CPU0:router(config-if)# service-policy input policy-in
QoS の要約を表示するには、XR EXEC モードで show qos summary コマンドを使用します。
show qos summary { police { interface type instance | location node-location } | policy policy-name { interface type instance | location node-location } | queue { interface type instance | location node-location } } { input | output } [ locationnode-location]
police |
ポリサー インターフェイス統計情報を表示します。 |
policypolicy-name |
ポリシーを識別する文字列。 |
queue |
キューの統計情報を表示します。 |
interfacetypeinstance |
インターフェイスのタイプとインスタンス。詳細については、疑問符(?)オンライン ヘルプ機能を使用してください。 |
locationnode-location |
場所を完全修飾で指定します。 |
input | 指定したポリシー マップを入力インターフェイスに表示します。 |
output | 指定したポリシー マップを出力インターフェイスに表示します。 |
なし
XR EXEC モード
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID |
動作 |
---|---|
qos |
読み取り、書き込み |
RP/0/RP0/CPU0:router# show qos summary queue interface TEnGigE 0/0/0/9 output
Wed Nov 25 12:13:21.769 UTC
Legend:
=======
1. Queue ID is displayed in HEX.
2. A '*' against Queue ID means class does not own the queue.
3. Length, Transmit and Drop are the queue statistics.
Policy:Class QueueID Length Transmit Drop Idle_ts
TenGigE0/0/0/9
qos
:qos1 51 0 0 0 00:00:00
qos
:qos2 52 0 0 0 00:00:00
qos
:qos3 53 0 0 0 00:00:00
qos
:qos4 54 0 0 0 00:00:00
qos
:qos5 55 0 0 0 00:00:00
qos
:qos6 56 0 0 0 00:00:00
qos
:qos7 57 0 0 0 00:00:00
qos
:class-default 50 0 0 0 00:00:00
次に、インターフェイス TenGigE 0/0/0/5 のポリサー インターフェイス統計情報の例を示します。
RP/0/RP0/CPU0:router# show qos summary police interface TenGigE 0/0/0/5 input
Wed Nov 25 12:10:06.521 UTC
Legend:
=======
1. Policer ID is displayed in HEX.
2. A '*' against the counter means the action is drop.
3. Conform displays match counter for non-policer leaf.
Policy:Class PoliceID Conform Exceed Violate
TenGigE0/0/0/5
policer
:class-default 106 1456 1657* 0*
RP/0/RP0/CPU0:ios#
RP/0/RP0/CPU0:ios#show run policy-map policer
Wed Nov 25 12:10:20.603 UTC
policy-map policer
class class-default
police rate 1 gbps burst 200 kbytes
!
!
end-policy-map
!