Cisco Nexus 9000 シリーズ NX-OS QoS コンフィギュレーション ガイド リリース 6.x
ポリシングの設定
ポリシングの設定
発行日;2014/01/21 | 英語版ドキュメント(2013/11/21 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 1MB) | フィードバック

目次

ポリシングの設定

ポリシングについて

ポリシングのライセンス要件

ポリシングの前提条件

注意事項と制約事項

ポリシングの設定

1 レートおよび 2 レート、2 カラーおよび 3 カラーのポリシングの設定

入力ポリシングの設定

マークダウン ポリシングの設定

ポリシング設定の確認

ポリシングの設定例

ポリシングの設定

この章では、Cisco NX-OS デバイス上でトラフィック クラスのポリシングを設定する方法について説明します。この章は、次の項で構成されています。

「ポリシングについて」

「ポリシングのライセンス要件」

「ポリシングの前提条件」

「注意事項と制約事項」

「ポリシングの設定」

「ポリシング設定の確認」

「ポリシングの設定例」

ポリシングについて

ポリシングとは、トラフィックの特定のクラスについて、そのデータ レートをモニタすることです。データ レートがユーザ設定値を超えると、ただちにパケットのマーキングまたはドロップが発生します。ポリシングではトラフィックがバッファリングされないため、伝搬遅延への影響はありません。トラフィックがデータ レートを超えた場合に、パケットをドロップするかパケット内の Quality of Service(QoS)フィールドをマーキングするかを、ユーザがシステムに指示します。

シングルレートおよびデュアルレートのポリサーを定義できます。

シングルレート ポリサーは、トラフィックの認定情報レート(CIR)をモニタします。デュアルレート ポリサーは、CIR と最大情報レート(PIR)の両方をモニタします。また、システムは、関連するバースト サイズもモニタします。指定したデータ レート パラメータに応じて、適合(グリーン)、超過(イエロー)、違反(レッド)の 3 つのカラー、つまり条件が、パケットごとにポリサーによって決定されます。

各条件について設定できるアクションは 1 つだけです。たとえば、最大 200 ミリ秒のバーストで、256,000 bps のデータ レートに適合するように、クラス内のトラフィックをポリシングするとします。この場合、システムは、このレートの範囲内のトラフィックに対して適合アクションを適用し、このレートを超えるトラフィックに対して違反アクションを適用します。

ポリサーの詳細については、 Request For Comments(RFC)2697 および RFC 2698 を参照してください。

ポリシングのライセンス要件

次の表に、この機能のライセンス要件を示します。

 

製品
ライセンス要件

Cisco NX-OS

QoS 機能にライセンスは必要ありません。ライセンス パッケージに含まれていない機能は NX-OS イメージにバンドルされており、無料で提供されます。Cisco NX-OS のライセンス スキームの詳細については、『 Cisco NX-OS Licensing Guide 』を参照してください。

ポリシングの前提条件

ポリシングの前提条件は、次のとおりです。

「モジュラ QoS コマンドライン インターフェイス(MQC) の使用」に精通している。

デバイスにログインしている。

注意事項と制約事項

ポリシング設定時の注意事項と制約事項は次のとおりです。

ポリシングはモジュールごとに独立して実行されます。このことは、複数のモジュールにわたって分散しているトラフィックに適用される QoS 機能に影響を与える可能性があります。ポート チャネル インターフェイスに適用されたポリサーは例の 1 つです。

入力方向のすべてのポリサーで、同じモードを使用する必要があります。

ポリシングの設定

シングルレートまたはデュアルレートのポリサーを設定できます。

この項では、次のトピックについて取り上げます。

「1 レートおよび 2 レート、2 カラーおよび 3 カラーのポリシングの設定」

「入力ポリシングの設定」

「マークダウン ポリシングの設定」

1 レートおよび 2 レート、2 カラーおよび 3 カラーのポリシングの設定

