Cisco ASR 9000 シリーズ ルータでの QoS 輻輳管理の設定に関する情報
このマニュアルの QoS 輻輳管理技術を実装するには、次の概念を理解している必要があります。
• 「輻輳管理の概要」
• 「Modified Deficit Round Robin」
• 「低遅延キューイングとストリクト プライオリティ キューイング」
• 「トラフィック シェーピング」
• 「シェーピング メカニズムによるトラフィックの調整」
• 「トラフィック ポリシング」
• 「ポリシング メカニズムによるトラフィックの調整」
輻輳管理の概要
輻輳管理機能では、パケットに割り当てられた優先順位に基づいて、トラフィック フロー(またはパケット)がインターフェイスに送信される順番を決定することにより、輻輳を制御できます。輻輳管理は、キューを作成し、そのキューにパケットの分類に基づいてパケットを割り当て、キューにあるパケットの送信をスケジューリングする必要があります。Cisco IOS XR ソフトウェアの輻輳管理機能を使用すると、異なる番号のキューの作成を指定したり、トラフィックの差別の度合いを大きくまたは小さくしたり、トラフィックが送信される順番を指定したりできます。
トラフィック フロー量が少ない間、つまり輻輳が存在しないときは、パケットは、着信するとすぐにインターフェイスに送信されます。発信インターフェイスでの送信輻輳中、パケットは、インターフェイスが送信可能な速度より速く着信します。輻輳管理機能を使用すると、インターフェイスに蓄積しているパケットが、インターフェイスでパケットを送信できるようになるまでキューイングされます。その後、パケットに割り当てられたプライオリティと、インターフェイスに設定されたキューイング方式に従って送信がスケジューリングされます。ルータで、どのパケットをどのキューに配置するかや、キューをそれぞれどのように処理するかを制御することで、パケット送信の順番が決定されます。
パケットが契約およびサービスに従うようにするには、キューイング方式に加えて、ポリサーやシェーパーなどの Qo S 輻輳管理メカニズムが必要です。ポリシングとシェーピングの両方のメカニズムでは、パケットのトラフィック記述子を使用します。トラフィック記述子の詳細については、このマニュアルの「Cisco ASR 9000 シリーズ ルータでのモジュラ QoS 輻輳管理の設定」 モジュールを参照してください。
ポリサーとシェーパーは、通常はトークン バケット メカニズムを使用した同じ方法でトラフィック記述子違反を識別しますが、違反への対応方法は異なります。ポリサーは、通常トラフィック フローをドロップします。一方、シェーパーは、バッファまたはキューイング メカニズムを使用して過剰なトラフィック フローを遅らせることにより、トラフィックを保持して後で送信します。
トラフィック シェーピングとトラフィック ポリシングは連携して機能します。たとえば、優れたトラフィック シェーピング スキームを使用すると、ネットワーク内のノードの異常なフローを簡単に検出できます。
Modified Deficit Round Robin
MDRR は、最大 8 個のトラフィック クラスのキューイングが可能なクラスベースの複合スケジューリング メカニズムです。MDRR はクラスベース重み付け均等化キューイング(CBWFQ)と同様に動作し、顧客の一致基準(アクセス リストなど)に基づくトラフィック クラスの定義が可能になります。ただし、MDRR では重み付け均等化キューイング アルゴリズムは使用されません。
MDRR がキューイング戦略に設定されている場合は、空ではないキューが 1 つずつ処理されます。キューが処理されるたびに、一定量のデータがキューから取り出されます。その後に、アルゴリズムは次のキューを処理します。キューが処理されると、キューから取り出された設定値を超えるデータのバイト数が MDDR に記録されます。次のパスでは、キューを再び処理するときに、以前に処理された超過データを埋め合わせるために、より少ないデータがキューから取り出されます。その結果、キュー単位でキューから取り出されるデータの平均量が設定値に近くなります。また、MDRR により、遅延に影響されやすいトラフィックのストリクト プライオリティ キューが可能になります。
MDRR 内の各キューは 2 つの変数で定義されます。
• 定量値:各ラウンドで処理される平均バイト数。
• 不足カウンタ:各ラウンドでキューから送信されるバイト数。カウンタは、定量値に合わせて初期化されます。
キューのパケットは不足カウンタがゼロより大きい限り処理されます。各パケットが処理されると、そのバイト長と同じ値だけ不足カウンタが減少します。不足カウンタがゼロまたは負になった後には、キューを処理できなくなります。新しい各ラウンドでは、空ではない各キューの不足カウンタが定量値の分だけインクリメントされます。
低遅延キューイングとストリクト プライオリティ キューイング
LLQ 機能により、MDRR スケジューリング メカニズムにおいてストリクト プライオリティ キューイング(PQ)を使用できます。ストリクト プライオリティ モードの PQ は、場合によっては他のすべてのトラフィックを犠牲にして、1 つのタイプのトラフィックが送信されることを確保します。PQ では、低プライオリティ キューは悪影響を受けることがあり、最悪の場合、帯域幅の一部が使用可能な場合や、クリティカルなトラフィックの伝送レートが高い場合に、そのパケットが送信できなくなります。
ストリクト PQ では、音声などの遅延に影響されやすいデータを、他のキューのパケットをキューから取り出す前にキューから取り出して送信できます。
LLQ により、MDRR 内の単一のストリクト プライオリティ キューをクラス レベルでイネーブルにし、クラスに属するトラフィックを誘導できます。ストリクト プライオリティ キューに従ってクラス トラフィックをランク付けするには、ポリシー マップの名前が付いたクラスを指定し、 priority コマンドをクラスに設定します。( priority コマンドが適用されるクラスは、プライオリティ クラスだと見なされます)。ポリシー マップで、1 つまたは複数のプライオリティ ステータスを指定できます。1 つのポリシー マップに複数のクラスがプライオリティ クラスとして設定されている場合、これらのクラスからのトラフィックはすべて、同じ単一のストリクト プライオリティ キューにキューイングされます。
priority コマンドを使用すると、トラフィックの指定に使用する有効な一致基準のいずれかにストリクト PQ を割り当てることができます。クラスへのトラフィックの指定方式には、アクセス リスト、プロトコル、IP precedence、および IP DiffServ コード ポイント(DSCP)値などがあります。さらに、アクセス リスト内で、IP ヘッダーの IP タイプ オブ サービス(ToS)バイトの最初の 6 ビットを使用して設定した DSCP 値に基づいたトラフィックの一致が可能になるよう指定できます。
トラフィック シェーピング
トラフィック シェーピングでは、インターフェイスから出力されるトラフィック フローを制御して、リモート ターゲット インターフェイスの速度に合わせてトラフィック フローを伝送することにより、指定されているポリシーにトラフィックを適合させることができます。ダウンストリーム要件を満たすように、特定のプロファイルに適合するトラフィックをシェーピングできるため、データレートが一致しないトポロジで発生するボトルネックが排除されます。
送信元からターゲット インターフェイスへのデータ伝送レートを一致させるには、次のいずれかに合わせてデータ転送を制限できます。
• 特定の設定レート
• 輻輳レベルに基づいて抽出されたレート
転送レートは、トークン バケットを構成する 3 つの要素(バースト サイズ、中間レート、および時間(測定)間隔)に依存します。中間レートは、バースト サイズを時間間隔で割った商と一致します。
トラフィック シェーピングがイネーブルになっている場合は、インターフェイスのビット レートが、時間間隔の整数倍を超えて、中間レートを上回ることはありません。つまり、すべての時間間隔で、最大バースト サイズを送信できます。ただし、時間間隔内の任意の時点で、ビット レートが中間レートを上回ることがあります。
ピーク バースト サイズが 0 の場合は、インターフェイスが時間間隔ごとにバースト サイズしか送信しないため、平均レートが中間レートを超えることはありません。ただし、ピーク バースト サイズが 0 より大きい場合は、過去に最大量が送信されたことがなければ、インターフェイスは 1 バースト内でバースト サイズとピーク バーストを足したビット数を送信できます。ある時間間隔中にバースト サイズ未満のビット数が送信された場合は、ピーク バースト サイズを超えない残りのビット数を使用して、次の時間間隔でバースト サイズを超えるビット数を送信できます。
シェーピング メカニズムによるトラフィックの調整
着信パケットがインターフェイスに着信すると、分類技術(アクセス コントロール リスト(ACL)、モジュラ QoS CLI(MQC)による IP precedence ビットの設定など)を使用してパケットが分類されます。パケットが、指定された分類と一致した場合は、トラフィック シェーピング メカニズムが継続されます。そうでない場合は、それ以上の処理が行われません。
図 1 に、トラフィック シェーピング メカニズムによるトラフィック フローの調整方法を示します。
図 1 トラフィック シェーピング メカニズムによるトラフィックの調整方法
指定された条件を満たしているパケットが、トークン バケット内に配置されます。トークン バケットの最大サイズは、適合バースト(Bc)サイズ + Be サイズです。トークン バケットは、Tc ごとに Bc に相当するトークンの固定レートで満たされます。これは、設定されたトラフィック シェーピング レートです。
トラフィック シェーピング メカニズムがアクティブ(つまり、設定されたトラフィック シェーピング レートを上回るパケットがすでに転送キュー内に存在する)場合は、Tc ごとに、トラフィック シェーパーが、転送キュー内に送信に十分なパケットが存在する(つまり、トラフィックの最大 Bc(または Bc + Be)に到達している)かどうかをチェックします。
トラフィック シェーパーがアクティブになっていない(つまり、転送キュー内に設定されたトラフィック シェーピングを上回るパケットが存在しない)場合は、トラフィック シェーパーがトークン バケット内のトークンの数をチェックします。次のいずれかが発生します。
• トークン バケット内に十分なトークンが存在する場合は、パケットが送信(転送)されます。
• トークン バケット内に十分なトークンが存在しない場合は、後で転送するためにパケットがシェーピング キュー内に配置されます。
トラフィック ポリシング
一般的に、トラフィック ポリシングでは、インターフェイス上で送受信するトラフィックの最大レートを制御したり、ネットワークを複数のプライオリティ レベルまたはサービス クラス(CoS)に区切ることができます。
トラフィック ポリシングでは、トークン バケット アルゴリズムを介して、トラフィックの最大レートを管理します。トークン バケット アルゴリズムでは、ユーザが設定した値を使用して、特定の瞬間にインターフェイス上で許可されるトラフィックの最大レートを決定します。トークン バケット アルゴリズムは、(トラフィック ポリシングでトラフィック ポリシーが設定された場所により)インターフェイスを出入りするすべてのトラフィックによって影響を受け、複数の大きなパケットが同じトラフィック ストリームで送信される場合に、ネットワーク帯域幅の管理に役立ちます。
トラフィック ポリシングは、多くの場合、ネットワークに出入りするトラフィックのレートを制限するためにネットワークのエッジのインターフェイスで設定されます。最も一般的なトラフィック ポリシングの設定では、CIR に適合したトラフィックは送信され、超過したトラフィックはプライオリティを下げて送信されるかドロップされます。ユーザはネットワークのニーズに合わせてこれらの設定オプションを変更できます。トラフィック ポリシングでは、認定情報レート(CIR)のバースト サイズ(Bc)を設定することにより、一定量の帯域幅管理も行えます。最大情報レート(PIR)がサポートされている場合は、2 番めのトークン バケットが有効になり、トラフィック ポリサーは 2 レート ポリサーと呼ばれます。
ポリシング メカニズムによるトラフィックの調整
ここでは、シングルレート ポリシング メカニズムおよび 2 レート ポリシング メカニズムについて説明します。
シングルレート ポリサー
シングルレートの 2 アクション ポリサーでは、各パケットに対する 2 つのアクション(conform アクションおよび exceed アクション)を実行する単一のトークン バケットを使用できます。
図 2 に、シングルレートのトークン バケット ポリサーにより、CIR 適合または CIR 超過としてパケットをマーキングし、アクションを割り当てる方法を示します。
図 2 パケットのマーキングおよびアクションの割り当て:シングルレート ポリサー
トークン バケットへのトークン更新の間隔(Tc)は、パケットがトラフィック ポリサーに着信するたびに CIR 値で更新されます。Tc トークン バケットには Bc 値まで含めることができ、この値には、特定のバイト数または期間を指定できます。サイズ B のパケットが Tc トークン バケットを超える場合、パケットは CIR 値を超え、設定されたアクションが実行されます。サイズ B のパケットが Tc トークン バケット未満の場合、パケットは適合し、設定された異なるアクションが実行されます。
2 レート ポリサー
2 レート ポリサーは、2 つのトークン バケット(認定トークン バケットおよび最大トークン バケット)を使用してトラフィックの最大レートを管理します。デュアルトークン バケット アルゴリズムは、ユーザが設定した値を使用して、特定の時点においてキューで許可されるトラフィックの最大レートを決定します。これにより、2 レート ポリサーは、2 つの独立したレート(認定情報レート(CIR)および最大情報レート(PIR))でトラフィックを測定できます。
認定トークン バケットは、オーバーフローする前には認定バースト(bc)のサイズまでのバイト数を保持できます。次に説明するように、このトークン バケットは、CIR に適合しているか、または CIR を超過しているかを判断するトークンを保持しています。
• 一定時間での平均バイト数により認定トークン バケットがオーバーフローしない場合、トラフィック ストリームは適合しています。この場合、トークン バケット アルゴリズムはトラフィック ストリームを緑色でマーキングします。
• トラフィック ストリームにより認定トークン バケットが最大トークン バケットにオーバーフローした場合、トラフィック ストリームは超過しています。この場合、トークン バケット アルゴリズムはトラフィック ストリームを黄色でマーキングします。トラフィックがポリシング レートを超過している間は、最大トークン バケットが満たされた状態になります。
最大トークン バケットは、オーバーフローする前にはピーク バースト サイズ(be)までのバイト数を保持できます。このトークン バケットは、パケットが PIR に違反しているかを判断するトークンを保持しています。トラフィック ストリームにより最大トークン バケットがオーバーフローした場合、トラフィック ストリームは違反しています。この場合、トークン バケット アルゴリズムはトラフィック ストリームを赤色でマーキングします。
デュアルトークン バケット アルゴリズムでは、各パケットに対する 3 つのアクション(conform アクション、exceed アクション、および任意の violate アクション)を使用できます。2 レート ポリサーを設定した状態でキューに入るトラフィックは、これらのカテゴリのいずれかに配置されます。これら 3 つのカテゴリ内で、ユーザはパケットの処理を決定できます。たとえば、適合するパケットは送信されるように設定し、超過するパケットはプライオリティを低くして送信されるように設定し、違反するパケットはドロップされるように設定できます。
図 3 に、2 レート ポリサーを使用してパケットをマーキングする方法、および対応するアクションをパケットに割り当てる方法を示します。
図 3 パケットのマーキングおよびアクションの割り当て:2 レート ポリサー
たとえば、250 kbps のレートでデータ ストリームが 2 レート ポリサーに着信した場合に、CIR が 100 kbps、PIR が 200 kbps の場合、ポリサーはパケットを次のようにマーキングします。
• 100 kbps はレートに適合
• 100 kbps はレートを超過
• 50 kbps はレートに違反
ルータは認定トークン バケットと最大トークン バケットの両方のトークンを次のように更新します。
• ルータは、パケットがインターフェイスに着信するたびに認定トークン バケットを CIR 値で更新します。認定トークン バケットには、認定バースト(bc)値まで含めることができます。
• ルータは、パケットがインターフェイスに着信するたびに最大トークン バケットを PIR 値で更新します。最大トークン バケットには、ピーク バースト(be)値まで含めることができます。
• 着信パケットが CIR に適合した場合、ルータはパケットに対して適合アクションを実行し、そのパケットのバイト数だけ認定トークン バケットと最大トークン バケットの両方をデクリメントします。
• 着信パケットが CIR を超過した場合、ルータはパケットに対して confirm アクションを実行し、そのパケットのバイト数だけ認定トークン バケットをデクリメントし、パケットのオーバーフロー バイト数だけ最大トークン バケットをデクリメントします。
• 着信パケットが PIR を超過した場合、ルータはパケットに対して違反アクションを実行しますが、最大トークン バケットをデクリメントしません。
認定バーストおよび超過バースト
トラフィック シェーパーとは異なり、トラフィック ポリサーは超過パケットをバッファせず、後で送信します。代わりに、ポリサーはバッファ リングしないで「送信または送信なし」のポリシーを実行します。輻輳期間中には、超過バースト パラメータを適切に設定することにより、ポリサーによるパケットのドロップを抑えることができます。したがって、ルータがポリシングが認定(標準)バースト値および超過バースト値を使用して、設定された認定情報レート(CIR)に到達することを確保する仕組みを理解することが重要です。
バースト パラメータは、ルータの一般的なバッファリング ルールに基づいており、ラウンドトリップ時間のビットレートと同じになるようにバッファリングを設定して、輻輳期間中におけるすべての接続の、未処理の TCP ウィンドウに対応することが推奨されます。
ここでは、認定バーストと超過バースト、およびこれらを計算するための推奨される式について説明します。
• 「認定バースト」
• 「超過バースト」
• 「認定レートに対するパケットの適合または超過の決定」
認定バースト
police コマンドの認定バースト(bc)パラメータでは、トラフィックを測定するためにルータが使用する 1 番めの適合(緑色)トークン バケットが実装されます。bc パラメータにより、このトークン バケットのサイズが設定されます。最初は、トークン バケットは一杯の状態で、トークン カウントは認定バースト サイズ(CBS)と同じです。その後、メーターは、認定情報レート(CIR)によって示された秒単位の回数だけトークン カウントを更新します。
次に、メーターが適合トークン バケットを使用してパケットを送信する仕組みについて説明します。
• パケットが着信したときに、適合トークン バケットに十分なトークンがある場合、メーターはパケットを緑色でマーキングし、パケットのバイト数だけ適合トークン カウントをデクリメントします。
• 適合トークン バケットの使用可能なトークンが不十分な場合は、メーターにより、トラフィック フローは必要なトークンを借りてパケットを送信できます。メーターはパケットのバイト数の超過トークン バケットをチェックします。超過トークン バケットに使用可能な十分な数のトークンがある場合、メーターはパケットを次のようにマーキングします。
a. 緑色:適合トークン カウントを最小値の 0 に達するまでデクリメントします。
b. 黄色:超過トークン バケットから必要な残りのトークンを借り、最小値の 0 に達するまで、借りたトークン数だけ超過トークン カウントをデクリメントします。
• 使用可能なトークンの数が不十分な場合、メーターはパケットを赤色としてマーキングし、適合トークン カウントまたは超過トークン カウントをデクリメントしません。
(注) メーターが特定のカラーでパケットをマーキングするときには、そのカラーのトークンがパケット全体に対応するのに十分な数である必要があります。したがって、緑色のパケットの量が、認定情報レート(CIR)および認定バースト サイズ(CBS)よりも少なくなることはありません。特定のカラーのトークンは、そのカラーのパケットに対して常に使用されます。
デフォルトの認定バースト サイズは、ポリシング レートでの 2 ミリ秒のバイト数、またはネットワークの最大伝送ユニット(MTU)よりも大きくなります。
認定バーストの計算
認定バーストを計算するには、次の式を使用します。
bc = CIR bps × (1 バイト) / (8 ビット) × 1.5 秒
(注) 通常のラウンドトリップ時間は 1.5 秒です。
たとえば、認定情報レートが 512000 bps の場合、認定バーストの式を使用した認定バーストは 96000 バイトになります。
bc = 512000 × 1/8 × 1.5
bc = 64000 × 1.5 = 96000
(注) be 値が 0 になる場合は、出力 bc 値を、入力 bc 値に 1 を足した値以上に設定することを推奨します。そうしないと、パケット損失が発生する場合があります。次に例を示します。
be = 0
出力 bc >= 入力 bc + 1
超過バースト
police コマンドの超過バースト(be)パラメータでは、トラフィックを測定するためにルータが使用する 2 番めの超過(黄色)トークン バケットが実装されます。最初は、超過トークン バケットは一杯の状態で、トークン カウントは超過バースト サイズ(EBS)と同じです。その後、メーターは、認定情報レート(CIR)によって示された秒単位の回数だけトークン カウントを更新します。
次に、メーターが超過トークン バケットを使用してパケットを送信する仕組みについて説明します。
• 最初のトークン バケット(適合バケット)が認定バースト サイズ(CBS)を満たしている場合は、メーターにより、トラフィック フローは必要なトークンを超過トークン バケットから借りることができます。メーターはパケットを黄色としてマーキングしてから、パケットのバイト数だけ超過トークン バケットをデクリメントします。
• 借りるために必要なトークンが超過トークン バケットにない場合、メーターはパケットを赤色としてマーキングし、適合トークン バケットまたは超過トークン バケットをデクリメントしません。代わりに、メートルは police コマンドで設定した exceed アクションを実行します(たとえば、ポリサーがパケットをドロップするなど)。
超過バーストの計算
超過バーストを計算するには、次の式を使用します。
be = 2 ×認定バースト
たとえば、4000 バイトの認定バーストを設定した場合、超過バーストの式を使用した超過バーストは 8000 バイトになります。
be = 2 × 4000 = 8000
デフォルトの超過バースト サイズは 0 です。
認定レートに対するパケットの適合または超過の決定
設定された認定情報レート(CIR)に達するように、ポリシングは標準つまり適合バースト(bc)値と超過バースト(be)値を使用します。ポリシングは、設定したバースト値に基づいて、パケットが CIR に適合しているか、または CIR を超過しているかを決定します。次のように、複数の要素がポリサーの決定に影響する可能性があります。
• 低いバースト値:低すぎるバースト値を設定した場合は、達成されるレートが設定されたレートよりかなり低くなる場合があります。
• 一時的なバースト:このようなバーストは、伝送制御プロトコル(TCP)のトラフィックのスループットに重大な悪影響を及ぼすことがあります。
良好なスループ ットを確保するには、十分高いバースト値を設定することが重要です。適合レートが設定した CIR 未満であるにもかかわらず、ルータがパケットをドロップし、超過したレートを報告する場合は、show interface コマンドを使用して現在のバーストをモニタし、表示された値が一貫して認定バースト(bc)値および超過バースト(be)値に近い値であるか、実際のレート(認定レートおよび超過レート)が設定した認定レートに近い値であるかを確認します。該当しない場合は、バースト値が低すぎる可能性があります。「認定バーストの計算」および「超過バーストの計算」の推奨計算を使用して、バースト レートの再設定を試してください。
2 レート 3 カラー(2R3C)ポリサー
SIP 700 カードでは、入力レイヤ 2 インターフェイスのポリシー マップで 2 レート 3 カラー(2R3C)ポリサーがサポートされます。ポリサーは、以前のネットワーク ノードのポリサーによって設定された既存のマーキング(パケット ヘッダーのフレーム リレーの破棄適性(FRDE)ビット)を読み取ります。デフォルトでは、FRDE ビットは 0 に設定されます。受信ノードのシステムは、このビットを使用してパケットの適切なカラーアウェア ポリシング アクションを決定します。
• FRDE ビット値 0 を適合カラーとして分類するには、frde=0 パケットの適合カラー クラスマップを作成します。これにより、パケットが緑色のカラーとして分類され、システムにより conform アクションが適用されます。
• FRDE ビット値 1 を超過カラーとして分類するには、frde=1 パケットの超過カラー クラスマップを作成します。これにより、パケットが黄色のカラーとして分類され、システムにより exceed アクションが適用されます。
(注) カラーアウェア ポリシングは、階層型 QoS ではサポートされません。
図 4 に、2R3C ポリシング プロセスを示します。
図 4 2R3C ポリシング プロセスのフローチャート
階層型ポリシング
階層型ポリシング機能は、Cisco ASR 9000 シリーズ ルータ上の入力インターフェイスと出力インターフェイスの両方での階層型ポリシングをサポートする、MQC ベースのソリューションです。
この機能により、着信インターフェイス上で異なる QoS クラスの分類のサブモデルを適用しながら、サービス レベル契約(SLA)を実施できます。
階層型ポリシングは、次の 2 つのレベルでのサポートを提供します。
• 親レベル
• 子レベル
階層型ポリシングの詳細については、 「Cisco ASR 9000 シリーズ ルータの階層型モジュラ QoS の設定」 の章を参照してください。
IP precedence 値、IP DSCP 値、および MPLS EXP 値の設定によるパケット マーキング
レート制限に加えて、トラフィック ポリシングでは、指定したレートにパケットが適合または違反しているかに従って、パケットをマーキング(または分類)できます。パケット マーキングにより、ネットワークを複数のプライオリティ レベルまたは CoS に区切ることもできます。ポリサーのアクションとしてのパケット マーキングは、条件付きマーキングです。
ネットワークに入るパケットの IP precedence 値、IP DSCP 値、またはマルチプロトコル ラベル スイッチング(MPLS)EXP 値を設定するには、トラフィック ポリサーを使用します。ネットワーク内にあるネットワーキング デバイスは、この設定を使用してトラフィックの処理方法を決定できます。たとえば、重み付けランダム早期検出(WRE)機能では、IP precedence 値を使用して、パケットがドロップされる確率を決定します。
トラフィックをマーキングする場合に、トラフィック ポリシングを使用しない場合は、パケットの分類を実行する方法について、このマニュアルの「クラスベースの無条件パケット マーキングの例」の項を参照してください。
(注) MPLS 対応インターフェイス上で IP フィールドをマーキングすると、特定のインターフェイス上での動作が停止します。
DEI を使用した輻輳管理
802.1ad フレームと 802.1ah フレームに含まれる Drop Eligible Indicator(DEI)ビットに基づいて輻輳を管理できます。DEI 値に基づくランダム早期検出は、次における 802.1ad パケットでサポートされます。
• レイヤ 2 サブインターフェイス
• レイヤ 2 メイン インターフェイス
• レイヤ 3 メイン インターフェイス
• 入力および出力
(注) ポリシーにマーキング アクションがある場合、マーキングされた値は、WRED の実行に使用されます。
Cisco ASR 9000 シリーズ ルータでの QoS 輻輳管理の設定方法
ここでは、次の作業の手順について説明します。
• 「保証帯域幅および残存帯域幅の設定」
• 「低遅延キューイングとストリクト プライオリティ キューイングの設定」
• 「トラフィック シェーピングの設定」
• 「トラフィック ポリシングの設定(2 レート カラーブラインド)」
• 「トラフィック ポリシングの設定(2R3C)」
• 「階層型ポリシングの設定」
保証帯域幅および残存帯域幅の設定
キューの保証サービス レートは、すべてのキューが輻輳状態である場合にキューが受信する帯域幅として定義されます。これは、次のように定義されます。
保証サービス レート = 最小帯域幅 + キューの超過分
bandwidth コマンドでは、トラフィックの特定のクラスに対して割り当てる最小保証帯域幅を指定できます。MDRR は、スケジューリング アルゴリズムとして実装されます。
bandwidth remaining コマンドでは、MDRR に対するクラスの重みを指定します。MDRR アルゴリズムは、クラスに割り当てられた残存帯域幅の値から各クラスの重みを取得します。残存帯域幅は、 bandwidth remaining ratio または bandwidth remaining percent コマンドを使用して、ポリシー内のクラス間で分割します。すべてのクラスに対して bandwidth remaining コマンドを設定しない場合、残りの帯域幅は、 bandwidth remaining が明示的に指定されていないすべてのクラスに均等に割り当てられます。
制限事項
設定する帯域幅の量は、レイヤ 2 オーバーヘッドも十分処理できる量にする必要があります。
bandwidth コマンドは、発信インターフェイスで設定されたポリシーに対してのみサポートされます。
手順の概要
1. configure
2. policy-map policy-name
3. class class-name
4. bandwidth { rate [ units ] | percent percentage-value }
5. exit
6. class class-name
7. bandwidth { rate [ units ] | percent percentage-value }
8. exit
9. class class-name
10. bandwidth { rate [ units ] | percent percentage-value }
11. exit
12. exit
13. interface type interface-path-id
14. service-policy { input | output } policy-map
15. end
または
commit
16. show policy-map interface type interface-path-id [ input | output ]
手順の詳細
|
|
|
ステップ 1 |
configure
RP/0/RSP0/CPU0:router# configure |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config)# policy-map policy1 |
ポリシー マップ コンフィギュレーション モードを開始します。 • 1 つ以上のインターフェイスに付加できるポリシー マップを作成または変更し、サービス ポリシーを指定します。 |
ステップ 3 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class class1 |
ポリシーを作成または変更するクラスの名前を指定します。 |
ステップ 4 |
bandwidth { rate [ units ]| percent percentage-value }
RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth percent 40 |
ポリシー マップ クラス コンフィギュレーション モードを開始します。 • ポリシー マップに属しているクラスに割り当てる帯域幅を指定します。 • この例では、クラス class1 においてインターフェイス帯域幅の 40% が保証されます。 |
ステップ 5 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c)# exit |
ルータをポリシー マップ コンフィギュレーション モードに戻します。 |
ステップ 6 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class class2 |
ポリシーを作成または変更するクラスの名前を指定します。 |
ステップ 7 |
bandwidth { rate [ units ]| percent percentage-value }
RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth percent 40 |
ポリシー マップ クラス コンフィギュレーション モードを開始します。 • ポリシー マップに属しているクラスに割り当てる帯域幅を指定します。 • この例では、クラス class2 においてインターフェイス帯域幅の 40% が保証されます。 |
ステップ 8 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c)# exit |
ルータをポリシー マップ コンフィギュレーション モードに戻します。 |
ステップ 9 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class class-default |
ポリシーを作成または変更するクラスの名前を指定します。 |
ステップ 10 |
bandwidth { rate [ units ]| percent percentage-value }
RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth percent 20 |
ポリシー マップ クラス コンフィギュレーション モードを開始します。 • ポリシー マップに属しているクラスに割り当てる帯域幅を指定します。 • この例では、クラス class-default においてインターフェイス帯域幅の 20% が保証されます。 |
ステップ 11 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c)# exit |
ルータをポリシー マップ コンフィギュレーション モードに戻します。 |
ステップ 12 |
exit
RP/0/RSP0/CPU0:router(config-pmap)# exit |
ルータをグローバル コンフィギュレーション モードに戻します。 |
ステップ 13 |
interface type interface-path-id
RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/2/0/0 |
インターフェイス コンフィギュレーション モードを開始し、インターフェイスを設定します。 |
ステップ 14 |
service-policy { input | output } policy-map
RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 |
インターフェイスのサービス ポリシーとして使用する入力インターフェイスまたは出力インターフェイスにポリシー マップを付加します。 • この例では、トラフィック ポリシーでそのインターフェイスから送信されるすべてのトラフィックを評価します。 |
ステップ 15 |
end または commit
RP/0/RSP0/CPU0:router(config-if)# end または RP/0/RSP0/CPU0:router(config-if)# commit |
設定変更を保存します。 • end コマンドを実行すると、変更をコミットするように要求されます。
Uncommitted changes found, commit them before exiting(yes/no/cancel)?
[cancel]:
– yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。 – no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。 – cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。 • 実行コンフィギュレーション ファイルに変更を保存し、コンフィギュレーション セッションを継続するには、 commit コマンドを使用します。 |
ステップ 16 |
show policy-map interface type interface-path-id [ input | output ]
RP/0/RSP0/CPU0:router# show policy-map interface gigabitethernet 0/2/0/0 |
(任意)指定されたインターフェイス上のすべてのサービス ポリシーに対して設定されている全クラスのポリシー設定情報を表示します。 |
手順の概要
1. configure
2. policy-map policy-name
3. class class-name
4. bandwidth remaining { percent percentage-value | ratio ratio-value }
5. exit
6. class class-name
7. bandwidth remaining { percent percentage-value | ratio ratio-value }
8. exit
9. class class-name
10. bandwidth remaining { percent percentage-value | ratio ratio-value }
11. exit
12. exit
13. interface type interface-path-id
14. service-policy { input | output } policy-map
15. end
または
commit
16. show policy-map interface type instance [ input | output ]
手順の詳細
|
|
|
ステップ 1 |
configure
RP/0/RSP0/CPU0:router# configure |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config)# policy-map policy1 |
ポリシー マップ コンフィギュレーション モードを開始します。 • 1 つ以上のインターフェイスに付加できるポリシー マップを作成または変更し、サービス ポリシーを指定します。 |
ステップ 3 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class class1 |
ポリシーを作成または変更するクラスの名前を指定します。 |
ステップ 4 |
bandwidth remaining percent percentage-value
RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth remaining percent 40 |
クラス class1 に対する残りの帯域幅の割り当て方法を指定します。 |
ステップ 5 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c)# exit |
ルータをポリシー マップ コンフィギュレーション モードに戻します。 |
ステップ 6 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class class2 |
ポリシーを作成または変更するクラスの名前を指定します。 |
ステップ 7 |
bandwidth remaining percent percentage-value
RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth remaining percent 40 |
クラス class2 に対する残りの帯域幅の割り当て方法を指定します。 |
ステップ 8 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c)# exit |
ルータをポリシー マップ コンフィギュレーション モードに戻します。 |
ステップ 9 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class class-default |
ポリシーを作成または変更するクラスの名前を指定します。 |
ステップ 10 |
bandwidth remaining percent percentage-value
RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth remaining percent 20 |
クラス class-default に対する残りの帯域幅の割り当て方法を指定します。 |
ステップ 11 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c)# exit |
ルータをポリシー マップ コンフィギュレーション モードに戻します。 |
ステップ 12 |
exit
RP/0/RSP0/CPU0:router(config-pmap)# exit |
ルータをグローバル コンフィギュレーション モードに戻します。 |
ステップ 13 |
interface type interface-path-id
RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/2/0/0 |
インターフェイス コンフィギュレーション モードを開始し、インターフェイスを設定します。 |
ステップ 14 |
service-policy { input | output } policy-map
RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 |
インターフェイスのサービス ポリシーとして使用する入力インターフェイスまたは出力インターフェイスにポリシー マップを付加します。 • この例では、トラフィック ポリシーでそのインターフェイスから送信されるすべてのトラフィックを評価します。 |
ステップ 15 |
end または commit
RP/0/RSP0/CPU0:router(config-if)# end または RP/0/RSP0/CPU0:router(config-if)# commit |
設定変更を保存します。 • end コマンドを実行すると、変更をコミットするように要求されます。
Uncommitted changes found, commit them before exiting(yes/no/cancel)?
[cancel]:
– yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。 – no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。 – cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。 • 実行コンフィギュレーション ファイルに変更を保存し、コンフィギュレーション セッションを継続するには、 commit コマンドを使用します。 |
ステップ 16 |
show policy-map interface type interface-path-id [ input | output ]
RP/0/RSP0/CPU0:router# show policy-map interface gigabitethernet 0/2/0/0 |
(任意)指定されたインターフェイス上のすべてのサービス ポリシーに対して設定されている全クラスのポリシー設定情報を表示します。 |
低遅延キューイングとストリクト プライオリティ キューイングの設定
priority コマンドは、低遅延キューイング(LLQ)を設定し、ストリクト プライオリティ キューイングを提供します。ストリクト PQ では、音声などの遅延に影響されやすいデータを、他のキューのパケットをキューから取り出す前にキューから取り出して送信できます。 priority コマンドを使用してクラスが高プライオリティとしてマーキングされる場合は、ポリサーがプライオリティ トラフィックを制限するように設定する必要があります。この設定は、プライオリティ トラフィックがラインカード上のその他すべてのトラフィックをスタベーション状態にしないことを保証するため、低プライオリティ トラフィックは、スタベーション状態から保護されます。 police コマンドを使用して、ポリサーを明示的に設定します。
(注) 2 つのレベルのプライオリティ(プライオリティ レベル 1 およびプライオリティ レベル 2)がサポートされます。プライオリティ レベルが設定されていない場合、デフォルトはプライオリティ レベル 1 になります。
制限事項
• ポリシー マップ内で、1 つまたは複数のクラスにプライオリティ ステータスを指定できます。1 つのポリシー マップに複数のクラスがプライオリティ クラスとして設定されている場合、これらのクラスからのトラフィックはすべて、同じ単一の完全プライオリティ キューにキューイングされます。
手順の概要
1. configure
2. policy-map policy-name
3. class class-name
4. police rate { value [ units ] | percent percentage } [ burst burst-size [ burst-units ]] [ peak-burst peak-burst [ burst-units ]] [ peak-rate value [ units ]]
5. exceed-action action
6. exit
7. priority [ level priority-level ]
8. exit
9. exit
10. interface type interface-path-id
11. service-policy { input | output } policy-map
12. end
または
commit
13. show policy-map interface type interface-path-id [ input | output ]
手順の詳細
|
|
|
ステップ 1 |
configure
RP/0/RSP0/CPU0:router# configure |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config)# policy-map voice |
ポリシー マップ コンフィギュレーション モードを開始します。 • 1 つ以上のインターフェイスに付加できるポリシー マップを作成または変更し、サービス ポリシーを指定します。 |
ステップ 3 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class voice |
ポリシー マップ クラス コンフィギュレーション モードを開始します。 • ポリシーを作成または変更するクラスの名前を指定します。 |
ステップ 4 |
police rate { value [ units ] | percent percentage } [ burst burst-size [ burst-units ]] [ peak-burst peak-burst [ burst-units ]] [ peak-rate value [ units ]]
RP/0/RSP0/CPU0:router(config-pmap-c)# police rate 250 |
トラフィック ポリシングを設定し、ポリシー マップ ポリシング コンフィギュレーション モードを開始します。 • この例では、低遅延キューイングを 250 Kbps に制限して低プライオリティ トラフィックをスタベーション状態から保護し、帯域幅を解放します。 |
ステップ 5 |
exceed-action action
RP/0/RSP0/CPU0:router(config-pmap-c-police)# exceed-action drop |
レート制限を超過したパケットに対して実行するアクションを設定します。 |
ステップ 6 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c-police)# exit |
ルータをポリシー マップ クラス コンフィギュレーション モードに戻します。 |
ステップ 7 |
priority [ level priority-level ]
RP/0/RSP0/CPU0:router(config-pmap-c)# priority |
ポリシー マップに属するトラフィックのクラスにプライオリティを指定します。 (注) プライオリティ レベルが設定されていない場合、デフォルトはプライオリティ 1 になります。 |
ステップ 8 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c)# exit |
ルータをポリシー マップ コンフィギュレーション モードに戻します。 |
ステップ 9 |
exit
RP/0/RSP0/CPU0:router(config-pmap)# exit |
ルータをグローバル コンフィギュレーション モードに戻します。 |
ステップ 10 |
interface type interface-path-id
RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/2/0/0 |
インターフェイス コンフィギュレーション モードを開始し、インターフェイスを設定します。 |
ステップ 11 |
service-policy { input | output } policy-map
RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 |
インターフェイスのサービス ポリシーとして使用する入力インターフェイスまたは出力インターフェイスにポリシー マップを付加します。 • この例では、トラフィック ポリシーでそのインターフェイスから送信されるすべてのトラフィックを評価します。 |
ステップ 12 |
end または commit
RP/0/RSP0/CPU0:router(config-if)# end または RP/0/RSP0/CPU0:router(config-if)# commit |
設定変更を保存します。 • end コマンドを実行すると、変更をコミットするように要求されます。
Uncommitted changes found, commit them before exiting(yes/no/cancel)?
[cancel]:
– yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。 – no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。 – cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。 • 実行コンフィギュレーション ファイルに変更を保存し、コンフィギュレーション セッションを継続するには、 commit コマンドを使用します。 |
ステップ 13 |
show policy-map interface type interface-path-id [ input | output ]
RP/0/RSP0/CPU0:router# show policy-map interface gigabitethernet 0/2/0/0 |
(任意)指定されたインターフェイス上のすべてのサービス ポリシーに対して設定されている全クラスのポリシー設定情報を表示します。 |
トラフィック シェーピングの設定
トラフィック シェーピングでは、インターフェイスから出力されるトラフィックを制御して、リモート ターゲット インターフェイスの速度に合わせてトラフィック フローを伝送することにより、指定されているポリシーにトラフィックを適合させることができます。
着信インターフェイスおよび発信インターフェイス上で実行されるシェーピングは、レイヤ 2 レベルで実行され、レート計算にレイヤ 2 ヘッダーが含まれます。
制限事項
The bandwidth コマンド、 priority コマンド、および shape average コマンドは、同じクラス内で同時に設定しないでください。
手順の概要
1. configure
2. policy-map policy-name
3. class class-name
4. shape average { percent value | rate [ units ]}
5. exit
6. exit
7. interface type interface-path-id
8. service-policy { input | output } policy-map
9. end
または
commit
10. show policy-map interface type interface-path-id [ input | output ]
手順の詳細
|
|
|
ステップ 1 |
configure
RP/0/RSP0/CPU0:router# configure |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config)# policy-map policy1 |
ポリシー マップ コンフィギュレーション モードを開始します。 • 1 つ以上のインターフェイスに付加できるポリシー マップを作成または変更し、サービス ポリシーを指定します。 |
ステップ 3 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class class1 |
ポリシー マップ クラス コンフィギュレーション モードを開始します。 • ポリシーを作成または変更するクラスの名前を指定します。 |
ステップ 4 |
shape average
{
percent
value |
rate [
units ]}
RP/0/RSP0/CPU0:router(config-pmap-c)# shape average percent 50 |
指定した単位の平均レート シェーピングに従って、または帯域幅のパーセンテージとして、表示されたビット レートにトラフィックをシェーピングします。 |
ステップ 5 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c)# exit |
ルータをポリシー マップ コンフィギュレーション モードに戻します。 |
ステップ 6 |
exit
RP/0/RSP0/CPU0:router(config-pmap)# exit |
ルータをグローバル コンフィギュレーション モードに戻します。 |
ステップ 7 |
interface type interface-path-id
RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/2/0/0 |
インターフェイス コンフィギュレーション モードを開始し、インターフェイスを設定します。 |
ステップ 8 |
service-policy { input | output } policy-map
RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 |
インターフェイスのサービス ポリシーとして使用する入力インターフェイスまたは出力インターフェイスにポリシー マップを付加します。 • この例では、トラフィック ポリシーでそのインターフェイスから送信されるすべてのトラフィックを評価します。 |
ステップ 9 |
end または commit
RP/0/RSP0/CPU0:router(config-if)# end または RP/0/RSP0/CPU0:router(config-if)# commit |
設定変更を保存します。 • end コマンドを実行すると、変更をコミットするように要求されます。
Uncommitted changes found, commit them before exiting(yes/no/cancel)?
[cancel]:
– yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。 – no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。 – cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。 • 実行コンフィギュレーション ファイルに変更を保存し、コンフィギュレーション セッションを継続するには、 commit コマンドを使用します。 |
ステップ 10 |
show policy-map interface type interface-path-id [ input | output ]
RP/0/RSP0/CPU0:router# show policy-map interface gigabitethernet 0/2/0/0 |
(任意)指定されたインターフェイス上のすべてのサービス ポリシーに対して設定されている全クラスのポリシー設定情報を表示します。 |
トラフィック ポリシングの設定(2 レート カラーブラインド)
トラフィック ポリシングでは、インターフェイス上で送受信されるトラフィックの最大レートを制御できます。ここでは、2 レート カラーブラインド トラフィック ポリシングを設定する手順について説明します。
手順の概要
1. configure
2. policy-map policy-name
3. class class-name
4. police rate { value [ units ] | percent percentage } [ burst burst-size [ burst-units ]] [ peak-burst peak-burst [ burst-units ]] [ peak-rate value [ units ]]
5. conform-action action
6. exceed-action action
7. exit
8. exit
9. exit
10. interface type interface-path-id
11. service-policy { input | output } policy-map
12. end
または
commit
13. show policy-map interface type interface-path-id [ input | output ]
(注) 複数アクション設定/ポリサー機能により、複数の conform アクションおよび exceed アクションを設定できます。したがって、conform-action コマンドおよび exceed-action コマンドを設定内で複数回繰り返すことができます。
手順の詳細
|
|
|
ステップ 1 |
configure
RP/0/RSP0/CPU0:router# configure |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config)# policy-map policy1 |
ポリシー マップ コンフィギュレーション モードを開始します。 • 1 つ以上のインターフェイスに付加できるポリシー マップを作成または変更し、サービス ポリシーを指定します。 |
ステップ 3 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class class1 |
ポリシー マップ クラス コンフィギュレーション モードを開始します。 • ポリシーを作成または変更するクラスの名前を指定します。 |
ステップ 4 |
police rate { value [ units ] | percent percentage } [ burst burst-size [burst- units ]] [ peak-burst peak-burst [burst- units ]] [ peak-rate value [ units ]]
RP/0/RSP0/CPU0:router(config-pmap-c)# police rate 250000 |
トラフィック ポリシングを設定し、ポリシー マップ ポリシング コンフィギュレーション モードを開始します。トラフィック ポリシング機能は、トークン バケット アルゴリズムで動作します。 |
ステップ 5 |
conform-action action
RP/0/RSP0/CPU0:router(config-pmap-c-police)# conform-action set mpls experimental topmost 3 |
レート制限に適合したパケットに対して実行するアクションを設定します。 action 引数は、次のいずれかのキーワードにより指定します。 • drop :パケットをドロップします。 • set :次のキーワードおよび引数を使用します。 – discard-class value :廃棄クラス値を設定します。範囲は 0 ~ 7 です。 – dscp value :DiffServ コード ポイント(DSCP)値を設定し、パケットを送信します。 – mpls experimental { topmost | imposition } value :マルチプロトコル ラベル スイッチング(MPLS)パケットの最上位ラベルまたは付加ラベルの experimental(EXP)の値を設定します。範囲は 0 ~ 7 です。 – precedence precedence :IP precedence を設定し、パケットを送信します。 – qos-group :QoS グループ値を設定します。範囲は 0 ~ 63 です。 • transmit :パケットを送信します。 |
ステップ 6 |
exceed-action action
RP/0/RSP0/CPU0:router(config-pmap-c-police)# exceed-action set mpls experimental topmost 4 |
レート制限を超過したパケットに対して実行するアクションを設定します。 action 引数は、ステップ 5 で指定したいずれかのキーワードにより指定します。 |
ステップ 7 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c-police)# exit
|
ルータをポリシー マップ クラス コンフィギュレーション モードに戻します。 |
ステップ 8 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c)# exit
|
ルータをポリシー マップ コンフィギュレーション モードに戻します。 |
ステップ 9 |
exit
RP/0/RSP0/CPU0:router(config-pmap)# exit |
ルータをグローバル コンフィギュレーション モードに戻します。 |
ステップ 10 |
interface type interface-path-id
RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/5/0/0 |
コンフィギュレーション モードを開始し、インターフェイスを設定します。 |
ステップ 11 |
service-policy { input | output } policy-map
RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 |
インターフェイスのサービス ポリシーとして使用する入力インターフェイスまたは出力インターフェイスにポリシー マップを付加します。 • この例では、トラフィック ポリシーでそのインターフェイスから送信されるすべてのトラフィックを評価します。 |
ステップ 12 |
end または commit
RP/0/RSP0/CPU0:router(config-if)# end または RP/0/RSP0/CPU0:router(config-if)# commit |
設定変更を保存します。 • end コマンドを実行すると、変更をコミットするように要求されます。
Uncommitted changes found, commit them before exiting(yes/no/cancel)?
[cancel]:
– yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。 – no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。 – cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。 • 実行コンフィギュレーション ファイルに変更を保存し、コンフィギュレーション セッションを継続するには、 commit コマンドを使用します。 |
ステップ 13 |
show policy-map interface type interface-path-id [ input | output ]
RP/0/RSP0/CPU0:router# show policy-map interface gigabitethernet 0/2/0/0 |
(任意)指定されたインターフェイス上のすべてのサービス ポリシーに対して設定されている全クラスのポリシー設定情報を表示します。 |
トラフィック ポリシングの設定(2R3C)
ここでは、2 レート 3 カラー トラフィック ポリシングを設定する手順について説明します。これは、入力側の SIP 700 ラインカードにのみ適用されます。
手順の概要
1. configure
2. (SIP 700 ラインカード、入力のみで使用) class-map [ match-all ] [ match-any ] class-map-name
3. (SIP 700 ラインカード、入力のみで使用) match [not] fr-de fr-de-bit-value
4. policy-map policy-name
5. class class-name
6. police rate { value [ units ] | percent percentage } [ burst burst-size [ burst-units ]] [ peak-burst peak-burst [ burst-units ]] [ peak-rate value [ units ]]
7. (SIP 700 ラインカード、入力のみで使用) conform-color class-map-name
8. (SIP 700 ラインカード、入力のみで使用) exceed-color class-map-name
9. conform-action action
10. exceed-action action
11. exit
12. exit
13. exit
14. interface type interface-path-id
15. service-policy policy-map
16. end
または
commit
17. show policy-map interface type interface-path-id
(注) 複数アクション設定/ポリサー機能により、複数の conform アクションおよび exceed アクションを設定できます。したがって、conform-action コマンドおよび exceed-action コマンドを設定内で複数回繰り返すことができます。
手順の詳細
|
|
|
ステップ 1 |
configure
RP/0/RSP0/CPU0:router# configure |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
class-map [ match-all ][ match-any ] class-map-name
RP/0/RSP0/CPU0:router(config)# class-map match-all match-not-frde |
(SIP 700 ラインカード、入力のみで使用) クラス マップ コンフィギュレーション モードを開始します。 • 1 つ以上のインターフェイスに付加できるクラス マップを作成または修正し、一致するポリシーを指定します。 |
ステップ 3 |
match [not] fr-de fr-de-bit-value
RP/0/RSP0/CPU0:router(config)# match not fr-de 1 |
(SIP 700 ラインカード、入力のみで使用) 一致条件を指定します。 • 通常、適合カラー パケットの指定には match not fr-de 1 を使用します。 • 通常、超過カラー パケットの指定には match fr-de 1 を使用します。 |
ステップ 4 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config)# policy-map policy1 |
ポリシー マップ コンフィギュレーション モードを開始します。 • 1 つ以上のインターフェイスに付加できるポリシー マップを作成または変更し、サービス ポリシーを指定します。 |
ステップ 5 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class class1 |
ポリシー マップ クラス コンフィギュレーション モードを開始します。 • ポリシーを作成または変更するクラスの名前を指定します。 |
ステップ 6 |
police rate { value [ units ] | percent percentage } [ burst burst-size [burst- units ]] [ peak-burst peak-burst [burst- units ]] [ peak-rate value [ units ]]
RP/0/RSP0/CPU0:router(config-pmap-c)# police rate 768000 burst 288000 peak-rate 1536000 peak-burst 576000 |
トラフィック ポリシングを設定し、ポリシー マップ ポリシング コンフィギュレーション モードを開始します。トラフィック ポリシング機能は、トークン バケット アルゴリズムで動作します。 |
ステップ 7 |
conform-color class-map-name
RP/0/RSP0/CPU0:router(config-pmap-c-police)# conform-color match-not-frde |
(SIP 700 ラインカード、入力のみで使用) 適合カラー パケットに割り当てるクラスマップ名を設定します。 |
ステップ 8 |
exceed-color class-map-name
RP/0/RSP0/CPU0:router(config-pmap-c-police)# exceed-color match-frde |
(SIP 700 ラインカード、入力のみで使用) 超過カラー パケットに割り当てるクラスマップ名を設定します。 |
ステップ 9 |
conform-action action
RP/0/RSP0/CPU0:router(config-pmap-c-police)# conform-action set mpls experimental topmost 3 |
レート制限に適合したパケットに対して実行するアクションを設定します。 action 引数は、次のいずれかのキーワードにより指定します。 • drop :パケットをドロップします。 • set :次のキーワードおよび引数を使用します。 – discard-class value :廃棄クラス値を設定します。範囲は 0 ~ 7 です。 – dscp value :DiffServ コード ポイント(DSCP)値を設定し、パケットを送信します。 – mpls experimental { topmost | imposition } value :マルチプロトコル ラベル スイッチング(MPLS)パケットの最上位ラベルまたは付加ラベルの experimental(EXP)の値を設定します。範囲は 0 ~ 7 です。 – precedence precedence :IP precedence を設定し、パケットを送信します。 – qos-group :QoS グループ値を設定します。範囲は 0 ~ 63 です。 • transmit :パケットを送信します。 |
ステップ 10 |
exceed-action action
RP/0/RSP0/CPU0:router(config-pmap-c-police)# exceed-action set mpls experimental topmost 4 |
レート制限を超過したパケットに対して実行するアクションを設定します。 action 引数は、ステップ 5 で指定したいずれかのキーワードにより指定します。 |
ステップ 11 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c-police)# exit
|
ルータをポリシー マップ クラス コンフィギュレーション モードに戻します。 |
ステップ 12 |
exit
RP/0/RSP0/CPU0:router(config-pmap-c)# exit
|
ルータをポリシー マップ コンフィギュレーション モードに戻します。 |
ステップ 13 |
exit
RP/0/RSP0/CPU0:router(config-pmap)# exit |
ルータをグローバル コンフィギュレーション モードに戻します。 |
ステップ 14 |
interface type interface-path-id
RP/0/RSP0/CPU0:router(config)# interface pos 0/5/0/0 |
コンフィギュレーション モードを開始し、インターフェイスを設定します。 |
ステップ 15 |
service-policy policy-map
RP/0/RSP0/CPU0:router(config-if)# service-policy policy1 |
インターフェイスのサービス ポリシーとして使用するポリシー マップを入力インターフェイスに付加します。 |
ステップ 16 |
end または commit
RP/0/RSP0/CPU0:router(config-if)# end または RP/0/RSP0/CPU0:router(config-if)# commit |
設定変更を保存します。 • end コマンドを実行すると、変更をコミットするように要求されます。
Uncommitted changes found, commit them before exiting(yes/no/cancel)?
[cancel]:
– yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。 – no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。 – cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。 • 実行コンフィギュレーション ファイルに変更を保存し、コンフィギュレーション セッションを継続するには、 commit コマンドを使用します。 |
ステップ 17 |
show policy-map interface type interface-path-id
RP/0/RSP0/CPU0:router# show policy-map interface POS0/2/0/0 |
(任意)指定されたインターフェイス上のすべてのサービス ポリシーに対して設定されている全クラスのポリシー設定情報を表示します。 |
階層型ポリシングの設定
階層型ポリシングは、次の 2 つのレベルでのサポートを提供します。
• 親レベル
• 子レベル
手順の概要
1. configure
2. policy-map policy-name
3. class class-name
4. service-policy policy-map-name
5. police rate percent percentage
6. conform-action action
7. exceed-action action
8. exit
手順の詳細
|
|
|
ステップ 1 |
configure
RP/0/RSP0/CPU0:router# configure |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
policy-map policy-name
RP/0/RSP0/CPU0:router(config)# policy-map policy1 |
ポリシー マップ コンフィギュレーション モードを開始します。 • 1 つ以上のインターフェイスに付加できるポリシー マップを作成または変更し、サービス ポリシーを指定します。 |
ステップ 3 |
class class-name
RP/0/RSP0/CPU0:router(config-pmap)# class class1 |
ポリシー マップ クラス コンフィギュレーション モードを開始します。 • ポリシーを作成または変更するクラスの名前を指定します。 |
ステップ 4 |
service-policy policy-map-name
RP/0/RSP0/CPU0:router(config-pmap-c)# service-policy child |
インターフェイスのサービス ポリシーとして使用する入力インターフェイスまたは出力インターフェイスにポリシー マップを付加します。 |
ステップ 5 |
police rate percent percentage
RP/0/RSP0/CPU0:router(config-pmap-c)# police rate percent 50 |
トラフィック ポリシングを設定し、ポリシー マップ ポリシング コンフィギュレーション モードを開始します。 |
ステップ 6 |
conform-action action
RP/0/RSP0/CPU0:router(config-pmap-c-police)# conform-action transmit |
レート制限に適合したパケットに対して実行するアクションを設定します。可能なアクションは次のとおりです。 transmit :パケットを送信します。 |
ステップ 7 |
exceed-action action
RP/0/RSP0/CPU0:router(config-pmap-c-police)# exceed-action drop |
レート制限を超過したパケットに対して実行するアクションを設定します。可能なアクションは次のとおりです。 drop :パケットをドロップします。 |
ステップ 8 |
end または commit
RP/0/RSP0/CPU0:router(config-if)# end または RP/0/RSP0/CPU0:router(config-if)# commit |
設定変更を保存します。 • end コマンドを実行すると、変更をコミットするように要求されます。
Uncommitted changes found, commit them before exiting(yes/no/cancel)?
[cancel]:
– yes と入力すると、実行コンフィギュレーション ファイルに変更が保存され、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。 – no と入力すると、コンフィギュレーション セッションが終了して、ルータが EXEC モードに戻ります。変更はコミットされません。 – cancel と入力すると、現在のコンフィギュレーション セッションが継続します。コンフィギュレーション セッションは終了せず、設定変更もコミットされません。 • 実行コンフィギュレーション ファイルに変更を保存し、コンフィギュレーション セッションを継続するには、 commit コマンドを使用します。 |