Cisco Nexus 9000 シリーズ NX-OS Quality of Service コンフィギュレーション ガイド リリース 6.x
ポリシングの設定
ポリシングの設定

ポリシングの設定

ポリシングについて

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

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

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

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

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

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

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

製品

ライセンス要件

Cisco NX-OS

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

ポリシングの前提条件

ポリシングには、次の前提条件があります。

  • モジュラ QoS コマンドライン インターフェイスについて理解している。

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

注意事項と制約事項

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

  • ポリシングはモジュールごとに独立して実行されます。このことは、複数のモジュールにわたって分散しているトラフィックに適用される QoS 機能に影響を与える可能性があります。 このような QoS 機能の例を次に示します。

    • ポート チャネル インターフェイスに適用されるポリサー。

    • VLAN に適用されるポリサー。

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

  • ポリシングは入力インターフェイスでのみサポートされます。 出力インターフェイスではサポートされません。

ポリシングの設定

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

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

デバイスによって作成されるポリサーのタイプは、police コマンドの引数の組み合わせに基づきます。これらのコマンド引数について、次の「police コマンドの引数」表で説明します。


(注)  


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



(注)  


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


表 1 police コマンドの引数

引数

説明

cir

ビット レートまたはリンク レートの割合として指定される認定情報レート(必要な帯域幅)。 cir の値は必須ですが、引数そのものは省略可能です。 値の範囲は 1 ~ 80000000000 です。 ポリシング値の範囲は 8000 ~ 80 Gbps です。

percent

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

bc

cir を超過できる量を、ビット レート、または cir での時間として指定します。 デフォルトは、設定されたレートで 200 ミリ秒のトラフィックです。 デフォルトのデータ レートの単位はバイトです。

pir

PIR ビット レートまたはリンク レートの割合として指定される最大情報レート。 デフォルト設定はありません。 値の範囲は 1 ~ 80000000000 です。ポリシング値の範囲は 8000 bps ~ 480 Gbps です。 割合値の範囲は 1 ~ 100% です。

be

pir を超過できる量を、ビット レート、または pir での時間として指定します。 bc 値を指定しない場合のデフォルトは、設定されたレートで 200 ミリ秒のトラフィックです。 デフォルトのデータ レートの単位はバイトです。

(注)     

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

conform

トラフィックのデータ レートが制限内に収まっている場合に実行される単一のアクション。 基本的なアクションは、transmit、または以下の「conform に対するポリサー アクション」表に示されている set コマンドの 1 つです。 デフォルトは transmit です。

exceed

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

violate

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

前述の「police コマンドの引数」表の引数はすべて省略可能ですが、cir の値を指定する必要があります。 ここでは、cir はその値を示しており、必ずしもキーワードそのものを示しているわけではありません。 これらの引数と、その結果得られるポリサーのタイプとアクションの組み合わせを、以下の「police 引数の有無から得られるポリサーのタイプおよびアクション」表に示します。

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

police 引数の有無

ポリサーのタイプ

ポリサーのアクション

cir(ただし pirbe、または violate はなし)

1 レート、2 カラー

<= cir, conform; else violate

cir および pir

2 レート、3 カラー

<= cir, conform; <= pir, exceed; else violate

指定できるポリサー アクションを、次の「Exceed または Violate に対するポリサー アクション」表と「conform に対するポリサー アクション」表で説明します。

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

アクション

説明

drop

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

set-cos-transmit

CoS を設定し、パケットを送信します。

set-dscp-transmit

DSCP を設定し、パケットを送信します。

set-prec-transmit

precedence を設定し、パケットを送信します。

set-qos-transmit

qos-group を設定し、パケットを送信します。

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

アクション

説明

transmit

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

set-prec-transmit

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

set-dscp-transmit

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

set-cos-transmit

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

set-qos-transmit

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


(注)  


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


police コマンドで使用されるデータ レートについて、次の「police コマンドのデータ レート」表で説明します。

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

