OVSDB で管理される VXLAN インターフェイスでの CoS の設定
サポートされているプラットフォームでは、OVSDB が管理する VXLAN インターフェイスのパケット分類、パケット スケジューリング、パケット コード ポイント書き換え(書き換えルール)CoS 機能を設定できます。OVSDB で管理される VXLAN インターフェイスは、OVSDB コントローラを使用して VXLAN インターフェイスとトンネルを作成および管理します。
OVSDB 管理下の VXLAN インターフェイスでの分類子、スケジューラ、書き換えルールの設定は、通常のイーサネット インターフェイスでの CoS の設定と同じ CLI ステートメントを使用します。ただし、OVSDB が管理する VXLAN インターフェイスでは、通常のイーサネット インターフェイスとでサポートされる機能がいくつかの点で異なります。機能サポートは、スイッチ インターフェイスがアクセス型(ネットワークにアクセスするデバイスに接続)か、ネットワーク型(VXLAN ゲートウェイに接続するスイッチ インターフェイスなど、ネットワークに接続)かによって異なります。
分類子—アクセスに面したイングレスインターフェイスでは、BA または MF DSCP 分類子のいずれかを設定できます。
ネットワークに接続するイングレスインターフェイスでは、DSCP分類子のみを設定できます。
書き換えルール—ネットワークに接続するインターフェイスでは、DSCP書き換えルールを設定できます。アクセスに面したインターフェイスは、書き換えルールをサポートしていません。IEEE 802.1p 書き換えルールはサポートされていません。
手記:ルールの書き換えは、VXLAN ヘッダーの DSCP コード ポイントのみを書き換えます。書き換えルールは、内部パケット ヘッダーの DSCP コード ポイントを書き換えません。書き換えルールを設定しない場合、デフォルトでは、パケット ヘッダーのコード ポイント値が VXLAN ヘッダーにコピーされます。
スケジューラ—エグレスインターフェイスは、通常のイーサネットインターフェイスと同じETS(拡張伝送選択)階層ポートスケジューリングを使用し、同じ機能がサポートされます。パケットスケジューリングは、アクセス側およびネットワーク側のエグレスインターフェイスで設定できます。
OVSDB 管理下の VXLAN インターフェイスでの CoS 機能サポートの詳細については、 OVSDB 管理下の VXLAN インターフェイスでの CoS についてを参照してください。
このトピックでは、OVSDB 管理下の VXLAN インターフェイスでの CoS 設定について説明します。OVSDB または VXLAN の設定には対応していません。OVSDB によって管理される VXLAN については、OVSDB 環境で動的に設定された VXLAN についてを参照してください。
インターフェイスでCoSを設定しない場合、インターフェイスはデフォルトのCoSプロパティを使用します。インターフェイスにいくつかのCoSプロパティを設定すると、インターフェイスはそれらのプロパティに設定されたCoSを使用し、未設定のプロパティにデフォルトCoSを使用します。OVSDB 管理下の VXLAN インターフェースのデフォルト設定の唯一の違いは、書き換えルールを設定しない場合、デフォルトでパケット ヘッダーのコード ポイント値が VXLAN ヘッダーにコピーされることです。他のインターフェイスタイプには、デフォルトの書き換えルールがありません。デフォルトのスケジューラと分類子の設定については 、デフォルトの CoS スケジューリングと分類 についてを参照してください。
次の 3 つの手順は、OVSDB が管理する VXLAN インターフェイスで分類子、書き換えルール、ETS 階層ポート スケジューリングを設定する方法を示しています。
デフォルトの分類子または以前に設定された分類子に基づいて分類子を設定することも、デフォルト値を使用しないまったく新しい分類子を作成することもできます。この例は、ネットワーク インターフェイス用です。
書き換えルールは、デフォルトの書き換えルールまたは既存の書き換えルールに基づいて設定できます。デフォルトの書き換えルールでは、内部パケット ヘッダー値が VXLAN 外部ヘッダーに書き込まれます。または、デフォルト値を使用しないまったく新しい分類子を作成することもできます。書き換えルールは、ネットワークに接続するインターフェイスでのみ設定できます。サポートされている書き換えルールは、DSCP 書き換えルールのみです。
デフォルトの書き換えルールまたは以前に設定された書き換えルールをテンプレートとして使用して、ネットワークに面したエグレスインターフェイスで書き換えルールを設定するには、
import
ステートメントを含め、インポートする書き換えルールとしてdefault
または書き換えルール名を指定します。次に、書き換えルールを転送クラス、損失の優先度、および 1 つ以上のコード ポイントに関連付けます。[edit class-of-service rewrite-rules] user@switch# set dscp rewrite-name import (rewrite-name | default) forwarding-class forwarding-class-name loss-priority loss-priority code-points (aliases | bit-patterns)
既定の書き換えルールまたは既存の書き換えルールに基づかない書き換えルールを作成するには、新しい書き換えルールを作成し、転送クラス、損失の優先度、および 1 つ以上のコード ポイントに関連付けます。
[edit class-of-service rewrite-rules] user@switch# set dscp rewrite-name forwarding-class forwarding-class-name loss-priority loss-priority code-points (aliases | bit-patterns)
手記:書き換えルールは、アクセスに面したインターフェイスではサポートされていません。
スイッチ上の 1 つ以上の OVSDB 管理 VXLAN インターフェイスに書き換えルールを適用します。
[edit class-of-service interfaces] user@switch# set interface-name unit unit rewrite-rules dscp rewrite-name
ETS 階層型ポート スケジューリングは、ポート帯域幅を 2 層のトラフィックに割り当てます。ETSは、ポート帯域幅をより有効に活用し、ポートリソースを転送クラスおよび転送クラスセット(fc-sets)と呼ばれる転送クラスのグループに割り当てる柔軟性を向上させます。
まず、ETS はポート帯域幅を fc-set(プライオリティ グループとも呼ばれる)に割り当てます。各 fc-set は、同様の CoS 処理を必要とするトラフィックを伝送する 1 つ以上の転送クラスで構成されます。各fc-setが受信する帯域幅は、そのfc-setの転送クラスに割り当てられます。各転送クラスは、出力キューにマップされます。転送クラスのスケジューリングプロパティは、転送クラスがマップされているキューに割り当てられます。トラフィック制御プロファイルは、fc-set へのポート帯域幅の割り当てを制御します。キュー スケジューラは、転送クラスへの fc-set 帯域幅の割り当てを制御します。スケジューリングの詳細については、 CoS 出力キュー スケジューラについて、 CoS トラフィック制御プロファイルについて、 および CoS 階層型ポート スケジューリング(ETS)について を参照してください。
スケジューラは、転送クラスにマッピングされた出力キューの CoS プロパティを定義します。スケジューラを設定した後、スケジューラ マップを使用して、スケジューラを 1 つ以上の転送クラスにマッピングします。スケジューラを転送クラスにマッピングすると、転送クラスのトラフィックにスケジューリングプロパティが適用されます。
スケジューラーは、スケジューラーにマッピングされた転送クラス(キュー)に対して、以下の特性を定義します。
transmit-rate
- 最小帯域幅は、 CIR(認定情報レート)とも呼ばれ、パーセント レートまたはビット/秒の絶対値として設定されます。また、送信レートによって、キューが共有できる優先グループの余剰(余剰)帯域幅の量も決まります。追加の優先度グループの帯域幅は、各キューの送信速度に比例して、優先度グループ内のキュー間に割り当てられます。手記:プリアンブルバイト、IFG(インターフレームギャップ)バイト、データバイトを帯域幅の計算に含めます。
手記:ストリクト高優先度キューには送信レートを設定できません。送信レートが設定されたキュー(転送クラス)は、ストリクト高優先度のキューを持つ fc-set に含めることはできません。
shaping-rate
—最大帯域幅は、 PIR(ピーク情報レート)とも呼ばれ、パーセント レートまたは bps 単位の絶対値として設定されます。手記:プリアンブルバイト、IFG(インターフレームギャップ)バイト、データバイトを帯域幅の計算に含めます。
priority
- スケジューラに関連付けられたキューが受信できる 2 つの帯域幅優先度のうちの 1 つ。low
:スケジューラの優先度は低くなっています。strict-high
—スケジューラの優先度はストリクトハイです。ストリクト高プライオリティ キューとして設定できるキューは 1 つだけです。ストリクト高優先度は、他のキューが帯域幅を受信する前に、スケジュールされた帯域幅をキューに割り当てます。他のキューは、ストリクト ハイ キューが処理された後に残る帯域幅を受け取ります。ストリクト ハイ プライオリティのキューが他のキューを枯渇させないように、常にストリクト ハイ プライオリティのキューにシェーピング レートを適用することを推奨します。ストリクト高プライオリティ キューが使用できる帯域幅を制限するシェーピング レートを適用しない場合、ストリクト高プライオリティ キューは使用可能なポート帯域幅をすべて使用し、ポート上の他のキューを枯渇させる可能性があります。
drop-profile-map
- 損失の優先度とプロトコルにプロファイル マッピングをドロップして、WRED パケットのドロップ特性をスケジューラに適用します。手記:イグレスポートの輻輳が原因でイングレスポートの混雑が発生した場合、輻輳したエグレスポートのトラフィックにドロッププロファイルを適用して、トラフィックがイングレスインターフェイスではなくエグレスインターフェイスでドロップするようにします。イングレス インターフェイスの輻輳は、イングレス ポートが輻輳しているエグレス ポートと輻輳していないエグレス ポートの両方にトラフィックを送信する場合、輻輳していないポートに影響を与える可能性があります。
buffer-size
- ポート上の専用バッファー スペースの割合、または明示的に設定されたキューが提供された後に残るポート上の専用バッファー スペースの比例配分としてのキュー バッファーのサイズ。explicit-congestion-notification
- BE キューで ECN をイネーブルにします。ECNは、TCP/IPベースのネットワーク上の2つのECN対応エンドポイント間のエンドツーエンドの輻輳通知を可能にします。ECNが正しく動作するためには、両方のエンドポイントと、エンドポイント間のすべての中間デバイスでECNを有効にする必要があります。ECNはデフォルトで無効になっています。
TCPは、fc-setのCoSプロパティと、fc-set内の転送クラス(キュー)のグループに割り当てられるポートリソースの量を定義します。TCPを設定した後、それを(関連するfc-setとともに)インターフェイスに適用し、転送クラスに属するトラフィックのスケジューリングをそのインターフェイスで設定します。
TCPは、TCPとfc-setをインターフェイスに適用する際に、TCPにマッピングされたfc-set(優先度グループ)に対して次の特性を定義します。
guaranteed-rate
- 最小帯域幅で、 CIR(認定情報レート)とも呼ばれます。保証レートによって、fc-set が共有できる余剰(余剰)ポート帯域幅も決まります。追加のポート帯域幅は、各 fc-set の保証レートに比例して、ポート上の fc-set 間に割り当てられます。手記:絶対高優先度キューを含む fc-set には保証レートを設定できません。TCPがストリクトハイプライオリティキューを含むfc-set用である場合は、保証レートを設定しないでください。
shaping-rate
—最大帯域幅、 ピーク情報レート(PIR)とも呼ばれます。scheduler-map
- 転送クラスをスケジューラにマッピングすることによって定義される、キューの帯域幅とスケジューリングの特性。キュー スケジューリング特性は、fc-set 帯域幅の量または割合を表しており、総リンク帯域幅の量または割合を表しているわけではありません。
ポートは複数のfc-setを持つことができるため、fc-setにリソースを割り当てる場合、ポート帯域幅の合計は、各fc-setでそのポートに関連するすべてのキューに対応する必要があることに注意してください。
以下の手順では、スケジューラのプロパティの設定方法、スケジューラの転送クラスへのマッピング方法、転送クラスのfc-setsへのマッピング方法、TCPプロパティの設定方法、TCPおよびfc-setのインターフェイスへの適用方法(ETSポートのスケジューリング設定をインターフェイスに適用するため)を示します。
すべてのスケジューラとTCPの特性を明示的に設定する必要はありません。ECNなど、一部の特性はデフォルトで無効化されており、特定の条件下でのみ有効にする必要があります。設定済みの CoS プロパティとデフォルトの CoS プロパティを混在させることができます。
キュースケジューラに名前を付け、キューの最小保証帯域幅を定義します。
[edit class-of-service] user@switch# set schedulers scheduler-name transmit-rate (rate | percent percentage)
キューの最大帯域幅を定義します。
[edit class-of-service schedulers scheduler-name] user@switch# set shaping-rate (rate | percent percentage)
キュー優先度を定義します。
[edit class-of-service schedulers scheduler-name] user@switch# set priority level
ドロッププロファイルマップを使用してドロッププロファイルを定義します。
[edit class-of-service schedulers scheduler-name] user@switch# set drop-profile-map loss-priority (low | medium-high | high) protocol protocol drop-profile drop-profile-name
キューのポート専用バッファー領域のサイズを設定します。
[edit class-of-service schedulers scheduler-name] user@switch# set buffer-size percent percentage
必要に応じて、ECN を有効にします。
[edit class-of-service schedulers scheduler-name] user@switch# set explicit-congestion-notification
スケジューラ マップを設定して、スケジューラを転送クラスにマッピングし、その転送クラスのトラフィックにスケジューラのプロパティを適用します。
[edit class-of-service] user@switch# set scheduler-maps scheduler-map-name forwarding-class forwarding-class-name scheduler scheduler-name
これで、スケジューラで設定できる特性と、転送クラスへのスケジューラマッピングが完了しました。次の手順では、TCP を構成する方法を示します。
TCPに名前を付け、fc-setの最小保証帯域幅を定義します。
[edit class-of-service] user@switch# set traffic-control-profiles traffic-control-profile-name guaranteed-rate (rate | percent percentage)
fc-set の最大帯域幅を定義します。
[edit class-of-service traffic-control-profiles traffic-control-profile-name] user@switch# set shaping-rate (rate | percent percentage)
TCP にスケジューラ マップをアタッチします。スケジューラ マップは、スケジューラ マップ内のスケジューラと転送クラス(キュー)を TCP に関連付けます。
[edit class-of-service traffic-control-profiles traffic-control-profile-name] user@switch# set scheduler-map scheduler-map-name
これで、TCPで設定できる特性は完了です。次の手順では、fc-set に転送クラスを割り当てる方法を示します。
fc-set に 1 つ以上の転送クラスを割り当てます。
[edit class-of-service] user@switch# set forwarding-class-sets forwarding-class-set-name class forwarding-class-name
以上でfc-setsへの転送クラスの割り当ては完了です。次の手順では、ETS 階層ポート スケジューリングをインターフェイスに適用する方法を示します。
ETS 階層ポート スケジューリングをインターフェイスに適用するには、fc-set と TCP をインターフェイスに関連付けます。fc-set は、指定されたインターフェイスを使用する転送クラスとキューを決定します。TCPは、fc-setに割り当てられるポートリソースの量を決定します。TCP内の転送クラスをスケジューラにマッピングすることにより、fc-setリソースのfc-setメンバーである転送クラスへの割り当てが決まります。
[edit class-of-service] user@switch# set interfaces interface-name forwarding-class-set fc-set-name output-traffic-control-profile tcp-name