この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
パケットの分類には、特定のグループ(またはクラス)内のパケットを分類し、これにトラフィック記述子を割り当てて、ネットワークで QoS 処理用にアクセスできるようにする処理が含まれます。トラフィック記述子には、パケットが受ける転送処理(Quality of Service)に関する情報が含まれます。パケット分類を使用すると、複数のプライオリティ レベルまたは CoS にネットワーク トラフィックを区分できます。発信元が契約された条項に従うことに同意し、ネットワークが QoS の実行を約束します。トラフィック ポリサーとトラフィック シェーパーは、契約を順守するために、パケットのトラフィック記述子を使用します。
トラフィック ポリサーおよびトラフィック シェーパーは、IP precedence などのパケット分類機能を使用して、さまざまなタイプの QoS サービスに対して、ルータを通過するパケット(またはトラフィック フロー)を選択します。パケットを分類した後、他の QoS 機能を使用して、輻輳管理、帯域幅割り当て、および遅延限度などの適切なトラフィック処理ポリシーを、各トラフィック クラスに割り当てることができます。
モジュラ Quality of Service(QoS)コマンドライン インターフェイス(MQC)は、分類する必要のあるトラフィック フローを定義するために使用します。このとき、各トラフィック フローをサービス クラス、またはクラスと呼びます。その後、トラフィック ポリシーを作成し、クラスに適用します。定義されたクラスに該当しないトラフィックはすべて、デフォルト クラスのカテゴリに分類されます。
トラフィック クラスの目的は、ルータのトラフィックを分類することです。 class-map コマンドを使用して、トラフィック クラスを定義します。
パケットは、match コマンドで指定された基準に合っているかどうかを判断するためにチェックされます。指定された基準に合っていれば、パケットはクラスのメンバーと見なされ、トラフィック ポリシーで設定された QoS 仕様に従って転送されます。一致基準を満たさないパケットは、デフォルトのトラフィック クラスのメンバーとして分類されます。
サポートされている一致タイプ |
最小、最大 |
Max Entries(エントリの最大数) |
一致 NOT のサポート |
範囲のサポート |
インターフェイスでサポートされる方向 |
---|---|---|---|---|---|
IPv4 DSCP IPv6 DSCP DSCP |
(0、63) |
64 |
Yes |
Yes |
入力 |
IPv4 Precedence IPv6 Precedence Precedence |
(0、7) |
8 |
Yes |
Yes |
入力 |
MPLS Experimental Topmost |
(0、7) |
8 |
Yes |
Yes |
入力 |
Access-group |
N/A |
N/A |
いいえ |
N/A |
入力 |
QoS-group |
(1、7) |
7 |
いいえ |
いいえ |
Egress |
CoS |
(0、7) |
8 |
Yes |
Yes |
入力 |
プロトコル |
N/A |
N/A |
Yes |
N/A |
入力 |
未分類のトラフィック(トラフィック クラスで指定された一致条件を満たさないトラフィック)は、デフォルト トラフィック クラスに属するものとして扱われます。
ユーザがデフォルト クラスを設定しない場合でも、パケットはデフォルト クラスのメンバとして扱われます。ただし、デフォルトでは、デフォルト クラスにイネーブルな機能はありません。そのため、機能が設定されていないデフォルト クラスに属するパケットには QoS 機能は適用されません。この後、これらのパケットは、ファーストイン ファーストアウト(FIFO)キューに配置され、使用可能な下位リンクの帯域幅で決められたレートで転送されます。
出力分類の場合、qos-group(1-7)での一致がサポートされます。一致 qos-group 0 は設定できません。出力ポリシーの class-default は qos-group 0 にマッピングします。
次に、デフォルト クラスにトラフィック ポリシーを設定する例を示します。
configure policy-map ingress_policy1 class class-default police rate percent 30 !
一致基準が含まれるトラフィック クラスを作成するには、 class-map コマンドを使用してトラフィック クラス名を指定し、必要に応じて、 match コマンドをクラスマップ コンフィギュレーション モードで使用します。
ユーザは、設定の単一行において一致タイプに対し複数の値を提供できます。つまり、最初の値が一致基準を満たさない場合は、一致ステートメントに示された次の値が分類のために検討されます。
この設定作業で指定するすべての match コマンドの使用は任意ですが、1 つのクラスに少なくとも 1 つの一致基準を設定する必要があります。
match-any を指定すると、トラフィック クラスで受信したトラフィックがトラフィック クラスの一部と分類されるには、一致基準の 1 つを満たす必要があります。これはデフォルトです。match-all を指定した場合は、トラフィックがすべての一致基準を満たす必要があります。
match access-group コマンドの場合、IPv4 および IPv6 ヘッダーのパケット長または TTL(パケット存続時間)フィールドに基づいた QoS 分類はサポートされていません。
match access-group コマンドの場合、ACL リストがクラス マップ内で使用されると、ACL の拒否アクションは無視され、トラフィックは指定された ACL の一致パラメータに基づいて分類されます。
match qos-group は出力方向のみでサポートされ、出力方向でサポートされる唯一の一致基準となります。
出力のデフォルト クラスは、暗黙的に qos-group 0 に一致します。
出力分類では、class-default を含む 8 つの(qos-group)クラスをすべて設定する必要があります。
クラス マップの作成
パケットをその特定のクラスのメンバとして分類するための一致基準の指定
サポートされる一致タイプの一覧については、トラフィック クラスの要素 を参照してください。
Router# configure Router(config)# class-map match-any qos-1 Router(config-cmap)# match qos-group 1 Router(config-cmap)# end-class-map Router(config-cmap)# commit
実行コンフィギュレーション も参照してください。
確認 も参照してください。
トラフィック ポリシーにトラフィックを分類するのに使用するトラフィック クラスを選択した後で、ユーザはこの分類されたトラフィックに適用される QoS 機能を入力できます。
MQC では、必ずしも 1 つのトラフィック クラスだけを 1 つのトラフィック ポリシーに関連付ける必要はありません。
クラスをポリシー マップで設定する順序が重要です。クラスの一致規則は、クラスをポリシー マップで指定した順序で TCAM にプログラミングされます。したがって、あるパケットが複数のクラスと一致する場合は、最初に一致したクラスだけが返され、対応するポリシーが適用されます。
次の表に、 Cisco NCS 5001 および Cisco NCS 5002 ルータ でサポートされているクラス アクションを示します。
サポートされているアクション タイプ |
インターフェイスでサポートされる方向 |
---|---|
bandwidth-remaining |
出力 |
mark |
(パケットのマーキングを参照)。 |
police |
入力 |
priority |
出力(レベル 1 |
shape |
出力 |
トラフィック ポリシーの目的は、ユーザが指定したトラフィック クラスまたはクラスに分類されたトラフィックに関連付ける QoS 機能を設定することです。
トラフィック クラスを設定するには、トラフィック クラスの作成 を参照してください。
policy-map コマンドを使用してトラフィック ポリシーを定義した後、インターフェイス コンフィギュレーション モードで service-policy コマンドを使用して、このポリシーを 1 つ以上のインターフェイスに付加し、これらのインターフェイスのトラフィック ポリシーを指定できます。同じトラフィック ポリシーは複数のインターフェイスに付加することができますが、各インターフェイスには入力と出力に対してそれぞれトラフィック ポリシーを 1 つだけ付加することができます。トラフィック ポリシーのインターフェイスへの適用を参照してください。
1 つまたは複数のインターフェイスに付加してサービス ポリシーを指定するためのポリシー マップの作成
トラフィック クラスのトラフィック ポリシーへの関連付け
クラス アクションの指定(トラフィック ポリシーの要素 を参照)
Router# configure Router(config)# policy-map egress_policy2 Router(config-pmap)# class qos-1 /* Configure class-action ('bandwidth remaining' in this example). Repeat as required, to specify other class-actions */ Router(config-pmap-c)# bandwidth remaining ratio 50 Router(config-pmap-c)# exit /* Repeat class configuration as required, to specify other classes */ Router(config-pmap)# end-policy-map Router(config)# commit
実行コンフィギュレーションを参照してください。
確認を参照してください。
トラフィック クラスおよびトラフィック ポリシーが作成された後、インターフェイスにトラフィック ポリシーを適用し、ポリシーの適用方向を指定する必要があります。
(注) |
階層型ポリシーはサポートされません。 |
トラフィック クラス、およびパケットをクラスに対応させる関連付けられたルールの作成(トラフィック クラスの作成 を参照)
1 つまたは複数のインターフェイスに適用してサービス ポリシーを指定するためのトラフィック ポリシーの作成(トラフィック ポリシーの作成 を参照)
トラフィック クラスのトラフィック ポリシーへの関連付け
入力または出力方向での、トラフィック ポリシーのインターフェイスへの適用
Router# configure Router(config)# interface TenGig 0/0/0/0 Router(config-int)# service-policy output egress_policy2 Router(config-int)# commit
/* Class-map configuration */ class-map match-any qos-1 match qos-group 1 end-class-map ! - - - - - - ! class-map match-any qos-7 match qos-group 7 end-class-map /* Policy-map configuration */ policy-map egress_policy2 class qos-1 bandwidth remaining ratio 50 ! - - - - - - class qos-7 priority level 1 ! class class-default bandwidth remaining ratio 2 ! end-policy-map /* Attaching traffic policy to an interface in egress direction */ interface TenGig 0/0/0/0 service-policy output egress_policy2 !
Router# show policy-map interface tenGigE 0/0/0/0 TenGigE0/0/0/0 direction input: Service Policy not installed TenGigE0/0/0/0 output: egress_policy2 Class qos-1 Classification statistics (packets/bytes) (rate - kbps) Matched : 4867412/3598770345 0 Transmitted : 2901271/2142905575 0 Total Dropped : 1966141/1455864770 0 Queueing statistics Queue ID : 9 High watermark : N/A Inst-queue-len (cells) : 10709 Avg-queue-len : N/A Taildropped(packets/bytes) : 1966141/1455864770 Queue(conform) : 2901271/2142905575 0 RED random drops(packets/bytes) : 0/0 - - - - - - Class class-default Classification statistics (packets/bytes) (rate - kbps) Matched : 262482/237940215 0 Transmitted : 97172/88070686 0 Total Dropped : 165310/149869529 0 Queueing statistics Queue ID : 8 High watermark : N/A Inst-queue-len (cells) : 10714 Avg-queue-len : N/A Taildropped(packets/bytes) : 165310/149869529 Queue(conform) : 97172/88070686 0 RED random drops(packets/bytes) : 0/0
ポリシーはバンドルにバインドできます。ポリシーがバンドルにバインドされている場合、各バンドル メンバ(ポート)で同じポリシーがプログラミングされます。たとえば、ポリサーまたはシェーパー レートがある場合、各ポートに同じレートが設定されます。トラフィックはロード バランシング アルゴリズムに基づいてメンバをバンドルするようスケジュールされます。
入力および出力トラフィックの両方がサポートされています。パーセントベースのポリシーと絶対レートベースのポリシーがサポートされています。ただし、使いやすさのため、パーセントベースのポリシーを使用することを推奨します。
詳細については、リンク バンドルでの QoS の設定を参照してください。
クラスベースの無条件パケット マーキング機能では、指定マーキングに基づいてパケットを区別する方法がユーザに提供されます。この機能を使用すれば、ネットワークを複数の優先度レベルまたはサービス クラスに分割することができます。
次のタスクは、パケット マーキング機能を使用して実行できます。
詳細については、パケットのマーキングを参照してください。
Cisco NCS 5001 ルータおよび Cisco NCS 5002 ルータ は、入力方向の無条件パケット マーキングをサポートしています。
Router# configure Router(config)# policy-map policy1 Router(config-pmap)# class class1 /* Specify the marking action. Repeat the set command to specify another marking action */ Router(config-pmap-c)# set dscp 5 Router(config-pmap-c)# exit /* Repeat the above steps to configure the remaining classes of the policy-map*/ Router(config-pmap)# exit Router(config)# interface TenGigE 0/2/0/0 Router(config-if)# service-policy input policy1 Router(config-if)# no shutdown Router(config-if)# commit
policy-map policy1 class class1 set dscp 5 set cos 7 ! - - - - - - ! end-policy-map interface TenGigE 0/2/0/0 service-policy input policy1 !
In-Place ポリシーの変更機能では、QoS ポリシーが 1 つ以上のインターフェイスに付加されている場合でも QoS ポリシーを変更できます。変更されたポリシーは、新しいポリシーをインターフェイスにバインドするときと同じチェックを受けます。ポリシー変更が成功した場合、変更されたポリシーは、ポリシーが付加されているすべてのインターフェイスに対して有効になります。ただし、ポリシーの変更がいずれかのインターフェイスで失敗した場合には、すべてのインターフェイスに対して変更前のポリシーが有効になるように、自動ロール バックが開始されます。
また、ポリシー マップに使用するクラス マップを変更することもできます。クラス マップに対して行った変更は、ポリシーが付加されているすべてのインターフェイスに反映されます。
(注) |
|
In-Place ポリシーの変更時に回復不可能なエラーが発生した場合は、ポリシーは対象のインターフェイスに対して矛盾した状態になります。コンフィギュレーション セッションのブロックが解除されるまで、新たな設定を行うことはできません。インターフェイスからポリシーを削除し、変更されたポリシーを確認し、それに応じて再適用することを推奨します。
各場所における矛盾を表示するには、 show qos inconsistency コマンドを使用します。コンフィギュレーション セッションは、変更されたポリシーが、ポリシーを使用するすべてのインターフェイスで有効になるまでブロックされます。この show policy-map targets コマンドの出力は、TenGigabit イーサネット インターフェイス 0/1/0/0 に、メイン ポリシーとして付加されているポリシー マップがあることを示しています(階層型 QoS 設定の子ポリシーに付加されるのではなく)。このインターフェイスの発信トラフィックは、ポリシーが変更された場合に影響を受けます。
router# show policy-map targets 1) Policymap: policy1 Type: qos Targets (applied as main policy): TenGigabitEthernet0/1/0/0 output Total targets: 1 Targets (applied as child policy): Total targets: 0
パケット マーキング機能では、指定マーキングに基づいてパケットを区別する方法がユーザに提供されます。
次の表に、 Cisco NCS 5001 および Cisco NCS 5002 ルータ でサポートされているパケット マーキング操作を示します。
サポートされているマーク タイプ |
範囲 |
無条件マーキングのサポート |
条件付きマーキングのサポート |
---|---|---|---|
set cos |
0 ~ 7 |
入力 |
いいえ |
set dscp |
0 ~ 63 |
入力 |
いいえ |
set qos-group |
0 ~ 7 |
入力 |
いいえ |
パケット マーキング機能により、次のようにネットワークを複数のプライオリティ レベルまたはサービス クラスに区切ることができます。
QoS 無条件パケット マーキングを使用して、ネットワークに入るパケットの IP precedence または DSCP 値を設定します。ネットワーク内のルータは、新しくマーキングされた IP precedence 値を使用して、トラフィックの処理方法を決定できます。
入力方向で、IP Precedence または DSCP 値に基づいてトラフィックを照合した後、そのトラフィックを特定の discard-class に設定できます。それによって、輻輳回避技術である Weighted Random Early Detection(WRED; 重み付けランダム早期検出)は、discard-class 値を使用して、パケットがドロップされる可能性を判断します。
QoS 無条件パケット マーキングを使用して、MPLS パケットを QoS グループに割り当てます。ルータは、QoS グループを使用して送信用のパケットのプライオリティを設定する方法を決定します。QoS グループ ID を MPLS パケットに設定するには、ポリシー マップ クラス コンフィギュレーション モードで set qos-group コマンドを使用します。
(注) |
QoS グループ ID を設定しても、パケットを送信する優先順位が自動的に決まるわけではありません。最初に QoS グループを使用する出力ポリシーを設定する必要があります。 |
CoS 無条件パケット マーキングを使用して、IEEE 802.1p/ スイッチ間リンク(ISL)パケットのプライオリティ値を設定するパケットを割り当てます。ルータでは、CoS 値を使用して、パケットに転送のための優先順位を付ける方法を決定し、このマーキングを使用してレイヤ 2 からレイヤ 3 へのマッピングを行います。送信パケットのレイヤ 2 CoS 値を設定するには、ポリシー マップ コンフィギュレーション モードで set cos コマンドを使用します。
(注) |
|
IP precedence を使用すると、パケットの CoS を指定できます。着信トラフィックで precedence レベルを設定し、そのレベルを QoS キューイング機能と組み合わせて使用することで、差別化サービスを作成できます。そうすることで、後続の各ネットワーク要素は、判断されたポリシーに基づいてサービスを提供できます。IP precedence は通常、ネットワークまたは管理ドメインの端にできるだけ近いところに配置されます。これによって、他のコアまたはバックボーンにおいて、優先順位に基づいて QoS を設定できます。
この目的には、IPv4 ヘッダーのタイプ オブ サービス(ToS)フィールドにある 3 つの precedence ビットを使用できます。ToS ビットを使用して、最大 8 つのサービス クラスを定義できます。その後、ネットワーク全体で設定された他の機能によって、これらのビットを使用して、ToS の付与に関するパケットの処理方法を決定します。これらの他の QoS 機能では、輻輳管理戦略や帯域幅の割り当てなど適切なトラフィック処理ポリシーを割り当てることができます。たとえば、LLQ などのキューイング機能は、パケットの IP precedence 設定を使用して、トラフィックに優先順位を付けることができます。
IP ヘッダーの ToS フィールドにある 3 つの IP precedence ビットを使用して、各パケットの CoS 割り当てを指定します。最大 8 個のクラスにトラフィックを分類した後、ポリシー マップを作成して、各クラスの輻輳処理、帯域幅割り当てといったネットワーク ポリシーを定義できます。
各 precedence は名前に対応します。IP precedence ビットの設定 6 と 7 は、ルーティング アップデートなどのネットワーク制御情報用に予約されています。これらの名前は RFC 791 で定義されています。
デフォルトで、 Cisco NCS 5001 および Cisco NCS 5002 ルータ は IP precedence 値をそのままにします。これによって、ヘッダーの precedence 値セットが維持され、すべての内部ネットワーク デバイスが IP precedence の設定に基づいてサービスを提供できるようになります。このポリシーは、ネットワークのエッジでネットワーク トラフィックをさまざまなタイプのサービスにソートすること、またこれらのサービス タイプをネットワーク コアで設定することを指定する標準的な方法に従っています。その後、ネットワークのコアにあるルータは、precedence ビットを使用して、送信順やパケット ドロップの可能性などを決定できるようになります。
ネットワークに入ってくるトラフィックには外部デバイスで設定された precedence が設定されている可能性があるので、ネットワークに入るすべてのトラフィックの precedence をリセットすることを推奨します。IP precedence の設定を制御することによって、すでに IP precedence を設定したユーザが、自身のすべてのパケットに高い優先度設定を設定して、自身のトラフィックに対してより高いサービスを得ることを禁止します。
帯域幅の動的な変更プロセスで変更が成功した場合、システムはポリシー状態情報を表示しません。ただし、エラーが発生した場合、システムは、これらいずれかの状態に対してインターフェイスを指定し、ポリシー状態エラー通知を提供します。
検証:この状態は、新しいインターフェイス帯域幅値について、設定された QoS ポリシーの非互換性を示します。システムは、ベストエフォート方式でトラフィックを処理します。また、トラフィック ドロップが発生する場合があります。
ハードウェア プログラミング:この状態は、次のいずれかの条件によってハードウェア プログラミングが失敗したことを示します。
リセット:QoS ポリシーのユーザ再設定への応答で、システムは、新しいポリシーの適用を試行しますが、失敗します。前回の QoS ポリシーへのフォールバックも失敗します。
これらいずれかのポリシー状態の通知を受信した場合は、QoS ポリシーを再設定してこの状況をクリアする必要があります。
show qos interface コマンドおよび show policy-map interface コマンドを使用して、インターフェイスの QoS 状態をクエリします。インターフェイスがいずれかのエラー状態(検証、ハードウェア プログラミング、またはリセット)である場合、システムによって QoS ポリシー状態が表示されますが、状態がアクティブな場合は表示されません。