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

入力ポリシングの設定

この章の内容は、次のとおりです。

入力ポリシングに関する情報

ポリシングでは、特定のクラスのトラフィックについて、そのデータ レートをモニタできます。 データ レートがユーザ設定値を超えると、スイッチはパケットをただちにドロップします。 ポリシングではトラフィックがバッファリングされないため、伝搬遅延への影響はありません。 トラフィックが特定のクラスのデータ レートを超えると、スイッチはパケットをドロップします。

1 レート 2 カラーの入力ポリシングを定義できます。

1 レートの入力ポリシングは、トラフィックの認定情報レート(CIR)をモニタします。


(注)  


認定情報レート(CIR)は、1~80000000000 のビット レートまたはリンク レートの割合として指定される値です。


さらに、入力ポリシングは、関連付けられたパケットのバースト サイズをモニタできます。 2 カラー(条件)は、指定されたデータ レート パラメータに応じて、各パケットの入力ポリシングによって決定されます。

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

カラー対応入力ポリシングは、トラフィックが以前にカラーによってすでにマーキングされているものとみなします。

表 1 サポートされるポリサーの最大ハードウェア設定
  Nexus 5500 シリーズ Nexus 2232 Nexus 2248TP-E Nexus 6000 シリーズ

バースト サイズ

64 MB

32 MB

32 MB

64 MB

最高レート

96 Gbps

12 Gbps

8 Gbps

8 Gbps

粒度

732 kbps

732 kbps

488 kbps

122 kbps

入力ポリシングの注意事項と制約事項

  • 入力ポリシングの設定は、Quality of Service (QoS) ポリシー設定の一部です。 次に対する入力ポリシングを含む QoS ポリシーを設定できます。

    • レイヤ 2 スイッチ ポート

    • ホスト インターフェイス(HIF)ポート

    • スイッチ ポートを持つポート チャネル

    • HIF ポートを持つポート チャネル

    • レイヤ 3 インターフェイス(サブインターフェースまたはスイッチ仮想インターフェイス(SVI)は対象外)

    • 仮想ポートチャネル(vPC)

  • 入力ポリシングの統計情報が提供されます。 統計情報には、ドロップ数と許可数が含まれます。 show policy-map interface ethernet コマンドを入力して統計情報を表示できます。

  • 添付ファイルに対して設定する QoS ポリシーは、Ternary Content Addressable Memory(TCAM)にインストールされ、スイッチによって入力ポリシングが適用されます。

  • HIF ポートまたはポート チャネルに対して入力ポリシングを含む QoS ポリシーを設定した場合、入力ポリシングはファブリック エクステンダ(FEX)にオフロードされます。 ポリシーの書き換えはスイッチ内でのみ発生します。

  • QoS ポリシーでサポートされるすべての一致/設定基準は、ポリシーに入力ポリシングが含まれる場合でもサポートされます。 ファブリック エクステンダ(FEX)は、レイヤ 3 の操作(フラグメント)およびレイヤ 4 の操作(送信元ポートと宛先ポートの範囲)をサポートしますが、伝送制御プロトコル(TCP)フラグおよびレイヤ 2 の操作はサポートしません。

  • 制御プロトコル トラフィックと一致するように QoS ポリシーの一致基準を定義できます。 ポリシーのタイプが HIF ポートに対する入力ポリシングを含むように設定されている場合は、制御トラフィックもポリシングされます。 したがって、一致基準は、目的のトラフィック フローに固有にする必要があります。

  • police コマンドは、Cisco Nexus デバイスの ASIC ではサポートされません。

  • スイッチは、仮想イーサネット インターフェイスが接続されている HIF ポートには入力ポリシングを含む QoS ポリシーを適用できません。

  • スイッチが HIF ポートに入力ポリシングを適用する場合、ポリサーは、仮想ネットワーク タグ(VNTAG)を持たないトラフィックに適用されます。

  • 入力ポリシングを含むポリシーは、スイッチ ポート、HIF ポート、および switch/HIF ポートを持つポート チャネルだけに使用できます。

  • 一致基準の中にレイヤ 2 の操作と TCP フラグを含む入力ポリシングは、FEX インターフェイスでは使用できません。

  • 入力ポリシングは、Enhanced VPC(2LayerVPC)ポートではサポートされません。

  • デュアル ホーム(AA)HIF インターフェイスで同じ入力ポリシングを適用することが推奨されます。

  • police コマンドは、system qos ポリシーではサポートされません。

  • show policy-map interface コマンドを使用して、入力レート リミッタが適合していることをチェックし、違反統計情報を表示することが推奨されます。 CLI は、HIF インターフェイス(port-channel と同じように標準的)の認定/違反パケットおよび秒単位のパケット統計情報を表示します。一方、スイッチ ポート(port-channel と同じように標準的)では、このコマンドは、認定/違反パケットおよびビット/秒(bps)を表示します。