利率

説明

bps

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

kbps

1,000 ビット/秒

mbps

1,000,000 ビット/秒

gbps

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

police コマンドで使用されるバースト サイズについて、次の「police コマンドのバースト サイズ」表で説明します。

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

Speed

説明

bytes

バイト

kbytes

1,000 バイト

mbytes

1,000,000バイト

ms

milliseconds

us

マイクロ秒

.
手順の概要

    1.    configure terminal

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

    3.    class [type qos] {class-map-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} [violate {drop}]]}

    5.    exit

    6.    exit

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

    8.    copy running-config startup-config


手順の詳細
     コマンドまたはアクション目的
    ステップ 1configure terminal


    例:
    switch# configure terminal
    switch(config)#
     

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

     
    ステップ 2policy-map [type qos] [match-first] [policy-map-name]


    例:
    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]


    例:
    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} [violate {drop}]]}
     

    cir をビット数で、またはリンク レートの割合としてポリシングします。 データ レートが cir 以下の場合は、conform アクションが実行されます。 be および pir を指定しない場合は、他のすべてのトラフィックで violate アクションが実行されます。 be または violate を指定した場合は、データ レートが pir 以下ならば exceed アクションが実行され、それ以外ならば violate アクションが実行されます。 アクションについては、「Exceed または Violate に対するポリサー アクション」表と「conform に対するポリサー アクション」表で説明します。 データ レートとリンク速度については、「police コマンドのデータ レート」表と「police コマンドのバースト サイズ」表で説明します。

     
    ステップ 5 exit


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

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

     
    ステップ 6 exit


    例:
    switch(config-pmap-qos)# exit
    switch(config)#
     

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

     
    ステップ 7show policy-map [type qos] [policy-map-name | qos-dynamic]


    例:
    switch(config)# show policy-map
     

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

     
    ステップ 8copy running-config startup-config


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

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

     

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

    switch# show policy-map policy1

    入力ポリシングの設定

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

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

    マークダウン ポリシングとは、ポリシングされたデータ レートに対してトラフィックが超過または違反している場合にパケット内の QoS フィールドを設定することです。 マークダウン ポリシングを設定するには、「Exceed または Violate に対するポリサー アクション」表と「conform に対するポリサー アクション」表で説明するポリシング アクションの set コマンドを使用します。


    (注)  


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


    手順の概要

      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 | burst] burst-rate [link-speed]] [[be | peak-burst] peak-burst-rate [link-speed]] [conform conform-action [exceed [violate drop set dscp dscp table pir-markdown-map]]}

      5.    exit

      6.    exit

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

      8.    copy running-config startup-config


    手順の詳細
       コマンドまたはアクション目的
      ステップ 1configure terminal


      例:
      switch# configure terminal
      switch(config)#
       

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

       
      ステップ 2policy-map [type qos] [match-first] [policy-map-name]


      例:
      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]


      例:
      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 [violate drop set dscp dscp table pir-markdown-map]]}
       

      cir をビット数で、またはリンク レートの割合としてポリシングします。 データ レートが cir 以下の場合は、conform アクションが実行されます。 be および pir を指定しない場合は、他のすべてのトラフィックで violate アクションが実行されます。 be または violate を指定した場合は、データ レートが pir 以下ならば exceed アクションが実行され、それ以外ならば violate アクションが実行されます。 アクションについては、「Exceed または Violate に対するポリサー アクション」表と「conform に対するポリサー アクション」で説明します。 データ レートとリンク速度については、「police コマンドのデータ レート」表と「police コマンドのバースト サイズ」表で説明します。

       
      ステップ 5 exit


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

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

       
      ステップ 6 exit


      例:
      switch(config-pmap-qos)# exit
      switch(config)#
       

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

       
      ステップ 7show policy-map [type qos] [policy-map-name]


      例:
      switch(config)# show policy-map
       

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

       
      ステップ 8copy running-config startup-config


      例:
      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