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

分類の設定

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

分類について

分類とは、パケットをトラフィック クラスに振り分けることです。 指定した分類済みトラフィックに対して特定のアクション(ポリシングやマークダウンなど)を実行するようにデバイスを設定します。

パケットの特性を分類基準と照合することによって、各トラフィック クラスを表すクラス マップを作成できます。

表 1 分類基準

分類基準

説明

クラス マップ

名前付きクラス マップ オブジェクト内で指定された基準。

Precedence

IP ヘッダーのタイプ オブ サービス(ToS)バイト内部の優先順位値。

Diffserv コード ポイント(DSCP)

IP ヘッダーの DIffServ フィールド内部の DSCP 値。

プロトコル

アドレス解決プロトコル(ARP)、コネクションレス型ネットワーク サービス(CLNS)などの選択済みプロトコル セット。

IP RTP

Real-time Transport Protocol(RTP)を使用しているアプリケーションを、UDP ポート番号範囲によって識別します。

ACL

トラフィックは、アクセス コントロール リスト(ACL)に定義されている基準で分類されます。

表 2 サポートされている RFC
RFC タイトル
RFC 2474 『Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers』

入力分類ポリシー

分類は、トラフィックをクラスに区分けするのに使用します。 トラフィックは、パケット特性(CoS フィールド)またはパケット ヘッダー フィールドに基づいて分類します。パケット ヘッダー フィールドには、IP precedence、DiffServ コード ポイント(DSCP)、レイヤ 2 からレイヤ 4 までのパラメータが含まれます。 トラフィックの分類に使用する値を、一致基準と呼びます。

どのクラスにも一致しないトラフィックは、class-default と呼ばれるデフォルトのトラフィック クラスに割り当てられます。

分類のライセンス要件

この機能にはライセンスは不要です。 ライセンス パッケージに含まれていない機能はすべて Cisco NX-OS システム イメージにバンドルされており、追加費用は一切発生しません。 NX-OS ライセンス方式の詳細については、『Cisco NX-OS Licensing Guide』を参照してください。

分類の設定

クラス マップの設定

class-map コマンドを使用して、クラス マップを作成または変更できます。 クラス マップは、トラフィックのクラスを表す名前付きオブジェクトです。 クラス マップでは、パケットを分類する一致基準を指定します。 以降は、クラス マップをポリシー マップで参照できるようになります。


(注)  


