Cisco Nexus 1000V Quality of Service コンフィギュレーション ガイド リリース 4.2(1)SV1(5.1)
QoS ポリシングの設定
QoS ポリシングの設定
発行日;2012/05/24 | 英語版ドキュメント(2012/05/21 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 967KB) | フィードバック

目次

QoS ポリシングの設定

ポリシングについて

ポリシングの前提条件

注意事項および制約事項

ポリシングの設定

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

入力および出力ポリシングの設定

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

ポリシング設定の確認

QoS ポリシングの設定例

QoS ポリシングの機能履歴

QoS ポリシングの設定

この章では、Cisco Nexus 1000V にトラフィック クラスのポリシングを設定する方法について説明します。

この章は、次の内容で構成されています。

「ポリシングについて」

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

「注意事項および制約事項」

「ポリシングの設定」

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

「QoS ポリシングの設定例」

「QoS ポリシングの機能履歴」

ポリシングについて

ポリシングとは、トラフィックの特定のクラスについて、データ レートをモニタリングすることです。Cisco Nexus 1000V でも、関連するバースト サイズを監視できます。

指定されるデータ レート パラメータに応じて、適合(グリーン)、超過(イエロー)、違反(レッド)の 3 つの条件が、ポリサーによって決定されます。各条件について設定できるアクションは 1 つだけです。データ レートがユーザ指定の値を超えると、パケットはマークダウンされるか、ドロップされます。

シングルレートまたはデュアルレートのポリサーを定義できます。シングルレート ポリサーは、トラフィックの指定の認定情報レート(CIR)を監視します。デュアルレート ポリサーは、CIR と最大情報レート(PIR)の両方をモニタします。図 4-1 に、ポリシングの状態とタイプを示します。

ポリシーの詳細については、 RFC 2697 RFC 2698 、および RFC 4115 を参照してください。

図 4-1 ポリシングの状態とタイプ

 

次の状態は、定義されたデータ レートに応じた、ポリサーによるアクションをトリガーします。

 

条件
カラー
説明
ポリサーのアクション
(条件ごとに 1 つのみ許可)

Conform

グリーン

パケットのトラフィック データ レートは、定義された範囲内です。

ポリサーは、これらのパケットをそのまま送信するか、ヘッダー内の値(DSCP、precedence、または Class of Service(CoS)を変更してからこれらのパケットを送信します。

Exceed

イエロー

パケットのトラフィック データ レートは、定義された範囲を超えています。

ポリサーは、これらのパケットを廃棄するか、マークダウンします。

Violate

レッド

パケットのトラフィック データ レートは、定義された範囲に違反しています。

ポリサーは、これらのパケットを廃棄するか、マークダウンします。

ポリシングの前提条件

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

RFC 2698 に精通している。

EXEC モードで CLI にログインしている。

注意事項および制約事項

ポリシングを設定する際は、次の注意事項に従ってください。

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

ポリシングの設定

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

ここでは、次の内容について説明します。

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

「入力および出力ポリシングの設定」

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

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

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

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


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


 

表 4-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(送信)、または 表 4-4 に示すいずれかの set コマンドです。デフォルトは transmit です。

exceed

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

violate

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

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

 

表 4-2 ポリサーのタイプとアクション

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

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

1 レート、2 カラー

≤ cir ならば conform 、それ以外は violate

cir および pir

1 レート、3 カラー

≤ cir ならば conform ≤ pir ならば exceed 、それ以外は violate

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

cir および pir

2 レート、3 カラー

≤ cir ならば conform ≤ pir ならば exceed 、それ以外は violate

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

 

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

アクション
説明

drop

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

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

テーブル マップから指定したフィールドを設定して、パケットを送信します。システム定義またはデフォルトのテーブル マップの詳細については、「QoS マーキング ポリシーの設定」を参照してください。このアクションは、パケットがパラメータを超過した場合(cir-markdown-map を使用)またはパラメータに違反した場合(pir-markdown-map を使用)にだけ、使用できます。

 

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

アクション
説明

transmit

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

set-prec-transmit

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

set-dscp-transmit

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

set-cos-transmit

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

set-qos-transmit

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

set-discard-class-transmit

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


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


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

 

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

レート
説明

bps

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

kbps

1,000 ビット/秒

mbps

1,000,000 ビット/秒

gbps

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

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

 

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

速度
説明

バイト

バイト

kbytes

1,000 バイト

mbytes

1,000,000 バイト

ms

ミリ秒

us

マイクロ秒

手順の概要


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


1. config t

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

3. class [ type qos ] { class_map_name | 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 | set-discard-class-transmit } [ exceed { drop | set dscp dscp table { cir-markdown-map }} [ violate { drop | set dscp dscp table { pir-markdown-map }}]}

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

6. copy running-config startup-config

手順の詳細

 

コマンド
目的

ステップ 1

config t

 

Example:

n1000v# config t

n1000v(config)#

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

ステップ 2

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

 

Example:

n1000v(config)# policy-map policy1

n1000v(config-pmap-qos)#

ポリシー マップ QoS コンフィギュレーション モードを開始し、指定したポリシー マップを作成するか、指定したポリシー マップにアクセスします。

class_map_name 引数は、アルファベット文字列であり、大文字と小文字が区別され、最大 40 文字まで設定できます。ハイフン(-)およびアンダースコア(_)文字を含めることができます。

ステップ 3

class [ type qos ] { class_map_name | class-default }

 

Example:

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

n1000v(config-pmap-c-qos)#

class-map-name への参照を作成し、指定したクラス マップに対してポリシー マップ クラス QoS コンフィギュレーション モードを開始します。デフォルトでは、このクラスはポリシー マップの最後に追加されます。変更は、実行コンフィギュレーションに保存されます。

ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、 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 | set-discard-class-transmit } [ exceed { drop | set dscp dscp table { cir-markdown-map }} [ violate { drop | set dscp dscp table { pir-markdown-map }}]}

 