認定情報レートを使用するポリシー マップの作成

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

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

     
    ステップ 2switch(config)# policy-map [type qos] [qos-policy-map-name] 

    トラフィック クラスのセットに適用されるポリシーのセットを表す名前付きオブジェクトを作成します。 ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

     
    ステップ 3switch(config-pmap-qos)# class [type qos] {class-map-name | class-default} 

    クラス マップをポリシー マップに関連付け、指定したシステム クラスのコンフィギュレーション モードを開始します。 ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。

    class-map-name 引数には、最大 40 文字の英数字を指定できます。 名前は大文字と小文字が区別され、英数字、ハイフン、下線だけを含めることができます。

     
    ステップ 4switch(config-pmap-c-qos)# police [cir] {committed-rate [data-rate] | percent cir-link-percent} [ [bc] {committed-burst-rate}][conform{transmit} [violate {drop}]]] 

    cir を、ビット、kbps、mbps、または gbps 単位でポリシングします。 データ レートが cir 以下の場合は、conform アクションが適用されます。それ以外の場合は、violate アクションが適用されます。

    cir キーワードは、認定情報レート(つまり、望ましい帯域幅)を、ビット レートまたはリンク レートの割合として使用するように指定します。

    committed-rate 値は、1 ~ 80 の範囲で指定します。

    data-rate の値は次のいずれかになります。

    • bps:ビット/秒

    • kbps:1000 ビット/秒

    • mbps:1,000,000 ビット/秒

    • Gbps:1,000,000,000 ビット/秒

    committed-burst-rate の値は次のとおりです。

    • bytes:バイト

    • kbytes:1000 バイト

    • mbytes:1,000,000 バイト

    • ms:ミリ秒

    • us:マイクロ秒

    次は、入力ポリシング アクションです。

    • conform:トラフィックのデータ レートが制限内に収まっている場合に実行されるアクション。 デフォルト アクションは、transmit です。

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

    • violate:トラフィックのデータ レートが設定済みのレート値に違反した場合に実行されるアクション。 基本のデフォルト アクションは、drop です。

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

     
    ステップ 5switch(config-pmap-c-qos)# set {{dscp {dscp-val | dscp-enum}} | {precedence {prec-val | prec-enum}} | {qos-group qos-grp-val}}  (任意)

    dscpprecedence、または qos-group アクションを設定します。

    引数は次のとおりです。

    • dscp-val:このトラフィック クラスに割り当てる DSCP 値またはパラメータを指定します。 有効値の範囲は 0 ~ 63 です。

    • dscp-enum:有効な値は 0~63 です。

      af11 AF11 dscp (001010)
      af12 AF12 dscp (001100)
      af13 AF13 dscp (001110)
      af21 AF21 dscp (010010)
      af22 AF22 dscp (010100)
      af23 AF23 dscp (010110)
      af31 AF31 dscp (011010)
      af32 AF32 dscp (011100)
      af33 AF33 dscp (011110)
      af41 AF41 dscp (100010)
      af42 AF42 dscp (100100)
      af43 AF43 dscp (100110)
      cs1 CS1(precedence 1) dscp (001000)
      cs2 CS2(precedence 2) dscp (010000)
      cs3 CS3(precedence 3) dscp (011000)
      cs4 CS4(precedence 4) dscp (100000)
      cs5 CS5(precedence 5) dscp (101000)
      cs6 CS6(precedence 6) dscp (110000)
      cs7 CS7(precedence 7) dscp (111000)
      default Default dscp (000000)
      ef EF dscp (101110)
      
    • prec-val:このトラフィック クラスに割り当てる IP の優先順位の値。 有効な値の範囲は 0 ~ 7 です。

    • 0:routine

    • 1:priority

    • 2:immediate

    • 3:flash

    • 4:flash-override

    • 5:critical

    • 6:internet

    • 7:network

    (注)     

    数字だけを入力します。

    prec-enum:有効な値は次のとおりです。

    • routine

    • priority

    • immediate

    • flash

    • flash-override

    • critical

    • internet

    • network

    qos-grp-val:このトラフィック クラスに割り当てる QoS グループの値。 範囲は 1 ~ 5 です。

     
    ステップ 6switch(config-pmap-c-qos)# exit 

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

     
    ステップ 7switch(config-pmap-qos)# exit 

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

     
    ステップ 8switch(config)# show policy-map [type qos] [policy-map-name]  (任意)

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

     

    次に、認定情報レートを使用する入力ポリシングを含むポリシー マップを作成する例を示します。

    switch# configure terminal
    switch(config)# policy-map type qos pm1
    switch(config-pmap-qos)# class type qos cm1
    switch(config-pmap-c-qos)# police cir 10 mbps bc 20 kbytes
    switch(config-pmap-c-qos)# set qos-group 4
    switch(config-pmap-c-qos)# end
    switch# show policy-map type qos pm1
    
     Type qos policy-maps
      ====================
    
      policy-map type qos pm1 
      class type qos cm1
      set qos-group 4
      police cir 20 mbytes conform transmit violate drop 
      set qos-group 4
      class type qos class-default
      set qos-group 1
      switch# 
    

    インターフェイス レートの割合を使用するポリシー マップの作成

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

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

       
      ステップ 2switch(config)# policy-map [type qos] [qos-policy-map-name] 

      トラフィック クラスのセットに適用されるポリシーのセットを表す名前付きオブジェクトを作成します。 ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

       
      ステップ 3switch(config-pmap-qos)# class [type qos] {class-map-name | class-default} 

      クラス マップをポリシー マップに関連付け、指定したシステム クラスのコンフィギュレーション モードを開始します。 ポリシー マップ内のクラスと現在一致していないトラフィックをすべて選択するには、class-default キーワードを使用します。

      class-map-name 引数には、最大 40 文字の英数字を指定できます。 名前は大文字と小文字が区別され、英数字、ハイフン、下線だけを含めることができます。

       
      ステップ 4switch(config-pmap-c-qos)# police [cir] {committed-rate [data-rate] | percent cir-link-percent} [ [bc] {committed-burst-rate}][conform{transmit} [violate {drop}]]] 

      cir を、ビット、kbps、mbps、または gbps 単位でポリシングします。 データ レートが cir 以下の場合は、conform アクションが適用されます。それ以外の場合は、violate アクションが適用されます。

      cir キーワードは、認定情報レート(つまり、望ましい帯域幅)を、ビット レートまたはリンク レートの割合として使用するように指定します。

      cir-link-percent 値は、1~100 パーセントの範囲で指定できます。

      committed-burst-rate の値は次のとおりです。

      • bytes:バイト

      • kbytes:1000 バイト

      • mbytes:1,000,000 バイト

      次は、入力ポリシング アクションです。

      • conform:トラフィックのデータ レートが制限内に収まっている場合に実行されるアクション。 デフォルト アクションは、transmit です。

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

      • violate:トラフィックのデータ レートが設定済みのレート値に違反した場合に実行されるアクション。 基本のデフォルト アクションは、drop です。

      • drop:パケットをドロップします。 これは、パケットがパラメータを超過した場合またはパラメータに違反した場合にだけ使用できます。

       
      ステップ 5switch(config-pmap-c-qos)# set {{dscp {dscp-val | dscp-enum}} | {precedence {prec-val | prec-enum}} | {qos-group qos-grp-val}}  (任意)

      dscpprecedence、または qos-group アクションを設定します。

      dscp-val:このトラフィック クラスに割り当てる DSCP 値またはパラメータを指定します。 有効値の範囲は 0 ~ 63 です。

      prec-val:このトラフィック クラスに割り当てる IP の優先順位の値。 有効な値は 0 ~ 7 です。

      qos-grp-val:このトラフィック クラスに割り当てる QoS グループの値。 範囲は 1 ~ 5 です。

       
      ステップ 6switch(config-pmap-c-qos)# exit 

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

       
      ステップ 7switch(config-pmap-qos)# exit 

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

       
      ステップ 8switch(config)# show policy-map [type qos] [policy-map-name | qos-dynamic]  (任意)

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

       

      次に、インターフェイス レートの割合を使用する入力ポリシングを含むポリシー マップを作成する例を示します。

      switch# configure terminal
      switch(config)# policy-map type qos pm-test1
      switch(config-pmap-qos)# class type qos cm-cos4
      switch(config-pmap-c-qos)# police cir percent 10 bc 40 kbytes conform transmit violate drop
      switch(config-pmap-c-qos)# end
      switch# show policy-map type qos pm-test1
      
      Type qos policy-maps
      ====================
      
      policy-map type qos pm-test1 
      class type qos cm-cos4
      set qos-group 4
      police cir percent 10 bc 40 kbytes conform transmit violate drop 
      class type qos class-default
      set qos-group 1
      switch# 
      

      入力ポリシング設定の確認

      入力ポリシングの設定情報を確認するには、次のいずれかの作業を行います。

      コマンド

      目的

      switch# show policy-map interface [interface number]

      1 つまたはすべてのインターフェイスのポリシー マップ設定を表示します。

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

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

      入力ポリシングの設定例

      次に、入力ポリシング レートが port/port-channel 速度に基づいて計算される場所で、割合として指定される認定情報レートの例を示します。

      switch(config)# policy-map type qos pm-cos
      switch(config-pmap-qos)# class cm-cos
      switch(config-pmap-c-qos)# police cir percent 10 bc 20 mbytes conform transmit violate drop 
      switch(config-pmap-c-qos)#
      

      次に、入力ポリシングが設定された show monitor session コマンドの出力の例を示します。

      switch(config-pmap-c-qos)# show policy-map pm-cos
      
      
        Type qos policy-maps
        ====================
      
        policy-map type qos pm-cos 
          class type qos cm-cos
            set qos-group 4
            police cir percent 10 bc 20 mbytes conform transmit violate drop 
          class type qos class-default
            set qos-group 1
      switch(config-pmap-c-qos)# 
      

      次に、service-policy コマンドを使用して インターフェイスに適用されるポリシーの例を示します。

      switch(config)# interface ethernet 1/1
      switch(config-if)# service-policy type qos input pm-cos
      

      次に、show policy-map コマンドによって表示されるポリシー統計情報の例を示します。

      switch(config-if)# show policy-map interface ethernet 1/1
      Global statistics status :   disabled
      
      Ethernet1/1
      
        Service-policy (qos) input:   qos-police
          policy statistics status:   disabled
      
          Class-map (qos):   qos-police (match-all)
            0 packets
            Match: dscp 10
            police cir percent 100 bc 200 ms 
              conformed 0 bytes, 0 bps action: transmit
              violated 0 bytes, 0 bps action: drop