Cisco IOS サービス品質(QoS)ソリューション コ ンフィギュレーション ガイド
MQC を使用した QoS 機能の適用
MQC を使用した QoS 機能の適用
発行日;2012/02/01 | 英語版ドキュメント(2011/04/29 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 8MB) | フィードバック

目次

MQC を使用した QoS 機能の適用

目次

MQC を使用した QoS 機能の適用に対する制約事項

MQC を使用した QoS 機能の適用に関する情報

MQC 構造

トラフィック クラスの要素

トラフィック ポリシーの要素

ネストしたトラフィック クラス

MQC を使用して QoS 機能を適用することの利点

MQC を使用した QoS 機能の適用方法

トラフィック クラスの作成

class-map コマンドの match-all キーワードと match-any キーワード

トラフィック ポリシーの作成

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

service-policy コマンドの input および output キーワード

制約事項

トラフィック クラスとトラフィック ポリシー情報の確認

MQC を使用した QoS 機能の適用の設定例

トラフィック クラスの作成例

トラフィック ポリシーの作成例

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

match not コマンドの例

デフォルト トラフィック クラスの設定例

class-map match-any および class-map match-all コマンドの例

一致条件としてのトラフィック クラス(ネストしたトラフィック クラス)の例

メンテナンスのためのネストしたトラフィック クラスの例

match-any 特性と match-all 特性を 1 つのトラフィック クラスで組み合わせるためのネストしたトラフィック クラスの例

QoS ポリシーとしてのトラフィック ポリシー(階層型トラフィック ポリシー)の例

その他の関連資料

関連資料

シスコのテクニカル サポート

MQC を使用した QoS 機能の適用の機能情報

MQC を使用した QoS 機能の適用

このモジュールでは、Modular Quality of Service(QoS)Command-Line interface(CLI; コマンドライン インターフェイス)(MQC; モジュラ QoS コマンドライン インターフェイス)を使用した QoS 機能の適用に関する概念と、MQC の設定作業について説明します。MQC を使用すると、トラフィック クラスの定義、トラフィック ポリシー(ポリシー マップ)の作成、およびインターフェイスへのトラフィック ポリシーの適用が可能になります。トラフィック ポリシーには、トラフィック クラスに適用する QoS 機能が含まれます。

この章で紹介する機能情報の入手方法

ご使用の Cisco OS ソフトウェア リリースでは、このモジュールで説明されるすべての機能がサポートされているとは限りません。最新の機能情報と注意事項については、ご使用のプラットフォームとソフトウェア リリースに対応したリリース ノートを参照してください。この章に記載されている特定の機能に関する説明へのリンク、および各機能がサポートされているリリースのリストについては、「MQC を使用した QoS 機能の適用の機能情報」 を参照してください。

プラットフォームと Cisco IOS および Catalyst OS ソフトウェア イメージのサポート情報の検索

Cisco Feature Navigator を使用すると、プラットフォーム、Cisco IOS ソフトウェア イメージ、および Cisco Catalyst OS ソフトウェア イメージの各サポート情報を検索できます。Cisco Feature Navigator には、 http://www.cisco.com/go/cfn からアクセスします。Cisco.com のアカウントは必要ありません。

MQC を使用した QoS 機能の適用に対する制約事項

IPX パケット

MQC では、Internetwork Packet Exchange(IPX)パケットはサポートされていません。

サポートされる QoS クラス マップの数

1 つのポリシー マップでサポートされる QoS クラス マップの数は、次のようにリリースによって異なります。

Cisco IOS XE Release 2.1 および Cisco IOS XE Release 2.2 では、1 つのポリシー マップで最大 8 個のクラス マップがサポートされます。

Cisco IOS Release 12.4T、Cisco IOS Release 12.2 SR、および Cisco IOS XE Release 2.3 では、1 つのポリシー マップで最大 256 個のクラス マップがサポートされます。

サポートされる QoS ポリシー マップの数

1 台のルータでサポートされる QoS クラス マップの数は、次のようにリリースによって異なります。

Cisco IOS XE Release 2.1 および Cisco IOS XE Release 2.2 では、1 台のルータの受信(入力)方向、送信(出力)方向、または両方の組み合わせで、最大 1000 個のポリシー マップがサポートされます。

Cisco IOS Release 12.4T、Cisco IOS Release 12.2 SR、および Cisco IOS XE Release 2.3 では、1 台のルータの受信(入力)方向、送信(出力)方向、または両方の組み合わせで、最大 4000 個のポリシー マップがサポートされます。

QoS ポリシー マップとセッション

セッションを作成し QoS ポリシー マップを入力方向と出力方向の両方に適用した場合、サポートされるセッションは 2000 個です。この制限を超えたセッションも作成できますが、そのセッションには QoS ポリシー マップが適用されません。

MQC を使用した QoS 機能の適用に関する情報

MQC を使用して QoS 機能を適用する前に、次の概念について理解しておく必要があります。

「MQC 構造」

「トラフィック クラスの要素」

「トラフィック ポリシーの要素」

「ネストしたトラフィック クラス」

「MQC を使用して QoS 機能を適用することの利点」

MQC 構造

MQC 構造を使用すると、トラフィック クラスの定義、トラフィック ポリシーの作成、およびインターフェイスへのトラフィック ポリシーの適用が可能になります。

MQC の構造は、大きく次の 3 つの手順からなります。


ステップ 1 class-map コマンドを使用してトラフィック クラスを定義します。トラフィック クラスは、トラフィックを分類するために使用します。

