分類の設定
分類の設定

分類の設定

分類について

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

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

表 1 分類基準

分類基準

説明

CoS

IEEE 802.1Q ヘッダー内のサービス クラス(CoS)フィールド。

IP precedence

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

Differentiated Services Code Point(DSCP; DiffServ コード ポイント)

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

ACL

IP、IPv6、または MAC ACL 名

パケット長

レイヤ 3 パケット長のサイズ範囲

IP RTP

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

複数の一致基準を指定することも、特定の基準について照合しないようにすることも、一部または全部の基準を照合することによってトラフィック クラスを決定することもできます。


(注)  


ただし、ACL について照合する場合は、パケット長を除く他の一致基準を match-all クラス内で指定することはできません。 match-any クラス内では、ACL およびその他の一致基準について照合できます。


QoS ポリシー マップ内でどのクラスにも一致しないトラフィックは、class-default と呼ばれるデフォルトのトラフィック クラスに割り当てられます。 QoS ポリシー マップ内で class-default を参照することで、この一致しないトラフィックを選択できます。

同じタイプのトラフィックを処理する別のインターフェイスの QoS ポリシーを定義する場合、クラス マップを再利用できます。

分類のライセンス要件

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

製品

ライセンス要件

Cisco NX-OS

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

分類の前提条件

分類の前提条件は、次のとおりです。

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

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

注意事項と制約事項

分類の設定時の注意事項と制約事項は次のとおりです。

  • クラス マップ内で指定できる一致基準の数は最大 1,024 個です。

  • 1 つのポリシー マップで使用するために設定できるクラスの数は最大 128 個です。

  • ACL について照合する際、それ以外に指定できる一致基準は、match-all クラス内のレイヤ 3 パケット長だけです。

  • class-map type qos match-all コマンドの match-all オプションはサポートされていません。 このコマンドの一致基準は class-map type qos match-any コマンドと同じになります。 class-map type qos match-all コマンドは、class-map type qos match-any コマンドと同じ結果が得られます。

  • レイヤ 2 ポート上のトラフィックは、着信パケットのポート ポリシーまたは VLAN ポリシーのいずれかに基づいて分類できます(ただし両方に基づいて分類することはできません)。 両方のポリシーが存在する場合、デバイスはポート ポリシーに基づいて動作し、VLAN ポリシーを無視します。

トラフィック クラスの設定

ACL 分類の設定

トラフィックを分類するには、既存の ACL に基づいてパケットを照合します。 ACL キーワードの permit および deny は、照合時には無視されます。 QoS では ACL の許可-拒否機能は使用されません。 IPv4、IPv6、または MAC アドレスによる分類が可能です。

