輻輳管理の概要

輻輳管理機能では、パケットに割り当てられた優先順位に基づいて、トラフィック フロー(またはパケット)がインターフェイスに送信される順番を決定することにより、輻輳を制御できます。輻輳管理は、キューを作成し、そのキューにパケットの分類に基づいてパケットを割り当て、キューにあるパケットの送信をスケジューリングする必要があります。

Cisco NCS 540 シリーズ ルータ でサポートされているトラフィック調整メカニズムのタイプは、次のとおりです。

Class-based Weighted Fair Queueing

Class-based Weighted Fair Queueing(CBWFQ)を使用すると、顧客の一致基準に基づいて、トラフィック クラスを定義できます。CBWFQ を使用して、トラフィック クラスを定義し、保証された最小帯域幅量をそのクラスに割り当てることができます。また、CBWFQ により、遅延に影響されやすいトラフィックのストリクト プライオリティ キューが可能になります。

残りの帯域幅

アルゴリズムは、クラスに割り当てられた残存帯域幅の値から各クラスの重みを取得します。bandwidth remaining オプションでは、 に対するクラスの重みを指定します。プライオリティ キューが処理された後、残存帯域幅は帯域幅余剰比率(BWRR)またはパーセントに応じて分散されます。このコマンドをいずれのクラスにも設定しない場合、BWRR のデフォルト値が 1 と見なされます。bandwidth remaining percent の場合、残存帯域幅は 100 パーセントになるように他のクラスに均等に分散されます。

制約事項

  • bandwidth remainingbandwidth remaining コマンドは、イーグレス ポリシーに対してのみサポートされます。

残存帯域幅の設定