ステップ 2 policy-map コマンドを使用してトラフィック ポリシーを作成します ( トラフィック ポリシー という用語と ポリシー マップ という用語は、多くの場合同じ意味で使用されます)。1 つのトラフィック ポリシー(ポリシー マップ)には、1 つのトラフィック クラスと、トラフィック クラスに適用する 1 つ以上の QoS 機能が含まれます。トラフィック ポリシー内の QoS 機能によって、分類されたトラフィックの処理方法が決まります。

ステップ 3 service-policy コマンドを使用して、トラフィック ポリシー(ポリシー マップ)をインターフェイスに適用します。


 

トラフィック クラスの要素

トラフィック クラスに含まれる 3 つの主な要素は、トラフィック クラス名、一連の match コマンド、トラフィック クラスで複数の match コマンドが使用される場合に match コマンドを評価する方法です。

match コマンドは、パケットを分類するために使用します。パケットがチェックされ、 match コマンドで指定された条件を満たすかどうかが判断されます。パケットが指定された条件を満たしている場合、パケットはそのクラスのメンバーと見なされます。一致条件を満たしていないパケットは、デフォルト トラフィック クラスのメンバーとして分類されます。

使用可能は match コマンド

表 1 に、MQC で使用可能な match コマンドの一部を示します。使用可能な match コマンドは、Cisco IOS リリースとプラットフォームによって異なります。コマンドとコマンド構文の詳細については、使用している Cisco IOS リリースとプラットフォームのコマンド リファレンスを参照してください。

 

表 1 MQC で使用できる match コマンド

コマンド
目的

match access-group

指定した Access Control List(ACL; アクセス コントロール リスト)に基づいて、クラス マップの一致条件を設定します。

match any

すべてのパケットに対して適切に一致する基準となる、クラス マップの一致基準を設定します。

match class-map

一致条件として使用するトラフィック クラスの名前を指定します(トラフィック クラスを互いにネストさせるため [ネストしたクラス マップ])。

match cos

レイヤ 2 Class of Service(CoS; サービス クラス)マーキングに基づいてパケットを照合します。

match destination-address mac

宛先 MAC アドレスを一致条件として使用します。

match discard-class

特定の廃棄クラスのパケットを照合します。

match [ ip ] dscp

特定の IP Differentiated Service Code Point(DSCP; DiffServ コード ポイント)値を一致条件として識別します。1 つの一致文に最大 8 個の DSCP 値を含めることができます。

match field

Protocol Header Description File(PHDF)で定義されているフィールドに基づいて、クラス マップの一致条件を設定します。

match fr-dlci

フレームリレー Data-Link Connection Identifier(DLCI; データリンク接続識別子)番号をクラス マップ内の一致条件として指定します。

match input-interface

指定された入力インターフェイスを一致基準として使用するクラス マップを設定します。

match ip rtp

Real-Time Transport Protocol(RTP)ポートを一致条件として使用するようにクラス マップを設定します。

match mpls experimental

Multiprotocol Label Switching(MPLS; マルチプロトコル ラベル スイッチング)の experimental(EXP)フィールドを一致条件として使用するようにクラス マップを設定します。

match mpls experimental topmost

最上位ラベル内の MPLS EXP 値を照合します。

match not

成功しない一致条件として使用する、1 つの一致条件値を指定します。

コマンドを実行した場合、QoS グループ 6 が、成功する一致条件と見なされない唯一の QoS グループ値になります。その他すべての QoS グループ値は、成功する一致条件となります。

match packet length

IP ヘッダー中のレイヤ 3 パケット長をクラス マップ中の一致条件として指定します。

match port-type

トラフィックを、クラス マップのポート タイプに基づいて照合します。

match [ ip ] precedence

IP precedence 値を一致条件として識別します。

match protocol

指定されたプロトコルを基づいて、クラス マップの一致基準を設定します。

(NBAR) コマンドがあります。

match protocol citrix

Citrix トラフィックを照合するように NBAR を設定します。

match protocol fasttrack

FastTrack ピアツーピア トラフィックを照合するように NBAR を設定します。

match protocol gnutella

Gnutella ピアツーピア トラフィックを照合するように NBAR を設定します。

match protocol http

URL、ホスト、Multipurpose Internet Mail Extension(MIME; 多目的インターネット メール拡張)タイプ、HTTP パケット ヘッダー内のフィールドによって Hypertext Transfer Protocol(HTTP; ハイパーテキスト転送プロトコル)トラフィックを照合するように NBAR を設定します。

match protocol rtp

Real-Time Transport Protocol(RTP)トラフィックを照合するように NBAR を設定します。

match qos-group

特定の QoS グループ値を一致条件として識別します。

match source-address mac

送信元 MAC アドレスを一致条件として使用します。

match start

データグラム ヘッダー(レイヤ 2)またはネットワーク ヘッダー(レイヤ 3)に基づいてクラス マップの一致条件を設定します。

match tag

一致条件としてタグ タイプを指定します。

1 つのトラフィック クラスでの複数の match コマンド

トラフィック クラスに複数の match コマンドが含まれている場合、 match コマンドの評価方法を指定する必要があります。これは、 class-map コマンドの match-any キーワードまたは match-all キーワードを使用して指定します。 match-any キーワードと match-all キーワードついては、次の点に注意してください。

match-any キーワードを指定した場合、トラフィック クラスによって評価されるトラフィックは、指定した条件の いずれか に一致する必要があります。

match-all キーワードを指定した場合、トラフィック クラスによって評価されるトラフィックは、指定した条件の すべて に一致する必要があります。

どちらのキーワードも指定しなかった場合、トラフィック クラスによって評価されるトラフィックは、指定した条件の すべて に一致する必要があります(つまり、 match-all キーワードの動作が使用されます)。

トラフィック ポリシーの要素

トラフィック ポリシーには、トラフィック ポリシー名、トラフィック クラス( class コマンドで指定します)、QoS 機能をイネーブルにするために使用するコマンドの、3 つの要素が含まれています。