手順の概要

    1.    configure terminal

    2.    class-map [type qos] [match-any | match-all] class-name

    3.    match access-group name acl-name


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


    例:
    switch# configure terminal
    switch(config)#
     

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

     
    ステップ 2class-map [type qos] [match-any | match-all] class-name


    例:
    switch(config)# class-map class_acl
     

    class-name という名前のクラス マップを作成するか、そのクラス マップにアクセスし、クラス マップ モードを開始します。 クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができ、最大 40 文字まで設定できます。 (オプションが選択されておらず、複数の match ステートメントが入力される場合、デフォルトは match-any です。)

     
    ステップ 3match access-group name acl-name


    例:
    switch(config-cmap-qos)# match
    access-group name my_acl
     

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

     

    次に、ACL クラス マップ設定の表示方法の例を示します。

    switch# show class-map class_acl

    DSCP 分類の設定

    IP ヘッダーの DiffServ フィールドの DSCP 値に基づいてトラフィックを分類できます。 標準の DSCP 値については、次の表を参照してください。

    表 2 標準の 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

    AF40 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

    手順の概要

      1.    configure terminal

      2.    class-map [type qos] [match-any | match-all] class-name

      3.    match [not] dscp dscp-values

      4.    exit

      5.    copy running-config startup-config


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


      例:
      switch# configure terminal
      switch(config)#
       

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

       
      ステップ 2class-map [type qos] [match-any | match-all] class-name


      例:
      switch(config)# class-map class_dscp
       

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

       
      ステップ 3match [not] dscp dscp-values


      例:
      switch(config-cmap-qos)# match dscp af21, af32
       

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

      指定した範囲に一致しない値について照合するには、not キーワードを使用します。

       

      ステップ 4exit


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

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

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


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

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

       

      次に、DSCP クラス マップ設定の表示方法の例を示します。

      switch# show class-map class_dscp

      IP precedence 分類の設定

      IP ヘッダーの ToS バイト フィールドの優先順位値に基づいてトラフィックを分類できます。 優先順位値を以下に示します。

      表 3 優先順位値

      優先順位値のリスト

      0 ~ 7

      IP precedence 値

      critical

      クリティカル優先順位(5)

      flash

      フラッシュ優先順位(3)

      flash-override

      フラッシュ オーバーライド優先順位(4)

      immediate

      即時優先順位(2)

      internet

      インターネットワーク コントロール優先順位(6)

      network

      ネットワーク コントロール優先順位(7)

      priority

      プライオリティ優先順位(1)

      routine

      ルーチン優先順位(0)

      手順の概要

        1.    configure terminal

        2.    class-map [type qos] [match-any | match-all] class-name

        3.    match [not] precedence precedence-values

        4.    exit

        5.    copy running-config startup-config


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


        例:
        switch# configure terminal
        switch(config)#
         

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

         
        ステップ 2class-map [type qos] [match-any | match-all] class-name


        例:
        switch(config)# class-map class_ip_precedence
         

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

         
        ステップ 3 match [not] precedence precedence-values


        例:
        switch(config-cmap-qos)# match precedence 1-2, 5-7
         

        precedence-values に基づいてパケットを照合することによって、トラフィック クラスを設定します。 値を次の表に示します。 指定した範囲に一致しない値について照合するには、not キーワードを使用します。

         
        ステップ 4exit


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

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

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


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

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

         

        次に、IP precedence クラス マップ設定の表示方法の例を示します。

        switch# show class-map class_ip_precedence

        プロトコル分類の設定

        レイヤ 3 プロトコルのトラフィックでは、ACL 分類の照合を使用できます。

        表 4 match コマンドのプロトコル引数

        引数

        説明

        arp

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

        bridging

        ブリッジング

        cdpcdp

        Cisco Discovery Protocol(CDP)

        dhcp

        Dynamic Host Configuration(DHCP)

        isis

        Intermediate System to Intermediate System(IS-IS)

        手順の概要

          1.    configure terminal

          2.    class-map [type qos] [match-any | match-all] class-name

          3.    match [not] protocol {arp | bridging | cdp | dhcp | isis}

          4.    exit

          5.    copy running-config startup-config


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


          例:
          switch# configure terminal
          switch(config)#
           

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

           
          ステップ 2class-map [type qos] [match-any | match-all] class-name


          例:
          switch(config)# class-map class_protocol
           

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

           
          ステップ 3match [not] protocol {arp | bridging | cdp | dhcp | isis}


          例:
          switch(config-cmap-qos)# match protocol isis
           

          指定したプロトコルに基づいてパケットを照合することによって、トラフィック クラスを設定します。 指定したプロトコルに一致しないプロトコルについて照合するには、not キーワードを使用します。

           
          ステップ 4exit


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

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

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


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

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

           

          次に、protocol クラス マップ設定の表示方法の例を示します。

          switch# show class-map class_protocol

          レイヤ 3 パケット長分類の設定

          各種のパケット長に基づいてレイヤ 3 トラフィックを分類できます。


          (注)  


          この機能は IP パケットだけが対象です。


          手順の概要

            1.    configure terminal

            2.    class-map [type qos] [match-any | match-all] class-name

            3.    match [not] packet length packet-length-list

            4.    exit

            5.    copy running-config startup-config


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


            例:
            switch# configure terminal
            switch(config)#
             

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

             
            ステップ 2class-map [type qos] [match-any | match-all] class-name


            例:
            switch(config)# class-map class_packet_length
             

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

             
            ステップ 3 match [not] packet length packet-length-list


            例:
            switch(config-cmap-qos)# match packet length min 2000
             

            各種のパケット長(バイト単位)に基づいてパケットを照合することによって、トラフィック クラスを設定します。 値の範囲は 1 ~ 9198 です。 指定した範囲に一致しない値について照合するには、not キーワードを使用します。

             
            ステップ 4exit


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

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

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


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

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

             

            次に、packet length クラス マップ設定の表示方法の例を示します。

            switch# show class-map class_packet_length

            CoS 分類の設定

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

            手順の概要

              1.    configure terminal

              2.    class-map [type qos] [match-any | match-all] class-name

              3.    match [not] cos cos-list

              4.    exit

              5.    copy running-config startup-config


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


              例:
              switch# configure terminal
              switch(config)#
               

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

               
              ステップ 2class-map [type qos] [match-any | match-all] class-name


              例:
              switch(config)# class-map class_cos
               

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

               
              ステップ 3 match [not] cos cos-list


              例:
              switch(config-cmap-qos)# match cos 4,5-6
               

              CoS 値のリストに基づいてパケットを照合することによって、トラフィック クラスを設定します。 値の範囲は 0 ~ 7 です。 指定した範囲に一致しない値について照合するには、not キーワードを使用します。

               
              ステップ 4exit


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

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

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


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

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

               

              次に、CoS クラス マップ設定の表示方法の例を示します。

              switch# show class-map class_cos

              IP RTP 分類の設定

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

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

              手順の概要

                1.    configure terminal

                2.    class-map [type qos] [match-any | match-all] class-name

                3.    match [not] ip rtp udp-port-value

                4.    exit

                5.    copy running-config startup-config


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


                例:
                switch# configure terminal
                switch(config)#
                 

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

                 
                ステップ 2class-map [type qos] [match-any | match-all] class-name


                例:
                switch(config)# class-map class_rtp
                 

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

                 
                ステップ 3 match [not] ip rtp udp-port-value


                例:
                switch(config-cmap-qos)# match ip rtp 2000-2100, 4000-4100
                 

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

                 
                ステップ 4exit


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

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

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


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

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

                 

                次に、RTP クラス マップ設定の表示方法の例を示します。

                switch# show class-map class_rtp

                分類設定の確認

                クラス マップ設定を確認するには、show class-map コマンドを使用します。 このコマンドによって、すべてのクラス マップが表示されます。

                分類の設定例

                次に、2 つのクラスのトラフィックについて分類を設定する例を示します。

                class-map class_dscp
                match dscp af21, af32
                exit
                class-map class_cos
                match cos 4, 5-6
                exit