Example:

n1000v(config-pmap-c-qos)# police cir 256000 conform transmit violate set dscp dscp table pir-markdown-map

n1000v(config-pmap-c-qos)#

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

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

ステップ 5

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

 

Example:

n1000v(config-pmap-c-qos)# show policy-map

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

ステップ 6

copy running-config startup-config

 

Example:

n1000v(config-pmap-c-qos)# copy running-config startup-config

(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。

次の例では、データ レートが 256000 bps 時のトラフィックで 200 ミリ秒以内の場合は送信し、データ レートが違反している場合はテーブル マップで設定されている値に DSCP をマーキングするように、1 レート 2 カラーのポリサーを設定する方法を示します。

n1000v# config t
n1000v(config)# policy-map policy1
n1000v(config-pmap-qos)# class class-default
n1000v(config-pmap-c-qos)# police cir 256000 conform transmit violate set dscp dscp table pir-markdown-map
n1000v(config-pmap-c-qos)# show policy-map
 
 
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
police cir 256000 bps bc 200 ms conform transmit violate set dscp dscp tab
le pir-markdown-map
n1000v(config-pmap-c-qos)# copy running-config startup-config
 
 

次の例では、データ レートが 256000 bps 時のトラフィックで 200 ミリ秒以内の場合は送信し、データ レートが違反している場合はテーブル マップで設定されている値に DSCP をマーキングするように、1 レート 3 カラーのポリサーを設定する方法を示します。

n1000v# config t
n1000v(config)# policy-map policy1
n1000v(config-pmap-qos)# class class-default
n1000v(config-pmap-c-qos)# police cir 256000 pir 256000 conform transmit exceed
set dscp dscp table cir-markdown-map violate drop
n1000v(config-pmap-c-qos)# show policy-map
 
 
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
police cir 256000 bps bc 200 ms pir 256000 bps be 200 ms conform transmit
exceed set dscp dscp table cir-markdown-map violate drop
n1000v(config-pmap-c-qos)# copy running-config startup-config
 

入力および出力ポリシングの設定

QoS ポリシー マップをインターフェイスまたはポート プロファイルに付加することにより、その QoS ポリシー マップ内のポリシング命令を入力または出力パケットに適用できます。入力または出力を選択するには、 service-policy コマンドで input または output キーワードのいずれかを指定します。 service-policy コマンドの使用例については、「入力ポリシーと出力ポリシーの作成」を参照してください。

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

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

手順の概要

1. config t

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

3. class [ type qos ] { class_map_name | 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 action [ exceed { drop | set dscp dscp table cir-markdown-map } [ violate { drop | set dscp dscp table pir-markdown-map }]]}}

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

6. copy running-config startup-config

手順の詳細

 

コマンド
目的

ステップ 1

config t

 

Example:

n1000v# config t

n1000v(config)#

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

ステップ 2

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

 

Example:

n1000v(config)# policy-map policy1

n1000v(config-pmap-qos)#

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

ステップ 3

class [ type qos ] { class_map_name | class-default }

 

Example:

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

n1000v(config-pmap-c-qos)#

class-map-name への参照を作成し、指定したクラス マップに対してポリシー マップ クラス QoS コンフィギュレーション モードを開始します。デフォルトでは、このクラスはポリシー マップの最後に追加されます。変更は、実行コンフィギュレーションに保存されます。

ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、 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 action [ exceed { drop | set dscp dscp table cir-markdown-map } [ violate { drop | set dscp dscp table pir-markdown-map }]]}}

 

Example:

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

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

ステップ 5

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

 

Example:

n1000v(config-pmap-c-qos)# show policy-map

(任意)ポリシー マップ設定について情報を表示します。

ステップ 6

copy running-config startup-config

 

Example:

n1000v(config-pmap-c-qos)# copy running-config startup-config

(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。

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

n1000v# config t

n1000v(config)# policy-map policy1

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

n1000v(config-pmap-c-qos)# police cir 256000 bps bc 300 ms pir 256000 conform transmit exceed set dscp dscp table cir-markdown-map violate drop

n1000v(config-pmap-c-qos)# show policy-map policy1

 

 

Type qos policy-maps

====================

 

policy-map type qos policy1

class class-default

police cir 256000 bps bc 300 ms pir 256000 bps be 300 ms conform transmit

exceed set dscp dscp table cir-markdown-map violate drop

n1000v(config-pmap-c-qos)# copy running-config startup-config

 

 
 

ポリシング設定の確認

ポリシング設定を確認するには、次の作業を行います。

 

 

コマンド
説明

show policy-map

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

QoS ポリシングの設定例

次に、1 レート 2 カラーのポリサーの設定例を示します。

config t
policy-map policy1
class one_rate_2_color_policer
police cir 256000 conform transmit violate drop
 
 

次に、1 レート 2 カラーのポリサー(DSCP のマークダウンあり)の設定例を示します。

config t
policy-map policy2
class one_rate_2_color_policer_with_dscp_markdown
police cir 256000 conform set-dscp-transmit af11 violate set dscp dscp table pir-markdown-map
 
 

次に、1 レート 3 カラーのポリサーの設定例を示します。

config t
policy-map policy3
class one_rate_3_color_policer
police cir 256000 pir 256000 conform transmit exceed set dscp dscp table cir-markdown-map violate drop
 

QoS ポリシングの機能履歴

ここでは、QoS ポリシングのリリース履歴を示します。

 

機能名
リリース
機能情報

QoS ポリシング

4.0

この機能が導入されました。