ポリシー マップをインターフェイスに適用すると( service-policy コマンドを使用します)、トラフィック ポリシー(ポリシー マップ)は、イネーブルにした QoS 機能をトラフィック クラスに適用します。


) パケットは、トラフィック ポリシー内のいずれかのトラフィック クラスだけに一致します。パケットがトラフィック ポリシー内の複数のトラフィック クラスに一致する場合、ポリシーで定義されている最初のトラフィック クラスが使用されます。


QoS 機能をイネーブルにするために使用するコマンド

QoS 機能をイネーブルにするために使用するコマンドは、Cisco IOS リリースとプラットフォームによって異なります。 表 2 に、使用可能なコマンドとそれによってイネーブルになる QoS 機能の一部を示します。完全なコマンド構文については、使用している Cisco IOS リリースとプラットフォームのコマンド リファレンスを参照してください。

イネーブルにする特定の QoS 機能の詳細については、『 Cisco IOS サービス品質(QoS)ソリューション コンフィギュレーション ガイド 』の適切なモジュールを参照してください。

 

表 2 QoS 機能をイネーブルにするために使用するコマンド

コマンド
目的

bandwidth

Class-Based Weighted Fair Queuing(CBWFQ)をイネーブルにします。

fair-queue

トラフィック クラス用に予約するキューの数を指定します。

drop

指定したトラフィック クラスのパケットを廃棄します。

identity policy

アイデンティティ ポリシーを作成します。

police

トラフィック ポリシングを設定します。

police (control-plane)

コントロール プレーン宛のトラフィックに対するトラフィック ポリシングを設定します。

police (EtherSwitch)

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

police (percent)

インターフェイスで使用可能な帯域幅のパーセンテージに基づくトラフィック ポリシングを設定します。

police (two rates)

Committed information rate(CIR; 認定情報レート)と Peak Information Rate(PIR; 最大情報レート)の 2 つのレートを使用したトラフィック ポリシングを設定します。

police rate pdp

ポリシング レートを使用した Packet Data Protocol(PDP)トラフィック ポリシングを設定します。

(注) このコマンドは、Gateway General Packet Radio Service(GPRS)Support Node(GGSN; ゲートウェイ GPRS サポート ノード)で使用することを目的としています。

priority

ポリシー マップに属するトラフィックのクラスを優先します。

queue-limit

ポリシー マップで設定されているクラスに対してキューが保持できるパケットの最大数を指定または変更します。

random-detect

Weighted Random Early Detection(WRED)または Distributed WRED(DWRED)をイネーブルにします。

random-detect discard-class

ポリシー マップ内のクラスの discard-class 値に対し、WRED パラメータを設定します。

random-detect discard-class-based

パケットの廃棄クラス値に基づく WRED を設定します。

random-detect ecn

Explicit Congestion Notification(ECN; 明示的輻輳通知)をイネーブルにします。

random-detect exponential-weighting-constant

クラス用に予約されたキューの平均キュー サイズ計算用の指数加重係数を設定します。

random-detect precedence

ポリシー マップ内のクラス ポリシーに対する、特定の IP precedence の WRED パラメータを設定します。

service-policy

一致条件として使用するトラフィック ポリシーの名前を指定します(トラフィック ポリシーを互いにネストさせるため [階層型トラフィック ポリシー])。

set atm-clp

ポリシー マップを設定するときの Cell Loss Priority(CLP; セル損失率優先度)ビットを設定します。

set cos

送信パケットのレイヤ 2 Class of Service(CoS; サービス クラス)値を設定します。

set discard-class

discard-class 値でパケットをマークします。

set [ ip ] dscp

Type of Service(ToS; サービス タイプ)バイト内の Differentiated Services Code Point(DSCP)値を設定することでパケットをマークします。

set fr-de

インターフェイスから送信されるすべてのトラフィックに対し、フレームリレー フレームのアドレス フィールドの Discard Eligible(DE; 廃棄適性)ビット設定を 1 に変更します。

set mpls experimental

パケットが指定したポリシー マップに一致する場合に MPLS ビットを設定する値を指定します。

set precedence

パケット ヘッダー内の優先度の値を設定します。

set qos-group

後でパケットを分類するために使用できる QoS group identifier(ID)を設定します。

shape

指定したアルゴリズムに従って、指示されたビット レートまでトラフィックをシェーピングします。

shape adaptive

トラフィック シェーピングがイネーブルのときに、Backward Explicit Congestion Notification(BECN; 逆方向明示的輻輳通知)統合によって使用可能な帯域幅を予測するために、フレームリレー インターフェイスまたはポイントツーポイント サブインターフェイスを設定します。

shape fecn-adapt

受信した Forward Explicit Congestion Notification(FECN; 順方向明示的輻輳通知)ビットを Q.922 テスト応答メッセージ中の逆方向明示的輻輳通知(BECN)ビットとして反映するようにフレームリレー インターフェイスを設定します。

ネストしたトラフィック クラス

MQC では、必ずしも 1 つのトラフィック クラスだけを 1 つのトラフィック ポリシーに関連付ける必要はありません。パケットが複数の一致条件を満たす場合、複数のトラフィック クラスを 1 つのトラフィック ポリシーに関連付けることができます。

同様に、複数のトラフィック クラス(ネストしたトラフィック クラス。ネストしたクラス マップとも呼びます)を、1 つのトラフィック クラスとして設定できます。このネストを実現するには、 match class-map コマンドを使用します。1 つのトラフィック クラスで match-any 特性と match-all 特性を組み合わせる唯一の方法は、 match class-map コマンドを使用することです。

