トラフィック ポリシングを設定するには、ポリシー マップ クラス コンフィギュレーション モードまたはポリシー マップ クラス ポリス コンフィギュレーション モードで police コマンドを使用します。トラフィック ポリシングを設定から削除するには、このコマンドの no 形式を使用します。
police bps [burst-normal] [burst-max] conform-action action exceed-action action [ violate-action action ]
no police bps [burst-normal] [burst-max] conform-action action exceed-action action [ violate-action action ]
構文の説明
bps
|
平均レート(ビット/秒)です。有効な値は 8000 ~ 128000000000(128 Gb/s)です。
|
burst-normal
|
(任意)バイト単位の通常バースト サイズです。有効な値は 1000 ~ 2000000000(2 Gb)です。デフォルトの通常バースト サイズは 1500 です。
|
burst-max
|
(任意)バイト単位の最大バースト サイズです。有効な値は 1000 ~ 2000000000(2 Gb)です。デフォルトはプラットフォームによって異なります。
|
conform-action
|
レート制限に適合したパケットに対して実行するアクションを指定します。
|
exceed-action
|
レート制限を超過したパケットに対して実行するアクションを指定します。
|
violate-action
|
通常および超過バースト サイズに違反するパケットに対して実行するアクションを指定します。
|
action
|
パケットに対して実行するアクションです。次のいずれかのキーワードを指定します。
-
drop :パケットをドロップします。
-
set-clp-transmit value:ATM セルの 0 から 1 の ATM セル損失率優先度(CLP)を設定し、ATM CLP ビットを 1 に設定してパケットを送信します。
-
set-cos-inner-transmit value:拡張 FlexWAN モジュール、および、Cisco 7600 シリーズ ルータの Cisco 7600 SIP-200 および Cisco 7600 SIP-400 の SPA でブリッジ処理機能の使用時に、ブリッジ処理されたフレームに対するポリシング
アクションとして、サービス フィールドの内部クラスを設定します。
-
set-cos-transmit value:サービス クラス(CoS)パケット値を設定し、送信します。
-
set-discard-class-transmit :パケットの廃棄クラス属性を設定し、設定した新しい廃棄クラスでパケットを送信します。
-
set-dscp-transmit value:IP DiffServ コード ポイント(DSCP)値を設定して、新しい IP DSCP 値でパケットを送信します。
-
set-dscp-tunnel-transmit value:トンネル マーキングのため、レイヤ 2 Tunnel Protocol Version 3(L2TPv3)または Generic Routing Encapsulation(GRE)のトンネル ヘッダーで DSCP の値(0 ~ 63)を設定し、新しい値でパケットを送信します。
-
set-frde-transmit value:フレーム リレー フレーム上のフレーム リレー廃棄適格(DE)ビットを 0 から 1 に設定し、1 に設定した DE ビットが含まれるパケットを送信します。
-
set-mpls-experimental-imposition-transmit value:強制ラベルのヘッダーでマルチプロトコル ラベル スイッチング(MPLS)の EXP ビット(0 ~ 7)を設定し、新しい MPLS EXP ビット値でパケットを送信します。
-
set-mpls-experimental-topmost
value :EXP 値を再書き込みします。
-
set-mpls-experimental-topmost-transmit value:入力インターフェイスや出力インターフェイスでの最上位 MPLS ラベル ヘッダーに MPLS EXP フィールド値を設定します。
-
set-prec-transmit value:IP プレシデンスを設定して、新しい IP プレシデンス値でパケットを送信します。
-
set-prec-tunnel-transmit value:トンネル マーキングのため、L2TPv3 または GRE のトンネル ヘッダーで優先順位の値(0 ~ 7)を設定し、新しい値でパケットを送信します。
-
set-qos-transmit value:QoS グループ値を設定し、設定した新しい QoS グループ値でパケットを送信します。
-
transmit :パケットを送信します。パケットは変更されません。
|
コマンド デフォルト
トラフィック ポリシングは設定されません。
コマンド モード
マークされたパケットに適用される単一のアクションを指定する場合は、ポリシー マップ クラス コンフィギュレーション(config-pmap-c)
マークされたパケットに適用される複数のアクションを指定する場合は、ポリシー マップ クラス ポリシング コンフィギュレーション(config-pmap-c-police)
コマンド履歴
リリース
|
変更箇所
|
12.0(5)XE
|
このコマンドが導入されました。
|
12.1(1)E
|
このコマンドが Cisco IOS Release 12.1(1)E に統合されました。
|
12.1(5)T
|
このコマンドが Cisco IOS リリース 12.1(5)T に統合されました。violate-action キーワードが追加されました。
|
12.2(2)T
|
このコマンドが変更されました。
(注)
|
ただし、このリリースでは set-frde-transmit キーワードは AToM トラフィックではサポートされていません。また、set-frde-transmit キーワードは、カプセル化されていない物理インターフェイス上にフレーム リレーが実装されている場合にのみサポートされます。
|
|
12.2(8)T
|
このコマンドが、Policer Enhancement(Multiple Actions 機能)のために変更されました。このコマンドが、特定のレートについて適合、超過、または違反しているとマークされたパケットに対して、複数のアクションを適用できるようになりました。
|
12.2(13)T
|
このコマンドが変更されました。action 引数で、set-mpls-experimental-transmit キーワードの名前が set-mpls-experimental-imposition-transmit に変更されました。
|
12.2(28)SB
|
このコマンドが変更されました。action 引数の set-dscp-tunnel-transmit および set-prec-tunnel-transmit キーワードが追加されました。これらのキーワードは、Layer 2 Tunnel Protocol Version 3(L2TPv3)トンネル型パケット用です。
|
12.2(33)SRA
|
このコマンドが変更されました。拡張 FlexWAN モジュールでマルチポイント ブリッジング(MPB)機能を使用する場合のために、また、Cisco 7600 シリーズ ルータの Cisco 7600 SIP-200 および Cisco 7600
SIP-400 の SPA で MPB を使用する場合のために、action 引数に set-cos-inner-transmit キーワードが追加されました。
|
12.2(31)SB2
|
このコマンドが変更されました。set-frde-transmit action 引数のサポートが Cisco 10000 シリーズ ルータに追加されました。
|
12.2SX
|
このコマンドは、Cisco IOS Release 12.2SX トレインでサポートされます。このトレインの特定の 12.2SX リリースにおけるサポートは、フィーチャ セット、プラットフォーム、およびプラットフォーム ハードウェアによって異なります。
|
12.2(33)SRC
|
このコマンドが変更されました。Cisco 7600 シリーズ ルータのサポートが追加されました。
|
12.4(15)T2
|
Generic Routing Encapsulation(GRE)トンネル型パケットのマーキングのサポートが含まれるように、このコマンドが変更されました。
(注)
|
このリリースでは、GRE トンネル型パケットのマーキングは、Cisco MGX ルート プロセッサ モジュール(RPM-XF)に搭載されているプラットフォームでのみ、サポートされます。
|
|
12.2(33)SB
|
GRE トンネル型パケットのマーキングのサポートと、Cisco 7300 シリーズ ルータのサポートが含まれるように、このコマンドが変更されました。
|
15.1(1)T
|
このコマンドが、Cisco ISR 1800、2800、および 3800 シリーズ ルータの SVI インターフェイスでのポリシングをサポートするように変更されました。
|
12.2(50)SY
|
このコマンドが変更されました。set-mpls-experimental-topmost value 引数のサポートが追加されました。
|
15.0(1)SY
|
このコマンドが変更されました。bps 、burst-normal 、および burst-max 引数の最大値が増えました。
|
Cisco IOS XE リリース 3.5S
|
このコマンドが変更されました。Cisco ASR 903 ルータのサポートが追加されました。
|
使用上のガイドライン
police コマンドは、サービス レベル契約への準拠に基づいて、異なる Quality of Service(QoS)値を持つパケットをマークするために使用します。
Cisco IOS リリース 12.2(50)SY では、出力方向で set-mpls-experimental-topmost
value を適用すると、set-mpls-experimental-imposition value がブロックされます。
(注) |
Cisco IOS リリース 15.0(1)SY 以降では、バースト サイズを指定せずにポリシー マップを設定すると、デフォルト バースト サイズが 2 Gb/s に達することがあります。
|
高いレートまたは大きいバースト サイズを設定してから、その設定をサポートしていない Cisco IOS ソフトウェア リリースに変更すると、起動時に設定が拒否され、ポリシー マップから police コマンドが削除されます。
複数のアクションの指定
police コマンドでは、複数のポリシング アクションを指定できます。police コマンドの設定時に複数のポリシング アクションを指定する場合は、次の点に注意してください。
police コマンドとトラフィック ポリシング機能の使用
police コマンドは、トラフィック ポリシング機能とともに使用することができます。トラフィック ポリシング機能は、トークン バケット アルゴリズムで動作します。Cisco IOS リリース 12.1(5)T には、シングル トークン バケット アルゴリズムと
2 トークン バケット アルゴリズムの 2 種類のトークン バケット アルゴリズムがあります。シングル トークン バケット システムは、violate-action オプションを指定しなかった場合に使用され、2 トークン バケット システムは、violate-action オプションを指定した場合に使用されます。
Cisco IOS リリース 12.0(5)XE で導入された police コマンドのトークン バケット アルゴリズムは、Cisco IOS リリース 12.1(5)T で導入された police コマンドのトークン バケット アルゴリズムとは異なります。リリース 12.0(5)XE で導入されたトークン バケット アルゴリズムの詳細については、リリース 12.0(5)XE の『Traffic Policing』ドキュメントを参照してください。このドキュメントは、www.cisco.com の(Modular QoS CLI 関連の機能モジュールの下にある)「New Features for 12.0(5)XE」ドキュメント インデックスで利用できます。
次に、Cisco IOS リリース 12.1(5)T で導入されたトークン バケット アルゴリズムの仕組みを説明します。
シングル トークン バケットを使用するトークン バケット アルゴリズム
シングル トークン バケット アルゴリズムは、police コマンド CLI で violate-action オプションが指定されていない場合に使用されます。
適合バケットは、最初はフル サイズに設定されています(フル サイズは、通常バースト サイズとして指定されているバイト数です)。
指定サイズのパケット(たとえば、「B」バイト)が特定の時間(時間「T」)に到着する場合、次のようなアクションが実行されます。
(パケット間の時間(つまり T - T1)x ポリシング レート)/8 バイト
2 トークン バケットを使用するトークン バケット アルゴリズム
2 トークン バケット アルゴリズムは、police コマンドで violate-action オプションが指定されている場合に使用されます。
適合バケットは、最初はフル サイズになっています(フル サイズは、通常バースト サイズとして指定されているバイト数です)。
超過バケットは、最初はフル サイズになっています(フル超過サイズは、最大バースト サイズとして指定されているバイト数です)。
適合および超過トークン バケットのいずれのトークンも、トークン到着レートまたは認定情報レート(CIR)に基づいて更新されます。
指定サイズのパケット(たとえば、「B」バイト)が特定の時間(時間「T」)に到着する場合、次のようなアクションが実行されます。
トークンの到達レートは次のように計算されます。
(パケット間の時間(つまり T-T1)x ポリシング レート)/8 バイト
-
適合バケット B のバイト数がパケット サイズ以上の場合、パケットは適合し、パケットで適合アクションが実行されます。パケットが準拠している場合、B バイトが準拠バケットから削除され、準拠処理が実行されます。このシナリオでは、超過バケットには影響ありません。
-
適合バケット B のバイト数がパケット サイズ未満の場合、超過トークン バケットでパケットによるバイトがチェックされます。適合バケット B のバイト数が 0 以上の場合、超過アクションが実行され、超過トークン バケットから B バイトが削除されます。適合バケットから削除されるバイトはありません。
-
超過バケット B のバイト数がパケット サイズ未満の場合、パケットはレートに違反しているため、違反アクションが実行されます。パケットに対する処理が完了します。
Cisco 7600 シリーズ ルータ上の SIP および SPA の set-cos-inner-transmit アクションの使用
拡張 FlexWAN モジュールで MPB 機能を使用する場合や、Cisco 7600 シリーズ ルータの Cisco 7600 SIP-200 および Cisco 7600 SIP-400 の SPA で MPB 機能を使用する場合に、内部
CoS 値をポリシング アクションとしてマーキングすることをサポートするために、Cisco IOS リリース 12.2(33)SRA で set-cos-inner-transmit キーワード アクションが導入されました。
このコマンドは、Cisco 7600 SIP-600 ではサポートされていません。
Cisco 7600 シリーズ ルータで、SIP によってサポートされる QoS と police コマンドの形式については、『Cisco 7600 Series SIP, SSC, and SPA Software Configuration Guide』を参照してください。
Cisco ASR 903 ルータでの police コマンドの使用
Cisco ASR 903 ルータで police コマンドを使用する場合は、次の制限が適用されます。
-
サブインターフェイスでのクラスベース ポリシングはサポートされていません。
-
ポリシングは、入力ポリシー マップでのみサポートされています。
-
階層型ポリシング(親レベルと子レベルの両方でのポリシング)はサポートされていません。
-
Cisco ASR 903 ルータは、次のアクション キーワードのみをサポートしています。
- drop
- set-cos-transmit
- set-discard-class-transmit
- set-dscp-transmit
- set-mpls-exp-imposition-transmit
- set-mpls-exp-topmost-transmit
- set-precp-transmit
- set-qos-transmit
- transmit
例
次の例では、(class-map コマンドを使用して)トラフィック クラスを定義し、(policy-map コマンドを使用して)トラフィック クラスからの一致基準をサービス ポリシーに設定されているトラフィック ポリシング設定に関連付ける方法を示します。ここで、service-policy コマンドはこのサービス ポリシーをインターフェイスに対応付けるために使用されます。
この特定の例では、トラフィック ポリシングは平均レート 8000 ビット/秒で設定され、ファスト イーサネット インターフェイス 0/0 から発信される全パケットに対して通常バースト サイズが 1000 バイトとなります。
Router(config)# class-map access-match
Router(config-cmap)# match access-group 1
Router(config-cmap)# exit
Router(config)# policy-map police-setting
Router(config-pmap)# class access-match
Router(config-pmap-c)# police 8000 1000 conform-action transmit exceed-action drop
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)# interface fastethernet 0/0
Router(config-if)# service-policy output police-setting
この例では、初期トークン バケットはフルの 1000 バイトで開始します。450 バイトのパケットを受信すると、準拠トークン バケットに使用可能なバイトが十分あるため、パケットは準拠しています。パケットにより準拠処理(送信)が実行され、450
バイトが準拠トークン バケットから削除されます(残り 550 バイト)。
次のパケットが 0.25 秒後に到着すると、250 バイトがトークン バケットに追加され((0.25 × 8000)/8)、トークン バケットには 800 バイトが残ります。次のパケットが 900 バイトの場合、パケットが超過して超過アクション(ドロップ)が実行されます。トークン
バケットから取り出されるバイトはありません。
例
この例では、トラフィック ポリシングは平均レート 8000 ビット/秒で設定され、ファスト イーサネット インターフェイス 0/0 から発信される全パケットに対して通常バースト サイズが 1000 バイト、超過バースト サイズが 1000 バイトとなります。
Router(config)# class-map access-match
Router(config-cmap)# match access-group 1
Router(config-cmap)# exit
Router(config)# policy-map police-setting
Router(config-pmap)# class access-match
Router(config-pmap-c)# police 8000 1000 1000 conform-action transmit exceed-action set-qos-transmit 1 violate-action drop
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)# interface fastethernet 0/0
Router(config-if)# service-policy output police-setting
この例では、初期トークン バケットはフルの 1000 バイトで開始します。450 バイトのパケットを受信すると、準拠トークン バケットに使用可能なバイトが十分あるため、パケットは準拠しています。パケットにより準拠処理(送信)が実行され、450
バイトが準拠トークン バケットから削除されます(残り 550 バイト)。
次のパケットが 0.25 秒後に到着すると、250 バイトが準拠トークン バケットに追加され((0.25 × 8000)/8)、準拠トークン バケットには 800 バイトが残ります。次のパケットが 900 バイトの場合、準拠トークン バケットでは
800 バイトしか使用できないため、パケットは準拠していません。
(超過バースト サイズで指定された)フルの 1000 バイトで始まる超過トークン バケットに、使用可能なバイトがあるかどうかがチェックされます。超過トークン バケットには使用可能なバイトが十分あるため、超過アクション(QoS 送信値を 1 に設定)が実行され、超過バケットから
900 バイトが取られ、超過トークン バケットの残りは 100 バイトになります。
次のパケットが 0.40 秒後に到達し、トークン バケットに 400 バイトが追加されます((.40 X 8000)/8)。これで、適合トークン バケットは 1000 バイト(適合バケットで使用可能な最大トークン数)になり、200 バイトが適合トークン
バケットをオーバーフローします(適合トークン バケットの容量を満たすのに 200 バイトだけが必要であったため)。これらのオーバーフロー バイトは、超過トークン バケットに置かれ、超過トークン バケットに 300 バイト与えられます。
着信パケットが 1000 バイトの場合、準拠トークン バケットで使用可能なバイト数が十分あるため、パケットは準拠します。パケットにより準拠処理(送信)が実行され、1000 バイトが準拠トークン バケットから削除されます(残り 0 バイト)。
次のパケットが 0.20 秒後に到達し、トークン バケットに 200 バイトが追加されます((.20 X 8000)/8)。これで、準拠バケットの中身は 200 バイトになります。着信パケットが 400 バイトの場合、準拠トークン バケットでは
200 バイトしか使用できないため、パケットは準拠していません。同様に、超過バケットで使用可能なバイト数は 300 バイトだけなので、パケットは超過しません。したがって、パケットは違反となり、違反処理(ドロップ)が実行されます。
例
次の例は、パケットがレート制限に適合する場合に、MPLS EXP フィールドが 5 に設定されることを示しています。パケットがレート制限を超える場合は、MPLS EXP フィールドが 3 に設定されます。
Router(config)# policy-map input-IP-dscp
Router(config-pmap)# class dscp24
Router(config-pmap-c)# police 8000 1500 1000 conform-action set-mpls-experimental-imposition-transmit 5 exceed-action set-mpls-experimental-imposition-transmit 3
Router(config-pmap-c)# violate-action drop
例
次に、仮想 LAN(VLAN)100 のすべてのトラフィックをクラス「vlan-inner-100」にフィルタリングし、vlan-inner-100 クラスのトラフィック シェーピング ポリシーを確立する QoS クラスの設定例を示します。このサービス
ポリシーは、トラフィックの平均レートを 500 kb/s に制限して、1000 バイトの通常バーストと 1500 バイトの最大バーストを使用し、内部 CoS 値を 3 に設定します。内部 CoS 値の設定はブリッジング機能を使用する場合に限ってサポートされるので、bridge-domain コマンドを使用して VLAN 100 にトラフィックをブリッジングする ATM SPA インターフェイスの相手先固定接続(PVC)に出力ポリシーとして適用されるサービス ポリシーも示します。
Router(config)# class-map match-all vlan-inner-100
Router(config-cmap)# match vlan inner 100
Router(config-cmap)# exit
Router(config)# policy-map vlan-inner-100
Router(config-pmap)# class vlan-inner-100
Router(config-pmap-c)# police 500000 1000 1500 conform-action set-cos-inner-transmit 3
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)# interface atm3/0/0
Router(config-if)# pvc 100/100
Router(config-if-atm-vc)# bridge-domain 100 dot1q
Router(config-if-atm-vc)# service-policy output vlan-inner-100
Router(config-if-atm-vc)# end