デバイスによって作成されるポリサーのタイプは、 表 5-1 に示す police コマンドの引数の組み合わせに基づきます。


) 1 レート 3 カラーのポリシングを設定する場合は、pircir とでまったく同じ値を指定する必要があります。


 

表 5-1 police コマンドの引数

引数
説明

cir

CIR(つまり、望ましい帯域幅)を、ビット レート、またはリンク レートの割合として指定します。 cir は必須ですが、引数そのものは省略可能です。値の範囲は 1 ~ 80000000000 です。ポリシング値の範囲は 8000 ~ 80 Gbps です。

percent

レートを、インターフェイス レートの割合として指定します。値の範囲は 1 ~ 100 です。

bc

cir を超過できる量を、ビット レート、または cir 時の時間量として指定します。デフォルトは、設定されたレートで 200 ミリ秒のトラフィックです。デフォルトのデータ レートの単位はバイトであり、ギガビット/秒(Gbps)のレートはこのパラメータではサポートされていません。

pir

PIR を、PIR ビット レート、またはリンク レートの割合として指定します。デフォルトはありません。値の範囲は 1 ~ 80000000000 です。ポリシング値の範囲は 8000 ~ 80 Gbps です。割合値の範囲は 1 ~ 100% です。

be

pir を超過できる量を、ビット レート、または pir 時の時間量として指定します。 bc 値を指定しない場合のデフォルトは、設定されたレートで 200 ミリ秒のトラフィックです。デフォルトのデータ レートの単位はバイトであり、ギガビット/秒(Gbps)のレートはこのパラメータではサポートされていません。

の値は、デバイスによってこの引数が表示される前に指定する必要があります。

conform

トラフィックのデータ レートが制限内に収まっている場合に実行される単一のアクション。基本的なアクションは、transmit(送信)、または 表 5-4 に示すいずれかの set コマンドです。デフォルトは transmit です。

exceed

トラフィックのデータ レートが超過した場合に実行される単一のアクション。基本的なアクションは、廃棄またはマークダウンです。デフォルトは drop です。

violate

トラフィックのデータ レートが設定済みのレート値に違反した場合に実行される単一のアクション。基本的なアクションは、廃棄またはマークダウンです。デフォルトは drop です。

表 5-1 に示した引数はすべて省略可能ですが、 cir の値は必ず指定する必要があります。ここでは、 cir はその値の内容を示しており、必ずしもキーワードそのものを示しているわけではありません。 表 5-2 に、これらの引数の組み合わせと、その結果得られるポリサーのタイプおよびアクションを示します。

 

表 5-2 police の引数の有無から得られるポリサーのタイプおよびアクション

police の引数の有無
ポリサーのタイプ
ポリサーのアクション

cir (ただし pir be 、または violate はなし)

1 レート、2 カラー

cir , conform ; else violate

cir および pir

1 レート、3 カラー

cir , conform ; ≤ pir , exceed ; else violate

に同一の値を指定する必要があります。

cir および pir

2 レート、3 カラー

cir , conform ; ≤ pir , exceed ; else violate

表 5-3 および 表 5-4 に、指定できるポリサー アクションを示します。

 

表 5-3 Exceed または Violate に対するポリサー アクション

アクション
説明

drop

パケットをドロップします。このアクションは、パケットがパラメータを超過した場合またはパラメータに違反した場合にだけ使用できます。

set dscp dscp { cir-markdown-map | pir-markdown-map }

指定したフィールドを設定して、パケットを送信します。このアクションは、パケットがパラメータを超過した場合( cir-markdown-map オプションを使用)またはパラメータに違反した場合( pir-markdown-map オプションを使用)にだけ、使用できます。

 

表 5-4 Conform に対するポリサー アクション

アクション
説明

transmit

パケットを送信します。このアクションは、パケットがパラメータに適合している場合にだけ使用できます。

set-prec-transmit