ネストしたトラフィック クラスの設定例については、「一致条件としてのトラフィック クラス(ネストしたトラフィック クラス)の例」を参照してください。

MQC を使用して QoS 機能を適用することの利点

MQC 構造では、一度トラフィック ポリシー(ポリシー マップ)を作成すると、必要な数のトラフィック クラスに適用できます。また、トラフィック ポリシーを必要な数のインターフェイスに適用できます。

MQC を使用した QoS 機能の適用方法

MQC を使用して QoS 機能を適用するには、次の手順を実行します。

トラフィック クラスの作成(必須)

トラフィック ポリシーの作成(必須)

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

トラフィック クラスとトラフィック ポリシー情報の確認(任意)

トラフィック クラスの作成

トラフィック クラスを作成するには、 class-map コマンドを使用してトラフィック クラス名を指定します。次に、1 つ以上の match コマンドを使用して、適切な一致条件を指定します。指定した条件に一致するパケットがトラフィック クラスに分類されます。

トラフィック クラスを作成するには、次の手順を実行します。


match cos コマンドは、ステップ 4 に示します。match cos コマンドは、使用できる match コマンドの 1 つの例に過ぎません。使用可能な他の match コマンドについては、表 1 を参照してください。


class-map コマンドの match-all キーワードと match-any キーワード

トラフィック クラスを作成するときに使用する 1 つのコマンドが、 class-map コマンドです。 class-map コマンドのコマンド構文には、2 つのキーワード match-all match-any が含まれています。 match-all キーワードと match-any キーワードの指定が必要になるのは、トラフィック クラスで複数の一致条件が設定されている場合だけです。これらのキーワードについて、次の点に注意してください。

match-all キーワードは、パケットを指定したトラフィック クラスに分類するために、トラフィック クラス内の すべての 一致条件が一致する必要がある場合に使用します。

match-any キーワードは、パケットを指定したトラフィック クラスに分類するために、トラフィック クラス内の いずれかの 一致条件だけが一致する必要がある場合に使用します。

match-all キーワードも match-any キーワードも指定しない場合、トラフィック クラスの動作は、 match-all キーワードを指定した場合と同じになります。

手順の概要

1. enable

2. configure terminal

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

4 . match cos cos-number

5. 必要に応じて追加の match コマンドを入力します。追加のコマンドが不要な場合はステップ 6 に進みます。

6. end

手順の詳細

コマンドまたはアクション
目的

ステップ 1

enable

 

Router> enable

特権 EXEC モードをイネーブルにします。

プロンプトが表示されたら、パスワードを入力します。

ステップ 2

configure terminal

 

Router# configure terminal

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

ステップ 3

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

 

Router(config)# class-map match-any class1

クラス マップで使用するクラスを作成し、クラス マップ コンフィギュレーション モードを開始します。クラス マップは、パケットを指定したクラスに照合するために使用します。

クラス名を入力します。

コマンドを指定する場合にだけ使用します。

ステップ 4

match cos cos-number

 

Router(config-cmap)# match cos 2

レイヤ 2 サービスクラス(CoS)番号に基づいてパケットを照合します。

CoS 番号を入力します。

コマンドについては、表 1 を参照してください。

ステップ 5

必要に応じて追加の match コマンドを入力します。追加のコマンドが不要な場合は ステップ 6 に進みます。

--

ステップ 6

end

 

Router(config-cmap)# end

(任意)クラスマップ コンフィギュレーション モードを終了し、特権 EXEC モードに戻ります。

トラフィック ポリシーの作成

トラフィック ポリシー(ポリシー マップ)を作成し、1 つ以上の QoS 機能をイネーブルにするには、次の手順を実行します。


bandwidth コマンドは、ステップ 5 に示します。bandwidth コマンドは、QoS 機能(ここでは CBWFQ)をイネーブルにするためにポリシー マップで使用できるコマンドの 1 つの例に過ぎません。使用可能な他のコマンドについては、表 2 を参照してください。


手順の概要

1. enable

2. configure terminal

3. policy-map policy-map-name

4. class { class-name | class-default }

5 . bandwidth { bandwidth-kbps | percent percent }

6. イネーブルにする追加の QoS 機能に対するコマンドを入力します。他に QoS 機能が必要ない場合は、ステップ 7 に進みます。

7. end

手順の詳細

コマンドまたはアクション
目的

ステップ 1

enable

 

Router> enable

特権 EXEC モードをイネーブルにします。

プロンプトが表示されたら、パスワードを入力します。

ステップ 2

configure terminal

 

Router# configure terminal

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

ステップ 3

policy-map policy-map-name

 

Router(config)# policy-map policy1

トラフィック ポリシーの名前を作成または指定し、ポリシー マップ コンフィギュレーション モードを開始します。

ポリシー マップ名を入力します。

ステップ 4

class { class-name | class-default }

 

Router(config-pmap)# class class1

トラフィック クラスの名前を指定し、ポリシー マップ クラス コンフィギュレーション モードを開始します。

「トラフィック クラスの作成」で作成したクラス名を入力します。

(注) この手順により、トラフィック クラスがトラフィック ポリシーに関連付けられます。

ステップ 5

bandwidth { bandwidth-kbps | percent percent }

 

Router(config-pmap-c)# bandwidth 3000

(任意)トラフィック クラスに対する輻輳期間中の最小帯域幅保証を指定します。最小帯域幅保証は、kbps 単位か、使用可能な全帯域幅のパーセンテージで指定します。

コマンドは、QoS 機能をイネーブルにするためにポリシー マップで使用できるコマンドの 1 つの例に過ぎません。使用可能な他のコマンドについては、表 2 を参照してください。

ステップ 6

