VXLAN QoS に関する情報
VXLAN QoS を使用すると、VXLAN でトンネリングされるトラフィックに Quality of Service(QoS)機能を提供できます。
VXLAN オーバーレイのトラフィックは、さまざまな QoS プロパティに割り当てることができます。
-
異なるプロパティを割り当てるためのトラフィックの分類。
-
異なるプライオリティのトラフィック マーキングを含む。
-
保護されたトラフィックのプライオリティを有効にするためのトラフィックのキューイング。
-
不正なトラフィックのポリシング。
-
インターフェイスごとの速度を制限するトラフィックのシェーピング。
-
トラフィック ドロップの影響を受けやすいトラフィックのプロパティ。
![]() (注) |
QoS では、ネットワーク トラフィックの分類、トラフィック フローのポリシングとプライオリティ設定、および輻輳回避が可能です。QoS の設定の詳細については、『Cisco Nexus 9000 Series NX-OS Quality of Service Configuration Guide、Release 9.2(x)』を参照してください。 |
ここでは、次の内容について説明します。
VXLAN QoS の用語
ここでは、VXLAN QoS の用語をいくつか定義します。
用語 |
定義 |
---|---|
Frames |
レイヤ 2 でトラフィックを伝送します。レイヤ 2 フレームは、レイヤ 3 パケットを伝送します。 |
パケット |
レイヤ 3 でトラフィックを伝送します。 |
VxLAN パケット |
VXLAN IP/UDP ヘッダーにカプセル化された元のフレームを伝送します。 |
元のフレーム |
VXLAN ヘッダーにカプセル化する前にレイヤ 3 パケットを伝送するレイヤ 2 またはレイヤ 2 フレーム。 |
カプセル化解除されたフレーム |
VXLAN ヘッダーのカプセル化解除後にレイヤ 3 パケットを伝送するレイヤ 2 またはレイヤ 2 フレーム。 |
入力 VTEP |
トラフィックが VXLAN ヘッダーにカプセル化され、VXLAN トンネルに入るポイント。 |
出力 VTEP |
トラフィックが VXLAN ヘッダーからカプセル化解除され、VXLAN トンネルを出るポイント。 |
サービス クラス(CoS) |
スイッチド ネットワークを通過するときにイーサネット フレームのプライオリティを示す 802.1Q ヘッダーの 3 ビットのことです。802.1Q ヘッダーの CoS ビットは通常 802.1p ビットと呼ばれます。802.1X は、VXLAN トンネル内に CoS 値が存在しない VXLAN ヘッダー内のフレーム カプセル化の前に廃棄されます。パケットが VXLAN トンネルに入るときに QoS を維持するために、タイプオブサービス(ToS)と CoS 値が相互にマッピングされます。 |
IP precedence |
IP ヘッダーの ToS バイトの最上位 3 ビットです。 |
Diffserv コード ポイント(DSCP) |
IP ヘッダーの ToS バイトの最初の 6 ビット。DSCP は、IP パケットだけに存在します。 |
明示的輻輳通知(ECN) |
IP ヘッダーの ToS バイトの最後の 2 ビット。ECN は、IP パケットだけに存在します。 |
QoSタグ |
レイヤ 3 パケットおよびレイヤ 2 フレームで伝達されるプライオリティ値です。レイヤ 2 CoS ラベルは、0(ロー プライオリティ)~ 7(ハイ プライオリティ)の範囲です。レイヤ 3 IP precedence ラベルは、0(ロー プライオリティ)~ 7(ハイ プライオリティ)の範囲です。IP precedence 値は、1 バイトの ToS バイトの最上位 3 ビットで定義されます。レイヤ 3 DSCP ラベルは、0 ~ 63 の値を持つことができます。DSCP 値は 1 バイトの IP ToS フィールドのうち最上位 6 ビットで定義されます。 |
分類 |
QoS のトラフィックの選択に使用されるプロセス |
マーキング |
設定プロセス:フレームのレイヤ 2 COS 値、パケットのレイヤ 3 DSCP 値、およびパケットのレイヤ 3 ECN 値。マーキングはまた、CoS、DSCP、ECJ フィールドで異なった値を選択してパケットにマーキングし、輻輳時にパケットが必要なプライオリティを持つようにするプロセスでもあります。 |
ポリシング |
トラフィック フローが使用する帯域幅を制限する処理です。ポリシングによって、トラフィックのマーキングまたは廃棄が可能になります。 |
MQC |
Cisco モジュラ QoS コマンドライン インターフェイス(MQC)フレームワークです。QoS 展開において、モジュラ式で拡張性に優れています。 |
VXLAN QoS機能
次のトピックでは、VXLAN ネットワークでサポートされる VXLAN QoS 機能について説明します。
信頼境界
信頼境界は、ネットワークの境界を形成します。ネットワークはスイッチのマーキングを信頼します(オーバーライドしません)。既存の ToS 値は、VXLAN ファブリックで受信されると信頼されます。
分類
分類は、トラフィックをクラスに区分けするのに使用します。トラフィックは、ポート特性またはパケット ヘッダー フィールドに基づいて分類します。パケット ヘッダー フィールドには、IP precedence、DiffServ コード ポイント(DSCP)、レイヤ 3 からレイヤ 4 までのパラメータ、およびパケット長が含まれます。
トラフィックの分類に使用する値を、一致基準と呼びます。トラフィック クラスを定義する場合、一致基準を複数指定することも、特定の基準について照合しないように選択することも、一部または全部の基準を照合することによってトラフィック クラスを決定することもできます。
どのクラスにも一致しないトラフィックは、class-default と呼ばれるデフォルトのトラフィック クラスに割り当てられます。
マーキング
マーキングとは、パケットに関連する QoS 情報を設定することです。パケット マーキングを利用すれば、ネットワークを複数の優先プライオリティ レベルまたはサービス クラスに分割することができます。COS、IP precedence、および DSCP の標準 QoS フィールドの値を設定できます。その後のアクションで使用できる内部ラベル(QoS グループなど)のために、QoS フィールドも設定できます。QoS グループ マーキングは、トラフィックのキューイング、およびスケジューリングに対応したトラフィック タイプを識別するのに使用します。
ポリシング
ポリシングを行うと、設定レートを超えたトラフィックは廃棄されるか、またはより高いドロップ優先順位にマークダウンされます。
シングルレート ポリサーは、トラフィックの指定の認定情報レート(CIR)を監視します。デュアルレート ポリサーは、CIR と最大情報レート(PIR)の両方を監視します。
キューイングおよびスケジューリング
キューイングおよびスケジューリング プロセスでは、トラフィック クラスに割り当てられるキューの使用量と帯域幅を制御できるようにします。これにより、スループットと遅延の間の望ましいトレードオフを実現できます。
スタティックまたはダイナミックな制限を適用することで、トラフィックの特定のクラスについてキューのサイズを制限できます。
重み付けランダム早期検出(WRED)をトラフィックのクラスに適用できます。これにより、サービス クラス(QoS)グループに基づいてパケットをドロップできます。WRED のアルゴリズムにより、キューを予防的に管理してトラフィックの輻輳を防ぐことができます。
ECN は、パケットをドロップする代わりに輻輳状態をマーキングするために、特定のトラフィック クラスで WRED とともに使用できます。VXLAN トンネルでの ECN マーキングは外部ヘッダーで実行され、出力 VTEP でカプセル化解除されたフレームにコピーされます。
トラフィック シェーピング
トラフィックのクラスに対して最大データ レートを強制してトラフィックをシェーピングすることができます。これにより、超過パケットがキューに保持され、出力レートが平滑化(制限)されます。さらに、トラフィック クラスに最小帯域幅保証を提供するために、最小帯域幅のシェーピングを設定できます。
トラフィック シェーピングは、各ポートの出力キューに最大トラフィック レートを強制することで、パケット フローを制御および均一化します。しきい値を超えたパケットはキューに配置され、後で送信されます。トラフィック シェーピングはトラフィック ポリシングと似ていますが、パケットはドロップされません。パケットがバッファに入れられるため、トラフィック シェーピングでは、(キュー長に基づく)パケット損失が最小限に抑えられ、TCP トラフィックに対してより優れたトラフィック動作が実現します。
トラフィック シェーピングを使用すると、次を制御できます。
-
使用可能な帯域幅へのアクセスを制御する。
-
トラフィックが、このトラフィック用に設定したポリシーと一致するようにする。
-
出力トラフィックがそのリモートのターゲット インターフェイスのアクセス速度を超過したときに発生する可能性のある輻輳を回避するためのトラフィックのフロー制御。
たとえば、ポリシーによって、そのインターフェイスのレートが(平均で)特定のレートを上回るべきではないとされている場合に、帯域幅へのアクセスを制御できます。アクセスレートが速度を超えている場合でも例外ではありません。
ネットワーク QoS
ネットワーク QoS ポリシーは各 CoS 値の特性を定義します。これらの特性は、スイッチを介してネットワーク全体に適用できます。ネットワーク QoS ポリシーを使用して、次のことを設定できます。
-
一時停止動作:CoS が輻輳時のパケット損失を防ぐプライオリティ フロー制御(PFC)メカニズムを使用して提供されるロスレス動作を必要とするかどうかを決定できます。drop(ドロップできるこの CoS 値を持つフレーム)および no drop(ドロップできないこの CoS 値を持つフレーム)を設定できます。また、drop および no drop 設定では、ポート単位で PFC をイネーブル化する必要もあります。PFC の詳細については、「プライオリティ フロー制御の設定」を参照してください。
一時停止動作は、特定のキューグループの VXLAN トンネルで実現できます。
VXLAN プライオリティ トンネリング
VXLAN トンネルでは、外部ヘッダーの DSCP 値を使用して、トンネルのエンドツーエンドで QoS 透過性が提供されます。外部ヘッダーの DSCP 値は、レイヤ 3 パケットの DSCP 値またはレイヤ 2 フレームの CoS 値から取得されます。VXLAN トンネル出力ポイントでは、カプセル化解除されたトラフィックのプライオリティがモードに基づいて選択されます。詳細については、カプセル化解除されたパケットの優先順位の選択 を参照してください。
MQC CLI
VXLAN QoS で使用可能な QoS 機能はすべて、モジュラ QoS コマンドライン インターフェイス(CLI)から管理します。モジュラ QoS CLI(MQC)では、トラフィック クラス(クラス マップ)を定義し、トラフィック ポリシー(ポリシー マップ)を作成して設定し、インターフェイスへのポリシー マップ(サービス ポリシー)で定義されたアクションを実行することができます。
VXLAN QoS トポロジとロール
ここでは、VXLAN QoS を実装するときのネットワーク デバイスの役割について説明します。
![VXLAN ネットワーク](/c/dam/en/us/td/i/300001-400000/300001-310000/307001-308000/307078.jpg)
ネットワークは双方向ですが、前の図では、トラフィックは左から右に移動しています。
VXLAN ネットワークでは、元のトラフィックが VXLAN ヘッダーにカプセル化される入力 VTEP が対象となります。スパインは、入力 VTEP と出力 VTEP を接続する転送ホップです。出力 VTEP は、VXLAN カプセル化トラフィックがカプセル化解除され、VTEP を従来のイーサネット トラフィックとして出力するポイントです。
![]() (注) |
入力および出力 VTEP は、VXLAN トンネルと IP ネットワーク間の境界です。 |
ここでは、次の内容について説明します。
VXLAN トンネルでの入力 VTEP とカプセル化
入力 VTEP で、VTEP は次のようにパケットを処理します。
手順
ステップ 1 |
レイヤ 2 またはレイヤ 3 トラフィックは VXLAN ネットワークのエッジに入ります。 |
ステップ 2 |
スイッチは入力インターフェイスからトラフィックを受信し、802.1p ビットまたは DSCP 値を使用して、分類、マーキング、およびポリシングを実行します。また、VXLAN ヘッダーの外部 DSCP 値も取得します。着信 IP パケットの分類については、入力サービス ポリシーもアクセス コントロール リスト(ACL)を使用することができます。 |
ステップ 3 |
各着信パケットについて、スイッチは IP アドレスで検索を実行し、ネクスト ホップを決定します。 |
ステップ 4 |
パケットは VXLAN ヘッダーにカプセル化されます。カプセル化されたパケットの VXLAN ヘッダーには、QoS ルールに基づく DSCP 値が割り当てられます。 |
ステップ 5 |
スイッチは、カプセル化されたパケットを適切な処理用出力インターフェイスに転送します。 |
ステップ 6 |
DSCP 値でマークされたカプセル化されたパケットは、VXLAN トンネル出力インターフェイスに送信されます。 |
VXLAN トンネルを介したトランスポート
VXLAN トンネルを通過するトランスポートでは、スイッチは VXLAN パケットを次のように処理します。
手順
ステップ 1 |
VXLAN カプセル化パケットは、トランスポート スイッチの入力インターフェイスで受信されます。スイッチは、外部ヘッダーを使用して分類、マーキング、およびポリシングを実行します。 |
ステップ 2 |
スイッチは、外部ヘッダーの IP アドレスのルックアップを実行して、ネクスト ホップを決定します。 |
ステップ 3 |
スイッチは、カプセル化されたパケットを適切な処理用出力インターフェイスに転送します。 |
ステップ 4 |
VXLANは、カプセル化されたパケットを出力インターフェイス経由で送信します。 |
出力 VTEP と VXLAN トンネルのカプセル化解除
VXLAN トンネルの出力 VTEP 境界で、VTEP は次のようにパケットを処理します。
手順
ステップ 1 |
VXLAN でカプセル化されたパケットは、出力 VTEP の NVE インターフェイスで受信され、スイッチは内部ヘッダーの DSCP 値を使用して分類、マーキング、およびポリシングを実行します。 |
ステップ 2 |
スイッチはパケットから VXLAN ヘッダーを削除し、カプセル化解除されたパケットのヘッダーに基づいてルックアップを実行します。 |
ステップ 3 |
スイッチは、カプセル化されたパケットを適切な処理用出力インターフェイスに転送します。 |
ステップ 4 |
パケットが送信される前に、カプセル化解除のプライオリティまたはレイヤ 2 フレームのマーキングに基づいて、DSCP 値がレイヤ 3 パケットに割り当てられます。 |
ステップ 5 |
カプセル化解除されたパケットは、発信インターフェイスを介して IP ネットワークに送信されます。 |
入力 VTEP、スパイン、および出力 VTEP での分類
このセクションは、次のトピックで構成されています。
IP から VXLAN へ
VXLAN トンネルの入力ポイントである入力 VTEP では、トラフィックは VLXAN ヘッダーにカプセル化されます。入力 VTEP 上のトラフィックは、元のヘッダーの優先順位に基づいて分類されます。分類は、CoS、DSCP、およびIP precedence 値を照合するか、元のフレーム データに基づいてトラフィックを ACL と照合することで実行できます。
トラフィックが VXLAN でカプセル化されると、レイヤ 3 パケットの DSCP 値が VXLAN カプセル化パケットの元のヘッダーから外部ヘッダーにコピーされます。この動作は、次の図に示します。
![レイヤ 3 パケットから VXLAN 外部ヘッダーへの優先順位のコピー](/c/dam/en/us/td/i/300001-400000/300001-310000/307001-308000/307079.jpg)
IP ヘッダーのないレイヤ 2 フレームの場合、外部ヘッダーの DSCP 値は、VXLAN QoS のデフォルト設定に示すハードウェアに存在する CoS/DSCP マッピングから取得されます。このようにして、元の QoS 属性が VXLAN トンネルに保持されます。この動作は、次の図に示します。
![レイヤ 2 フレームから VXLAN 外部ヘッダーへの優先順位のコピー](/c/dam/en/us/td/i/300001-400000/300001-310000/307001-308000/307080.jpg)
レイヤ 2 フレームでは、IP ヘッダーがフレームに存在しないため、DSCP 値は存在しません。レイヤ 2 フレームがカプセル化されると、元の CoS 値は VXLAN トンネルに保存されません。
VXLAN トンネルの内部
VXLAN トンネル内では、トラフィックの分類は外部ヘッダーの DSCP 値に基づきます。分類は、DCSP 値と照合するか、または分類に ACL を使用して実行できます。
VXLAN カプセル化トラフィックが信頼境界を通過する場合、パケットのマーキングを変更して、トンネル内の QoS 動作に一致させることができます。マーキングは、新しい DSCP 値が外部ヘッダーにのみ適用される VXLAN トンネルの内部で実行できます。新しい DSCP 値は、VXLAN トンネル内のさまざまな QoS 動作に影響を与える可能性があります。元の DSCP 値は内部ヘッダーに保持されます。
![VXLAN トンネル内部のマーキング](/c/dam/en/us/td/i/300001-400000/300001-310000/307001-308000/307081.jpg)
VXLAN から IP
出力 VTEP での分類は、VXLAN トンネルを出るトラフィックに対して実行されます。出力 VTEP での分類では、内部ヘッダー値が使用されます。内部 DSCP 値は、優先順位ベースの分類に使用されます。分類は ACL を使用して実行できます。
分類は、すべての VXLAN トンネル トラフィックの NVE インターフェイスで実行されます。
マーキングおよびポリシングは、トンネル トラフィックの NVE インターフェイスで実行できます。マーキングが設定されている場合は、カプセル化解除されたパケットに新しくマーキングされた値が存在します。元の CoS 値はカプセル化されたパケットに保持されないため、ネットワークの残りの部分で QoS の 802.1p フィールドを予期するデバイスのカプセル化解除されたパケットに対してマーキングを実行できます。
カプセル化解除されたパケットの優先順位の選択
出力 VTEP では、パケットから VXLAN ヘッダーが削除され、カプセル化解除されたパケットは DSCP 値を使用してスイッチから出力されます。スイッチは、2 つのモードに基づいてカプセル化解除されたパケットの DSCP 値を割り当てます。
-
均一モード:VXLAN パケットの外部ヘッダーからの DSCP 値がカプセル化解除されたパケットにコピーされます。VXLAN トンネルでの DSCP 値の変更は保持され、カプセル化解除されたパケットに存在します。ユニフォーム モードは、カプセル化解除されたパケット優先選択のデフォルト モードです。
図 5. ユニフォーム モードの外部 DSCP 値がレイヤ 3 パケットのカプセル化解除されたパケット DSCP 値にコピーされる -
パイプ モード:元の DSCP 値は VXLAN トンネル エンドで保持されます。出力 VTEP で、システムはカプセル化解除されたパケットDSCP値に内部 DSCP 値をコピーします。このように、元の DSCP 値は VXLAN トンネルの終了時に保持されます。
図 6. パイプモードの内部 DSCP 値がレイヤ 3 パケットのカプセル化解除されたパケット DSCP 値にコピーされる