この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
トラフィックのキューイングとは、パケットの順序を設定して、データの入力と出力の両方に適用することです。デバイス モジュールでは複数のキューをサポートできます。これらのキューを使用することで、さまざまなトラフィック クラスでのパケットのシーケンスを制御できます。また、重み付けランダム早期検出(WRED)およびテール ドロップしきい値を設定することもできます。デバイスでは、設定したしきい値を超えた場合にだけパケットがドロップされます。
トラフィックのスケジューリングとは、トラフィックの一貫したフローを実現するために、パケットを必要な頻度で定期的に出力することです。トラフィックのスケジューリングをさまざまなトラフィック クラスに適用することで、プライオリティによってトラフィックに重み付けを行うことができます。
キューイングおよびスケジューリングのプロセスによって、トラフィック クラスに割り当てられる帯域幅を制御することができるので、ネットワークにおけるスループットと遅延の望ましいトレードオフを実現できます。
システム定義のキューイング クラス マップが提供されます。
![]() (注) | 提供されるシステム定義のキューイング クラス マップを変更することはできません。 |
次の方式を使用して、デバイス上のトラフィックの輻輳を予防的に回避できます。
出力パケットについては、次のいずれかの輻輳管理方式を選択できます。
最小データ レートをキューに割り当てる帯域幅を指定する方式。
トラフィックのクラスに対して最小および最大データ レートを強制する方式。これにより、余分なパケットがキューに保持され、出力レートがシェーピングされます。
トラフィックのクラスに対するすべてのデータをプライオリティ キューに割り当てる方式。残りの帯域幅は、デバイスによって他のキュー間で分配されます。
輻輳管理の設定の詳細については、「出力キューでの WRED の設定」の項を参照してください。
ECN は WRED の拡張で、平均キュー長が特定のしきい値を超えた場合にパケットをドロップせずにマーキングします。WRED ECN 機能を設定すると、ルータとエンド ホストは、このマーキングをネットワークの輻輳によってパケットの送信速度が低下していることを示す警告として使用します。
![]() (注) | network-qos ポリシー クラスの WRED および ECN をイネーブルにすると、システムのすべてのポートで WRED および ECN がイネーブルにされることを意味します。 |
![]() (注) | 拡張出力キュー(EOQ)では、帯域幅管理用の Approximate Fair-Drop(AFD)機能は常にイネーブルです。WRED の設定は EOQ では無視されます。EOQ の設定はポート ポリシー別ではなく、システム キューイング ポリシーに基づいています。 |
トラフィック シェーピングでは、インターフェイスから出力されるトラフィックを制御して、リモート ターゲット インターフェイスの速度にフローを合わせ、指定されているポリシーにトラフィックを準拠させることができます。ダウンストリーム要件を満たすために、特定のプロファイルに適合するトラフィックをシェーピングすることができます。トラフィック シェーピングは、データ レートの不一致があるトポロジのボトルネックを解消します。
トラフィック シェーピングは、各ポートの出力キューに最大トラフィック レートを強制することで、パケット フローを制御および均一化します。しきい値を超えたパケットはキューに配置され、後で送信されます。トラフィック シェーピングはトラフィック ポリシングと似ていますが、パケットはドロップされません。パケットがバッファに入れられるため、トラフィック シェーピングでは、(キュー長に基づく)パケット損失が最小限に抑えられ、TCP トラフィックに対してより優れたトラフィック動作が実現します。
トラフィック シェーピングを使用して、使用可能な帯域幅へのアクセスの制御、トラフィックに対して設定されたポリシーへのトラフィックの確実な準拠、およびトラフィックのフロー制御を実施することにより、出力トラフィックがそのリモートのターゲット インターフェイスのアクセス速度を超過したときに発生する可能性のある輻輳を回避することができます。たとえば、ポリシーによって、アクセス レートがインターフェイス速度を上回っていても、そのインターフェイスのレートが(平均で)特定のレートを上回るべきではないとされている場合に、帯域幅へのアクセスを制御できます。
キュー長のしきい値は、WRED 設定を使用して設定されます。
![]() (注) | トラフィック シェーピングは、ALE 対応デバイスの 40 G 前面パネル ポートではサポートされません。システム レベルでトラフィック シェーピングが設定されている場合、この設定は無視され、エラー メッセージが表示されません。ポート レベルでトラフィック シェーピング コマンドが設定されている場合、この設定は拒否され、エラー メッセージが表示されます。 |
次の表に、この機能のライセンス要件を示します。
製品 |
ライセンス要件 |
---|---|
Cisco NX-OS |
QoS 機能にライセンスは必要ありません。ライセンス パッケージに含まれていない機能は NX-OS イメージにバンドルされており、無料で提供されます。NX-OS ライセンス方式の詳細については、『Cisco NX-OS Licensing Guide』を参照してください。 |
キューイングおよびスケジューリングの前提条件は、次のとおりです。
キューイングおよびスケジューリングの設定に関する注意事項および制約事項は、次のとおりです。
internal キーワードが付いている show コマンドはサポートされていません。
デバイスは、システム レベルのキューイング ポリシーをサポートしているため、キューイング ポリシーを設定すると、システムのすべてのポートが影響を受けます。
type queuing ポリシーは、入力もしくは出力トラフィックの個別のインターフェイス、またはシステムに結合できます。
変更には中断が伴います。指定したポート タイプのポートを通過するトラフィックでは、短期間のトラフィック損失が発生する可能性があります。指定したタイプのポートがすべて影響を受けます。
パフォーマンスに影響が出ることがあります。1 つまたは複数の指定されたタイプのポートに、新規キューの動作を定義するために適用されたキューイング ポリシーが存在しない場合、そのキューに対するトラフィック マッピングでパフォーマンスの低下が発生する可能性があります。
トラフィック シェーピングは、パケットがキューイングされると、ストアアンドフォワード モードにフォール バックするため、キューイングによるパケットの遅延が大きくなる可能性があります。
トラフィック シェーピングは、Cisco Nexus 9300 40 G のポートではサポートされません。
1 個のクラス マップ キュー(SPQ)のプライオリティを設定する場合、QoS グループ 3 のプライオリティを設定する必要があります。複数のクラス マップ キュー(SPQ)のプライオリティを設定する場合、これよりも大きな番号の QoS グループのプライオリティを設定する必要があります。また、QoS グループは、相互に隣接している必要があります。たとえば、2 個の SPQ を使用する場合は、QoS グループ 3 と QoS グループ 2 のプライオリティを設定する必要があります。
100G 対応デバイス(N9K-M4PC-CFP2 GEM 搭載 Cisco Nexus 9300 シリーズ スイッチなど)のキュー制限について。
100G 対応デバイス(N9K-M4PC-CFP2 GEM 搭載 Cisco Nexus 9300 シリーズ スイッチなど)での WRED しきい値の最大セルは 20,000 です。20,000 のセル制限よりも大きい値の指定は、上限である 20,000 で上書きされます。
セル制限が上書きされても、それに関するメッセージは発行されません。
FEX は、次のものをサポートします。
スイッチ サポートのシステム キューイング ポリシーを設定すると、FEX はデフォルト ポリシーを使用します。
FEX QoS システム レベル キューイング ポリシーは、WRED、queue-limit、シェーピング、またはポリシング機能をサポートしていません。
FEX QoS システム レベル キューイング ポリシーは、複数のプライオリティ レベルをサポートしていません。
Cisco Nexus 9200 シリーズ スイッチで高いアルファ値を割り当てると、利用可能なバッファ スペースで予想される量の 50 % 以上が使用されます。
低いアルファ値を割り当てると(7 未満)、利用可能なバッファ スペースで予想される量の 50 % の使用が保証されます。
Cisco Nexus 9200 シリーズ スイッチの場合、静的キュー制限がキューに設定されると、静的に指定された制限と動的な制限の両方が、動的しきい値(アルファ値)を使用して計算されます(NX-OS 7.0(3)I3(1) 以降のリリース)。
バッファ ブースト機能により、ラインカードで追加バッファが使用できるようになります。この機能は N9K-X9564PX などのラインカードではデフォルトでイネーブルです。
一般に、バッファ ブースト機能をディセーブルにしないことを推奨します。ただし、N9K-X9636PQ ベースのラインカードおよび N9K-X9564PX ベースのラインカードから、2 つの異なるメンバー ポートをポート チャネリングする必要がある場合には、バッファ ブーストをディセーブルにする必要があります。ただし、ACI 対応リーフ ラインカードとスタンドアロン ラインカードの間でこのような設定をポート チャネリングすることは推奨されません。
![]() (注) | N9K-X9636PQ などのラインカードは、バッファ ブースト機能を提供しません。 |
ここでは、一時停止バッファ設定およびプライオリティ グループのキュー制限の解決の順序について説明します。
入力キューイングに関する注意を以下に示します。
デフォルトのシステム入力キューイング ポリシーは存在しません。
入力キューイング ポリシーは、指定された一時停止バッファ設定の上書きに使用されます。
Cisco Nexus 9000 NX-OS を以前のリリースにダウングレードした場合は、すべての入力キューイング設定を削除する必要があります。
入力キューイング機能がサポートされるのは、プライオリティ フロー制御がサポートされているプラットフォームだけです。
入力キューイングは 100G ポートを備えたデバイスではサポートされていません。
X9732C-EX ラインカードを備えた Cisco Nexus 9508 スイッチ、Cisco Nexus 93108TC-EX、93180YC-EX スイッチの場合、入力キューイング ポリシーはシステム レベルでのみサポートされています(インターフェイス レベルではありません)。
キューイングおよびスケジューリングを設定するには、出力インターフェイスに適用する、タイプ キューイングのポリシー マップを作成します。システム定義のクラス マップを変更することができ、それらをポリシー マップ内で使用して、ポリシーの適用先となるトラフィックのクラスを定義します。
ポリシー マップとクラス マップの設定の詳細については、「モジュラ QoS コマンドライン インターフェイス(MQC)の使用」の項を参照してください。
任意のキューで、輻輳回避機能(テール ドロップおよび WRED が含まれる)を設定できます。
出力キューでは、いずれかの出力輻輳管理機能(プライオリティ、トラフィック シェーピング、帯域幅など)を設定できます。
![]() (注) | WRED は、ALE 対応デバイスの前面パネル 40 G アップリンク ポートではサポートされていません。システム レベルで WRED が設定されている場合、この設定は無視され、エラー メッセージは表示されません。ポート レベルで WRED が設定されている場合、この設定は拒否され、エラー メッセージが表示されます。 |
システム定義ポリシー マップである default-out-policy は、キューイング ポリシー マップを適用しないすべてのポートに付加されます。デフォルト ポリシー マップは設定できません。
出力のタイプ キューイング ポリシーを使用して、特定のシステム クラスのトラフィックをスケジューリングおよびバッファリングします。タイプ キューイング ポリシーは QoS グループで識別され、システムまたは入力/出力トラフィックの個別のインターフェイスに結合できます。
![]() (注) | 入力キューイング ポリシーを使用して、一時停止バッファしきい値を設定します。詳細については、「プライオリティ フロー制御」の項を参照してください。 |
1.
configure terminal
2.
policy-maptype queuingpolicy-name
3.
classtype queuingclass-name
4.
priority
5.
no priority
6.
shape {kbps | mbps | gbps} burst sizeminminimum bandwidth
7.
bandwidth percentpercentage
8.
no bandwidth percentpercentage
9.
priority levellevel
10.
queue-limitqueue size [dynamicdynamic threshold]
テール ドロップまたは WRED の機能を使用して輻輳回避を設定できます。どちらの機能も、出力のポリシー マップで使用できます。
![]() (注) | WRED およびテール ドロップを同じクラス内で設定することはできません。 |
しきい値を設定することにより、出力キューでテール ドロップを設定できます。しきい値を超えるパケットはすべて、デバイスによってドロップされます。しきい値は、キューで使用されるキュー サイズまたはバッファ メモリに基づいて指定できます。
1.
configure terminal
2.
policy-map [type queuing] [match-first] [policy-map-name]
3.
classtype queuingclass-name
4.
queue-limit {queue-size [bytes | kbytes | mbytes] | dynamicvalue}
5.
(任意)他のキュー クラスに対するテール ドロップしきい値を割り当てるには、ステップ 3 および 4 を繰り返します。
6.
show policy-map [type queuing [policy-map-name | default-out-policy]]
7.
copy running-config startup-config
コマンドまたはアクション | 目的 | |||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 | ||||||||||||||||||||||||||||||||||||||
ステップ 2 | policy-map [type queuing] [match-first] [policy-map-name] 例: switch(config)# policy-map type queuing shape_queues switch(config-pmap-que)# |
タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。 | ||||||||||||||||||||||||||||||||||||||
ステップ 3 | classtype queuingclass-name 例: switch(config-pmap-que)# class type queuing c-out-q1 switch(config-pmap-c-que)# |
タイプ キューイングのクラス マップを設定し、ポリシー マップ クラス キューイング モードを開始します。クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。 | ||||||||||||||||||||||||||||||||||||||
ステップ 4 | queue-limit {queue-size [bytes | kbytes | mbytes] | dynamicvalue} 例: switch(config-pmap-c-que)# queue-limit 1000 mbytes |
バイト、キロバイト、メガバイト単位のキュー サイズに基づいてテール ドロップしきい値を割り当てるか、使用可能な空きセルの数に応じてキューのしきい値サイズを動的に決定できるようにします。指定したしきい値を超えるパケットは、デバイスによってドロップされます。 バイトベースのキュー サイズの有効な値は 1 ~ 83886080 です。ダイナミック キューのサイズの有効な値は次の 0 ~ 10 です。
たとえば、ダイナミック キュー サイズとして 6 を設定すると、alpha 値は ½ です。ダイナミック キュー サイズとして 7 を設定すると、alpha 値は 1 です。 queue-limit を計算する際には、以下の点を考慮してください。 queue-limit = (alpha/(1 + alpha)) x バッファ合計数 たとえば、ダイナミック キュー サイズに 7 を使用して queue-limit を設定する場合、queue-limit の最大値は「(1/(1+1)) x 合計バッファ数」になります。つまり、「queue-limit = ½ x 合計バッファ数」となります。
| ||||||||||||||||||||||||||||||||||||||
ステップ 5 | (任意)他のキュー クラスに対するテール ドロップしきい値を割り当てるには、ステップ 3 および 4 を繰り返します。 | |||||||||||||||||||||||||||||||||||||||
ステップ 6 | show policy-map [type queuing [policy-map-name | default-out-policy]] 例: switch(config-pmap-c-que)# show policy-map type queuing shape_queues |
(任意)設定済みのすべてのポリシー マップ、すべてのタイプ キューイングのポリシー マップ、選択したタイプ キューイングのポリシー マップ、またはデフォルトの出力キューイング ポリシーに関する情報を表示します。 | ||||||||||||||||||||||||||||||||||||||
ステップ 7 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。 |
出力キューで WRED を設定し、最小および最大のパケット ドロップしきい値を設定できます。キュー サイズが最小しきい値を超えるにつれて、ドロップされるパケットの頻度が高くなります。最大しきい値を超えると、キューに対するすべてのパケットがドロップされます。
![]() (注) | WRED およびテール ドロップを同じクラス内で設定することはできません。 |
1.
configure terminal
2.
policy-maptype queuing {[match-first] policy-map-name}
3.
classtype queuingclass-name
4.
random-detect [minimum-thresholdmin-threshold {packets | bytes | kbytes | mbytes} maximum-thresholdmax-threshold {packets | bytes | kbytes | mbytes} drop-probabilityvalueweightvalue] [threshold {burst-optimized | mesh-optimized}] [ecn]
5.
(任意) 他のキューイング クラスに対する WRED を設定するには、ステップ 3 と 4 を繰り返します。
6.
(任意) congestion-control random-detect forward-nonecn
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 | ||
ステップ 2 | policy-maptype queuing {[match-first] policy-map-name} 例: switch(config)# policy-map type queuing p1 switch(config-pmap-que)# |
タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。 | ||
ステップ 3 | classtype queuingclass-name 例: switch(config-pmap-que)# class type queuing c-out-q1 switch(config-pmap-c-que)# |
タイプ キューイングのクラス マップを設定し、ポリシー マップ クラス キューイング モードを開始します。クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。 | ||
ステップ 4 | random-detect [minimum-thresholdmin-threshold {packets | bytes | kbytes | mbytes} maximum-thresholdmax-threshold {packets | bytes | kbytes | mbytes} drop-probabilityvalueweightvalue] [threshold {burst-optimized | mesh-optimized}] [ecn] 例: switch(config-pmap-c-que)# random-detect minimum-threshold 10 mbytes maximum-threshold 20 mbytes |
指定されたキューイング クラスの WRED を設定します。パケットをキューからドロップするのに使用する最小および最大のしきい値を指定できます。これらのしきい値は、パケット数、バイト数、キロバイト数、またはメガバイト数で設定できます。最小および最大のしきい値は同じタイプにする必要があります。しきい値は 1 ~ 52428800 です。 代わりに、バーストまたはメッシュ トラフィック用に最適化されたしきい値を指定するか、または明示的輻輳通知(ECN)に基づいてパケットをドロップするように WRED を設定できます。
| ||
ステップ 5 | 他のキューイング クラスに対する WRED を設定するには、ステップ 3 と 4 を繰り返します。 | (任意) | ||
ステップ 6 | congestion-control random-detect forward-nonecn 例: switch(config)# congestion-control random-detect forward-nonecn | (任意)
非 ECN 対応トラフィックに WRED しきい値をバイパスさせ、出力キューの制限およびテール ドロップが始まるまで拡大できるようにします。このコマンドは WRED+ECN 構成での使用を意図したもので、非 ECN 対応トラフィックの WRED ドロップ回避を想定した場合のものです。これが利用可能なのは、Cisco NX-OS リリース 7.0(3)I4(2) 以降のみであり、サポートされているのは Cisco Nexus 9200 シリーズ スイッチ、Cisco Nexus 93108TC-EX と 93180YC-EX スイッチ、および Cisco Nexus 9508 スイッチで X9732C-EX ラインカードを備えたものだけです。 |
次の輻輳管理方式のうちいずれか 1 つだけをポリシー マップで設定できます。
bandwidth および bandwidth remaining コマンドを使用して、最小のデータ レートをキューに割り当てる方式。
priority コマンドを使用して、トラフィックのクラスに対するすべてのデータをプライオリティ キューに割り当てる方式。bandwidth remaining コマンドを使用して、残りのトラフィックを非プライオリティ キュー間で分配できます。デフォルトでは、残りの帯域幅はシステムによって非プライオリティ キュー間で均等に分配されます。
shape コマンドを使用して、最小および最大のデータ レートをキューに割り当てる方式。
選択する輻輳管理機能に加えて、次のいずれかのキュー機能をポリシー マップの各クラスで設定できます。
最小のインターフェイス帯域幅(%)をキューに割り当てるように、出力キューの帯域幅および残りの帯域幅を設定できます。
![]() (注) | 保証帯域幅が設定されている場合、プライオリティ キューは同じポリシー マップでディセーブルにする必要があります。 |
1.
configure terminal
2.
policy-maptype queuing {[match-first] policy-map-name}
3.
classtype queuingclass-name
4.
インターフェイス帯域幅の最小レートを割り当てるか、または残りの帯域幅の割合を割り当てます。
5.
(任意)他のキュー クラスに対するテール ドロップしきい値を割り当てるには、ステップ 3 および 4 を繰り返します。
6.
exit
7.
show policy-map [type queuing [policy-map-name | default-out-policy]]
8.
copy running-config startup-config
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | policy-maptype queuing {[match-first] policy-map-name} 例: switch(config)# policy-map type queuing shape_queues switch(config-pmap-que)# |
タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。 |
ステップ 3 | classtype queuingclass-name 例: switch(config-pmap-que)# class type queuing c-out-q1 switch(config-pmap-c-que)# |
タイプ キューイングのクラス マップを設定し、ポリシー マップ クラス キューイング モードを開始します。クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。 |
ステップ 4 | インターフェイス帯域幅の最小レートを割り当てるか、または残りの帯域幅の割合を割り当てます。 例: | |
ステップ 5 | (任意)他のキュー クラスに対するテール ドロップしきい値を割り当てるには、ステップ 3 および 4 を繰り返します。 | |
ステップ 6 | exit 例: switch(config-cmap-que)# exit switch(config)# |
ポリシー マップ キュー モードを終了し、グローバル コンフィギュレーション モードを開始します。 |
ステップ 7 | show policy-map [type queuing [policy-map-name | default-out-policy]] 例: switch(config-pmap-c-que)# show policy-map type queuing shape_queues |
(任意)設定済みのすべてのポリシー マップ、すべてのタイプ キューイングのポリシー マップ、選択したタイプ キューイングのポリシー マップ、またはデフォルトの出力キューイング ポリシーに関する情報を表示します。 |
ステップ 8 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。 |
入力キューおよび出力キューで帯域幅および帯域幅の残量を設定して、インターフェイス帯域幅の最小の割合をキューに割り当てることができます。
![]() (注) | 保証帯域幅が設定されている場合、プライオリティ キューは同じポリシー マップでディセーブルにする必要があります。 |
FEX を設定する前に、feature-set fex をイネーブルにしておきます。
1.
configure terminal
2.
policy-maptype queuing {[match-first] policy-map-name}
3.
classtype queuingclass-name
4.
インターフェイス帯域幅の最小レートを割り当てるか、または残りの帯域幅の割合を割り当てます。
5.
(任意)他のキュー クラスに対するテール ドロップしきい値を割り当てるには、ステップ 3 および 4 を繰り返します。
6.
exit
7.
show policy-map [type queuing [policy-map-name | default-out-policy]]
8.
copy running-config startup-config
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | policy-maptype queuing {[match-first] policy-map-name} 例: switch(config)# policy-map type queuing shape_queues switch(config-pmap-que)# |
タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。 |
ステップ 3 | classtype queuingclass-name 例: switch(config-pmap-que)# class type queuing c-out-q1 switch(config-pmap-c-que)# |
タイプ キューイングのクラス マップを設定し、ポリシー マップ クラス キューイング モードを開始します。クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。 |
ステップ 4 | インターフェイス帯域幅の最小レートを割り当てるか、または残りの帯域幅の割合を割り当てます。 例: | |
ステップ 5 | (任意)他のキュー クラスに対するテール ドロップしきい値を割り当てるには、ステップ 3 および 4 を繰り返します。 | |
ステップ 6 | exit 例: switch(config-cmap-que)# exit switch(config)# |
ポリシー マップ キュー モードを終了し、グローバル コンフィギュレーション モードを開始します。 |
ステップ 7 | show policy-map [type queuing [policy-map-name | default-out-policy]] 例: switch(config-pmap-c-que)# show policy-map type queuing shape_queues |
(任意)設定済みのすべてのポリシー マップ、すべてのタイプ キューイングのポリシー マップ、選択したタイプ キューイングのポリシー マップ、またはデフォルトの出力キューイング ポリシーに関する情報を表示します。 |
ステップ 8 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。 |
次に、インターフェイスの帯域幅を設定する例を示します。
switch(config)# policy-map type queuing inq switch(config-pmap-que)# class type queuing c-in-q3 switch(config-pmap-c-que)# bandwidth percent 30 switch(config-pmap-que)# class type queuing c-in-q2 switch(config-pmap-c-que)# bandwidth percent 20 switch(config-pmap-que)# class type queuing c-in-q1 switch(config-pmap-c-que)# bandwidth percent 10 switch(config-pmap-que)# class type queuing c-in-q-default switch(config-pmap-c-que)# bandwidth percent 40
プライオリティを指定しない場合、システム定義の出力 pq キューは標準キューと同様に動作します。システム定義のタイプ キューイング クラス マップについては、「モジュラ QoS コマンドライン インターフェイス(MQC)の使用」の項を参照してください。
出力プライオリティ キューで設定できるプライオリティのレベルは 1 レベルだけです。ポリシー マップの適用先となるモジュールのタイプに対応した、システム定義のプライオリティ キュー クラスを使用します。
非プライオリティ キューについては、残りの帯域幅のうち各キューに割り当てる量を設定できます。デフォルトでは、デバイスは残りの帯域幅を非プライオリティ キューに均等に配分します。
![]() (注) | プライオリティ キューが設定されている場合、もう一方のキューは、同じポリシー マップ内の残りの帯域幅しか使用できません。 |
![]() (注) | 1 個のクラス マップ キュー(SPQ)のプライオリティを設定する場合、QoS グループ 3 のプライオリティを設定する必要があります。複数のクラス マップ キュー(SPQ)のプライオリティを設定する場合、これよりも大きな番号の QoS グループのプライオリティを設定する必要があります。また、QoS グループは、相互に隣接している必要があります。たとえば、2 個の SPQ を使用する場合は、QoS グループ 3 と QoS グループ 2 のプライオリティを設定する必要があります。 |
1.
configure terminal
2.
policy-maptype queuing {[match-first] policy-map-name}
3.
classtype queuingclass-name
4.
priority [levelvalue]
5.
classtype queuingclass-name
6.
bandwidth remaining percentpercent
7.
(任意)他の非プライオリティ キューに対する残りの帯域幅を割り当てるには、ステップ 5 ~ 6 を繰り返します。
8.
exit
9.
show policy-map [type queuing [policy-map-name | default-out-policy]]
10.
copy running-config startup-config
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | policy-maptype queuing {[match-first] policy-map-name} 例: switch(config)# policy-map type queuing priority_queue1 switch(config-pmap-que)# |
タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。 |
ステップ 3 | classtype queuingclass-name 例: switch(config-pmap-que)# class type queuing c-out-q1 switch(config-pmap-c-que)# |
タイプ キューイングのクラス マップを設定し、ポリシー マップ クラス キューイング モードを開始します。クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。 |
ステップ 4 | priority [levelvalue] 例: switch(config-pmap-c-que)# priority |
このキューをプライオリティ キューとして選択します。サポートされているプライオリティ レベルは 1 レベルだけです。 |
ステップ 5 | classtype queuingclass-name 例: switch(config-pmap-que)# class type queuing c-out-q2 switch(config-pmap-c-que)# |
(任意)タイプ キューイングのクラス マップを設定し、ポリシー マップ クラス キューイング モードを開始します。クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。 残りの帯域幅を設定する非プライオリティ キューを選択します。デフォルトでは、残りの帯域幅はシステムによって非プライオリティ キュー間で均等に分配されます。 |
ステップ 6 | bandwidth remaining percentpercent 例: switch(config-pmap-c-que)# bandwidth remaining percent 25 |
(任意)残りの帯域幅の割合をこのキューに割り当てます。範囲は 0 ~ 100 です。 |
ステップ 7 | (任意)他の非プライオリティ キューに対する残りの帯域幅を割り当てるには、ステップ 5 ~ 6 を繰り返します。 | |
ステップ 8 | exit 例: switch(config-cmap-que)# exit switch(config)# |
ポリシー マップ キュー モードを終了し、グローバル コンフィギュレーション モードを開始します。 |
ステップ 9 | show policy-map [type queuing [policy-map-name | default-out-policy]] 例: switch(config)# show policy-map type queuing priority_queue1 |
(任意)設定済みのすべてのポリシー マップ、すべてのタイプ キューイングのポリシー マップ、選択したタイプ キューイングのポリシー マップ、またはデフォルトの出力キューイング ポリシーに関する情報を表示します。 |
ステップ 10 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。 |
プライオリティを指定しない場合、システム定義の出力 pq キューは標準キューと同様に動作します。システム定義のタイプ キューイング クラス マップについては、「モジュラ QoS コマンドライン インターフェイス(MQC)の使用」の項を参照してください。
出力プライオリティ キューで設定できるプライオリティのレベルは 1 レベルだけです。ポリシー マップの適用先となるモジュールのタイプに対応した、システム定義のプライオリティ キュー クラスを使用します。
非プライオリティ キューについては、残りの帯域幅のうち各キューに割り当てる量を設定できます。デフォルトでは、デバイスは残りの帯域幅を非プライオリティ キューに均等に配分します。
![]() (注) | プライオリティ キューが設定されている場合、もう一方のキューは、同じポリシー マップ内の残りの帯域幅しか使用できません。 |
![]() (注) | 1 個のクラス マップ キュー(SPQ)のプライオリティを設定する場合、QoS グループ 3 のプライオリティを設定する必要があります。複数のクラス マップ キュー(SPQ)のプライオリティを設定する場合、これよりも大きな番号の QoS グループのプライオリティを設定する必要があります。また、QoS グループは、相互に隣接している必要があります。たとえば、2 個の SPQ を使用する場合は、QoS グループ 3 と QoS グループ 2 のプライオリティを設定する必要があります。 |
FEX を設定する前に、feature-set fex をイネーブルにしておきます。
1.
configure terminal
2.
policy-maptype queuing {[match-first] policy-map-name}
3.
classtype queuingclass-name
4.
priority [levelvalue]
5.
classtype queuingclass-name
6.
bandwidth remaining percentpercent
7.
(任意)他の非プライオリティ キューに対する残りの帯域幅を割り当てるには、ステップ 5 ~ 6 を繰り返します。
8.
exit
9.
show policy-map [type queuing [policy-map-name | default-out-policy]]
10.
copy running-config startup-config
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 | ||
ステップ 2 | policy-maptype queuing {[match-first] policy-map-name} 例: switch(config)# policy-map type queuing priority_queue1 switch(config-pmap-que)# |
タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。 | ||
ステップ 3 | classtype queuingclass-name 例: switch(config-pmap-que)# class type queuing c-out-q3 switch(config-pmap-c-que)# |
タイプ キューイングのクラス マップを設定し、ポリシー マップ クラス キューイング モードを開始します。クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。 | ||
ステップ 4 | priority [levelvalue] 例: switch(config-pmap-c-que)# priority |
このキューをプライオリティ キューとして選択します。サポートされているプライオリティ レベルは 1 レベルだけです。
| ||
ステップ 5 | classtype queuingclass-name 例: switch(config-pmap-que)# class type queuing c-out-q3 switch(config-pmap-c-que)# |
(任意)タイプ キューイングのクラス マップを設定し、ポリシー マップ クラス キューイング モードを開始します。クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。 残りの帯域幅を設定する非プライオリティ キューを選択します。デフォルトでは、残りの帯域幅はシステムによって非プライオリティ キュー間で均等に分配されます。 | ||
ステップ 6 | bandwidth remaining percentpercent 例: switch(config-pmap-c-que)# bandwidth remaining percent 25 |
(任意)残りの帯域幅の割合をこのキューに割り当てます。範囲は 0 ~ 100 です。 | ||
ステップ 7 | (任意)他の非プライオリティ キューに対する残りの帯域幅を割り当てるには、ステップ 5 ~ 6 を繰り返します。 | |||
ステップ 8 | exit 例: switch(config-cmap-que)# exit switch(config)# |
ポリシー マップ キュー モードを終了し、グローバル コンフィギュレーション モードを開始します。 | ||
ステップ 9 | show policy-map [type queuing [policy-map-name | default-out-policy]] 例: switch(config)# show policy-map type queuing priority_queue1 |
(任意)設定済みのすべてのポリシー マップ、すべてのタイプ キューイングのポリシー マップ、選択したタイプ キューイングのポリシー マップ、またはデフォルトの出力キューイング ポリシーに関する情報を表示します。 | ||
ステップ 10 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。 |
次に、プライオリティのレベルを設定する例を示します。
switch(config)# policy-map type queuing inq_pri switch(config-pmap-que)# class type queuing c-in-q3 switch(config-pmap-c-que)# priority switch(config-pmap-que)# class type queuing c-in-q2 switch(config-pmap-c-que)# bandwidth remaining percent 20 switch(config-pmap-que)# class type queuing c-in-q1 switch(config-pmap-c-que)# bandwidth remaining percent 40 switch(config-pmap-que)# class type queuing c-in-q-default switch(config-pmap-c-que)# bandwidth remaining percent 40
出力キューでトラフィック シェーピングを設定し、出力キューに最小および最大レートを強制できます。
![]() (注) | キューのトラフィック シェーピング設定は、同じポリシー マップ内でプライオリティや帯域幅とは独立に行われます。 |
![]() (注) | システム キューイング ポリシーは、内部ポートおよび前面パネル ポートの両方に適用されます。トラフィック シェーピングがシステムのキューイング ポリシーでイネーブルになっている場合、トラフィック シェーピングは内部ポートにも適用されます。ベスト プラクティスとして、システム キューイング ポリシーでトラフィック シェーピングをイネーブルにしないでください。 |
![]() (注) | トラフィック シェーピングは、Cisco Nexus 9300 40 G のポートではサポートされません。 |
パケットのランダム検出の下限および上限しきい値を設定します。
1.
configure terminal
2.
policy-maptype queuing {[match-first] policy-map-name}
3.
classtype queuingclass-name
4.
shape minvalue {bps | gbps | kbps | mbps | pps} maxvalue {bps | gbps | kbps | mbps | pps}
5.
(任意)他のキュー クラスに対するテール ドロップしきい値を割り当てるには、ステップ 3 および 4 を繰り返します。
6.
show policy-map [type queuing [policy-map-name | default-out-policy]]
7.
copy running-config startup-config
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | policy-maptype queuing {[match-first] policy-map-name} 例: switch(config)# policy-map type queuing shape_queues switch(config-pmap-que)# |
タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。 |
ステップ 3 | classtype queuingclass-name 例: switch(config)# class type queuing c-out-q-default switch(config-pmap-c-que)# |
タイプ キューイングのクラス マップを設定し、ポリシー マップ クラス キューイング モードを開始します。クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。 |
ステップ 4 | shape minvalue {bps | gbps | kbps | mbps | pps} maxvalue {bps | gbps | kbps | mbps | pps} 例: switch(config-pmap-c-que)# shape min 10 bps max 100 bps |
出力キューの最小および最大ビット レートを割り当てます。デフォルトのビット レートは bps です。 この例では、最小レート 10 bps(ビット/秒)および最大レート 100 bps にトラフィックをシェーピングしています。 |
ステップ 5 | (任意)他のキュー クラスに対するテール ドロップしきい値を割り当てるには、ステップ 3 および 4 を繰り返します。 | |
ステップ 6 | show policy-map [type queuing [policy-map-name | default-out-policy]] 例: switch(config)# show policy-map type queuing shape_queues |
(任意)設定済みのすべてのポリシー マップ、すべてのタイプ キューイングのポリシー マップ、選択したタイプ キューイングのポリシー マップ、またはデフォルトの出力キューイング ポリシーに関する情報を表示します。 |
ステップ 7 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。 |
システムでキューイング ポリシーをグローバルに適用します。
1.
configure terminal
2.
system qos
3.
service-policy type queuing output {policy-map-name | default-out-policy}
コマンドまたはアクション | 目的 | |||||
---|---|---|---|---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 | ||||
ステップ 2 | system qos 例: switch (config)# system qos switch (config-sys-qos)# |
システム qos モードを開始します。 | ||||
ステップ 3 | service-policy type queuing output {policy-map-name | default-out-policy} 例: switch (config-sys-qos)# service-policy type queuing map1 |
ポリシー マップをシステムの入力パケットまたは出力パケットに追加します。
|
キューイングおよびスケジューリングの設定を確認するには、次のコマンドを使用します。
コマンド |
目的 |
---|---|
show class-map [type queuing [class-name]] |
設定済みのすべてのクラス マップ、すべてのタイプ キューイングのクラス マップ、または選択したタイプ キューイングのクラス マップに関する情報を表示します。 |
show policy-map [type queuing [policy-map-name | default-out-policy]] |
設定済みのすべてのポリシー マップ、すべてのタイプ キューイングのポリシー マップ、選択したタイプ キューイングのポリシー マップ、またはデフォルトの出力キューイング ポリシーに関する情報を表示します。 |
show policy-map system |
システムの設定済みのすべてのポリシー マップに関する情報を表示します。 |
QoS バッファは、共有スペースおよびポート/キューごとにサポートします。すべてのフローによって共有される QoS バッファの制御は、予約を制限または無効化することで行えます。
hardware qos min-buffer コマンドは、QoS 共有バッファを制御するために使用されます。
hardware qos min-buffer [all|default|none] |
|
show hardware qos min-buffer コマンドは現在のバッファの設定を表示します。
Cisco Nexus 9000 シリーズ デバイスには、ポートおよびダイナミック共有メモリごとに専用として区切られた 12 MB のメモリ バッファがあります。各前面パネル ポートの出力には、4 個のユニキャスト キューと 4 個のマルチキャスト キューがあります。バーストまたは輻輳シナリオでは、各出力ポートはダイナミック共有メモリからバッファを消費します。
共有バッファのリアルタイムおよびピーク ステータスをポートごとに表示できます。セルの数に関して、すべてのカウンタが表示されます。各セルは 208 バイトです。また消費量と使用可能なセルの数に関して、グローバル レベル バッファの消費を表示できます。
![]() (注) | ALE 対応デバイスでの共有バッファのモニタは、ポート レベルではサポートされていません。 |
![]() (注) | ここで紹介する例では、ポート番号は Broadcom ASIC のポートです。 |
switch# clear counters buffers Max Cell Usage has been reset successfully
switch(config)# hardware profile buffer info port-threshold module 1 threshold 10 Port threshold changed successfully
![]() (注) | バッファしきい値機能は、no-drop クラスを設定している場合(PFC)、ポートでイネーブルになっていません。 |
![]() (注) | 設定されたしきい値のバッファ カウントは、ポートのすべてのキューにおいて、そのポートに使用されるすべてのバッファに対して、5 秒ごとにチェックされます。 |
![]() (注) | すべてのモジュールまたは特定のモジュールのすべてのポートに適用される、しきい値の割合を設定できます。デフォルトのしきい値は、共有プール SP-0 スイッチのセル数の 90% です。この設定は、イーサネット(前面パネル)ポートおよび内部(HG)ポートの両方に適用されます。 |
![]() (注) | バッファしきい値機能は、ACI 対応デバイスのポートではサポートされていません。 |
eor15# show interface hardware-mappings Legends: SMod - Source Mod. 0 is N/A Unit - Unit on which port resides. N/A for port channels HPort - Hardware Port Number or Hardware Trunk Id: FPort - Fabric facing port number. 255 means N/A NPort - Front panel port number VPort - Virtual Port Number. -1 means N/A -------------------------------------------------------------------- Name Ifindex Smod Unit HPort FPort NPort VPort -------------------------------------------------------------------- Eth2/1 1a080000 4 0 13 255 0 -1 Eth2/2 1a080200 4 0 14 255 1 -1 Eth2/3 1a080400 4 0 15 255 2 -1 Eth2/4 1a080600 4 0 16 255 3 -1 Eth2/5 1a080800 4 0 17 255 4 -1 Eth2/6 1a080a00 4 0 18 255 5 -1 Eth2/7 1a080c00 4 0 19 255 6 -1 Eth2/8 1a080e00 4 0 20 255 7 -1 Eth2/9 1a081000 4 0 21 255 8 -1 Eth2/10 1a081200 4 0 22 255 9 -1 Eth2/11 1a081400 4 0 23 255 10 -1 Eth2/12 1a081600 4 0 24 255 11 -1 Eth2/13 1a081800 4 0 25 255 12 -1 Eth2/14 1a081a00 4 0 26 255 13 -1 Eth2/15 1a081c00 4 0 27 255 14 -1 Eth2/16 1a081e00 4 0 28 255 15 -1 Eth2/17 1a082000 4 0 29 255 16 -1 Eth2/18 1a082200 4 0 30 255 17 -1 Eth2/19 1a082400 4 0 31 255 18 -1 Eth2/20 1a082600 4 0 32 255 19 -1 Eth2/21 1a082800 4 0 33 255 20 -1 Eth2/22 1a082a00 4 0 34 255 21 -1 Eth2/23 1a082c00 4 0 35 255 22 -1 Eth2/24 1a082e00 4 0 36 255 23 -1
ここでは、キューイングおよびスケジューリングの設定例を示します。
次に、出力キューで WRED 機能を設定する例を示します。
configure terminal class-map type queuing match-any c-out-q1 match qos-group 1 class-map type queuing match-any c-out-q2 match qos-group 1 policy-map type queuing wred class type queuing c-out-q1 random-detect minimum-threshold 10 bytes maximum-threshold 1000 bytes class type queuing c-out-q2 random-detect threshold burst-optimized ecn
次に、1000 パケット/秒(pps)でトラフィック シェーピングを設定する例を示します。
configure terminal class-map type queuing match-any c-out-q1 match qos-group 1 class-map type queuing match-any c-out-q2 match qos-group 1 policy-map type queuing pqu class type queuing c-out-q1 shape min 100 pps max 500 pps class type queuing c-out-q2 shape min 200 pps max 1000 pps show policy-map type queuing pqu