イネーブルにする追加の QoS 機能に対するコマンドを入力します。他に QoS 機能が必要ない場合は、ステップ 7 に進みます。

--

ステップ 7

end

 

Router(config-pmap-c)# end

(任意)ポリシー マップ クラス コンフィギュレーション モードを終了し、特権 EXEC モードに戻ります。

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

ポリシー マップをインターフェイスに適用すると( service-policy コマンドを使用します)、トラフィック ポリシー(ポリシー マップ)は、イネーブルにした QoS 機能をトラフィック クラスに適用します。

使用しているプラットフォームと Cisco IOS リリースによっては、トラフィック ポリシーを ATM Permanent Virtual Circuit(PVC; 相手先固定接続)サブインターフェイス、フレームリレー データリンク接続識別子(DLCI)、その他のインターフェイス タイプに適用できます。

トラフィック ポリシーをインターフェイスに適用するには、次の手順を実行します。

service-policy コマンドの input および output キーワード

トラフィック ポリシーで設定する QoS 機能は、インターフェイスで受信されるパケットか、インターフェイスで送信されるパケットに適用できます。そのため、 service-policy コマンドを使用するとき、 input キーワードまたは output キーワードを使用して方向を指定する必要があります。

たとえば、 service-policy output class1 コマンドは、 トラフィック ポリシーの機能をインターフェイスに適用します。インターフェイスから送信されるすべてのパケットが、class1 という名前のトラフィック ポリシーで指定された条件に従って評価されます。

制約事項

複数のトラフィック ポリシー

トンネル インターフェイスおよび物理インターフェイス上の複数のトラフィック ポリシーは、インターフェイスが互いに関連付けられている場合はサポートされません。たとえば、トラフィック ポリシーがトンネル インターフェイスに適用され、別のトラフィック ポリシーが、トンネル インターフェイスが関連付けられている物理インターフェイスに適用されている場合、トンネル インターフェイスに対するトラフィック ポリシーだけが正常に動作します。

プライオリティ トラフィックに割り当てられる帯域幅

プライオリティ トラフィックに割り当てられる帯域幅は、インターフェイスで使用可能な帯域幅を超えることはできません。プライオリティ トラフィックに割り当てられる帯域幅が、インターフェイスで使用可能な帯域幅を超えるようにトラフィック ポリシーが設定されている場合、トラフィック ポリシーは一時停止されます。以前は、ポリシー マップが拒否されていました。現在では、一時停止されるだけであるため、トラフィック ポリシーを修正してインターフェイスに再度適用できます。

手順の概要

1. enable

2. configure terminal

3. interface interface-type interface-number

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

5. end

手順の詳細

コマンドまたはアクション
目的

ステップ 1

enable

 

Router> enable

特権 EXEC モードをイネーブルにします。

プロンプトが表示されたら、パスワードを入力します。

ステップ 2

configure terminal

 

Router# configure terminal

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

ステップ 3

interface interface-type interface-number

 

Router(config)# interface serial0

インターフェイス タイプを設定し、インターフェイス コンフィギュレーション モードを開始します。

インターフェイス タイプとインターフェイス番号を入力します。

ステップ 4

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

 

Router(config-if)# service-policy input policy1

インターフェイスにポリシー マップを対応付けます。

input キーワードまたは output キーワードとポリシー マップ名を入力します。

ステップ 5

end

 

Router (config-if)# end

(任意)インターフェイス コンフィギュレーション モードを終了し、特権 EXEC モードに戻ります。

トラフィック クラスとトラフィック ポリシー情報の確認

トラフィック クラスまたはトラフィック ポリシーに関する情報を表示および確認するには、次の手順を実行します。

手順の概要

1. enable

2. show class-map

3. show policy-map policy-map-name class class-name

4. show policy-map

5. show policy-map interface interface-type interface-number

6. exit

手順の詳細

コマンドまたはアクション
目的

ステップ 1

enable

 

Router> enable

特権 EXEC モードをイネーブルにします。

プロンプトが表示されたら、パスワードを入力します。

ステップ 2

show class-map

 

Router# show class-map

(任意)すべてのクラス マップとその一致条件を表示します。

ステップ 3

show policy-map policy-map-name class class-name

 

Router# show policy-map policy1 class class1

(任意)指定したポリシー マップの指定したクラスの設定を表示します。

ポリシー マップ名とクラス名を入力します。

ステップ 4

show policy-map

 

Router# show policy-map

(任意)存在するすべてのポリシー マップのすべてのクラスの設定を表示します。

ステップ 5

show policy-map interface interface-type interface-number

 

Router# show policy-map interface serial0

(任意)インターフェイスに適用された入力ポリシーと出力ポリシーの統計情報と設定を表示します。

インターフェイス タイプと番号を入力します。

ステップ 6

exit

 

Router# exit

(任意)特権 EXEC モードを終了します。

MQC を使用した QoS 機能の適用の設定例

ここでは、次のモジュラ QoS CLI 設定例を示します。

トラフィック クラスの作成例

トラフィック ポリシーの作成例

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

match not コマンドの例

デフォルト トラフィック クラスの設定例

class-map match-any および class-map match-all コマンドの例

一致条件としてのトラフィック クラス(ネストしたトラフィック クラス)の例

QoS ポリシーとしてのトラフィック ポリシー(階層型トラフィック ポリシー)の例

トラフィック クラスの作成例

次に、2 つのトラフィック クラスを作成し、その一致条件を定義する例を示します。1 番目のトラフィック クラス class1 では、Access Control List(ACL; アクセス コントロール リスト)101 を一致条件として使用しています。2 番目のトラフィック クラス class2 では、ACL 102 を一致条件として使用しています。パケットはこれらの ACL の内容と照合され、そのクラスに属するかどうかが判断されます。