IP precedence フィールドを指定した値に設定して、パケットを送信します。このアクションは、パケットがパラメータに適合している場合にだけ使用できます。

set-dscp-transmit

Diffserv コード ポイント(DSCP)フィールドを、指定した値に設定して、パケットを送信します。このアクションは、パケットがパラメータに適合している場合にだけ使用できます。

set-cos-transmit

サービス クラス(CoS)フィールドを、指定した値に設定して、パケットを送信します。このアクションは、パケットがパラメータに適合している場合にだけ使用できます。

set-qos-transmit

QoS グループ内部ラベルを指定した値に設定して、パケットを送信します。このアクションは、入力ポリシーでだけ使用でき、パケットがパラメータに適合している場合にだけ使用できます。


) ポリサーは、指定したパラメータに対して超過または違反となっているパケットだけをドロップまたはマークダウンできます。パケットのマークダウンについては、「マーキングの設定」を参照してください。


表 5-5 に、 police コマンドで使用されるデータ レートを示します

 

表 5-5 police コマンドのデータ レート

レート
説明

bps

ビット/秒(デフォルト)

kbps

1,000 ビット/秒

mbps

1,000,000 ビット/秒

gbps

1,000,000,000 ビット/秒

表 5-6 に、 police コマンドで使用されるバースト サイズを示します。

表 5-6 police コマンドのバースト サイズ

SPEED
説明

bytes

バイト

kbytes

1,000 バイト

mbytes

1,000,000 バイト

ms

ミリ秒

us

マイクロ秒

手順の概要

1. configure terminal

2. policy-map [ type qos ] [ match-first ] { policy-map-name }

3. class [ type qos ] { class-name | class-default} [ insert-before before-class-name ]

4. police [ cir ] { committed-rate [ data-rate ] | percent cir-link-percent } [ bc committed-burst-rate [ link-speed ]] [ pir ] { peak-rate [ data-rate ] | percent cir-link-percent } [ be peak-burst-rate [ link-speed ]] { conform { transmit | set-prec-transmit | set-dscp-transmit | set-cos-transmit | set-qos-transmit } [ exceed { drop | set dscp dscp { cir-markdown-map }} [ violate { drop | set dscp dscp { pir-markdown-map }}]]}

5. exit

6. exit

7. (任意) show policy-map [ type qos ] [ policy-map-name ]

8. (任意) copy running-config startup-config


) 1 レート 3 カラーのポリシングを設定する場合は、pircir とでまったく同じ値を指定する必要があります。



) 1 レート 2 カラーのポリサー(違反のマークダウン アクションあり)はサポートされません。


手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

グローバル コンフィギュレーション モードを開始します。

ステップ 2

policy-map [ type qos ] [ match-first ] [ policy-map-name ]

 

Example:

switch(config)# policy-map policy1

switch(config-pmap-qos)#

policy-map-name という名前のポリシー マップを作成するか、そのポリシー マップにアクセスし、ポリシー マップ モードを開始します。ポリシー マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。ポリシー マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

class [ type qos ] { class-map-name | class-default } [ insert-before before-class-name ]

 

Example:

switch(config-pmap-qos)# class class-default

switch(config-pmap-c-qos)#

class-map-name への参照を作成し、ポリシー マップ クラス コンフィギュレーション モードを開始します。 insert-before を使用して事前挿入するクラスを指定しない限り、ポリシー マップの末尾にクラスが追加されます。ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、 class-default キーワードを使用します。

ステップ 4

police [ cir ] { committed-rate [ data-rate ] | percent cir-link-percent } [ bc committed- burst-rate [ link-speed ]][ pir ] { peak-rate [ data-rate ] | percent cir-link-percent } [ be peak-burst-rate [ link-speed ]] [ conform { transmit | set-prec-transmit | set-dscp-transmit | set-cos-transmit | set-qos-transmit } [ exceed { drop | set dscp dscp { cir-markdown-map }} [ violate { drop | set dscp dscp { pir-markdown-map }}]]}

 