ガイドライン

    設定例

    残存帯域幅の設定を実行するには、以下を完全に行う必要があります。

    1. 1 つ以上のインターフェイスに付加できるポリシー マップの作成または変更

    2. ポリシーを作成または変更する必要があるトラフィック クラスの指定

    3. クラスへの残存帯域幅の割り当て

    4. 出力インターフェイスへのポリシー マップの適用

    実行コンフィギュレーション

    確認

    関連項目

    関連コマンド

      低遅延キューイングとストリクト プライオリティ キューイング

      ストリクト プライオリティ モードのプライオリティ キューイング(PQ)は、場合によっては他のすべてのトラフィックを犠牲にして、1 つのタイプのトラフィックが送信されることを確保します。PQ では、低プライオリティ キューは悪影響を受けることがあり、最悪の場合、帯域幅の一部が使用可能な場合や、クリティカルなトラフィックの伝送レートが高い場合に、そのパケットが送信できなくなります。完全 PQ では、音声などの遅延に影響されやすいデータを、他のキューのパケットをキューから取り出す前にキューから取り出して送信できます。

      ストリクト プライオリティ キューイングによる低遅延キューイングの設定

      ストリクト プライオリティ キューイング(PQ)による低遅延キューイング(LLQ)を設定することで、音声などの遅延に影響されやすいデータを、他のキューのパケットをキューから取り出す前にキューから取り出して送信できます。

      ガイドライン

      • 優先度レベル のみがサポートされます。

      • 出力ポリシングはサポートされません。したがって、ストリクト プライオリティ キューイングの場合、他のキューが提供されない可能性があります。

      設定例

      ストリクト プライオリティ キューイングによる LLQ を完了するには、以下を完全に行う必要があります。

      1. 1 つ以上のインターフェイスに付加できるポリシー マップの作成または変更

      2. ポリシーを作成または変更する必要があるトラフィック クラスの指定

      3. トラフィック クラスへの優先度の指定

      4. 出力インターフェイスへのポリシー マップの適用

      
      Router# configure
      Router(config)# policy-map 
      Router(config-pmap)# class qos1
      Router(config-pmap-c)# priority level 
      Router(config-pmap-c# exit
      Router(config-pmap)# exit
      Router(config)# interface 
      Router(config-if)# service-policy output 
      Router(config-if)# no shutdown
      Router(config-if)# commit
      
      

      実行コンフィギュレーション

      確認

      関連項目

      関連コマンド

        トラフィック シェーピング

        トラフィック シェーピングでは、インターフェイスから出力されるトラフィック フローを制御して、リモート ターゲット インターフェイスの速度に合わせてトラフィック フローを伝送することにより、指定されているポリシーにトラフィックを適合させることができます。ダウンストリーム要件を満たすように、特定のプロファイルに適合するトラフィックをシェーピングできるため、データレートが一致しないトポロジで発生するボトルネックが排除されます。


        (注)  

        トラフィック シェーピングは、出力方向でのみサポートされています。


        トラフィック シェーピングの設定

        発信インターフェイス上で実行されるトラフィック シェーピングは、レイヤ 1 レベルで実行され、レート計算にレイヤ 1 ヘッダーが含まれます。

        ガイドライン

        • 出力トラフィック シェーピングのみがサポートされます。

        設定例

        トラフィック シェーピングの設定を完了するには、以下を完全に行う必要があります。

        1. 1 つ以上のインターフェイスに付加できるポリシー マップの作成または変更

        2. ポリシーを作成または変更する必要があるトラフィック クラスの指定

        3. 特定のビット レートへのトラフィックのシェーピング

        4. 出力インターフェイスへのポリシー マップの適用

        
        Router# configure
        Router(config)# policy-map egress_policy1
        Router(config-pmap)# class c5
        Router(config-pmap-c)# shape average 
        Router(config-pmap-c# exit
        Router(config-pmap)# exit
        Router(config)# interface 
        Router(config-if)# service-policy output egress_policy1
        Router(config-if)# commit
        
        

        実行コンフィギュレーション

        確認

        関連項目

        関連コマンド

          トラフィック ポリシング

          トラフィック ポリシングでは、インターフェイスで送受信されるトラフィックの最大レートを制限したり、ネットワークを複数のプライオリティ レベルまたはサービス クラス(CoS)に区切ることができます。トラフィック ポリシングは、トークン バケット アルゴリズムを通じてトラフィックの最大レートを管理します。トークン バケット アルゴリズムでは、ユーザが設定した値を使用して、特定の瞬間にインターフェイス上で許可されるトラフィックの最大レートを決定します。トークン バケット アルゴリズムは、(トラフィック ポリシングでトラフィック ポリシーが設定された場所により)インターフェイスを出入りするすべてのトラフィックによって影響を受け、複数の大きなパケットが同じトラフィック ストリームで送信される場合に、ネットワーク帯域幅の管理に役立ちます。

          トラフィック ポリシングでは、認定情報レート(CIR)のバースト サイズ(Bc)を設定することにより、一定量の帯域幅管理も行えます。認定バーストを参照してください。

          Cisco NCS 540 シリーズ ルータ は、次のトラフィック ポリシング モードをサポートしています。

          制約事項

          • トラフィック ポリシングは入力方向でのみサポートされ、カラーブラインド モードのみがサポートされています。

          認定バースト

          トラフィック シェーパーとは異なり、トラフィック ポリサーは超過パケットをバッファせず、後で送信します。代わりに、ポリサーはバッファリングせずに「送信または送信なし」のポリシーを実行します。ポリシングは、通常のバースト値または認定バースト(bc)値を使用して、ルータが設定された設定情報レート(CIR)に到達できるようにします。ポリシングは、設定したバースト値に基づいて、パケットが CIR に適合しているか、または CIR を超過しているかを決定します。バースト パラメータは、ルータの一般的なバッファリング ルールに基づいており、ラウンドトリップ時間のビットレートと同じになるようにバッファリングを設定して、輻輳期間中におけるすべての接続の、未処理の TCP ウィンドウに対応することが推奨されます。輻輳期間中には、バースト パラメータを適切に設定することにより、ポリサーによるパケットのドロップを抑えることができます。

          シングルレート ポリサー

          シングルレート 2 カラー ポリサー

          シングルレート 2 カラー(SR2C)ポリサーでは、各パケットに対する 2 つのアクション(conform アクションおよび exceed アクション)を実行する単一のトークン バケットを使用できます。

          図 1. シングルレート 2 カラー ポリサーのワークフロー

          設定情報レート(CIR)の値に基づいて、トークン バケットは更新時間間隔で更新されます。Tc トークン バケットには Bc 値まで含めることができ、この値には、特定のバイト数または期間を指定できます。サイズ B のパケットが Tc トークン バケットを超える場合、パケットは CIR 値を超え、アクションが実行されます。サイズ B のパケットが Tc トークン バケット未満の場合、パケットは適合し、異なるアクションが実行されます。

          トラフィック ポリシングの設定(シングルレート 2 カラー)

          トラフィック ポリシングは、多くの場合、ネットワークに出入りするトラフィックのレートを制限するためにネットワークのエッジのインターフェイスで設定されます。Cisco NCS 540 シリーズ ルータでは、シングルレート 2 カラー ポリサーのデフォルトの適合アクションでパケットが送信され、デフォルトの超過アクションでパケットがドロップされます。ユーザはこれらのデフォルトのアクションを変更できません。

          設定例

          トラフィック ポリシング設定を実行するには、以下を完全に行う必要があります。

          1. 1 つ以上のインターフェイスに付加できるポリシー マップの作成または変更

          2. ポリシーを作成または変更する必要があるトラフィック クラスの指定

          3. (任意)マーキング アクションの指定

          4. トラフィックに対するポリシー レートの指定

          5. 入力インターフェイスへのポリシー マップの適用

          
          Router# configure
          Router(config)# policy-map test-police-1
          Router(config-pmap)# class  ipv6-6 
          Router(config-pmap-c)# set dscp cs2 (optional)
          Router(config-pmap-c)# set qos-group 7 (optional)
          Router(config-pmap-c)# police rate percent 20 burst 10000 bytes
          Router(config-pmap-c-police)# exit
          Router(config-pmap-c)# exit
          Router(config-pmap)# exit
          Router(config)# interface HundredGigE 0/6/0/18
          Router(config-if)# service-policy input test-police-1
          Router(config-if)# commit
          
          
          実行コンフィギュレーション
          
          class-map match-any ipv6-6
           match precedence 3
           end-class-map
          !
          
          policy-map test-police-1
           class ipv6-6
            set dscp cs2
            set qos-group 7
            police rate percent 20 burst 10000 bytes
            !
           !
           class class-default
           !
           end-policy-map
          !
          
          interface HundredGigE0/6/0/18
           service-policy input test-police-1
           service-policy output test-priority-1
          !
          
          
          確認
          
          Router# show qos interface hundredGigE 0/6/0/18 input
          
          NOTE:- Configured values are displayed within parentheses
          Interface HundredGigE0/6/0/18 ifh 0x3000220  -- input policy
          NPU Id:                        3
          Total number of classes:       2
          Interface Bandwidth:           100000000 kbps
          Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
          ------------------------------------------------------------------------------
          Level1 Class                             =   ipv6-6
          New dscp                                 =   16
          New qos group                            =   7
          
          Policer Bucket ID                        =   0x102a0
          Policer Stats Handle                     =   0x8a8090c0
          Policer committed rate                   =   19980000 kbps (20 %)
          Policer conform burst                    =   9856 bytes (10000 bytes)
          
          Level1 Class                             =   class-default
          
          Default Policer Bucket ID                =   0x102a1
          Default Policer Stats Handle             =   0x8a808e78
          Policer not configured for this class
          
          
          関連項目
          関連コマンド

          トラフィック ポリシングの設定(シングルレート 3 カラー)

          Cisco NCS 540 シリーズ ルータでは、シングルレート 3 カラー ポリサーのデフォルトの適合アクションと超過アクションでパケットが送信され、デフォルトの違反アクションでパケットがドロップされます。ユーザはこれらのデフォルトのアクションを変更できません。

          設定例

          トラフィック ポリシング設定を実行するには、以下を完全に行う必要があります。

          1. 1 つ以上のインターフェイスに付加できるポリシー マップの作成または変更

          2. ポリシーを作成または変更する必要があるトラフィック クラスの指定

          3. (任意)マーキング アクションの指定

          4. トラフィックのポリシー レートとピークバースト値の設定

          5. 入力インターフェイスへのポリシー マップの適用

          
          Router# configure
          Router(config)# policy-map test-police-1R3C
          Router(config-pmap)# class ipv4-5 
          Router(config-pmap-c)# set qos-group 2 (optional)
          Router(config-pmap-c)# police rate percent 20 burst 100000 bytes peak-burst 190000 bytes
          Router(config-pmap-c-police)# exit
          Router(config-pmap-c)# exit
          Router(config-pmap)# exit
          Router(config)# interface HundredGigE 0/6/0/18
          Router(config-if)# service-policy input test-police-1R3C
          Router(config-if)# commit
          
          
          実行コンフィギュレーション
          
          class-map match-any ipv4-5
           match precedence 3
           end-class-map
          !
          
          policy-map test-police-1R3C
           class ipv4-5
            set qos-group 7
            police rate percent 20 burst 100000 bytes peak-burst 190000 bytes
            !
           !
           class class-default
           !
           end-policy-map
          !
          
          interface HundredGigE0/6/0/18
           service-policy input test-police-1R3C
           service-policy output test-priority-1
          !
          
          
          確認
          
          Router# show qos interface hundredGigE 0/6/0/18 input
          
          NOTE:- Configured values are displayed within parentheses
          Interface HundredGigE0/6/0/18 ifh 0x3000220  -- input policy
          NPU Id:                        3
          Total number of classes:       2
          Interface Bandwidth:           100000000 kbps
          Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
          ------------------------------------------------------------------------------
          Level1 Class                             =   ipv4-5
          New qos group                            =   2
          
          Policer Bucket ID                        =   0x102a1
          Policer Stats Handle                     =   0x8a8090c0
          Policer committed rate                   =   19980000 kbps (20 %)
          Policer conform burst                    =   99584 bytes (100000 bytes)
          Policer exceed burst                     =   188672 bytes (190000 bytes)
          
          Level1 Class                             =   class-default
          
          Default Policer Bucket ID                =   0x102a1
          Default Policer Stats Handle             =   0x8a808e78
          Policer not configured for this class
          
          
          関連項目
          関連コマンド

          2 つのレートを使用したポリシング機能

          2 レート ポリサーは、2 つのトークン バケット(認定トークン バケットおよび最大トークン バケット)を使用してトラフィックの最大レートを管理します。デュアルトークン バケット アルゴリズムは、ユーザが設定した値を使用して、特定の時点においてキューで許可されるトラフィックの最大レートを決定します。これにより、2 レート ポリサーは、2 つの独立したレート(認定情報レート(CIR)および最大情報レート(PIR))でトラフィックを測定できます。

          デュアルトークン バケット アルゴリズムでは、各パケットに対する 3 つのアクション(conform アクション、exceed アクション、および任意の violate アクション)を使用できます。2 レート ポリサーを設定した状態でキューに入るトラフィックは、これらのカテゴリのいずれかに配置されます。

          次の図に、2 レート ポリサーを使用してパケットをマーキングする方法、および対応するアクションをパケットに割り当てる方法を示します。

          図 2. パケットのマーキングとアクションの割り当て:2 レート ポリサー

          また、2 レート ポリサーの詳細も参照してください。

          Cisco NCS 540 シリーズ ルータ は、2 レート 3 カラー(2R3C)ポリサーをサポートしています。

          トラフィック ポリシングの設定(2 レート 3 カラー)

          2 レート 3 カラー(2R3C)ポリサーのデフォルトの適合アクションと超過アクションでパケットが送信され、デフォルトの違反アクションでパケットがドロップされます。ユーザはこれらのデフォルトのアクションを変更できません。

          設定例
          2 レート 3 カラー トラフィック ポリシングの設定を実行するには、以下を完全に行う必要があります。
          1. 1 つ以上のインターフェイスに付加できるポリシー マップの作成または変更

          2. ポリシーを作成または変更する必要があるトラフィック クラスの指定

          3. パケット マーキングの指定

          4. 2 レート トラフィック ポリシングの設定

          5. 入力インターフェイスへのポリシー マップの適用

          
          Router# configure
          Router(config)# policy-map policy1
          Router(config-pmap)# class ipv4-7
          Router(config-pmap-c)# set qos-group 4
          Router(config-pmap-c)# police rate percent 20 burst 100000 bytes peak-rate percent 50 peak-burst 200000 bytes
          Router(config-pmap-c-police)# exit
          Router(config-pmap-c)# exit
          Router(config-pmap)# exit
          Router(config)# interface HundredGigE 0/6/0/18
          Router(config-if)# service-policy input policy1
          Router(config-if)# commit
          
          
          実行コンフィギュレーション
          
          policy-map policy1
           class ipv4-7
            set qos-group 4
            police rate percent 20 burst 100000 bytes peak-rate percent 50 peak-burst 200000 bytes
            !
           !
          
          interface HundredGigE 0/6/0/18
           service-policy input policy1
          ! 
          
          
          確認
          
          Router# show policy-map interface HundredGigE 0/6/0/18 
          
          NOTE:- Configured values are displayed within parentheses
          Interface HundredGigE0/6/0/18 ifh 0x3000220  -- input policy
          NPU Id:                        3
          Total number of classes:       8
          Interface Bandwidth:           100000000 kbps
          Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
          ------------------------------------------------------------------------------
          Level1 Class                             =   ipv4-4
          - - - 
          - - -
          Level1 Class                             =   ipv4-7
          New qos group                            =   4
          
          Policer Bucket ID                        =   0x102a3
          Policer Stats Handle                     =   0x8a8089e8
          Policer committed rate                   =   19980000 kbps (20 %)
          Policer peak rate                        =   49860000 kbps (50 %)
          Policer conform burst                    =   99584 bytes (100000 bytes)
          Policer exceed burst                     =   199168 bytes (200000 bytes)
          
          Level1 Class                             =   class-default
          
          Policer Bucket ID                        =   0x102a7
          Policer Stats Handle                     =   0x8a7c8510
          Policer committed rate                   =   29880000 kbps (30 %)
          Policer conform burst                    =   4194304 bytes (default)
          
          
          関連項目
          関連コマンド

          モジュラ QoS 輻輳管理のリファレンス

          認定バースト

          police コマンドの認定バースト(bc)パラメータでは、トラフィックを測定するためにルータが使用する 1 番目の適合(緑色)トークン バケットが実装されます。bc パラメータにより、このトークン バケットのサイズが設定されます。最初は、トークン バケットは一杯の状態で、トークン カウントは認定バースト サイズ(CBS)と同じです。その後、メーターは、認定情報レート(CIR)によって示された秒単位の回数だけトークン カウントを更新します。

          次に、メーターが適合トークン バケットを使用してパケットを送信する仕組みについて説明します。

          • パケットが着信したときに、適合トークン バケットに十分なトークンがある場合、メーターはパケットを緑色でマーキングし、パケットのバイト数だけ適合トークン カウントをデクリメントします。

          • 適合トークン バケットの使用可能なトークンが不十分な場合は、メーターにより、トラフィック フローは必要なトークンを借りてパケットを送信できます。メーターはパケットのバイト数の超過トークン バケットをチェックします。超過トークン バケットに使用可能な十分な数のトークンがある場合、メーターはパケットをマーキングします。

            緑色:適合トークン カウントを最小値の 0 に達するまでデクリメントします。

            黄色:超過トークン バケットから必要な残りのトークンを借り、最小値の 0 に達するまで、借りたトークン数だけ超過トークン カウントをデクリメントします。

          • 使用可能なトークンの数が不十分な場合、メーターはパケットを赤色としてマーキングし、適合トークン カウントまたは超過トークン カウントをデクリメントしません。


            (注)  

            メーターが特定のカラーでパケットをマーキングするときには、そのカラーのトークンがパケット全体に対応するのに十分な数である必要があります。したがって、緑色のパケットの量が、認定情報レート(CIR)および認定バースト サイズ(CBS)よりも少なくなることはありません。特定のカラーのトークンは、そのカラーのパケットに対して常に使用されます。


          超過バースト

          police コマンドの超過バースト(be)パラメータでは、トラフィックを測定するためにルータが使用する 2 番目の超過(黄色)トークン バケットが実装されます。最初は、超過トークン バケットは一杯の状態で、トークン カウントは超過バースト サイズ(EBS)と同じです。その後、メーターは、認定情報レート(CIR)によって示された秒単位の回数だけトークン カウントを更新します。

          次に、メーターが超過トークン バケットを使用してパケットを送信する仕組みについて説明します。

          • 最初のトークン バケット(適合バケット)が認定バースト サイズ(CBS)を満たしている場合は、メーターにより、トラフィック フローは必要なトークンを超過トークン バケットから借りることができます。メーターはパケットを黄色としてマーキングしてから、パケットのバイト数だけ超過トークン バケットをデクリメントします。

          • 借りるために必要なトークンが超過トークン バケットにない場合、メーターはパケットを赤色としてマーキングし、適合トークン バケットまたは超過トークン バケットをデクリメントしません。代わりに、メートルは police コマンドで設定した exceed アクションを実行します(たとえば、ポリサーがパケットをドロップするなど)。

          2 レート ポリサーの詳細

          認定トークン バケットは、オーバーフローする前には認定バースト(bc)のサイズまでのバイト数を保持できます。次に説明するように、このトークン バケットは、CIR に適合しているか、または CIR を超過しているかを判断するトークンを保持しています。

          • 一定時間での平均バイト数により認定トークン バケットがオーバーフローしない場合、トラフィック ストリームは適合しています。この場合、トークン バケット アルゴリズムはトラフィック ストリームを緑色でマーキングします。

          • トラフィック ストリームにより認定トークン バケットが最大トークン バケットにオーバーフローした場合、トラフィック ストリームは超過しています。この場合、トークン バケット アルゴリズムはトラフィック ストリームを黄色でマーキングします。トラフィックがポリシング レートを超過している間は、最大トークン バケットが満たされた状態になります。

          最大トークン バケットは、オーバーフローする前にはピーク バースト サイズ(be)までのバイト数を保持できます。このトークン バケットは、パケットが PIR に違反しているかを判断するトークンを保持しています。トラフィック ストリームにより最大トークン バケットがオーバーフローした場合、トラフィック ストリームは違反しています。この場合、トークン バケット アルゴリズムはトラフィック ストリームを赤色でマーキングします。

          たとえば、250 kbps のレートでデータ ストリームが 2 レート ポリサーに着信した場合に、CIR が 100 kbps、PIR が 200 kbps の場合、ポリサーはパケットを次のようにマーキングします。

          • 100 kbps はレートに適合

          • 100 kbps はレートを超過

          • 50 kbps はレートに違反

          ルータは認定トークン バケットと最大トークン バケットの両方のトークンを次のように更新します。

          • ルータは、パケットがインターフェイスに着信するたびに認定トークン バケットを CIR 値で更新します。認定トークン バケットには、認定バースト(bc)値まで含めることができます。

          • ルータは、パケットがインターフェイスに着信するたびに最大トークン バケットを PIR 値で更新します。最大トークン バケットには、ピーク バースト(be)値まで含めることができます。

          • 着信パケットが CIR に適合した場合、ルータはパケットに対して適合アクションを実行し、そのパケットのバイト数だけ認定トークン バケットと最大トークン バケットの両方をデクリメントします。

          • 着信パケットが CIR を超過した場合、ルータはパケットに対して confirm アクションを実行し、そのパケットのバイト数だけ認定トークン バケットをデクリメントし、パケットのオーバーフロー バイト数だけ最大トークン バケットをデクリメントします。

          • 着信パケットが PIR を超過した場合、ルータはパケットに対して違反アクションを実行しますが、最大トークン バケットをデクリメントしません。

          2 つのレートを使用したポリシング機能を参照してください。