Router(config)# class-map class1
Router(config-cmap)# match access-group 101
Router(config-cmap)# exit
 
Router(config)# class-map class2
Router(config-cmap)# match access-group 102
Router(config-cmap)# exit

トラフィック ポリシーの作成例

次に、トラフィック ポリシー policy1 を定義する例を示します。トラフィック ポリシーには、class1 と class2 の 2 つのクラスに適用する QoS 機能が含まれています。これらの機能の一致条件は、すでに定義されています(「トラフィック クラスの作成例」を参照)。

class1 に対しては、帯域幅割り当て要求と、そのクラス用に予約されるキューの最大パケット数の制限がポリシーに含まれています。class2 に対しては、帯域幅割り当て要求だけがポリシーで指定されています。

Router(config)# policy-map policy1
Router(config-pmap)# class class1
Router(config-pmap-c)# bandwidth 3000
Router(config-pmap-c)# queue-limit 30
Router(config-pmap-c)# exit
 
Router(config-pmap)# class class2
Router(config-pmap-c)# bandwidth 2000
Router(config-pmap-c)# exit

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

次に、既存のトラフィック ポリシーをインターフェイスに適用する例を示します。 policy-map コマンドを使用してトラフィック ポリシーを定義した後、インターフェイス コンフィギュレーション モードで service-policy コマンドを使用して、1 つ以上のインターフェイスに適用できます。同じトラフィック ポリシーを複数のインターフェイスに割り当てることができますが、各インターフェイスには、入力方向と出力方向に対して、それぞれトラフィック ポリシーを 1 つだけ割り当てることができます。

Router(config)# interface ethernet1/1
Router(config-if)# service-policy output policy1
Router(config-if)# exit
 
Router(config)# interface fastethernet1/0/0
Router(config-if)# service-policy output policy1
Router(config-if)# exit

match not コマンドの例

match not コマンドは、一致条件として使用しない特定の QoS ポリシー値を指定するために使用します。 match not コマンドを使用する場合、その QoS ポリシーの他すべての値は、成功する一致条件になります。

たとえば、 match not qos-group 4 コマンドをクラス マップ コンフィギュレーション モードで実行した場合、指定したクラスは、4 以外のすべての QoS グループ値を成功する一致条件として受け入れます。

次のトラフィック クラスでは、IP 以外のすべてのプロトコルが成功する一致条件と見なされます。

Router(config)# class-map noip
Router(config-cmap)# match not protocol ip
Router(config-cmap)# exit

デフォルト トラフィック クラスの設定例

未分類のトラフィック(トラフィック クラスで指定された一致条件を満たさないトラフィック)は、デフォルト トラフィック クラスに属するものとして扱われます。

デフォルト クラスを設定しない場合でも、パケットはデフォルト クラスのメンバーとして扱われます。ただし、デフォルトでは、デフォルト クラスで QoS 機能がイネーブルになっていません。そのため、デフォルト クラスに属するパケットには QoS 機能がありません。これらのパケットは、テール ドロップによって管理される First-In, First-Out(FIFO; ファーストイン ファーストアウト)キューに格納されます。 テール ドロップは輻輳を回避するための 1 つの手段であり、すべてのトラフィックが同等に扱われ、サービス クラスの間で差別化されません。輻輳期間中はキューが一杯になります。出力キューが一杯でテール ドロップが有効な場合、輻輳が解消されてキューが一杯でなくなるまでパケットはドロップされます。

次の例では、トラフィック ポリシー policy1 のデフォルト クラスに対するトラフィック ポリシーを設定しています。デフォルト クラス(常に class-default という名前になります)の特性としては、ポリシーがトラフィック ポリシー policy1 で定義されている他のクラスの一致条件を満たさないトラフィック用に 10 個のキューがあり、キューあたり 20 個のパケットを超えると、追加でキューに格納されるパケットを処理するためにテール ドロップが実施されます。

Router(config)# policy-map policy1
Router(config-pmap)# class class-default
Router(config-pmap-c)# fair-queue 10
Router(config-pmap-c)# queue-limit 20
 

class-map match-any および class-map match-all コマンドの例

この例では、 class-map match-any コマンドと class-map match-all コマンドの違いを示します。 match-any キーワードと match-all キーワードは、複数の一致条件がある場合のパケットの評価方法を決定します。パケットがトラフィック クラスのメンバーとして見なされるためには、パケットがすべての一致条件を満たすか( match-all )、いずれかの一致条件を満たす必要があります( match-any )。

次に、 class-map match-all コマンドを使用してトラフィック クラスを設定する例を示します。

Router(config)# class-map match-all cisco1
Router(config-cmap)# match protocol ip
Router(config-cmap)# match qos-group 4
Router(config-cmap)# match access-group 101
 

トラフィック クラス cisco1 がインターフェイス上で設定されているルータにパケットが到着した場合、パケットが評価され、IP プロトコル、QoS グループ 4、 および アクセス グループ 101 に一致するかどうかが判断されます。これら 3 つの条件すべてを満たした場合、パケットはトラフィック クラス cisco1 のメンバーとして分類されます。

次に、 class-map match-any コマンドを使用してトラフィック クラスを設定する例を示します。

Router(config)# class-map match-any cisco2
Router(config-cmap)# match protocol ip
Router(config-cmap)# match qos-group 4
Router(config-cmap)# match access-group 101
 

トラフィック クラス cisco2 で、成功する一致条件が見つかるまで連続的に一致条件が評価されます。パケットは、まず IP プロトコルを一致条件として使用できるかどうかを判断するために評価されます。IP プロトコルを一致条件として使用できる場合は、パケットはトラフィック クラス cisco2 に照合されます。IP プロトコルが成功する一致条件でない場合、QoS グループ 4 が一致条件として評価されます。各条件に対し、パケットがその条件に一致するかどうかが判断されます。一致すると、パケットはトラフィック クラス cisco2 のメンバーとして分類されます。パケットが指定したどの条件にも一致しない場合、パケットはデフォルト トラフィック クラス(クラス default-class)のメンバーとして分類されます。

