この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
Quality of Service(QoS)は、次の主要コンポーネントで構成されています。
分類:分類は、アクセス コントロール リスト(ACL)、DiffServ コード ポイント(DSCP)、サービス クラス(CoS)、およびその他の要因に基づいて、トラフィックの 1 つのタイプを区別するプロセスです。
マーキングと変換:マーキングは、特定の情報をネットワークのダウンストリーム デバイスに伝送するか、デバイス内の 1 つのインターフェイスから別のインターフェイスに情報を伝送するためにトラフィック上で使用されます。トラフィックをマークすると、そのトラフィックの QoS 動作が適用されます。これは、set コマンドを直接使用するか、テーブル マップ経由で入力値を受け取って出力の値に直接変換することで実行します。
シェーピングとポリシング:シェーピングはダウンストリーム デバイスで輻輳が発生しないようにトラフィック レートを調整しながら、トラフィックの最大レートを強制するプロセスのことです。最も一般的な形式のシェーピングは、物理または論理インターフェイスから送信されるトラフィックを制限するために使用されます。ポリシングは、トラフィック クラスに最大レートを強制するために使用されます。レートを超過した場合は、イベント発生直後に特定のアクションが実行されます。
キューイング:キューイングは、トラフィックの輻輳を防止するために使用されます。トラフィックは、帯域割り当てに基づいて処理およびスケジューリングするために、特定のキューに送信されます。次に、トラフィックはポートを介してスケジュールまたは送信されます。
帯域幅:帯域幅の割り当てにより、QoS ポリシーが適用されるトラフィックで使用可能な容量が決まります。
信頼:信頼により、トラフィックがデバイスを通過できるようになります。明示的なポリシー設定がない場合、エンド ポイントから、またはエンド ポイントへの DiffServ コード ポイント(DSCP)値、プレシデンス値、または CoS 値は保持されます。
この QoS コンフィギュレーション ガイドでは、次の用語が同じ意味で使用されます。
QoS の概要
Quality of Service(QoS)を設定することで、他のトラフィック タイプの代わりに特定のトラフィック タイプを優先的に処理できます。QoS を設定しなかった場合、デバイスはパケットの内容やサイズに関係なく、各パケットにベスト エフォート型のサービスを提供します。デバイスは、信頼性、遅延限界、またはスループットが保証されていないパケットを送信します。
次に、QoS が提供する具体的な機能を示します。
デバイスでは、QoS 機能はモジュラ QoS コマンドライン インターフェイス(MQC)を使用してイネーブルにできます。MQC はコマンドライン インターフェイス(CLI)構造を採用しています。これを使用すると、トラフィック ポリシーを作成し、作成したポリシーをインターフェイスにアタッチできます。1 つのトラフィック ポリシーには、1 つのトラフィック クラスと 1 つ以上の QoS 機能が含まれます。トラフィック クラスがトラフィックを分類するために使用されるのに対して、トラフィック ポリシーの QoS 機能は分類されたトラフィックの処理方法を決定します。MQC の主な目的の 1 つは、プラットフォームに依存しないインターフェイスを提供することにより、シスコ プラットフォーム全体の QoS を設定することです。
機能 |
説明 |
---|---|
サポートされるターゲット |
|
設定手順 |
service-policy コマンドを使用してインストールされる QoS ポリシー。 |
ポート レベルでサポートされるキューの数 |
ポートでは最大 8 つのキューがサポートされます。 有線ターゲットでは Approximate Fair Dropping or Discard(AFD)はサポートされません。 |
サポートされる分類メカニズム |
デバイスは階層型 QoS(HQoS)をサポートします。HQoS を使用すると、次の作業を実行できます。
ネットワークは通常、ベストエフォート型の配信方式で動作します。したがって、すべてのトラフィックに等しいプライオリティが与えられ、正しいタイミングで配信される可能性も同じです。輻輳が発生すると、すべてのトラフィックが等しくドロップされます。
QoS 機能を設定すると、特定のネットワーク トラフィックを選択し、相対的な重要性に応じてそのトラフィックに優先度を指定し、輻輳管理および輻輳回避技術を使用して、優先処理を実行できます。ネットワークに QoS を実装すると、ネットワーク パフォーマンスがさらに予測しやすくなり、帯域幅をより効率的に利用できるようになります。
QoS は、インターネット技術特別調査委員会(IETF)の規格である Differentiated Services(Diff-Serv)アーキテクチャに基づいて実装されます。このアーキテクチャでは、ネットワークに入るときに各パケットを分類することが規定されています。
この分類は IP パケット ヘッダーに格納され、推奨されない IP タイプ オブ サービス(ToS)フィールドの 6 ビットを使用して、分類(クラス)情報として伝達されます。分類情報をレイヤ 2 フレームでも伝達できます。
レイヤ 2 の ISL(スイッチ間リンク)フレーム ヘッダーには、下位 3 ビットで IEEE 802.1p サービス クラス(CoS)値を伝達する 1 バイトのユーザ フィールドがあります。レイヤ 2 ISL トランクとして設定されたポートでは、すべてのトラフィックが ISL フレームに収められます。
レイヤ 2 802.1Q フレーム ヘッダーには、2 バイトのタグ制御情報フィールドがあり、上位 3 ビット(ユーザ プライオリティ ビット)で CoS 値が伝達されます。レイヤ 2 802.1Q トランクとして設定されたポートでは、ネイティブ Virtual LAN(VLAN)のトラフィックを除くすべてのトラフィックが 802.1Q フレームに収められます。
レイヤ 3 IP パケットは、IP precedence 値または Diffserv コード ポイント(DSCP)値のいずれかを伝送できます。DSCP 値は IP precedence 値と下位互換性があるので、QoS ではどちらの値も使用できます。
インターネットにアクセスするすべてのスイッチおよびルータはクラス情報に基づいて、同じクラス情報が与えられているパケットは同じ扱いで転送を処理し、異なるクラス情報のパケットはそれぞれ異なる扱いをします。パケットのクラス情報は、設定されているポリシー、パケットの詳細な検証、またはその両方に基づいて、エンド ホストが割り当てるか、または伝送中にスイッチまたはルータで割り当てることができます。パケットの詳細な検証は、コア スイッチおよびルータの負荷が重くならないように、ネットワークのエッジ付近で行います。
パス上のスイッチおよびルータは、クラス情報を使用して、個々のトラフィック クラスに割り当てるリソースの量を制限できます。Diff-Serv アーキテクチャでトラフィックを処理するときの、各デバイスの動作をホップ単位動作といいます。パス上のすべてのデバイスに一貫性のあるホップ単位動作をさせることによって、エンドツーエンドの QoS ソリューションを構築できます。
ネットワーク上で QoS を実装する作業は、インターネットワーキング デバイスが提供する QoS 機能、ネットワークのトラフィック タイプおよびパターン、さらには着信および発信トラフィックに求める制御のきめ細かさによって、簡単にも複雑にもなります。
パケット分類は、特定の基準に基づいて定義したポリシーの複数のクラスの 1 つに属するものとしてパケットを識別するプロセスです。モジュラ QoS CLI(MQC)は、ポリシークラス ベースの言語です。ポリシー クラスの言語は、次の定義に使用されています。
ポリシーマップ テンプレートは、デバイスの 1 つまたは複数のインターフェイスに関連付けられます。
パケット分類は、ポリシー マップで定義されたクラスの 1 つに属するものとしてパケットを識別するプロセスです。分類プロセスは、処理されるパケットがクラス内の特定のフィルタに一致した場合に終了します。これは、最初の一致による終了と呼ばれます。つまり、ポリシー マップ内のクラスの順序に関係なく、パケットがポリシー内の複数のクラスに一致する場合、最初のクラスの一致後に分類プロセスが終了します。
パケットがポリシーのクラスと一致しない場合は、ポリシーのデフォルト クラスに分類されます。すべてのポリシー マップには、システム定義のクラスのデフォルト クラスがあり、どのユーザ定義クラスにも一致しないパケットに一致します。
パケット分類は次のタイプに分類できます。
パケットの一部としてエンドツーエンドまたはホップ間で伝搬される情報に基づく分類には、一般的に次のものがあります。
これは最も一般的な導入シナリオです。レイヤ 3 およびレイヤ 4 ヘッダーの多くのフィールドは、パケット分類に使用できます。
最もきめ細かいレベルでは、この分類方法はフロー全体を照合するために使用できます。この導入タイプで、アクセス コントロール リスト(ACL)を使用できます。ACL は、フローのさまざまなサブセット(送信元 IP アドレスのみ、宛先 IP アドレスのみ、または両方の組み合わせなど)に基づく照合に使用することもできます。
分類は、IP ヘッダーの precedence 値または DSCP 値に基づいて実行することもできます。IP precedence フィールドは、特定のパケットを処理する必要がある相対プライオリティを示すために使用されます。これは、IP ヘッダー内のタイプ オブ サービス(ToS)バイトの 3 ビットで構成されます。
IP precedence 値 |
IP precedence ビット |
IP precedence の名前 |
---|---|---|
[0] |
000 |
ルーチン |
1 |
001 |
[プライオリティ(Priority)] |
2 |
010 |
緊急 |
3 |
011 |
フラッシュ |
4 |
100 |
フラッシュ オーバーライド |
5 |
101 |
クリティカル(Critical) |
[6] |
110 |
インターネットワーク制御 |
7 |
111 |
ネットワーク制御 |
(注) | ネットワークのルーティング制御トラフィックすべては、IP precedence 値 6 をデフォルトで使用します。また、IP precedence 値 7 は、ネットワーク制御トラフィック用に予約されています。したがって、IP precedence 値 6 および 7 はユーザ トラフィック用に推奨されません。 |
DSCP フィールドは、IP ヘッダーの 6 ビットで構成され、インターネット技術特別調査委員会(IETF)の DiffServ ワーキング グルーにより標準化されています。DSCP ビットが含まれた元の ToS バイトは、DSCP バイトの名前を変更しました。DSCP フィールドは、IP precedence と同様に IP ヘッダーの一部です。DSCP フィールドは、IP precedence フィールドのスーパー セットです。したがって、DSCP フィールドは、IP precedence に関連して説明した内容と同様の方法で使用され、設定されます。
(注) | DSCP フィールド定義は IP precedence 値と下位互換性があります。 レイヤ 2 ヘッダー内の一部のフィールドは、ポリシーを使用して設定することもできます。 |
レイヤ 2 ヘッダー情報に基づく分類は、さまざまな方法で実行できます。最も一般的な方法は次のとおりです。
MAC アドレスベースの分類(アクセス グループの場合のみ):分類は送信元 MAC アドレス(入力方向のポリシー用)および宛先 MAC アドレス(出力方向のポリシー用)に基づいています。
サービス クラス:分類は、IEEE 802.1p 標準に基づくレイヤ 2 ヘッダーの 3 ビットに基づいて行われます。これは通常、IP ヘッダーの ToS バイトにマッピングします。
VLAN ID:分類は、パケットの VLAN ID に基づいて行われます。
(注) | レイヤ 2 ヘッダー内のこれらフィールドの一部は、ポリシーを使用して設定することもできます。 |
デバイスは分類がパケット ヘッダーまたはペイロードの情報に基づいていない場合に使用できる分類メカニズムを提供します。
複数の入力インターフェイスから出力インターフェイスの特定のクラスに送信されるトラフィックを集約する必要が生じる場合があります。たとえば、複数のカスタマー エッジ ルータが、異なるインターフェイスの同じアクセス デバイスに接続される可能性があります。サービス プロバイダーは、特定のレートでコアに送信されるすべての集約音声トラフィックをポリシングする場合があります。ただし、異なるカスタマーからの音声トラフィックには、異なる ToS 設定がなされている可能性があります。QoS グループベースの分類は、次のシナリオで役立つ機能です。
入力インターフェイスで設定されたポリシーは、QoS グループを特定の値に設定します。この値は出力インターフェイスでイネーブルになっているポリシーのパケットの分類に使用できます。
QoS グループは、デバイス内部のパケット データ構造内のフィールドです。QoS グループは、 デバイスの内部ラベルであり、パケット ヘッダーの一部ではないことに注意してください。
デバイスでは、他のクラスに基づく分類を実行できます。通常このアクションは、1 つのクラス マップに複数クラスの分類メカニズム(フィルタ)を組み合わせる場合に必要になります。
分類:パケットと QoS ラベルを関連付けて、パケットごとに異なるパスを分類します。たとえば、デバイスは、ある種類のトラフィックを別の種類のトラフィックと区別するためにパケット内の CoS または DSCP を QoS ラベルにマッピングします。生成された QoS ラベルは、このパケットでこれ以降に実行されるすべての QoS アクションを識別します。
ポリシング:ポリシングでは、着信トラフィックのレートを設定済みポリサーと比較して、パケットが適合か不適合かを判別します。ポリサーは、トラフィック フローで消費される帯域幅を制限します。その判別結果がマーカーに渡されます。
マーキング:マーキングでは、パケットが不適合の場合の対処法に関して、ポリサーおよび設定情報を検討し、パケットの扱い(パケットを変更しないで通過させるか、パケットの QoS ラベルをマークダウンするか、またはパケットをドロップするか)を決定します。
ポリシング:ポリシングでは、着信トラフィックのレートを設定済みポリサーと比較して、パケットが適合か不適合かを判別します。ポリサーは、トラフィック フローで消費される帯域幅を制限します。その判別結果がマーカーに渡されます。
マーキング:マーキングでは、パケットが不適合の場合の対処法に関して、ポリサーおよび設定情報を検討し、パケットの扱い(パケットを変更しないで通過させるか、パケットの QoS ラベルをマークダウンするか、またはパケットをドロップするか)を決定します。
キューイング:キューイングでは、使用する出力キューを選択する前に、QoS パケット ラベルと対応する DSCP 値または CoS 値を評価します。複数の入力ポートが 1 つの出力ポートに同時にデータを送信すると輻輳が発生することがあるため、重み付けテール ドロップ(WTD)によってトラフィック クラスを区別し、QoS ラベルに基づいてパケットに別々のしきい値を適用します。しきい値を超過している場合、パケットはドロップされます。
分類とは、パケットのフィールドを検証して、トラフィックの種類を区別するプロセスです。QoS がデバイス上でイネーブルになっている場合にのみ、分類はイネーブルです。デフォルトにより、QoS はデバイスでイネーブルになっています。
分類時に、デバイスは検索処理を実行し、パケットに QoS ラベルを割り当てます。QoS ラベルは、パケットに対して実行するすべての QoS アクション、およびパケットの送信元キューを識別します。
IP 標準 ACL、IP 拡張 ACL、またはレイヤ 2 MAC ACL を使用すると、同じ特性を備えたパケット グループ(クラス)を定義できます。また IPv6 ACL に基づいて IP トラフィックを分類することもできます。
QoS のコンテキストでは、アクセス コントロール エントリ(ACE)の許可および拒否アクションの意味が、セキュリティ ACL の場合とは異なります。
拒否アクションと一致した場合は、処理中の ACL がスキップされ、次の ACL が処理されます。
(注) | 拒否アクションは、Cisco IOS XE リリース 3.7.4E 以降のリリースでサポートされています。 |
許可アクションとの一致が検出されないまま、すべての ACE の検証が終了した場合、そのパケットでは QoS 処理は実行されず、デバイスがベストエフォート型サービスを実行します。
ポートに複数の ACL が設定されている場合に、許可アクションを含む最初の ACL とパケットの一致が見つかると、それ以降の検索処理は中止され、QoS 処理が開始されます。
(注) | アクセス リストを作成するときは、アクセス リストの末尾に暗黙の拒否ステートメントがデフォルトで存在し、それ以前のステートメントで一致が見つからなかったすべてのパケットに適用されることに注意してください。 |
ACL でトラフィック クラスを定義した後で、そのトラフィック クラスにポリシーを結合できます。ポリシーにはそれぞれにアクションを指定した複数のクラスを含めることができます。ポリシーには、特定の集約としてクラスを分類する(DSCP を割り当てるなど)コマンドまたはクラスのレート制限を実施するコマンドを含めることができます。このポリシーを特定のポートに結合すると、そのポートでポリシーが有効になります。
IP ACL を実装して IP トラフィックを分類する場合は、access-list グローバル コンフィギュレーション コマンドを使用します。レイヤ 2 MAC ACL を実装して非 IP トラフィックを分類する場合は、mac access-list extended グローバル コンフィギュレーション コマンドを使用します。
クラス マップは、特定のトラフィック フロー(またはクラス)に名前を付けて、他のすべてのトラフィックと区別するためのメカニズムです。クラス マップでは、さらに細かく分類するために、特定のトラフィック フローと照合する条件を定義します。この条件には、ACL で定義されたアクセス グループとの照合や、DSCP 値または IP precedence 値あるいは CoS 値の特定のリストとの照合を含めることができます。複数のトラフィック タイプを分類する場合は、別のクラス マップを作成し、異なる名前を使用できます。パケットをクラス マップ条件と照合した後で、ポリシー マップを使用してさらに分類します。
クラス マップを作成するには、class-map グローバル コンフィギュレーション コマンドまたは class ポリシー マップ コンフィギュレーション コマンドを使用します。複数のポリシー間でマップを共有する場合には、class-map コマンドを使用する必要があります。class-map コマンドを入力すると、デバイスはクラスマップ コンフィギュレーション モードを開始します。このモードで、match クラス マップ コンフィギュレーション コマンドを使用して、トラフィックの一致条件を定義します。
classclass-default ポリシーマップ コンフィギュレーション コマンドを使用して、デフォルト クラスを作成できます。デフォルト クラスはシステム定義であり、設定することはできません。分類されていないトラフィック(トラフィック クラスで指定された一致基準を満たさないトラフィック)は、デフォルト トラフィックとして処理されます。
ポリシー マップでは、作用対象のトラフィック クラスを指定します。アクションには次が含まれます。
トラフィック クラスに特定の DSCP 値または IP precedence 値を設定する
トラフィック クラスに CoS 値を設定する
QoS グループを設定する
トラフィックがアウト オブ プロファイルになった場合の、トラフィックの帯域幅制限やアクションを指定する
ポリシー マップを効率的に機能させるには、ポートにポリシー マップを結合する必要があります。
ポリシー マップを作成して名前を付けるには、policy-map グローバル コンフィギュレーション コマンドを使用します。このコマンドを入力すると、デバイスはポリシーマップ コンフィギュレーション モードを開始します。このモードでは、class、または set ポリシー マップ コンフィギュレーション コマンドおよびポリシー マップ クラス コンフィギュレーション コマンドを使用して、特定のトラフィック クラスに対して実行するアクションを指定します。
ポリシー マップは、ポリシーマップ クラス コンフィギュレーション コマンド police と bandwidth を使用して設定することもできます。これらのコマンドは、ポリサー、トラフィックの帯域幅制限、および制限を超過した場合のアクションを定義します。さらに、ポリシーマップは priority ポリシーマップ クラス コンフィギュレーション コマンドを使用してより詳細に設定し、クラスまたは queue-buffers および queue-limit キューイング マップクラス コンフィギュレーション コマンドの優先順位をスケジュールすることができます。
ポリシー マップを有効化するには、service-policyインターフェイス コンフィギュレーション コマンドを使用してポートに接続します。
(注) | Switch# configure terminal Switch(config)# class-map cmap Switch(config-cmap)# exit Switch(config)# class-map classmap1 Switch(config-cmap)# exit Switch(config)# policy-map pmap Switch(config-pmap)# class cmap Switch(config-pmap-c)# priority Switch(config-pmap-c)# exit Switch(config-pmap)# class classmap1 Switch(config-pmap-c)# set Switch(config-pmap-c)# exit Switch(config-pmap)# exit Switch(config)# interface gigabitethernet 0/1/1 Switch(config-if)# service-policy output pmap Non-queuing action only is unsupported in a queuing policy!!! %QOS-6-POLICY_INST_FAILED: Service policy installation failed |
実行対象となるトラフィック クラスを指定する非階層型ポリシー マップを、物理ポート上に設定できます。アクションには、特定の DSCP あるいはトラフィック クラスでの IP プレシデンス値または QoS の値の設定、一致する各トラフィック クラス(ポリサー)に対するトラフィックの帯域幅限度の指定、トラフィックがアウト オブ プロファイル(マーキング)の場合の処理などが含まれます。
デバイスは、VLAN の QoS 機能をサポートします。これにより、ユーザは、着信フレームの VLAN 情報を使用して VLAN レベルで QoS 処理(分類と QoS アクション)を実行できます。VLAN ベースの QoS では、サービス ポリシーが SVI インターフェイスに適用されます。VLAN ポリシー マップに属するすべての物理インターフェイスは、ポートベースのポリシー マップの代わりに VLAN ベースのポリシー マップが表示されるようにプログラムする必要があります。
ポリシー マップは VLAN SVI に適用されますが、ポリシング(レート制限)アクションはポート単位でしか実行できません。複数の物理ポートからのトラフィックの合計が認識されるようにポリサーを設定できません。各ポートは、そのポートに着信するトラフィックを制御する別のポリサーを必要とします。
パケットが分類され、DSCP ベース、CoS ベース、または QoS グループのラベルが割り当てられると、ポリシングおよびマーキング プロセスを開始できます。
ポリシングには、トラフィックの帯域幅限度を指定するポリサーの作成が伴います。制限を超えるパケットは、「アウト オブ プロファイル」または「不適合」になります。各ポリサーはパケットごとに、パケットが適合か不適合かを判別し、パケットに対するアクションを指定します。これらのアクションはマーカーによって実行されます。パケットを変更しないで通過させるアクション、パケットをドロップするアクション、またはパケットに割り当てられた DSCP または CoS 値を変更(マークダウン)してパケットの通過を許可するアクションなどがあります。
パケットの混乱を避けるため、通常、適合トラフィックも不適合トラフィックも同じキューを通過します。
(注) | すべてのトラフィックは、ブリッジングされるかルーティングされるかに関係なく、ポリサーの影響を受けます(ポリサーが設定されている場合)。その結果、ブリッジングされたパケットは、ポリシングまたはマーキングが行われたときにドロップされたり、DSCP または CoS フィールドが変更されたりすることがあります。 |
物理ポートでのみポリシングを設定できます。
ポリシー マップおよびポリシング アクションを設定したら、service-policyインターフェイス コンフィギュレーション コマンドを使用して、入力ポートまたは SVI にポリシーを付加します。
ポリシングはトークンバケット アルゴリズムを使用します。各フレームがデバイスに着信すると、バケットにトークンが追加されます。バケットにはホールがあり、平均トラフィック レートとして指定されたレート(ビット/秒)で送信されます。バケットにトークンが追加されるたびに、デバイスはバケット内に十分なスペースがあるかを確認します。十分なスペースがなければ、パケットは不適合とマーキングされ、指定されたポリサー アクション(ドロップまたはマークダウン)が実行されます。
バケットが満たされる速度は、バケット深度(burst-byte)、トークンが削除されるレート(rate-bps)、および平均レートを上回るバースト期間によって決まります。バケットのサイズによってバースト長に上限が設定され、バックツーバックで送信できるフレーム数が制限されます。バースト期間が短い場合、バケットはオーバーフローせず、トラフィック フローに何のアクションも実行されません。ただし、バースト期間が長く、レートが高い場合、バケットはオーバーフローし、そのバーストのフレームに対してポリシング アクションが実行されます。
バケットの深さ(バケットがオーバーフローするまでの許容最大バースト)を設定するには、police ポリシー マップ クラス コンフィギュレーション コマンドの burst-byte オプションを使用します。トークンがバケットから削除される速度(平均速度)を設定するには、police ポリシー マップ クラス コンフィギュレーション コマンドの rate オプションを使用します。
マーキングは、特定の情報をネットワークのダウンストリーム デバイスに伝送するか、デバイス内の 1 つのインターフェイスから別のインターフェイスに情報を伝送するために使用します。
マーキングは、パケット ヘッダーの特定のフィールド/ビットを設定するか、デバイス内部のパケット構造内の特定のフィールドを設定するために使用できます。さらに、マーキング機能はフィールド間のマッピングの定義に使用できます。QoS では次のマーキング方法を使用できます。
パケット ヘッダー フィールドのマーキングは 2 種類の一般的なカテゴリに分類できます。
IP レベルのマーキング機能は、precedence を設定したり、IP ヘッダー内の DSCP を特定の値に設定したりして、ダウンストリーム デバイス(スイッチまたはルータ)で特定のホップごとの動作を実行するために使用されます。また、異なる入力インターフェイスからのトラフィックを、出力インターフェイス内の単一のクラスに集約するためにも使用できます。この機能は現在、IPv4 および IPv6 ヘッダーでサポートされています。
レイヤ 2 ヘッダーのマーキングは、通常、ダウンストリーム デバイス(スイッチまたはルータ)のドロップ動作に影響を与えるために使用されます。これは、レイヤ 2 ヘッダーの一致と並行して動作します。ポリシー マップを使用して設定されるレイヤ 2 ヘッダーのビットはサービス クラスです。
この形式のマーキングには、パケット ヘッダーの一部ではないパケット データ構造内のフィールドのマーキングが含まれます。これにより、後でデータ パスでマーキングを使用できるようになります。これはスイッチ間で伝搬されません。QoS グループのマーキングはこのカテゴリに分類されます。この形式のマーキングは、入力インターフェイスで有効になっているポリシーだけでサポートされます。対応する照合機能を同じスイッチの出力インターフェイスでイネーブルにし、適切な QoS アクションを適用することができます。
テーブル マップ マーキングは変換表を使用したフィールド間のマッピングおよび変換を可能にします。この変換表はテーブル マップと呼ばれます。
インターフェイスに接続されているテーブル マップに応じて、パケット内の CoS、DSCP、および が書き換えられます。デバイスにより、入力のテーブル マップ ポリシーと出力のテーブル マップ ポリシーの両方を設定できます。
(注) | デバイスのスタックは、合計 14 のテーブル マップをサポートします。各方向の有線ポート単位で 1 つのテーブル マップだけがサポートされます。 |
たとえば、テーブル マップは、レイヤ 2 CoS 設定をレイヤ 3 の precedence 値にマッピングするのに使用できます。この機能により、マッピングを実行する方法を示す 1 つのテーブルに複数の set コマンドを組み合わせて使用することができます。このテーブルは複数のポリシーで参照するか、または同じポリシー内で複数回参照することができます。
パケット マーキング タイプ「To」 |
パケット マーキング タイプ「From」 |
---|---|
Precedence |
CoS |
Precedence |
QoS グループ |
DSCP |
CoS |
DSCP |
QoS グループ |
CoS |
Precedence |
CoS |
DSCP |
QoS グループ |
Precedence |
QoS グループ |
DSCP |
QoS グループ |
EXP |
テーブル マップ ベースのポリシーでは、次の機能がサポートされています。
変換:1 つの DSCP 値セットから別の DSCP 値セットにマッピングするテーブル マップを利用できます。また、このテーブル マップは出力ポートに付加できます。
書き換え:入力パケットは設定されたテーブル マップに基づいて書き換えられます。
マッピング:テーブル マップ ベースのポリシーは、set ポリシーの代わりに使用できます。
テーブル マップ マーキングには、次の手順が必要です。
テーブル マップの定義:table-map グローバル コンフィギュレーション コマンドを使用して値をマッピングします。テーブルが使用されるクラスまたはポリシーは認識されません。テーブル マップのデフォルトのコマンドは、「from」フィールドで一致がない場合に値が「to」フィールドにコピーされることを示すために使用されます。
ポリシー マップの定義:テーブル マップを使用するポリシー マップを定義します。
ポリシーをインターフェイスに関連付けます。
(注) | 入力ポートのテーブル マップ ポリシーによって、そのポートの信頼設定が qos-marking の「from」タイプに変更されます。 |
ネットワークで QoS をサポートするには、サービス プロバイダー ネットワークに入るトラフィックをネットワーク境界ルータでポリシングし、トラフィック レートがサービス範囲内に収まるようにする必要があります。ネットワーク コアのプロビジョニングで処理できるように設定されているトラフィックよりも多くのトラフィックがネットワーク境界のいくつかのルータから送信開始されると、トラフィック負荷の増加によってネットワーク輻輳が発生します。ネットワークのパフォーマンスが低下すると、すべてのネットワーク トラフィックで QoS を提供することが困難になります。
トラフィック ポリシング機能(ポリシング機能を使用)およびシェーピング機能(トラフィック シェーピング機能を使用)はトラフィック レートを管理しますが、トークンが不足した場合のトラフィックの処理方法が異なります。トークンの概念は、トークン バケット方式、トラフィック測定機能に基づいています。
(注) | ネットワーク トラフィックで QoS テストを実行すると、シェーパー データとポリシング データで異なる結果が生じることがあります。シェーピングからのネットワーク トラフィック データの方が、より正確な結果が得られます。 |
ポリシング機能 |
シェーピング機能 |
---|---|
適合するトラフィックをライン レートで送信し、バーストを許可します。 |
トラフィックが固定レートでスムーズに送信されます。 |
トークンが不足すると、アクションがただちに実行されます。 |
トークンが不足すると、パケットをバッファし、後でトークンが使用可能になった時点で送信します。シェーピングを使用するクラスにはキューが関連付けられており、このキューを使用してパケットがバッファされます。 |
ポリシングは、ビット/秒、パケット/秒、およびセル/秒など複数の単位で設定できます。 |
シェーピングの設定単位はビット/秒だけです。 |
ポリシングには、イベントに複数の可能なアクションが関連付けられています。このようなアクションの例としては、イベント、マーキング、ドロッピングなどがあります。 |
シェーピングはプロファイルを満たさないパケットをマークできません。 |
入出力両方のトラフィックで機能します。 |
出力トラフィックに対してのみ実装されます。 |
ウィンドウ サイズを小さくしたためにパケット ドロップが発生すると、伝送制御プロトコル(TCP)は、回線速度でラインを検出しますが、設定されたレートに適合します。 |
TCP は低速回線があることを検出し、再送信タイマーを適切に調整できます。これにより、再送信の範囲が狭くなり、TCP に負担をかけません。 |
QoS ポリシング機能は、トラフィック クラスに最大レートを強制するために使用されます。QoS ポリシング機能は、プライオリティ機能と合わせて、プライオリティ トラフィックを制限するためにも使用できます。レートを超過した場合は、イベント発生直後に特定のアクションが実行されます。レート(認定情報レート [CIR] および最大情報レート [PIR])とバースト パラメータ(適合バースト サイズ [ Bc ] および拡張バースト サイズ [Be])は、すべてバイト/秒で設定されます。
QoS では次のポリシング形式またはポリサーがサポートされます。
(注) | シングルレート 3 カラー ポリシングはサポートされません。 |
シングルレート 2 カラー ポリサーは、CIR と Bc だけを設定するモードです。
Bc は任意のパラメータであり、これが指定されていない場合、デフォルトで計算されます。このモードでは、着信パケットに十分なトークンがある場合、パケットは適合すると見なされます。パケットの到着時に、十分なトークンが Bc の範囲内で使用できない場合、パケットは設定レートを超えたと見なされます。
(注) | トークン バケット アルゴリズムの詳細については、トークンバケット アルゴリズムを参照してください。 |
デュアル レート ポリサーでのデバイスは、カラー ブラインド モードのみをサポートします。このモードでは、認定情報レート(CIR)および最大情報レート(PIR)を設定します。名前からわかるように、この場合、最大レート用に 1 つ、認定レート用に 1 つの、合わせて 2 つのトークン バケットがあります。
(注) | トークン バケット アルゴリズムの詳細については、トークンバケット アルゴリズムを参照してください。 |
カラー ブラインド モードでは、最大レートのバケットの着信パケットが最初にチェックされます。十分な数のトークンがない場合、パケットはレートに違反していると見なされます。十分な数のトークンがある場合、次に適合レートのバケットのトークンをチェックして、十分な数のトークンがあるかどうかを判別します。最大レートのバケットにあるトークンは、パケットのサイズによって減少します。十分な数のトークンがない場合、パケットが設定されているレートを超過していると見なされます。十分な数のトークンがある場合、パケットは適合すると見なされ、両方のバケットのトークンは、パケットのサイズによって減少します。
トークン補充レートは着信パケットによって異なります。あるパケットが時間 T1 に着信し、次のパケットが時間 T2 に着信したとします。T1 と T2 間の時間間隔は、トークン バケットに追加される必要があるトークンの数を決定します。これは次のように計算されます。
パケットの時間間隔(T2-T1) * CIR)/8 バイト
シェーピングは、ダウンストリーム スイッチおよびルータで輻輳が発生しないようにトラフィック レートを調整しながら、トラフィックの最大レートを強制するプロセスのことです。最も一般的な形式のシェーピングは、物理または論理インターフェイスから送信されるトラフィックを制限するために使用されます。
シェーピングにはバッファが関連付けられており、十分なトークンがないパケットがすぐにドロップされずにバッファされます。シェーピングされるトラフィックのサブセットで使用可能なバッファ数は制限され、さまざまな要因に基づいて計算されます。使用可能なバッファの数は、特定の QoS コマンドを使用して調整できます。パケットはドロップされずに、バッファが使用可能になった時点でバッファされます。
デバイスではクラスベースのトラフィック シェーピングを使用します。このシェーピング機能は、インターフェイスに関連付けられたポリシーのクラスでイネーブルになります。シェーピングが設定されたクラスには、トークンがないパケットを保持する複数のバッファが割り当てられます。バッファされたパケットは FIFO を使用してクラスから送信されます。最も一般的な形式の使用では、クラスベースのシェーピングを使用して、全体として物理インターフェイスまたは論理インターフェイスの最大レートを強制します。クラスでは次のシェーピング形式がサポートされます。
シェーピングは、トークン バケットを使用して実行されます。CIR、Bc、Be の値は、パケットが送信されるレートと、トークンが補充されるレートを決定します。
(注) | トークン バケット アルゴリズムの詳細については、トークンバケット アルゴリズムを参照してください。 |
平均レート シェーピングを設定するには、shape average ポリシーマップ クラス コマンドを使用します。
このコマンドは、特定のクラスの最大帯域幅を設定します。キューの帯域幅は、ポートでさらに使用できる帯域幅があってもこの値に制限されます。では、割合またはターゲット ビット レート値でシェーピング平均を設定できます。
シェーピングは、階層内の複数のレベルで設定することもできます。これは、シェーピングを設定した親ポリシーを作成して、追加のシェーピングを設定した子ポリシーを親ポリシーに付加することで実現できます。
次の 2 つの階層型シェーピングがサポートされています。
ポート シェーパーでは、クラス デフォルトが使用され、親で実行できるアクションはシェーピングだけです。キューイング アクションはポート シェーパーがある子で実行されます。ユーザ設定のシェーピングを使用すると、子のキューイング アクションを設定することはできません。
は、トラフィックの輻輳を防止するためにキューイングおよびスケジューリングを使用します。は、次のキューイングおよびスケジューリング機能をサポートします。
Quality of Service(QoS)ポリシーなし:QoS ポリシーが設定されていない場合、DSCP 値が 16、24、48、および 56 の制御パケットは、最も高いしきい値 threshold2 を持つキュー 0 にマッピングされます。
ユーザ定義のポリシーあり:出力ポートに設定されているユーザ定義のキューイング ポリシーは、制御パケットのデフォルトのプライオリティ キューの設定に影響する可能性があります。
ユーザ ポリシーで定義されている場合、最高レベルのプライオリティ キューがベスト キューとして常に選択されます。
プライオリティ キューがない場合、Cisco IOS ソフトウェアは、ベスト キューとしてキュー 0 を選択します。ソフトウェアがベスト キューとしてキュー 0 を選択した場合は、コントロール プレーン トラフィックに最適な QoS 処理を提供するために、このキューに最大帯域幅を定義する必要があります。
しきい値がベスト キューで設定されていない場合、Cisco IOS ソフトウェアは、DiffServ コード ポイント(DSCP)値が 16、24、48、および 56 の制御パケットを threshold2 にマッピングされるように割り当て、ベスト キュー内の残りの制御トラフィックを threshold1 に再割り当てします。
ポリシーが制御トラフィックに対して明示的に設定されていない場合、Cisco IOS ソフトウェアはすべての一致しない制御トラフィックを threshold2 を持つベスト キューにマッピングし、一致する制御トラフィックはポリシーで設定されたキューにマッピングされます。
(注) | レイヤ 3 パケットに適切な QoS を提供するために、パケットが適切なキューに明示的に分類されていることを確認する必要があります。ソフトウェアはデフォルト キューで DSCP 値を検出すると、自動的にこのキューをベスト キューとして再割り当てします。 |
特定のクラスに最小帯域幅を割り当てるには、bandwidth percent ポリシーマップ クラス コマンドを使用します。合計が 100 % を超えることはできず、合計が 100 % 未満である場合は、残りの帯域幅がすべての帯域幅キューで均等に分割されます。
(注) | キューは、他のキューが全体のポート帯域幅を使用しない場合は、帯域幅をオーバーサブスクライブすることができます。 |
ポリシー マップで帯域幅タイプを混在させることはできません。たとえば、1 つのポリシー マップで帯域幅の割合と kbps の両方を使用して、帯域幅を設定することはできません。
指定されたキューでの未使用帯域幅の共有率を作成するには、bandwidth remaining ratio ポリシーマップ クラス コマンドを使用します。未使用帯域幅は、これら指定されたキューにより、設定で指定されている比率で使用されます。このコマンドは、priority コマンドがポリシー内の特定のキューでも使用される場合に使用します。
比率を割り当てる場合には、これらの比率に従って、キューに特定の重みが割り当てられます。
比率は 0 ~ 100 の範囲で指定できます。たとえば、1 つのクラスの帯域幅余剰比率を 2 に設定し、別のクラスで帯域幅余剰比率 4 のキューを設定できます。帯域幅余剰比率 4 は、帯域幅余剰比率 2 の 2 倍の回数スケジュールされます。
ポリシーの全帯域幅の比率の割り当ては 100 を超えることができます。たとえば、1 つのキューの帯域幅余剰比率を 50 に設定し、別のキューに帯域幅余剰比率 100 を設定できます。
の出力キューは、重み付けテール ドロップ(WTD)と呼ばれるテール ドロップ輻輳回避メカニズムの拡張バージョンを使用します。WTD はキュー長を管理したり、トラフィック分類ごとにドロップ優先順位を設定したりするために実装されています。
フレームが特定のキューにキューイングされると、WTD はフレームに割り当てられた QoS ラベルを使用して、それぞれ異なるしきい値を適用します。この QoS ラベルのしきい値を超えると(宛先キューの空きスペースがフレーム サイズより小さくなると)、がフレームをドロップします。
各キューには 3 種類の設定可能なしきい値があります。QoS ラベルは、3 つのしきい値のうちのどれがフレームの影響を受けるかを決定します。
例では、CoS 値 6 は他の CoS 値よりも重要度が高く、100 %のドロップしきい値(キューフル ステート)に割り当てられます。CoS 値 4 は 60 % しきい値に、CoS 値 3 は 40 % しきい値に割り当てられます。これらのしきい値の割り当てはすべて、 queue-limit cos コマンドを使用します。
600 のフレームが格納されているキューに、新しいフレームが着信したとします。これは CoS 値 4 を使用し、60 % のしきい値が適用されます。このフレームがキューに追加されると、しきい値を超過するため、がフレームをドロップします。
次に、重み付けテール ドロップ(WTD)のデフォルト値と、WTD しきい値を設定するためのルールを示します。
各ポートは 8 つの出力キューをサポートし、そのうち 2 つにプライオリティを設定できます。
2 つのクラスのプライオリティを設定するには、priority level ポリシー クラスマップ コマンドを使用します。1 つのクラスにプライオリティ キュー レベル 1 を設定し、別のクラスにプライオリティ キュー レベル 2 を設定する必要があります。これら 2 つのキューのパケットは、他のキューと比較して、低遅延になります。
(注) | プライオリティは 1 つのレベルのみ設定できます。 1 つのポリシーマップで使用できる完全プライオリティまたはレベル付きプライオリティは 1 つだけです。kbps または割合のない同じプライオリティ レベルが設定された複数のプライオリティは、ポリシングですべてが設定された場合にのみ使用できます。 |
ブート時に有線ポートでイネーブルになっているポリシー マップがない場合、デフォルトで作成される 2 つのキューがあります。有線ポートには、MQC ベースのポリシーを使用して最大 8 つのキューを設定できます。次の表に、どのパケットがどのキューに入っているかを示します。
DSCP、Precedence、CoS |
キュー(Queue) |
しきい値(Threshold) |
---|---|---|
制御パケット |
[0] |
2 |
他のパケット |
1 |
2 |
(注) | バッファのアベイラビリティを保証し、ドロップしきい値を設定し、キューの最大メモリ割り当てを設定できます。キュー バッファを設定するには、 queue-buffers ポリシーマップ クラス コマンドを使用します。最大しきい値を設定するには、queue-limit ポリシーマップ クラス コマンドを使用します。 |
バッファ割り当ては 2 種類あります。キューに明示的に予約される厳格なバッファと、特定のポートで未使用時に他のポートで利用可能な柔軟なバッファです。
有線ポートのデフォルトでは、キュー 0 には、厳格なバッファとしてインターフェイスで利用可能なバッファの 40 % が割り当てられます。つまり、1 ギガビット ポートにおいては、キュー 0 に対して 100 バッファが割り当てられ、10 ギガビット ポートにおいては、600 バッファが割り当てられます。このキューの柔軟な最大値は厳格なバッファの 4 倍に設定されます。つまり、1 ギガビット ポートの場合は 400、10 ギガビット ポートの場合は 2400、40 ギガビット ポートの場合は 9600 に設定されます。任意のキューの場合、デフォルトで設定される最大しきい値は 400 です。
キュー 1 に割り当てられた厳格なバッファはありません。柔軟なバッファの最小割り当ては、1 ギガビット ポートの場合は 150 バッファ、10 ギガビット ポートの場合は 900 バッファ、40 ギガビット ポートの場合は 3600 バッファです。キュー 1 の柔軟なバッファの最大割り当ては、柔軟なバッファの最小割り当ての 4 倍に設定されます。つまり、1 ギガビット ポートの場合は 600 バッファ、10 ギガビット ポートの場合は 3600 バッファ、40 ギガビット ポートの場合は 14400 バッファです。
キューに対するバッファ割り当ては、queue-buffers ratio ポリシーマップ クラス コンフィギュレーション コマンドを使用して調整できます。
従来、予約バッファは各キューに静的に割り当てられていました。キューがアクティブかどうかにかかわらず、バッファはキューに保持されます。さらに、キューの数が増えるに従って、各キューに割り当てられた予約バッファの部分が徐々に短くなることがあります。最終的に、すべてのキューのジャンボ フレームをサポートするのに十分な予約バッファがなくなる可能性があります。
デバイスは、バッファ リソースを公平かつ効率的に割り当てる機能として、ダイナミックなしきい値および拡張(DTS)をサポートしています。輻輳が発生すると、この DTS 機能はグローバル/ポート リソースの占有に基づいて、着信データにバッファを柔軟に割り当てます。概念上、DTS は、リソースを他のキューが使用できるように、キュー バッファの割り当てを徐々に縮小します。逆も同様です。この柔軟な方法によって、バッファをより効率的かつ公平に利用できるようになります。
前の項で説明したように、キューには厳格な制限と柔軟な制限の 2 つの制限が設定されています。
厳格な制限は DTS の一部ではありません。これらのバッファはそのキューにだけ使用できます。厳格な制限の合計は、グローバルに設定された厳格な最大制限未満である必要があります。出力キューイングのために設定されたグローバルな厳格な制限は、現在 5705 に設定されています。MQC ポリシーが設定されていない場合のデフォルトのシナリオでは、24 の 1 ギガビット ポートが 24 x 67 = 1608 を、4 つの 10 ギガビット ポートが 4 x 720 = 2880 を使用するため、バッファは合計で 4488 となり、設定に基づいてより厳格なバッファを割り当てることができます。
柔軟なバッファ制限は DTS プロセスに参加します。さらに、柔軟なバッファ割り当ての一部は、グローバルな柔軟な制限の割り当てを超えることができます。出力キューイング用のグローバルな柔軟な制限は、現在 27024 に設定されています。厳格な制限と柔軟な制限の合計は 39696 になり、10.1 MB に変換されます。柔軟なバッファ割り当ての合計がグローバルな制限を超える場合があるため、システムの負荷が軽ければ、特定のキューで多数のバッファを使用できるようになります。DTS プロセスはシステムの負荷が増大するにしたがって、キュー単位の割り当てを動的に調整します。
信頼動作
一般的なネットワークでは、デバイス ポートに Cisco IP Phone を接続し、電話の背後からデータ パケットを生成するデバイスをカスケードします。Cisco IP Phone では、音声パケット CoS レベルをハイ プライオリティ(CoS = 5)にマーキングし、データ パケットをロー プライオリティ(CoS = 0)にマーキングすることで、共有データ リンクを通して音声品質を保証しています。電話からデバイスに送信されたトラフィックは通常 802.1Q ヘッダーを使用するタグでマーキングされています。ヘッダーには VLAN 情報およびパケットのプライオリティになる CoS の 3 ビット フィールドが含まれています。
ほとんどの Cisco IP Phone 設定では、電話からデバイスに送信されるトラフィックは、音声トラフィックがネットワーク内の他のタイプのトラフィックに対して適切にプライオリティ付けがされていることを保証するように信頼されています。 trust device インターフェイス コンフィギュレーション コマンドを使用して、電話の接続先のデバイス ポートが受信トラフィックを信頼するように設定します。
(注) | インターフェイス コンフィギュレーション モードで使用できる trust device device_type コマンドは、デバイス上ではスタンドアロンのコマンドです。このコマンドを AutoQoS 設定で使用するときに、接続されているピア デバイスが対応デバイス(信頼ポリシーに一致するデバイスとして定義されているデバイス)ではない場合、CoS 値と DSCP 値の両方が「0」に設定され、いずれの入力ポリシーも有効になりません。接続されているピア デバイスが対応するデバイスである場合は、入力ポリシーが有効になります。 |
信頼設定により、ユーザが電話をバイパスして PC を直接デバイスに接続する場合に、ハイプライオリティ キューの誤使用を避けるのにも信頼境界機能を使用できます。信頼境界機能を使用しないと、(信頼済みの CoS 設定により)PC が生成した CoS ラベルがデバイスで信頼されてしまいます。それに対して、信頼境界機能は CDP を使用してデバイス ポートにある Cisco IP Phone(Cisco IP Phone 7910、7935、7940、7960 など)の存在を検出します。電話が検出されない場合、信頼境界機能がハイプライオリティ キューの誤使用を避けるためにデバイス ポートの信頼設定をディセーブルにします。信頼境界機能は、PC および Cisco IP Phone がデバイスに接続されているハブに接続されている場合は機能しないことに注意してください。
デバイス(IP 電話、ラップトップ、カメラ、テレプレゼンス ユニットといったデバイスなどのエンドポイント)に接続された有線 ポートでは、それらのエンドポイントからの DSCP 値、precedence 値、または CoS 値がデバイスによって信頼されるので、明示的なポリシー設定がない場合でも保持されます。
パケットはデフォルトの初期設定ごとに適切なキューに入れられます。デフォルトでは、デバイスでの優先キューイングは実行されません。これは、ユニキャストおよびマルチキャスト パケットに当てはまります。
着信パケット |
発信パケット |
信頼動作 |
キューイング動作 |
---|---|---|---|
レイヤ 3 |
レイヤ 3 |
DSCP/Precedence の保持 |
DSCP に基づく |
レイヤ 2 |
レイヤ 2 |
N/A |
CoS に基づく |
Tagged |
Tagged |
DSCP および CoS の保持 |
DSCP に基づく(信頼 DSCP が優先) |
レイヤ 3 |
Tagged |
DSCP の保持、すなわち CoS が 0 に設定される |
DSCP に基づく |
標準 QoS のデフォルト設定
デバイスの各有線インターフェイスでは、デフォルトで 2 つのキューが設定されます。すべての制御トラフィックはキュー 0 を通過し、処理されます。その他すべてのトラフィックはキュー 1 を通過し、処理されます。
(注) |
DSCP 透過モードはデフォルトではディセーブルになっています。これがイネーブルになっている場合(mls qos rewrite ip dscp インターフェイス コンフィギュレーション コマンド)、DSCP の書き換えは実行されません。 |
ターゲットとは、ポリシーが適用されるエンティティです。有線ターゲットには、ポートまたは VLAN を指定できます。
次に、QoS 機能を有線ターゲットのデバイスに適用する場合の制限事項を示します。
有線ターゲットのデバイス ポートでは、最大 8 つのキューイング クラスがサポートされます。
有線ターゲットの有線ポートでは、ポリシーごとに最大 63 のポリサーがサポートされます。
Cisco IOS XE Release 3.7.5E 以降のリリースでは、ダウンリンク ポートのサイズは 10 GB ですが、デフォルトでは、すべてのダウンリンク ポートに 1 GB のポート バッファが割り当てられます。この変更の前は、すべての 1 GB ダウンリンク ポートには 1 GB バッファが、10 GB ダウンリンク ポートには 10 GB バッファが割り当てられていました。
最大 1599 のポリシーマップを作成できます。
QoS 階層でサポートされるのは最大 2 レベルです。
階層型ポリシーでは、子ポリシーの親およびキュー機能のポリシーにポート シェーパーがある場合を除き、親子間のオーバーラップは許可されていません。
QoS ポリシーは、EtherChannel インターフェイスに付加できません。
親と子の両方のポリシングは、QoS 階層ではサポートされていません。
親と子の両方のマーキングは、QoS 階層ではサポートされていません。
同じポリシーでのキュー制限とキュー バッファの混在はサポートされません。
(注) | キュー制限の割合は、queue-buffer コマンドがこの機能を処理するため、デバイスではサポートされていません。キュー制限は、DSCP および CoS 拡張でのみサポートされます。 |
シェーピングでは、ハードウェア内部に占める 20 バイトの IPG オーバーヘッドがすべてのパケットにあります。シェーピングの精度はこれにより向上し、とくに小さいサイズのパケットに対して効果があります。
すべての有線キューイングベース ポリシーの分類シーケンスはすべての有線アップストリーム ポート(10 ギガビット イーサネット)で同じであり、すべてのダウンストリーム有線ポート(1 ギガビット イーサネット)で同じです。
空のクラスはサポートされません。
空のアクションによるクラス マップはサポートされません。クラス マップの順序が同じポリシーが 2 つあり、どちらかのポリシーにアクションが含まれていないクラス マップがある場合、トラフィックのドロップが起こる可能性があります。回避策として、PRIORITY_QUEUE 内のすべてのクラスに最小帯域幅を割り当てます。
有線ターゲットの有線ポートでは、ポリシーごとに最大 256 のクラスがサポートされます。
ポリシー マップ内のポリサーのアクションには、次の制限事項があります。
ポート レベルの入力マーキング ポリシーは SVI ポリシーより優先されますが、ポート ポリシーが設定されていない場合は、SVI ポリシーが優先されます。優先するポート ポリシーに対し、ポート レベルのポリシーを定義します。SVI ポリシーが上書きされるようにするためです。
分類カウンタには、次の制限事項があります。
分類カウンタは、バイトの代わりにパケットをカウントします。
フィルタ ベースの分類カウンタはサポートされません。
マーキングまたはポリシングによる QoS 設定だけが、分類カウンタをトリガーします。
分類カウンタはポート ベースではありません。これは、分類カウンタが、異なるインターフェイスに接続し、同じポリシーの同じクラスに属するすべてのパケットを集約することを意味します。
ポリシー内にポリシングまたはマーキング アクションがある限り、クラス デフォルトは分類カウンタを保持します。
テーブル マップには次の制限事項があります。
階層型ポリシーは次の機能で必要になります。
有線ターゲットを含むポートでは、次の階層型ポリシーだけがサポートされています。
インターフェイス コンフィギュレーション モードで使用可能な trust device device_type コマンドは、デバイスでのスタンドアロン コマンドです。このコマンドを AutoQoS 設定で使用するときに、接続されているピア デバイスが対応デバイス(信頼ポリシーに一致するデバイスとして定義されているデバイス)ではない場合、CoS 値と DSCP 値の両方が「0」に設定され、いずれの入力ポリシーも有効になりません。接続されているピア デバイスが対応するデバイスである場合は、入力ポリシーが有効になります。
次に、VLAN の QoS 機能を有線ターゲットに適用する場合の制限事項を示します。
次に、EtherChannel とチャネル メンバー インターフェイスで QoS 機能を適用するための制限事項と考慮事項を示します。
QoS は、EtherChannel インターフェイスではサポートされません。
チャネル メンバーへサービス ポリシーを付加すると、EtherChannel 内のすべてのポートに同じポリシーが接続されていることを確認するようユーザに知らせる、次の警告メッセージが表示されます。「Warning: add service policy will cause inconsistency with port xxx in ether channel xxx.」
自動 QoS は EtherChannel メンバーではサポートされません。
(注) | EtherChannel へサービス ポリシーを付加すると、次のメッセージがコンソールに表示されます。「Warning: add service policy will cause inconsistency with port xxx in ether channel xxx.」。この警告メッセージは予期されるメッセージです。この警告メッセージは、同じ EtherChannel 内の他のポートに同じポリシーを付加するように促すものです。同じメッセージがブートアップ中にも表示されます。このメッセージは、EtherChannel メンバー ポート間に不一致があることを意味するものではありません。 |
QoS の設定方法
クラス、ポリシー、およびマップの設定
一致基準が含まれるトラフィック クラスを作成するには、class-map コマンドを使用してトラフィック クラス名を指定し、必要に応じて、match コマンドをクラスマップ コンフィギュレーション モードで使用します。
この設定作業で指定するすべての match コマンドの使用は任意ですが、1 つのクラスに少なくとも 1 つの一致基準を設定する必要があります。
ポリシー マップを設定します。
トラフィック ポリシーを作成するには、policy-map グローバル コンフィギュレーション コマンドを使用して、トラフィック ポリシーの名前を指定します。
トラフィック クラスは、class コマンドを使用したときにサービス ポリシーと関連付けられます。class コマンドは、ポリシー マップ コンフィギュレーション モードを開始した後に実行する必要があります。class コマンドを入力すると、 デバイスが自動的にポリシー マップ クラス コンフィギュレーション モードを開始します。ここでトラフィック ポリシーの QoS ポリシーを定義します。
次のポリシー マップ クラスのアクションがサポートされます。
bandwidth:帯域幅設定オプション。
exit:QoS クラス アクション コンフィギュレーション モードを終了します。
no:コマンドのデフォルト値を無効にするか、設定します。
police:ポリシング機能の設定オプション。
priority:このクラスの完全スケジューリング プライオリティの設定オプション。
queue-buffers:キューのバッファ設定オプション。
queue-limit:重み付けテール ドロップ(WTD)設定オプションのキューの最大しきい値。
service-policy:QoS サービス ポリシーを設定します。
set:次のオプションを使用して QoS 値を設定します。
shape:トラフィック シェーピング設定オプション。
最初にクラス マップを作成する必要があります。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configureterminal 例: Device# configure terminal | |
ステップ 2 | policy-map policy-map name 例: Device(config)# policy-map test_2000 Device(config-pmap)# |
ポリシー マップ コンフィギュレーション モードを開始します。 1 つ以上のインターフェイスに対応付けることができるポリシー マップを作成または修正し、サービス ポリシーを指定します。 |
ステップ 3 | class {class-name | class-default} 例: Device(config-pmap)# class test_1000 Device(config-pmap-c)# |
ポリシーを作成または変更するクラスの名前を指定します。 未分類のパケットのシステム デフォルト クラスも作成できます。 |
ステップ 4 | bandwidth{kb/s kb/s value|percent percentage | remaining {percent | ratio}} 例: Device(config-pmap-c)# bandwidth 50 Device(config-pmap-c)# |
(任意)次のいずれかを使用して帯域幅を設定します。
このコマンドおよび使用の詳細な例については、帯域幅の設定を参照してください。 |
ステップ 5 | exit 例: Device(config-pmap-c)# exit Device(config-pmap-c)# |
(任意)QoS クラス アクション コンフィギュレーション モードを終了します。 |
ステップ 6 | no 例: Device(config-pmap-c)# no Device(config-pmap-c)# |
(任意)コマンドを無効にします。 |
ステップ 7 | police {target_bit_rate| cir| rate} 例: Device(config-pmap-c)# police 100000 Device(config-pmap-c)# |
(任意)ポリサーを設定します。
このコマンドおよび使用の詳細な例については、ポリシングの設定を参照してください。 |
ステップ 8 | priority {kb/s | level level value | percent percentage value} 例: Device(config-pmap-c)# priority percent 50 Device(config-pmap-c)# |
(任意)このクラスに完全スケジューリング プライオリティを設定します。コマンド オプションは次のとおりです。
このコマンドおよび使用の詳細な例については、プライオリティの設定を参照してください。 |
ステップ 9 | queue-buffers ratio ratio limit 例: Device(config-pmap-c)# queue-buffers ratio 10 Device(config-pmap-c)# |
(任意)クラスのキュー バッファを設定します。キュー バッファの割合制限(0 ~ 100)を入力します。 このコマンドおよび使用の詳細な例については、キュー バッファの設定を参照してください。 |
ステップ 10 | queue-limit {packets: パケット数 | cos | dscp | percent} 例: Device(config-pmap-c)# queue-limit cos 7 percent 50 Device(config-pmap-c)# |
(任意)テール ドロップに対してキューの最大しきい値を指定します。
このコマンドおよび使用の詳細な例については、キュー制限の設定を参照してください。 |
ステップ 11 | service-policy policy-map name 例: Device(config-pmap-c)# service-policy test_2000 Device(config-pmap-c)# |
(任意)QoS サービス ポリシーを設定します。 |
ステップ 12 | set {cos |dscp |ip| precedence |qos-group |wlan} 例: Device(config-pmap-c)# set cos 7 Device(config-pmap-c)# |
(任意)QoS 値を設定します。使用可能な QoS 設定値は次のとおりです。 |
ステップ 13 | shape average {target _bit_rate | percent} 例: Device(config-pmap-c) #shape average percent 50 Device(config-pmap-c) # |
このコマンドおよび使用の詳細な例については、シェーピングの設定を参照してください。 |
ステップ 14 | end 例: Device(config-pmap-c) #end Device(config-pmap-c) # |
設定の変更内容を保存します。 |
インターフェイスを設定します。
この手順を開始する前にクラス マップとポリシー マップを作成する必要があります。
service-policy コマンドを使用して、インターフェイスにトラフィック ポリシーを付加します。
トラフィック クラスとトラフィック ポリシーの作成後、service-policy インターフェイス コンフィギュレーション コマンドを使用して、トラフィック ポリシーをインターフェイスに付加し、ポリシーを適用する方向を指定します(インターフェイスに着信するパケットまたはインターフェイスから送信されるパケット)。
インターフェイスにトラフィック ポリシーを付加する前に、トラフィック クラスとトラフィック ポリシーを作成する必要があります。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configureterminal 例: Device# configure terminal | |
ステップ 2 | interface type 例: Device(config)# interface GigabitEthernet1/0/1 Device(config-if)# |
インターフェイス コンフィギュレーション モードを開始し、インターフェイスを設定します。 インターフェイス コンフィギュレーションのコマンド パラメータは次のとおりです。
|
ステップ 3 | service-policy {input policy-map | output policy-map } 例: Device(config-if)# service-policy output policy_map_01 Device(config-if)# |
ポリシー マップを入力または出力インターフェイスに適用します。このポリシー マップは、そのインターフェイスのサービス ポリシーとして使用されます。 この例では、トラフィック ポリシーでそのインターフェイスから送信されるすべてのトラフィックを評価します。 |
ステップ 4 | end 例: Device(config-if)# end Device# |
設定変更を保存します。 |
ステップ 5 | show policy map 例:
Device# show policy map
|
(任意)指定されたインターフェイスのポリシーの統計情報を表示します。 |
他のトラフィック ポリシーをインターフェイスに付加し、ポリシーを適用する方向を指定します。
実行対象となるトラフィック クラスを指定する非階層型ポリシー マップを、物理ポート上に設定できます。サポートされるアクションは再マーキングとポリシングです。
この手順を開始する前に、ネットワーク トラフィックの分類、ポリシング、およびマーキングについて、あらかじめポリシー マップによって決定しておく必要があります。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configureterminal 例: Device# configure terminal | |
ステップ 2 | class-map {class-map name | match-any} 例: Device(config)# class-map ipclass1 Device(config-cmap)# exit Device(config)# |
クラス マップ コンフィギュレーション モードを開始します。 |
ステップ 3 | match access-group { access list index | access list name } 例: Device(config-cmap)# match access-group 1000 Device(config-cmap)# exit Device(config)# |
分類基準をクラス マップに一致するように指定します。次の基準について照合できます。 |
ステップ 4 | policy-map policy-map-name 例: Device(config)# policy-map flowit Device(config-pmap)# |
ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシーマップ コンフィギュレーション モードを開始します。 |
ステップ 5 | class {class-map-name | class-default} 例: Device(config-pmap)# class ipclass1 Device(config-pmap-c)# |
トラフィックの分類を定義し、ポリシーマップ クラス コンフィギュレーション モードを開始します。 デフォルトでは、ポリシー マップ クラス マップは定義されていません。 すでに class-map グローバル コンフィギュレーション コマンドを使用してトラフィック クラスが定義されている場合は、このコマンドで class-map-name にその名前を指定します。 class-default トラフィック クラスは定義済みで、どのポリシーにも追加できます。このトラフィック クラスは、常にポリシー マップの最後に配置されます。暗黙の match any が class-default クラスに含まれている場合、他のトラフィック クラスと一致していないすべてのパケットは class-default と一致します。 |
ステップ 6 | set {cos |dscp |ip| precedence |qos-group |wlan user-priority} 例: Device(config-pmap-c)# set dscp 45 Device(config-pmap-c)# |
(任意)QoS 値を設定します。使用可能な QoS 設定値は次のとおりです。
この例では、 set dscp コマンドが、パケットでの新しい DSCP 値を設定して IP トラフィックを分類します。 |
ステップ 7 | police {target_bit_rate| cir| rate} 例: Device(config-pmap-c)# police 100000 conform-action transmit exceed-action drop Device(config-pmap-c)# |
(任意)ポリサーを設定します。
この例では、police コマンドが 100000 セットのターゲット ビット レートを超えるトラフィックがドロップされるクラスにポリサーを追加します。 |
ステップ 8 | exit 例: Device(config-pmap-c)# exit | |
ステップ 9 | exit 例: Device(config-pmap)# exit | |
ステップ 10 | interface interface-id 例: Device(config)# interface gigabitethernet 2/0/1 | |
ステップ 11 | service-policy input policy-map-name 例: Device(config-if)# service-policy input flowit | |
ステップ 12 | end 例: Device(config-if)# end | |
ステップ 13 | show policy-map [policy-map-name [class class-map-name]] 例: Device# show policy-map | |
ステップ 14 | copy running-config startup-config 例: Device# copy-running-config startup-config |
必要に応じて QoS 設定は、ポリシー マップを使用して、SVI のトラフィックの分類、ポリシング、およびマーキングを設定します。
この手順を開始する前に、ポリシー マップを使用して、ネットワーク トラフィックの分類、ポリシング、およびマーキングについて決定しておく必要があります。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configureterminal 例: Device# configure terminal | |
ステップ 2 | class-map {class-map name | match-any} 例:
Device(config)# class-map class_vlan100
|
クラス マップ コンフィギュレーション モードを開始します。 |
ステップ 3 | match vlan vlan number 例: Device(config-cmap)# match vlan 100 Device(config-cmap)# exit Device(config)# |
VLAN をクラス マップに一致するように指定します。 |
ステップ 4 | policy-map policy-map-name 例: Device(config)# policy-map policy_vlan100 Device(config-pmap)# |
ポリシー マップ名を入力することによってポリシー マップを作成し、ポリシーマップ コンフィギュレーション モードを開始します。 |
ステップ 5 | description 説明 例:
Device(config-pmap)# description vlan 100
|
(任意)ポリシー マップの説明を入力します。 |
ステップ 6 | class {class-map-name | class-default} 例: Device(config-pmap)# class class_vlan100 Device(config-pmap-c)# |
トラフィック分類を定義し、ポリシーマップ クラス コンフィギュレーション モードを開始します。 デフォルトでは、ポリシー マップ クラス マップは定義されていません。 すでに class-map グローバル コンフィギュレーション コマンドを使用してトラフィック クラスが定義されている場合は、このコマンドで class-map-name にその名前を指定します。 class-default トラフィック クラスは定義済みで、どのポリシーにも追加できます。このトラフィック クラスは、常にポリシー マップの最後に配置されます。暗黙の match any が class-default クラスに含まれている場合、他のトラフィック クラスと一致していないすべてのパケットは class-default と一致します。 |
ステップ 7 | set {cos |dscp |ip| precedence |qos-group |wlan user-priority} 例: Device(config-pmap-c)# set dscp af23 Device(config-pmap-c)# |
(任意)QoS 値を設定します。使用可能な QoS 設定値は次のとおりです。
この例では、 set dscp コマンドが AF23(010010)の DSCP 値にパケットを照合することによって、IP トラフィックを分類します。 |
ステップ 8 | police {target_bit_rate| cir| rate} 例: Device(config-pmap-c)# police 200000 conform-action transmit exceed-action drop Device(config-pmap-c)# |
(任意)ポリサーを設定します。
この例では、police コマンドが 200000 セットのターゲット ビット レートを超えるトラフィックがドロップされるクラスにポリサーを追加します。 |
ステップ 9 | exit 例: Device(config-pmap-c)# exit | |
ステップ 10 | exit 例: Device(config-pmap)# exit | |
ステップ 11 | interface interface-id 例: Device(config)# interface gigabitethernet 1/0/3 | |
ステップ 12 | service-policy input policy-map-name 例: Device(config-if)# service-policy input policy_vlan100 | |
ステップ 13 | end 例: Device(config-if)# end | |
ステップ 14 | show policy-map [policy-map-name [class class-map-name]] 例: Device# show policy-map | |
ステップ 15 | copy running-config startup-config 例: Device# copy-running-config startup-config |
テーブル マップはマーキングの形式であり、テーブルを使用してフィールド間のマッピングと変換を可能にすることもできます。たとえば、テーブル マップはレイヤ 2 の CoS 設定をレイヤ 3 の precedence 値にマッピングして変換するために使用できます。
(注) | テーブル マップは、複数のポリシーで、または同じポリシー内で複数回参照できます。 |
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configureterminal 例: Device# configure terminal | |||
ステップ 2 | table-map name {default {default value | copy | ignore} | exit | map {from from valueto to value } | no} 例: Device(config)# table-map table01 Device(config-tablemap)# |
テーブル マップを作成し、テーブル マップ コンフィギュレーション モードを開始します。テーブル マップ コンフィギュレーション モードでは、次のタスクを実行できます。 | ||
ステップ 3 | mapfrom valueto value 例: Device(config-tablemap)# map from 0 to 2 Device(config-tablemap)# map from 1 to 4 Device(config-tablemap)# map from 24 to 3 Device(config-tablemap)# map from 40 to 6 Device(config-tablemap)# default 0 Device(config-tablemap)# |
この手順では、DSCP 値が 0 のパケットを CoS 値 2 に、DSCP 値が 1 のパケットを CoS 値 4 に、DSCP 値が 24 のパケットを CoS 値 3 に、DSCP 値が 40 のパケットを CoS 値 6 に、およびそれ以外のすべてのパケットを CoS 値 0 にマークします。
| ||
ステップ 4 | exit 例: Device(config-tablemap)# exit Device(config)# |
グローバル コンフィギュレーション モードに戻ります。 | ||
ステップ 5 | exit 例: Device(config) exit Device# |
特権 EXEC モードに戻ります。 | ||
ステップ 6 | show table-map 例:
Device# show table-map
Table Map table01
from 0 to 2
from 1 to 4
from 24 to 3
from 40 to 6
default 0
|
テーブル マップ設定を表示します。 | ||
ステップ 7 | configureterminal 例: Device# configure terminal Device(config)# |
グローバル コンフィギュレーション モードを開始します。 | ||
ステップ 8 | policy-map 例: Device(config)# policy-map table-policy Device(config-pmap)# |
テーブル マップのポリシー マップを設定します。 | ||
ステップ 9 | class class-default 例: Device(config-pmap)# class class-default Device(config-pmap-c)# |
クラスをシステム デフォルトに一致させます。 | ||
ステップ 10 | set cos dscp table table map name 例: Device(config-pmap-c)# set cos dscp table table01 Device(config-pmap-c)# |
このポリシーが入力ポートに適用された場合、そのポートでは trust dscp がイネーブルになり、テーブル マップに応じてマーキングが行われます。 | ||
ステップ 11 | end 例: Device(config-pmap-c)# end Device# |
特権 EXEC モードに戻ります。 |
ネットワークの QoS 用の追加のポリシー マップを設定します。ポリシー マップを作成したら、service-policy コマンドを使用してトラフィック ポリシーまたはポリシーをインターフェイスに付加します。
QoS の特性と機能の設定
この手順は、で帯域幅を設定する方法を示します。
この手順を開始する前に、帯域幅のクラス マップを作成する必要があります。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configureterminal 例: Device# configure terminal | |||
ステップ 2 | policy-map policy name 例: Device(config)# policy-map policy_bandwidth01 Device(config-pmap)# |
ポリシー マップ コンフィギュレーション モードを開始します。 1 つ以上のインターフェイスに対応付けることができるポリシー マップを作成または修正し、サービス ポリシーを指定します。 | ||
ステップ 3 | class class name 例: Device(config-pmap)# class class_bandwidth01 Device(config-pmap-c)# |
ポリシー クラス マップ コンフィギュレーション モードを開始します。ポリシーを作成または変更するクラスの名前を指定します。ポリシー クラス マップ コンフィギュレーション モードには、次のコマンド オプションが含まれます。 | ||
ステップ 4 | bandwidth {Kb/s | percent percentage | remaining { ratio ratio }} 例: Device(config-pmap-c)# bandwidth 200000 Device(config-pmap-c)# |
ポリシー マップの帯域幅を設定します。パラメータは次のとおりです。
| ||
ステップ 5 | end 例: Device(config-pmap-c)# end Device# |
設定変更を保存します。 | ||
ステップ 6 | show policy-map 例:
Device# show policy-map
|
(任意)すべてのサービス ポリシーに設定されたすべてのクラスに関するポリシー設定情報を表示します。 |
ネットワークの QoS 用の追加のポリシー マップを設定します。ポリシー マップを作成したら、service-policy コマンドを使用して、インターフェイスにトラフィック ポリシーを付加します。
この手順は、でポリシングを設定する方法を説明しています。
この手順を開始する前に、ポリシングのクラス マップを作成する必要があります。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configureterminal 例: Device# configure terminal | |||
ステップ 2 | policy-map policy name 例: Device(config)# policy-map policy_police01 Device(config-pmap)# |
ポリシー マップ コンフィギュレーション モードを開始します。 1 つ以上のインターフェイスに対応付けることができるポリシー マップを作成または修正し、サービス ポリシーを指定します。 | ||
ステップ 3 | class class name 例: Device(config-pmap)# class class_police01 Device(config-pmap-c)# |
ポリシー クラス マップ コンフィギュレーション モードを開始します。ポリシーを作成または変更するクラスの名前を指定します。ポリシー クラス マップ コンフィギュレーション モードには、次のコマンド オプションが含まれます。 | ||
ステップ 4 | police {target_bit_rate [burst bytes | bc | conform-action | pir ] | cir {target_bit_rate | percent percentage} | rate {target_bit_rate | percent percentage} conform-actiontransmitexceed-action {drop [violate action] | set-cos-transmit | set-dscp-transmit | set-prec-transmit | transmit [violate action] }} 例: Device(config-pmap-c)# police 8000 conform-action transmit exceed-action drop Device(config-pmap-c)# |
次の police サブコマンド オプションを使用できます。
次の police conform-action transmit exceed-action サブコマンド オプションを使用できます。
| ||
ステップ 5 | end 例: Device(config-pmap-c)# end Device# |
設定変更を保存します。 | ||
ステップ 6 | show policy-map 例:
Device# show policy-map
|
(任意)すべてのサービス ポリシーに設定されたすべてのクラスに関するポリシー設定情報を表示します。
|
ネットワークの QoS 用の追加のポリシー マップを設定します。ポリシー マップを作成したら、service-policy コマンドを使用してトラフィック ポリシーまたはポリシーをインターフェイスに付加します。
次に、デバイスで優先順位を設定する手順を示します。
デバイスでは、指定されたキューに優先順位を指定できます。使用可能な 2 つのプライオリティ レベルがあります(1 および 2)。(注) | 音声とビデオに対応するキューには、プライオリティ レベル 1 を割り当てます。 |
この手順を開始する前に、プライオリティのクラス マップを作成する必要があります。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configureterminal 例: Device# configure terminal | |||
ステップ 2 | policy-map policy name 例: Device(config)# policy-map policy_priority01 Device(config-pmap)# |
ポリシー マップ コンフィギュレーション モードを開始します。 1 つ以上のインターフェイスに対応付けることができるポリシー マップを作成または修正し、サービス ポリシーを指定します。 | ||
ステップ 3 | class class name 例: Device(config-pmap)# class class_priority01 Device(config-pmap-c)# |
ポリシー クラス マップ コンフィギュレーション モードを開始します。ポリシーを作成または変更するクラスの名前を指定します。ポリシー クラス マップ コンフィギュレーション モードには、次のコマンド オプションが含まれます。 | ||
ステップ 4 | priority [Kb/s [burst_in_bytes] | level level_value [Kb/s [burst_in_bytes] | percent percentage [burst_in_bytes] ] | percent percentage [burst_in_bytes] ] 例: Device(config-pmap-c)# priority level 1 Device(config-pmap-c)# | (任意)priority コマンドは、クラスに完全スケジューリング プライオリティを割り当てます。 コマンド オプションは次のとおりです。
| ||
ステップ 5 | end 例: Device(config-pmap-c)# end Device# |
設定変更を保存します。 | ||
ステップ 6 | show policy-map 例:
Device# show policy-map
|
(任意)すべてのサービス ポリシーに設定されたすべてのクラスに関するポリシー設定情報を表示します。 |
ネットワークの QoS 用の追加のポリシー マップを設定します。ポリシー マップを作成したら、service-policy コマンドを使用してトラフィック ポリシーまたはポリシーをインターフェイスに付加します。
キューとシェーピングの設定
ネットワークおよび QoS ソリューションの複雑さによっては、この項の手順をすべて実行する必要があります。次の特性を決定する必要があります。
(注) | 出力キューはデバイスでのみ設定できます。 |
を使用すると、キューにバッファを割り当てることができます。バッファが割り当てられていない場合は、すべてのキューに対して均等に分割されます。queue-buffer ratio を使用して、特定の比率で分割できます。デフォルトで DTS(Dynamic Threshold and Scaling)はすべてのキューでアクティブになるため、これらはソフト バッファになります。
この手順の前提条件を次に示します。
コマンドまたはアクション | 目的 | |||||
---|---|---|---|---|---|---|
ステップ 1 | configureterminal 例: Device# configure terminal | |||||
ステップ 2 | policy-map policy name 例: Device(config)# policy-map policy_queuebuffer01 Device(config-pmap)# |
ポリシー マップ コンフィギュレーション モードを開始します。 1 つ以上のインターフェイスに対応付けることができるポリシー マップを作成または修正し、サービス ポリシーを指定します。 | ||||
ステップ 3 | class class name 例: Device(config-pmap)# class class_queuebuffer01 Device(config-pmap-c)# |
ポリシー クラス マップ コンフィギュレーション モードを開始します。ポリシーを作成または変更するクラスの名前を指定します。ポリシー クラス マップ コンフィギュレーション モードには、次のコマンド オプションが含まれます。 | ||||
ステップ 4 | bandwidth {Kb/s | percent percentage | remaining { ratio ratio value }} 例: Device(config-pmap-c)# bandwidth percent 80 Device(config-pmap-c)# |
ポリシー マップの帯域幅を設定します。コマンド パラメータは次のとおりです。
| ||||
ステップ 5 | queue-buffers {ratio ratio value} 例: Device(config-pmap-c)# queue-buffers ratio 10 Device(config-pmap-c)# |
キューの相対的なバッファ サイズを設定します。
| ||||
ステップ 6 | end 例: Device(config-pmap-c)# end Device# |
設定変更を保存します。 | ||||
ステップ 7 | show policy-map 例:
Device# show policy-map
|
(任意)すべてのサービス ポリシーに設定されたすべてのクラスに関するポリシー設定情報を表示します。 |
ネットワークの QoS 用の追加のポリシー マップを設定します。ポリシー マップを作成したら、service-policy コマンドを使用してトラフィック ポリシーまたはポリシーをインターフェイスに付加します。
重み付けテール ドロップ(WTD)を設定するためにキュー制限を使用します。WTD を使用すると、キューごとに複数のしきい値を設定できます。各サービス クラスが異なるしきい値でドロップされて QoS 差別化が実現されます。によって、3 つの明示的にプログラム可能なしきい値クラスとして各キューに 0、1、2 を指定できます。したがって、キューごとに各パケットのキューイング/ドロップの決定は、フレーム ヘッダーの DSCP、CoS、または QoS グループ フィールドに指定されたパケットのしきい値クラスの割り当てによって決定されます。
WTD では柔軟な制限が使用されるため、最大 400 %(共通プールで予約されるバッファの最大 4 倍)のキュー制限を設定できます。この柔軟な制限は、他の機能に影響することなく、共通プールのオーバーランを防止します。
(注) | キュー制限は、有線ポートの出力キューでのみ設定できます。 |
この手順の前提条件を次に示します。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configureterminal 例: Device# configure terminal | |||
ステップ 2 | policy-map policy name 例: Device(config)# policy-map policy_queuelimit01 Device(config-pmap)# |
ポリシー マップ コンフィギュレーション モードを開始します。 1 つ以上のインターフェイスに対応付けることができるポリシー マップを作成または修正し、サービス ポリシーを指定します。 | ||
ステップ 3 | class class name 例: Device(config-pmap)# class class_queuelimit01 Device(config-pmap-c)# |
ポリシー クラス マップ コンフィギュレーション モードを開始します。ポリシーを作成または変更するクラスの名前を指定します。ポリシー クラス マップ コンフィギュレーション モードには、次のコマンド オプションが含まれます。 | ||
ステップ 4 | bandwidth {Kb/s | percent percentage | remaining { ratio ratio value }} 例: Device(config-pmap-c)# bandwidth 500000 Device(config-pmap-c)# |
ポリシー マップの帯域幅を設定します。パラメータは次のとおりです。
| ||
ステップ 5 | queue-limit {packets | {cos value { maximum threshold value | percentage } | {cos value | percentage } } | {dscp value {maximum threshold value | percentage} | match packet {maximum threshold value | percentage} | {maximum threshold value | percentage} | {maximum threshold value | percentage} | dscp value} | percentage }}packetscospercent valuespercentdscppercentpercentdefaultpercentefpercentdscp valuespercent 例: Device(config-pmap-c)# queue-limit dscp 3 percent 20 Device(config-pmap-c)# queue-limit dscp 4 percent 30 Device(config-pmap-c)# queue-limit dscp 5 percent 40 |
キュー制限のしきい値の割合を設定します。 すべてのキューで、3 つのしきい値(0、1、2)があり、それぞれのしきい値についてデフォルト値があります。デフォルトまたはその他のキュー制限しきい値設定を変更するには、このコマンドを使用します。たとえば、DSCP 3、4、および 5 のパケットが設定した特定のキューに送信される場合、このコマンドは、この 3 つの DSCP 値のしきい値パーセンテージを設定できます。キュー制限しきい値に関する詳細については、重み付けテール ドロップを参照してください。
| ||
ステップ 6 | end 例: Device(config-pmap-c)# end Device# |
設定変更を保存します。 | ||
ステップ 7 | show policy-map 例:
Device# show policy-map
|
(任意)すべてのサービス ポリシーに設定されたすべてのクラスに関するポリシー設定情報を表示します。 |
ネットワークの QoS 用の追加ポリシー マップを設定します。ポリシー マップを作成したら、service-policy コマンドを使用して、トラフィック ポリシーまたはポリシーをインターフェイスに付加します。
特定のクラスのシェーピング(最大帯域幅)を設定するには、shape コマンドを使用します。ポートに残っている追加帯域幅があっても、キューの帯域幅はこの値に制限されます。シェーピングは平均の割合で、または bps のシェーピングの平均値で設定できます。
この手順を開始する前に、シェーピングのクラス マップを作成する必要があります。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configureterminal 例: Device# configure terminal | |
ステップ 2 | policy-map policy name 例: Device(config)# policy-map policy_shaping01 Device(config-pmap)# |
ポリシー マップ コンフィギュレーション モードを開始します。 1 つ以上のインターフェイスに対応付けることができるポリシー マップを作成または修正し、サービス ポリシーを指定します。 |
ステップ 3 | class class name 例: Device(config-pmap)# class class_shaping01 Device(config-pmap-c)# |
ポリシー クラス マップ コンフィギュレーション モードを開始します。ポリシーを作成または変更するクラスの名前を指定します。ポリシー クラス マップ コンフィギュレーション モードには、次のコマンド オプションが含まれます。 |
ステップ 4 | shapeaverage {target bit rate | percent percentage} 例: Device(config-pmap-c)# shape average percent 50 Device(config-pmap-c)# |
平均シェーピング レートを設定します。平均シェーピング レートを、ターゲット ビット レート(bps)または認定情報レート(CIR)のインターフェイス帯域幅の割合で設定できます。 |
ステップ 5 | end 例: Device(config-pmap-c)# end Device# |
設定変更を保存します。 |
ステップ 6 | show policy-map 例:
Device# show policy-map
|
(任意)すべてのサービス ポリシーに設定されたすべてのクラスに関するポリシー設定情報を表示します。 |
ネットワークの QoS 用の追加のポリシー マップを設定します。ポリシー マップを作成したら、service-policy コマンドを使用してトラフィック ポリシーをインターフェイスに付加します。
コマンド |
説明 |
---|---|
show class-map type control subscriber {all | name } |
制御クラス マップと統計情報を表示します。 |
show policy-map interface { ANI | AccessTunnel |Auto-template | CEM-PG | FortyGigabitEthernet |GigabitEthernet | | InternalInterface | LISP |Loopback | Null | PROTECTION_GROUP |Port-channel | SDH_ACR | TLS_VIF |TenGigabitEthernet | Tunnel | Vlan | brief | class | input | output | wireless } |
で設定されているすべてのポリシーのランタイムと統計情報を表示します。コマンド パラメータは次のとおりです。
|
show policy-map session [ input | output | uid UUID ] |
セッションの QoS ポリシーを表示します。コマンド パラメータは次のとおりです。 |
show table-map |
すべてのテーブル マップと設定を表示します。 |
QoS の設定例
この例は、アクセス コントロール リスト(ACL)を使用して QoS のパケットを分類する方法を示しています。
Device# configure terminal Device(config)# access-list 101 permit ip host 12.4.1.1 host 15.2.1.1 Device(config)# class-map acl-101 Device(config-cmap)# description match on access-list 101 Device(config-cmap)# match access-group 101 Device(config-cmap)#
ACL を使用してクラスマップを作成した後で、クラスのポリシー マップを作成し、ポリシー マップを QoS のインターフェイスに適用します。
この例は、サービス クラス レイヤ 2 の分類を使用して QoS に対してパケットを分類する方法を示しています。
Device# configure terminal Device(config)# class-map cos Device(config-cmap)# match cos ? <0-7> Enter up to 4 class-of-service values separated by white-spaces Device(config-cmap)# match cos 3 4 5 Device(config-cmap)#
CoS レイヤ 2 の分類を使用してクラス マップを作成したら、そのクラスのポリシー マップを作成し、QoS のインターフェイスにポリシー マップを適用します。
この例は、サービス クラス DSCP の分類を使用して、QoS に対してパケットを分類する方法を示しています。
Device# configure terminal Device(config)# class-map dscp Device(config-cmap)# match dscp af21 af22 af23 Device(config-cmap)#
DSCP 分類を使用してクラス マップを作成したら、クラスのポリシー マップを作成し、QoS のインターフェイスにポリシー マップを適用します。
この例は、VLAN ID レイヤ 2 の分類を使用して QoS に分類する方法を示しています。
Device# configure terminal Device(config)# class-map vlan-120 Device(config-cmap)# match vlan ? <1-4095> VLAN id Device(config-cmap)# match vlan 120 Device(config-cmap)#
VLAN レイヤ 2 の分類を使用してクラス マップを作成したら、クラスのポリシー マップを作成し、QoS のインターフェイスにポリシー マップを適用します。
この例は、DSCP 値または precedence 値を使用してパケットを分類する方法を示しています。
Device# configure terminal Device(config)# class-map prec2 Device(config-cmap)# description matching precedence 2 packets Device(config-cmap)# match ip precedence 2 Device(config-cmap)# exit Device(config)# class-map ef Device(config-cmap)# description EF traffic Device(config-cmap)# match ip dscp ef Device(config-cmap)#
DSCP 値または precedence 値を使用してクラス マップを作成したら、クラスのポリシー マップを作成し、QoS のインターフェイスにポリシー マップを適用します。
次の例は、child という名前の別のクラスに一致する parent という名前のクラスが作成される、階層型分類を示しています。child という名前のクラスは、2 に設定された IP precedence に基づいて照合されます。
Device# configure terminal Device(config)# class-map child Device(config-cmap)# match ip precedence 2 Device(config-cmap)# exit Device(config)# class-map parent Device(config-cmap)# match class child Device(config-cmap)#
親クラス マップを作成したら、クラスのポリシー マップを作成し、QoS のインターフェイスにポリシー マップを適用します。
次の例は、階層型ポリシーを使用した設定を示しています。
Device# configure terminal Device(config)# class-map c1 Device(config-cmap)# match dscp 30 Device(config-cmap)# exit Device(config)# class-map c2 Device(config-cmap)# match precedence 4 Device(config-cmap)# exit Device(config)# class-map c3 Device(config-cmap)# exit Device(config)# policy-map child Device(config-pmap)# class c1 Device(config-pmap-c)# priority level 1 Device(config-pmap-c)# police rate percent 20 conform-action transmit exceed action drop Device(config-pmap-c-police)# exit Device(config-pmap-c)# exit Device(config-pmap)# class c2 Device(config-pmap-c)# bandwidth 20000 Device(config-pmap-c)# exit Device(config-pmap)# class class-default Device(config-pmap-c)# bandwidth 20000 Device(config-pmap-c)# exit Device(config-pmap)# exit Device(config)# policy-map parent Device(config-pmap)# class class-default Device(config-pmap-c)# shape average 1000000 Device(config-pmap-c)# service-policy child Device(config-pmap-c)# end
Device(config)# table-map dscp2dscp Device(config-tablemap)# default copy Device(config)# table-map dscp2up Device(config-tablemap)# map from 46 to 6 Device(config-tablemap)# map from 34 to 5 Device(config-tablemap)# default copy Device(config)# policy-map ssid_child_policy Device(config-pmap)# class voice Device(config-pmap-c)# priority level 1 Device(config-pmap-c)# police 15000000 Device(config-pmap)# class video Device(config-pmap-c)# priority level 2 Device(config-pmap-c)# police 10000000 Device(config)# policy-map ssid_policy Device(config-pmap)# class class-default Device(config-pmap-c)# shape average 30000000 Device(config-pmap-c)# queue-buffer ratio 0 Device(config-pmap-c)# set dscp dscp table dscp2dscp Device(config-pmap-c)# service-policy ssid_child_policy
この例は、デバイス固有の情報を使用して、音声とビデオのパケット ストリームを分類する方法を示しています。
この例では、音声とビデオがエンドポイント A からデバイスの GigabitEthernet1/0/1 に送信され、それぞれ precedence 値 5 と 6 を持ちます。また、音声とビデオは、エンドポイント B からデバイスの GigabitEthernet1/0/2 にそれぞれ DSCP 値 EF と AF11 で送信されます。
両方のインターフェイスからのすべてのパケットがアップリンク インターフェイスに送信されます。その場合、音声は 100 Mbps にポリシングし、ビデオは 150 Mbps にポリシングする必要があります。
上記の要件ごとに分類するために、GigabitEthernet1/0/1 で送信される音声パケットに一致するクラスが作成されます。これには、precedence 5 に一致する voice-interface-1 という名前が付けらます。同様に、GigabitEthernet1/0/2 の音声パケットに一致する、voice-interface-2 という名前の音声用の別のクラスが作成されます。これらのクラスは、GigabitEthernet1/0/1 に接続される input-interface-1 と、GigabitEthernet1/0/2 に接続される input-interface-2 という 2 つの別個のポリシーに関連付けられます。このクラスのアクションは、qos-group に 10 とマーキングすることです。出力インターフェイスで QoS-group 10 のパケットを照合するために、QoS-group 10 で一致する voice という名前のクラスが作成されます。これは、output-interface という名前の別のポリシーに関連付けられ、アップリンク インターフェイスに関連付けられます。ビデオも同じ方法で処理されますが、QoS-group 20 で一致します。
次の例は、上記のデバイス固有の情報を使用して分類する方法を示しています。
Device(config)# Device(config)# class-map voice-interface-1 Device(config-cmap)# match ip precedence 5 Device(config-cmap)# exit Device(config)# class-map video-interface-1 Device(config-cmap)# match ip precedence 6 Device(config-cmap)# exit Device(config)# class-map voice-interface-2 Device(config-cmap)# match ip dscp ef Device(config-cmap)# exit Device(config)# class-map video-interface-2 Device(config-cmap)# match ip dscp af11 Device(config-cmap)# exit Device(config)# policy-map input-interface-1 Device(config-pmap)# class voice-interface-1 Device(config-pmap-c)# set qos-group 10 Device(config-pmap-c)# exit Device(config-pmap)# class video-interface-1 Device(config-pmap-c)# set qos-group 20 Device(config-pmap-c)# policy-map input-interface-2 Device(config-pmap)# class voice-interface-2 Device(config-pmap-c)# set qos-group 10 Device(config-pmap-c)# class video-interface-2 Device(config-pmap-c)# set qos-group 20 Device(config-pmap-c)# exit Device(config-pmap)# exit Device(config)# class-map voice Device(config-cmap)# match qos-group 10 Device(config-cmap)# exit Device(config)# class-map video Device(config-cmap)# match qos-group 20 Device(config)# policy-map output-interface Device(config-pmap)# class voice Device(config-pmap-c)# police 256000 conform-action transmit exceed-action drop Device(config-pmap-c-police)# exit Device(config-pmap-c)# exit Device(config-pmap)# class video Device(config-pmap-c)# police 1024000 conform-action transmit exceed-action drop Device(config-pmap-c-police)# exit Device(config-pmap-c)# exit
次の例は、平均レート シェーピングを設定する方法を示しています。
Device# configure terminal Device(config)# class-map prec1 Device(config-cmap)# description matching precedence 1 packets Device(config-cmap)# match ip precedence 1 Device(config-cmap)# end Device# configure terminal Device(config)# class-map prec2 Device(config-cmap)# description matching precedence 2 packets Device(config-cmap)# match ip precedence 2 Device(config-cmap)# exit Device(config)# policy-map shaper Device(config-pmap)# class prec1 Device(config-pmap-c)# shape average 512000 Device(config-pmap-c)# exit Device(config-pmap)# policy-map shaper Device(config-pmap)# class prec2 Device(config-pmap-c)# shape average 512000 Device(config-pmap-c)# exit Device(config-pmap)# class class-default Device(config-pmap-c)# shape average 1024000
クラス マップ、ポリシー マップ、シェーピング平均を設定したら、QoS のインターフェイスにポリシー マップを適用します。
次の例は、DSCP 値および割合に基づいて、キュー制限ポリシーを設定する方法を示しています。
Device# configure terminal Device#(config)# policy-map port-queue Device#(config-pmap)# class dscp-1-2-3 Device#(config-pmap-c)# bandwidth percent 20 Device#(config-pmap-c)# queue-limit dscp 1 percent 80 Device#(config-pmap-c)# queue-limit dscp 2 percent 90 Device#(config-pmap-c)# queue-limit dscp 3 percent 100 Device#(config-pmap-c)# exit Device#(config-pmap)# class dscp-4-5-6 Device#(config-pmap-c)# bandwidth percent 20 Device#(config-pmap-c)# queue-limit dscp 4 percent 20 Device#(config-pmap-c)# queue-limit dscp 5 percent 30 Device#(config-pmap-c)# queue-limit dscp 6 percent 20 Device#(config-pmap-c)# exit Device#(config-pmap)# class dscp-7-8-9 Device#(config-pmap-c)# bandwidth percent 20 Device#(config-pmap-c)# queue-limit dscp 7 percent 20 Device#(config-pmap-c)# queue-limit dscp 8 percent 30 Device#(config-pmap-c)# queue-limit dscp 9 percent 20 Device#(config-pmap-c)# exit Device#(config-pmap)# class dscp-10-11-12 Device#(config-pmap-c)# bandwidth percent 20 Device#(config-pmap-c)# queue-limit dscp 10 percent 20 Device#(config-pmap-c)# queue-limit dscp 11 percent 30 Device#(config-pmap-c)# queue-limit dscp 12 percent 20 Device#(config-pmap-c)# exit Device#(config-pmap)# class dscp-13-14-15 Device#(config-pmap-c)# bandwidth percent 10 Device#(config-pmap-c)# queue-limit dscp 13 percent 20 Device#(config-pmap-c)# queue-limit dscp 14 percent 30 Device#(config-pmap-c)# queue-limit dscp 15 percent 20 Device#(config-pmap-c)# end Device#
上記のポリシー マップのキュー制限の設定が終了すると、QoS のインターフェイスにポリシー マップを適用することができます。
次の例は、キュー バッファ ポリシーを設定して QoS のインターフェイスに適用する方法を示しています。
Device# configure terminal Device(config)# policy-map policy1001 Device(config-pmap)# class class1001 Device(config-pmap-c)# bandwidth remaining ratio 10 Device(config-pmap-c)# queue-buffer ratio ? <0-100> Queue-buffers ratio limit Device(config-pmap-c)# queue-buffer ratio 20 Device(config-pmap-c)# end Device# configure terminal Device(config)# interface gigabitEthernet2/0/3 Device(config-if)# service-policy output policy1001 Device(config-if)# end
次の例は、ポリサーに関連付けることができるさまざまなポリシング アクションを示しています。これらのアクションは、パケット設定の適合、超過、または違反によって実現されます。トラフィック プロファイルを超過または違反したパケットをドロップ、マーク付け、または送信することができます。
たとえば、1 つの一般的な導入シナリオでは、エンタープライズ顧客ポリシー トラフィックがネットワークからサービス プロバイダーに送信され、DSCP 値が異なる、適合、超過、および違反パケットをマーキングします。サービス プロバイダーは、輻輳があると DSCP 値の超過および違反としてマーキングされたパケットをドロップすることができますが、使用可能な帯域幅がある場合は送信することも可能です。
(注) | Layer 2 フィールドには CoS フィールドが含まれるようにマーキングでき、Layer 3 フィールドには precedence および DSCP フィールドが含まれるようにマーキングできます。 |
1 つの便利な機能として、複数のアクションとイベントを関連付ける機能があります。たとえば、すべての適合パケットについて、precedence ビットと CoS を設定できます。アクションを設定するサブモードは、ポリシング機能によって配信できます。
これは、ポリシング アクションの設定例を示しています。
Device# configure terminal Device(config)# policy-map police Device(config-pmap)# class class-default Device(config-pmap-c)# police cir 1000000 pir 2000000 Device(config-pmap-c-police)# conform-action transmit Device(config-pmap-c-police)# exceed-action set-dscp-transmit dscp table exceed-markdown-table Device(config-pmap-c-police)# violate-action set-dscp-transmit dscp table violate-markdown-table Device(config-pmap-c-police)# end
この例では、exceed-markdown-table と violate-mark-down-table がテーブル マップです。
(注) | ポリサー ベースのマークダウン アクションは、テーブル マップを使用する場合のみサポートされます。デバイスの各マーキング フィールドで許可されているマークダウン テーブル マップは 1 つだけです。 |
次の例では、VLAN のポリサー設定を表示します。この設定の最後に、QoS のインターフェイスに VLAN ポリシー マップを適用します。
Device# configure terminal Device(config)# class-map vlan100 Device(config-cmap)# match vlan 100 Device(config-cmap)# exit Device(config)# policy-map vlan100 Device(config-pmap)# policy-map class vlan100 Device(config-pmap-c)# police 100000 bc conform-action transmit exceed-action drop Device(config-pmap-c-police)# end Device# configure terminal Device(config)# interface gigabitEthernet1/0/5 Device(config-if)# service-policy input vlan100
次の例は、QoS でサポートされるポリシングのさまざまな単位を示しています。ポリシングの単位はトークン バケットが動作する基盤です。
次の単位のポリシングがサポートされています。
CIR および PIR はビット/秒で指定します。バースト パラメータはバイト単位で指定します。これはデフォルトのモードであり、単位が指定されていない場合に使用される単位です。CIR および PIR は、パーセントでも設定できます。その場合バースト パラメータをミリ秒単位で設定する必要があります。
CIR および PIR はパケット/秒で指定します。この場合、バースト パラメータもパケットで設定されます。
次の例は、ビット/秒のポリサー設定を示しています。
Device(config)# policy-map bps-policer Device(config-pmap)# class class-default Device(config-pmap-c) # police rate 256000 bps burst 1000 bytes conform-action transmit exceed-action drop
次の例は、パケット/秒のポリサー設定を示しています。この設定では、測定単位がパケットであるデュアル レートの 3 カラー ポリサーが設定されます。バーストおよびピーク バーストはすべてパケットに指定されます。
Device(config)# policy-map pps-policer Device(config-pmap)# class class-default Device(config-pmap-c)# police rate 5000 pps burst 100 packets peak-rate 10000 pps peak-burst 200 packets conform-action transmit exceed-action drop violate-action drop
次の例は、シングルレート 2 カラー ポリサーを設定する方法を示しています。
Device(config)# class-map match-any prec1 Device(config-cmap)# match ip precedence 1 Device(config-cmap)# exit Device(config)# policy-map policer Device(config-pmap)# class prec1 Device(config-pmap-c)# police cir 256000 conform-action transmit exceed-action drop Device(config-pmap-c-police)# exit Device(config-pmap-c)#
次の例は、デュアルレート 3 カラー ポリサーを設定する方法を示しています。
Device# configure terminal Device(config)# policy-Map dual-rate-3color-policer Device(config-pmap)# class class-default Device(config-pmap-c)# police cir 64000 bc 2000 pir 128000 be 2000 Device(config-pmap-c-police)# conform-action transmit Device(config-pmap-c-police)# exceed-action set-dscp-transmit dscp table exceed-markdown-table Device(config-pmap-c-police)# violate-action set-dscp-transmit dscp table violate-markdown-table Device(config-pmap-c-police)# exit Device(config-pmap-c)#
この例では、exceed-markdown-table と violate-mark-down-table がテーブル マップです。
(注) | ポリサー ベースのマークダウン アクションは、テーブル マップを使用する場合のみサポートされます。デバイスの各マーキング フィールドで許可されているマークダウン テーブル マップは 1 つだけです。 |
次のステップと例は、QoS 設定でテーブル マップ マーキングを使用する方法を示しています。
テーブル マップを定義します。
table-map コマンドを使用してテーブル マップを定義し、値のマッピングを示します。このテーブルでは、テーブルが使用されるポリシーまたはクラスを認識しません。テーブル マップのデフォルトのコマンドは、一致する「from」フィールドがない場合に、「to」フィールドにコピーされる値を示します。この例では、table-map1 というテーブル マップが作成されます。定義されたマッピングでは、値 0 が 1 に、2 が 3 に変換され、デフォルト値は 4 に設定されます。
Device(config)# table-map table-map1 Device(config-tablemap)# map from 0 to 1 Device(config-tablemap)# map from 2 to 3 Device(config-tablemap)# default 4 Device(config-tablemap)# exit
テーブル マップが使用されるポリシー マップを定義します。
この例では、着信 CoS が table-map1 テーブルで指定されたマッピングに基づいて、DSCP にマッピングされます。この例では、着信パケットの DSCP が 0 である場合、パケット内の CoS は 1 に設定されます。テーブル マップ名が指定されていない場合、このコマンドではデフォルトの動作が実行され、値が「from」フィールド(この場合は DSCP)から「to」フィールド(この場合は CoS)にコピーされます。ただし、CoS が 3 ビット フィールドであっても DSCP は 6 ビット フィールドです。これは、DSCP 内の最初の 3 ビットに CoS がコピーされることを意味します。
Device(config)# policy map policy1 Device(config-pmap)# class class-default Device(config-pmap-c)# set cos dscp table table-map1 Device(config-pmap-c)# exit
ポリシーをインターフェイスに関連付けます。
Device(config)# interface GigabitEthernet1/0/1 Device(config-if)# service-policy output policy1 Device(config-if)# exit
次の例は、テーブル マップを使用して、QoS 設定のインターフェイスで CoS マーキングを保持する方法を示しています。
(例で設定されている)cos-trust-policy ポリシーは入力方向でイネーブルになり、インターフェイスに着信する CoS マーキングが保持されます。ポリシーがイネーブルになっていない場合は、デフォルトで DSCP だけが信頼されます。純粋なレイヤ 2 パケットがインターフェイスに着信すると、CoS の入力ポートに一致するポリシーがない場合は、CoS 値が 0 に書き換えられます。
Device# configure terminal Device(config)# table-map cos2cos Device(config-tablemap)# default copy Device(config-tablemap)# exit Device(config)# policy map cos-trust-policy Device(config-pmap)# class class-default Device(config-pmap-c)# set cos cos table cos2cos Device(config-pmap-c)# exit Device(config)# interface GigabitEthernet1/0/2 Device(config-if)# service-policy input cos-trust-policy Device(config-if)# exit
関連項目 | 参照先 |
---|---|
この章で使用するコマンドの完全な構文および使用方法の詳細。 |
Command Reference (Catalyst 9300 Series Switches) 『Cisco IOS Quality of Service Solutions Command Reference』 |
説明 | リンク |
---|---|
このリリースのシステム エラー メッセージを調査し解決するために、エラー メッセージ デコーダ ツールを使用します。 |
https://www.cisco.com/cgi-bin/Support/Errordecoder/index.cgi |
標準/RFC | 役職(Title) |
---|---|
— |
MIB | MIB リンク |
---|---|
本リリースでサポートするすべての MIB |
選択したプラットフォーム、Cisco IOS リリース、およびフィーチャ セットに関する MIB を探してダウンロードするには、次の URL にある Cisco MIB Locator を使用します。 |
説明 | リンク |
---|---|
シスコのサポート Web サイトでは、シスコの製品やテクノロジーに関するトラブルシューティングにお役立ていただけるように、マニュアルやツールをはじめとする豊富なオンライン リソースを提供しています。 お使いの製品のセキュリティ情報や技術情報を入手するために、Product Alert Tool(Field Notice からアクセス)、Cisco Technical Services Newsletter、Really Simple Syndication(RSS)フィードなどの各種サービスに加入できます。 シスコのサポート Web サイトのツールにアクセスする際は、Cisco.com のユーザ ID およびパスワードが必要です。 |
機能名(Feature Name) |
リリース |
機能情報 |
||
---|---|---|---|---|
QoS の機能 |
Cisco IOS XE Everest 16.5.1a |
有線ターゲットの QoS をサポートします。
|