Example:

switch(config-pmap-c-qos)# police cir 256000 pir 256000 conform transmit exceed set dscp dscp cir-markdown-map violate drop

switch(config-pmap-c-qos)#

 

cir をビット数で、またはリンク レートの割合としてポリシングします。データ レート ≤ cir の場合は、 conform アクションが実行されます。 be および pir を指定しない場合は、他のすべてのトラフィックで violate アクションが実行されます。 be または violate を指定した場合は、データ レート ≤ pir ならば exceed アクションが実行され、それ以外ならば violate アクションが実行されます。アクションについては 表 5-3 および 表 5-4 を参照してください。データ レートとリンク速度については 表 5-5 および 表 5-6 を参照してください。

この例では 1 レート 3 カラーのポリサーで、データ レートが 256,000 bps 時のトラフィックで 200 ミリ秒以内の場合は送信し、256,000 bps 時のトラフィックで 300 ミリ秒以内の場合は DSCP を 6 にマーキングし、それ以外の場合はパケットをドロップします。

ステップ 5

exit

 

Example:

switch(config-pmap-c-qos)# exit

switch(config-pmap-qos)#

ポリシー マップ クラス コンフィギュレーション モードを終了し、ポリシー マップ モードを開始します。

ステップ 6

exit

 

Example:

switch(config-pmap-qos)# exit

switch(config)#

ポリシー マップ モードを終了し、グローバル コンフィギュレーション モードを開始します。

ステップ 7

show policy-map [ type qos ] [ policy-map-name | qos-dynamic ]

 

Example:

switch(config)# show policy-map

(任意)設定済みのすべてのタイプ qos のポリシー マップ、または選択したタイプ qos のポリシー マップについて情報を表示します。

ステップ 8

copy running-config startup-config

 

Example:

switch(config)# copy running-config startup-config