class-map match-all コマンドでは、パケットが指定したトラフィック クラスのメンバーであると見なされるためには、 すべての 一致条件が満たされる必要があることに注意してください(論理的な AND 演算子)。最初の例では、プロトコル IP AND QoS グループ 4 AND アクセス グループ 101 が成功する一致条件になる必要があります。これに対し、 class-map match-any コマンド中のパケットがトラフィック クラスのメンバーであると見なされるためには、1 つの一致条件だけが満たされる必要があります(論理的な OR 演算子)。2 番目の例で、プロトコル IP OR QoS グループ 4 OR アクセス グループ 101 が成功する一致条件になる必要があります。

一致条件としてのトラフィック クラス(ネストしたトラフィック クラス)の例

match class-map コマンドを使用する理由は 2 つあります。1 つの理由はメンテナンスです。現在大規模なトラフィック クラスが存在している場合、トラフィック クラス一致条件を使用するほうが、同じトラフィック クラス設定を再入力するよりも簡単です。 match class-map コマンドを使用するより一般的な理由は、ユーザが同じトラフィック クラス内で match-any 文と match-all 文を使用できるようにすることです。match-all 特性と match-any 特性を 1 つのトラフィック ポリシーで組み合わせる場合、1 つの一致条件評価命令(match-any と match-all のどちらか)を使用したトラフィック クラスを作成し、このトラフィック クラスを、異なるタイプの一致条件を使用するトラフィック クラスで一致条件として使用します。

考えられるシナリオは次のとおりです。A、B、C、および D が、すべて異なる一致条件であるとし、A、B、または C かつ D(A または B または [C かつ D])に一致するトラフィックをトラフィック クラスに属するものとして分類するとします。ネストしたトラフィック クラスがない場合、トラフィックがトラフィック クラスの一部であると見なされるためには、4 つの一致条件すべてに一致するか(A かつ B かつ C かつ D)、いずれかの一致条件に一致する必要があります(A または B または C または D)。「かつ」(match-all)文と「または」(match-any)文をトラフィック クラス内で組み合わせることはできないため、目的の設定を実現できません。

解決策:C と D に対して match-all を使用する 1 つのトラフィック クラスを作成し(これを条件 E と呼びます)、A、B、E を使用して新しい match-any トラフィック クラスを作成します。新しいトラフィック クラスの評価順序は正しくなります(A または B または E、つまり A または B または [C かつ D])。これで目的のトラフィック クラス設定が実現できました。

1 つのトラフィック クラスで match-all 文と match-any 文を混在させるための唯一の方法は、トラフィック クラス一致条件を使用することです。

メンテナンスのためのネストしたトラフィック クラスの例

次の例で、トラフィック クラス class1 の特性は、トラフィック クラス class2 の特性とほぼ同じですが、トラフィック クラス class1 では、一致条件として宛先アドレスが追加されています。トラフィック クラス class1 をゼロからから設定する代わりに、 match class-map class2 コマンドを使用できます。このコマンドを使用すると、トラフィック クラス class2 のすべての特性をトラフィック クラス class1 に取り込み、トラフィック クラスを再設定することなく、新しい宛先アドレスの一致条件を追加できます。

Router(config)# class-map match-any class2
Router(config-cmap)# match protocol ip
Router(config-cmap)# match qos-group 3
Router(config-cmap)# match access-group 2
Router(config-cmap)# exit
 
Router(config)# class-map match-all class1
Router(config-cmap)# match class-map class2
Router(config-cmap)# match destination-address mac 00.00.00.00.00.00
Router(config-cmap)# exit

match-any 特性と match-all 特性を 1 つのトラフィック クラスで組み合わせるためのネストしたトラフィック クラスの例

1 つのトラフィック クラスで match-any 特性と match-all 特性を使用するための唯一の方法は、 match class-map コマンドを使用することです。match-any 特性と match-all 特性を 1 つのクラスに組み合わせるには、match-any 命令を使用して作成したトラフィック クラスで、match-all 命令を使用して設定したクラスを一致条件として使用するか( match class-map コマンドを使用)、その逆のことを行う必要があります。

次に、2 つのトラフィック クラスの特性を組み合わせる例を示します。1 つは match-any 特性を使用し、1 つは match-all 特性を使用しています。これを、 match class-map コマンドで 1 つのトラフィック クラスとして設定します。その結果、パケットがトラフィック クラス class4 のメンバーと見なされるためには、次の 3 つの一致条件のいずれかを満たしている必要があります。IP プロトコル かつ QoS グループ 4、宛先 MAC アドレス 00.00.00.00.00.00、またはアクセス グループ 2。

この例で、トラフィック クラス class4 だけがトラフィック ポリシー policy1 と共に使用されています。

Router(config)# class-map match-all class3
Router(config-cmap)# match protocol ip
Router(config-cmap)# match qos-group 4
Router(config-cmap)# exit
 
Router(config)# class-map match-any class4
Router(config-cmap)# match class-map class3
Router(config-cmap)# match destination-address mac 00.00.00.00.00.00
Router(config-cmap)# match access-group 2
Router(config-cmap)# exit
 
Router(config)# policy-map policy1
Router(config-pmap)# class class4
Router(config-pmap-c)# police 8100 1500 2504 conform-action transmit exceed-action set-qos-transmit 4
Router(config-pmap-c)# end

