QoS について
設定可能な Cisco NX-OS Quality of Service(QoS)機能を使用して、ネットワーク トラフィックを分類し、トラフィック フローに優先順位を付けて、輻輳回避を実行できます。
デバイスのデフォルトの QoS 構成では、イーサネット トラフィックに対してベストエフォート型サービスが提供されます。イーサネット トラフィックのサービス クラス(CoS)を追加するよう QoS を設定できます。Cisco NX-OS QoS 機能は、Cisco Modular QoS CLI(MQC)を使用して構成されます。
輻輳や衝突が発生した場合、イーサネットではパケットが廃棄されます。失われたデータの検出および廃棄されたパケットの再送信は、上位プロトコルにより行われます。
モジュラ QoS CLI
Cisco MQC は、QoS を設定するための標準コマンド セットを提供します。
MQC を使用して、追加のトラフィック クラスを定義し、システム全体および個別のインターフェイスに対して QoS ポリシーを設定できます。MQC で QoS ポリシーを設定するには、次の手順を実行します。
- トラフィック クラスを定義する。
- 各トラフィック クラスにポリシーおよびアクションをアソシエートします。
- ポリシーを論理インターフェイスまたは物理インターフェイスに結合します。同様にグローバル システム レベルで結合できます。
MQC には、トラフィックのクラスとポリシーを定義するために、2 つのコマンド タイプが用意されています。
- class-map
-
パケット一致基準に基づいて、トラフィックのクラスを表すクラス マップを定義します。クラス マップはポリシー マップ内で参照されます。
クラス マップは、IEEE 802.1p(CoS)値などの一致基準に基づいて、着信パケットを分類します。ユニキャスト パケットおよびマルチキャスト パケットが分類されます。
- policy-map
-
クラス単位でクラス マップに適用するポリシーのセットを表すポリシー マップを定義します。
ポリシー マップは、帯域幅の制限やパケットのドロップなど、アソシエートされたトラフィック クラスで実行するアクション セットを定義します。
クラス マップおよびポリシー マップを作成する場合は、次の class-map および policy-map オブジェクト タイプを定義します。
- network-qos
-
システム レベルの関連アクションに使用できる MQC オブジェクトを定義します。
- qos
-
分類に使用できる MQC オブジェクトを定義します。
- queuing
-
キューイングおよびスケジューリングに使用できる MQC オブジェクトを定義します。
Note |
qos タイプは、class-map コマンドおよび policy-map コマンドのデフォルトですが、タイプを明示的に指定する必要がある service-policy では、デフォルトではありません。 |
ポリシーは、service-policy コマンドを使用して、インターフェイスまたは EtherChannel に追加できるほか、グローバル システム レベルで追加できます。
show class-map コマンドおよび show policy-map コマンドを使用して、MQC オブジェクトのすべてまたは個々の値を表示できます。
MQC ターゲットは、パケットのフローを表すエンティティ(イーサネット インターフェイスなど)です。サービス ポリシーはポリシー マップを MQC ターゲットにアソシエートし、着信または発信パケットでポリシーを適用するかどうか指定します。このマッピングにより、マーキング、帯域幅割り当て、バッファ割り当てなど、QoS ポリシーの構成をイネーブル化します。
システム クラス
システム qos は一種の MQC ターゲットです。service-policy を使用して、ポリシー マップをシステム qos ターゲットに関連付けます。特定のインターフェイスでサービス ポリシー設定を上書きしない限り、システム qos ポリシーはスイッチのインターフェイス全体に適用されます。システム qos ポリシーは、システム クラス、スイッチ全体のトラフィック クラス、およびその属性を定義するために使用します。
サービス ポリシーがインターフェイス レベルで設定されている場合、インターフェイス レベルのポリシーは常にシステム クラス設定またはデフォルト値よりも優先されます。
デフォルトのシステム クラス
ポリシー タイプに関する情報
このデバイスは、複数のポリシー タイプをサポートしています。クラス マップはポリシー タイプで作成します。
-
Network-qos
-
キューイング
-
QoS
各クラスのタイプには、次の QoS パラメータを指定できます:
-
タイプ network-qos:network-qos ポリシーを使用して、システム クラスを配置し、システム全体のスコープを持つそれらのクラスにパラメータを関連付けます。
-
分類:このクラスに一致するトラフィックは次のとおりです。
-
QoS グループ:タイプ network-qos のクラス マップはシステム クラスを示し、関連付けられた qos-group によって照合されます。
-
-
ポリシー:一致したトラフィックで実行されるアクションは次のとおりです。
(注)
network-qos ポリシーは、システム qos ターゲットだけに結合できます。
-
MTU:システム クラスにマッピングされたトラフィックに適用する必要のある MTU。
(注)
Cisco Nexus deviceは、すべてのポートのすべてのクラスに対して 1 MTU をサポートします。
-
CoS 値の設定:このシステム クラスにマッピングされたすべてのトラフィックに 802.1p 値をマーク付けする場合の構成に使用します。
-
輻輳制御 ECN:データセンター TCP(DCTCP)は、データセンターネットワークの TCP 輻輳制御アルゴリズムの拡張です。明示的輻輳通知(ECN)機能を利用して、キューの長さが設定した ECN しきい値を超えたときに、すべてのパケットをマークします。ルータとエンド ホストは、このマーキングをネットワークの輻輳によってパケットの送信速度が低下していることを示す警告として使用します。ECN を有効にするには、network-qos ポリシー マップ モードで congestion-control dctcp ecn コマンドを使用します。
(注)
network-qos ポリシー クラスの ECN をイネーブルにすると、システムのすべてのポートで ECN がイネーブルにされることを意味します。
-
-
-
タイプ キューイング:タイプ キューイング ポリシーを使用して、システム クラスと関連付けられたキューのスケジューリング特性を定義します。
Cisco Nexus deviceは、出力方向でタイプ queuing をサポートします。
(注)
一部の設定パラメータは、EtherChannel に適用されていると、メンバー ポートの構成に反映されません。
(注)
Cisco Nexus 3500 シリーズ スイッチでは、QoS ポリシーで QoS グループが定義されるまで、QoS 再マーキングは機能しません。これは予想される動作であり、qos-group が適用されていない場合は、デフォルト キューに分類される必要があります。
-
分類:このクラスに一致するトラフィックは次のとおりです。
-
QoS グループ:タイプ キューイングのクラス マップは、システム クラスを示し、関連付けられた QoS グループによって照合されます。
-
-
ポリシー:一致したトラフィックで実行されるアクションは次のとおりです。
(注)
システム qos ターゲットまたは任意のインターフェイスに結合できます。出力キューイング ポリシーを使用して、システム クラスに関連付けられた、デバイスの出力キューを設定します。
-
帯域幅:システム クラスに保証される Deficit Weighted Round Robin(DWRR)スケジューリングの割合を設定します。
-
プライオリティ:システム クラスを完全優先スケジューリング用に設定します。指定されたキューイング ポリシーで優先するシステム クラスを 1 つだけ設定できます。
-
-
-
タイプ qos:タイプ QoS ポリシーを使用して、フレーム内にあるレイヤ 2、レイヤ 3、レイヤ 4 の各種フィールドに基づいたトラフィックを分類し、システム クラスにマッピングします。
(注)
一部の設定パラメータは、EtherChannel に適用されていると、メンバー ポートの構成に反映されません。
-
分類:このクラスに一致するトラフィックは次のとおりです。
-
アクセス コントロール リスト:既存の ACL の基準に基づいてトラフィックを分類します。
-
サービス クラス:フレーム ヘッダーの CoS フィールドに基づいてトラフィックを照合します。
-
DSCP:IP ヘッダーの DiffServ フィールドにある DiffServ コード ポイント(DSCP)値に基づいてトラフィックを分類します。
-
IP リアルタイム プロトコル:リアルタイム アプリケーションで使用されるポート番号に基づいてトラフィックを分類します。
-
優先順位:IP ヘッダーのタイプ オブ サービス(ToS)フィールドの優先順位値に基づいてトラフィックを分類します。
-
-
ポリシー:一致したトラフィックで実行されるアクションは次のとおりです。
(注)
このポリシーは、システムまたは任意のインターフェイスに追加できます。このポリシーは入力トラフィックだけに適用されます。
-
QoS グループ:このトラフィック フローがマッピングされたシステム クラスに対応する QoS グループを設定します。
Cisco Nexus 3500 シリーズ スイッチ サポート:
-
5 つの QoS グループ
-
ユニキャスト用に 5 個のキュー
-
マルチキャスト用に 5 個のキュー
-
-
-
ネットワーク QoS ポリシー タイプ
network-qos ポリシーを使用して、システム クラスを配置し、システム全体を含むシステム クラスにパラメータをアソシエートします。
-
分類:このクラスに一致するトラフィックは次のとおりです。
-
QoS グループ:タイプ network-qos のクラス マップはシステム クラスを示し、関連付けられた qos-group によって照合されます。
-
-
ポリシー:一致したトラフィックで実行されるアクションは次のとおりです。
(注)
network-qos ポリシーは、システム qos ターゲットだけに結合できます。
(注)
すべてのユーザー定義クラスは network-qos ポリシーで定義する必要があり、network-qos ポリシーは「system qos」で適用する必要があります。
-
MTU:システム クラスにマッピングされたトラフィックに適用する必要のある MTU。
(注)
Cisco Nexus deviceは、すべてのポートのすべてのクラスに対して 1 MTU をサポートします。
-
CoS 値の設定 — このシステム クラスにマッピングされたすべてのトラフィックに 802.1p 値をマーク付けする場合の構成に使用します。
-
輻輳制御 DCTCP および ECN — データセンター TCP(DCTCP)は、データセンターネットワークの TCP 輻輳制御アルゴリズムの拡張です。明示的輻輳通知(ECN)機能を利用して、キューの長さが設定した DCTCP しきい値を超えたときに、すべてのパケットをマークします。ルータとエンド ホストは、このマーキングをネットワークの輻輳によってパケットの送信速度が低下していることを示す警告として使用します。
DCTCP/ECN をイネーブル化するには、 congestion-control dctcp ecn-threshold threshold-bytes コマンドまたは network-qos ポリシー マップ モードで congestion-control random-detect ecn コマンドを使用します。
(注)
network-qos ポリシー クラスの DCTCP と ECN をイネーブル化すると、システムのすべてのポートで DCTCP と ECN がイネーブル化されることを意味します。
Cisco NX-OS リリース 9.3(3) 以降、この congestion-control random-detect ecn コマンドはサポートされていません。
-
switch# configuration terminal
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# policy-map type network-qos system_network_policy
switch(config-pmap-nq)# class type network-qos nc1
switch(config-pmap-nq-c)# set cos 2
switch(config-pmap-nq-c)# class type network-qos nc2
switch(config-pmap-nq-c)# congestion-control dctcp ecn-threshold 30000 bytes
switch(config-pmap-nq-c)#
switch(config-pmap-nq-c)# class type network-qos nc3
switch(config-pmap-nq-c)# congestion-control random-detect ecn
switch(config-pmap-nq-c)# system qos
switch(config-sys-qos)# service-policy type network-qos system_network_policy
switch(config-sys-qos)# end
switch#
switch# show policy-map system
Type network-qos policy-maps
===============================
policy-map type network-qos system_network_policy
class type network-qos nc1
match qos-group 1
mtu 1500
set cos 2
class type network-qos nc2
match qos-group 2
mtu 1500
congestion-control dctcp ecn-threshold 30000 bytes
class type network-qos nc3
match qos-group 3
mtu 1500
congestion-control random-detect ecn
class type network-qos class-default
match qos-group 0
mtu 1500
(注) |
LLFC/PFC を設定する場合は、 pause no-drop/pfc-cos コマンドを使用します。詳細については、「リンク レベル フロー制御の設定」および「プライオリティ フロー制御の設定」を参照してください。 |
キューイング ポリシー タイプ
キューイング ポリシー タイプを使用して、システム クラスにアソシエートされたキューのスケジューリング特性を定義します。
Cisco Nexus deviceは、出力方向でタイプ queuing をサポートします。
(注) |
一部の設定パラメータは、ポート チャネルに適用されていると、メンバー ポートの設定に反映されません。 |
(注) |
キューイング シェーピング機能は、Nexus 3500 ではサポートされていません。 |
-
分類:このクラスに一致するトラフィックは次のとおりです。
-
QoS グループ:タイプ キューイングのクラス マップは、システム クラスを示し、関連付けられた QoS グループによって照合されます。
-
-
ポリシー:一致したトラフィックで実行されるアクションは次のとおりです。
(注)
システム qos ターゲットまたは任意のインターフェイスに結合できます。出力キューイング ポリシーを使用して、システム クラスに関連付けられた、デバイスの出力キューを設定します。
-
帯域幅:システム クラスに保証される Deficit Weighted Round Robin(DWRR)スケジューリングの割合を設定します。
-
プライオリティ:システム クラスを完全優先スケジューリング用に設定します。指定されたキューイング ポリシーで優先するシステム クラスを 1 つだけ設定できます。
-
QoS ポリシー タイプ
タイプ QoS ポリシー タイプを使用して、フレーム内にあるレイヤ 2、レイヤ 3、レイヤ 4 の各種フィールドに基づいたトラフィックを分類し、システム クラスにマッピングします。
(注) |
一部の設定パラメータは、ポート チャネルに適用されていると、メンバー ポートの設定に反映されません。 |
-
分類:このクラスに一致するトラフィックは次のとおりです。
-
アクセス コントロール リスト:既存の ACL の基準に基づいてトラフィックを分類します。
-
サービス クラス:フレーム ヘッダーの CoS フィールドに基づいてトラフィックを照合します。
-
DSCP:IP ヘッダーの DiffServ フィールドにある DiffServ コード ポイント(DSCP)値に基づいてトラフィックを分類します。
-
IP リアルタイム プロトコル:リアルタイム アプリケーションで使用されるポート番号に基づいてトラフィックを分類します。
-
優先順位:IP ヘッダーのタイプ オブ サービス(ToS)フィールドの優先順位値に基づいてトラフィックを分類します。
-
-
ポリシー:一致したトラフィックで実行されるアクションは次のとおりです。
(注)
このポリシーは、システムまたは任意のインターフェイスに追加できます。このポリシーは入力トラフィックだけに適用されます。
(注)
イングレス/エグレス ポリサーは Nexus 3500 ではサポートされていません。
-
QoS グループ:このトラフィック フローがマッピングされたシステム クラスに対応する QoS グループを設定します。
-
Cisco Nexus device のサポート対象は次のとおりです。
-
5 つの QoS グループ
-
ユニキャスト用に 5 個のキュー
-
マルチキャスト用に 5 個のキュー
-
-
-
MTU
Cisco Nexus deviceは、すべてのポートのすべてのクラスに対して 1 MTU をサポートします。
MTU を設定する場合は、次の注意事項に従ってください。
-
Cisco Nexus デバイスでは、MTU は class default で設定された値によって制御されます。デフォルト以外の network-qos クラスでは、MTU 構成は必要ありません。デフォルト以外のクラスでの MTU 構成 CLI はブロックされます。デフォルト クラスの MTU 構成は、すべてのユーザー定義クラスに暗黙的に適用されます。
-
system jumbomtu コマンドを入力すると、システム内の MTU の上限が定義されます。システム ジャンボ MTU のデフォルト値は 9216 バイトです。最小 MTU は 1500 バイトで、最大 MTU は 9216 バイトです。
-
システム クラス MTU はクラス内のすべてのパケットの MTU を設定します。システム クラス MTU を、グローバル ジャンボ MTU よりも大きく設定できません。
-
デフォルトのシステム クラスのデフォルト MTU は 1500 バイトです。この値は設定できます。
-
1 つのレイヤ 3 のインターフェイスまたはレイヤ 3 インターフェイス範囲に対して、MTU 値を指定することができます。レイヤ 3 インターフェイスの MTU 値をジャンボ MTU 値を(1500 バイト以上)に変更すると、ネットワーク QoS MTU 値を 1500 バイト以上に変更しなければなりません。デバイスはこの要件を通知する syslog メッセージを生成します。
信頼境界
信頼境界は、次のように着信インターフェイスによって実行されます。
-
デフォルトでは、すべてのイーサネット インターフェイスは信頼できるインターフェイスです。マーキングが設定されていない限り、802.1p CoS と DSCP は保持されます。CoS および DSCP のデフォルトのキュー マッピングはありません。これらのマッピングを作成するポリシーを定義し、適用できます。デフォルトでは、ユーザ定義のポリシーがない場合、すべてのトラフィックがデフォルト キューに割り当てられます。
-
802.1p CoS 値でタグ付けされていないパケットは、デフォルトのドロップ システム クラスに分類されます。タグなしパケットがトランク上で送信される場合、このパケットにはデフォルトのタグなし CoS 値 0 がタグ付けされます。
-
イーサネット インターフェイスまたはポート チャネルのデフォルトのタグなし Cos 値は上書きできます。
システムがタグなし CoS 値を適用しても、QoS は、CoS 値がタグ付けされたシステムに入るパケットと同様に機能します。
入力分類ポリシー
分類は、トラフィックをクラスに区分けするのに使用します。トラフィックは、パケット特性(CoS フィールド)またはパケット ヘッダー フィールドに基づいて分類します。パケット ヘッダー フィールドには、IP precedence、DiffServ コード ポイント(DSCP)、レイヤ 2 からレイヤ 4 までのパラメータが含まれます。トラフィックの分類に使用する値を、一致基準と呼びます。
どのクラスにも一致しないトラフィックは、class-default と呼ばれるデフォルトのトラフィック クラスに割り当てられます。
出力キューイング ポリシー
出力ポリシー マップをイーサネット インターフェイスに関連付けて、指定されたトラフィック クラスの帯域幅を確保したり、出力キューを設定したりできます。
イーサネット インターフェイスごとに最大 5 つのキュー(システム クラスごとに 1 つ)をサポートします。キューには次のデフォルト設定があります。
-
これらのキューに加え、CPU に転送される制御トラフィックは完全プライオリティ キューを使用します。ユーザー構成ではこのキューにはアクセスできません。
-
標準イーサネット トラフィック(デフォルトのドロップ システム クラス内)にキューが割り当てられます。このキューは、帯域幅の 100% で WRR スケジューリングを使用します。
システム クラスを追加すると、キューがクラスに割り当てられます。影響を受けたすべてのインターフェイスで帯域割り当てを再設定する必要があります。帯域幅は、自動的にユーザ定義のシステム クラス専用にはなりません。
完全プライオリティ キューを構成できます。このキューは、制御トラフィック キュー(データ トラフィックではなく制御トラフィックを伝送)以外の他のすべてのキューより先に処理されます。
CPU に転送されるトラフィックの QoS
デバイスは、CPU でパケットがフラッディングしないように、CPU 方向のトラフィックに自動的に QoS ポリシーを適用します。ブリッジ プロトコル データ ユニット(BPDU)フレームなどの制御トラフィックには、確実に配信できるように、より高いプライオリティが与えられます。