CoSバッファ設定を理解する
Junos は、PFE 全体に共通するパケット バッファ メモリを使用して、インターフェイス キューにパケットを保存します。この共有バッファメモリには、受信、ドロップ、または一時停止の決定を行うための個別のイングレスアカウンティングとエグレスアカウンティングがあります。スイッチには、イングレスとエグレスアカウンティングが分離した単一のメモリプールがあるため、イングレスとエグレスの両方の観点からバッファメモリの全量を利用できます。パケットはデバイスに出入りするときに計上されますが、パケットがイングレスバッファに到着してからエグレスバッファに移動するという概念はありません。各スイッチに固有の共通バッファーメモリ量を 表1に示します。
| スイッチ |
共通パケットバッファメモリ |
|---|---|
| QFX5100、EX4600 |
12MB |
| QFX5110、QFX5200-32C |
16MB |
| QFX5200-48Y |
22MB |
| QFX5120 |
32MB |
| QFX5130 |
132MB |
| QFX5210 |
42MB |
| QFX5220 |
64MB |
| QFX5230 |
112MB |
| QFX5240 |
165MB |
| QFX5700 |
132MB |
バッファは、ingressとegressの両方の観点から2つのプールに分割されます。
-
共有バッファは 、スイッチが必要に応じてポートに動的に割り当てるグローバルメモリプールであるため、バッファはスイッチポート間で共有されます。
-
専用バッファは 、スイッチポート間で均等に分割されたメモリプールです。各ポートには、各ポート間で共有されない各ポート専用のバッファー領域が保証された最小量のバッファー領域が与えられます。
ロスレストラフィックとは、PFC(優先順位に基づくフロー制御)を有効にしてロスレストランスポートを確保するトラフィックです。ロスレストラフィックは、イーサネット一時停止(IEEE 802.3x)が有効になっているリンク上のベストエフォートトラフィックを意味するものではありません。
デバイスは、ポートとキューが最小限のメモリ割り当てを受け取るように、設定不可能なバッファー領域を予約します。システムが残りのバッファー領域をどのように使用するかを設定して、ネットワークトラフィックの組み合わせの割り当てを最適化できます。共有バッファー領域と専用バッファー領域として使用される使用可能なバッファー領域の割合を設定できます。また、共有バッファー領域を異なるタイプのトラフィックに割り当てる方法を設定することもできます。ネットワーク上のトラフィックのバッファ設定を最適化できます。
デフォルトのサービスクラス設定には、2つのロスレスフォワーディングクラス(fcoe および no-loss)、ベストエフォート型ユニキャストフォワーディングクラス、ネットワーク制御トラフィックフォワーディングクラス、および1つのマルチデスティネーション(マルチキャスト、ブロードキャスト、宛先ルックアップ失敗)フォワーディングクラスが用意されています。
各デフォルトの転送クラスは、異なるデフォルトの出力キューにマッピングされます。デフォルトの構成では、ベストエフォート型トラフィック伝送でバーストを吸収する機能を提供しながら、適度な量のロスレストラフィックをサポートする方法でバッファを割り当てます。
バッファ設定を変更すると、トラフィック バーストを吸収してロスレス トラフィックを処理するバッファの機能が変更されます。例えば、ほとんどがベストエフォート型のトラフィックを持つネットワークでは、共有バッファー領域のほとんどをベストエフォート型のバッファーに割り当てる必要があります。これにより、ロスレストラフィックのバッファ可用性を犠牲にして、最小限のパケット損失でトラフィックバーストを吸収できる深く柔軟なロスレスバッファが提供されます。
逆に、ほとんどがロスレス トラフィックを使用するネットワークでは、共有バッファー領域の大部分をロスレス ヘッドルーム バッファーに割り当てる必要があります。これにより、バースト性ベストエフォート型トラフィックを効率的に吸収する代わりに、ロスレスフローでのパケットロスを防ぐことができます。
バッファ構成の変更は、中断イベントになります。バッファの再プログラミングが完了するまで 、すべての ポートでトラフィックが停止します。
このトピックでは、バッファのアーキテクチャと設定について説明します。
バッファプール
イングレスとエグレスの両方の観点から、PFEバッファは、共有バッファプールと専用バッファプールの2つのメインプールに分割され、各ポートへの割り当てを最小限に抑えます。2つのプールのそれぞれに割り当てられるバッファー領域の量を設定できます。バッファー領域の一部は、各ポートで使用可能な共有専用バッファー領域が常に最小限になるように予約されています。
-
共有バッファプール—スイッチ上のすべてのポートがバッファを必要とするときに動的に共有するグローバルメモリスペース。共有バッファプールは、さらに、ベストエフォートユニキャスト、ベストエフォートマルチデスティネーション(ブロードキャスト、マルチキャスト、宛先ルックアップ失敗)、PFC(ロスレス)トラフィックタイプのバッファに分割されます。グローバル共有メモリ領域をバッファパーティションに割り当てて、ネットワークトラフィックのさまざまな組み合わせをより適切にサポートできます。共有バッファープールが大きいほど、トラフィックに使用できる共有メモリが増えるため、スイッチはトラフィックバーストをよりよく吸収できます。
-
専用バッファプール—各ポートに均等に割り当てられる予約済みグローバルメモリ領域。スイッチは、ユーザーが設定できない最小の専用バッファプールを予約します。ポートの専用バッファ割り当ては、ポートごと、キューごとにポートキュー間で分割できます。(例えば、これにより、ロスレストラフィックを転送するキューにより多くのバッファー領域を割り当てることができます。)
専用バッファプールが大きいということは、各ポートの専用バッファ領域が大きくなることを意味します。そのため、トラフィックがそれほど多くの共有バッファ領域を使用する必要がないため、あるポートの輻輳が別のポートのトラフィックに影響を与える可能性が低くなります。ただし、専用バッファプールが大きいほど、動的共有バッファメモリが少ないため、スイッチが処理できるバースト性トラフィックは低くなります。
ingressおよびegress共有バッファの割合を設定することで、バッファ領域の利用可能な無制限部分がグローバル共有バッファプールと専用共有バッファプールに割り当てられる方法を設定することができます。
デフォルトでは、使用可能な非予約済みバッファー領域の 100% が共有バッファー・プールに割り振られます。共有バッファに割り振られたスペースの割合を変更すると、共有バッファに割り振られていない使用可能なバッファー領域が専用バッファに割り振られます。例えば、ingress共有バッファープールを80%に設定した場合、利用可能なバッファー領域の残りの20%は専用バッファープールに割り当てられ、ポート間で均等に分割されます。
使用可能な(ユーザー設定可能な)バッファの 100% が共有バッファー プールに割り当てられている場合でも、スイッチは最小限の専用バッファー プールを予約します。
イングレスとエグレスの共有バッファープール割り当てを個別に設定できます。また、イングレスとエグレスの共有バッファープールをパーティション化して、共有バッファープールの割合を特定のタイプのトラフィックに割り当てることもできます。デフォルト設定または推奨設定のいずれかを使用しない場合は、ロスレスヘッドルームバッファのイングレス設定(これらのバッファは輻輳期間中のPFCポーズを処理します)と、キャスト輻輳を処理するためのベストエフォートバッファのエグレス設定(複数の同期ソースが同じ受信側にデータを並行して送信)に特に注意してください。
共有バッファー・プールと専用バッファー・プールの他に、予約済みで構成不可能な小さなイングレス・グローバル・ヘッドルーム・バッファー・プールもあります。
バッファー領域の競合が発生した場合、スイッチは内部アルゴリズムを使用して、バッファー プールが競合するフロー間で公平に分散されるようにします。特定のフローのトラフィックが、そのフロー用に予約された専用ポートバッファの量を超えると、フローは動的共有バッファプールのメモリを消費し始めます。競合するフローは、専用バッファを使い果たした他のフローと共有バッファメモリをめぐって競合します。輻輳がなければ、競合するフローはありません。
- ロスレスフロー(PFC)のバッファ処理とイーサネットの一時停止
- 共有バッファー プールとパーティション
- 専用ポートバッファプールとキューへのバッファ割り当て
- 共有バッファー領域と専用バッファー領域のトレードオフ
- バッファー消費の順序
ロスレスフロー(PFC)のバッファ処理とイーサネットの一時停止
次のセクションでロスレスバッファについて説明する場合、ロスレストランスポートを確保するためにPFCを有効にするトラフィックを処理するバッファを意味します。ロスレスバッファは、イーサネット一時停止(IEEE 802.3x)を有効にしたリンク上のベストエフォート型トラフィックには使用されません。ロスレスイングレスおよびエグレス共有バッファ、およびイングレスロスレスヘッドルーム共有バッファは、PFCを有効にしたトラフィックにのみ使用されます。
ロスレスフローをサポートするには、適切なデータセンターブリッジング機能(PFC、DCBX、ETS)とスケジューリングプロパティを設定する必要があります。
共有バッファー プールとパーティション
共有バッファー プールは、スイッチ上のすべてのポートがバッファーを必要とするときに動的に共有するグローバル メモリー領域です。スイッチは、ポート専用のバッファプールが枯渇した後、共有バッファプールを使用してトラフィックバーストを吸収します。
イングレス共有バッファープールとエグレス共有バッファープールの両方を3つのパーティションに分割して、各バッファープールの割合を異なるタイプのトラフィックに割り当てることができます。イングレスまたはエグレスの共有バッファープールをパーティション化する場合:
-
1つのingress共有バッファパーティションを明示的に設定する場合は、3つのingress共有バッファパーティションすべてを明示的に設定する必要があります。(3つのイングレスパーティションすべてを明示的に設定するか、3つのイングレスパーティションすべてにデフォルト設定を使用します。)
1つのエグレス共有バッファパーティションを明示的に設定する場合、3つのエグレス共有バッファパーティションすべてを明示的に設定する必要があります。(3つのエグレスパーティションすべてを明示的に設定するか、3つのエグレスパーティションすべてにデフォルト設定を使用します。)
ingressまたはegress共有バッファパーティションを設定する際に、3つのパーティションすべてを明示的に設定しない場合、スイッチはコミットエラーを返します。
-
3つのingress共有バッファパーティションの合計パーセンテージの合計は、正確に100%でなければなりません。
3 つのエグレス共有バッファーパーティションの合計パーセンテージの合計は、正確に 100% でなければなりません。
ingressまたはegress共有バッファパーティションを明示的に設定した場合、3つのパーティションの合計の割合が100%でない場合、スイッチはコミットエラーを返します。
-
共有バッファーの 1 つのセットを明示的にパーティション化する場合、他の共有バッファーのセットを明示的にパーティション化する必要はありません。例えば、ingress共有バッファパーティションを明示的に設定し、デフォルトのegress共有バッファパーティションを使用できます。ただし、予想されるタイプのトラフィックフローに合わせてイングレスバッファプールのバッファパーティションを変更する場合は、それらのトラフィックフローに合わせてエグレスバッファプールのバッファパーティションも変更することをお勧めします。
共有バッファー プールに割り当てられる、利用可能な無制限のバッファー領域の割合を設定できます。共有バッファー・プールに割り振らなかったスペースは、専用バッファー・プールに追加され、ポート間で均等に分割されます。デフォルト設定では、無制限のイングレスおよびエグレスバッファー領域の100%が共有バッファーに割り当てられます。
イングレスおよびエグレスの共有バッファプールパーティションを設定することで、ネットワークが主に伝送するトラフィックタイプにより多くのバッファを割り当て、他のトラフィックに割り当てるバッファを減らすことができます。
Ingress Shared Buffer Pool Partitions
3つのingressバッファプールパーティションを設定できます。
-
ロスレスバッファ—すべてのロスレスイングレストラフィックの共有ロスレスバッファプール。ロスレスバッファの最小値として5%を推奨します。
-
ロスレスヘッドルームバッファ - 一時停止がアサートされている間に受信したパケットの共有バッファプール。ポートの優先度でPFCが有効になっている場合、ポートが接続されたピアに一時停止メッセージを送信すると、ポートはヘッドルームバッファを使用して、ポートが一時停止メッセージを送信してからピアがトラフィックを一時停止した後に最後のパケットが到着するまでの間に到着したパケットを保存します。ロスレスヘッドルームバッファの最小値は0(ゼロ)パーセントです。(ロスレスヘッドルームバッファは、推奨値が5%未満になることができる唯一のバッファです。)
-
非可逆バッファー - すべてのベストエフォート型イングレス トラフィック(ベストエフォート型ユニキャスト、マルチデスティネーション、ストリクト高優先度トラフィック)の共有バッファー プール。ベストエフォートバッファの最小値として5%を推奨します。
イングレスロスレス、ロスレスヘッドルーム、ベストエフォートバッファパーティションの合計パーセント値は、正確に100%でなければなりません。バッファパーセンテージの合計が100%を超えるか100%未満の場合、スイッチはコミットエラーを返します。イングレス共有バッファパーティションを明示的に設定する場合、ロスレスヘッドルームバッファパーティションの値が0(ゼロ)パーセントであっても、3つのイングレスバッファパーティションすべてを明示的に設定する必要があります。
Egress Shared Buffer Pool Partitions
3つのエグレスバッファプールパーティションを設定できます。
-
ロスレスバッファー—すべてのロスレスエグレスキューの共有バッファープール。ロスレスバッファの最小値として5%を推奨します。
-
非可逆バッファ—すべてのベストエフォートエグレスキュー(ベストエフォート、ユニキャスト、およびストリクト高優先度キュー)の共有バッファプール。ベストエフォートバッファの最小値として5%を推奨します。
-
マルチキャストバッファ—すべてのマルチデスティネーション(マルチキャスト、ブロードキャスト、宛先ルックアップ失敗)エグレスキューの共有バッファプール。マルチキャストバッファの最小値として5%を推奨します。
エグレスロスレス、ロス、マルチキャストバッファパーティションの合計パーセント値は、合計が正確に100%でなければなりません。バッファパーセンテージの合計が100%を超えるか100%未満の場合、スイッチはコミットエラーを返します。すべてのエグレスバッファパーティションは明示的に設定される必要があり、少なくとも5%の値が必要です。エグレス共有バッファパーティションを明示的に設定する場合、3つのエグレスバッファパーティションすべてを明示的に設定する必要があり、各パーティションの値は少なくとも5%である必要があります。
専用ポートバッファプールとキューへのバッファ割り当て
グローバル専用バッファープールは、各ポートに均等に割り当てられるメモリーなので、各ポートは保証された最小限のバッファー領域を受け取ります。専用バッファはポート間で共有されません。各ポートには、等しい割合の専用バッファープールが割り当てられます。
トラフィックがスイッチに出入りするとき、スイッチポートは専用のバッファを使用してパケットを保存します。専用バッファがトラフィックを処理するのに十分でない場合、スイッチは共有バッファを使用します。専用バッファー・プールを増やす唯一の方法は、共有バッファー・プールを、使用可能な予約されていないバッファーの 100% のデフォルト値から減らすことです。
専用バッファー領域の量はユーザーが設定できず、共有バッファーに割り当てられている使用可能な非予約済みバッファーの割合によって異なります。(専用バッファー領域は、最小予約済みポート バッファーに、共有バッファー プールに割り当てられていない使用可能な非予約済みバッファーの残りに等しくなります。)
使用可能な非予約済みバッファーの 100% が共有バッファー プールに割り当てられている場合でも、スイッチは最小限の専用バッファー プールを予約します。
共有バッファープールが大きいほど、ポート全体でのバースト吸収が向上します。専用バッファー プールが大きいほど、各ポートの専用バッファー領域の量も大きくなります。専用バッファー領域が大きいほど、トラフィックがそれほど多くの共有バッファー領域を使用する必要がないため、あるポートの輻輳が別のポートのトラフィックに影響を与える可能性が低くなります。
Allocating Dedicated Port Buffers to Queues
スケジューラ設定に buffer-size ステートメントを含めることで、ポートキュー間でエグレスポート専用バッファ割り当てを分割できます。これにより、ポート単位、キュー単位でエグレスポートの専用バッファ割り当てを制御できます。(これにより、ロスレストラフィックを伝送するキューにより多くのバッファー領域を割り当てたり、ポートがトラフィックを伝送しないキュー用にバッファーを予約しないようにすることができます。)エグレス専用ポートバッファ割り当ては、グローバル専用バッファプールをポート間で均等に割り当て、各ポートの割り当てをポートキュー間で分割する階層構造です。
デフォルトでは、ポートは、デフォルトのスケジューラがトラフィックの最小保証伝送レート( transmit-rate オプション)を設定するのと同じ割合で、専用バッファの割り当てをエグレスキューに分割します。デフォルトのスケジューラに含まれるキューのみが、 表2に示す割合で帯域幅と専用バッファを受信します。
| フォワーディングクラス |
キュー |
最小保証帯域幅( |
予約済み専用ポートバッファの割合 |
|---|---|---|---|
| ベストエフォート型 |
0 |
5% |
5% |
| FCoE |
3 |
35% |
35% |
| 損失なし |
4 |
35% |
35% |
| ネットワーク制御 |
7 |
5% |
5% |
| MCast |
8 |
20% |
20% |
デフォルト設定では、 表2 に示すもの以外のegressキューは、専用ポートバッファの割り当てを受け取りません。
スイッチは、階層ポートス ケジューリング(ETS)について で説明し、例 :CoS階層ポートスケジューリング(ETS)の設定に示されているように、階層スケジューリングを使用してポートとキューの帯域幅割り当てCoS制御します。エグレス キュー バッファ サイズ設定では、トラフィック制御プロファイル(キュー スケジューラ情報を含む)をポートにアタッチすると、ポート上の専用エグレス バッファがスケジューラで設定されたキューに分割されます。
キューへの専用ポートバッファのデフォルトの割り当てを使用しない場合は、ポートに接続されているスケジューラの buffer-size オプションを使用してキューの割り当てを設定します。キューへの専用バッファー割り当ては、次の2つの方法で設定できます。
-
パーセンテージとして—キューがスケジューラにマッピングされ、スケジューラがポートに接続されている場合、キューは指定された割合の専用ポートバッファを受け取ります。
-
残りとして—ポートが明示的なパーセンテージバッファサイズ設定を持つキューにサービスを提供した後、残りの専用ポートバッファ領域は、スケジューラが接続されている他のキューに均等に分割されます。(キューのデフォルトまたは明示的なスケジューラがない場合は、そのキューに専用のバッファーが割り当てられません。)スケジューラを設定し、バッファーサイズをパーセンテージで指定しない場合、 残り がデフォルト設定になります。
ポート上のすべてのキューに対して明示的に設定されたバッファサイズの割合の合計は、100%を超えることはできません。
Configuring Dedicated Port Buffer Allocation to Queues
複数の転送クラスセットを含むポート設定で、複数の転送クラスが複数のスケジューラにマッピングされている場合、ポート専用バッファのキューへの割り当ては、バッファサイズが明示的なパーセンテージで設定されたキューと、 remainder オプションで設定された(またはデフォルト設定されている)キューの組み合わせによって異なります。
パーセンテージと残りオプションの使用がキューへの専用ポートバッファ割り当てにどのように影響するかを示す最良の方法は、キューバッファ割り当ての例を示し、次に別の転送クラス(キュー)をポートに追加したときにキューバッファ割り当てがどのように変化するかを示すことです。
表3は 、4つの転送クラスセット、5つのデフォルト転送クラス(それらの転送クラスの5つのデフォルトキューにマッピング)、 buffer-size オプションの構成、およびその結果として各キューに割り当てられるバッファーを含む初期構成を示しています。 表4 は、ベストエフォート転送クラスセットに別の転送クラス(best-effort-2、キュー1にマッピング)を追加した後の同じ設定を示しています。各テーブルのバッファー割り当てを比較すると、余りと明示的なパーセンテージを使用して異なるキューのバッファー割り当てを構成する場合に、別のキューを追加した場合がバッファー割り当てにどのような影響を与えるかがわかります。
| フォワーディングクラスセット(優先度グループ) |
フォワーディングクラス |
キュー |
スケジューラバッファサイズ設定 |
キューごとのバッファー割り当て(パーセンテージ) |
|---|---|---|---|---|
| fc-set-be |
ベストエフォート型 |
0 |
10% |
10% |
| fc-set-ロスレス |
FCoE |
3 |
20% |
20% |
| 損失なし |
4 |
40% |
40% |
|
| fc-set-strict-high |
ネットワーク制御 |
7 |
残り |
15% |
| fc-set-mcast |
MCast |
8 |
残り |
15% |
この最初の例では、エグレスポートの専用バッファプールの70%が、ベストエフォートキュー、fcoEキュー、無損失キューに明示的に割り当てられています。ポート専用バッファー プールの残りの 30% は、 remainder オプションを使用する 2 つのキュー (network-control と mcast) に分割されるため、各キューは専用バッファー プールの 15% を受け取ります。
次に、別の転送クラス(キュー)をベストエフォート優先度グループ(fc-set-be)に追加し、特定のパーセンテージを設定するのではなく、 残りの バッファサイズで設定します。3番目のキューが残りの専用バッファを共有するため、 表4に示すように、残りを共有するキューが受け取る専用バッファの数は少なくなります。割合が明示的に設定されたキューは、設定された割合の専用バッファーを受け取ります。
| 優先度グループ(fc-set) |
フォワーディングクラス |
キュー |
スケジューラバッファサイズ設定 |
キューごとのバッファー割り当て(パーセンテージ) |
|---|---|---|---|---|
| fc-set-be |
ベストエフォート型 |
0 |
10% |
10% |
| ベストエフォート2 |
1 |
残り |
10% |
|
| fc-set-ロスレス |
FCoE |
3 |
20% |
20% |
| 損失なし |
4 |
40% |
40% |
|
| fc-set-strict-high |
ネットワーク制御 |
7 |
残り |
10% |
| fc-set-mcast |
MCast |
8 |
残り |
10% |
2 つの表は、専用バッファー領域の割合が明示的に設定されているキューにサービスを提供した後に残る専用バッファー領域をポートがどのように分割しているかを示しています。
共有バッファー領域と専用バッファー領域のトレードオフ
共有バッファー領域と専用バッファー領域のトレードオフは次のとおりです。
-
共有バッファは、ポートがバーストを処理するために必要に応じて使用できる動的バッファのプールが大きいため、トラフィック バーストをよりよく吸収します。ただし、専用バッファー領域を使い果たしたすべてのフローは、共有バッファー プールをめぐって競合します。共用バッファー・プールが大きいほど、専用バッファー・プールが小さくなるため、専用バッファー割り振りを使い果たすフローが増えるため、共有バッファー・プールの競合が激化します。共有バッファー領域が多すぎると、多くのフローがその領域をめぐって競合する場合に公平性を維持するために、単一のフローがあまり多くの共有バッファー領域を受け取れなくなります。
-
専用バッファは、各ポートに保証されたバッファー領域を提供します。専用バッファプールが大きいほど、トラフィックがそれほど多くの共有バッファ領域を使用する必要がないため、あるポートの輻輳が別のポートのトラフィックに影響を与える可能性が低くなります。ただし、共有バッファー領域が少ないということは、トラフィック バーストを動的に吸収する能力が低下することを意味します。
バースト吸収を最適にするためには、スイッチには十分な専用バッファー領域が必要で、共有バッファー領域をめぐる継続的な競合を回避する必要があります。共有バッファをめぐって競合するフローが少ない場合、専用バッファ領域を使い果たすフローが少ないため、バーストを吸収するために共有バッファ領域を必要とするフローは、より多くの共有バッファを受け取ります。
デフォルト設定とさまざまなトラフィックシナリオに推奨される設定では、専用バッファ用に予約された容量が動的共有バッファの永続的な競合を避けるのに十分な容量を提供するため、ユーザーが設定可能なメモリ領域の100%をグローバル共有バッファプールに割り当てます。これにより、共有バッファーをめぐって競合するフローが少なくなるため、競合するフローはより多くのバッファー領域を受け取ることができます。
バッファー消費の順序
合計バッファープールは、イングレスとエグレスの共有バッファープールと専用バッファープールに分かれています。トラフィックがスイッチを通過する場合、バッファー領域はトラフィックのタイプに応じて特定の順序で使用されます。
ingressでは、バッファ消費の順序は次のとおりです。
-
ベストエフォート型ユニキャストトラフィック:
-
専用バッファー
-
共有バッファー
-
グローバルヘッドルームバッファ(非常に小さい)
-
-
ロスレスユニキャストトラフィック:
-
専用バッファー
-
共有バッファー
-
ロスレスヘッドルームバッファ
-
グローバルヘッドルームバッファ(非常に小さい)
-
-
マルチ宛先トラフィック:
-
専用バッファー
-
共有バッファー
-
グローバルヘッドルームバッファ(非常に小さい)
-
エグレスでは、バッファー消費の順序は、ユニキャスト ベストエフォート、ロスレス ユニキャスト、マルチデスティネーション トラフィックで同じです。
-
専用バッファー
-
共有バッファー
すべてのポートにおいて、スイッチは最初に専用バッファプールを使用し、ポートまたはキューの専用バッファプールが枯渇した後にのみ共有バッファプールを使用します。これにより、トラフィック バーストを吸収するための動的共有バッファー領域の最大量が確保されます。
デフォルトのバッファープール値
show class-of-service shared-buffer運用コマンドを使用して、デフォルトまたは設定済みのイングレスおよびエグレスのバッファプール値をKB単位で表示できます。show configuration class-of-service shared-buffer運用コマンドを使用して、設定された共有バッファープールの値をパーセント単位で表示できます。
このセクションでは、デフォルトの合計バッファー、共有バッファー、および専用バッファーの値を示します。
バッファープールの合計サイズ
合計バッファー プールは、イングレス アカウンティングとエグレス アカウンティングが分離した共通メモリーであるため、イングレスとエグレス アカウンティングの両方の観点から完全なバッファー プールを利用できます。合計バッファー・プールは、専用バッファー・スペースと共有バッファー・スペースで構成されます。総バッファー・プールのサイズはユーザーが構成できませんが、専用および共有バッファー・プールへのバッファー・スペースの割り振りはユーザーが構成できます。
共有バッファー プールのデフォルト値
一部のスイッチは、他のスイッチよりも大きな共有バッファープールを持っています。ただし、個々のイングレスおよびエグレスバッファープールへの共有バッファー領域の割り振りは、絶対値が異なっても、パーセンテージベースでは同じです。例えば、デフォルトのイングレスロスレスバッファは、スイッチごとに異なる場合でも、すべてのスイッチの共有イングレスロスレスバッファー領域の合計の9%です。
Shared Ingress Buffer Default Values
表5は 、すべてのスイッチのデフォルトのingress共有バッファ割り当て値をパーセンテージで示しています。デフォルトの共有バッファー割り当てを変更する場合は、変更をパーセンテージで設定します。
| 共有イングレスバッファ合計 |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
非可逆バッファ |
|---|---|---|---|
| 100% |
9% |
45% |
46% |
Shared Egress Buffer Default Values
表6は 、すべてのスイッチのデフォルトのegress共有バッファ割り当て値をパーセンテージで示したものです。
| 共有エグレスバッファ合計 |
ロスレスバッファ |
非可逆バッファ |
マルチキャストバッファ |
|---|---|---|---|
| 100% |
50% |
31% |
19% |
専用バッファプールのデフォルト値
システムは、スイッチポート間で均等に分割されたイングレスおよびエグレス専用バッファプールを予約します。デフォルトでは、システムは使用可能な無予約のバッファー領域の 100% を共有バッファー プールに割り振ります。共有バッファー・プールに割り振られた使用可能な無予約バッファー・スペースの割合を減らすと、残りの無予約バッファー・スペースが専用バッファー・プール割り振りに追加されます。専用バッファー・プール・スペースの量を設定するには、共有バッファー・プールに割り振られるバッファー・スペースの割合を減らしたり増やしたりします。専用バッファープールの割り当ては直接設定しません。
表7は 、QFX5210、QFX5200、QFX5110、QFX5100、EX4600スイッチのデフォルトのイングレスおよびエグレス専用バッファプール値をKB単位で示しています。
| 専用バッファタイプ |
QFX5210 |
QFX5200-48Y |
QFX5110、QFX5200-32C |
QFX5100、EX4600 |
|---|---|---|---|---|
| イングレス |
14040 |
3373.50 |
4860.38 |
2912.81 |
| エグレス |
15184 |
3412.50 |
5408 |
3744 |
さまざまなネットワークトラフィックシナリオに対応した共有バッファ構成の推奨事項
共有バッファー プールを構成する方法は、ネットワーク上のトラフィックの組み合わせによって異なります。このセクションでは、次の 5 つの基本的なネットワークトラフィックシナリオについて、共有バッファ設定に関する推奨事項について説明します。
-
バランスの取れたトラフィック—ネットワークは、ユニキャストベストエフォート、ロスレス、マルチキャストトラフィックのバランスの取れた組み合わせで伝送します。(これはデフォルトの設定です。)
-
ベストエフォート型ユニキャストトラフィック—ネットワークは、ほとんどがユニキャスト型ベストエフォート型トラフィックを伝送します。
-
イーサネット一時停止(IEEE 802.3X)を有効にしたベストエフォートトラフィック—ネットワークは、リンクでイーサネット一時停止を有効にした状態で、ほとんどがベストエフォートトラフィックを伝送します。
-
ベストエフォート型マルチキャストトラフィック—ネットワークは、主にマルチキャスト型ベストエフォート型トラフィックを伝送します。
-
ロスレストラフィック—ネットワークは、ほとんどがロスレストラフィック(PFCが有効になっているトラフィック)を伝送します。
ロスレストラフィックは、PFCを有効にしてロスレストランスポートを保証するトラフィックとして定義されます。ロスレストラフィックは、イーサネットPAUSEを有効にしたリンク上のベストエフォートトラフィックとは言いません。各ネットワークトラフィックシナリオで推奨されるプロファイルから始め、ネットワークトラフィックの状況に応じて必要に応じて調整します。
バッファ構成の変更は、中断イベントになります。バッファの再プログラミングが完了するまで 、すべての ポートでトラフィックが停止します。これには、デフォルト設定を推奨設定のいずれかに変更することが含まれます。
バッファーの割り当てはパーセンテージで設定するため、ネットワークトラフィックシナリオごとに推奨される割り当ては、すべてのQFXシリーズスイッチとEX4600スイッチに有効です。ネットワークトラフィック状況に応じて、以下の推奨共有バッファ設定のいずれかを使用します。推奨される設定から始めて、バッファ設定の 最適化で説明されているように、必要に応じてバッファ割り当てを少し調整してバッファを微調整します。
- バランスされたトラフィック(デフォルト設定)
- ベストエフォート型ユニキャストトラフィック
- イーサネットPAUSEトラフィック
- ベストエフォート型マルチキャスト(マルチデスティネーション)トラフィック
- ロスレストラフィック
バランスされたトラフィック(デフォルト設定)
デフォルトの共有バッファ構成は、ベストエフォートユニキャスト、ロスレス、マルチデスティネーション(マルチキャスト、ブロードキャスト、宛先ルックアップ失敗)のトラフィックをバランスよく組み合わせて伝送するネットワーク向けに最適化されています。デフォルトのサービスクラス(CoS)設定も、バランスの取れたトラフィックの組み合わせを伝送するネットワーク向けに最適化されています。
特にデフォルトの CoS 設定を使用している場合は、バランスの取れたトラフィックの組み合わせを伝送するネットワークには、デフォルトの共有バッファ設定を使用することをお勧めします。 表8は 、デフォルトのingress共有バッファ割り当てを示しています。
| 共有イングレスバッファ合計 |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
非可逆バッファ |
|---|---|---|---|
| 100% |
9% |
45% |
46% |
表9は 、デフォルトのegress共有バッファ割り当てを示しています。
| 共有エグレスバッファ合計 |
ロスレスバッファ |
非可逆バッファ |
マルチキャストバッファ |
|---|---|---|---|
| 100% |
50% |
31% |
19% |
ベストエフォート型ユニキャストトラフィック
ネットワークが主にベストエフォート(非可逆)ユニキャスト トラフィックを伝送する場合、デフォルトの共有バッファ設定では、ロスレス トランスポートをサポートするために割り当てるバッファ領域が多すぎます。これらのバッファを無駄にするのではなく、以下のイングレス共有バッファ設定( 表10を参照)とエグレス共有バッファ設定( 表11を参照)を使用することをお勧めします。
| 共有イングレスバッファ合計 |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
非可逆バッファ |
|---|---|---|---|
| 100% |
5% |
0% |
95% |
| 共有エグレスバッファ合計 |
ロスレスバッファ |
非可逆バッファ |
マルチキャストバッファ |
|---|---|---|---|
| 100% |
5% |
75% |
20% |
表 10 および 表 11 に示す推奨バッファ設定の構成方法を示す例については、例:ほとんどがベストエフォート ユニキャスト トラフィックを使用するネットワーク向けの共有バッファー プールの推奨構成を参照してください。
イーサネットPAUSEトラフィック
ネットワークが主にベストエフォート(ロス)トラフィックを伝送 し、 リンクでイーサネットPAUSEを有効にしている場合、デフォルトの共有バッファ設定では、共有イングレスバッファに割り当てるバッファ領域が多すぎ(イーサネットPAUSEトラフィックは共有バッファではなく専用バッファを使用します)、ロスレスヘッドルームバッファには十分な領域が割り当てられません。以下のイングレス共有バッファ設定( 表12を参照)およびエグレス共有バッファ設定( 表13を参照)を使用することをお勧めします。
| 共有イングレスバッファ合計 |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
非可逆バッファ |
|---|---|---|---|
| 70% |
5% |
80% |
15% |
| 共有エグレスバッファ合計 |
ロスレスバッファ |
非可逆バッファ |
マルチキャストバッファ |
|---|---|---|---|
| 100% |
5% |
75% |
20% |
表 10 および 表 11 に示す推奨バッファ設定の構成方法を示す例については、例:イーサネット PAUSE を有効にしたリンクで、ほとんどの場合ベストエフォート トラフィックを持つネットワークの共有バッファー プールの推奨構成を参照してください。
ベストエフォート型マルチキャスト(マルチデスティネーション)トラフィック
ネットワークが主にベストエフォート(非可逆)マルチキャスト トラフィックを伝送する場合、デフォルトの共有バッファ設定では、ロスレス トランスポートをサポートするために割り当てるバッファ領域が多すぎます。これらのバッファを無駄にするのではなく、以下のイングレス共有バッファ設定( 表14を参照)とエグレス共有バッファ設定( 表15を参照)を使用することをお勧めします。
| 共有イングレスバッファ合計 |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
非可逆バッファ |
|---|---|---|---|
| 100% |
5% |
0% |
95% |
| 共有エグレスバッファ合計 |
ロスレスバッファ |
非可逆バッファ |
マルチキャストバッファ |
|---|---|---|---|
| 100% |
5% |
20% |
75% |
表 14 および 表 15 に示す推奨バッファ設定の構成方法を示す例については、例:大部分がマルチキャスト トラフィックを使用するネットワーク向けの共有バッファー プールの推奨構成を参照してください。
ロスレストラフィック
ネットワークがほとんどがロスレストラフィックを伝送する場合、デフォルトの共有バッファ構成では、ベストエフォート型トラフィックをサポートするにはバッファ領域が多すぎます。これらのバッファを無駄にするのではなく、以下のイングレス共有バッファ設定( 表16を参照)とエグレス共有バッファ設定( 表17を参照)を使用することをお勧めします。
| 共有イングレスバッファ合計 |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
非可逆バッファ |
|---|---|---|---|
| 100% |
15% |
80% |
5% |
| 共有エグレスバッファ合計 |
ロスレスバッファ |
非可逆バッファ |
マルチキャストバッファ |
|---|---|---|---|
| 100% |
90% |
5% |
5% |
表 16 および 表 17 に示す推奨バッファ設定の構成方法を示す例については、「例:ほとんどロスレス トラフィックを持つネットワーク向けの共有バッファー プールの推奨構成」を参照してください。
バッファ構成の最適化
デフォルト設定または推奨バッファ設定から始めて、バッファ割り当てをさらに最適化して、ネットワーク上のトラフィックの組み合わせを最適にサポートできます。設定を徐々に調整して、共有バッファーの割り当てを微調整します。共有バッファの設定を調整する際は、イングレスとエグレスのバッファパーティションを微調整するときだけでなく、イングレスとエグレスの共有バッファの合計割合を微調整する際にも注意が必要です。(共有バッファに割り当てる使用可能なバッファが 100% 未満の場合、残りのバッファが専用バッファに追加されることに注意してください)。バッファの調整を誤ると、イングレスポートの混雑などの問題が発生する可能性があります。
バッファ構成の変更は、中断イベントになります。バッファの再プログラミングが完了するまで 、すべての ポートでトラフィックが停止します。
イングレスバッファプールとエグレスバッファプールのサイズの関係は、パケットがドロップされるタイミングと場所に影響します。バッファー プールのサイズには、共有バッファーと専用バッファーが含まれます。一般に、イングレスバッファーの数がエグレスバッファーの数より多い場合、イングレスキューを空にする前にエグレスキューがいっぱいになるため、スイッチでイングレスポートの輻輳が発生する可能性があります。
show class-of-service shared-buffer 操作コマンドを使用して、専用バッファーと共有バッファー、および共有バッファーパーティションのサイズをキロバイト(KB)単位で確認します。
ベストエフォート トラフィック(ユニキャストおよびマルチデスティネーション)の場合、イングレス損失のある共有バッファ パーティションとイングレス専用バッファの組み合わせは、エグレス損失のある共有バッファ パーティションとマルチキャストの共有バッファパーティションの合計とエグレス専用バッファの組み合わせ よりも小さく なければなりません。これにより、エグレスのベストエフォートバッファがイングレスのベストエフォートバッファよりも深いため、イングレスポートの輻輳を防ぎ、パケットがドロップされた場合にはエグレスキューで確実にドロップされます。(ingressでパケットがドロップすると、egressスケジューラが正常に動作しません。)
ロスレストラフィック(PFCを有効にするトラフィック)の場合、イングレスロスレス共有バッファパーティションとイングレスヘッドルームバッファパーティションの妥当な部分、および専用バッファの合計は、エグレスロスレス共有バッファパーティションと専用バッファの合計 よりも小さく なければなりません。(イングレスヘッドルームバッファの妥当な部分はバッファスペースの約20〜25%ですが、これはロスレストラフィックをサポートするために必要なバッファヘッドルームの量によって異なります)。これらの条件が満たされている場合、イングレスポートの輻輳が発生した場合、イングレスポートの輻輳によりイングレスポートのPFCがトリガーされ、パケット損失が防止されます。ingressバッファロスレス合計がegressバッファの合計ロスレスを超える場合、パケット損失を防ぐために、ingressでPFCを適用する代わりに、egressでパケットをドロップすることができます。
スイッチに十分なリソースがないバッファ設定をコミットすると、スイッチがコミットエラーを返さず、エラーを記録することがあります。その場合、syslogメッセージがコンソールに表示されます。次に例を示します。
user@host# commit configuration check succeeds Message from syslogd@host at Jun 13 11:11:10 ... host dc-pfe: Not enough Ingress Lossless headroom.(Already allocated more). Dedicated : 14340 Lossy : 47100 Lossless 4239 Headroom 21195 Avail : 20781 commit complete
バッファ設定がコミットしているが、設定を実装できないことを示す syslog メッセージが表示された場合は、次のことが可能になります。
-
バッファを再設定するか、その他のパラメータを再設定し(例えば、PFC設定では、ロスレスヘッドルームバッファとロスレスバッファの必要性に影響します。一時停止する優先度が高いほど、必要となるロスレスおよびロスレスヘッドルームバッファスペースが増えます)、コミット操作を再試行します。
-
最後に成功した設定にスイッチをロールバックします。
バッファ設定を実装できないという syslog メッセージが表示された場合は、修正アクションを実行する必要があります。設定を修正しないか、以前の正常な設定にロールバックしない場合、システムの動作は予測できません。
一般的なバッファ設定ルールと考慮事項
バッファを設定する際は、以下のルールと考慮事項に留意してください。
-
バッファ構成の変更は、中断イベントになります。バッファの再プログラミングが完了するまで 、すべての ポートでトラフィックが停止します。
-
イングレスまたはエグレスの共有バッファーの割合を100%未満に設定した場合、残りのバッファー領域の割合が専用のバッファープールに追加されます。
-
すべてのイングレス共有バッファーパーティションの合計が100%に等しくなければなりません。各パーティションは、0%の値を持つことができるロスレスヘッドルームバッファを除き、少なくとも5%の値で設定する必要があります。
-
すべてのエグレス共有バッファパーティションの合計が100%にならなければなりません。各パーティションは、少なくとも 5% の値で設定する必要があります。
-
ロスレスおよびロスレス ヘッドルーム共有バッファは、PFCを有効にしたトラフィックにサービスを提供し、イーサネット一時停止の対象となるトラフィックにはサービスを提供しません。
-
スイッチは、最初に専用バッファープールを使用し、ポートまたはキューの専用バッファープールが枯渇した後にのみ共有バッファープールを使用します。
-
専用バッファー領域が少なすぎると、共有バッファー領域の競合が激化します。
-
専用バッファー領域が多すぎると、利用可能な共有バッファー領域が少なくなるため、バースト吸収率が低下します。
-
新しいバッファ設定をコミットした後は、必ずsyslogメッセージを確認してください。
-
ネットワークに最適なバッファー構成は、ネットワーク上のトラフィックの種類によって異なります。ネットワークが特定のタイプのトラフィック(ロスレストラフィックなど)伝送する量が少ない場合、そのタイプのトラフィックに割り当てられるバッファのサイズを小さくすることができます(例えば、ロスレスとロスレスのヘッドルームバッファのサイズを小さくすることができます)。
プラットフォーム固有のバッファ動作
お使いのプラットフォームに固有の動作を確認するには、以下の表を使用して下さい。
| プラットフォーム |
違い |
|---|---|
| QFX5000シリーズ |
|
| QFX10000シリーズ |
|
| QFXバーチャルシャーシおよびEX4600/EX4650バーチャルシャーシ |
|