(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

次に、policy1 ポリシー マップ設定の表示方法例を示します。

switch# show policy-map policy1

入力ポリシングの設定

QoS ポリシー マップをインターフェイスに付加することにより、その QoS ポリシー マップ内のポリシング命令を入力パケットに適用できます。入力を選択するには、 service-policy コマンドで input キーワードを指定します。インターフェイスに対する QoS ポリシー アクションの付加および消去については、「モジュラ QoS コマンドライン インターフェイス(MQC) の使用」を参照してください。

マークダウン ポリシングの設定

マークダウン ポリシングとは、ポリシングされたデータ レートに対してトラフィックが超過または違反している場合にパケット内の QoS フィールドを設定することです。マークダウン ポリシングを設定するには、 表 5-3 および 表 5-4 に示すポリシング アクションに対する set コマンドを使用します。

手順の概要

1. configure terminal

2. policy-map [ type qos ] [ match-first ] { policy-map-name }

3. class [ type qos ] { class-name | class-default} [ insert-before before-class-name ]

4. police [ cir ] { committed-rate [ data-rate ] | percent cir-link-percent } [ bc committed-burst-rate [ link-speed ]] [ pir ] { peak-rate [ data-rate ] | percent cir-link-percent } [ be peak-burst-rate [ link-speed ]] { conform conform-action [ exceed { drop | set dscp dscp { cir-markdown-map} [ violate { drop | set dscp dscp { pir-markdown-map }]]}}

5. exit

6. exit

7. (任意) show policy-map [ type qos ] [ policy-map-name ]

8. (任意)copy running-config startup-config


) 1 レート 3 カラーのポリシングを設定する場合は、pircir とでまったく同じ値を指定する必要があります。


手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

switch(config)#

コンフィギュレーション モードに入ります。

ステップ 2

policy-map [ type qos ] [ match-first ] [policy-map-name ]

 

Example:

switch(config)# policy-map policy1

switch(config-pmap-qos)#

policy-map-name という名前のポリシー マップを作成するか、そのポリシー マップにアクセスし、ポリシー マップ モードを開始します。ポリシー マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。ポリシー マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

class [ type qos ] { class-name | class-default } [ insert-before before-class-name ]

 

Example:

switch(config-pmap-qos)# class class-default

switch(config-pmap-c-qos)#

class-name への参照を作成し、ポリシー マップ クラス コンフィギュレーション モードを開始します。 insert-before を使用して事前挿入するクラスを指定しない限り、ポリシー マップの末尾にクラスが追加されます。ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、 class-default キーワードを使用します。

ステップ 4

police [ cir ] { committed-rate [ data-rate ] | percent cir- link-percent } [[ bc | burst ] burst-rate [ link-speed ]] [[ be | peak-burst ] peak-burst-rate [ link-speed ]] [ conform conform-action [ exceed set dscp dscp table cir-markdown-map [ violate drop set dscp dscp table pir-markdown-map ]]}

 

Example:

switch(config-pmap-c-qos)# police cir 256000 be 300 ms conform transmit exceed set dscp dscp table cir-markdown-map violate drop

switch(config-pmap-c-qos)#

cir をビット数で、またはリンク レートの割合としてポリシングします。データ レート ≤ cir の場合は、 conform アクションが実行されます。 be および pir を指定しない場合は、他のすべてのトラフィックで violate アクションが実行されます。 be または violate を指定した場合は、データ レート ≤ pir ならば exceed アクションが実行され、それ以外ならば violate アクションが実行されます。アクションについては 表 5-3 および 表 5-4 を参照してください。データ レートとリンク速度については 表 5-5 および 表 5-6 を参照してください。

この例は 1 レート 3 カラーのポリサーで、データ レートが 256000 bps 時のトラフィックで 200 ミリ秒以内の場合は送信し、256000 bps 時のトラフィックで 300 ミリ秒以内の場合はシステム定義のテーブル マップを使用して DSCP をマークダウンし、それ以外の場合はパケットをドロップします。

ステップ 5

exit

 

Example:

switch(config-pmap-c-qos)# exit

switch(config-pmap-qos)#

ポリシー マップ クラス コンフィギュレーション モードを終了し、グローバル ポリシー マップ モードを開始します。

ステップ 6

exit

 

Example:

switch(config-pmap-qos)# exit

switch(config)#

ポリシー マップ モードを終了し、コンフィギュレーション モードを開始します。

ステップ 7

show policy-map [ type qos ] [ policy-map-name ]

 

Example:

switch(config)# show policy-map

(任意)設定済みのすべてのタイプ qos のポリシー マップ、または選択したタイプ qos のポリシー マップについて情報を表示します。

ステップ 8

copy running-config startup-config

 

Example:

switch(config)# copy running-config startup-config

(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

ポリシング設定の確認

ポリシングの設定情報を表示する方法

show policy-map

ポリシー マップおよびポリシングについての情報を表示します。

ポリシングの設定

次に、1 レート、2 カラーのポリサーにポリシングを設定する方法の例を示します。

configure terminal
policy-map policy1
class one_rate_2_color_policer
police cir 256000 conform transmit violate drop
 

次に、DSCP マークダウンを使用して 1 レート、2 カラーのポリサーにポリシングを設定する方法の例を示します。

configure terminal
policy-map policy2
class one_rate_2_color_policer_with_dscp_markdown
police cir 256000 conform transmit violate drop
 

次に、1 レート、3 カラーのポリサーにポリシングを設定する方法の例を示します。

configure terminal
policy-map policy3
class one_rate_3_color_policer
police cir 256000 pir 256000 conform transmit exceed set dscp dscp cir-markdown-map violate drop
 

次に、2 レート、3 カラーのポリサーにポリシングを設定する方法の例を示します。

configure terminal
policy-map policy4
class two_rate_3_color_policer
police cir 256000 pir 256000 conform transmit exceed set dscp dscp cir-markdown-map violate drop