クラス マップ タイプのデフォルトは type qos で、その一致基準のデフォルトは match-all です。


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

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

     
    ステップ 2 switch(config)# class-map [type {network-qos | qos | queuing}] class-map name
     

    指定されたトラフィックのクラスを表す名前付きオブジェクトを作成するか、名前付きオブジェクトにアクセスします。

    クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

    次のように 3 つのクラス マップ コンフィギュレーション モードがあります。

    • network-qos:ネットワーク全体(グローバル)モード。 CLI プロンプト:switch (config-cmap-nq)#

    • qos:分類モード。これがデフォルト モードです。 CLI プロンプト:switch (config-cmap-qos)#

    • queuing:キューイング モード。 CLI プロンプト:switch(config-cmap-que)#

     
    ステップ 3switch(config)# class-map [type qos] [match-all | match-any] class-map name
     
    (任意)

    パケットがクラス マップに定義された基準の一部またはすべてを満たす必要があることを指定します。

    • match-all:パケットが、指定した class map に定義されているすべての基準を満たす場合(たとえば、定義された CoS と ACL 基準の両方が一致する場合)、トラフィックを分類します。

    • match-any:パケットが、指定した class map に定義されているいずれかの基準を満たす場合(たとえば、CoS または ACL の基準のいずれかが一致する場合)、トラフィックを分類します。

    クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

     
    ステップ 4 switch(config)# no class-map [type {network-qos | qos | queuing}] class-name
     
    (任意)

    指定されたクラス マップを削除します。

    (注)     

    システム定義の 2 つのクラス マップ(class-fcoe と class-default)は削除できません。

    クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

     

    CoS 分類の設定

    IEEE 802.1Q ヘッダー内のサービス クラス(CoS)フィールドに基づいてトラフィックを分類できます。 この 3 ビットのフィールドは IEEE 802.1p で QoS トラフィック クラスをサポートするために規定されています。 CoS は Virtual Local Area Network(VLAN:バーチャル LAN)ID タグ フィールドの上位 3 ビットで符号化され、user_priority と呼ばれます。


    (注)  


    Cisco Nexus 2148 ファブリック エクステンダは dot1p vlan 0 タグを持つフレームをサポートしません。


    システム クラスに no-drop 機能が設定されている場合、match cos コマンドは追加目的で機能します。 スイッチは CoS 値をアダプタに送信するので、アダプタはこの CoS 値の PFC ポーズを適用します。

    FCoE システム クラスのデフォルトの CoS 値は 3 です。 match cos 設定を FCoE システム クラスに追加して、異なる CoS 値を設定できます。 PFC ポーズは新しい値と一致するトラフィックに適用されます。

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

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

       
      ステップ 2 switch(config)# class-map type qos class-name
       

      トラフィックのクラスを表す名前付きオブジェクトを作成します。 クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

       
      ステップ 3 switch(config-cmap-qos)# match cos cos-value
       

      パケットをこのクラスに分類する場合に照合する CoS 値を指定します。 CoS 値は、0 ~ 7 の範囲で設定できます。

      (注)     

      Cisco Nexus 2148T ファブリック エクステンダ を接続して使用している場合、データ トラフィックを CoS 値 7 でマーク付けしないでください。 CoS 7 は、ファブリック エクステンダ を通過する制御トラフィック用に予約されています。

       
      ステップ 4 switch(config-cmap-qos)# no match cos cos-value
       
      (任意)

      一致するトラフィックをトラフィック クラスから削除します。

       

      次の例は、定義された CoS 値に基づいてパケットを照合することにより、トラフィックを分類する方法を示しています。

      switch# configure terminal
      switch(config)# class-map type qos match-any class_cos
      switch(config-cmap-qos)# match cos 4, 5-6
      
      

      CoS 値のクラス マップ設定を表示するには、show class-map コマンドを使用します。

      switch# show class-map class_cos
      

      Precedence 分類の設定

      IP ヘッダー(IPv4 または IPv6 のいずれか)のサービス タイプ(ToS)バイト フィールドの優先順位値に基づいてトラフィックを分類できます。 次の表に、優先順位値を示します。

      表 3 優先順位値

      優先順位値の一覧

      <0-7>

      IP precedence 値

      critical

      クリティカル precedence(5)

      flash

      フラッシュ precedence(3)

      flash-override

      フラッシュ上書き precedence(4)

      immediate

      即時 precedence(2)

      internet

      インターネットワーク コントロール precedence(6)

      network

      ネットワーク コントロール precedence(7)

      priority

      優先 precedence(1)

      routine

      ルーチン precedence(0)

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

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

         
        ステップ 2 switch(config)# class-map type qos match-any class-name  

        トラフィックのクラスを表す名前付きオブジェクトを作成します。 クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

         
        ステップ 3 switch(config-cmap-qos)#match precedence precedence-values  

        優先順位の値に基づいたパケットの照合により、トラフィック クラスを設定します。 優先順位値の一覧については、優先順位値の表を参照してください。

         
        ステップ 4switch((config-cmap-qos)# no match precedence precedence-values   (任意)

        一致するトラフィックをトラフィック クラスから削除します。 優先順位値の一覧については、優先順位値の表を参照してください。

         

        次の例は、IP ヘッダーの ToS バイトの優先順位値に基づいてパケットを照合することにより、トラフィックを分類する方法を示しています。

        switch# configure terminal
        switch(config)# class-map type qos match-any class_precedence
        switch(config-cmap-qos)# match precedence 1-2, critical

        IP precedence 値のクラス マップ設定を表示するには、show class-map コマンドを使用します。

        switch# show class-map class_precedence

        DSCP 分類の設定

        IP ヘッダー(IPv4 または IPv6 のいずれか)の DiffServ フィールドにある DiffServ コード ポイント(DSCP)値に基づいてトラフィックを分類できます。
        表 4 標準の DSCP 値

        DSCP 値のリスト

        af11

        AF11 dscp(001010):10 進数の 10

        af12

        AF12 dscp(001100):10 進数の 12

        af13

        AF13 dscp(001110):10 進数の 14

        af21

        AF21 dscp(010010):10 進数の 18

        af22

        AF22 dscp(010100):10 進数の 20

        af23

        AF23 dscp(010110):10 進数の 22

        af31

        AF31 dscp(011010):10 進数の 26

        af32

        AF32 dscp(011100):10 進数の 28

        af33

        AF33 dscp(011110):10 進数の 30

        af41

        AF41 dscp(100010):10 進数の 34

        af42

        AF42 dscp(100100):10 進数の 36

        af43

        AF43 dscp(100110):10 進数の 38

        cs1

        CS1(優先順位 1)dscp(001000):10 進数の 8

        cs2

        CS2(優先順位 2)dscp(010000):10 進数の 16

        cs3

        CS3(優先順位 3)dscp(011000):10 進数の 24

        cs4

        CS4(優先順位 4)dscp(100000):10 進数の 32

        cs5

        CS5(優先順位 5)dscp(101000):10 進数の 40

        cs6

        CS6(優先順位 6)dscp(110000):10 進数の 48

        cs7

        CS7(優先順位 7)dscp(111000):10 進数の 56

        default

        デフォルト dscp(000000):10 進数の 0

        ef

        EF dscp(101110):10 進数の 46

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

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

           
          ステップ 2 switch(config)# class-map type qos class-name
           

          トラフィックのクラスを表す名前付きオブジェクトを作成します。 クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

           
          ステップ 3 switch(config-cmap-qos)# match dscp dscp-list
           

          dscp-list 変数の値に基づいて、パケットの照合によってトラフィック クラスを設定します。 DSCP 値の一覧については、標準の DSCP 値の表を参照してください。

           
          ステップ 4 switch(config-cmap-qos)# no match dscp dscp-list
           
          (任意)

          一致するトラフィックをトラフィック クラスから削除します。 DSCP 値の一覧については、標準の DSCP 値の表を参照してください。

           

          次の例は、IP ヘッダーの DiffServ フィールドの DSCP 値に基づいてパケットを照合することにより、トラフィックを分類する方法を示しています。

          switch# configure terminal
          switch(config)# class-map type qos match-any class_dscp
          switch(config-cmap-qos)# match  dscp af21, af32

          DSCP のクラス マップ設定を表示するには、show class-map コマンドを使用します。

          switch# show class-map class_dscp

          プロトコル分類の設定

          IP ヘッダーの [IPv4 Protocol] フィールドまたは [IPv6 Next Header] フィールドに基づいて、トラフィックを分類できます。 次の表に、protocol 引数を示します。

          表 5 Protocol 引数

          引数

          説明

          arp

          アドレス解決プロトコル(ARP)

          clns_es

          CLNS エンド システム

          clns_is

          CLNS 中継システム

          dhcp

          ダイナミック ホスト コンフィギュレーション プロトコル(DHCP)

          ldp

          ラベル配布プロトコル(LDP)

          netbios

          NetBIOS Extended User Interface(NetBEUI)

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

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

             
            ステップ 2 switch(config)# class-map type qos class-name
             

            トラフィックのクラスを表す名前付きオブジェクトを作成します。 クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

             
            ステップ 3 switch(config-cmap-qos)# match protocol {arp | clns_es | clns_is | dhcp | ldp | netbios}
             

            指定したプロトコルに基づいてパケットを照合することによって、トラフィック クラスを設定します。

             
            ステップ 4 switch(config-cmap-qos)# no match protocol {arp | clns_es | clns_is | dhcp | ldp | netbios}
             
            (任意)

            一致するトラフィックをトラフィック クラスから削除します。

             

            次の例は、プロトコル フィールドに基づいてパケットを照合することにより、トラフィックを分類する方法を示しています。

            switch# configure terminal
            switch(config)# class-map type qos class_protocol
            switch(config-cmap-qos)# match protocol arp
             

            プロトコルのクラス マップ設定を表示するには、show class-map コマンドを使用します。

            switch# show class-map class_protocol
             

            IP RTP 分類の設定

            IP Real-time Transport Protocol(RTP)は、オーディオやビデオなどのデータを送信するリアルタイム アプリケーション用のトランスポート プロトコルで、Request For Comments(RFC)3550 で規定されています。 RTP では一般的な TCP ポートや UDP ポートは使用されませんが、通常はポート 16384 ~ 32767 を使用するように RTP を設定します。 偶数ポートを UDP 通信に使用し、次の上位の奇数ポートを RTP Control Protocol(RTCP)通信に使用します。

            UDP ポート範囲に基づいて分類できます。UDP ポート範囲は、RTP を使用するアプリケーションを対象とする可能性があります。

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

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

               
              ステップ 2 switch(config)# class-map type qos class-name
               

              トラフィックのクラスを表す名前付きオブジェクトを作成します。 クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

               
              ステップ 3 switch(config-cmap-qos)# match ip rtp port-number
               

              UDP ポート番号の下限と上限に基づいてパケットを照合することによって、トラフィック クラスを設定します。UDP ポート番号の範囲は、RTP を使用するアプリケーションを対象とする可能性があります。 値の範囲は 2000 ~ 65535 です。

               
              ステップ 4 switch(config-cmap-qos)# no match ip rtp port-number
               
              (任意)

              一致するトラフィックをトラフィック クラスから削除します。

               
              次に、RTP アプリケーションで一般に使用される UDP ポート範囲に基づいてパケットを照合することにより、トラフィックを分類する例を示します。

              switch# configure terminal
              switch(config)# class-map type qos match-any class_rtp
              switch(config-cmap-qos)# match  ip rtp 2000-2100, 4000-4100

              RTP のクラス マップ設定を表示するには、show class-map コマンドを使用します。

              switch# show class-map class_rtp

              ACL 分類の設定

              既存のアクセス コントロール リスト(ACL)に基づいたパケットの照合により、トラフィックを分類できます。 ACL で定義された基準によってトラフィックが分類されます。 ACL キーワードの permit および deny は、照合時には無視されます。アクセス リストの一致基準に deny アクションが含まれる場合でも、そのクラスの照合では使用されます。

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

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

                 
                ステップ 2 switch(config)# class-map type qos class-name
                 

                トラフィックのクラスを表す名前付きオブジェクトを作成します。 クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

                 
                ステップ 3 switch(config-cmap-qos)# match access-group name acl-name
                 

                acl-name に基づいてパケットを照合することによって、トラフィック クラスを設定します。 ACL キーワードの permit および deny は、照合時には無視されます。

                (注)     

                1 つのクラス マップで定義できる ACL は 1 つだけです。

                match access-group が定義されたクラスには、その他の一致基準を追加できません。

                 
                ステップ 4 switch(config-cmap-qos)# no match access-group name acl-name
                 
                (任意)

                一致するトラフィックをトラフィック クラスから削除します。

                 

                次に、既存の ACL に基づいたパケットの照合により、トラフィックを分類する例を示します。

                switch# configure terminal
                switch(config)# class-map type qos class_acl
                switch(config-cmap-qos)# match access-group name acl-01
                 

                ACL のクラス マップ設定を表示するには、show class-map コマンドを使用します。

                switch# show class-map class_acl
                 

                分類設定の確認

                設定を確認するには、次のいずれかのコマンドを使用します。

                コマンド

                目的

                show class-map

                スイッチで定義されたクラス マップを表示します。

                show policy-map [name]

                スイッチで定義されたポリシー マップを表示します。 指定したポリシーだけを表示することもできます。

                running-config ipqos

                QoS の実行コンフィギュレーションに関する情報を表示します。

                startup-config ipqos

                QoS のスタートアップ コンフィギュレーションに関する情報を表示します。