QoS ポリシーとしてのトラフィック ポリシー(階層型トラフィック ポリシー)の例

ポリシー マップ コンフィギュレーション モードで service-policy コマンドを使用すると、トラフィック ポリシーを QoS ポリシー内でネストできます。ネストしたトラフィック ポリシーを含むトラフィック ポリシーは、階層型トラフィック ポリシーと呼びます。

階層型トラフィック ポリシーには、1 つの子ポリシーと 1 つの親ポリシーが含まれています。子ポリシーは、以前定義したトラフィック ポリシーであり、 service-policy コマンドを使用して新しいトラフィック ポリシーに関連付けられています。既存のトラフィック ポリシーを使用する新しいトラフィック ポリシーが親ポリシーです。ここに示す例では、トラフィック ポリシー child が子ポリシーであり、トラフィック ポリシー parent が親ポリシーです。

階層型トラフィック ポリシーは、サブインターフェイス、フレームリレー PVC、および ATM PVC に適用できます。階層型トラフィック ポリシーは、VIP ベースの分散 FRF.12(およびそれ以上の)PVC を設定するときに特に有効です。階層型トラフィック ポリシーを使用すると、1 つのトラフィック ポリシー(1 つの子ポリシー 1 つの親のポリシーを持つ)を使用して、PVC トラフィックのシェーピングと優先順位付けを行うことができます。次の例で、子ポリシーはトラフィックの優先順位付けを行い、親ポリシーはトラフィックのシェーピングを行います。この設定で、親ポリシーは、パケットがインターフェイスから送信されるのを許可し、子ポリシーは、パケットが送信される順序を決定します。

Router(config)# policy-map child
Router(config-pmap)# class voice
Router(config-pmap-c)# priority 50
 
Router(config)# policy-map parent
Router(config-pmap)# class class-default
Router(config-pmap-c)# shape average 10000000
Router(config-pmap-c)# service-policy child
 

priority コマンドと shape コマンドに関連付けられた値が変更できることを除き、この例は、FRF.12(またはそれ以上)を使用した PVC で必要な設定です。 shape コマンドで使用する値は、サービス プロバイダーから通知された認定情報レート(CIR)値からプロビジョニングします。FRF.12(またはそれ以上)の PVC の詳細については、『 FRF .20 Support 』モジュールを参照してください。

その他の関連資料

ここでは、MQC を使用した QoS 機能の適用に関する関連資料について説明します。

関連資料

内容
参照先

QoS コマンド:コマンド構文、コマンド モード、コマンド履歴、デフォルト、使用上のガイドライン、および例

『Cisco IOS Quality of Service Solutions Command Reference』

パケット分類

Classifying Network Traffic 』モジュール

FRF PVC

FRF .20 Support 』モジュール

シスコのテクニカル サポート

説明
リンク

右の URL にアクセスして、シスコのテクニカル サポートを最大限に活用してください。

以下を含むさまざまな作業にこの Web サイトが役立ちます。

テクニカル サポートを受ける

ソフトウェアをダウンロードする

セキュリティの脆弱性を報告する、またはシスコ製品のセキュリティ問題に対する支援を受ける

ツールおよびリソースへアクセスする

Product Alert の受信登録

Field Notice の受信登録

Bug Toolkit を使用した既知の問題の検索

Networking Professionals(NetPro)コミュニティで、技術関連のディスカッションに参加する

トレーニング リソースへアクセスする

TAC Case Collection ツールを使用して、ハードウェアや設定、パフォーマンスに関する一般的な問題をインタラクティブに特定および解決する

この Web サイト上のツールにアクセスする際は、Cisco.com のログイン ID およびパスワードが必要です。

http://www.cisco.com/en/US/support/index.html

MQC を使用した QoS 機能の適用の機能情報

表 3 に、この機能のリリース履歴を示します。

ご使用の Cisco IOS ソフトウェア リリースによっては、コマンドの中に一部使用できないものがあります。特定のコマンドに関するリリース情報については、コマンド リファレンス マニュアルを参照してください。

Cisco Feature Navigator を使用すると、プラットフォームおよびソフトウェア イメージのサポート情報を検索できます。Cisco Feature Navigator により、どの Cisco IOS および Catalyst OS ソフトウェア イメージが特定のソフトウェア リリース、フィーチャ セット、またはプラットフォームをサポートするか調べることができます。Cisco Feature Navigator には、 http://www.cisco.com/go/cfn からアクセスします。Cisco.com のアカウントは必要ありません。


表 3 には、一連の Cisco IOS ソフトウェア リリースのうち、特定の機能が初めて導入された Cisco IOS ソフトウェア リリースだけが記載されています。特に明記していないかぎり、その Cisco IOS ソフトウェア リリース トレインの以降のリリースでもその機能はサポートされます。


 

表 3 MQC を使用した QoS 機能の適用の機能情報

機能名
リリース
機能情報

モジュラ QoS CLI(MQC)の無条件パケット廃棄

12.2(13)T

モジュラ QoS CLI(MQC)の無条件パケット廃棄機能を使用すると、特定の条件に一致するトラフィックを分類し、条件に一致するパケットをすべて無条件で廃棄するようにシステムを設定できます。

クラスベースのフレームリレー廃棄適性(DE)ビット照合とマーキング

12.2(2)T

クラスベースのフレームリレー廃棄適性(DE)ビット照合とマーキング機能を使用すると、MQC が拡張され、フレームリレー DE ビットの照合とマーキングがサポートされます。FR DE ビットがセットされたパケットをクラスに照合し、適切な QoS 機能または処理を適用できます。

モジュラ QoS CLI(MQC)

Cisco IOS XE Release 2.1

この機能は、Cisco ASR 1000 シリーズ ルータで導入されました。