• ポリシー マップの設定例
  • QoS の設定

    この章では、Cisco IE スイッチ上で、モジュラ QoS コマンドライン インターフェイス(CLI)(MQC)コマンドを使用して Quality of Service(QoS)を設定する方法について説明します。QoS を使用すると、特定のトラフィックを他のトラフィック タイプよりも優先的に処理できます。QoS が設定されていない場合、パケットの内容やサイズに関係なく、各パケットにベストエフォート型サービスが提供されます。信頼性、遅延限度、またはスループットに関して保証することなく、スイッチはパケットを送信します。MQC では、特定のトラフィック ストリームの優先順位付けまたは制限を行うための総合的な階層型設定のフレームワークを提供します。

    注: IPv6 QoS はサポートされません。

    Cisco IOS の MQC コマンドの詳細については、次のサイトにある「Cisco IOS Quality of Service Solutions Command Reference」を参照してください。

    http://www.cisco.com/en/US/docs/ios/12_2/qos/command/reference/fqos_r.html

    blank.gifQoS の概要

    blank.gifパフォーマンス モニタリング プロトコル用の QoS 処理

    blank.gifQoS の設定

    blank.gifQoS 情報の表示

    blank.gifポリシー マップの設定例

    QoS の概要

    ネットワークは通常、ベストエフォート型の配信方式で動作します。この場合、すべてのトラフィックに同じプライオリティが与えられ、送信されるタイミングも同じです。輻輳が発生すると、すべてのトラフィックが等しくドロップされます。

    QoS 機能を設定すると、特定のネットワーク トラフィックを選択し、相対的な重要性に応じてプライオリティを指定し、トラフィック管理技術を使用して、優先処理を行うことができます。ネットワークに QoS を実装すると、ネットワーク パフォーマンスがさらに予測しやすくなり、帯域幅をより効率的に利用できるようになります。

    図 78 に、MQC のモデルを示します。

    図 78 MQC のモデル

     

    141149.jpg

    基本的な QoS には、次のアクションが含まれます。

    blank.gifパケット分類:トラフィックが特定の基準に一致するかどうかに基づいて、トラフィックを組織化します。スイッチはパケットを受信すると、すべての主要なパケット フィールド(サービス クラス(CoS)、Diffserv コード ポイント(DSCP)、または IP precedence)を識別します。スイッチは、この内容またはアクセス コントロール リスト検索に基づいて、パケットを分類します。詳細については、「分類」を参照してください。

    blank.gifパケットポリシングは着信トラフィックのレートを設定済みポリサーと比較して、パケットが適合か不適合かを決定します。設定されたポリサーに適合する、または超過するパケットのトラフィック フローを制御できます。認定情報レート(CIR)および最大情報レート(PIR)を設定し、CIR および PIR に適合するパケット(conform-action)、PIR には適合するが CIR には適合しないパケット(exceed-action)、および PIR 値を超えるパケット(violate-action)で実行するアクションを設定できます。 詳細については、ポリシングを参照してください。

    blank.gifパケットの優先順位付けまたはマーキングは、分類およびポリサー情報を評価して、実行するアクションを決定します。分類に属するすべてのパケットを、マーキングできます。ポリサーを設定した場合、許可された帯域幅要件(bps)に一致するまたは超過するパケットを条件付きで通過、廃棄、または再分類できます。詳細については、マーキングを参照してください。

    blank.gif輻輳管理は、キューイングおよびスケジューリング アルゴリズムを使用して、ポートから発信されるトラフィックをキューイングおよびソートします。スイッチは、スケジューリングおよびトラフィック制限機能(クラスベース均等化キューイング(CBWFQ)、クラスベース トラフィック シェーピング、ポート シェーピング、およびクラスベース プライオリティ キューイング)をサポートします。他のトラフィック キューの処理中でも、特定のトラフィック クラスに保証された帯域幅を割り当てることができます。詳細については、「輻輳管理およびスケジューリング」を参照してください。

    blank.gifスイッチ上でのキューイングは輻輳回避メカニズムである Weighted Tail-Drop(WTD)アルゴリズムによって拡張されます。WTD では、分類に基づいてトラフィック クラスを区別し、キュー サイズ(パケット数)を調整します。詳細については、「輻輳回避およびキューイング」を参照してください。

    ここでは、次の情報について説明します。

    blank.gifMQC

    blank.gif入力ポリシーおよび出力ポリシー

    blank.gif分類

    blank.gifテーブル マップ

    blank.gifポリシング

    blank.gifマーキング

    blank.gif輻輳管理およびスケジューリング

    blank.gif輻輳回避およびキューイング

    MQC

    MQC により、ユーザはトラフィック ポリシーを作成し、それらをインターフェイスに適用できます。1 つのトラフィック ポリシーには、1 つのトラフィック クラスと 1 つ以上の QoS 機能が含まれます。トラフィックの分類には、トラフィック クラスを使用します。また、トラフィック ポリシーの QoS 機能により、分類されたトラフィックの処理方法を決定します。

    MQC を設定する手順は、次のとおりです。

    1.blank.gif トラフィック クラスを定義します。

    class-map [ match-all | match-any ] class-map-name グローバル コンフィギュレーション コマンドを使用して、トラフィッククラスを定義し、クラスマップ コンフィギュレーション モードを開始します。トラフィッククラスは、名前、設定済み match コマンドの評価方法の指示(クラスマップで複数の match コマンドが設定されている場合)、および一連の match コマンドの 3 つの要素で構成されます。

    blank.gif class-map コマンドラインで、トラフィッククラスの名前を指定し、クラスマップ コンフィギュレーション モードを開始します。

    blank.gif class-map match-any または class-map match-all を入力することにより、次の match コマンドを評価するためのキーワードを任意で指定できます。 match-any を指定した場合、評価されるトラフィックは指定の基準のいずれか 1 つに一致する必要があります。 match-all を指定した場合、評価されるトラフィックは指定の基準のすべてに一致する必要があります。 match-all クラスマップには、1 つの match 文しか含めることができませんが、 match-any クラスマップには複数の match 文を含めることができます。

    match-all または match-any を入力しない場合、デフォルトは match-all になります。

    blank.gifパケット分類のための基準を指定するには、 match クラスマップ コンフィギュレーション コマンドを使用します。指定された基準に合っていれば、パケットはクラスのメンバーと見なされ、トラフィックポリシーで設定された QoS 仕様に従って転送されます。一致基準を満たさないパケットは、デフォルトのトラフィッククラスのメンバーとして分類されます。

    2.blank.gif トラフィック ポリシーを作成し、1 つまたは複数の QoS 機能にトラフィック クラスを関連付けます。

    policy-map policy-map-name グローバル コンフィギュレーション コマンドを使用して、トラフィックポリシーを作成し、ポリシーマップ コンフィギュレーション モードを開始します。トラフィック ポリシーでは、QoS 機能を定義して、指定されたトラフィック クラスに関連付けます。トラフィックポリシーは、名前、トラフィッククラス( class ポリシーマップ コンフィギュレーション コマンドにより指定される)、およびそのクラスで設定された QoS ポリシーの 3 つの要素で構成されます。

    blank.gif policy-map コマンドラインで、トラフィックポリシーの名前を指定し、ポリシーマップ コンフィギュレーション モードを開始します。

    blank.gifポリシーマップ コンフィギュレーション モードで、指定のポリシーに対するトラフィックの分類で使用されるトラフィック クラス名を入力して、ポリシーマップ クラス コンフィギュレーション モードを開始します。

    blank.gifポリシーマップ クラス コンフィギュレーション モードで、QoS 機能を開始すると、分類されたトラフィックに適用できます。たとえば、入力ポリシーマップに、 set police 、または police aggregate コマンドを使用したり、出力ポリシーマップに、 bandwidth priority queue-limit 、または shape average コマンドを使用できます。

    注: パケットは、トラフィックポリシー内のいずれかのトラフィッククラスだけに一致します。パケットがトラフィック ポリシー内の複数のトラフィック クラスに一致する場合、ポリシーで定義された最初のトラフィック クラスが使用されます。パケットに複数の一致基準を設定するには、単一のトラフィック ポリシーに複数のトラフィック クラスを関連付けます。

    3.blank.gif インターフェイスにトラフィック ポリシーを付加します。

    service-policy インターフェイス コンフィギュレーション コマンドを使用すると、インターフェイスで送受信されるパケット用にポリシーマップをインターフェイスに付加できます。トラフィック ポリシーの特性を着信または発信パケットに適用するかどうかを指定する必要があります。たとえば、 service-policy output class1 インターフェイス コンフィギュレーション コマンドを入力すると、 class1 という名前のトラフィックポリシーのすべての特性が、指定されたインターフェイスに付加されます。指定されたインターフェイスから発信されるすべてのパケットは、 class1 という名前のトラフィックポリシーで指定された基準に従って評価されます。

     

    入力ポリシーおよび出力ポリシー

    ポリシー マップは、入力ポリシー マップまたは出力ポリシー マップのいずれかになり、スイッチでパケットが送受信される際に、インターフェイスに適用されたサービス ポリシーによって付加されます。入力ポリシー マップは、受信されたトラフィック上でポリシングおよびマーキングを実行します。ポリシングされたパケットが最大許容レートを超過している場合、廃棄されるか、またはプライオリティが低くなります(マーク ダウン)。出力ポリシー マップは、スイッチから発信されるトラフィック上でスケジューリングおよびキューイングを実行します。

    入力ポリシーと出力ポリシーは、基本構造は同じですが規制する特性が異なります。図 79 に、入力ポリシーと出力ポリシーの関係を示します。

    最大 256 のポリシー マップを定義できます。

    スイッチで設定可能なポリサープロファイルの数は 256 です。スイッチでサポートされているポリサーインスタンスの数は 1024 - 1 で、スイッチ上のインターフェイス数より多い数です。24 ポート スイッチでは、使用できるポリサー インスタンスの数は 999 です。ポリサー プロファイルは複数のインスタンスで使用できます。

    1 つのインターフェイスには、入力ポリシー マップと出力ポリシー マップを 1 つずつ適用できます。

    CPU 保護がイネーブルになっている場合(デフォルト)、ポート当たり 45 の入力ポリサーを設定できます。 no policer cpu uni all グローバル コンフィギュレーション コマンドを入力し、スイッチをリロードして CPU 保護をディセーブルにすると、ユーザ定義クラスにはポート当たり最大 63 のポリサー(すべての 4 番目のポート上で 62)および class-default に 1 つのポリサーを設定できます。show policer cpu uni-eni {drop | rate} 特権 EXEC コマンドを入力し、CPU 保護がイネーブルになっているかどうか確認できます。

    図 79 入力ポリシーおよび出力ポリシーの関係

     

    141150.jpg

    入力ポリシー マップ

    入力ポリシーマップの分類基準には、CoS、DSCP、または IP precedence 値のマッチング、またはアクセスコントロールリスト(ACL)か VLAN ID(ポート単位、VLAN QoS 単位)のマッチングが含まれます。入力ポリシー マップでは、次のいずれかのアクションを実行できます。

    blank.gifCoS、DSCP、IP precedence、または QoS グループ値の設定、もしくはマーキング

    blank.gif個別のポリシング

    blank.gif集約ポリシング

    アクセス グループまたは VLAN ID の照合は入力ポリシーだけで実行され、QoS グループの照合は出力ポリシーでだけ実行されます。入力ポリシーに割り当てられた QoS グループ番号を、出力ポリシーで照合できます。クラスの class-default は、ポリシーマップで他のいずれのクラスとも明示的に一致しない任意のトラフィックに対して、ポリシーマップで使用されます。入力ポリシーマップでは、 bandwidth queue-limit priority 、および shape average などのキューイングおよびスケジューリングキーワードはサポートされていません。

    入力ポリシーマップの最大クラス数は 64 + class-default です。入力ポリシーには、最大 64 のクラスを設定できます。

    出力ポリシー マップ

    出力ポリシー マップの分類基準には、CoS、DSCP、IP Precedence、または QoS グループ値のマッチングが含まれます。出力ポリシー マップでは、次のいずれかのアクションを実行できます。

    blank.gifキューイング( queue-limit

    blank.gifスケジューリング( bandwidth priority shape average

    出力ポリシー マップでは、アクセス グループのマッチングをサポートしません。その代わり、入力ポリシー マップの該当するアクセス グループを照合し、QoS グループを設定することにより、QoS グループを使用できます。出力ポリシー マップでは、QoS グループを照合できます。詳細については、「QoS グループ に基づく分類」を参照してください。

    出力ポリシーは、マーキングまたはポリシングをサポートしません(ポリシングのあるプライオリティの場合は除く)。スイッチ上では、出力パケットのマーキングは実行されません(出力ポリシーには set コマンドが含まれません)。

    クラスの class-default は、ポリシーマップで他のいずれのクラスとも明示的に一致しない任意のトラフィックに対して、ポリシーマップで使用されます。出力ポートには最大 4 つのキューがあるため、出力ポリシー マップには最大 4 つのクラスを設定できます(class-defalt を含む)。

    出力ポートに付加される出力ポリシー マップは、パケットの入力ポートに付加された入力ポリシー マップですでに一致しているパケットだけを照合できます。スイッチ上の任意のポートまたはすべてのポートに、出力ポリシー マップを付加できます。スイッチは各ポートに固有の出力ポリシー マップの設定および付加をサポートしています。ただし、これらの出力ポリシー マップには、それぞれ固有のキュー制限を 3 つしか設定できません。これら 3 つの固有のキュー制限設定は、スイッチ上にあるポート数に応じた数の出力ポリシー マップに含まれます。帯域幅、プライオリティ、またはシェーピングの設定には制限はありません。

    cpu traffic qos [cos value | dscp value | precedence value | qos-group value] グローバル コンフィギュレーション コマンドを使用して、CPU が生成したトラフィックの出力ポリシー分類基準を設定できます。

    分類

    分類では、パケット ヘッダーのフィールドを検査して、トラフィックの種類を区別します。スイッチはパケットを受信すると、ヘッダーを検査して、すべての主要なパケット フィールドを識別します。パケットは、パケットの ACL、DSCP 値、CoS 値、IP precedence 値、または VLAN ID に基づいて分類されます。図 80 に、分類情報を伝達するのに、非推奨 IP タイプ オブ サービス(ToS)フィールドから 6 ビットを使用する、レイヤ 2 またはレイヤ 3 IP パケット ヘッダーで伝達される分類情報の例を示します。

    blank.gifレイヤ 2 の IEEE 802.1Q トランクとして設定されたポートでは、ネイティブ VLAN(仮想 LAN)のトラフィックを除き、すべてのトラフィックが 802.1Q フレームに収められます。レイヤ 2 802.1Q フレームヘッダーには、2 バイトのタグ制御情報フィールドがあり、上位 3 ビット(ユーザプライオリティビット)で CoS 値を、下位 12 ビットで VLAN ID 値を伝達します。他のフレーム タイプでレイヤ 2 CoS 値を伝達することはできません。

    レイヤ 2 CoS 値の範囲は 0 ~ 7 です。

    blank.gifレイヤ 3 IP パケットは、IP precedence 値または DSCP 値のいずれかを伝達します。DSCP 値は IP precedence 値と下位互換性があるので、QoS ではどちらの値も使用できます。

    IP precedence 値の範囲は 0 ~ 7 です。DSCP 値の範囲は 0 ~ 63 です。

    blank.gif出力は、レイヤ 2 またはレイヤ 3 のマーキング タイプ、マーキング値、およびパケット タイプに基づいて再マーキングされます。

    図 80 フレームおよびパケットにおける QoS 分類レイヤ

     

    141151.jpg

    ここでは、分類に関するその他の情報について説明します。

    blank.gifクラス マップ

    blank.gifmatch コマンド

    blank.gifレイヤ 2 CoS に基づく分類

    blank.gifIP precedence に基づく分類

    blank.gifIP DSCP に基づく分類

    blank.gif分類の比較

    blank.gifQoS ACL に基づく分類

    blank.gifQoS グループ に基づく分類

    blank.gifVLAN ID に基づく分類

    クラス マップ

    前述のとおり、MQC クラス マップを使用して、特定のトラフィック フロー(またはクラス)に名前を付けて、他のすべてのトラフィックと区別します。クラス マップでは、特定のトラフィック フローとの比較を行い、さらにそれを分類するために使用する基準を定義します。複数のトラフィック タイプを分類する場合は、別のクラス マップを作成し、異なる名前を使用できます。クラスマップ名を指定して class-map コマンドを入力すると、クラスマップ コンフィギュレーション モードが開始されます。このモードで、 match クラス マップ コンフィギュレーション コマンドを使用して、トラフィックの一致条件を定義します。パケットはクラスマップ基準に照合されてから、ポリシー マップで指定された関連アクションが実行されます。

    分類では、複数の基準に照合できます。また、 class map match-all class-map name グローバル コンフィギュレーション コマンドを使用して、クラスマップ コンフィギュレーション モードを開始することにより、パケットヘッダー内にクラスマップのすべての一致基準が存在する必要があるクラスマップを作成できます。

    注: match-all クラスマップで設定できる match エントリは 1 つだけです。

    class map match-any class-map name グローバル コンフィギュレーション コマンドを使用すると、リストされた基準のいずれかを使用する分類を定義できます。

    注: match-all または match-any を入力しない場合、デフォルトは match-all になります。match-all クラス マップでは、複数の分類基準(match 文)を設定できません。一致条件を含まないクラスマップは、デフォルトで match-all となります。

    match コマンド

    パケットの分類に使用される内容の種類を設定するには、 match クラスマップ コンフィギュレーション コマンドを使用して、分類基準を指定します。設定された基準に一致するパケットは、特定のクラスに属し、指定されたポリシーに従って転送されます。たとえば、CoS 値、IP DSCP 値、および IP precedence 値で match クラスマップコマンドを使用できます。これらの値は、パケット上で マーキング と呼ばれます。また、アクセス グループ、QoS グループ、または VLAN ID、またはポート単位、VLAN QoS 単位の ID 範囲と照合できます。

    blank.gif入力ポリシーマップでは、同一ポリシーマップまたはクラスマップ内に IP 分類( match ip dscp match ip precedence 、IP ACL の match access-group )と非 IP 分類( match cos 、または MAC ACL の match access-group )を設定できません。

    blank.gifレイヤ 2 だけ分類が設定された入力ポリシーマップが、ルーテッド ポートまたはルーテッド スイッチ仮想インターフェイス(SVI)を含むスイッチ ポートに付加されている場合、サービス ポリシーはルーティング適格トラフィック上ではなく、スイッチング適格トラフィック上でだけ機能します。

    blank.gif802.1Q トンネル ポート上でトラフィックを分類するには、MAC ACL に基づくレイヤ 2 分類を含む入力ポリシー マップだけが使用できます。レイヤ 3 分類、match レイヤ 2 CoS 分類、またはポート単位、VLAN 単位のポリシーが設定された入力ポリシー マップは、トンネル ポート上でサポートされません。

    blank.gif出力ポリシー マップでは、異なるクラス マップで同じ分類基準(つまり、同じ match 修飾子および match 値)を使用できません。

    次に、クラスマップ example を作成して、リストされた基準のいずれかに一致するクラスを定義する例を示します。この例では、DSCP 値 が 32 または 40 のパケットが受信された場合、このパケットはクラス マップにより識別(分類)されます。

    Switch(config)# class-map match-any example
    Switch(config-cmap)# match ip dscp 32
    Switch(config-cmap)# match ip dscp 40
    Switch(config-cmap)# exit

    レイヤ 2 CoS に基づく分類

    match コマンドを使用することにより、CoS 値(0 ~ 7 の範囲)に基づいてレイヤ 2 トラフィックを分類できます。

    注: match cos コマンドは、レイヤ 2 802.1Q トランクポートでだけサポートされます。

    次に、CoS 値 5 に一致するクラス マップを作成する例を示します。

    Switch(config)# class-map premium
    Switch(config-cmap)# match cos 5
    Switch(config-cmap)# exit

    IP precedence に基づく分類

    IPv4 トラフィックは、パケットの IP precedence 値(0 ~ 7 の範囲)に基づいて分類できます。

    次に、IP precedence 値 4 に一致するクラス マップを作成する例を示します。

    Switch(config)# class-map sample
    Switch(config-cmap)# match ip precedence 4
    Switch(config-cmap)# exit

    IP DSCP に基づく分類

    IP DSCP 値に基づいて IPv4 トラフィックを分類し、 match ip dscp クラスマップ コンフィギュレーション コマンドを入力する場合、次のいくつかの分類オプションがあります。

    blank.gif特定の DSCP 値(0 ~ 63)の入力

    blank.gifIP precedence 値および DSCP 値 0 に対応するデフォルト サービスの使用。デフォルトの Per Hop Behavior(PHB)は通常、ベストエフォート サービスです。

    blank.gifDSCP 値をバイナリ形式で入力する、保証型転送(AF)の使用。AF では、輻輳が発生し、トラフィックが最大許容レートを超過していない場合に、パケットの特定のクラスが転送される相対的な確率を設定します。AF per-hop behavior により、IP パケットが異なる 4 つの AF クラス(AF11 ~ 13 [最高]、AF21 ~ 23、AF31 ~ 33、および AF41 ~ 43 [最低])で配信されます。各 AF クラスには、特定のバッファ スペース容量および廃棄確立が割り当てられ、DSCP 番号がバイナリ形式で指定されます。輻輳が発生すると、パケットの廃棄優先順位により、クラス内のパケットの相対的な重要性が決定されます。AF41 では、パケットがネットワークの端から端へ転送される確立が最も高くなります。

    blank.gif1 ~ 7 の範囲の Class Selector(CS; クラス セレクタ)サービス値の入力(パケットの ToS フィールドの IP precedence ビットに対応)

    blank.gif急送型転送(EF)の使用による低遅延パスの指定。これは、DSCP 値 46 に対応します。EF サービスでは、プライオリティ キューイングを使用して、プライオリティの低いトラフィック クラスをプリエンプトします。

    次に、使用可能な分類オプションを表示します。

    Switch(config-cmap)# match ip dscp ?
    <0-63> Differentiated services codepoint value
    af11 Match packets with AF11 dscp (001010)
    af12 Match packets with AF12 dscp (001100)
    af13 Match packets with AF13 dscp (001110)
    af21 Match packets with AF21 dscp (010010)
    af22 Match packets with AF22 dscp (010100)
    af23 Match packets with AF23 dscp (010110)
    af31 Match packets with AF31 dscp (011010)
    af32 Match packets with AF32 dscp (011100)
    af33 Match packets with AF33 dscp (011110)
    af41 Match packets with AF41 dscp (100010)
    af42 Match packets with AF42 dscp (100100)
    af43 Match packets with AF43 dscp (100110)
    cs1 Match packets with CS1(precedence 1) dscp (001000)
    cs2 Match packets with CS2(precedence 2) dscp (010000)
    cs3 Match packets with CS3(precedence 3) dscp (011000)
    cs4 Match packets with CS4(precedence 4) dscp (100000)
    cs5 Match packets with CS5(precedence 5) dscp (101000)
    cs6 Match packets with CS6(precedence 6) dscp (110000)
    cs7 Match packets with CS7(precedence 7) dscp (111000)
    default Match packets with default dscp (000000)
    ef Match packets with EF dscp (101110)
     

    DSCP のプライオリティ設定の詳細については、RFC-2597(AF PHB)、RFC-2598(EF)、または RFC-2475(DSCP)を参照してください。

    802.1Q トンネリング CoS マッピング

    スイッチでは、カスタマー VLAN(C-VLAN)からサービスプロバイダー VLAN(S-VLAN)への VLAN マッピングがサポートされています。QoS の場合、スイッチはカスタマー CoS(C-CoS)またはカスタマー DSCP(C-DSCP)値からサービス プロバイダー CoS(S-CoS)を設定でき、従来の 802.1Q トンネリング(QinQ)または選択した QinQ VLAN マッピングにより任意のトラフィックについて内部 CoS を外部 CoS にマッピングできます。このデフォルトにより、カスタマー CoS がサービス プロバイダー ネットワークにコピーされます。

    スイッチでは、トランクポートで従来の QinQ および選択した QinQ について C-CoS から S-CoS への伝播がサポートされています。これはデフォルト動作であり、設定は必要ありません。1 対 2 VLAN マッピングを使用し、レイヤ 2 トランク ポートで従来の QinQ または選択した QinQ を設定する場合、またスイッチで C-DSCP から S-CoS を設定できます。

    VLAN マッピングに設定された 802.1Q トンネル ポートまたはトランク ポート上のスイッチを開始するトラフィックについては、スイッチは、カスタマー パケット ヘッダーを検査し、カスタマー CoS 値またはカスタマー DSCP 値からサービス プロバイダー CoS 値(S-CoS)を設定する機能を備えています。

    802.1Q マップ ポートでの CoS マッチングは、次のように設定されます。

    blank.gif(トンネル ポートまたはトランク ポート上の)802.1Q トンネリングまたは(トランク ポート上の)選択した 802.1Q に設定されたインターフェイスで、インターフェイス(C-CoS)上で受信した VLAN タグ(内部 VLAN または C-VLAN)の CoS 値は、デフォルトでトンネル VLAN タグ(外部 VLAN または S-VLAN)に自動的に反映されます。

    blank.gif set cos ポリシーマップ クラス コンフィギュレーション コマンドは常に、処理が完了した後、最も外側の VLAN タグである S-VLAN-ID に適用されます。たとえば、802.1Q トンネルでは、 set cos コマンドを入力すると、カプセル化されたパケットの外部タグの CoS 値だけ変更されます。

    blank.gif match dscp クラス マップ コンフィギュレーション コマンドを入力してポリシーを設定し、QinQ および選択した QinQ マッピングインターフェイスの set cos ポリシーマップ クラス コンフィギュレーション コマンドを入力すると、DSCP の一致によりカプセル化値の外部 CoS が設定されます。

    blank.gif外部 VLAN が一致した場合に DSCP を設定できます。

    blank.gif従来の QinQ マッピングまたは選択した QinQ マッピングに設定したインターフェイスで match cos コマンドを入力すると、外部 CoS、つまり反映された内部 Cos(C-CoS)に対して一致します。

    分類の比較

    表 61 に、一般的なトラフィックタイプに推奨される IP DSCP 値、IP precedence 値、および CoS 値を示します。

     

    表 61 一般的なトラフィック分類

    トラフィック タイプ
    ホップ単位の DSCP
    DSCP
    (10 進数)
    IP プレシデンス
    CoS

    音声ベアラ:プライオリティ キュー、または最高のサービス ウェイトおよび最低の廃棄プライオリティを持つキューのトラフィック

    EF

    46

    5

    5

    音声制御:音声ゲートウェイまたは音声アプリケーション サーバからの、コール セットアップに関連したシグナリング トラフィック

    AF31

    26

    3

    3

    ビデオ会議:ほとんどのネットワークで、IP 上でのビデオ会議には、損失、遅延、および遅延の種類に関して Voice over IP(VoIP)トラフィックと同様な要件があります。

    AF41

    34

    4

    4

    ストリーミング ビデオ:損失、遅延、および遅延の種類に関して高い耐性を持つ、比較的高い帯域幅のアプリケーション。通常、E メールおよび Web 参照のような日常的なバックグラウンド アプリケーションよりも重要と見なされます。

    AF13

    18

    1

    1

    ミッション クリティカル データ(ゴールド データ):企業の業務上重要な、遅延に影響されやすいアプリケーション

    レベル 1
    レベル 2
    レベル 3

     


    AF21
    AF22
    AF23

     


    18
    20
    22

     


    2
    2
    2

     


    2
    2
    2

    重要度が低いデータ(シルバー データ):クリティカルではないが、比較的重要なデータ

    レベル 1
    レベル 2
    レベル 3

     


    AF11
    AF12
    AF13

     


    10
    12
    14

     


    1
    1
    1

     


    1
    1
    1

    ベストエフォート データ(ブロンズ データ):重要度に関係なく、すべての非対話型トラフィックを含むその他のトラフィック

    デフォルト

    0

    0

    0

    ベストエフォート データよりも重要でないデータ:クリティカルでなく、優先度が低い、帯域幅を消費するデータ トラフィック。これは、最初に廃棄されるトラフィック タイプです。

    レベル 1
    レベル 2
    レベル 3

     

     



    2
    4
    6

     



    0
    0
    0

     



    0
    0
    0

    QoS ACL に基づく分類

    パケットは、入力ポリシー マップで ACL 検索に基づいても分類されます。ACL 分類は、入力ポリシー マップの QoS グループまたは QoS 番号を割り当てることにより、出力ポリシーに伝達されます。ACL 検索に基づいて分類する場合は、まず IP ACL または MAC ACL を作成します。クラスマップを設定し、 match access-group { acl-number | acl name } クラスマップ コンフィギュレーション コマンドを使用して、ポリシーマップにクラスマップを付加します。

    注: 出力ポリシーマップには、 match access-group を設定できません。

    IP 標準、IP 拡張、またはレイヤ 2 MAC ACL を使用すると、同じ特性(クラス)を持つパケットのグループを定義できます。レイヤ 3 およびレイヤ 4 パラメータに基づいて IP トラフィックを分類する IP ACL を設定するには、 access-list グローバル コンフィギュレーション コマンドを使用します。レイヤ 2 パラメータに基づいて IP および 非 IP トラフィックを分類するレイヤ 2 MAC ACL を設定するには、 mac access-list extended グローバル コンフィギュレーション コマンドを使用します。

    注: IP フラグメントを設定済みの IP 拡張 ACL に照合して、QoS を実行できません。IP フラグメントはベストエフォート型として送信されます。IP フラグメントは IP ヘッダーのフィールドで示されます。

    match access-group コマンドでは、許可アクションが含まれる ACL だけを使用できます。拒否アクションが含まれる ACL は、 QoS ポリシーで照合されません。

    注: 入力ポリシーマップのクラスごとに 1 つのアクセスグループだけがサポートされます。

    QoS グループ に基づく分類

    QoS グループは、スイッチがパケットを特定のクラスのメンバーとして識別するのに使用する内部ラベルです。このラベルはパケット ヘッダーには含まれず、ラベルを設定するスイッチに制限されています。QoS グループにより、明示的にパケットをマーキング(変更)しない後続の QoS アクションにパケットのタグ付け方法が提供されます。次に、入力ポリシー マップから出力ポリシー マップに ACL 一致を伝達できます。

    QoS グループは、入力側で識別されて出力側で使用されます。また、入力ポリシーに割り当てられて、出力ポリシーのパケットを識別します。を参照してください。QoS グループにより、出力ポリシーの特定のアクションに対して、入力トラフィックの異なるクラスが集約されます。

    図 81 QoS グループ

     

    141152.jpg

    QoS グループを使用すると、出力ポート上での同じ QoS 処理に対する入力クラス間およびポリシー マップ間の複数の入力ストリームを集約できます。同じ出力処理が必要なすべてのストリームに、入力ポリシー マップ内の同一の QoS グループ番号を割り当てて、出力ポリシー マップの QoS グループ番号に照合して、必要なキューイングおよびスケジューリング アクションを指定します。

    また、QoS グループを使用すると、トラフィックが入力インターフェイスに基づいて出力側で異なる方法で処理される必要がある場合に、特定のインターフェイスに着信するトラフィックを識別できます。

    QoS グループを使用すると、VLAN 上のブリッジド トラフィックに対して、出力インターフェイス上でポート単位、VLAN 単位の QoS 出力ポリシーを設定できます。ポート単位、VLAN 単位の入力ポリシーを設定することにより、入力インターフェイス上の VLAN に QoS グループ番号を割り当てます。次に、出力側での分類に同一の QoS グループ番号を使用します。ブリッジド トラフィックの VLAN は、スイッチを介して転送される間は変更されないため、入力 VLAN に割り当てられる QoS グループ番号は、出力インターフェイスで同じ VLAN を識別するのに使用できます。

    cpu traffic qos [cos value | dscp value | precedence value | qos-group value] グローバル コンフィギュレーション コマンドを使用して、CPU が生成したトラフィックの QoS グループ番号を設定できます。

    QoS グループ番号は、入力側でインターフェイス、VLAN、トラフィック フロー、および集約トラフィックの任意の組み合わせに個別に割り当てできます。QoS グループ番号を割り当てるには、入力ポリシー マップの QoS グループ マーキングと同時に、入力ポリシー マップ内の同一サービス クラスに必要なその他のマーキングまたはポリシング アクションを設定します。出力分類では QoS グループだけを使用する必要があるため、これにより、入力マーキングおよび入力ポリシング機能を出力分類機能(必要な場合)から切り離すことができます。

    ACL 分類を出力ポリシーに伝達するには、入力側でパケットを指定する QoS 番号を割り当てます。次の例では、出力ポリシーであとで処理できるように、特定のパケットを QoS グループ 1 の一部として識別します。

    Switch(config)# policy-map in-gold-policy
    Switch(config-pmap)# class in-class1
    Switch(config-pmap-c)# set qos-group 1
    Switch(config-cmap-c)# exit
    Switch(config-cmap)# exit
     

    set qos-group コマンドは、入力ポリシーでだけ使用します。割り当てられた QoS グループ識別子は、パケットにマーキングまたは変更を行わずに出力ポリシーであとで使用されます。 match qos-group は、出力ポリシーで使用します。

    注: 入力ポリシーマップには、 match qos-group を設定できません。

    次に、出力ポリシーを作成して、入力ポリシーマップ in-gold-policy で作成された QoS グループを照合する例を示します。 qos-group 1 として内部的にタグ付けされたトラフィックは、出力ポリシーで識別され、処理されます。

    Switch(config)# class-map out-class1
    Switch(config-cmap)# match qos-group 1
    Switch(config-cmap)# exit
     

    スイッチは、最大 100 の QoS グループをサポートします。

    VLAN ID に基づく分類

    VLAN ID に基づく分類により、所定のインターフェイスにユーザが指定した VLAN 上で送信されるフレームに QoS ポリシーを適用できます。アクセス ポートでは単一 VLAN のトラフィックを伝送するため、VLAN 単位の分類は必要ありません。トランク ポートではないポートに、ポート単位、VLAN 単位の階層型ポリシーを付加しようとすると、設定は拒否されます。

    スイッチでは、 parent レベルおよび child レベルの 2 つのポリシーレベルがサポートされています。QoS の親子構造により、親ポリシー内の子ポリシーを参照して、特定のトラフィック タイプをさらに細かく制御できるようになります。ポート単位、VLAN 単位の QoS の場合、親レベルのクラス マップは VLAN 一致基準だけを指定し、子レベルのクラス マップは親レベルのクラス マップに一致するフレームをより詳細に分類します。親レベルで複数のサービス クラスを設定して、各種 VLAN の組み合わせを照合し、任意の子ポリシー マップを使用して、親のサービス クラスごとに個別の QoS ポリシーを適用できます。

    注: ポート単位 VLAN 単位の親レベルのクラスマップでは、子ポリシーアソシエーションだけをサポートします。いずれのアクションも設定できません。さらに、親レベルのクラスマップでは、クラスの class-default のアクションまたは子ポリシーアソシエーションを設定できません。

    ポート単位、VLAN 単位 QoS には、次の制限事項があります。

    blank.gifポート単位、VLAN 単位の階層型ポリシー マップは、トランク ポートにだけ適用できます。

    blank.gifVLAN ID に基づく分類は、ポート単位、VLAN 単位の階層型ポリシー マップの親レベルでだけ設定できます。

    blank.gifVLAN または VLAN のセットに付加されている子ポリシーマップに、レイヤ 3 分類( match ip dscp match ip precedence match IP ACL )だけが含まれる場合、これらの VLAN は、必ずポート単位、VLAN 単位ポリシーが付加されているポート上でだけ実行されることに注意する必要があります。この制限事項に従わない場合は、これらの VLAN 上のスイッチに着信するトラフィックの QoS 動作が不適切になる場合があります。

    blank.gifまた、ポート単位 VLAN 単位が適用されるトランクポート上で、 switchport trunk allowed vlan インターフェイス コンフィギュレーション コマンドを使用して、VLAN メンバーシップを制限することも推奨します。レイヤ 3 分類が設定されたポート単位、VLAN 単位のポリシーが含まれるトランク ポート間で VLAN メンバーシップが重複した場合も、予期せぬ QoS 動作が発生する可能性があります。

    次の例では、子レベルのポリシー マップのクラス マップが音声、データ、およびビデオ トラフィックの一致基準を指定して、子ポリシー マップが各トラフィック タイプの入力ポリシングに対するアクションを設定します。親レベルのポリシー マップは、指定されたポート上の子ポリシー マップが適用される VLAN を指定します。

    Switch(config)# class-map match-any dscp-1 data
    Switch(config-cmap)# match ip dscp 1
    Switch(config-cmap)# exit
    Switch(config)# class-map match-any dscp-23 video
    Switch(config-cmap)# match ip dscp 23
    Switch(config-cmap)# exit
    Switch(config)# class-map match-any dscp-63 voice
    Switch(config-cmap)# match ip dscp-63
    Switch(config-cmap)# exit
    Switch(config)# class-map match-any customer-1-vlan
    Switch(config-cmap)# match vlan 100
    Switch(config-cmap)# match vlan 200
    Switch(config-cmap)# match vlan 300
    Switch(config-cmap)# exit

    注: また、一致基準を match vlan 100 200 300 と入力した場合でも、同じ結果になります。

    Switch(config)# policy-map child policy-1
    Switch(config-pmap)# class dscp-63 voice
    Switch(config-pmap-c)# police cir 10000000 bc 50000
    Switch(config-pmap-c)# conform-action set-cos-transmit 5
    Switch(config-pmap-c)# exceed-action drop
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class dscp-1 data
    Switch(config-pmap-c)# set cos 0
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class dscp-23 video
    Switch(config-pmap-c)# set cos 4
    Switch(config-pmap-c)# set ip precedence 4
    Switch(config-pmap-c)# exit
     
    Switch(config)# policy-map parent-customer-1
    Switch(config-pmap)# class customer-1-vlan
    Switch(config-pmap-c)# service-policy ingress-policy-1
    Switch(config-pmap-c)# exit
     
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# switchport mode trunk
    Switch(config-if)# service-policy input customer-1-ingress
    Switch(config-pmap-c)# exit
     

    注: 各ポート単位、VLAN 単位の親ポリシークラス( class-default を除く)には、子ポリシーアソシエーションを設定できます。

    設定上の注意事項および制限事項を含む設定情報については、階層型入力ポリシー マップを含むポート単位、VLAN 単位 QoS の設定を参照してください。

    テーブル マップ

    テーブル マップを使用すると、単一のコマンドで多数のトラフィック フローを管理できます。 set コマンドで指定したテーブルマップを、ポリシーのマークダウンマッピングとして使用できます。また、テーブル マップを使用すると、多数の明示的な match および set を設定せずに、着信 QoS マーキングを代わりのマーキングにマッピングできます。テーブル マップは、入力ポリシー マップでだけ使用します。

    テーブル マップは、次の用途に使用します。

    blank.gif特定の CoS、DSCP、または IP precedence 値と特定の CoS、DSCP、または IP precedence 値を相互に関連付ける

    blank.gifCoS、DSCP、または IP precedence 値をマーク ダウンする

    blank.gifマッピングされていない値に、デフォルトを割り当てる

    テーブル マップには、次のデフォルト アクションのいずれかが含まれます。

    blank.gif default default-value :すべてのマッピングされていない値に特定のデフォルト値(0 ~ 63)を適用します。

    blank.gif default copy :すべてのマッピングされていない値を別の修飾子の同等な値にマッピングします。

    blank.gif default ignore :マッピングされていない値を変更しません。

    次に、特定の CoS 値を DSCP 値にマッピングするテーブルを作成する例を示します。 default コマンドにより、すべてのマッピングされていない CoS 値が DSCP 値 63 にマッピングされます。

    Switch(config)# table-map cos-dscp-tablemap
    Switch(config-tablemap)# map from 5 to 46
    Switch(config-tablemap)# map from 6 to 56
    Switch(config-tablemap)# map from 7 to 57
    Switch(config-tablemap)# default 63
    Switch(config-tablemap)# exit
     

    スイッチでは、最大 256 の一意のテーブル マップをサポートしています。テーブルマップでは、最大 64 の異なる map from - to エントリを入力できます。スイッチでは、次のテーブル マップがサポートされます。

    blank.gifDSCP から CoS へ

    blank.gifDSCP/precedence

    blank.gifDSCP/DSCP

    blank.gifCoS から DSCP へ

    blank.gifCoS/precedence

    blank.gifCoS/CoS

    blank.gifprecedence から CoS へ

    blank.gifprecedence/DSCP

    blank.gifprecedence/precedence

    テーブルマップは、1 つのパラメータ(CoS、IP precedence、または DSCP のいずれか設定されているもの)だけを変更し、ポリシーマップで set コマンドにより設定されている場合、またはポリシング機能で conform-action コマンドか、 exceed-action コマンドにより設定されている場合にだけ有効です。個々のポリサーはまた、 violate-action コマンドをサポートしていますが、集約ポリサーは violate-action によるテーブルマップはサポートしていません。

    テーブル マップは、出力ポリシー マップでサポートされません。詳細については、テーブル マップの設定を設定してください。

    ポリシング

    パケットが分類されたあと、図 82 に示されるポリシングを使用して、トラフィック クラスを規制できます。ポリシング機能では、特定のトラフィック フローで使用可能な帯域幅量を制限するか、または任意のトラフィック タイプが過剰な帯域幅およびシステム リソースを使用しないようにします。ポリサーは、ポリサーおよびトラフィック クラスの設定プロファイルと着信トラフィックのレートを比較することにより、パケットを適合または不適合として識別します。許容平均レートまたはバーストレートを超過するパケットは、 不適合 または 非適合 となります。これらのパケットは、ポリサーの設定に応じて、廃棄されるかまたは変更(追加処理用にマーキング)されます。

    ポリシングは、主に受信インターフェイス上で使用されます。ポリサーを含むポリシー マップは、入力サービス ポリシーに限り付加できます。出力ポリシー マップでは、プライオリティ クラスのポリシングだけが許可されます。無条件のプライオリティ ポリシングを参照してください。

    図 82 分類されたパケットのポリシング

     

    141153.ps

    ここでは、スイッチでサポートされるポリシング タイプについて説明します。

    blank.gif個別のポリシング

    blank.gif集約ポリシング

    blank.gif無条件のプライオリティ ポリシング

    個別のポリシング

    個別のポリシングは、入力ポリシー マップにだけ適用されます。ポリシーマップ コンフィギュレーション モードで、 class コマンドのあとにクラスマップ名を入力して、ポリシーマップ クラス コンフィギュレーション モードを開始します。

    シスコ産業用イーサネットスイッチは、個別ポリシングまたは集約ポリシングについて 1-rate、2-color 入力ポリシングおよび 2-rate、3-color のポリシングをサポートします。

    1-rate、2-color ポリシングについては、 police ポリシーマップ クラス コンフィギュレーション コマンドを使用して、ポリサー、トラフィックの認定速度制限、トラフィックの認定バーストサイズ制限、または制限未満( conform-action )および制限を越える( exceed-action )トラフィックに対して実行するアクションを定義します。バースト サイズ(bc)を指定しない場合は、システムにより適切なバースト サイズ値が算出されます。算出された値は、ほとんどのアプリケーションに適しています。詳細については、「トラフィック ポリシーのインターフェイスへの適用」を参照してください。

    最初のトークン バケットを更新するため、認定情報レート(CIR)の設定を含む、2-rate ポリサーを設定する場合、2 番目のトークン バケットが更新される最大情報レート(PIR)も設定します。PIR を設定しない場合、ポリサーは標準 1-rate、2-color ポリサーです。

    2-rate、3-color ポリシングについては、指定の CIR および PIR に適合するパケット(conform-action)、PIR には適合するが CIR には適合しないパケット(exceed-action)、および PIR 値を超えるパケット(violate-action)で実行するアクションを任意に設定できます。

    blank.gifPIR に等しい CIR 値を設定している場合、CIR 以下のトラフィック レート速度は適合範囲内です。CIR を超えるトラフィックは違反範囲に入ります。

    blank.gifPIR を CIR よりも大きな値に設定すると、CIR を下回るトラフィック レートは適合になります。CIR を超過し、PIR 以下のトラフィック レートは超過になります。PIR を超過するトラフィック レートは違反になります。

    blank.gifPIR を設定しない場合、ポリサーは 1-rate、2-color ポリサーとして設定されます。

    バースト サイズの設定が低すぎると、バースト トラフィックがある状況でスループットが低下する場合があります。バースト サイズの設定が高すぎると、トラフィック レートが高くなりすぎる場合があります。

    注: スイッチでは、 show policy-map interface 特権 EXEC コマンド出力で conform、exceed、および violate の各クラスのバイトレベル統計情報がバイト カウンタでサポートされています。

    ポリシーマップを有効にするには、 service-policy input インターフェイス コンフィギュレーション コマンドを使用し、ポリシーマップを物理ポートに付加します。ポリシングは、受信トラフィックでだけ行われるため、ポリサーは入力サービス ポリシーにだけ付加できます。

    conform-action および exceed-action ポリシーマップ クラス コンフィギュレーション コマンド、または conform-action および exceed-action ポリシーマップ クラス ポリシング コンフィギュレーション コマンドを使用すると、パケットが指定のトラフィックレートに適合するまたは超過する場合に実行するアクションを指定できます。

    適合アクションとは、パケットを変更しないで送信する、新しい CoS 値、DSCP 値、IP precedence 値を設定する、または出力側での分類用に QoS グループ値を設定することです。超過アクションとは、パケットを廃棄する、パケットを変更しないで送信する、新しい CoS 値、DSCP 値、IP precedence 値を設定する、または出力側での分類用に QoS グループ値を設定することです。

    conform-action exceed-action 、および violate-action ポリシーマップ クラス コンフィギュレーション コマンド、または conform-action exceed-action 、および violate-action ポリシーマップ クラス ポリシング コンフィギュレーション コマンドを使用すると、パケットが指定のトラフィックレートに適合するまたは超過する場合に実行するアクションを指定できます。適合アクション、超過アクション、および違反アクションは、パケットを廃棄する、パケットを変更しないで送信する、新しい CoS 値、DSCP 値、IP precedence 値を設定する、または出力側での分類用に QoS グループ値を設定することです。

    明示的な値、テーブル マップ、またはその両方を組み合わせて、各マーキング アクションを設定できます。テーブル マップでは、特定のトラフィック属性を示し、それらを他の属性にマッピング(変換)します。

    各サービス クラスで複数の適合アクションおよび超過アクションを同時に設定できます。各サービス クラスで複数の適合アクション、超過アクション、および違反アクションを同時に設定できます。 violate-action を設定しない場合、デフォルトで違反クラスが exceed-action と同じアクションに割り当てられます。

    テーブル マップの作成後、ポリシーマップ ポリサーを設定して、テーブル マップを使用します。

    注: 入力ポリシーマップでテーブルマップを使用する場合、テーブルマップの from - アクションのプロトコルタイプは、対応する分類のプロトコルタイプと同じである必要があります。たとえば、クラスマップが IP 分類を表す場合、テーブルマップの from - タイプアクションは、 dscp または precedence である必要があります。クラスマップが非 IP 分類を表す場合、テーブルマップの from - タイプアクションは、 cos である必要があります。

    クラスで複数の動作を設定する場合、ポリシーマップ クラス ポリシング コンフィギュレーション モードで複数の適合または超過の各アクションのエントリ適合、超過、または違反の各アクションのエントリを入力する必要があります(次の例を参照)。

    Switch(config)# policy-map map1
    Switch(config-pmap)# class class1
    Switch(config-pmap-c)# police 100000 500000
    Switch(config-pmap-c-police)# conform-action set-cos-transmit 4
    Switch(config-pmap-c-police)# conform-action set-dscp-transmit dscp table conform-dscp-to-dscp-mutation
    Switch(config-pmap-c-police)# conform-action set-qos-transmit 10
    Switch(config-pmap-c-police)# exceed-action set-cos-transmit 2
    Switch(config-pmap-c-police)# exceed-action set-dscp-transmit dscp table exceed-dscp-to-dscp-mutation
    Switch(config-pmap-c-police)# exceed-action set-qos-transmit 20
    Switch(config-pmap-c-police)# exit
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit

    集約ポリシング

    集約ポリシングは、入力ポリシー マップにだけ適用されます。集約ポリサーは、個別のポリサーとは異なり、ポリシー マップ内の複数のトラフィック クラスで共有されます。シスコ産業用イーサネットスイッチは、集約ポリシングについて 1-rate、2-color 入力ポリシングおよび 2-rate、3-color のポリシングをサポートします。

    policer aggregate グローバル コンフィギュレーション コマンドを使用して、物理インターフェイスで送受信されるすべてのトラフィックのポリサーを設定できます。集約ポリサーを設定すると、特定のバースト サイズおよび適合アクションと超過アクションを設定できます。バーストサイズ( bc )を指定しない場合は、システムにより適切なバーストサイズ値が算出されます。算出された値は、ほとんどのアプリケーションに適しています。

    最初のトークン バケットを更新するため、認定情報レート(CIR)の設定を含む、2-rate ポリサーを設定する場合、2 番目のトークン バケットが更新される最大情報レート(PIR)も設定します。PIR を設定しない場合、ポリサーは標準 1-rate、2-color ポリサーです。

    2-rate、3-color ポリシングについては、指定の CIR および PIR に適合するパケット(conform-action)、PIR には適合するが CIR には適合しないパケット(exceed-action)、および PIR 値を超えるパケット(violate-action)で実行するアクションを任意に設定できます。

    注: 適合アクションが drop に設定されている場合、超過アクションおよび違反アクションは自動的に drop に設定されます。超過アクションが drop に設定されている場合、違反アクションは自動的に drop に設定されます。

    blank.gifPIR に等しい CIR 値を設定している場合、CIR 以下のトラフィック レート速度は適合範囲内です。CIR を超えるトラフィックは違反範囲に入ります。

    blank.gifPIR を CIR よりも大きな値に設定すると、CIR を下回るトラフィック レートは適合になります。CIR を超過し、PIR 以下のトラフィック レートは超過になります。PIR を超過するトラフィック レートは違反になります。

    blank.gifPIR を設定しない場合、ポリサーは 1-rate、2-color ポリサーとして設定されます。

    バースト サイズの設定が低すぎると、予想よりトラフィックが少なくなる場合があります。バースト サイズの設定が高すぎると、予想よりトラフィックが多くなる場合があります。

    各サービス クラスで複数の適合アクションおよび超過アクションを同時に設定できます。適合アクションとは、パケットを変更しないで送信する、出力側での分類用に QoS グループ値を設定する、または新しい CoS 値、DSCP 値、IP precedence 値を設定することです。超過アクションとは、パケットを廃棄する、パケットを変更しないで送信する、出力側での分類用に QoS グループを設定する、または新しい CoS 値、DSCP 値、IP precedence 値を設定することです。明示的な値、テーブル マップ、またはその両方を組み合わせて、マーキングの適合アクションまたは超過アクションをそれぞれ設定できます。テーブル マップでは、特定のトラフィック属性を示し、それらを他の属性にマッピング(変換)します。

    各サービス クラスで複数の適合アクション、超過アクション、および違反アクションを同時に設定できます。 conform-action exceed-action 、および violate-action ポリシーマップ クラス コンフィギュレーション コマンド、または conform-action exceed-action 、および violate-action ポリシーマップ クラス ポリシング コンフィギュレーション コマンドを使用すると、パケットが指定のトラフィックレートに適合するまたは超過する場合に実行するアクションを指定できます。適合アクション、超過アクション、および違反アクションは、パケットを廃棄する、パケットを変更しないで送信する、新しい CoS 値、DSCP 値、IP precedence 値を設定する、または出力側での分類用に QoS グループ値を設定することです。

    注: 適合アクションが drop に設定されている場合、超過アクションおよび違反アクションは自動的に drop に設定されます。超過アクションが drop に設定されている場合、違反アクションは自動的に drop に設定されます。

    明示的な値、テーブル マップ、またはその両方を組み合わせて、マーキングの適合アクション、超過アクション、または違反アクションをそれぞれ設定できます。 violate-action を設定しない場合、デフォルトで違反クラスが exceed-action と同じアクションに割り当てられます。

    テーブル マップでは、特定のトラフィック属性を示し、それらを他の属性にマッピング(変換)します。超過アクションのテーブルマップを設定し、違反アクションのアクションが明示的に設定されていない限り、集約ポリシングの violate-action に対するテーブルマップはサポートされません。

    テーブル マップの作成後、ポリシーマップ ポリサーを設定して、テーブル マップを使用します。

    注: 入力ポリシーマップでテーブルマップを使用する場合、テーブルマップの from - アクションのプロトコルタイプは、対応する分類のプロトコルタイプと同じである必要があります。たとえば、クラスマップが IP 分類を表す場合、テーブルマップの from - タイプアクションは、 dscp または precedence である必要があります。クラスマップが非 IP 分類を表す場合、テーブルマップの from - タイプアクションは、 cos である必要があります。

    複数の適合および超過アクション適合、超過、違反アクションを集約ポリサーに policer aggregate グローバル コンフィギュレーション コマンドのパラメータとして同時に設定できますが、次の順序でアクションを入力する必要があります。集約ポリシングを含む入力ポリシー マップの設定の設定ガイドラインを参照してください。

    集約ポリサーを設定したあとで、ポリシー マップおよび対応するクラス マップを作成し、集約ポリサーにポリシー マップを関連付けて、サービス ポリシーをポートに適用します。

    注: 1 つのポリシーマップだけが、任意の特定の集約ポリサーを使用できます。集約ポリシングは、複数のインターフェイス上のトラフィック ストリームの集約には使用できません。集約ポリシングは、インターフェイスに付加されるポリシー マップの複数のクラスにまたがるトラフィック ストリームの集約、およびポート単位、VLAN 単位ポリシー マップのポート上の複数の VLAN にまたがるストリームの集約にだけ使用できます。

    ポリシーマップおよびポリシングアクションを設定した後で、 service-policy インターフェイス コンフィギュレーション コマンドを使用して、入力ポートにポリシーを統合します。

    次の例のクラス マップとは、アクセス リストを意味します。

    Switch(config)# policer aggregate agg1 cir 23000 bc 10000 conform-action set-dscp-transmit 46 exceed-action drop
    Switch(config)# class-map testclass
    Switch(config-cmap)# match access-group 1
    Switch(config-cmap)# exit
    Switch(config)# class-map videoclass
    Switch(config-cmap)# match access-group 2
    Switch(config-cmap)# exit
    Switch(config)# policy-map testexample
    Switch(config-pmap)# class testclass
    Switch(config-pmap-c)# police aggregate agg1
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class video-class
    Switch(config-pmap-c)# police aggregate agg1
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy input testexample
    Switch(config-if)# exit
     

    設定情報については、集約ポリシングを含む入力ポリシー マップの設定を参照してください。

    集約ポリシングを使用して、複数の VLAN にまたがるトラフィック ストリームの規制もできます(次の例を参照)。

    Switch(config)# policer aggregate agg1 cir 23000 bc 10000 conform-action set-dscp-transmit af31 set-cos-transmit 3 exceed-action set-dscp-transmit af11 set-cos-transmit 1
    Switch(config)# class-map video-provider-1
    Switch(config-cmap)# match access-group 1
    Switch(config-cmap)# exit
    Switch(config)# class-map video-provider-2
    Switch(config-cmap)# match access-group 2
    Switch(config-cmap)# exit
    Switch(config)# class-map match-any customer1-provider-100
    Switch(config-cmap)# match vlan 100
    Switch(config-cmap)# exit
    Switch(config)# class-map match-any customer1-provider-200
    Switch(config-cmap)# match vlan 200
    Switch(config-cmap)# exit
    Switch(config)# policy-map child-policy-1
    Switch(config-pmap)# class video-provider-1
    Switch(config-pmap-c)# set dscp af41
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# police aggregate agg1
    Switch(config-pmap-c)# exit
    Switch(config)# policy-map child-policy-2
    Switch(config-pmap)# class video-provider-2
    Switch(config-pmap-c)# set dscp cs4
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# police aggregate agg1
    Switch(config-pmap-c)# exit
    Switch(config)# policy-map customer-1-ingress
    Switch(config-pmap)# class customer1-provider-100
    Switch(config-pmap-c)# service-policy child-policy-1
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class customer1-provider-200
    Switch(config-pmap-c)# service-policy child-policy-2
    Switch(config-pmap-c)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# switchport mode trunk
    Switch(config-if)# service-policy input customer-1-ingress
    Switch(config-pmap-c)# exit

    無条件のプライオリティ ポリシング

    プライオリティ ポリシングは、出力ポリシー マップにだけ適用されます。出力ポリシーマップで priority ポリシーマップ クラス コンフィギュレーション コマンドを使用すると、特定のトラフィッククラスに対して低遅延パスまたはクラスベース プライオリティ キューイングを指定できます。完全プライオリティ キューイングを使用すると、プライオリティ キューのパケットは、キューが空になるまで他のキューよりも優先的にスケジューリングされ、送信されます。高いプライオリティ キューイングを過剰に使用すると、下位のプライオリティ トラフィックで輻輳が発生する場合があります。

    このような輻輳を排除するには、ポリシング機能があるプライオリティ(プライオリティ ポリシング)を使用すると、プライオリティ キューで使用される帯域幅を削減し、他のキューにトラフィック レートを割り当てることができます。ポリシング機能があるプライオリティは、出力ポリシー マップでサポートされるポリシング形式だけになります。

    注:プライオリティで出力ポリシーマップの 1-rate、2-color ポリサーを設定できます。出力ポリシーの 2-rate、3-color ポリサーは設定できません。

    クラスベース プライオリティ キューイングを含む出力ポリシー マップの設定も参照してください。

    注: 無条件のプライオリティポリサー用にバーストサイズが認定されたポリサーは、設定できません。設定されたバースト サイズは、いずれも無視されます。

    次に、 priority コマンドと police コマンドを併用して、 out-class1 をプライオリティキューとして設定し、キューに着信するトラフィックを 20,000,000 bps に制限して、プライオリティキューがそれを超えるレートを使用しないようにする例を示します。このレートを超えるトラフィックは、廃棄されます。これにより、他のトラフィック キューはポート帯域幅の一部を受け取ります。この場合、最小帯域幅保証は、500,000 および 200,000 kbps です。クラスの class-default キューは、残りのポート帯域幅を受け取ります。

    Switch(config)# policy-map policy1
    Switch(config-pmap)# class out-class1
    Switch(config-pmap-c)# priority
    Switch(config-pmap-c)# police 200000000
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class out-class2
    Switch(config-pmap-c)# bandwidth 500000
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class out-class3
    Switch(config-pmap-c)# bandwidth 200000
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface GigabitEthernet1/17
    Switch(config-if)# service-policy output policy1
    Switch(config-if)# exit

    マーキング

    入力ポリシー マップでパケット マーキングを使用すると、特定のクラスに属するトラフィックの属性を設定または変更できます。ネットワーク トラフィックがクラス内に組み込まれたあとで、マーキングを使用して、特定のトラフィック タイプを識別して固有の処理を行います。たとえば、クラスの CoS 値を変更したり、特定のトラフィック タイプの IP DSCP 値または IP precedence 値を設定できます。その後、これらの新しく設定された値を使用して、トラフィックの処理方法を決定します。また、マーキングを使用すると、スイッチ内の QoS グループにトラフィックを割り当てることもできます。

    トラフィック マーキングは通常、入力ポートの特定のトラフィック タイプで実行されます。マーキング アクションにより、CoS、DSCP、または precedence ビットは、設定に応じて書き換えられるか、またはそのまま変更されません。これにより、QoS ドメインで使用されるポリシーに従って、パケットのプライオリティが高くなるかまたは低くなります。そのため、他の QoS 機能ではマーキング情報を使用して、パケットの相対的および絶対的な重要性を判断できます。マーキング機能では、ポリシング機能から取得した情報または分類機能から直接取得した情報を使用できます。

    ポリシーマップで、すべてのサポート対象の QoS マーキング(CoS、IP DSCP、IP precedence、および QoS グループ)に対して set コマンドを使用することにより、トラフィックを指定およびマーキングできます。 set コマンドにより、特定クラスに一致するパケットは無条件にマーキングされます。その後、インターフェイスにポリシー マップを入力ポリシー マップとして付加します。

    また、テーブルマップと set コマンドを併用しても、トラフィックをマーキングできます。テーブルマップでは、特定トラフィックの属性を表示し、他の属性にそれらをマッピング(変換)します。テーブル マップでは、属性の to-from 関係を確立し、行われた変更を定義します。

    QoS グループ マーキング アクションと同一サービスのパケットの DSCP、precedence、および CoS マーキングを変更するアクションを同時に設定できます。出力分類に関してマーキング アクションで定義された QoS グループ番号を使用できます。

    注: 入力ポリシーマップでテーブルマップを使用する場合、テーブルマップの from - アクションのプロトコルタイプは、対応する分類のプロトコルタイプと同じである必要があります。たとえば、クラスマップが IP 分類を表す場合、テーブルマップの from - タイプアクションは、 dscp または precedence である必要があります。クラスマップが非 IP 分類を表す場合、テーブルマップの from - タイプアクションは、 cos である必要があります。

    テーブル マップの作成後、ポリシーマップを設定して、テーブル マップを使用します。輻輳管理およびスケジューリングを参照してください。図 83 に、トラフィックのマーキングの手順を示します。

    図 83 分類されたトラフィックのマーキング

     

    157193.jpg

    次に、ポリシー マップを使用してパケットをマーキングする例を示します。最初のマーキング( set コマンド)は、クラス AF31 ~ AF33 によって一致しなかったすべてのトラフィックを照合する QoS デフォルトクラスマップに適用され、すべてのトラフィックの IP DSCP 値を 1 に設定します。2 番目のマーキングは、クラス AF31 ~ AF33 のトラフィックの IP DSCP を 3 に設定します。

    Switch(config)# policy-map Example
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# set ip dscp 1
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class AF31-AF33
    Switch(config-pmap-c)# set ip dscp 3
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy input Example
    Switch(config-if)# exit

    パフォーマンス モニタリング プロトコル用の QoS 処理

    blank.gifTWAMP

    blank.gifIP-SLA および TWAMP プローブ用の QoS 処理

    blank.gifCPU によって生成されたトラフィックの QoS マーキング

    blank.gifCPU によって生成されたトラフィックの QoS キューイング

    blank.gif設定のガイドライン

    TWAMP

    Two-Way Active Measurement Protocol(TWAMP)の詳細については、「 TWAMP の概要 」(41-14 ページ)および「 TWAMP の設定 」(41-15 ページ)を参照してください。

    IP-SLA および TWAMP プローブ用の QoS 処理

    IP-SLA および TWAMP のプローブ用の QoS 処理は、デバイスを通過する通常のデータ トラフィックに発生する影響を正確に反映する必要があります。

    生成元デバイスはプローブのマーキングを変更してはいけません。これらのプローブは、設定されている通常トラフィックのキューイング ポリシーに基づいてキューに格納される必要があります。

    マーキング

    デフォルトでは、CFM トラフィックの Class of Service(CoS)マーキング(CFM プローブを使用する IP SLA を含む)は変更されません。この機能ではこの動作を変更できません。

    デフォルトでは、IP トラフィック マーキング(IP SLA および TWAMP プローブを含む)は変更されません。この機能では、この動作は変更できます。

    キューイング

    通常のトラフィックと同様、CFM トラフィック(CFM プローブを使用する IP SLA を含む)は、このトラフィックの CoS 値および出力ポートに設定された出力ポリシー マップに応じてキューに格納されます。この機能ではこの動作を変更できません。

    (IP SLA および TWAMP プローブを含む)IP トラフィックは、 cpu traffic qos グローバル コンフィギュレーション コマンドおよび出力ポートの出力ポリシーマップで指定されたマーキングにしたがってキューイングされます。このコマンドが設定されていない場合、すべての IP トラフィックは、出力ポートのキューにスタティックにマッピングされます。

    CPU によって生成されたトラフィックの QoS マーキング

    QoS マーキングを使用して、CPU からのトラフィックの属性を設定または変更できます。QoS マーキング アクションにより、パケット内の CoS、DSCP、または IP precedence ビットは書き換えられるか、またはそのまま変更されませんQoS はパケット マーキングを使用して、あるトラフィック タイプおよびローカル スイッチおよびネットワーク上でのそれらのタイプの処理方法を識別します。

    また、マーキングを使用すると、スイッチ内の QoS グループにトラフィックを割り当てることもできます。この QoS グループは、パケットを変更しない内部ラベルですが、ネットワーク ポートで出力キューイングを設定する場合のトラフィック タイプの識別に使用できます。

    CPU によって生成されたトラフィックを指定してマーキングするには、次のグローバル コンフィギュレーション コマンドを使用します。

    cpu traffic qos cos { cos_value | cos [ table-map table-map-name ] | dscp [ table-ma p table-map-name ] | precedence [ table-map table-map-name ]}

    cpu traffic qos dscp { dscp_value | cos [ table-map table-map-name ] | dscp [ table-map table-map-name ] | precedence [ table-map table-map-name ]}

    cpu traffic qos precedence { precedence_value | cos [ table-map table-map-name ] | dscp [ table-map table-map-name ] | precedence [ table-map table-map-name ]}

    cpu traffic qos qos-group value

    明示的な値を設定するか、またはキーワード table-map を使用して、CoS、IP-DSCP、IP precedence、および QoS グループをマークできます。テーブル マップでは、特定のトラフィック属性を示し、それらを別の属性にマッピング(変換)します。テーブル マップでは、属性の to-from 関係を確立し、行われた変更を定義します。

    blank.gifIP CPU パケットの CoS、 または IP-DSCP、または IP precedence を使用した CoS のマーキング

    blank.gif非 IP CPU パケットの CoS を使用した CoS のマーキング

    blank.gifCPU パケットの CoS、または IP-DSCP、または IP precedence を使用した IP DSCP のマーキング

    blank.gifCPU パケットの CoS、または IP-DSCP、または IP precedence を使用した IP precedence のマーキング

    IP-DSCP または IP precedence いずれかのマーキングを設定できます。

    また同時に、CoS、IP-DSCP または IP precedence、および QoS グループを修正するマーキング アクションを設定できます。

    cpu traffic qos コマンドは、適用先となるトラフィックを指定します。それらは、すべての CPU トラフィック、CPU IP トラフィックだけ、または CPU 非 IP トラフィックだけです。その他のすべてのトラフィックは、その QoS マーキングを保持しています。この機能は CFM トラフィック(CFM を使用したレイヤ 2 IP SLA プローブを含む)には影響を与えません。

    注: スイッチには、テーブルマップを使用して CPU が生成したトラフィックの CoS、IP-DSCP および IP precedence をマーキングする機能が搭載されています。

    CPU によって生成されたトラフィックの QoS キューイング

    cpu traffic qos グローバル コンフィギュレーション コマンドにより、出力ポリシーマップのクラスマップでパケット ID として CPU 生成トラフィックに確立された QoS マーキングを使用して、CPU トラフィックを出力ポートの出力ポリシーマップのクラスキューにマッピングできます。出力ポートの出力ポリシー マップを使用して、そのポートのスイッチから発信されるトラフィックのキューイングおよびスケジューリングを設定できます。

    CoS、IP DSCP、または IP-precedence パケットマーキングを変更せずに、すべての CPU 生成トラフィックを出力ポリシーマップの 1 つのクラスにマッピングする場合、CPU 生成グループのマーキングに QoS グループを使用できます。

    IP DSCP または IP-precedence に基づき、それらのパケットマーキングを変更せずに、すべての CPU 生成 IP トラフィックを出力ポリシーマップの複数クラスにマッピングする場合、テーブルマップを使用できます。

    blank.gifテーブルマップを指定せず、 DSCP または precedence map from 値として使用することで、IP-DSCP または IP precedence マーキングを設定します。

    blank.gif default および copy の各キーワードだけを使用したテーブルマップを指定し、 DSCP または precedence map from 値として使用することで、IP-DSCP または IP precedence マーキングを設定します。

    CoS に基づき、CoS パケットマーキングを変更せずに、すべての CPU 生成トラフィックを出力ポリシーマップの複数クラスにマッピングする場合、テーブルマップを使用できます。

    blank.gifテーブルマップを指定せず、CoS を map from 値として使用することで、 CoS マーキングを設定します。

    blank.gif default および copy の各キーワードだけを使用したテーブルマップを指定し、 CoS map from 値として使用することで、CoS マーキングを設定します。

    テーブルマップの詳細については、テーブル マップを参照してください。

    テーブルマッピングで cpu traffic qos グローバル コンフィギュレーション コマンドを使用すると、複数のマーキングポリシーおよびキューイングポリシーがともに動作、または個別に動作するよう設定できます。 cpu traffic qos グローバル コンフィギュレーション コマンドを使用して設定された CoS マーキングに基づき、ネイティブ VLAN トラフィックをキューイングできます。

    cpu traffic qos コマンドは、適用先となるトラフィックを指定します。それらは、すべての CPU トラフィック、CPU IP トラフィックだけ、または CPU 非 IP トラフィックだけです。その他のトラフィックは、出力ポートの CPU デフォルト キューにスタティックにマッピングされます。すべての CFM トラフィック(CFM を使用したレイヤ 2 IP SLA プローブを含む)は、出力ポリシー マップのクラスにマッピングされ、その CoS 値に基づいてキューイングされます。

    注: スイッチには、テーブルマップを使用して CPU が生成したトラフィックの CoS、IP-DSCP および IP precedence に基づいてキューイングする機能が搭載されています。

    設定のガイドライン

    blank.gifこの機能はスイッチでグローバルに設定する必要があります。ポート単位またはプロトコル単位では設定できません。

    blank.gif個別の回線上でそれぞれ cpu traffic qos マーキングアクションを入力します。

    blank.gif cpu traffic qos cos グローバル コンフィギュレーション コマンドは、特定の CoS 値またはテーブルマップの両方ではなく、いずれかを使用して、CPU 生成トラフィックの CoS マーキングを設定します。新しく設定を行うと、既存の設定は置き換えられます。

    blank.gif cpu traffic qos dscp グローバル コンフィギュレーション コマンドは、特定の DSCP 値またはテーブルマップの両方ではなく、いずれかを使用して、CPU 生成 IP トラフィックの IP-DSCP マーキングを設定します。新しく設定を行うと、既存の設定は置き換えられます。

    blank.gif cpu traffic qos precedence グローバル コンフィギュレーション コマンドは、特定の precedence 値またはテーブルマップの両方ではなく、いずれかを使用して、CPU 生成 IP トラフィックの IP-precedence マーキングを設定します。新しく設定を行うと、既存の設定は置き換えられます。

    blank.gif cpu traffic qos dscp グローバル コンフィギュレーション コマンドと cpu traffic qos precedence グローバル コンフィギュレーション コマンドは相互に排他的です。新しく設定を行うと、既存の設定は置き換えられます。

    blank.gif cpu traffic qos dscp グローバル コンフィギュレーション コマンドがテーブルマップで設定されている場合、一度に 1 つの map from 値(DSCP、precedence、または CoS)しか設定できません。新しく設定を行うと、既存の設定は置き換えられます。このコマンドでマーキングされたパケットは、マーキングされた DSCP 値または precedence 値に基づいて、出力ポリシー マップで分類し、キューイングできます。

    blank.gif cpu traffic qos precedence グローバル コンフィギュレーション コマンドがテーブルマップで設定されている場合、一度に 1 つの map from 値(DSCP、precedence、または CoS)しか設定できません。新しく設定を行うと、既存の設定は置き換えられます。このコマンドでマーキングされたパケットは、マーキングされた precedence 値または DSCP 値に基づいて、出力ポリシー マップで分類し、キューイングできます。

    blank.gifDSCP および precedence 両方の map from 値は設定できません。新しく設定を行うと、既存の設定は置き換えられます。

    blank.gif cpu traffic qos cos グローバル コンフィギュレーション コマンドがテーブルマップで設定されている場合、一度に 2 つの map from 値(CoS と DSCP または precedence のいずれか)を設定できます。

    blank.gif cpu traffic qos cos グローバル コンフィギュレーション コマンドが DSCP または precedence の map from 値だけで設定されている場合、次のようになります。

    blank.gifIP パケットの CoS 値は、パケットの DSCP(または precedence)値および設定されたテーブル マップを使用してマッピングされています。パケットは、マーキングされた CoS 値に基づいて、出力ポリシー マップで分類し、キューイングできます。

    blank.gif非 IP パケットの CoS 値は変わりません。

    blank.gif cpu traffic qos cos グローバル コンフィギュレーション コマンドが CoS の map from 値で設定されている場合、次のようになります。

    blank.gifIP パケットの CoS 値は、パケットの CoS 値および設定されたテーブル マップを使用してマッピングされています。パケットは、マーキングされた CoS 値に基づいて、出力ポリシー マップで分類し、キューイングできます。

    blank.gif非 IP パケットの CoS 値は、パケットの CoS 値および設定されたテーブル マップを使用してマッピングされています。パケットは、マーキングされた CoS 値に基づいて、出力ポリシー マップで分類し、キューイングできます。

    blank.gif cpu traffic qos cos グローバル コンフィギュレーション コマンドが DSCP または precedence および CoS の map from 値で設定されている場合、次のようになります。

    blank.gifIP パケットの CoS 値は、パケットの DSCP または precedence 値および設定されたテーブル マップを使用してマッピングされています。パケットは、マーキングされた CoS 値に基づいて、出力ポリシー マップで分類し、キューイングできます。

    blank.gif非 IP パケットの CoS 値は、パケットの CoS 値および設定されたテーブル マップを使用してマッピングされています。パケットは、マーキングされた CoS 値に基づいて、出力ポリシー マップで分類し、キューイングできます。

    blank.gif cpu traffic qos qos-group グローバル コンフィギュレーション コマンドを使用して、特定の QoS グループの CPU 生成トラフィックだけの QoS グループマーキングを設定できます。 table-map オプションは使用できません。

    輻輳管理およびスケジューリング

    Cisco Modular QoS CLI(MQC)は、発信トラフィック フローを制御する関連メカニズムをいくつか備えています。これらのメカニズムは、出力ポリシー マップに実装され、出力トラフィック キューを制御します。スケジューリング ステージでは、該当する時間までパケットを保有してから、4 つのトラフィック キューのいずれかに送信します。キューイングは、パケット クラスに基づいて特定のキューにパケットを割り当てて、輻輳を回避するため、WTD アルゴリズムにより拡張されます。異なるスケジューリング メカニズムを使用すると、他のトラフィックを均等に処理しながら、特定のトラフィック クラスに保証された帯域幅を割り当てることができます。特定のトラフィック クラスで消費される最大帯域幅を制限して、低遅延キューの遅延の影響を受けやすいトラフィックが他のキューよりも先に送信されるように保証できます。

    スイッチでは、次のスケジューリング メカニズムをサポートします。

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

    shape average ポリシーマップ クラス コンフィギュレーション コマンドを使用すると、特定のトラフィッククラスで最大許容平均レートを使用するように指定できます。最大レートは bps で指定します。

    blank.gifCBWFQ

    bandwidth ポリシーマップ クラス コンフィギュレーション コマンドを使用すると、特定のクラスに割り当てられる帯域幅を制御できます。最小帯域幅は、ビット レート、または総帯域幅もしくは残りの帯域幅との割合で指定できます。

    blank.gifプライオリティ キューイングまたはクラスベース プライオリティ キューイング

    priority ポリシーマップ クラス コンフィギュレーション コマンドを使用して、他のトラフィックタイプよりも優先されるトラフィックタイプを指定します。プライオリティの高いトラフィックには、完全プライオリティを指定して、その他のトラフィック キューには余剰の帯域幅を割り当てたり、またはプライオリティの高いトラフィックの無条件のポリシングを含むプライオリティを指定して、その他のトラフィック キュー間に既知の残りの帯域幅を割り当てることができます。

    blank.gif完全プライオリティを設定するには、 priority ポリシーマップ クラス コンフィギュレーション コマンドだけを使用して、プライオリティキューを設定します。その他のトラフィッククラスには、 bandwidth remaining percent ポリシーマップ クラス コンフィギュレーション コマンドを使用して、必要な比率で余剰の帯域幅を割り当てます。

    blank.gif無条件のポリシングを含むプライオリティを設定するには、 priority ポリシーマップ クラス コンフィギュレーション コマンドおよび police ポリシーマップ クラス コンフィギュレーション コマンドを使用して、プライオリティキューを無条件にレート制限します。この場合、他のトラフィッククラスは、要件に応じて bandwidth または shape average により設定できます。

    ここでは、スケジューリングに関するその他の情報について説明します。

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

    blank.gifCBWFQ

    blank.gifプライオリティ キューイング

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

    トラフィック シェーピングは、トラフィック ポリシングと同様のトラフィック制御メカニズムです。入力ポリシー マップでトラフィック ポリシングが使用されている場合、トラフィック シェーピングはインターフェイスからトラフィックを発信するときに実行されます。スイッチは、インターフェイスから発信されるトラフィックのクラスにはクラスベース シェーピングを、およびインターフェイスから発信されるすべてのトラフィックにはポート シェーピングを適用できます。トラフィック シェーピングのキュー設定により、キューの最大帯域幅および Peak Information Rate(PIR)が設定されます。

    注: 出力ポリシーマップ内の同一のクラスに、トラフィックシェーピング( shape average )と CBWFQ( bandwidth )、またはプライオリティキューイング( priority )を設定できません。出力ポリシー マップ内の別のクラスに、完全プライオリティ(ポリシングなしのプライオリティ)が設定されている場合、特定のトラフィック クラスにトラフィック シェーピングを設定できません。

    クラスベースのシェーピング

    クラスベースシェーピングは、 shape average ポリシーマップ クラス コンフィギュレーション コマンドを使用して、データ伝送速度(bps)を制限し、トラフィッククラスの認定情報速度(CIR)に使用します。スイッチは、3 つのトラフィック クラスごとに別々のキューをサポートします。4 番目のキューは常に、クラス class-default 、未分類トラフィック用のデフォルトキューです。

    注: トラフィックシェーピングの設定により、キューの最小帯域幅保証または CIR を PIR と同じ値に自動的に設定します。

    ポート シェーピング

    ポートシェーピング(送信ポートシェーパ)を設定するには、デフォルトクラスだけを含むポリシーマップを作成して、 shape average コマンドを使用してポートの最大帯域幅を指定します。

    次に、前の例で設定された out-policy ポリシーマップに応じて割り当てられた、ポートを 90 Mbps にシェーピングするポリシーマップを設定する例を示します。 service-policy ポリシー マップ クラス コマンドは、親ポリシーに子ポリシーを作成する場合に使用します。

    Switch(config)# policy-map out-policy-parent
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# shape average 90000000
    Switch(config-pmap-c)# service-policy out-policy
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy output out-policy-parent
    Switch(config-if)# exit

    親子階層

    トラフィックシェーピングでは、 parent ポリシーレベルおよび child ポリシーレベルもサポートされます。QoS の親子構造は、特定のトラフィック タイプをさらに詳細に制御するために、子ポリシーが親ポリシー内で参照されるという特定の目的に使用されます。

    最初のポリシーレベルは親レベルで、ポートシェーピングに使用されます。また、ポリシー内にクラスタイプの class-default を 1 つだけ特定できます。次に、親レベルのポリシー マップの例を示します。

    Switch(config)# policy-map parent
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# shape average 50000000
    Switch(config-pmap-c)# exit
     

    2 番目のポリシーレベルは子レベルで、特定のトラフィックストリームまたはトラフィッククラスを制御するのに使用されます(次の例を参照)。

    Switch(config)# policy-map child
    Switch(config-pmap)# class class1
    Switch(config-pmap-c)# priority
    Switch(config-pmap-c)# exit

    注: 子ポリシーの各キューにおける最小帯域幅保証の合計(CIR)は、ポートシェーピングの合計速度を上回ることはできません。

    次に、親子設定の例を示します。

    Switch(config)# policy-map parent
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# shape average 50000000
    Switch(config-pmap-c)# service-policy child
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy output parent
    Switch(config-if)# exit

    CBWFQ

    CBWFQ を設定することにより、ポートで使用可能な総帯域幅の一部を割り当てて、キューの相対的優先順位を設定できます。 bandwidth ポリシーマップ クラス コンフィギュレーション コマンドを使用すると、トラフィッククラスの出力帯域幅をレート(kbps)、総帯域幅に対するパーセンテージ、または残りの帯域幅に対するパーセンテージで設定できます。

    注: ポリシーマップで帯域幅を設定する場合は、すべてのレートを同じ形式(設定されたレートまたはパーセンテージ)で設定する必要があります。ポリシーの各キューにおける最小帯域幅保証の合計(CIR)は、親の合計速度を上回ることはできません。

    blank.gif bandwidth ポリシーマップ クラス コンフィギュレーション コマンドを使用して、トラフィッククラスを絶対レート(kbps)または総帯域幅に対するパーセンテージで設定する場合、これはそのトラフィッククラスの最小帯域幅保証(CIR)を表します。つまり、トラフィック クラスは最低でもコマンドにより指定された帯域幅を取得しますが、その帯域幅に制限されるわけではありません。ポート上の余剰の帯域幅はすべて、CIR レートの設定と同じ比率で各クラスに割り当てられます。

    出力ポリシーの別のクラスに完全プライオリティ(ポリシングなしのプライオリティ)が設定されている場合には、帯域幅を絶対レートまたは総帯域幅に対するパーセンテージでは設定できません。

    blank.gif bandwidth ポリシーマップ クラス コンフィギュレーション コマンドを使用して、トラフィッククラスを残りの帯域幅に対するパーセンテージで設定する場合、これはクラスに割り当てられるポートの余剰帯域幅の一部を表しています。つまり、ポート上に余剰の帯域幅がある場合、およびこのトラフィック クラスに最小帯域幅保証がない場合にだけ、クラスに帯域幅が割り当てられます。

    出力ポリシー マップの別のクラスに完全プライオリティ(ポリシングなしのプライオリティ)が設定されている場合にだけ、帯域幅を残りの帯域幅に対するパーセンテージで設定できます。

    詳細については、「CBWFQ を含む出力ポリシー マップの設定」を参照してください。

    注: 出力ポリシーマップ内の同一のクラスには、帯域幅とトラフィックシェーピング( shape average )またはプライオリティキューイング( priority )を設定できません。

    注: クラスの CIR 帯域幅を絶対レートまたは総帯域幅に対するパーセンテージで設定する場合、ポリシーマップ内のすべてのクラスの CIR の処理後に残った余剰な帯域幅すべては、CIR レートと同じ比率でクラス間に配分されます。クラスの CIR レートが 0 に設定されている場合、このクラスはどの余剰帯域幅に対しても不適格となるため、帯域幅を取得できません。

    プライオリティ キューイング

    priority ポリシーマップ クラス コンフィギュレーション コマンドを使用すると、特定のトラフィッククラスで優先処理が行われるよう保証できます。完全プライオリティ キューイングを使用すると、プライオリティ キューは常に処理されます。キュー内のすべてのパケットは、キューが空になるまでスケジューリングされ、送信されます。プライオリティ キューイングにより、関連付けられたクラスのトラフィックは、他のキューのパケットよりも先に送信されます。

    注: priority コマンドを使用する際は注意してください。完全プライオリティ キューイングを過剰に使用すると、他のキューで輻輳が発生する場合があります。

    スイッチでは、完全プライオリティキューイングまたは police ポリシーマップ コマンドと併用されるプライオリティをサポートしています。

    blank.gif 完全プライオリティキューイング (ポリシングなしのプライオリティ)では、トラフィッククラスを低遅延キューに割り当てて、このクラスのパケットの遅延確率が最小になるよう保証します。完全プライオリティ キューイングが設定されている場合、プライオリティ キューは空になるまで継続的に処理され、他のキューのパケットは処理されない場合もあります。

    同一出力ポリシー マップ内の別のクラスで、トラフィック シェーピングまたは CBWFQ が設定されている場合は、トラフィック クラスに対するポリシングなしのプライオリティを設定できません。

    blank.gifpolice ポリシーマップ コマンドとプライオリティを併用するか、または無条件のプライオリティポリシングを使用することにより、プライオリティキューで使用される帯域幅を削減できます。これは、出力ポリシー マップでサポートされる唯一のポリシング形式です。このようにコマンドを組み合わせて、プライオリティキューの最大レートを設定します。また、他のクラスに bandwidth および shape average の各ポリシーマップ コマンドを使用すると、他のキューのトラフィックレートを割り当てることができます。

    出力ポリシーマップに police コマンドを使用せずにプライオリティが設定されている場合に他のキューを設定するには、 bandwidth remaining percent ポリシーマップ コマンドを使用して余剰の帯域幅を割り当てることによって共有するしかありません。

    プライオリティ キューイングには、次の制限事項があります。

    blank.gif priority コマンドは、スイッチ上で付加されたすべての出力ポリシーの単一の一意のクラスに関連付けできます。

    blank.gif同一クラスでは、プライオリティとその他のスケジューリングアクション( shape average または bandwidth )を設定できません。

    blank.gif出力ポリシーマップの class-default にはプライオリティキューイングを設定できません。

    詳細については、「クラスベース プライオリティ キューイングを含む出力ポリシー マップの設定」を参照してください。

    次に、クラス out-class1 を完全プライオリティキューとして設定し、このクラスのすべてのパケットが他のトラフィッククラスより先に送信される例を示します。他のトラフィックキューでは、 out-class2 は残りの帯域幅の 50%、 out-class3 は残りの帯域幅の 20% を取得するように設定されます。クラス class-default は、保証なしで、残りの 30% を取得します。

    Switch(config)# policy-map policy1
    Switch(config-pmap)# class out-class1
    Switch(config-pmap-c)# priority
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class out-class2
    Switch(config-pmap-c)# bandwidth remaining percent 50
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class out-class3
    Switch(config-pmap-c)# bandwidth remaining percent 20
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface gigabitethernet 0/1
    Switch(config-if)# service-policy output policy1
    Switch(config-if)# exit
     

    次に、 priority コマンドと police コマンドを併用して、 out-class1 をプライオリティキューとして設定し、キューに着信するトラフィックを 20000000 bps に制限して、プライオリティキューがそれを超えるレートを使用しないようにする例を示します。このレートを超えるトラフィックは、廃棄されます。他のトラフィック キューは、残りの帯域幅の 50% および 20% を使用するように設定されます(上記の例を参照)。

    Switch(config)# policy-map policy1
    Switch(config-pmap)# class out-class1
    Switch(config-pmap-c)# priority
    Switch(config-pmap-c)# police 200000000
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class out-class2
    Switch(config-pmap-c)# bandwidth percent 50
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class out-class3
    Switch(config-pmap-c)# bandwidth percent 20
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
     
    Switch(config)# interface gigabitethernet 0/1
    Switch(config-if)# service-policy output policy1
    Switch(config-if)# exit

    輻輳回避およびキューイング

    輻輳回避では、テール ドロップなどのアルゴリズムを使用して、キューイングおよびスケジューリング ステージを開始するパケット数を制御して、輻輳およびネットワークのボトルネックを回避します。スイッチは、Weighted Tail-Drop(WTD)を使用して、キュー サイズを管理し、トラフィック分類の廃棄優先順位を指定します。キュー サイズの制限は、キューのパケット マーキングに応じて設定されます。スイッチを通過するパケットごとに、特定のキューおよびしきい値が割り当てられます。たとえば、特定の DSCP 値または CoS 値は特定の出力キューおよびしきい値にマッピングされます。

    WTD はキュー サイズを管理したり、トラフィック分類ごとに廃棄優先順位を設定するためにトラフィック キューに実装されます。WTD ではパケット分類を使用して、特定のキューに着信したフレームにそれぞれ異なるしきい値を適用します。宛先キューの合計サイズが、再分類された任意のトラフィックのしきい値を上回る場合、そのトラフィックの次のフレームは廃棄されます。

    図 84 に 1000 フレームのキューにおける WTD の動作例を示します。ドロップ割合は次のように設定されています。40%(400 フレーム)、60%(600 フレーム)、および 100%(1000 フレーム)です。これらのパーセンテージは、40% のしきい値に再分類されたトラフィックは、キュー深度が 400 フレームを超過すると廃棄され、60% のしきい値に再分類されたトラフィックは、キュー深度が 600 フレームを超過すると廃棄されるということを意味します。また、40% しきい値の場合は最大 400 フレーム、60% しきい値の場合は最大 600 フレーム、100% しきい値の場合は最大 1000 フレームをキューイングできるという意味です。

    図 84 WTD およびキューの動作

     

    86692.jpg

    この例では、CoS 値 6 および 7 は他の CoS 値よりも重要度が高く、100% ドロップしきい値に割り当てられます(キューフル ステート)。CoS 値 4 および 5 は 60% しきい値に、CoS 値 0 ~ 3 は 40% しきい値に割り当てられます。

    すでにキューが 600 フレームで満たされている場合に、4 および 5 の CoS 値を含む新しいフレームが着信すると、このフレームは 60% しきい値の対象となります。このフレームがキューに追加されると、しきい値を超過するため、フレームは廃棄されます。

    WTD は、 queue-limit ポリシーマップ クラス コマンドにより設定されます。このコマンドにより、特定のトラフィック クラスに関連するキュー サイズ(バッファ サイズ)が調整されます。しきい値をパケット数で指定する場合、各パケットは 256 バイトの固定単位となります。同一キュー内のトラフィック クラス(CoS、DSCP、precedence、または QoS グループ)ごとに、異なるキュー サイズを指定できます。キュー制限を設定することにより、対応するトラフィックの輻輳発生時の廃棄しきい値が確立されます。

    注: queue-limit ポリシー マップ クラス コマンドを使用してキューサイズを設定する場合は、まずスケジューリングアクション( bandwidth shape average または priority )を設定する必要があります。唯一の例外は、出力ポリシーマップの class-default のキュー制限を設定する場合です。

    スイッチは、すべての出力ポリシー マップにおいてそれぞれ固有のキュー制限設定を最大 3 つまでサポートしています。出力ポリシー マップ内で許容されるキュー(クラス)は 4 つだけです(クラス デフォルトを含む)。各キューには 3 つのしきい値が定義されています。スイッチ上では、固有のしきい値を 3 つまで設定できます。ただし、複数のポリシー マップで同じキュー制限を共有できます。2 つのポリシー マップがキュー制限の設定を共有する場合、両方のポリシー マップのすべてのクラスで、すべてのしきい値が同じでなければなりません。

    詳細については、「CBWFQ を含む出力ポリシー マップの設定」を参照してください。

    次に、 class A が DSCP 値およびポリシーマップ、 PM1 に一致するよう設定する例を示します。30 および 50 の DSCP は、一意のしきい値(それぞれ 32 および 64)にマッピングされます。40 および 60 の DSCP 値は、112 パケットの最大しきい値にマッピングされます。

    Switch(config)# class-map match-any classA
    Switch(config-cmap)# match ip dscp 30 40 50 60
    Switch(config-cmap)# exit
    Switch(config)# policy-map PM1
    Switch(config-pmap)# class classA
    Switch(config-pmap-c)# bandwidth percent 50
    Switch(config-pmap-c)# queue-limit 112
    Switch(config-pmap-c)# queue-limit dscp 30 32
    Switch(config-pmap-c)# queue-limit dscp 50 64
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface gigabitethernet 0/1
    Switch(config-if)# service-policy output PM1
    Switch(config-if)# exit
     

    スイッチ上の複数の出力ポリシー マップで同じキュー制限値を使用できます。ただし、クラスのキュー制限値の 1 つを変更すると、新たな固有のキュー制限設定が作成されます。インターフェイスに付加できる出力ポリシー マップの固有のキュー制限設定は、どの時点でも 3 つだけです。4 つめのキュー制限が設定された出力ポリシー マップを付加しようとすると、次のエラー メッセージが表示されます。

    QoS: Configuration failed. Maximum number of allowable unique queue-limit configurations exceeded.

    注: 出力ポリシーマップで特定のクラスにキュー制限を設定する場合、他のすべての出力ポリシーマップでは、同一の修飾子タイプおよび修飾値の形式を使用する必要があります。キュー制限のしきい値に限り、異なる値を設定できます。たとえば、ポリシーマップ PM1 dscp 30 および dscp 50 に、 class A のキュー制限のしきい値が設定されていて、ポリシーマップ PM2 class A のキュー制限を設定する場合、 dscp 30 および dscp 50 を修飾子として使用する必要があります。 dscp 20 および dscp 40 は、使用できません。別のしきい値を設定できますが、これにより、新たなキュー制限設定が作成されます。

    デフォルトでは、バッファ スペースの総容量は、すべてのポートおよび各ポートのすべてのキューで均等に配分されます。これは、多くのアプリケーションに適合します。遅延の影響を受けやすいトラフィックのキュー サイズを削減したり、またはバースト性のあるトラフィックのキュー サイズを増加させたりできます。

    注: queue-limit コマンドを使用して、クラスのキューしきい値を設定する場合、WTD しきい値は、キューの最大しきい値以下にする必要があります。修飾子なしで設定されたキュー サイズは、修飾子を使用して設定されたいずれのキュー サイズよりも大きくする必要があります。

    キュー制限を設定する場合、指定できるパケット数の範囲は 16 の倍数で、16 ~ 544 です。この場合、各パケットは 256 バイトの単位となります。

    注: 最適なパフォーマンスを実現するため、キュー制限を 272 以下に設定することを推奨します。

    キューの帯域幅とキュー サイズ(キュー制限)は、別々に設定されます。相互依存はしません。帯域幅およびキュー制限を設定する場合、送信されるトラフィック タイプを考慮する必要があります。

    blank.gif大きなバッファ(キュー制限)により、パケットを損失しないでバースト性のあるトラフィックに対応できますが、遅延は増えます。

    blank.gif小さなバッファは遅延を減らしますが、バースト性のあるトラフィックより安定したトラフィック フローに適しています。

    blank.gif非常に小さなバッファは通常、プライオリティ キューイングを最適化するのに使用されます。プライオリティ キューイングされるトラフィックの場合、通常少しのパケットに対応するだけのバッファ サイズが必要です。通常、大きなバッファ サイズは遅延を増加させるため、必要ではありません。高いプライオリティの遅延の影響を受けやすいパケットには、相対的に大きな帯域幅および相対的に小さなキュー サイズを設定します。

    これらの制限事項は、WTD 修飾子に適用されます。

    blank.gif queue-limit コマンドを使用した場合、WTD 修飾子( cos dscp precedence qos-group )に 3 つ以上のしきい値を設定できません。ただし、これらのしきい値にマッピングできる修飾子の数に制限はありません。修飾子を指定しないで queue-limit コマンドを使用することにより、最大キューを設定する 3 番目のしきい値を設定できます。

    blank.gif queue-limit コマンドの WTD 修飾子は、関連するクラスマップの少なくとも 1 つの match 修飾子と同じである必要があります。

     

    次に、 out-class1 out-class2 out-class3 、および class-default がそれぞれ最低 40、20、10、および 10% のトラフィック帯域幅を取得するように、帯域幅およびキュー制限を設定する例を示します。対応するキューサイズは、48、32、16、および 272(256 バイト)パケットに設定されます。

    Switch(config)# policy-map out-policy
    Switch(config-pmap)# class outclass1
    Switch(config-pmap-c)# bandwidth percent 40
    Switch(config-pmap-c)# queue-limit 48
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class outclass2
    Switch(config-pmap-c)# bandwidth percent 20
    Switch(config-pmap-c)# queue-limit 32
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class outclass3
    Switch(config-pmap-c)# bandwidth percent 10
    Switch(config-pmap-c)# queue-limit 16
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# bandwidth percent 10
    Switch(config-pmap-c)# queue-limit 272
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface gigabitethernet 0/1
    Switch(config-if)# service-policy output out-policy
    Switch(config-if)# exit
     

    スイッチポート数に応じた数の出力ポリシー マップを設定および付加できますが、一意のキュー制限は 3 つしか設定できません。他の出力ポリシー マップが同じキュー制限およびクラス設定を使用する場合、帯域幅パーセンテージが異なる場合でも、キュー制限設定は同じであると見なされます。

    QoS の設定

    QoS を設定する前に、次の内容を理解しておいてください。

    blank.gif使用するアプリケーションのタイプおよびネットワークのトラフィックパターン。

    blank.gifトラフィックの特性およびネットワークのニーズ。バースト性の高いトラフィックかどうかの判別。音声およびビデオスリーム用の帯域幅確保の必要性

    blank.gifネットワークの帯域幅要件および速度。

    blank.gifネットワーク上の輻輳発生箇所

    次に、着信トラフィックの分類、ポリシングおよびマーキング方法と発信トラフィックのスケジューリングおよびキューイング方法について説明します。ネットワーク設定に応じて、次の作業を 1 つまたは複数実行する必要があります。

    blank.gifQoS のデフォルト設定

    blank.gifQoS 設定時の注意事項

    blank.gifACL を使用したトラフィックの分類

    blank.gifクラス マップを使用したトラフィック クラスの定義

    blank.gifテーブル マップの設定

    blank.gifトラフィック ポリシーのインターフェイスへの適用

    blank.gif入力ポリシー マップの設定

    blank.gif出力ポリシー マップの設定

    blank.gifCPU 生成トラフィックの QoS マーキングおよびキューイングの設定

    QoS のデフォルト設定

    ポリシー マップ、クラス マップ、テーブル マップ、またはポリサーは設定されていません。出力ポートでは、すべてのトラフィックは動作可能なポートの全帯域幅を割り当てられる単一のデフォルト キューを介して発信されます。デフォルト キューのデフォルト サイズは、160(256 バイト)パケットです。

    パケットは変更されません(パケット内の CoS、DSCP、および IP precedence 値は変更されません)。トラフィックはパススルー モードでスイッチングされ、書き換えられずにポリシングを伴わないベストエフォート型として分類されます。

    QoS 設定時の注意事項

    blank.gifQoS を設定できるのは物理ポートのみです。

    blank.gifQoS が設定されたポートでは、そのポートを通じて受信されるすべてのトラフィックは、ポートに付加された入力ポリシー マップに従って分類、ポリシング、およびマーキングが行われます。QoS が設定されたトランク ポートでは、そのポートを通じて受信されるすべての VLAN 内トラフィックは、ポートに付加されたポリシー マップに従って分類、ポリシング、およびマーキングが行われます。ポート単位、VLAN 単位ポリシー マップが付加された場合、トランク ポート上のトラフィックは、親レベルのポリシーで指定された VLAN に対して、各 VLAN に関連付けられた子ポリシー マップに従って分類、ポリシング、およびマーキングされます。

    blank.gifスイッチに EtherChannel ポートが設定されている場合は、EtherChannel を構成する各物理ポートで QoS の分類、ポリシング、マッピング、およびキューイングを設定する必要があります。また、QoS の設定を EtherChannel のすべてのポートで照合するかどうかを決定する必要があります。

    blank.gifスイッチで受信された制御トラフィック(スパニングツリー ブリッジ プロトコル データ ユニット(BPDU)やルーティング アップデート パケットなど)には、入力 QoS 処理がすべて行われます。

    blank.gifキュー設定を変更すると、データが失われることがあります。したがって、トラフィックが最小のときに設定を変更するようにしてください。

    blank.gif新しいポリシーをインターフェイスに付加しようとし、これによりポリサーインスタンスの数が 1024 - (スイッチ上のインターフェイス数 + 1)255 より多い数になる場合、エラーメッセージを受信し、設定は失敗します。

    blank.gif新しいポリシーをインターフェイスに付加しようとし、これによりポリサープロファイルの数を 256 より多くする場合、エラーメッセージを受信し、設定は失敗します。プロファイルは、認定速度、最大速度、認定バースト、および最大バーストの組み合わせです。1 つのプロファイルを複数のインスタンスに付加できますが、これらの特性のいずれかが異なっている場合、ポリサーに新しいプロファイルがあると見なされます。

    blank.gifスイッチのすべてのポートに、256 のポート単位、VLAN 単位ポリシーマップ内の固有の VLAN 分類基準を指定できます。この制限を超える原因となるような任意のポリシーへ付加や変更を行うと失敗となり、VLAN label resources exceeded というエラーメッセージが返されます。

    blank.gifQoS ACE 分類リソース制限に達するまで、ポート単位およびポート単位、VLAN 単位のポリシーマップをスイッチのすべてのポートに付加できます。この制限を超える原因となるような任意のポリシーへ付加や変更を行うと失敗となり、TCAM resources exceeded というエラーメッセージが返されます。

    blank.gifCPU 保護がイネーブルになっている場合、ポートごとに設定できるポリサーは 45 だけです。CPU 保護をディセーブルにすると、ポートごとに最大 64 のポリサーを設定できます。show policer cpu uni-eni {drop | rate} 特権 EXEC コマンドを入力し、CPU 保護がイネーブルになっているかどうか確認できます。

    blank.gifCPU 保護をディセーブルにする際はこれらの制限事項について注意してください。

    blank.gifCPU 保護をディセーブルにすると、ユーザ定義クラスに対してポートごとに最大 63 のポリサー(すべての 4 番目のポート上に 62)を、class-default に対して 1 つのポリサーを設定できます。この制限を超える原因となるような任意のポリシーへ付加や変更を行うと失敗となり、 policer resources exceeded というエラーメッセージが返されます。

    blank.gifCPU 保護をディセーブルにすると、スイッチで最大 256 個のポリサーを設定できます。この制限を超える原因となるような任意のポリシーへ付加や変更を行うと失敗となり、policer resources exceeded というエラーメッセージが返されます。

    blank.gifCPU 保護をディセーブルにして、45 を超えるポリサーを持つポリシー マップを付加してから、CPU 保護を再度イネーブルにして、リロードした場合、CPU 保護には、ポートごとに 19 のポリサーが再度必要となります。リロード中、ポリサー 46 以降は、 policer resources exceeded のエラー条件を満たすことになるので、これらのクラスに付加されるポリサーはありません。

    blank.gif内部 QoS ラベル数が 256 を超えると、エラー メッセージを受信します。

    blank.gif超過アクションのテーブルマップを設定し、違反アクションのアクションが明示的に設定されていない限り、集約ポリシングの violate-action に対するテーブルマップはサポートされません。個々のポリサーおよび集約ポリサー両方について、 violate-action を設定しない場合、デフォルトで違反クラスが exceed-action と同じアクションに割り当てられます。

    blank.gifトランクまたは 802.1Q トンネル インターフェイスで 2 重タグ パケットを受信すると、これらのパケットは他のパラメータとともに DSCP および IP precedence で分類されますが、発信パケットで DSCP または IP precedence は設定できません。発信パケットで CoS を設定できます。

    各機能に関連する設定上の注意事項の詳細については、特定の QoS 機能の設定の説明を参照してください。

    ACL を使用したトラフィックの分類

    IP 標準または IP 拡張 ACL を使用すると、IP トラフィックを分類できます。レイヤ 2 MAC ACL を使用すると、IP および非 IP トラフィックを分類できます。

    QoS ACL を設定する場合は、次の注意事項に従ってください。

    blank.gifIP フラグメントを設定済みの IP 拡張 ACL に照合して、QoS を実行できません。IP フラグメントはベストエフォート型として送信されます。IP フラグメントは IP ヘッダーのフィールドで示されます。

    blank.gifスイッチは、入力ポリシー マップのクラスごとにアクセス グループを 1 つだけサポートします。

    blank.gif出力ポリシーマップには、 match-access グループを設定できません。

    ここでは、QoS ACL の作成方法について説明します。

    blank.gifIP 標準 ACL の作成

    blank.gifIP 拡張 ACL の作成

    blank.gifレイヤ 2 MAC ACL の作成

    IP 標準 ACL の作成

    IP トラフィック用の IP 標準 ACL を作成するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    access-list access-list-number permit source [ source-wildcard ]

    IP 標準 ACL を作成し、必要な回数だけコマンドを繰り返します。

    blank.gif access-list-number には、アクセス リスト番号を入力します。有効範囲は 1 ~ 99 および 1300 ~ 1999 です。

    blank.gifQoS ポリシーの一致基準として使用される ACL には、必ずキーワード permit を使用します。QoS ポリシーは、キーワード deny を使用する ACL には一致しません。

    blank.gif source には、パケットの送信元となるネットワークまたはホストを指定します。 any キーワードは 0.0.0.0 255.255.255.255 の省略形として使用できます。

    blank.gif(任意) source-wildcard には、source に適用されるワイルドカード ビットをドット付き 10 進表記で入力します。

    または

    ip access-list standard name

    名前を使用して標準 IPv4 アクセス リストを定義し、アクセス リスト コンフィギュレーション モードを開始します。名前には、1 ~ 99 の番号を使用できます。

    アクセスリスト コンフィギュレーション モードで、 permit source [ source-wildcard ] を入力します。

    3.blank.gif

    end

    特権 EXEC モードに戻ります。

    4.blank.gif

    show access-lists

    入力内容を確認します。

    5.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    アクセス リストを削除するには、 no access-list access-list-number グローバル コンフィギュレーション コマンドを使用します。

    次に、指定された 3 つのネットワーク上のホストだけにアクセスを許可する例を示します。ネットワーク アドレスのホスト部分にワイルドカード ビットが適用されます。

    Switch(config)# access-list 1 permit 192.5.255.0 0.0.0.255
    Switch(config)# access-list 1 permit 128.88.0.0 0.0.255.255
    Switch(config)# access-list 1 permit 36.0.0.0 0.0.0.255

    IP 拡張 ACL の作成

    IP トラフィック用の IP 拡張 ACL を作成するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    access-list access-list-number permit protocol { source source-wildcard destination destination-wildcard } [ precedence precedence ] [ tos tos ] [ dscp dscp ]

    注: dscp 値を入力した場合、 tos または precedence は入力できません。 dscp を入力しない場合は、 tos precedence 値の両方を入力できます。

    IP 拡張 ACL を作成します。必要な回数だけ、この手順を繰り返します。

    blank.gif access-list-number には、アクセス リスト番号を入力します。有効範囲は 100 ~ 199 および 2000 ~ 2699 です。

    blank.gifQoS ポリシーの一致基準として使用される ACL には、必ずキーワード permit を使用します。QoS ポリシーは、 deny ACL に一致しません。

    blank.gif protocol には、IP プロトコルの名前または番号を入力します。使用可能なプロトコル キーワードのリストを表示するには、疑問符(?)を使用します。すべてのインターネット プロトコル(ICMP、TCP、UDP を含む)と一致させる場合は、 ip を入力します。

    blank.gif source はパケットの送信元であるネットワークまたはホストの番号です。

    blank.gif source-wildcard は、ワイルドカード ビットを送信元アドレスに適用します。

    blank.gif destination はパケットの宛先となるネットワークまたはホストの番号です。

    blank.gif destination-wildcard は、ワイルドカード ビットを宛先アドレスに適用します。

    source、destination、wildcards は、次のように指定できます。

    blank.gifドット付き 10 進表記による 32 ビット長の値。

    blank.gif0.0.0.0 255.255.255.255(任意のホスト)を表すキーワード any

    blank.gif単一のホスト 0.0.0.0 を表すキーワード host

    その他のキーワードは任意で、意味は次のとおりです。

    blank.gif precedence :パケットを 0 ~ 7 の番号または名前で指定する優先度と一致させる場合に入力します。指定できる値は、 routine 0 )、 priority 1 )、 immediate 2 )、 flash 3 )、 flash-override 4 )、 critical 5 )、 internet 6 )、 network 7 )です。

    blank.gif tos :パケットを 0 ~ 15 の番号または名前で指定するサービス タイプ レベルと一致させる場合に入力します。指定できる値は、 normal 0 )、 max-reliability 2 )、 max-throughput 4 )、 min-delay 8 )です。

    blank.gif dscp :パケットを 0 ~ 63 の番号で指定する DSCP 値と一致させる場合に入力します。また、指定できる値のリストを表示するには、疑問符(?)を使用します。

    または

    ip access-list extended name

    名前を使用して拡張 IPv4 アクセス リストを定義し、アクセス リスト コンフィギュレーション モードを開始します。 name は 100 ~ 199 の番号にできます。

    アクセス リスト コンフィギュレーション モードで、ステップ 2 で定義した permit protocol { source source-wildcard destination destination-wildcard } [ precedence precedence ] [ tos tos ] [ dscp dscp ] を入力します。

    3.blank.gif

    end

    特権 EXEC モードに戻ります。

    4.blank.gif

    show access-lists

    入力内容を確認します。

    5.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    アクセス リストを削除するには、 no access-list access-list-number グローバル コンフィギュレーション コマンドを使用します。

    次に、任意の送信元から、DSCP 値が 32 に設定されている任意の宛先への IP トラフィックを許可する ACL を作成する例を示します。

    Switch(config)# access-list 100 permit ip any any dscp 32
     

    次に、10.1.1.1 の送信元ホストから 10.1.1.2 の宛先ホストへの IP トラフィック(precedence 値は 5)を許可する ACL を作成する例を示します。

    Switch(config)# access-list 100 permit ip host 10.1.1.1 host 10.1.1.2 precedence 5

    レイヤ 2 MAC ACL の作成

    非 IP トラフィック用にレイヤ 2 MAC ACL を作成するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    mac access-list extended name

    リストの名前を指定して、レイヤ 2 MAC ACL を作成し、拡張 MAC ACL コンフィギュレーション モードを開始します。

    3.blank.gif

    permit { host src-MAC-addr mask | any | host dst-MAC-addr | dst-MAC-addr mask } [ type mask ]

    QoS ポリシーの一致基準として使用される ACL には、必ずキーワード permit を使用します。

    blank.gif src-MAC-addr には、パケットの送信元となるホストの MAC アドレスを指定します。MAC アドレスは、16 進表記(H.H.H)で、 source 0.0.0、 source-wildcard ffff.ffff.ffff にキーワード any を使用したり、 source 0.0.0 にキーワード host を使用して指定できます。

    blank.gif mask では、無視するビット位置に 1 を入力することによって、ワイルドカード ビットを指定します。

    blank.gif dst-MAC-addr には、パケットの宛先となるホストの MAC アドレスを指定します。MAC アドレスは、16 進表記(H.H.H)で、 source 0.0.0、 source-wildcard ffff.ffff.ffff にキーワード any を使用したり、 source 0.0.0 にキーワード host を使用して指定できます。

    blank.gif(任意) type mask には、Ethernet II または SNAP でカプセル化されたパケットの Ethertype 番号を指定して、パケットのプロトコルを識別します。 type の範囲は 0 ~ 65535 です。通常は 16 進数で指定します。 mask では、一致をテストする前に Ethertype に適用される don’t care ビットを入力します。

    4.blank.gif

    end

    特権 EXEC モードに戻ります。

    5.blank.gif

    show access-lists [ access-list-number | access-list-name ]

    入力内容を確認します。

    6.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    アクセス リストを削除するには、 no mac access-list extended access-list-name グローバル コンフィギュレーション コマンドを入力します。

    次に、2 つの許可( permit )ステートメントを指定したレイヤ 2 の MAC ACL を作成する例を示します。最初のステートメントでは、MAC アドレスが 0001.0000.0001 であるホストから、MAC アドレスが 0002.0000.0001 であるホストへのトラフィックが許可されます。2 番めのステートメントでは、MAC アドレスが 0001.0000.0002 であるホストから、MAC アドレスが 0002.0000.0002 であるホストへの、Ethertype が XNS-IDP のトラフィックのみが許可されます。

    Switch(config)# mac access-list extended maclist1
    Switch(config-ext-macl)# permit 0001.0000.0001 0.0.0 0002.0000.0001 0.0.0
    Switch(config-ext-macl)# permit 0001.0000.0002 0.0.0 0002.0000.0002 0.0.0 xns-idp
    Switch(config-ext-macl)# exit

    クラス マップを使用したトラフィック クラスの定義

    個々のトラフィック フロー(またはクラス)を他のすべてのトラフィックから分離して名前を付けるには、 class-map グローバル コンフィギュレーション コマンドを使用します。クラス マップが、特定のトラフィック フローとの照合を行い、さらにそれを分類するために使用する基準を定義します。match 文には、ACL、CoS 値、DSCP 値、IP precedence 値、 QoS グループ値、または VLAN ID などの基準が含まれます。一致基準は、クラスマップ コンフィギュレーション モードで入力される 1 つまたは複数の match ステートメントで定義されます。

    クラス マップの設定を行うときは、次の注意事項に従ってください。

    blank.gif match-all クラスマップには、1 つの分類基準(match 文)しか指定できませんが、 match-any クラスマップには複数の match 文を指定できます。

    blank.gifmatch cos コマンドおよび match vlan コマンドは、レイヤ 2 802.1Q トランクポート上でだけサポートされます。

    blank.gif match vlan コマンドを含むクラスマップは、トランクポート上のポート単位、VLAN 単位 QoS に関する入力階層型ポリシーマップの親ポリシーで使用します。子ポリシー マップに関連付けられた 1 つまたは複数のクラスがあるポリシーは、親ポリシー マップと見なされます。親ポリシー マップ内の各クラスは、親クラスと呼ばれます。親クラスでは、 match vlan コマンドだけを設定できます。子ポリシーマップ内のクラスでは、 match vlan コマンドを設定できません。

    blank.gif入力ポリシーマップでは、同一ポリシーマップまたはクラスマップ内に IP 分類( match ip dscp match ip precedence 、IP ACL の match access-group )と非 IP 分類( match cos 、または MAC ACL の match access-group )を設定できません。ポート単位、VLAN 単位階層型ポリシー マップでは、これを子ポリシー マップに適用します。

    blank.gif入力ポリシーマップには、 match qos-group を設定できません。

    blank.gif出力ポリシー マップでは、異なるクラス マップで同じ分類基準(つまり、同じ match 修飾子および match 値)を使用できません。

    blank.gifスイッチ上のクラス マップの最大数は、1024 です。

    クラス マップを作成し、トラフィックを分類するための一致基準を定義するには、特権 EXEC モードで次の作業を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    class-map [ match-all | match-any ] class-map-name

    クラス マップを作成し、クラス マップ コンフィギュレーション モードを開始します。デフォルトでは、クラス マップは定義されていません。

    blank.gif(任意)このクラス マップ配下のすべての一致ステートメントの論理 AND を実行するには、 match-all キーワードを使用します。この場合は、クラス マップ内のすべての一致条件と一致する必要があります。

    blank.gif(任意)このクラス マップ配下のすべての一致ステートメントの論理 OR を実行するには、 match-any キーワードを使用します。この場合は、1 つまたは複数の一致条件と一致する必要があります。

    blank.gif class-map-name には、クラス マップ名を指定します。

    一致文が指定されない場合、デフォルトは match-all になります。

    注: match-all クラスマップでは、複数の分類基準(match 文)を設定できません。

    3.blank.gif

    match { access-group acl-index-or-name | cos cos-list | ip dscp dscp-list | ip precedence ip-precedence-list | qos-group value | vlan vlan-list }

    トラフィックを分類するための一致条件を定義します。デフォルトでは、一致条件は定義されていません。

    各クラス マップでサポートされる一致タイプおよび ACL は、それぞれ 1 つだけです。

    blank.gif access-group acl-index-or-name には、ACL の番号または名前を指定します。アクセス グループの照合は、入力ポリシー マップでだけサポートされます。

    blank.gif cos cos-list を指定する場合は、1 行に最大 4 つの CoS 値のリストを入力して、着信パケットと照合します。各値はスペースで区切ります。5 つ以上の CoS 値を照合する場合は、複数の cos-list 行を入力できます。指定できる範囲は 0 ~ 7 です。

    blank.gif ip dscp dscp-list を指定する場合は、着信パケットと照合する最大 8 つの IPv4 DSCP 値を入力します。各値はスペースで区切ります。9 つ以上の DSCP 値を照合する場合は、複数の dscp-list 行を入力できます。指定できる数値範囲は 0 ~ 63 です。DSCP 値は、他の形式でも設定できます。IP DSCP に基づく分類を参照してください。

    blank.gif ip precedence ip-precedence-list を指定する場合は、着信パケットと照合する最大 4 つの IPv4 precedence 値のリストを入力します。各値はスペースで区切ります。5 つ以上の precedence 値を照合する場合は、複数の ip-precedence-list 行を入力できます。指定できる範囲は 0 ~ 7 です。

    blank.gif vlan vlan-list を指定する場合、トランクポート上のポート単位、VLAN 単位の QoS に関して親ポリシーマップで使用される VLAN ID または VLAN 範囲を指定します。VLAN ID の範囲は 1 ~ 4094 です。

    blank.gif qos-group value を指定する場合、QoS グループ番号を指定します。指定できる範囲は、0 ~ 99 です。QoS グループの照合は、出力ポリシー マップでだけサポートされます。

    4.blank.gif

    end

    特権 EXEC モードに戻ります。

    5.blank.gif

    show class-map

    入力内容を確認します。

    6.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    既存のクラスマップまたは一致基準を削除するには、該当するコマンドの no 形式を使用します。

    次に、アクセスリスト 103 を作成し、 class1 という名前のクラスマップを設定する例を示します。 class1 にはアクセス リスト 103 という一致条件が 1 つ設定されています。このクラス マップによって、任意のホストから任意の宛先へのトラフィック(DSCP 値は 10)が許可されます。

    Switch(config)# access-list 103 permit any any dscp 10
    Switch(config)# class-map class1
    Switch(config-cmap)# match access-group 103
    Switch(config-cmap)# exit
     

    次に、DSCP 値が 10、11、および 12 である着信トラフィックと照合する、 class2 という名前のクラス マップを作成する例を示します。

    Switch(config)# class-map match-any class2
    Switch(config-cmap)# match ip dscp 10 11 12
    Switch(config-cmap)# exit
     

    次に、IP precedence 値が 5、6、および 7 である着信トラフィックと照合する、 class3 という名前のクラス マップを作成する例を示します。

    Switch(config)# class-map match-any class3
    Switch(config-cmap)# match ip precedence 5 6 7
    Switch(config-cmap)# exit
     

    次に、30 ~ 40 の範囲の VLAN ID で着信トラフィックと照合する、 parent-class という名前の親クラスマップを作成する例を示します。

    Switch(config)# class-map match-any parent-class
    Switch(config-cmap)# match vlan 30-40
    Switch(config-cmap)# exit

    テーブル マップの設定

    テーブル マップを設定すると、単一のコマンドで多数のトラフィック フローを管理できます。テーブル マップを使用して、特定の DSCP 値、IP precedence 値、および CoS 値を相互に関連付けて、DSCP 値、IP precedence 値、または CoS 値をマークダウンするか、それらにデフォルト値を割り当てます。 set コマンドで指定したテーブルマップを、ポリシーのマークダウンマッピングとして使用できます。

    スイッチでは、次のテーブル マップがサポートされます。

    blank.gifDSCP/CoS、precedence、または DSCP

    blank.gifCoS/DSCP、precedence、または CoS

    blank.gifprecedence/CoS、DSCP、または precedence

    テーブル マップの設定を行うときは、次の注意事項に従ってください。

    blank.gifスイッチでは、最大 256 の一意のテーブル マップをサポートしています。

    blank.gifテーブル マップ内の map 文の最大数は 64 です。

    blank.gifテーブル マップは、出力ポリシー マップで使用できません。

    blank.gif超過アクションのテーブルマップを設定し、違反アクションのアクションが明示的に設定されていない限り、集約ポリシングの violate-action に対するテーブルマップはサポートされません。

    テーブルマップを作成するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    table-map table-map-name

    テーブル マップ名を入力してテーブル マップを作成し、テーブルマップ コンフィギュレーション モードを開始します。

    3.blank.gif

    map from from-value to to-value

    テーブルに含めるマッピング値を入力します。たとえば、テーブルマップが DSCP/CoS のテーブルマップである場合、 from-value は DSCP 値で、 to_value は CoS 値となります。指定できる範囲は、いずれも 0 ~63 です。

    このコマンドを複数回入力して、マッピングするすべての値を含めるようにします。

    4.blank.gif

    default { default-value | copy | ignore }

    テーブル マップで検出されない値のデフォルト動作を設定します。

    blank.gif default-value を入力して、特定の値を指定します。たとえば、DSCP/CoS テーブル マップでは、すべてのマッピングされていない DSCP 値に適用する特定の CoS 値となります。指定できる範囲は 0 ~ 63 です。

    blank.gif copy を入力して、マッピングされていない値を同等な値にマッピングします。DSCP/CoS テーブル マップでは、このコマンドによりすべてのマッピングされていない DSCP 値が同等の CoS 値にマッピングされます。

    blank.gif ignore を入力すると、マッピングされていない値は変更されません。DSCP/CoS テーブル マップでは、マッピングされていない DSCP 値の CoS 値は変更されません。

    5.blank.gif

    end

    特権 EXEC モードに戻ります。

    6.blank.gif

    show table-map [ table-map-name ]

    入力内容を確認します。

    7.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    テーブルマップを削除するには、 no table-map table-map-name グローバル コンフィギュレーション コマンドを使用します。

    次に、DSCP/CoS テーブル マップを作成する例を示します。完全なテーブルには通常、大きな DSCP 値用の追加の map 文が含まれます。このテーブルのデフォルト 4 は、マッピングされていない DSCP が CoS 値 4 に割り当てられるということを意味します。

    Switch(config)# table-map dscp-to-cos
    Switch(config-tablemap)# map from 1 to 1
    Switch(config-tablemap)# map from 2 to 1
    Switch(config-tablemap)# map from 3 to 1
    Switch(config-tablemap)# map from 4 to 2
    Switch(config-tablemap)# map from 5 to 2
    Switch(config-tablemap)# map from 6 to 3
    Switch(config-tablemap)# default 4
    Switch(config-tablemap)# end
    Switch# show table-map dscp-to-cos

    トラフィック ポリシーのインターフェイスへの適用

    service-policy インターフェイス コンフィギュレーション コマンドを使用して、インターフェイスにトラフィックポリシーを付加し、ポリシーが適用される方向(着信トラフィックの入力ポリシーマップ、または発信トラフィックの出力ポリシーマップ)を指定します。入力ポリシー マップおよび出力ポリシー マップは、別々の QoS 機能をサポートします。入力ポリシーマップおよび出力ポリシーマップの制限事項に関しては、入力ポリシー マップの設定および出力ポリシー マップの設定を参照してください。

    サービス ポリシーは、物理ポートにだけ付加できます。ポートごとに、入力ポリシー マップおよび出力ポリシー マップをそれぞれ 1 つだけ付加できます。

    ポートに ポリシー マップを付加するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    interface interface-id

    ポリシー マップを適用するポートを指定し、インターフェイス コンフィギュレーション モードを開始します。指定できるインターフェイスは、物理ポートです。

    3.blank.gif

    service-policy { input | output } policy-map-name

    ポリシー マップの名前、およびそれが入力ポリシー マップか出力ポリシー マップのいずれかを指定します。

    4.blank.gif

    end

    特権 EXEC モードに戻ります。

    5.blank.gif

    show policy-map interface [ interface-id ]

    入力内容を確認します。

    6.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    ポリシーマップとポートの関連付けを解除するには、 no service-policy { input | output } policy-map-name インターフェイス コンフィギュレーション コマンドを使用します。

    入力ポリシー マップの設定

    ポリシー マップでは、動作の実行対象トラフィック クラスおよびそのアクションを指定します。トラフィック クラスの一致基準に一致しないすべてのトラフィックは、デフォルト クラスに属します。スイッチに着信するトラフィックは、入力ポリシー マップにより規制されます。入力ポリシー マップでは、CoS、DSCP、IP precedence、ACL、または VLAN ID を照合して、個別のポリシング、集約ポリシング、または CoS 値、DSCP 値、IP precedence 値、QoS グループ値へのマーキングを設定できます。

    入力ポリシー マップの設定を行うときは、次の注意事項に従ってください。

    blank.gif1 つのポートに付加できる入力ポリシー マップは 1 つに限られます。

    blank.gifスイッチ上に設定されるポリシー マップの最大数は 256 です。

    blank.gifスイッチ上に設定できるポリサープロファイルの合計数は 256 です。スイッチでサポートされているポリサーインスタンスの合計数は 1024 - 1 で、スイッチ上のインターフェイス数より多い数です。24 ポート スイッチでは、使用できるポリサー インスタンスの数は 999 です。ポリサー プロファイルは複数のインスタンスで使用できます。

    blank.gif各入力ポリシーマップの最大クラス数は、64 + class-default です。

    blank.gifスイッチに付加できる入力ポリシー マップ数は、ハードウェア リソースのアベイラビリティにより制限されます。いずれかのハードウェア リソースの制限を超過する原因となる入力ポリシー マップを付加しようとすると、設定エラーになります。

    blank.gif service-policy input インターフェイス コンフィギュレーション コマンドを使用して、インターフェイスに単一レベルのポリシーマップを付加すると、インターフェイスからポリシーを消去せずに、ポリシーを変更できます。分類基準、クラス、またはアクションの追加または削除、もしくは設定されたアクション(ポリサー、レート、マッピング、マーキングなど)のパラメータの変更を行えます。また、ポート単位、VLAN 単位の階層型ポリシー マップのように、階層型ポリシー マップの子ポリシーの基準の変更にも適用されます。

    階層型ポリシー マップの親ポリシーの場合、ポリシー マップがインターフェイスに付加されていると、親レベルのクラスを追加または削除できません。インターフェイスからポリシーを消去して、ポリシーを変更してから、このポリシーを再度インターフェイスに付加する必要があります。

    blank.gif最大 2 レベルの階層型ポリシー マップを、親レベルの VLAN ベース分類だけ含み、子レベルの VLAN ベース分類を含まない入力ポリシー マップとして設定できます。

    blank.gifレイヤ 2 分類だけを含む入力ポリシー マップが、ルーテッド SVI を含むルーテッド ポートまたはスイッチ ポートに付加されている場合、サービス ポリシーはルーティング適格トラフィック上ではなく、スイッチング適格トラフィック上でだけ作用します。

    blank.gif802.1Q トンネル ポート上でトラフィックを分類するには、MAC ACL に基づくレイヤ 2 分類を含む入力ポリシー マップだけが使用できます。CoS または VLAN ID に基づくレイヤ 3 分類またはレイヤ 2 分類を含む入力ポリシー マップは、トンネル ポート上でサポートされません。

    blank.gif入力ポリシー マップは、スケジューリングまたはキューイングではなく、ポリシングおよびマーキングをサポートします。入力ポリシーマップでは、 bandwidth priority queue-limit 、または shape average を設定できません。

    次に、異なるタイプの入力ポリシー マップの設定方法を説明します。

    blank.gif個別のポリシングを含む入力ポリシー マップの設定

    blank.gif集約ポリシングを含む入力ポリシー マップの設定

    blank.gifマーキングを含む入力ポリシー マップの設定

    blank.gif階層型入力ポリシー マップを含むポート単位、VLAN 単位 QoS の設定

    個別のポリシングを含む入力ポリシー マップの設定

    トラフィックの認定速度制限、認定バーストサイズ制限、およびトラフィッククラスの動作を定義するには、 police ポリシーマップ クラス コンフィギュレーション コマンドを使用して、個別のポリサーを設定します。

    個別のポリサーを設定する場合は、次の注意事項に従ってください。

    blank.gifポリシングは、入力ポリシー マップ上でだけサポートされます。

    blank.gifスイッチ上では、最大 229 のポリサーがサポートされます(228 のユーザ設定可能なポリサーと、1 つの内部使用に予約されたポリサー)。

    blank.gifCPU 保護がイネーブルになっている場合(デフォルト)、ポート当たり 45 の入力ポリサーを設定できます。 no policer cpu uni all グローバル コンフィギュレーション コマンドを入力し、スイッチをリロードして CPU 保護をディセーブルにすると、ユーザ定義クラスにはポート当たり最大 63 のポリサー(すべての 4 番目のポート上で 62)および class-default に 1 つのポリサーを設定できます。show policer cpu uni-eni {drop | rate} 特権 EXEC コマンドを入力し、CPU 保護がイネーブルになっているかどうか確認できます。

    blank.gif入力ポリシーマップのポリシング超過アクションにテーブルマップを使用する場合、 map from アクションタイプのプロトコルタイプは、対応する分類のプロトコルタイプと同じである必要があります。たとえば、対応するクラスマップが IP 分類を表す場合、テーブルマップを参照する map from アクションタイプは、 dscp または precedence である必要があります。対応するクラスマップが非 IP 分類を表す場合、テーブルマップを参照する map from アクションタイプは、 cos である必要があります。

    blank.gif2-rate、3-color ポリシングは、入力ポリシー マップでだけサポートされており、1-rate、2-color ポリシングは入力および出力ポリシー マップ両方でサポートされています。

    blank.gifスイッチ上のポリサー インスタンスの数は 1024 - (インターフェイス数 + 1)です。スイッチは、最大 256 のポリサープロファイルをサポートします。

    blank.gifviolate-action を設定しない場合、デフォルトで違反クラスが exceed-action と同じアクションに割り当てられます。

    個別のポリシングを含む入力ポリシーマップを作成するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    policy-map policy-map-name

    ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始します。デフォルトでは、クラス マップは定義されていません。

    3.blank.gif

    class { class-map-name | class-default }

    クラスマップ名またはすべての未分類のパケットを照合する class-default を入力して、ポリシーマップ クラス コンフィギュレーション モードを開始します。

    クラスマップ名を入力する場合は、 class-map グローバル コンフィギュレーション コマンドを使用してクラスマップを作成済みである必要があります。

    4.blank.gif

    police { rate-bps | cir cir-bps } [ burst-bytes | bc burst-bytes ]

    トラフィック クラスのポリサーを定義します。

    デフォルトでは、ポリサーは定義されていません。

    blank.gif rate-bps には、平均トラフィックレートをビット/秒(bps)で指定します。指定できる範囲は 8000 ~ 1000000000 です。

    blank.gifcir cir-bps には、設定情報レート(CIR)を bps で指定します。指定できる範囲は 8000 ~ 1000000000 です。

    blank.gif burst-bytes (任意)には、標準バーストサイズをバイト単位で指定します。指定できる範囲は 8000 ~ 1000000 です。

    blank.gif bc burst-bytes (任意)には、適合バースト(bc)または許容バーストバイト数を指定します。指定できる範囲は 8000 ~ 1000000 です。

    5.blank.gif

    conform-action cos { cos_value | cos [ table table-map-name ] | dscp [ table table-map-name ] | precedence [ table table-map-name ]}
    または
    conform-action [ip] dscp { dscp_value | cos [ table table-map-name ] | dscp [ table table-map-name ] | precedence [ table table-map-name ]}
    または
    conform-action [ip] precedence { precedence_value | cos [ table table-map-name ] | dscp [ table table-map-name ] | precedence [ table table-map-name ]}
    または
    conform-action qos-group value
    または
    transmit

    (任意)CIR に適合するパケットで実行するアクションを入力します。

    blank.gif cos cos_value には、分類されたトラフィックに割り当てる新しい CoS 値を入力します。指定できる範囲は 0 ~ 7 です。

    blank.gif[ip] dscp dscp_value を指定する場合は、分類されたトラフィックに割り当てる新しい DSCP 値を入力します。指定できる範囲は 0 ~ 63 です。

    blank.gif[ip] precedence precedence_value を指定する場合は、分類されたトラフィックに割り当てる新しい IP precedence 値を入力します。指定できる範囲は 0 ~ 7 です。

    blank.gifまたは、CoS、DSCP、もしくは IP precedence テーブルを設定して、任意でテーブル名を入力します。 table table-map name を入力しない場合、テーブルマップは、デフォルトの動作 copy になります。テーブル マップの設定を参照してください。

    blank.gif qos-group value には、出力側で使用される QoS グループを識別して、特定のパケットを識別します。有効な範囲は 0 ~ 99 です。

    注: police コマンドのあとに、単一の conform-action をコマンドストリングの一部として入力できます。また、 police コマンドのあとに Enter キーを押して、ポリシーマップ クラス ポリシング コンフィギュレーション モードを開始でき、ここで複数のアクションを入力できるようになります。ポリシーマップ クラス ポリシング コンフィギュレーション モードでは、実行するアクションを入力する必要があります。

    6.blank.gif

    exceed -action cos { cos_value | cos [ table table-map-name ] | dscp [ table table-map-name ] | precedence [ table table-map-name ]}
    または
    exceed -action [ip] dscp { dscp_value | cos [ table table-map-name ] | dscp [ table table-map-name ] | precedence [ table table-map-name ]}
    または
    exceed -action [ip] precedence { precedence_value | cos [ table table-map-name ] | dscp [ table table-map-name ] | precedence [ table table-map-name ]}
    または
    exceed -action qos-group value

    (任意)CIR に適合しないパケットに実行するアクションを入力します。

    blank.gif cos cos_value には、分類されたトラフィックに割り当てる新しい CoS 値を入力します。指定できる範囲は 0 ~ 7 です。

    blank.gif[ip] dscp dscp_value を指定する場合は、分類されたトラフィックに割り当てる新しい DSCP 値を入力します。指定できる範囲は 0 ~ 63 です。

    blank.gif[ip] precedence precedence_value を指定する場合は、分類されたトラフィックに割り当てる新しい IP precedence 値を入力します。指定できる範囲は 0 ~ 7 です。

    blank.gifまたは、CoS、DSCP、もしくは IP precedence テーブルを設定して、任意でテーブル名を入力します。 table table-map name を入力しない場合、テーブルマップは、デフォルトの動作 copy になります。テーブル マップの設定を参照してください。

    blank.gif qos-group value には、出力側で使用される QoS グループを識別して、特定のパケットを識別します。有効な範囲は 0 ~ 99 です。

    注: police コマンドのあとに、単一の exceed-action をコマンドストリングの一部として入力できます。または、 police コマンドのあとに Enter キーを押して、ポリシーマップ クラス ポリシング コンフィギュレーション モードを開始でき、ここで複数のアクションを入力できるようになります。ポリシーマップ クラス ポリシング コンフィギュレーション モードでは、実行するアクションを入力する必要があります。

    注: コマンドのキーワードとして、 exceed-action drop を明示的に設定する場合は、ポリシーマップ クラス ポリシング コンフィギュレーション モードを開始し、 no exceed-action drop コマンドを入力して以前に設定された超過アクションを削除する必要があります。

    7.blank.gif

    exit

    ポリシーマップ コンフィギュレーション モードに戻ります。

    8.blank.gif

    exit

    グローバル コンフィギュレーション モードに戻ります。

    9.blank.gif

    interface interface-id

    ポリシーを付加するインターフェイスで、インターフェイス コンフィギュレーション モードを開始します。

    10.blank.gif

    service-policy input policy-map-name

    入力インターフェイスにポリシー マップ(ステップ 2 で作成)を付加します。

    11.blank.gif

    end

    特権 EXEC モードに戻ります。

    12.blank.gif

    show policy-map [ policy-map-name [ class class-map-name ]]

    入力内容を確認します。

    13.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    個別の 2-rate、3-color ポリシングを含む入力ポリシーマップを作成するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    policy-map policy-map-name

    ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始します。デフォルトでは、クラス マップは定義されていません。

    3.blank.gif

    class { class-map-name | class-default }

    クラスマップ名またはすべての未分類のパケットを照合する class-default を入力して、ポリシーマップ クラス コンフィギュレーション モードを開始します。

    クラスマップ名を入力する場合は、 class-map グローバル コンフィギュレーション コマンドを使用してクラスマップを作成済みである必要があります。

    4.blank.gif

    police { rate-bps | cir { cir-bps } [ burst-bytes ] [ bc [ conform-burst ] [ pir pir-bps [ be peak-burst ]]

    トラフィックのクラスの 1 つまたは 2 つのレート、認定情報レート(CIR)および最大情報レート(PIR)を使用してポリサーを定義します。

    デフォルトでは、ポリサーは定義されていません。

    blank.gif rate-bps には、平均トラフィックレートをビット/秒(bps)で指定します。指定できる範囲は 8000 ~ 1000000000 です。

    blank.gifcir cir-bps には、bc トークンバケットが更新される CIR を bps で指定します。指定できる範囲は 8000 ~ 1000000000 です。

    blank.gif burst-bytes (任意)には、標準バーストサイズをバイト単位で指定します。指定できる範囲は 8000 ~ 1000000 です。

    blank.gif(任意) bc conform-burst には、ポリシングの bc トークンバケットで使用される認定バーストを指定します。指定できる範囲は、8000 ~ 1000000 バイトです。

    blank.gif(任意) pir pir-bps には、ポリシングの be トークンバケットが更新される最大情報レートを指定します。指定できる範囲は、8000 ~ 1000000000 b/s です。 pir pir-bps を入力しない場合、ポリサーは 1-rate、2-color ポリサーとして設定されます。

    blank.gif be peak-burst には、be トークンバケットで使用するピークバーストサイズを指定します。指定できる範囲は 8000 ~ 1000000 バイトです。デフォルト値は、ユーザ設定に基づき内部で計算されます。

    5.blank.gif

    conform-action [ drop | set-cos-transmit { cos_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-dscp-transmit { dscp_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-prec-transmit { precedence_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-qos-transmit qos-group_value | transmit ]

    | exceed-action [ drop | set-cos-transmit { cos_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-dscp-transmit { dscp_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-prec-transmit { precedence_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-qos-transmit qos-group_value | transmit ]

    | violate- action [ drop | set-cos-transmit { cos_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-dscp-transmit { dscp_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-prec-transmit { precedence_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-qos-transmit qos-group_value | transmit ]

    (任意)パケットが CIR に適合するか、PIR に適合するかにより、パケットで実行するアクションを入力します。

    blank.gif(任意) conform-action については、CIR および PIR に適合するパケットで実行するアクションを指定します。デフォルトは transmit です。

    blank.gif(任意) exceed-action については、PIR に適合するが、CIR には適合しないパケットで実行するアクションを指定します。デフォルトは drop です。

    blank.gif(任意) violate-action については、PIR を超過するパケットで実行するアクションを指定します。デフォルトは drop です。

    blank.gif(任意) action については、パケットで実行する次のいずれかのアクションを指定します。

    blank.gif drop :パケットをドロップします。

    注: 適合アクションが drop に設定されている場合、超過アクションおよび違反アクションは自動的に drop に設定されます。超過アクションが drop に設定されている場合、違反アクションは自動的に drop に設定されます。

    blank.gif set-cos-transmit cos-value :パケットに割り当てる新しい CoS 値を入力し、パケットを送信します。範囲は 0 ~ 7 です。

    blank.gif set-dscp-transmit dscp-value :パケットに割り当てる新しい IP DSCP 値を入力し、パケットを送信します。指定できる範囲は 0 ~ 63 です。また、よく使用される値にはニーモニック名を入力できます。

    blank.gif set-prec-transmit cos-value :パケットに割り当てる新しい IP precedence 値を入力し、パケットを送信します。範囲は 0 ~ 7 です。

    blank.gif set-qos-transmit qos-group-value :出力側で使用される QoS グループを識別して、特定のパケットを指定します。有効な範囲は 0 ~ 99 です。

    blank.gif transmit :内容を変更しないでパケットを送信します。

    注: police コマンドのあとに、単一の conform-action をコマンドストリングの一部として入力できます。また、 police コマンドのあとに Enter キーを押して、ポリシーマップ クラス ポリシング コンフィギュレーション モードを開始でき、ここで複数のアクションを入力できるようになります。ポリシーマップ クラス ポリシング コンフィギュレーション モードでは、実行するアクションを入力する必要があります。

    6.blank.gif

    exit

    ポリシーマップ コンフィギュレーション モードに戻ります。

    7.blank.gif

    exit

    グローバル コンフィギュレーション モードに戻ります。

    8.blank.gif

    interface interface-id

    ポリシーを付加するインターフェイスで、インターフェイス コンフィギュレーション モードを開始します。

    9.blank.gif

    service-policy input policy-map-name

    入力インターフェイスにポリシー マップ(ステップ 2 で作成)を付加します。

    10.blank.gif

    end

    特権 EXEC モードに戻ります。

    11.blank.gif

    show policy-map [ policy-map-name| interface ]

    入力内容を確認します。

    12.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    作成した入力ポリシー マップを、入力方向のインターフェイスに付加します。トラフィック ポリシーのインターフェイスへの適用を参照してください。

    既存のポリシーマップ、クラスマップ、またはポリサーを削除するには、該当するコマンドの no 形式を使用します。

    次に、ポリシーマップ コンフィギュレーション モードを使用して 2-rate、3-color ポリシングを設定する例を示します。

    Switch(config)# class-map cos-4
    Switch(config-cmap)# match cos 4
    Switch(config-cmap)# exit
    Switch(config)# policy-map in-policy
    Switch(config-pmap)# class cos-4
    Switch(config-pmap-c)# police cir 5000000 pir 8000000 conform-action transmit exceed-action set-dscp-transmit 24 violate-action drop
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy input in-policy
    Switch(config-if)# exit
     

    次に、ポリシーマップ クラス ポリシング コンフィギュレーション モードで同じ設定を作成する例を示します。

    Switch(config)# class-map cos-4
    Switch(config-cmap)# match cos 4
    Switch(config-cmap)# exit
    Switch(config)# policy-map in-policy
    Switch(config-pmap)# class cos-4
    Switch(config-pmap-c)# police cir 5000000 pir 8000000
    Switch(config-pmap-c-police)# conform-action transmit
    Switch(config-pmap-c-police)# exceed-action set-dscp-transmit 24
    Switch(config-pmap-c-police)# violate-action drop
    Switch(config-pmap-c-police)# end
     

    次に、CoS 値が 4 のトラフィック分類を作成して、ポリシー マップを作成し、入力ポートに付加する例を示します。平均トラフィック レートは、10000000 b/s に制限され、バースト サイズは 10000 バイトです。

    Switch(config)# class-map video-class
    Switch(config-cmap)# match cos 4
    Switch(config-cmap)# exit
    Switch(config)# policy-map video-policy
    Switch(config-pmap)# class video-class
    Switch(config-pmap-c)# police 10000000 10000
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy input video-policy
    Switch(config-if)# exit
     

    次に、 set dscp の適合アクションおよびデフォルトの超過アクションを含むポリシーマップを作成する例を示します。

    Switch(config)# class-map in-class-1
    Switch(config-cmap)# match dscp 14
    Switch(config-cmap)# exit
    Switch(config)# policy-map in-policy
    Switch(config-pmap)# class in-class-1
    Switch(config-pmap-c)# police 230000 8000 conform-action set-dscp-transmit 33 exceed-action drop
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy input in-policy
    Switch(config-if)# exit
     

    次に、ポリシーマップ クラス ポリシング コンフィギュレーション モードを使用して、複数の適合アクションおよび 1 つの超過アクションを設定する例を示します。このポリシー マップでは、CIR を 23000 bps に、適合バースト サイズを 10000 バイトに設定します。このポリシー マップには、複数の適合アクション(DSCP 用およびレイヤ 2 CoS 用)および超過アクションが含まれます。

    Switch(config)# class-map cos-set-1
    Switch(config-cmap)# match cos 3
    Switch(config-cmap)# exit
    Switch(config)# policy-map map1
    Switch(config-pmap)# class cos-set-1
    Switch(config-pmap-c)# police cir 23000 bc 10000
    Switch(config-pmap-c-police)# conform-action set-dscp-transmit 48
    Switch(config-pmap-c-police)# conform-action set-cos-transmit 5
    Switch(config-pmap-c-police)# exceed-action drop
    Switch(config-pmap-c-police)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy input map1
    Switch(config-if)# exit
     

    次に、ポリシーマップ クラス ポリシング コンフィギュレーション モードで、テーブル マップを使用して超過アクションのマークダウンを設定する例を示します。このポリシー マップでは、CIR を 23000 bps に、適合バースト サイズを 10000 バイトに設定します。このポリシーマップには、デフォルトの適合アクション( transmit )およびテーブルマップに基づいてレイヤ 2 CoS 値をマークダウンし、af41 の IP DSCP をマーキングする超過アクションが含まれます。

    Switch(config)# policy-map in-policy
    Switch(config-pmap)# class in-class-1
    Switch(config-pmap-c)# police cir 23000 bc 10000
    Switch(config-pmap-c-police)# exceed-action set-cos-transmit cos table police-cos-markdn-tablemap
    Switch(config-pmap-c-police)# exceed-action set-dscp-transmit af41
    Switch(config-pmap-c-police)# exit
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy input in-policy
    Switch(config-if)# exit

    集約ポリシングを含む入力ポリシー マップの設定

    集約ポリサーを設定するには、 policer aggregate グローバル コンフィギュレーション コマンドを使用します。集約ポリサーは、同一ポリシー マップ内の複数のトラフィック クラスで共有されます。 集約ポリサーを定義し、ポリシー マップを作成し、ポリシー マップにクラス マップを関連付け、集約ポリサーにポリシー マップを関連付け、ポートにサービス ポリシーを適用します。

    集約ポリサーを設定する場合は、次の注意事項に従ってください。

    blank.gif集約ポリシングは、入力ポリシー マップ上でだけサポートされます。

    blank.gifスイッチ上では、ポートに関連付けられた最大 229 のポリサーがサポートされます(228 のユーザ設定可能なポリサーと、1 つの内部使用に予約されたポリサー)。ポート上では、最大 45 のポリサーを設定できます。

    blank.gifCPU 保護がイネーブルになっている場合(デフォルト)、ポート当たり 45 の入力ポリサーを設定できます。 no policer cpu uni all グローバル コンフィギュレーション コマンドを入力し、スイッチをリロードして CPU 保護をディセーブルにすると、ユーザ定義クラスにはポート当たり最大 63 のポリサー(すべての 4 番目のポート上で 62)および class-default に 1 つのポリサーを設定できます。show policer cpu uni-eni {drop | rate} 特権 EXEC コマンドを入力し、CPU 保護がイネーブルになっているかどうか確認できます。

    blank.gif設定される集約ポリサーの最大数は 256 です。

    blank.gifスイッチ上のポリサー インスタンスの数は 1024 - (スイッチ上の合計インターフェイス数 + 1)です。スイッチは、最大 256 のポリサープロファイルをサポートします。

    blank.gifviolate-action を設定しない場合、デフォルトで違反クラスが exceed-action と同じアクションに割り当てられます。

    blank.gif1 つのポリシー マップだけが、任意の特定の集約ポリサーを使用できます。集約ポリシングは、複数のインターフェイス上のストリームの集約には使用できません。集約ポリシングは、インターフェイスに付加されるポリシー マップの複数のクラスにまたがるストリームの集約、およびポート単位、VLAN 単位ポリシー マップのポート上の VLAN にまたがるトラフィック ストリームの集約にだけ使用できます。

    blank.gif入力ポリシー マップのポリシング超過アクションにテーブル マップを使用する場合、map from アクションタイプのプロトコル タイプは、対応する分類のプロトコル タイプと同じである必要があります。たとえば、対応するクラスマップが IP 分類を表す場合、テーブルマップを参照する map from のアクションタイプは、 dscp または precedence のいずれかである必要があります。対応するクラスマップが非 IP 分類を表す場合、テーブルマップを参照する map from アクションタイプは、 cos である必要があります。

    blank.gif exceed-action のテーブルマップを設定し、違反アクションのアクションが明示的に設定されていない限り、集約ポリシングの violate-action に対するテーブルマップはサポートされません。

    複数の適合および超過アクション 適合、超過、違反アクション を集約ポリサーに policer aggregate グローバル コンフィギュレーション コマンドのパラメータとして同時に設定できますが、次の順序でアクションを入力する必要があります。

    blank.gif drop、または transmit あるいは set アクションは、 conform-action のあとに次の順序で入力する必要があります。

    set-qos-transmit

    set-dscp-transmit または set-prec-transmit

    set-cos-transmit

    blank.gif drop transmit または set アクションは、 exceed-action のあとに次の順序で入力する必要があります。

    set-qos-transmit

    set-dscp-transmit または set-prec-transmit

    set-cos-transmit

    blank.gifdrop、transmit または set アクションは、violate-action のあとに次の順序で入力する必要があります。

    set-qos-transmit

    set-dscp-transmit または set-prec-transmit

    set-cos-transmit

    注: ポリシーマップ クラス ポリシング コンフィギュレーション モードでは、集約ポリサーの適合アクション、超過アクション、および違反アクションは設定しません。すべてのアクションはストリングで入力する必要があります。その結果、複数の適合、超過、および違反の各アクションを入力すると、コマンドが著しく長くなり、切り捨てられたり読みにくくなる場合があります。

    集約ポリサーを作成するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    policer aggregate aggregate-policer-name { rate-bps | cir cir-bps } [ bc burst- value ] [ conform-action [ set-cos-transmit { cos_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-dscp-transmit { dscp_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-prec-transmit { precedence_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-qos-transmit qos-group_value | transmit ] [ exceed action [ drop | set-cos-transmit { cos_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-dscp-transmit { dscp_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-prec-transmit { precedence_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-qos-transmit qos-group_value | transmit ]]

    同じポリシー マップ内の複数のトラフィック クラスに適用できるポリサー パラメータを定義します。

    blank.gif aggregate-policer-name には、集約ポリサーの名前を指定します。

    blank.gif rate-bps には、平均トラフィックレートをビット/秒(bps)で指定します。指定できる範囲は 8000 ~ 1000000000 です。

    blank.gif cir cir-bps には、設定情報レートを bps で指定します。指定できる範囲は 8000 ~ 1000000000 bps です。

    blank.gif(任意) bc burst-value には、適合バーストおよび許容バーストバイト数を指定します。指定できる範囲は 8000 ~ 1000000 バイトです。

    blank.gif(任意) conform-action については、CIR に適合するパケットで実行するアクションを指定します。デフォルトでは、パケットを送信します。

    blank.gif(任意) exceed-action については、CIR を超過するパケットで実行するアクションを指定します。デフォルトは、パケットのドロップです。

    使用可能なキーワードの定義については、このリリースのコマンドリファレンス、または個別のポリシングを含む入力ポリシー マップの設定を参照してください。

    3.blank.gif

    policy-map policy-map-name

    ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始します。

    4.blank.gif

    class { class-map-name | class-default }

    クラスマップ名またはすべての未分類のパケットを照合する class-default を入力して、ポリシーマップ クラス コンフィギュレーション モードを開始します。

    クラスマップ名を入力する場合は、 class-map グローバル コンフィギュレーション コマンドを使用してクラスマップを作成済みである必要があります。

    5.blank.gif

    police aggregate aggregate-policer-name

    同じポリシー マップ内の複数のクラスに集約ポリサーを適用します。 aggregate-policer-name には、ステップ 2 で指定した名前を入力します。

    6.blank.gif

    exit

    ポリシーマップ コンフィギュレーション モードに戻ります。

    7.blank.gif

    exit

    グローバル コンフィギュレーション モードに戻ります。

    8.blank.gif

    interface interface-id

    ポリシーを付加するインターフェイスで、インターフェイス コンフィギュレーション モードを開始します。

    9.blank.gif

    service-policy input policy-map-name

    入力インターフェイスにポリシー マップ(ステップ 3 で作成)を付加します。

    10.blank.gif

    end

    特権 EXEC モードに戻ります。

    11.blank.gif

    end

    特権 EXEC モードに戻ります。

    12.blank.gif

    show policer aggregate [ aggregate-policer-name ]

    入力内容を確認します。

    13.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    2-rate、3-color 集約ポリサーを作成するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    policer aggregate aggregate-policer-name { rate-bps | cir cir-bps } [ burst-bytes ] [ bc [ conform-burst ] [ pir pir-bps [ be peak-burst ]]
    [ conform-action [ drop | set-cos-transmit { cos_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-dscp-transmit { dscp_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-prec-transmit { precedence_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-qos-transmit qos-group_value | transmit ]

    [ exceed-action [ drop | set-cos-transmit { cos_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-dscp-transmit { dscp_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-prec-transmit { precedence_value | [ cos | dscp | precedence ] [ table table-map name ]} | set-qos-transmit qos-group_value | transmit ]]

    [ violate- action [ drop | set-cos-transmit { cos_value | [ cos | dscp | precedence ]} | set-dscp-transmit { dscp_value | [ cos | dscp | precedence ]} | set-prec-transmit { precedence_value | [ cos | dscp | precedence ]} | set-qos-transmit qos-group_value | transmit ]]

    同じポリシー マップ内の複数のトラフィック クラスに適用できるポリサー パラメータを定義します。

    blank.gif aggregate-policer-name には、集約ポリサーの名前を指定します。

    blank.gif rate-bps には、平均トラフィック レートをビット/秒(bps)で指定します。指定できる範囲は 8000 ~ 1000000000 です。

    blank.gifcir cir-bps には、最初のトークンバケットが更新される CIR を b/s 単位で指定します。指定できる範囲は 8000 ~ 1000000000 です。

    blank.gif burst-bytes (任意)には、標準バーストサイズをバイト単位で指定します。指定できる範囲は 8000 ~ 1000000 です。

    blank.gif(任意) bc conform-burst には、ポリシングの最初のトークンバケットで使用される認定バーストを指定します。指定できる範囲は、8000 ~ 1000000 バイトです。

    blank.gif(任意) pir pir-bps には、ポリシングの 2 番目のトークンバケットが更新される最大情報レートを指定します。指定できる範囲は 8000 ~ 1000000000 bps です。 pir pir-bps を入力しない場合、ポリサーは 1-rate、2-color ポリサーとして設定されます。

    blank.gif be peak-burst には、2 番目のトークンバケットで使用するピークバーストサイズを指定します。指定できる範囲は 8000 ~ 1000000 バイトです。デフォルト値は、ユーザ設定に基づき内部で計算されます。

    blank.gif(任意) conform-action については、CIR に適合するパケットで実行するアクションを指定します。デフォルトでは、パケットを送信します。

    注: 適合アクションが drop に設定されている場合、超過アクションおよび違反アクションは自動的に drop に設定されます。超過アクションが drop に設定されている場合、違反アクションは自動的に drop に設定されます。

    blank.gif(任意) exceed-action については、CIR を超過するパケットで実行するアクションを指定します。デフォルトは、パケットのドロップです。

    blank.gif(任意) violate-action については、CIR に適合するパケットで実行するアクションを指定します。デフォルトは、パケットのドロップです。

    アクションキーワードの定義については、個別のポリシングを含む入力ポリシー マップの設定を参照してください。

    注: exceed-action のテーブルマップを設定し、違反アクションのアクションが明示的に設定されていない限り、集約ポリシングの violate-action に対するテーブルマップは設定できません。

    3.blank.gif

    policy-map policy-map-name

    ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始します。

    4.blank.gif

    class { class-map-name | class-default }

    クラスマップ名またはすべての未分類のパケットを照合する class-default を入力して、ポリシーマップ クラス コンフィギュレーション モードを開始します。

    クラスマップ名を入力する場合は、 class-map グローバル コンフィギュレーション コマンドを使用してクラスマップを作成済みである必要があります。

    5.blank.gif

    police aggregate aggregate-policer-name

    同じポリシー マップ内の複数のクラスに集約ポリサーを適用します。 aggregate-policer-name には、ステップ 2 で指定した名前を入力します。

    6.blank.gif

    exit

    ポリシーマップ コンフィギュレーション モードに戻ります。

    7.blank.gif

    exit

    グローバル コンフィギュレーション モードに戻ります。

    8.blank.gif

    interface interface-id

    ポリシーを付加するインターフェイスで、インターフェイス コンフィギュレーション モードを開始します。

    9.blank.gif

    service-policy input policy-map-name

    入力インターフェイスにポリシー マップ(ステップ 3 で作成)を付加します。

    10.blank.gif

    end

    特権 EXEC モードに戻ります。

    11.blank.gif

    show policer aggregate [ aggregate-policer-name ]

    入力内容を確認します。

    12.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    集約ポリサーを作成してから、それを入力ポートに付加します。トラフィック ポリシーのインターフェイスへの適用を参照してください。

    指定された集約ポリサーをポリシー マップから削除するには、 no police aggregate aggregate-policer-name ポリシー マップ コンフィギュレーション モードを使用します。集約ポリサーおよびそのパラメータを削除するには、 no policer aggregate aggregate-policer-name グローバル コンフィギュレーション コマンドを使用します。

    次に、集約ポリサーを作成して、ポリシー マップ内の複数のクラスに結合する例を示します。ポリシー マップは入力ポートに結合されます。

    Switch(config)# policer aggregate example 10900000 80000 conform-action transmit exceed-action drop
    Switch(config)# class-map testclass1
    Switch(config-cmap)# match access-group 1
    Switch(config-cmap)# exit
    Switch(config)# class-map testclass2
    Switch(config-cmap)# match access-group 2
    Switch(config-cmap)# exit
    Switch(config)# policy-map testexample
    Switch(config-pmap)# class testclass
    Switch(config-pmap-c)# police aggregate example
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class testclass2
    Switch(config-pmap-c)# police aggregate example
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy input testexample
    Switch(config-if)# exit
     

    次に、2-rate、3-color 集約ポリサーを作成し、ポリシー マップ内の複数のクラスに付加する例を示します。ポリシー マップは入力ポートに結合されます。

    Switch(config)# policer aggregate example cir 10900000 pir 80000000 conform-action transmit exceed-action drop violate-action drop
    Switch(config)# class-map testclass1
    Switch(config-cmap)# match access-group 1
    Switch(config-cmap)# exit
    Switch(config)# class-map testclass2
    Switch(config-cmap)# match access-group 2
    Switch(config-cmap)# exit
    Switch(config)# policy-map testexample
    Switch(config-pmap)# class testclass
    Switch(config-pmap-c)# police aggregate example
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class testclass2
    Switch(config-pmap-c)# police aggregate example
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy input testexample
    Switch(config-if)# exit

    マーキングを含む入力ポリシー マップの設定

    特定のクラスに属するトラフィックの属性を設定または変更するには、 set ポリシーマップ クラス コンフィギュレーション コマンドを使用します。ポリシー マップでマーキングの設定を行うときは、次の注意事項に従ってください。

    blank.gifスイッチ上には、最大 100 の QoS グループを設定できます。

    blank.gif入力ポリシー マップのマーキングにテーブル マップを使用する場合、map from アクション タイプのプロトコル タイプは、対応する分類のプロトコル タイプと同じである必要があります。たとえば、対応するクラスマップが IP 分類を表す場合、テーブルマップを参照する map from のアクションタイプは、 dscp または precedence のいずれかである必要があります。対応するクラスマップが非 IP 分類を表す場合、テーブルマップを参照する map from アクションタイプは、 cos である必要があります。

    トラフィックをマーキングする入力ポリシー マップを作成するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    policy-map policy-map-name

    ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始します。

    3.blank.gif

    class { class-map-name | class-default }

    クラスマップ名またはすべての未分類のパケットを照合する class-default を入力して、ポリシーマップ クラス コンフィギュレーション モードを開始します。

    クラスマップ名を入力する場合は、 class-map グローバル コンフィギュレーション コマンドを使用してクラスマップを作成済みである必要があります。

    4.blank.gif

    set qos-group value
    および/または
    set cos { cos_value | cos [ table table-map-name ] | dscp [ table table-map-name ] | precedence [ table table-map-name ]}
    および/または
    set [ ip ] dscp { dscp_value | cos [ table table-map-name ] | dscp [ table table-map-name ] | precedence [ table table-map-name ]}
    および/または
    set [ ip ] precedence { precedence_value | cos [ table table-map-name ] | dscp [ table table-map-name ] | precedence [ table table-map-name ]}

    パケットに新しい値を設定するか、テーブル マップを指定するか、または QoS グループを指定することにより、トラフィックをマーキングします。

    blank.gif qos-group value には、出力側で使用される QoS グループを識別して、特定のパケットを識別します。有効な範囲は 0 ~ 99 です。

    blank.gif cos cos_value には、分類されたトラフィックに割り当てる新しい CoS 値を入力します。指定できる範囲は 0 ~ 7 です。

    blank.gif[ip] dscp new-dscp には、分類されたトラフィックに割り当てる新しい DSCP 値を入力します。指定できる範囲は 0 ~ 63 です。

    blank.gif[ip] precedence new-precedence には、分類されたトラフィックに割り当てる新しい IP precedence 値を入力します。指定できる範囲は 0 ~ 7 です。

    blank.gifまたは、CoS、DSCP、もしくは IP precedence テーブルを設定して、任意でテーブル名を入力します。 table table-map name を入力しない場合、テーブルマップは、デフォルトの動作 copy になります。テーブル マップの設定を参照してください。

    5.blank.gif

    exit

    ポリシーマップ コンフィギュレーション モードに戻ります。

    6.blank.gif

    exit

    グローバル コンフィギュレーション モードに戻ります。

    7.blank.gif

    interface interface-id

    ポリシーを付加するインターフェイスで、インターフェイス コンフィギュレーション モードを開始します。

    8.blank.gif

    service-policy input policy-map-name

    入力インターフェイスにポリシー マップ(ステップ 2 で作成)を付加します。

    9.blank.gif

    end

    特権 EXEC モードに戻ります。

    10.blank.gif

    show policy-map [ policy-map-name [ class class-map-name ]]

    入力内容を確認します。

    11.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    ポリシーマップまたはテーブルマップを削除する場合、または割り当てられた CoS 値、DSCP 値、precedence 値、または QoS グループ値を削除する場合は、該当するコマンドの no 形式を使用します。

    次に、ポリシー マップを使用してパケットをマーキングする例を示します。最初のマーキング( set コマンド)は、クラス AF31 ~ AF33 によって一致しなかったすべてのトラフィックを照合する QoS デフォルトクラスマップに適用され、すべてのトラフィックの IP DSCP 値を 1 に設定します。2 番目のマーキングは、クラス AF31 ~ AF33 のトラフィックの IP DSCP を 3 に設定します。

    Switch(config)# policy-map Example
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# set ip dscp 1
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class AF31-AF33
    Switch(config-pmap-c)# set ip dscp 3
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy input Example
    Switch(config-if)# exit

    階層型入力ポリシー マップを含むポート単位、VLAN 単位 QoS の設定

    ポート単位、VLAN 単位 QoS により、所定のインターフェイスおよび VLAN 上で受信されるフレームへの QoS の適用に関して、VLAN ID に基づく分類が可能になります。これは、親ポリシーおよび子ポリシーを含む階層型ポリシー マップの使用により実現されます。

    ポート単位、VLAN 単位 QoS を設定する場合は、次の注意事項および制限事項に留意してください。

    blank.gifこの機能は、2 レベルの階層型入力ポリシー マップを使用する場合に限り、サポートされます。このポリシー マップは、親レベルで VLAN ベースの分類を定義し、子レベルで 1 つまたは複数の該当する VLAN に適用される QoS ポリシーを定義します。

    blank.gif親レベルで複数のサービス クラスを設定することにより、各種 VLAN の組み合わせを照合できます。また、子ポリシー マップを使用することにより、親サービス クラスごとに個別の QoS ポリシーを適用できます。

    blank.gif子ポリシー マップに関連付けられた 1 つまたは複数のクラスがあるポリシーは、親ポリシー マップと見なされます。親ポリシー マップ内の各クラスは、親クラスと呼ばれます。親クラスでは、 match vlan クラスマップ コンフィギュレーション コマンドだけを設定できます。子ポリシーマップ内のクラスでは、 match vlan コマンドを設定できません。

    blank.gifポート単位 VLAN 単位の親レベルのクラス マップでは、子ポリシー アソシエーションだけをサポートします。いずれのアクションも設定できません。親レベルのクラスマップでは、クラスの class-default のアクションまたは子ポリシーアソシエーションを設定できません。

    blank.gif子ポリシー マップ内では、レイヤ 2 とレイヤ 3 が混在するクラス マップを設定できません。このような子ポリシー マップを親ポリシーに関連付けようとすると、設定は拒否されます。ただし、レイヤ 2 とレイヤ 3 の子ポリシーを異なる親レベルのクラス マップに関連付けることはできます。

    blank.gifポート単位、VLAN 単位 QoS は、802.1Q トランク ポート上でだけサポートされます。

    blank.gifVLAN または一連の VLAN に付加されている子ポリシーマップに、レイヤ 3 分類( match ip dscp match ip precedence match IP ACL )だけが含まれる場合は、これらの VLAN が、必ずポート単位 VLAN 単位ポリシーが付加されているポート上でだけ伝送されることに注意する必要があります。このルールに従わない場合は、これらの VLAN 上のスイッチに着信するトラフィックの QoS 動作が不適切になる場合があります。

    blank.gifまた、ポート単位 VLAN 単位が適用されるトランクポート上で、 switchport trunk allowed vlan インターフェイス コンフィギュレーション コマンドを使用して、VLAN メンバーシップを制限することも推奨します。レイヤ 3 分類が設定されたポート単位、VLAN 単位のポリシーが含まれるトランク ポート間で VLAN メンバーシップが重複した場合も、予期せぬ QoS 動作が発生する可能性があります。

    ポート単位、VLAN 単位 QoS の設定手順は、次のとおりです。

    blank.gif子ポリシーのクラス マップの作成

    blank.gif親ポリシーのクラス マップの作成

    blank.gif子ポリシー マップの作成

    blank.gif親ポリシー マップの作成

    blank.gifインターフェイスへの親ポリシー マップの付加

    子ポリシーのクラス マップの作成

    1 つまたは複数の子ポリシーのクラス マップを作成するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    class-map [ match-all | match-any ] child-class-map-name

    クラス マップを作成し、クラス マップ コンフィギュレーション モードを開始します。デフォルトでは、クラス マップは定義されていません。

    blank.gif(任意)このクラス マップ配下のすべての一致ステートメントの論理 AND を実行するには、 match-all キーワードを使用します。この場合は、クラス マップ内のすべての一致条件と一致する必要があります。

    blank.gif(任意)このクラス マップ配下のすべての一致ステートメントの論理 OR を実行するには、 match-any キーワードを使用します。この場合は、1 つまたは複数の一致条件と一致する必要があります。

    blank.gif class-map-name には、クラス マップ名を指定します。

    一致文が指定されない場合、デフォルトは match-all になります。

    注: match-all クラスマップでは、複数の分類基準(match 文)を設定できません。

    3.blank.gif

    match { access-group acl-index-or-name | cos cos-list | ip dscp dscp-list | ip precedence ip-precedence-list | qos-group value | vlan vlan-list }

    トラフィックを分類するための一致条件を定義します。デフォルトでは、一致条件は定義されていません。

    各クラス マップでサポートされる一致タイプおよび ACL は、それぞれ 1 つだけです。

    blank.gif access-group acl-index-or-name には、ACL の番号または名前を指定します。アクセス グループの照合は、入力ポリシー マップでだけサポートされます。

    blank.gif cos cos-list を指定する場合は、1 行に最大 4 つの CoS 値のリストを入力して、着信パケットと照合します。各値はスペースで区切ります。5 つ以上の CoS 値を照合する場合は、複数の cos-list 行を入力できます。指定できる範囲は 0 ~ 7 です。

    blank.gif ip dscp dscp-list を指定する場合は、着信パケットと照合する最大 8 つの IPv4 DSCP 値を入力します。各値はスペースで区切ります。9 つ以上の DSCP 値を照合する場合は、複数の dscp-list 行を入力できます。指定できる数値範囲は 0 ~ 63 です。DSCP 値は、他の形式でも設定できます。IP DSCP に基づく分類を参照してください。

    blank.gif ip precedence ip-precedence-list を指定する場合は、着信パケットと照合する最大 4 つの IPv4 precedence 値のリストを入力します。各値はスペースで区切ります。5 つ以上の precedence 値を照合する場合は、複数の ip-precedence-list 行を入力できます。指定できる範囲は 0 ~ 7 です。

    blank.gif qos-group value を指定する場合、QoS グループ番号を指定します。指定できる範囲は 0 ~ 99 です。QoS グループの照合は、出力ポリシー マップでだけサポートされます。

    blank.gif vlan vlan-list を指定する場合、トランクポート上のポート単位、VLAN 単位の QoS に関して親ポリシーマップで使用される VLAN ID または VLAN 範囲を指定します。VLAN ID の範囲は 1 ~ 4094 です。

    4.blank.gif

    end

    特権 EXEC モードに戻ります。

    5.blank.gif

    show class-map

    入力内容を確認します。

    6.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    親ポリシーのクラス マップの作成

    1 つまたは複数の親ポリシーのクラス マップを作成するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    class-map match-any parent-class-map-name

    親ポリシーに match-any クラスマップを作成して、クラスマップ コンフィギュレーション モードを開始します。

    注: 1 つの VLAN ID だけを照合する場合は、 match-all を入力するか、または match-any もしくは match-all のいずれも入力しません(デフォルトの match-all になります)。

    3.blank.gif

    match vlan vlan-id

    トラフィックを分類する 1 つまたは複数の VLAN を定義します。

    vlan-id には、トランクポート上のポート単位、VLAN 単位 QoS の親ポリシーマップで使用される、VLAN ID、スペースで区切られた一連の VLAN ID、またはハイフンで区切られた VLAN 範囲を指定します。VLAN ID の範囲は 1 ~ 4094 です。

    また、 match vlan コマンドを複数回入力すると、複数の VLAN を照合できます。

    4.blank.gif

    end

    特権 EXEC モードに戻ります。

    5.blank.gif

    show class-map

    入力内容を確認します。

    6.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    子ポリシー マップの作成

    1 つまたは複数の子ポリシー マップを作成するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    policy-map child-policy-map-name

    ポリシー マップ名を入力して子ポリシー マップを作成し、ポリシーマップ コンフィギュレーション モードを開始します。

    3.blank.gif

    class { child-class-map-name | class-default }

    子クラスマップ名またはすべての未分類のパケットを照合する class-default を入力して、ポリシーマップ クラス コンフィギュレーション モードを開始します。

    4.blank.gif

    police ポリシーマップ クラス コンフィギュレーション コマンドを使用して、トラフィッククラスのポリサーおよびアクションを設定するか、または set ポリシーマップ クラス コンフィギュレーション コマンドを使用して、クラスに属するトラフィックをマーキングします。

    5.blank.gif

    end

    特権 EXEC モードに戻ります。

    6.blank.gif

    show policy-map [ child- policy-map-name [ class class-map-name ]]

    入力内容を確認します。

    7.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    親ポリシー マップの作成

    親ポリシー マップを作成し、それをインターフェイスに付加するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    policy-map parent-policy-map-name

    ポリシー マップ名を入力して親ポリシー マップを作成し、ポリシーマップ コンフィギュレーション モードを開始します。

    3.blank.gif

    class parent-class-map-name

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

    4.blank.gif

    service policy child-policy-map-name

    親ポリシー マップに子ポリシー マップを関連付けます。

    5.blank.gif

    end

    特権 EXEC モードに戻ります。

    6.blank.gif

    show policy-map [ parent-policy-map-name [ class class-map-name ]]

    入力内容を確認します。

    7.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    インターフェイスへの親ポリシー マップの付加

    作成した親ポリシー マップをインターフェイスに付加するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    interface interface-id

    ポリシーを付加するインターフェイスで、インターフェイス コンフィギュレーション モードを開始します。

    3.blank.gif

    switchport mode trunk

    ポートをトランク ポートとして設定します。

    4.blank.gif

    switchport trunk allowed vlan vlan-list

    (推奨)ポート単位、VLAN 単位ポリシーにレイヤ 3 分類が含まれる場合は、トランク ポートの VLAN メンバーシップを制限して、VLAN メンバーシップが重複しないようにします。

    5.blank.gif

    service-policy input parent- policy-map-name

    入力インターフェイスに親ポリシー マップ(前述の手順で作成)を付加します。

    6.blank.gif

    end

    特権 EXEC モードに戻ります。

    7.blank.gif

    show policy-map interface [ interface-id ]

    入力内容を確認します。

    8.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    次に、複数の親クラスを使用して、カスタマー VLAN 上の音声およびビデオの一致基準を分類する例を示します。

    Switch(config)# class-map match-any video
    Switch(config-cmap)# match ip dscp af41
    Switch(config-cmap)# exit
    Switch(config)# class-map match-any voice
    Switch(config-cmap)# match ip dscp ef
    Switch(config-cmap)# exit
     
    Switch(config)# class-map match-any customer1-vlan
    Switch(config-cmap)# match vlan 100-105
    Switch(config-cmap)# exit
    Switch(config)# class-map match-any customer2-vlan
    Switch(config-cmap)# match vlan 110-120
    Switch(config-cmap)# exit
     
    Switch(config)# policy-map child-policy-1
    Switch(config-pmap)# class voice
    Switch(config-pmap-c)# police cir 10000000 bc 50000
    Switch(config-pmap-c-police)# conform-action set-cos-transmit 5
    Switch(config-pmap-c-police)# exceed-action drop
    Switch(config-pmap-c-police)# exit
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class video
    Switch(config-pmap-c)# set cos 4
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# set cos 0
    Switch(config-pmap-c)# exit
     
    Switch(config)# policy-map child-policy-2
    Switch(config-pmap)# class voice
    Switch(config-pmap-c)# police cir 5000000
    Switch(config-pmap-c-police)# conform-action set-cos-transmit 5
    Switch(config-pmap-c-police)# exceed-action drop
    Switch(config-pmap-c-police)# exit
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class video
    Switch(config-pmap-c)# police cir 40000000
    Switch(config-pmap-c-police)# conform-action set-cos-transmit 4
    Switch(config-pmap-c-police)# exceed-action set-cos-transmit 1
    Switch(config-pmap-c-police)# exit
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# set cos 0
    Switch(config-pmap-c)# exit
     
    Switch(config)# policy-map uni-parent
    Switch(config-pmap)# class customer1-vlan
    Switch(config-pmap-c)# service-policy child-policy-1
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class customer2-vlan
    Switch(config-pmap-c)# service-policy child-policy-2
    Switch(config-pmap-c)# exit
     
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# switchport mode trunk
    Switch(config-if)# switchport trunk allowed vlan 100-105, 110-120
    Switch(config-if)# service-policy input uni-parent
    Switch(config-pmap-c)# exit

    出力ポリシー マップの設定

    出力ポリシー マップは、スイッチから発信されるパケットの輻輳回避、キューイング、およびスケジューリングを管理するのに使用します。スイッチには、4 つの出力キューがあり、そのキュー トラフィックを制御するには、出力ポリシー マップを使用します。これらのキューでは、シェーピング、キュー制限、および帯域幅を設定します。高いプライオリティ(クラスベース プライオリティ キューイング)を使用できます。クラスベース プライオリティ キューイングにポリシング付きプライオリティが設定されている場合以外は、ポリシングは出力ポリシー マップでサポートされません。出力ポリシー マップの分類基準には、CoS 値、DSCP 値、IP Precedence 値、または QoS グループ値の照合が含まれます。

    物理ポートに出力ポリシー マップを設定する際は、次の注意事項に従ってください。

    blank.gifスイッチ上のポート数に応じた数の出力ポリシー マップを設定および付加できます。複数の出力ポリシー マップで同じキュー制限設定を使用できます。ただし、これらのポリシー マップには、固有のキュー制限を 3 つしか設定できません。

    blank.gif出力ポリシーマップには、最大 4 つのクラス(クラス class-default を含む)を含めることができます。

    blank.gifすべての出力ポリシー マップでは、同じ数(1、2、または 3 のいずれか)のクラス マップが定義されている必要があります。

    blank.gif出力ポリシー マップごとに各クラスで異なるアクションを設定できますが、すべての出力ポリシー マップで同じクラス設定を使用する必要があります。

    blank.gif子ポリシーマップでは、 class-default が、 priority および police 以外のすべての出力ポリシーマップアクションをサポートします。 class-default のキュー制限の設定で、スケジューリング動作を設定する必要がないこと以外は、 class-default の動作制限はその他のクラスと同じです。

    blank.gif出力側の基準に基づいて分類する場合、その基準を入力側で確立する必要があります。マーキングはなくポリシングだけが設定されている場合に限り、分類を使用して、または任意のマーキング( conform または exceed マーキングを含むポリシングか、無条件の set マーキング)が設定されている場合は、明示的なマーキングを使用して、入力側で基準を確立できます。

    blank.gif出力ポリシーマップのクラス class-default にはクラスベース プライオリティ キューイングを設定できません。

    blank.gif出力ポリシー マップでは、プライオリティ キューイングが設定されていない限り、クラスのデフォルトには、ポート上の未設定の帯域幅に等しい最小帯域幅保証を受信します。

    blank.gif設定済みアクションのパラメータ(レート、パーセンテージなど)だけを変更したり、またはインターフェイスにポリシーマップが付加されている場合にクラスマップの分類基準を追加、削除する場合は、まず service-policy インターフェイス コンフィギュレーション コマンドを使用して、インターフェイスに出力ポリシーマップを付加します。クラスまたはアクションを追加、削除するには、すべてのインターフェイスからポリシー マップを消去して、変更し、再度インターフェイスに付加する必要があります。

    ポリシー マップで 3 つのクラスが必要となる予定がある場合は、その時点では 3 つすべてを使用しないときでも、ポリシー マップの作成時に 3 つのクラスを定義する必要があります。インターフェイスにポリシー マップを付加したあとで、ポリシー マップにクラスを追加できません。

    blank.gifアクティブ ポートに少なくとも 1 つの出力ポリシー マップが付加されている場合、出力ポリシー マップが付加されていないアクティブ ポートでは、付加された出力ポリシー マップと同じクラスを使用しているトラフィックを適切にスケジューリングしたり、順序付けできない場合があります。使用中のすべてのポートに、出力ポリシー マップを付加することを推奨します。また、未使用のポートは、 shutdown インターフェイス コンフィギュレーション コマンドを使用してシャットダウンステートにすることも推奨します。たとえば、DSCP 23 トラフィックをシェーピングする出力ポリシー マップをポートに付加する場合に、同一ポートから他のトラフィックが送出されると、ポリシー マップが付加されていない他のポートから送信される DSCP トラフィックは適切にスケジューリングまたは順序付けされない場合があります。

    blank.gif出力ポリシー マップをポートに付加して、ポートが出力ポリシー マップを無効にするレートに自動ネゴシエーションされないようにする場合は、ポート速度の自動ネゴシエーションをディセーブルにするよう強く推奨します。 speed インターフェイス コンフィギュレーション コマンドを使用すると、スタティックなポート速度を設定できます。自動ネゴシエーションするように設定されているポートで出力ポリシー マップが設定されていて、その速度がポリシーを無効にする値に自動ネゴシエーションされた場合、ポートは error-disabled ステートになります。

    blank.gif1 つのポートに付加できる出力ポリシー マップは、1 つに限られます。

    blank.gifスイッチ上に設定されるポリシー マップの最大数は 256 です。

    ここでは、異なるタイプの出力ポリシー マップの設定について説明します。

    blank.gifCBWFQ を含む出力ポリシー マップの設定

    blank.gifクラスベース シェーピングを含む出力ポリシー マップの設定

    blank.gifポート シェーピングを含む出力ポリシー マップの設定

    blank.gifクラスベース プライオリティ キューイングを含む出力ポリシー マップの設定

    blank.gifWTD を含む出力ポリシー マップの設定

    CBWFQ を含む出力ポリシー マップの設定

    CBWFQ を設定するには、 bandwidth ポリシーマップ クラス コンフィギュレーション コマンドを使用します。CBWFQ では、ポートで使用可能な総帯域幅の一部を割り当てることにより、キューの相対的な優先順位を設定します。

    CBWFQ の設定時は、次の注意事項に従ってください。

    blank.gifポリシー マップで帯域幅を設定する場合は、すべてのレート設定を同じ形式(設定されたレートまたはパーセンテージ)にする必要があります。

    blank.gifポリシーの各キューにおける最小帯域幅保証の合計速度は、インターフェイスの合計速度を上回ることはできません。

    blank.gif出力ポリシーマップ内の同一のクラスに、CBWFQ( bandwidth )とトラフィック( shape average )またはプライオリティキューイング( priority )を設定できません。

    blank.gif別のクラス マップで完全プライオリティ(ポリシングなしのプライオリティ)が設定されている場合には、帯域幅を絶対レートまたは総帯域幅に対するパーセンテージとして設定できません。

    blank.gif出力ポリシー マップの別のクラスで完全プライオリティ(ポリシングなしのプライオリティ)が設定されている場合にだけ、帯域幅を残りの帯域幅に対するパーセンテージで設定できます。

    blank.gifクラスの CIR 帯域幅を絶対レートまたは総帯域幅に対するパーセンテージで設定する場合、ポリシー マップ内のすべてのクラスの CIR の処理後に残った余剰な帯域幅は、いずれも CIR レートと同じ比率でクラス間に配分されます。クラスの CIR レートを 0 に設定した場合、このクラスはいずれの余剰帯域幅に対しても不適格となり、帯域幅を取得できません。

    最小帯域幅をビット レートまたはパーセンテージで指定することにより、CBWFQ を使用してトラフィック クラスに割り当てられる帯域幅を制御するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    policy-map policy-map-name

    ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始します。

    3.blank.gif

    class { class-map-name | class-default }

    子クラスマップ名またはすべての未分類のパケットを照合する class-default を入力して、ポリシーマップ クラス コンフィギュレーション モードを開始します。

    4.blank.gif

    bandwidth { rate | percent value | remaining percent value }

    ポリシー マップ クラスに出力帯域幅制限を設定します。

    blank.gif帯域幅を kps で設定するには、 rate を入力します。指定できる範囲は 64 ~ 1000000 です。

    blank.gif総帯域幅のパーセンテージとして帯域幅を設定するには、 percent value を入力します。指定できる範囲は 1 ~ 100% です。

    blank.gif残りの帯域幅のパーセンテージとして帯域幅を設定するには、 remaining percent value を入力します。指定できる範囲は 1 ~ 100% です。このキーワードは、出力ポリシー マップ内の他のクラスに完全プライオリティ(ポリシングなしのプライオリティ)が設定されている場合に限り有効です。

    出力ポリシー内の各帯域幅設定では、同一の単位(絶対レートまたはパーセンテージ)を指定する必要があります。合計保証帯域幅は、使用可能な合計レートを超過できません。

    5.blank.gif

    exit

    ポリシーマップ コンフィギュレーション モードに戻ります。

    6.blank.gif

    exit

    グローバル コンフィギュレーション モードに戻ります。

    7.blank.gif

    interface interface-id

    ポリシーを付加するインターフェイスで、インターフェイス コンフィギュレーション モードを開始します。

    8.blank.gif

    service-policy output policy-map-name

    出力インターフェイスにポリシー マップ(ステップ 2 で作成)を付加します。

    9.blank.gif

    end

    特権 EXEC モードに戻ります。

    10.blank.gif

    show policy-map [ policy-map-name [ class class-map-name ]]

    入力内容を確認します。

    11.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    作成された出力ポリシー マップを、出力ポートに付加します。トラフィック ポリシーのインターフェイスへの適用を参照してください。

    既存のポリシーマップ、クラスマップ、または帯域幅設定を削除するには、該当するコマンドの no 形式を使用します。

    次に、クラス マップで定義されたトラフィック クラスに、使用可能な合計帯域幅の 25% を割り当てて、キューの優先順位を設定する例を示します。

    Switch(config)# policy-map gold_policy
    Switch(config-pmap)# class out_class-1
    Switch(config-pmap-c)# bandwidth percent 25
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface GigabitEthernet1/17
    Switch(config-if)# service-policy output gold_policy
    Switch(config-if)# exit

    クラスベース シェーピングを含む出力ポリシー マップの設定

    トラフィックシェーピングを設定するには、 shape average ポリシーマップ クラス コンフィギュレーション コマンドを使用します。クラスベース シェーピングは、インターフェイスから発信されるトラフィック クラスに適用される制御メカニズムで、クラスの CIR で使用されるデータ伝送速度を制限するには、shape average コマンドを使用します。

    クラスベース シェーピングの設定を行うときは、次の注意事項に従ってください。

    blank.gifトラフィック シェーピングのキュー設定により、キューの最大帯域幅および Peak Information Rate(PIR)が設定されます。トラフィックシェーピングの自動設定により、キューの最小帯域幅保証または CIR も PIR と同じ値に設定されます。

    blank.gif出力ポリシーマップ内の同一のクラスに、CBWFQ( bandwidth )またはプライオリティキューイング( priority )およびトラフィック( shape average )を設定できません。

    blank.gif出力ポリシー マップ内の別のクラスに、完全プライオリティ(ポリシングなしのプライオリティ)が設定されている場合、特定のトラフィック クラスにトラフィック シェーピングを設定できません。

    クラスベース シェーピングを使用して、トラフィック クラスの最大許容平均速度を設定するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    policy-map policy-map-name

    ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始します。

    3.blank.gif

    class { class-map-name | class-default }

    子クラスマップ名またはすべての未分類のパケットを照合する class-default を入力して、ポリシーマップ クラス コンフィギュレーション モードを開始します。

    4.blank.gif

    shape average target bps

    平均クラスベース シェーピング速度を指定します。

    target bps には、平均ビットレートを bps で指定します。指定できる範囲は 64000 ~ 1000000000 です。

    5.blank.gif

    exit

    ポリシーマップ コンフィギュレーション モードに戻ります。

    6.blank.gif

    exit

    グローバル コンフィギュレーション モードに戻ります。

    7.blank.gif

    interface interface-id

    ポリシーを付加するインターフェイスで、インターフェイス コンフィギュレーション モードを開始します。

    8.blank.gif

    service-policy output policy-map-name

    出力インターフェイスにポリシー マップ(ステップ 2 で作成)を付加します。

    9.blank.gif

    end

    特権 EXEC モードに戻ります。

    10.blank.gif

    show policy-map [ policy-map-name [ class class-map-name ]]

    入力内容を確認します。

    11.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    作成された出力ポリシー マップを、出力ポートに付加します。トラフィック ポリシーのインターフェイスへの適用を参照してください。

    既存のポリシーマップ、クラスマップ、またはクラスベースシェーピングの設定を削除するには、該当するコマンドの no 形式を使用します。

    ポート シェーピングを含む出力ポリシー マップの設定

    ポート シェーピングは、インターフェイスから発信されるすべてのトラフィックに適用されます。 shape average コマンドによりポートの最大帯域幅が指定されている場合は、クラスのデフォルトだけを使用するポリシーマップを使用します。子ポリシーが、階層型ポリシー マップ形式でクラスのデフォルトに付加されると、シェーピング ポート上のキューのクラスベース アクションを指定できます。

    子ポリシーの各キューにおける最小帯域幅保証の合計(CIR)は、ポート シェーピングの合計速度を上回ることはできません。

    ポート シェーピングを使用して、トラフィック クラスの最大許容平均速度を設定するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    policy-map policy-map-name

    階層型ポリシー マップ名を入力して階層型ポリシー マップを作成し、親ポリシーのポリシーマップ コンフィギュレーション モードを開始します。

    3.blank.gif

    class class-default

    デフォルト クラスのポリシーマップ クラス コンフィギュレーション モードを開始します。

    4.blank.gif

    shape average target bps

    平均クラスベース シェーピング速度を指定します。

    target bps には、平均ビットレートを bps で指定します。指定できる範囲は 4000000 ~ 1000000000 です。

    5.blank.gif

    service-policy policy-map-name

    必要に応じて、階層型ポリシー マップで使用される子ポリシー マップを指定します。

    6.blank.gif

    exit

    ポリシーマップ コンフィギュレーション モードに戻ります。

    7.blank.gif

    exit

    グローバル コンフィギュレーション モードに戻ります。

    8.blank.gif

    interface interface-id

    ポリシーを付加するインターフェイスで、インターフェイス コンフィギュレーション モードを開始します。

    9.blank.gif

    service-policy output policy-map-name

    出力インターフェイスに親ポリシー マップ(ステップ 2 で作成)を付加します。

    10.blank.gif

    end

    特権 EXEC モードに戻ります。

    11.blank.gif

    show policy-map [ policy-map-name [ class class-map-name ]]

    入力内容を確認します。

    12.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    作成された階層型出力ポリシー マップを、出力ポートに付加します。トラフィック ポリシーのインターフェイスへの適用を参照してください。

    既存の階層型ポリシーマップ、ポートシェーピングの設定を削除したり、または階層型ポリシーマップからポリシーマップを削除するには、該当するコマンドの no 形式を使用します。

    次に、前述の例で設定された out-policy ポリシーマップに基づいて割り当てられ、ポートを 90 Mbps にシェーピングする階層型ポリシーマップを設定して、ポートシェーピングを設定する例を示します。

    Switch(config)# policy-map out-policy-parent
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# shape average 90000000
    Switch(config-pmap-c)# service-policy out-policy
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy output out-policy-parent
    Switch(config-if)# exit

    クラスベース プライオリティ キューイングを含む出力ポリシー マップの設定

    priority ポリシーマップ クラス コンフィギュレーション コマンドを使用すると、特定のトラフィッククラスで優先処理が行われるよう保証できます。完全プライオリティ キューイングの場合、プライオリティ キューは常に処理されます。キュー内のすべてのパケットは、キューが空になるまでスケジューリングされ、送信されます。プライオリティ キューを過剰に使用すると、他のキューのパケットが遅延して、不必要な輻輳が発生する可能性があります。

    完全プライオリティ キューイング(ポリシングなしのプライオリティ)または無条件のプライオリティ ポリサー(ポリシングありのプライオリティ)を設定できます。プライオリティ キューイングの設定時は、次の注意事項に従ってください。

    blank.gif priority コマンドは、スイッチ上で付加されたすべての出力ポリシーの単一の一意のクラスに関連付けられます。

    blank.gifトラフィッククラスをプライオリティキューとして設定する場合、 同一クラスのその他のキューイングアクションとして設定できるのは、 police および queue-limit だけです。同一クラスのプライオリティキューを使用して、 bandwidth または shape average を設定できません。

    blank.gif priority コマンドは、出力ポリシーマップの class-default に関連付けられません。

    ポリシングなしのプライオリティの設定

    完全プライオリティ キューイング(ポリシングなしのプライオリティ)の設定を行う場合は、次の注意事項に従ってください。

    blank.gifクラスベースシェーピング( shape average )または CBWFQ( bandwidth )が出力ポリシーマップ内の他のクラスに設定されている場合は、トラフィッククラスにポリシングなしのプライオリティキューイングを設定できません。

    blank.gifトラフィッククラスにポリシングなしのプライオリティキューイングを設定する場合、余剰の帯域幅を割り当てるには、 bandwidth remaining percent ポリシーマップ クラス コンフィギュレーション コマンドを使用して、他のキューで共有を設定するしかありません。このコマンドは、割り当てられた帯域幅を保証しませんが、分散レートは保証されます。

    完全プライオリティ キューを設定するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    class-map class-map-name

    3 つの出力キューのクラスを作成します。各クラスの一致条件での分類を開始します。

    3.blank.gif

    policy-map policy-map-name

    ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始します。

    4.blank.gif

    class class-map-name

    プライオリティクラスの名前( class-map グローバル コンフィギュレーション コマンドを使用して作成)を入力して、プライオリティクラスでポリシーマップ クラス コンフィギュレーション モードを開始します。

    5.blank.gif

    priority

    このクラスに完全スケジューリング プライオリティを設定します。

    注: priority コマンドに関連付けられるのは、スイッチ上の 1 つの一意のクラスマップだけです。その他のキューイングアクション( bandwidth または shape average )と、プライオリティを同時に設定できません。

    6.blank.gif

    exit

    プライオリティ クラスのポリシーマップ クラス コンフィギュレーション モードを終了します。

    7.blank.gif

    class class-map-name

    非プライオリティ クラスの名前を入力して、そのクラスのポリシーマップ クラス コンフィギュレーション モードを開始します。

    8.blank.gif

    bandwidth remaining percent value

    ポリシー マップ クラスの出力帯域幅制限を、残りの帯域幅のパーセンテージとして設定します。指定できる範囲は 1 ~ 100% です。

    9.blank.gif

    exit

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

    10.blank.gif

    exit

    グローバル コンフィギュレーション モードに戻ります。

    11.blank.gif

    interface interface-id

    ポリシーを付加するインターフェイスで、インターフェイス コンフィギュレーション モードを開始します。

    12.blank.gif

    service-policy output policy-map-name

    出力インターフェイスにポリシー マップ(ステップ 3 で作成)を付加します。

    13.blank.gif

    end

    特権 EXEC モードに戻ります。

    14.blank.gif

    show policy-map

    入力内容を確認します。

    15.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    作成された出力ポリシー マップを、出力ポートに付加します。トラフィック ポリシーのインターフェイスへの適用を参照してください。

    既存のポリシーマップまたはクラスマップの削除、プライオリティクラスの完全プライオリティキューイングまたは他のクラスへの帯域幅設定の解除を行うには、該当するコマンドの no 形式を使用します。

    次に、クラス out-class1 を完全プライオリティキューとして設定し、このクラスのすべてのパケットが他のトラフィッククラスより先に送信される例を示します。他のトラフィックキューでは、 out-class2 は残りの帯域幅の 50%、 out-class3 は残りの帯域幅の 20% を取得するように設定されます。クラス class-default は、保証なしで、残りの 30% を取得します。

    Switch(config)# policy-map policy1
    Switch(config-pmap)# class out-class1
    Switch(config-pmap-c)# priority
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class out-class2
    Switch(config-pmap-c)# bandwidth remaining percent 50
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class out-class3
    Switch(config-pmap-c)# bandwidth remaining percent 20
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface GigabitEthernet1/17
    Switch(config-if)# service-policy output policy1
    Switch(config-if)# exit

    ポリシングを含むプライオリティの設定

    ポリシング機能のあるプライオリティを使用して無条件のプライオリティ ポリサーを設定すると、プライオリティ キューで使用される帯域幅の制限、帯域幅の割り当て、または他のキューのシェーピングが可能になります。ポリシングを含むプライオリティの設定時は、次の注意事項に従ってください。

    blank.gifCLI ヘルプでキーワードが表示される場合でも、無条件のプライオリティ ポリサーに対して認定バースト サイズを設定できません。出力サービス ポリシーを付加しようとすると、設定済みのバースト サイズはすべて無視されます。

    blank.gifCLI ヘルプに表示される範囲が 8000 ~ 1000000000 bps である場合でも、許容ポリシング レートの範囲は 64000 ~ 1000000000 bps です。範囲外のレートでは、出力サービス ポリシーを付加できません。

    blank.gif同じ出力ポリシーマップ内の別のクラスで bandwidth remaining percent が設定されている場合は、トラフィッククラスにポリシングのあるプライオリティを設定できません。

    blank.gifプライオリティで出力ポリシーの 1-rate、2-color ポリサーを設定できます。出力ポリシーの 2-rate、3-color ポリサーは設定できません。

    ポリシングのあるプライオリティを設定するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    class-map class-map-name

    3 つの出力キューのクラスを作成します。各クラスの一致条件での分類を開始します。

    3.blank.gif

    policy-map policy-map-name

    ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始します。

    4.blank.gif

    class class-map-name

    プライオリティクラスの名前( class-map グローバル コンフィギュレーション コマンドを使用して作成)を入力して、プライオリティクラスでポリシーマップ クラス コンフィギュレーション モードを開始します。

    5.blank.gif

    priority

    このクラスをプライオリティ クラスとして設定します。

    注: priority コマンドに関連付けられるのは、スイッチ上の 1 つの一意のクラスマップだけです。

    6.blank.gif

    police { rate-bps | cir cir-bps }

    トラフィックのプライオリティ クラスのポリサーを定義します。

    blank.gif rate-bps には、平均トラフィックレートをビット/秒(bps)で指定します。指定できる範囲は 64000 ~ 1000000000 です。

    注: 出力ポリシーで police コマンドと priority コマンドを併用する場合に、CLI ヘルプで表示される範囲が 8000 ~ 1000000000 bps であっても、ポリシングレートおよび CIR の範囲は 64000 ~ 1000000000 bps です。範囲外のレートでは、出力サービス ポリシーを付加できません。

    blank.gifcir cir-bps には、設定情報レート(CIR)を bps で指定します。指定できる範囲は 64000 ~ 1000000000 です。

    注: バーストサイズオプションは、コマンドライン ヘルプ ストリングで表示される場合でも、出力ポリシーマップでサポートされません。バースト サイズが設定された出力サービス ポリシー マップは付加できません。

    7.blank.gif

    conform-action [ transmit ]

    (任意)CIR に適合するパケットで実行するアクションを入力します。アクションが入力されない場合は、デフォルトのパケット送信のアクションになります。

    注: police コマンドのあとに、単一の conform-action をコマンドストリングの一部として入力できます。また、 police コマンドのあとに CR(復帰)を入力すると、ポリシーマップ クラス ポリシング コンフィギュレーション モードが開始され、適合アクションを入力できます。 police コマンドが、出力ポリシーマップのプライオリティにより設定されている場合は、デフォルトの適合アクションである transmit だけがサポートされます。その他のポリシング適合アクションは、コマンド ライン ヘルプ ストリングで表示される場合でも、出力ポリシー マップでサポートされません。

    8.blank.gif

    exceed-action [ drop ]

    (任意)CIR に適合しないパケットに実行するアクションを入力します。アクションが入力されない場合は、デフォルトのパケット廃棄のアクションになります。

    注: police コマンドのあとに、単一の exceed-action をコマンドストリングの一部として入力できます。また、 police コマンドのあとに CR(復帰)を入力すると、ポリシーマップ クラス ポリス コンフィギュレーション モードが開始され、超過アクションを入力できます。 police コマンドが、出力ポリシーマップのプライオリティにより設定されている場合は、デフォルトの超過アクションである drop だけがサポートされます。その他のポリシング超過アクションは、コマンド ライン ヘルプ ストリングで表示される場合でも、出力ポリシー マップでサポートされません。

    9.blank.gif

    exit

    プライオリティ クラスのポリシーマップ クラス コンフィギュレーション モードを終了します。

    10.blank.gif

    class class-map-name

    最初に非プライオリティ クラスの名前を入力して、そのクラスのポリシーマップ クラス コンフィギュレーション モードを開始します。

    11.blank.gif

    bandwidth { rate | percent value }

    または

    shape average target bps

    ポリシー マップ クラスの出力帯域幅制限を kbps で設定するか(範囲は 64 ~ 1000000)、または総帯域幅に対するパーセンテージ(範囲は 1 ~100%)を設定します。または平均クラスベース シェーピング レートを bps で指定します(範囲は 64000 ~ 1000000000)。

    12.blank.gif

    exit

    ポリシーマップ コンフィギュレーション モードに戻ります。

    13.blank.gif

    exit

    グローバル コンフィギュレーション モードに戻ります。

    14.blank.gif

    interface interface-id

    ポリシーを付加するインターフェイスで、インターフェイス コンフィギュレーション モードを開始します。

    15.blank.gif

    service-policy output policy-map-name

    出力インターフェイスにポリシー マップ(ステップ 3 で作成)を付加します。

    16.blank.gif

    end

    特権 EXEC モードに戻ります。

    17.blank.gif

    show policy-map

    入力内容を確認します。

    18.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    作成された出力ポリシー マップを、出力ポートに付加します。トラフィック ポリシーのインターフェイスへの適用を参照してください。

    既存のポリシーマップまたはクラスマップの削除、プライオリティクラスのプライオリティキューイング、ポリシング、または他のクラスへの帯域幅設定の解除を行うには、該当するコマンドの no 形式を使用します。

    次に、 priority コマンドと police コマンドを併用して、 out-class1 をプライオリティキューとして設定し、キューに着信するトラフィックを 20000000 bps に制限して、プライオリティキューがそれを超えるレートを使用しないようにする例を示します。このレートを超えるトラフィックは、廃棄されます。その他のトラフィック キューは、前述の例のとおり設定されます。

    Switch(config)# policy-map policy1
    Switch(config-pmap)# class out-class1
    Switch(config-pmap-c)# priority
    Switch(config-pmap-c)# police 200000000
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class out-class2
    Switch(config-pmap-c)# bandwidth percent 50
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class out-class3
    Switch(config-pmap-c)# bandwidth percent 20
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface GigabitEthernet1/17
    Switch(config-if)# service-policy output policy1
    Switch(config-if)# exit

    WTD を含む出力ポリシー マップの設定

    WTD では、トラフィック クラスに関連付けられたキュー サイズ(バッファ サイズ)を調整します。WTD は、 queue-limit ポリシーマップ クラス コンフィギュレーション コマンドにより設定されます。

    WTD を設定する場合は、次の注意事項に従ってください。

    blank.gif queue-limit コマンドによる WTD の設定は、最初にスケジュールアクション( bandwidth shape average 、または priority など)を設定する場合にだけサポートされます。 class-default queue-limit を設定する場合は、例外です。

    blank.gifポート数に応じた数の出力ポリシー マップを設定および付加できます。複数の出力ポリシー マップで同じキュー制限設定を使用できます。ただし、これらのポリシー マップには、固有のキュー制限を 3 つしか設定できません。

    blank.gif queue-limit コマンドを使用して CPU が生成したトラフィックのキュー制限を設定できます。

    blank.gif queue-limit コマンドを使用して、クラスのキューしきい値を設定する場合、WTD しきい値は、キューの最大しきい値以下にする必要があります。修飾子なしで設定されたキュー サイズは、修飾子を使用して設定されたいずれのキュー サイズよりも大きくする必要があります。

    blank.gif queue-limit コマンドで、WTD 修飾子( cos dscp precedence qos-group )に 3 つ以上の一意のしきい値を設定できません。ただし、これらのしきい値にマッピングできる修飾子の数に制限はありません。修飾子なしの queue-limit コマンドを使用することにより、3 番めの一意のしきい値を設定して、最大キューを設定できます。

    blank.gif queue-limit コマンドの WTD 修飾子は、関連するクラスマップの少なくとも 1 つの match 修飾子と同じである必要があります。

    blank.gif出力ポリシー マップで一意のクラスにキュー制限を設定した場合、他のすべての出力ポリシー マップでは、修飾子タイプおよび修飾値に同じ形式を使用する必要があります。キュー制限しきい値だけ、異なる値を設定できます。たとえば、ポリシーマップ 1 の dscp 30 および dscp 50 に、クラス A のキュー制限のしきい値を設定して、ポリシーマップ 2 でクラス A のキュー制限を設定する場合、 dscp 30 および dscp 50 を修飾子として使用する必要があります。 dscp 20 および dscp 40 は、使用できません。別のしきい値を設定できますが、これにより、新しいキュー制限設定が作成されます。

    WTD を使用してトラフィック クラスのキュー サイズを調整するには、特権 EXEC モードで次の手順を実行します。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    policy-map policy-map-name

    ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシー マップ コンフィギュレーション モードを開始します。

    3.blank.gif

    class { class-map-name | class-default }

    子クラスマップ名またはすべての未分類のパケットを照合する class-default を入力して、ポリシーマップ クラス コンフィギュレーション モードを開始します。

    blank.gifクラスマップ名を入力する場合、ステップ 5 でキュー制限を設定する前に、ステップ 4 を実行して、スケジューリングアクション( bandwidth shape average 、または priority )を設定する必要があります。

    blank.gifclass-default を入力する場合は、ステップ 4 を省略できます。

    4.blank.gif

    bandwidth { rate | percent value | remaining percent value }
    または
    shape average target bps
    または
    priority

    トラフィック クラスのスケジューリング アクションを設定します。詳細については、CBWFQ を含む出力ポリシー マップの設定クラスベース シェーピングを含む出力ポリシー マップの設定ポート シェーピングを含む出力ポリシー マップの設定、またはクラスベース プライオリティ キューイングを含む出力ポリシー マップの設定を参照してください。

    5.blank.gif

    queue-limit [ cos value | dscp value | precedence value | qos-group value ] number-of-packets [ packets ]}

    トラフィック クラスのキュー サイズを指定します。

    blank.gif(任意) cos value には、CoS 値を指定します。範囲は 0 ~ 7 です。

    blank.gif(任意) dscp value には、DSCP 値を指定します。指定できる範囲は 0 ~ 63 です。

    blank.gif(任意) precedence value には、IP precedence 値を指定します。範囲は 0 ~ 7 です。

    blank.gif(任意)qos-group value には、QoS グループ値を入力します。有効な範囲は 0 ~ 99 です。

    blank.gif number-of-packets には、WTD の最小しきい値を設定します。指定できる範囲は、16 の倍数で 16 ~ 544 です。この場合、各パケットは 256 バイトの固定単位になります。

    注: 最適なパフォーマンスを実現するため、キュー制限を 272 以下に設定することを推奨します。

    値は、デフォルトでパケットに指定されますが、キーワード packets は任意です。

    注: 複数の出力ポリシーマップでは、同じキュー制限設定を使用できます。ただし、これらのポリシー マップには、固有のキュー制限を 3 つしか設定できません。

    6.blank.gif

    exit

    ポリシーマップ コンフィギュレーション モードに戻ります。

    7.blank.gif

    exit

    グローバル コンフィギュレーション モードに戻ります。

    8.blank.gif

    interface interface-id

    ポリシーを付加するインターフェイスで、インターフェイス コンフィギュレーション モードを開始します。

    9.blank.gif

    service-policy output policy-map-name

    出力インターフェイスにポリシー マップ(ステップ 2 で作成)を付加します。

    注: 4 つめのキュー制限設定を含む出力ポリシーマップを付加しようとすると、エラーメッセージが表示され、付加は許可されません。

    10.blank.gif

    end

    特権 EXEC モードに戻ります。

    11.blank.gif

    show policy-map [ policy-map-name [ class class-map-name ]]

    入力内容を確認します。

    12.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    作成された出力ポリシー マップを、出力ポートに付加します。出力ポリシー マップの設定を参照してください。

    既存のポリシーマップ、クラスマップ、または WTD 設定を削除するには、該当するコマンドの no 形式を使用します。

    次に、指定された帯域幅およびキュー サイズが設定されたポリシー マップの例を示します。DSCP 30 または 10 ではないトラフィックには、112 パケットのキュー制限が割り当てられます。DSCP 値が 30 のトラフィックには、48 パケットのキュー制限が、また、DSCP 値が 10 のトラフィックには、32 パケットのキュー制限が割り当てられます。クラス トラフィックに属していないすべてのトラフィックは、class-default に分類され、使用可能な合計帯域幅の 10% が、256 パケットのラージ キュー サイズで設定されます。

    Switch(config)# policy-map gold-policy
    Switch(config-pmap)# class traffic
    Switch(config-pmap-c)# bandwidth percent 50
    Switch(config-pmap-c)# queue-limit 112
    Switch(config-pmap-c)# queue-limit dscp 30 48
    Switch(config-pmap-c)# queue-limit dscp 10 32
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# bandwidth percent 10
    Switch(config-pmap-c)# queue-limit 256
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# exit
    Switch(config)# interface GigabitEthernet1/17
    Switch(config-if)# service-policy output gold-policy
    Switch(config-if)# exit

    CPU 生成トラフィックの QoS マーキングおよびキューイングの設定

    CPU によって生成されたトラフィックのマーキングおよびキューイングを設定するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。

     

     
    コマンド
    目的

    1.blank.gif

    configure terminal

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

    2.blank.gif

    グローバル テーブル マップを設定します。

    テーブル マップの設定を参照してください。

    3.blank.gif

    cpu traffic qos cos { cos-value | cos [table-map table-map-name ] | dscp [table-map table-map-name ] | prec [table-map table-map-name ]}

    新しい CoS 値を設定するか、テーブル マップを指定することにより、トラフィックをマーキングします。

    blank.gif cos-value には、新しい CoS 値を入力します。範囲は 0 ~ 7 です。

    blank.gifまた、CoS、DSCP、または IP-precedence 値に基づき CoS をマーキングできます。任意にテーブル マップを使用して、CoS を設定できます。 table-map table-map-name を入力しない場合、テーブルマップは、デフォルトの動作 copy になります。テーブル マップを参照してください。

    このステップを完了したら、ステップ 7. に進みます。

    4.blank.gif

    cpu traffic qos dscp { dscp_value | cos [table-map table-map-name ] | dscp [table-map table-map-name ] | prec [table-map table-map-name ]}

    新しい DsCP 値を設定するか、テーブル マップを指定することにより、トラフィックをマーキングします。

    blank.gif dscp new-dscp には、分類されたトラフィックに新しい DSCP 値を入力します。指定できる範囲は 0 ~ 63 です。

    blank.gifまた、テーブル マップを設定して、CoS、DSCP、または IP-precedence 値に基づいて DSCP をマーキングできます。任意でテーブル名を入力できます。 table-map table-map-name を入力しない場合、テーブルマップは、デフォルトの動作 copy になります。テーブル マップを参照してください。

    blank.gifDSCP 分類オプションの詳細については、 IP DSCP に基づく分類 を参照してください。

    このステップを完了したら、ステップ 7. に進みます。

    5.blank.gif

    cpu traffic qos precedence { precedence_value | cos [table-map table-map-name ] | dscp [table-map table-map-name ] | prec [ table-map table-map-name ]}

    新しい precedence 値を設定するか、テーブル マップを指定することにより、トラフィックをマーキングします。

    blank.gif precedence new-precedence には、0 ~ 7 の番号または名前で新しい IP-precedence 値を入力します。使用できる名前および番号は、 routine 0 )、 priority 1 )、 immediate 2 )、 flash 3 )、 flash-override 4 )、 critical 5 )、 internet 6 )、 network 7 )です。

    blank.gifまた、テーブル マップを設定して、CoS、DSCP、または IP-precedence 値に基づいて precedence をマーキングできます。任意でテーブル名を入力できます。 table-map table-map-name を入力しない場合、テーブルマップは、デフォルトの動作 copy になります。テーブル マップを参照してください。

    このステップを完了したら、ステップ 7. に進みます。

    6.blank.gif

    cpu traffic qos qos-group qos-group-value

    QoS グループを使用してトラフィックをマーキングします。

    qos-group - value には、出力側で使用される QoS グループを識別します。指定できる範囲は、0 ~ 99 です。

    このステップを完了したら、ステップ 7. に進みます。

    7.blank.gif

    end

    特権 EXEC モードに戻ります。

    8.blank.gif

    COS、IP DSCP、IP precedence および QoS グループなどの QoS マーキングをクラス キューにマッピングするために出力ポリシー マップを設定し、キューイングおよびスケジューリングを設定します。

    出力ポリシー マップの設定を参照してください。

    9.blank.gif

    copy running-config startup-config

    (任意)コンフィギュレーション ファイルに設定を保存します。

    10.blank.gif

    show running-config

    設定済みのクラス マップ、ポリシー マップ、ポリシー マップ、テーブル マップ、および CPU トラフィック QoS 設定を表示します。

    11.blank.gif

    show cpu traffic qos

    CPU によって生成されたトラフィックの QoS マーキング値を表示します。

    12.blank.gif

    show table-map [ table-map-name]

    すべてのテーブル マップまたは指定されたテーブル マップの情報を表示します。

    13.blank.gif

    show policy-map [ policy-map-name | interface [ interface-id ] [ output ] [ class class-name ]]

    指定されたポリシー マップ名、インターフェイス、入力/出力ポリシー マップ、またはポリシー マップ クラスの QoS ポリシー マップ情報を表示します。

    コマンドをディセーブルにするには、このコマンドの no 形式を使用します。

    例 1

    次に、CPU 生成 IP パケットの DSCP 値に基づいて出力キューイングを設定する例を示します。

    blank.gifIP DSCP 値および設定済み出力ポリシーマップ output-policy に基づく、出力ポート上のすべての CPU 生成 IP トラフィックキュー。

    blank.gif音声トラフィックをシミュレートする DSCP 値が ef のすべての IP SLA または TWAMP プローブが voice クラスに割り当てられている。

    blank.gif音声トラフィックをシミュレートする DSCP 値が af41 af42 および af43 のすべての IP SLA または TWAMP が video クラスに割り当てられている。

    blank.gifDSCP 値が 48 および 56 のすべての IP 制御プロトコルトラフィックが network-internetwork-control クラスに割り当てられている。

    blank.gif残りの IP トラフィックがデフォルト クラスに割り当てられている。

    blank.gifすべての CPU 生成非 IP トラフィックが、スタティックに出力ポートの固定キューにマッピングされている。

    blank.gifCoS に基づくクラスが存在しないため、すべての CFM トラフィックがデフォルト クラスにキューイングされている。

     
    Switch(config)# cpu traffic qos dscp dscp

    クラス:

     
    Switch(config)# class-map match-any video
    Switch(config-cmap)# match ip dscp af41 af42 af43
    Switch(config-cmap)# exit
     
    Switch(config)# class-map match-any voice
    Switch(config-cmap)# match ip dscp ef
    Switch(config-cmap)# exit
     
    Switch(config)# class-map match-any network-internetwork-control
    Switch(config-cmap)# match ip dscp 48 56
    Switch(config-cmap)# exit

    ポリシー:

     
    Switch(config)# policy-map output-policy
    Switch(config-pmap)# class voice
    Switch(config-pmap-c)# priority
    Switch(config-pmap-c)# police cir 10000000
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class video
    Switch(config-pmap-c)# bandwidth percent 40
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class network-internetwork-control
    Switch(config-pmap-c)# bandwidth percent 10
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# bandwidth percent 30
    Switch(config-pmap-c)# exit

    インターフェイス

     
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy output output-policy
    Switch(config-pmap-c)# exit
     

    例 2

    次に、パケットの DSCP 値に基づいて CPU 生成 IP トラフィック(IP-SLA および TWAMP を含む)の CoS をマーキングし、CoS 値に基づいて出力キューイングを設定する例を示します。

    blank.gifIP DSCP 値および output-policy という設定済み出力ポリシーマップに基づく、出力ポート上のすべての CPU 生成 IP トラフィックキュー。

    blank.gif音声トラフィックをシミュレートする DSCP 値が ef のすべての IP SLA または TWAMP プローブが voice クラスに割り当てられている。

    blank.gif音声トラフィックをシミュレートする DSCP 値が af41 af42 および af43 のすべての IP SLA または TWAMP が video クラスに割り当てられている。

    blank.gifDSCP 値が 48 および 56 のすべての IP 制御プロトコルトラフィックが network-internetwork-control クラスに割り当てられている。

    blank.gif残りの IP トラフィックがデフォルト クラスに割り当てられている。

    blank.gifCoS 5 のすべての CPU 生成非 IP トラフィックが voice クラスに割り当てられている。

    blank.gifCoS 3 のすべての CPU 生成非 IP トラフィックが video クラスに割り当てられている。

    blank.gifCoS 6 および 7 のすべての CPU 生成非 IP トラフィックが network-internetwork-control クラスに割り当てられている。

    blank.gifCoS 5 のすべての CFM トラフィックが voice クラスに割り当てられている。

    blank.gifCoS 3 のすべての CFM トラフィックが video クラスに割り当てられている。

    blank.gifCoS 6 および 7 のすべての CFM トラフィックが network-internetwork-control クラスに割り当てられている。

    テーブル マップ:

     
    Switch(config)# table-map dscp-to-cos
    Switch(config-tablemap)# map from 46 to 5
    Switch(config-tablemap)# map from 48 to 6
    Switch(config-tablemap)# map from 56 to 7
    Switch(config-tablemap)# map from af41 to 3
    Switch(config-tablemap)# map from af42 to 3
    Switch(config-tablemap)# map from af43 to 3
    Switch(config-tablemap)# default 0
    Switch(config-tablemap)# end

    CPU QoS:

     
    Switch(config)# cpu traffic qos cos dscp table-map dscp-to-cos
    Switch(config)# cpu traffic qos cos cos

    クラス:

     
    Switch(config)# class-map match-any video
    Switch(config-cmap)# match cos 3
    Switch(config-cmap)# exit
     
    Switch(config)# class-map match-any voice
    Switch(config-cmap)# match cos 5
    Switch(config-cmap)# exit
     
    Switch(config)# class-map match-any network-internetwork-control
    Switch(config-cmap)# match cos 6 7
    Switch(config-cmap)# exit

    ポリシー:

     
    Switch(config)# policy-map output-policy
    Switch(config-pmap)# class voice
    Switch(config-pmap-c)# priority
    Switch(config-pmap-c)# police cir 10000000
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class video
    Switch(config-pmap-c)# bandwidth percent 40
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class network-internetwork-control
    Switch(config-pmap-c)# bandwidth percent 10
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# bandwidth percent 30
    Switch(config-pmap-c)# exit

    インターフェイス

     
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy output output-policy
    Switch(config-pmap-c)# exit
     

    例 3

    次の例は、次の方法を示します。

    blank.gifパケットの DSCP 値に基づいて CPU 生成 IP トラフィック(IP-SLA および TWAMP を含む)の DSCP 値をマーキングする。

    blank.gifパケットの DSCP 値に基づいて CPU 生成 IP トラフィック(IP-SLA および TWAMP を含む)の CoS をマーキングする。

    blank.gifパケットの CoS 値に基づいて CPU 生成非 IP トラフィックの CoS をマーキングする。

    blank.gifQoS グループが付いたすべての CPU 生成トラフィックをマーキングする。

    blank.gifQoS グループに基づいて出力キューイングを設定する。

    この例の結果は次のとおりです。

    blank.gifDSCP 値が 46、48、および 56 のすべての CPU 生成 IP トラフィックでは、既存のマーキングが維持される。

    blank.gifその他のすべての CPU 生成 IP パケットについては、DSCP 値はゼロにリセットされる。

    blank.gifDSCP 値が 46、48、および 56 のすべての CPU 生成 IP トラフィックは、それぞれ対応する CoS 値 5、6、および 7 にマッピングされる。

    blank.gifその他のすべての CPU 生成 IP パケットについては、CoS 値はゼロにリセットされる。

    blank.gifCoS 値が 5、6、および 7 のすべての CPU 生成非 IP トラフィックでは、既存のマーキングが維持される。

    blank.gifその他のすべての CPU 生成非 IP パケットについては、CoS 値はゼロにリセットされる。

    blank.gifすべての CPU 生成トラフィックは、 cpu-traffic という 1 つのクラスを通過する。 user-voice クラスである user-voice および user-video は、ユーザトラフィック用に確保されています。その結果、CPU トラフィックおよびユーザ トラフィックは出力ポートのさまざまなキューに分割されています。

    テーブル マップ

     
    Switch(config)# table-map dscp-to-cos
    Switch(config-tablemap)# map from 46 to 5
    Switch(config-tablemap)# map from 48 to 6
    Switch(config-tablemap)# map from 56 to 7
    Switch(config-tablemap)# default 0
    Switch(config-tablemap)# end
     
    Switch(config)# table-map dscp-to-dscp
    Switch(config-tablemap)# map from 46 to 46
    Switch(config-tablemap)# map from 48 to 48
    Switch(config-tablemap)# map from 56 to 56
    Switch(config-tablemap)# default 0
    Switch(config-tablemap)# end
     
    Switch(config)# table-map cos-to-cos
    Switch(config-tablemap)# map from 5 to 5
    Switch(config-tablemap)# map from 6 to 6
    Switch(config-tablemap)# map from 7 to 7
    Switch(config-tablemap)# default 0
    Switch(config-tablemap)# end

    CPU QoS:

     
    Switch(config)# cpu traffic qos dscp dscp table-map dscp-to-dscp
    Switch(config)# cpu traffic qos cos dscp table dscp-to-cos
    Switch(config)# cpu traffic qos cos cos table cos-to-cos
    Switch(config)# cpu traffic qos qos-group 50

    クラス:

     
    Switch(config)# class-map match-any cpu-traffic
    Switch(config-cmap)# match qos-group 50
    Switch(config-cmap)# exit
     
    Switch(config)# class-map match-any user-video
    Switch(config-cmap)# match cos 3
    Switch(config-cmap)# exit
     
    Switch(config)# class-map match-any user-voice
    Switch(config-cmap)# match cos 5
    Switch(config-cmap)# exit
     
    ポリシー:
    Switch(config)# policy-map output-policy
    Switch(config-pmap)# class user-voice
    Switch(config-pmap-c)# priority
    Switch(config-pmap-c)# police cir 10000000
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class user-video
    Switch(config-pmap-c)# bandwidth percent 40
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class cpu-traffic
    Switch(config-pmap-c)# bandwidth percent 10
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class class-default
    Switch(config-pmap-c)# bandwidth percent 30
    Switch(config-pmap-c)# exit
     
    インターフェイス:
    Switch(config)# interface fastethernet0/1
    Switch(config-if)# service-policy output output-policy
    Switch(config-pmap-c)# exit
     

    QoS 情報の表示

    QoS 情報を表示するには、表 62 に示す特権 EXEC コマンドを 1 つまたは複数組み合わせて使用します。

     

    表 62 標準 QoS 情報を表示するためのコマンド

    コマンド
    目的

    show class-map [ class-map-name ]

    すべてのクラス マップまたは指定されたクラス マップの QoS クラスマップ情報を表示します。

    show policer aggregate [ aggregate-policer-name ]

    すべての集約ポリサーまたは指定された集約ポリサーの情報を表示します。

    show policy-map [ policy-map-name | interface [ interface-id ] [ input | output ] [ class class-name ]]

    指定されたポリシー マップ名、インターフェイス、入力/出力ポリシー マップ、またはポリシー マップ クラスの QoS ポリシー マップ情報を表示します。

    show cpu traffic qos

    CPU によって生成されたトラフィックの QoS マーキング値を表示します。

    show running-config

    設定済みのクラス マップ、ポリシー マップ、テーブル マップ、および集約ポリサーを表示します。

    show table-map [ table-map-name ]

    すべての設定済みテーブル マップまたは指定されたテーブル マップの情報を表示します。

    インターフェイス上の両方向で完全パス QoS をテストするには、 ethernet loopback facility インターフェイス コンフィギュレーション コマンドを入力してイーサネット ターミナル ループバックを設定できます。ターミナル ループバック モードでは、ポートは、リンクがアップに見える状態になりますが、実際はリンクはダウンになっており、パケットは送信されません。ポートの設定変更は、ループバックされているトラフィックに即座に影響を与えます。

    QoS 統計情報

    QoS 入力および出力ポリシー マップの統計情報を表示する方法は、いくつかあります。

    入力ポリシーマップの場合、 show policy-map interface [ interface-id ] 特権 EXEC コマンドを使用してクラス単位、ポリサー単位の適合および超過統計情報を表示できます。ポリサーの適合統計情報は設定済みポリサー プロファイルに適合するパケット数で、ポリサーの超過統計情報は設定済みポリサー プロファイルを超過したパケット数です。スイッチでは、クラス単位の分類統計情報をサポートしませんが、クラスの回線速度でポリシングを設定することによりこれらの統計情報を決定できます。この場合、設定済みポリサー プロファイルを超過するパケットはありません。また、ポリサーの適合統計情報はクラスの分類統計情報に等しくなります。

    またこの出力には、conform、exceed、および violate の各クラスのバイトレベルの統計情報が含まれています。

    入力 QoS 統計情報を表示する別の方法として、show platform qos statistics interface [ interface-id ] 特権 EXEC コマンドの出力があります。ポート単位のフレームの統計情報は、ポート上の着信フレームの DSCP 値および CoS 値でソートされています。これらの統計情報には、インターフェイス上で設定される MQC 入力ポリシー マップについての情報は含まれません。

    出力ポリシーマップの場合、 show policy-map interface [ interface-id ] コマンドを使用して、指定されたクラスに一致する合計パケット数を示すクラス単位の分類統計情報を表示できます。このカウントには、指定のクラスで送信および廃棄された合計パケット数も含まれます。クラス単位のテール ドロップ統計情報を表示する場合も、同じコマンドが使用できます。

    ポリシー マップの設定例

    ここでは、設定に関する注意事項および制限事項を含む Cisco IE スイッチ上での QoS ポリシーの設定例を示します。これらのセクションは、お客様が実行する可能性のあるさまざまな設定アクションに分かれています。各セクションには、設定または変更を成功させるために従う必要がある手順の正確な順序が記載されています。

    blank.gifカスタマー A の QoS 設定

    blank.gifカスタマー B の QoS 設定

    blank.gif出力ポリシーの変更および分類基準の追加と削除

    blank.gif出力ポリシーの変更およびキューイングまたはスケジューリング パラメータの変更

    blank.gif出力ポリシーの変更および設定済み動作の追加または削除

    blank.gif出力ポリシーの変更およびクラスの追加または削除

    カスタマー A の QoS 設定

    ここでは、カスタマー スイッチの初期設定および QoS ポリシーのアクティブ化の例を示します。入力および出力 QoS サービス ポリシーは、要件に基づいて設定され、関連ポートに付加されます。

    カスタマー A の初期設定では、ギガビット イーサネット ポート 1 ~ 2 は、ネットワーク ノード インターフェイス(NNI)で、デフォルトではイネーブルです。

    次に、初期設定の全体的な流れを示します。

    blank.gifクラスおよびポリシーを設定します。

    blank.gifすべてのアクティブ ポートをシャットダウンします。

    blank.gifアクティブ化されるようにポートにポリシーを付加します。

    blank.gifポートのシャットダウン ステートを終了します。

    blank.gif未使用のポートはシャットダウンのままにします。

    出力ポリシーを設定する際の制限事項は、次のとおりです。

    blank.gif出力ポリシー マップでは、最大 3 つのクラスを定義できます。

    blank.gif定義されたクラスは、他の出力ポリシー マップと同一でなければなりません。

    blank.gif各出力ポリシーマップで定義されるクラス数は、同じである必要があります。

    blank.gifクラスごとに動作を割り当てる必要があります。つまり、空のクラスはありません。

    blank.gif各クラス設定は、入力ポリシー マップで実行された分類/マーキングに基づいている必要があります。

    次に、入力サービス ポリシーのクラスを設定し、3 つの サービス クラス(gold、silver、bronze)を定義する例を示します。 match-all 分類(デフォルト)には単一の分類基準しかないため、 match-any 分類を使用して将来的に分類基準を追加できるようにします。

    Switch# config terminal
    Switch(config)# class-map match-any gold-in
    Switch(config-cmap)# match ip dscp af11
    Switch(config-cmap)# exit
    Switch(config)# class-map match-any silver-in
    Switch(config-cmap)# match ip dscp af21
    Switch(config-cmap)# exit
    Switch(config)# class-map match-any bronze-in
    Switch(config-cmap)# match ip dscp af31
    Switch(config-cmap)# exit
     

    次に、gold クラスをマーキングして、silver クラスを 50 Mb/s に、bronze クラスを 20 Mb/s にポリシングする入力ポリシー マップを設定する例を示します。

    Switch(config)# policy-map input-all
    Switch(config-pmap)# class gold-in
    Switch(config-pmap-c)# set ip dscp af43
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class silver-in
    Switch(config-pmap-c)# police 50000000
    Switch(config-pmap)# class bronze-in
    Switch(config-pmap-c)# police 20000000
    Switch(config-pmap-c)# exit
     

    次に、3 つの サービス クラス(gold、silver、bronze)を備えた出力サービス ポリシーのクラスを設定する例を示します。gold クラスは、入力サービス ポリシーでマーキングされた値を照合するように設定されます。 match-all 分類(デフォルト)には単一の分類基準しかないため、 match-any 分類を使用して将来的に分類基準を追加できるようにします。

    Switch# config terminal
    Switch(config)# class-map match-any gold-out
    Switch(config-cmap)# match ip dscp af43
    Switch(config-cmap)# exit
    Switch(config)# class-map match-any silver-out
    Switch(config-cmap)# match ip dscp af21
    Switch(config-cmap)# exit
    Switch(config)# class-map match-any bronze-out
    Switch(config-cmap)# match ip dscp af31
    Switch(config-cmap)# exit
     

    次に、両方のギガビット イーサネット NNI に適用され、gold クラスへのレート制限があるプライオリティ、silver クラスへのクラスベース シェーピング、および bronze クラスへの 10% の最小帯域幅保証を割り当てる例を示します。

    Switch(config)# policy-map output-g1-2
    Switch(config-pmap)# class gold-out
    Switch(config-pmap-c)# priority
    Switch(config-pmap-c)# police 50000000
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class silver-out
    Switch(config-pmap-c)# shape average 200000
    Switch(config-pmap-c)# exit
    Switch(config-pmap)# class bronze-out
    Switch(config-pmap-c)# bandwidth percent 10
    Switch(config-pmap-c)# exit
     
     

    次に、ギガビット イーサネット ポートに入力および出力サービス ポリシーを付加して、アクティブ化する例を示します。

    Switch(config)# interface range GigabitEthernet1/17-18
    Switch(config-if-range)# service-policy input input-all
    Switch(config-if-range)# service-policy output output-g1-2
    Switch(config-if-range)# no shutdown
    Switch(config-if-range)# exit

    カスタマー B の QoS 設定

    このセクションでは、現在のカスタマーに影響を与えずに一連の新しいカスタマーにスイッチ上で QoS ポリシーを設定してアクティブ化する例を示します。入力および出力 QoS サービス ポリシーは、要件に基づいて設定され、関連ポートに付加されます。この例では、既存の入力ポリシー マップを使用し、新しいカスタマーには新しい出力ポリシー マップを設定します。

    カスタマー B の初期設定では、ギガビット イーサネット ポート 1 ~ 2 は、NNI で、デフォルトではイネーブルです。

    次に、初期設定の全体的な流れを示します。

    blank.gif新しく必要になったすべての出力ポリシーを定義します。

    blank.gifアクティブ化されたポートに入力および出力ポリシーを付加します。

    blank.gifポートのシャットダウン ステートを終了します。

    出力ポリシーを設定する際の制限事項は、次のとおりです。

    blank.gif出力ポリシー マップでは、最大 3 つのクラスを定義できます。

    blank.gif定義されたクラスは、他の出力ポリシー マップと同一でなければなりません。

    blank.gif各出力ポリシーマップで定義されるクラス数は、同じである必要があります。

    blank.gifクラスごとに動作を割り当てる必要があります。つまり、空のクラスはありません。

    blank.gif各クラス設定は、入力ポリシー マップで実行された分類/マーキングに基づいている必要があります。

    出力ポリシーの変更および分類基準の追加と削除

    ここでは、既存の一連の出力ポリシー マップを更新して、分類基準を追加または削除する例を示します。サービス プロビジョニング要件または入力サービス ポリシー マップでの変更により、修正が必要となる場合があります。いずれのポートもシャットダウンすることなく、変更できます。

    初期設定では、ギガビット イーサネット ポート 1 ~ 2 は、NNI で、デフォルトではイネーブルです。

    次に、初期設定の全体的な流れを示します。

    blank.gif入力サービス ポリシーの設定済みクラス マップを変更します。

    blank.gif出力サービス ポリシーの設定済みクラス マップを変更します。

    次に、silver-in クラスに分類基準を追加して、入力サービス ポリシーのクラスを変更し、dscp cs5 も照合する例を示します。これは、dscp cs5 を照合する出力ポリシー マップで必要となります。

    Switch(config)# class-map match-any silver-in
    Switch(config-cmap)# match ip dscp af21
    Switch(config-cmap)# match ip dscp cs5
    Switch(config-cmap)# exit
     

    次に、silver-out クラスに分類基準を追加して、出力サービス ポリシーのクラスを変更し、dscp cs5 も照合する例を示します。これにより、すべての設定済みおよび付加済み出力サービス ポリシーで dscp cs5 が silver-out クラスに追加されます。これで dscp cs5 フローが、silver-out クラスと同じキューイングおよびスケジューリング処理を受信します。

    Switch# config terminal
    Switch(config)# class-map match-any silver-out
    Switch(config-cmap)# match ip dscp af21
    Switch(config-cmap)# match ip dscp cs5
    Switch(config-cmap)# exit
     

    設定されたクラスに関連付けられた match 文を削除する場合は、同じ手順を使用する必要があります。

    出力ポリシーの変更およびキューイングまたはスケジューリング パラメータの変更

    ここでは、既存の一連の出力ポリシー マップを更新して、設定済みのキューイングおよびスケジューリング アクションのパラメータを変更する例を示します。サービス プロビジョニング要件での変更により、出力ポリシー マップでの修正が必要となる場合があります。いずれのポートもシャットダウンすることなく、変更できます。

    初期設定では、ギガビット イーサネット ポート 1 ~ 2 は、NNI で、デフォルトではイネーブルです。

    要件は、アクション パラメータを変更することです。

    出力ポリシーを設定する際の制限事項は、次のとおりです。

    blank.gif出力ポリシー マップでは、最大 3 つのクラスを定義できます。

    blank.gif定義されたクラスは、他の出力ポリシー マップと同一でなければなりません。

    blank.gif各出力ポリシーマップで定義されるクラス数は、同じである必要があります。

    blank.gifクラスごとに動作を割り当てる必要があります。つまり、空のクラスはありません。

    blank.gif各クラス設定は、入力ポリシー マップで実行された分類またはマーキングに基づいている必要があります。

    出力ポリシーの変更および設定済み動作の追加または削除

    ここでは、既存の一連の出力ポリシー マップを更新して、キューイングおよびスケジューリング動作を追加または削除する例を示します。サービス プロビジョニング要件での変更により、出力ポリシー マップでの修正が必要となる場合があります。変更される出力ポリシー マップが設定されていないポートをシャットダウンしないで、変更できます。ただし、出力ポリシー マップが設定されているポートは、シャットダウンする必要があります。この出力ポリシー マップを使用しないカスタマーは、影響を受けません。

    初期設定では、ギガビット イーサネット ポート 1 ~ 2 は、NNI で、デフォルトではイネーブルです。

    次に、設定の全体的な流れを示します。

    blank.gif変更されるポリシーを伝搬するすべてのアクティブ ポートをシャットダウンします。

    blank.gif出力ポリシーが付加されているすべてのポートから、ポリシーを消去します。

    blank.gif出力ポリシーを変更します。

    blank.gif該当するポートに、出力ポリシーを再度付加します。

    blank.gifポートのシャットダウン ステートを終了します。

    出力ポリシーを設定する際の制限事項は、次のとおりです。

    blank.gif出力ポリシー マップでは、最大 3 つのクラスを定義できます。

    blank.gif定義されたクラスは、他の出力ポリシー マップと同一でなければなりません。

    blank.gif各出力ポリシーマップで定義されるクラス数は、同じである必要があります。

    blank.gifクラスごとに動作を割り当てる必要があります。つまり、空のクラスはありません。

    blank.gif各クラス設定は、入力ポリシー マップで実行された分類/マーキングに基づいている必要があります。

    次の手順では、出力ポリシーを伝搬するポートすべて(この場合は、ギガビット イーサネット ポートだけ)がシャットダウンされます。

    Switch(config)# interface range GigabitEthernet1/17-18
    Switch(config-if-range)# shutdown
    Switch(config-if-range)# exit
     

    次の手順では、変更される出力ポリシー(この場合は、ギガビット イーサネット ポートに設定されたポリシー)が削除されます。

    Switch(config)# interface range GigabitEthernet1/17-18
    Switch(config-if-range)# no service-policy output output-g1-2
    Switch(config-if-range)# exit
     

    次の手順では、ギガビット イーサネット NNI を処理する出力サービス ポリシーが変更されます。ポリシーは、bronze クラスに最小帯域幅保証の 10% を割り当てる代わりに、クラスベース シェーピングに 100000 bps を割り当てるように変更されます。

    Switch(config)# policy-map output-g1-2
    Switch(config-pmap)# class bronze-out
    Switch(config-pmap-c)# no bandwidth percent 10
    Switch(config-pmap-c)# shape average 100000
    Switch(config-pmap-c)# exit
     

    次の手順では、出力ポリシーがギガビット イーサネットポートに再度付加されます。

    Switch(config)# interface range GigabitEthernet1/17-18
    Switch(config-if-range)# service-policy output output9-12
    Switch(config-if-range)# exit
     

    次の手順では、すべてのギガビット イーサネット ポートがアクティブ化されます。

    Switch(config)# interface range GigabitEthernet1/17-18
    Switch(config-if-range)# no shutdown
    Switch(config-if-range)# exit

    出力ポリシーの変更およびクラスの追加または削除

    ここでは、既存の一連の出力ポリシー マップを更新して、すべてのクラスを追加または削除する例を示します。サービス プロビジョニング要件または入力サービス ポリシーでの変更により、出力ポリシー マップでの修正が必要となる場合があります。この変更を行うには、スイッチ上のすべてのアクティブ ポートをシャットダウンする必要があります。任意の出力ポリシー マップに対するこの種の更新は、すべてのカスタマーに影響を及ぼす場合があります。これを回避するため、出力サービス ポリシーでクラスを設定する場合は将来的に可能性のある更新について考慮することを推奨します。

    初期設定では、ギガビット イーサネット ポート 1 ~ 2 は、NNI で、デフォルトではイネーブルです。

    次に、設定の全体的な流れを示します。

    blank.gifすべてのアクティブ ポートをシャットダウンします。

    blank.gifすべてのイーサネットポートから出力ポリシーを消去します。

    blank.gifクラスを削除します。

    blank.gifイーサネットポートに出力ポリシーを再度付加します。

    blank.gifイーサネットポートのシャットダウンステートを終了します。

    次の手順では、すべてのアクティブで適用可能なイーサネットポートをシャットダウンします。

    Switch(config)# interface range GigabitEthernet1/17-18
    Switch(config-if-range)# shutdown
    Switch(config-if-range)# exit
     

    次の手順では、影響を受けるイーサネットポートからすべての出力ポリシーを消去します。

    Switch(config)# interface range GigabitEthernet1/17-18
    Switch(config-if-range)# no service-policy output output-g1-2
    Switch(config-if-range)# exit
     

    次の手順では、すべての出力ポリシー マップおよび入力ポリシー マップからクラスを削除します。入力ポリシーは付加したままでも、消去してもかまいません。

    Switch(config)# policy-map output1-8
    Switch(config-pmap)# no class bronze-out
    Switch(config-pmap-c)# exit
    Switch(config)# policy-map output9-12
    Switch(config-pmap)# no class bronze-out
    Switch(config-pmap-c)# exit
    Switch(config)# policy-map output-g1-2
    Switch(config-pmap)# no class bronze-out
    Switch(config-pmap-c)# exit
    Switch(config)# policy-map input-all
    Switch(config-pmap)# no class bronze-in
    Switch(config-pmap-c)# exit
     

    イーサネットポートにすべてのポリシーを再度付加します。

    Switch(config)# interface range GigabitEthernet1/17-18
    Switch(config-if-range)# service-policy output output9-12
    Switch(config-if-range)# exit
     

    次の手順では、すべての適用可能なイーサネットポートをアクティブ化します。

    Switch(config)# interface range GigabitEthernet1/17-18
    Switch(config-if-range)# no shutdown
    Switch(config-if-range)# exit
     

    付加された出力サービス ポリシーにクラスを追加する場合は、同じ手順を使用する必要があります。

    注: 前述の順序に従わない場合は、問題が発生する可能性があります。

    インターフェイスにポリシーマップを付加する場合、ポリシーマップ内の設定済みのクラスマップに明示的に一致しないすべてのトラフィックは、デフォルトキュー(クラス class-default )を通過します。ただし、場合によっては、出力ポリシー マップに明示的に一致しないトラフィックが複数のキューを通過する場合があります。このようなキューイング問題は、前述の手順に従わない場合、およびすべてのアクティブ ポートに出力ポリシーが付加されていない場合に発生する可能性があります。