タグなしトラフィックに対してレイヤー3でDSCPを使用するPFCを理解する
RoCEv2(RDMA)オーバーコンバージドイーサネットバージョン2(Remote Direct Memory Access)などのプロトコルでは、レイヤー2イーサネットサブネットワークへのレイヤー3接続間のトラフィックにロスレス動作が必要です。従来、優先度ベースのフロー制御(PFC)を使用して、インターフェイス上の着信トラフィックのVLANヘッダーにあるIEEE 802.1pコードポイントに対応する8つの優先度のいずれかでトラフィックを選択的に一時停止することで、VLANタグ付きトラフィックのレイヤー2またはレイヤー3インターフェイスで輻輳が発生した場合にトラフィックロスを防ぐことができました。ただし、 タグなし のトラフィック(VLANタグのないトラフィック)は、トラフィックを一時停止するIEEE 802.1pコードポイントを調べることはできません。
タグなしトラフィックのレイヤー3でのロスレストラフィックフローをサポートするため、レイヤー2 VLANヘッダーのIEEE 802.1pコードポイント値ではなく、着信トラフィックのレイヤー3 IPヘッダーのDSCP(分散型サービスコードポイント)値を使用して、レイヤー3インターフェイスとレイヤー2アクセスインターフェイスでPFCを有効にすることをサポートしています。
DSCP ベースの PFC の概要
PFCはレイヤー2で動作するデータセンターブリッジング技術であり、DSCP情報はレイヤー3でIPヘッダーで交換されます。ただし、DSCP ベースの PFC を設定することで、タグなしトラフィックのレイヤー 3 ネットワーク接続全体でロスレス動作が維持されます。
PFCは、着信トラフィックの設定されたコードポイントで識別されたトラフィックに対して一時停止フレームを生成し、リンクが混雑したときにピアに送信を一時停止するように通知することで動作します。DSCP ベースの PFC を有効にすると、着信トラフィックのレイヤー 3 IP ヘッダーで設定された 6 ビット DSCP 値(10 進数 0-63 に対応)に基づいて一時停止フレームがトリガーされます。
ただし、PFCは、VLANタグ付きトラフィックの場合、通常、受信トラフィックVLANヘッダーのIEEE 802.1pコードポイントに対応する3ビットPFC優先度(10進数0〜7に対応する8つのコードポイントのうちの1つ)の一時停止フレームのみ送信できます。タグなしトラフィックは、IEEE 802.1pコードポイント値の参照を提供しません。そのため、DSCP値でPFCをトリガーするには、そのコードポイントで輻輳が発生したときにピアに送信されるPFC一時停止フレームで使用するPFC優先度に、DSCP値を設定で明示的にマップする必要があります。DSCPベースのPFCトラフィックを分類する損失なしフォワーディングクラスを定義すると、DSCP値上のトラフィックをPFC優先度にマッピングできます。また、転送クラスは、損失のない動作を持つ出力キューにマップする必要があります。
DSCP ベースの PFC が設定されている場合は、マッピングされた PFC 優先度値が転送クラス ID として使用されるため、同じ PFC 優先度を複数の転送クラスに割り当てることはできません。
また、上記で設定したDSCP値の着信トラフィックが無損失フォワーディングクラスに属することを指定するためには、(IEEE 802.1p分類子の代わりに)DSCP分類子も必要です。インターフェイスでDSCPベースのPFCが有効になっているDSCP値は、デフォルトのDSCP分類子またはインターフェイスに関連付けられたユーザー定義のDSCP分類子で指定する必要があります。
インターフェイスでDSCPベースのPFCを有効にするには、同じDSCP値(および目的のバッファリングパラメーター)で入力混雑通知プロファイルを定義し、それをインターフェイスに関連付けます。
ピアデバイスには、マッピングされたPFC優先度コードポイントと一致するPFC設定が必要です。
DSCP ベースの PFC の制限事項
DSCP ベースの PFC には、以下の制限があります。
-
DSCPベースのPFCとIEEE 802.1p PFCの両方を同じ輻輳通知プロファイルで設定したり、DSCPベースの輻輳通知プロファイルとIEEE 802.1p輻輳通知プロファイルの両方を同じインターフェイスに関連付けることはできません。
-
DSCPベースのPFCは、タグなしトラフィックについてのみレイヤー3インターフェイスとレイヤー2アクセスインターフェイスでサポートされています。DSCPベースのPFCを有効にしたインターフェイスでVLANタグ付きパケットを受信した場合、PFCの動作は予測できません。
-
各損失のない転送クラスは、0〜7までの一意の3ビットPFC優先度値にのみ関連付けることができます。
設定可能なPFCアカウンティングしきい値
サポートされているプラットフォームには、混雑通知プロファイル(CNP)内で定義するPFCアカウントと呼ばれる仮想PFC一時停止バッファがあります。各イングレスポートは、このようなPFCアカウントを2つ持つことができます。送信する際の一時停止フレームのPFC優先度や、各PFCアカウントの XOFF と XON のしきい値を個別に設定できます。
典型的な一時停止バッファーを示した 図1を見てください。この図では、エグレスポートの輻輳により、バッファが下から上へといっぱいになり始めます。バッファーの充填が XOFFに達すると、PFCクラスに関連付けられたトラフィックを一時停止するために、PFC一時停止フレームがアップストリームに送信されます。ヘッドルームスペースは、インフライトパケットと処理遅延を許容するため、バッファが完全にいっぱいになってパケットのドロップを開始する前に、アップストリームデバイスがトラフィックを一時停止できます。システムは、ケーブル長と最大受信ユニット(MRU)を使用して、PFCをサポートするために予約されたバッファヘッドルームの量を計算します。ケーブル長が短く、MRUが低いほど、PFCに必要なヘッドルームバッファスペースは少なくなります。
輻輳が緩和され、バッファーの充填が XON しきい値を下回ると、データトラフィックを再開するために再開フレームがアップストリームに送信されます。
PFCが効果的に機能するためには、各PFCアカウントの XOFF、 XON、およびヘッドルームバッファを正しく設定する必要があります。Junosは、定義されたケーブル長と内部で計算されたその他の係数に基づいて、ヘッドルームスペースを計算します。
CNPの入力トラフィック用にPFCアカウントを定義します。
1つまたは2つのPFCアカウントを定義します。アカウントごとにPFC優先度を設定し、必要に応じてアカウントごとに
XOFFとXONを設定します。PFCに使用するコードポイントを設定し、各コードポイントにPFCアカウントを割り当てます。
CNPに正しい
cable-lengthを設定します。ケーブル長は、インターフェイスとそのピアインターフェイス間の距離(メートル単位)です。
プラットフォーム固有のPFC動作
機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。
お使いのプラットフォームに固有の動作を確認するには、以下の表を使用してください。
| プラットフォーム | 違い |
|---|---|
| PTX10000シリーズ |
|