CoSバッファ設定について
パケット フォワーディング エンジン(PFE)ワイドな共通パケット バッファー メモリは、インターフェイス キューにパケットを格納するために使用されます。バッファー メモリには、受け入れ、ドロップ、または一時停止の決定を行うための個別のイングレス アカウンティングとエグレス アカウンティングがあります。スイッチには、イングレスとエグレスアカウンティングが分離された単一のメモリプールがあるため、イングレスとエグレスの両方の観点から、すべてのバッファメモリを利用できます。パケットはスイッチに出入りするときに考慮されますが、パケットがイングレスバッファに到着してからエグレスバッファに移動するという概念はありません。各スイッチの具体的な共通バッファメモリ量を 表1に示します。
スイッチ |
共通パケットバッファメモリ |
---|---|
QFX3500、QFX3600 |
9メガバイト |
QFX5100、EX4600、OCXシリーズ |
12メガバイト |
QFX5110、QFX5200-32C |
16メガバイト |
QFX5200-48 |
22メガバイト |
QFX5120 |
32メガバイト |
QFX5130、QFX5700 |
132メガバイト |
QFX5210 |
42メガバイト |
QFX5220 |
64メガバイト |
QFX5230 |
112メガバイト |
QFX5240 |
165メガバイト |
QFX10000 には共有バッファーがありません。
バッファーは、イングレスとエグレスの両方の観点から 2 つのプールに分割されます。
-
共有バッファ は、スイッチが必要に応じてポートに動的に割り当てるグローバル メモリ プールであるため、バッファはスイッチ ポート間で共有されます。
-
専用バッファー は、スイッチ ポート間で均等に分割されたメモリ プールです。各ポートは、各ポート専用の最低保証量のバッファ領域を受け取り、ポート間で共有されません。
ロスレストラフィックとは、ロスレストランスポートを確保するためにプライオリティベースのフロー制御(PFC)を有効にしたトラフィックのことです。ロスレストラフィックとは、イーサネットPAUSE(IEEE 802.3x)が有効になっているリンク上のベストエフォートトラフィックを指すものではありません。
スイッチは、ポートとキューが最小限のメモリ割り当てを受け取るように、設定不可能なバッファ領域を予約します。システムが残りのバッファー領域をどのように使用するかを構成して、ネットワーク トラフィックの組み合わせに対する割り当てを最適化できます。共有バッファー領域と専用バッファー領域として使用される使用可能なバッファー領域の割合を設定できます。また、共有バッファ領域を異なるタイプのトラフィックに割り当てる方法を設定することもできます。ネットワーク上のトラフィックのバッファ設定を最適化できます。
デフォルトのサービスクラス設定では、2つのロスレス転送クラス(fcoe
および no-loss)
、ベストエフォート型ユニキャスト転送クラス、ネットワーク制御トラフィック転送クラス、および1つのマルチ宛先(マルチキャスト、ブロードキャスト、および宛先検索失敗)転送クラスが提供されます。
各デフォルト転送クラスは、異なるデフォルト出力キューにマップされます。デフォルト設定では、適度な量のロスレストラフィックをサポートする方法でバッファを割り当てますが、ベストエフォート型トラフィック伝送のバーストを吸収する機能も提供します。
バッファ設定を変更すると、トラフィックバーストを吸収し、ロスレストラフィックを処理するバッファの能力が変更されます。たとえば、トラフィックの大部分がベストエフォート型であるネットワークでは、共有バッファー領域の大部分をベストエフォート型バッファーに割り当てる必要があります。これにより、損失のないトラフィックのバッファの可用性を犠牲にして、最小限のパケット損失でトラフィックバーストを吸収できる深く柔軟なバッファが提供されます。
逆に、ほとんどがロスレストラフィックのネットワークでは、共有バッファスペースの大部分をロスレスヘッドルームバッファに割り当てる必要があります。これにより、バースト性ベストエフォート トラフィックを効率的に吸収するという犠牲を払って、ロスレス フローでのパケット ロスを防止できます。
バッファー構成の変更は、中断を伴うイベントです。バッファの再プログラミングが完了するまで、 すべての ポートでトラフィックが停止します。
このトピックでは、バッファーのアーキテクチャと設定について説明します。
バッファー・プール
イングレスとエグレスの両方の観点から、PFEバッファは、共有バッファプールと専用バッファプールの2つのメインプールに分割され、各ポートへの割り当てが最小限に抑えられます。2 つのプールのそれぞれに割り当てられるバッファー領域の量を構成できます。バッファー領域の一部は、各ポートで使用できる共有バッファー領域と専用バッファー領域が常に最小限になるように予約されます。
-
共有バッファプール:スイッチ上のすべてのポートがバッファ必要に応じて動的に共有するグローバルメモリスペース。共有バッファー プールはさらに、ベストエフォート型ユニキャスト、ベストエフォート型マルチ宛先(ブロードキャスト、マルチキャスト、および宛先検索に失敗)、PFC(ロスレス)トラフィック タイプのバッファーに分割されます。グローバル共有メモリ領域をバッファパーティションに割り当てて、ネットワークトラフィックのさまざまな組み合わせをより適切にサポートできます。共有バッファー プールが大きいほど、トラフィックに使用できる共有メモリが増えるため、スイッチがトラフィック バーストをより適切に吸収できます。
-
専用バッファープール:各ポートに均等に割り当てられた予約済みのグローバルメモリスペース。スイッチは、ユーザーが設定できない最小の専用バッファー プールを予約します。ポートの専用バッファー割り当ては、ポート単位、キュー単位で、ポート キュー間で分割できます。(たとえば、これにより、ロスレストラフィックを伝送するキューにより多くのバッファ領域を割り当てることができます)。
専用バッファー プールが大きいほど、各ポートの専用バッファー領域も大きくなるため、トラフィックがそれほど多くの共有バッファー領域を使用する必要がないため、あるポートの輻輳が別のポートのトラフィックに影響を与える可能性は低くなります。ただし、専用バッファー プールが大きいほど、動的共有バッファー メモリが少なくなるため、スイッチが処理できるバースト性トラフィックは少なくなります。
イングレスおよびエグレスの共有バッファーのパーセンテージを構成することによって、バッファー・スペースの使用可能な未予約部分をグローバル共用バッファー・プールおよび専用共用バッファー・プールに割り振る方法を構成できます。
デフォルトでは、使用可能な予約されていないバッファー・スペースの 100% が共用バッファー・プールに割り振られます。共有バッファーに割り振られるスペースのパーセンテージを変更すると、共有バッファーに割り振られていない使用可能なバッファー・スペースが専用バッファーに割り振られます。例えば、イングレス共用バッファー・プールを 80% として構成した場合、使用可能なバッファー・スペースの残りの 20% が専用バッファー・プールに割り振られ、ポート間で均等に分割されます。
使用可能な(ユーザーが設定可能な)バッファーの 100% が共有バッファー プールに割り当てられている場合、スイッチは最小の専用バッファー プールを予約します。
イングレスおよびエグレスの共有バッファー・プール割り振りを別々に構成することができます。また、イングレスおよびエグレスの共有バッファー・プールを区画化して、共有バッファー・プールのパーセンテージを特定のタイプのトラフィックに割り当てることもできます。デフォルト設定または推奨設定を使用しない場合は、ロスレス ヘッドルーム バッファのイングレス設定(これらのバッファは、輻輳期間中の PFC 一時停止を処理します)と、インキャスト輻輳(複数の同期ソースが同じレシーバに並行してデータを送信する)を処理するためのベストエフォート バッファのエグレス設定に特に注意してください。
共有バッファープールと専用バッファープールに加えて、予約済みで構成できない小さなingressグローバルヘッドルームバッファープールもあります。
バッファー領域の競合が発生すると、スイッチは内部アルゴリズムを使用して、バッファー プールが競合するフロー間で公平に分散されるようにします。特定のフローのトラフィックがそのフロー用に予約された専用ポート バッファーの量を超えると、フローは動的共有バッファー プールのメモリを消費し始めます。競合するフローは、専用バッファーを使い果たした他のフローと共有バッファー メモリをめぐって競合します。輻輳がない場合、競合するフローはありません。
- ロスレスフロー(PFC)とイーサネットPAUSEのバッファ処理
- 共用バッファー・プールおよび区画
- 専用ポート バッファー プールとキューへのバッファー割り当て
- 共有バッファ領域と専用バッファ領域のトレードオフ
- バッファー消費の順序
ロスレスフロー(PFC)とイーサネットPAUSEのバッファ処理
次のセクションでロスレス バッファーについて説明する場合、PFC を有効にしてロスレス トランスポートを確保するトラフィックを処理するバッファーを意味します。ロスレス バッファは、イーサネット PAUSE(IEEE 802.3x)を有効にしたリンクでのベストエフォート型トラフィックには使用されません。ロスレスイングレスおよびエグレス共有バッファ、およびイングレスロスレスヘッドルーム共有バッファは、PFCを有効にしたトラフィックにのみ使用されます。
ロスレス フローをサポートするには、適切なデータ センター ブリッジング機能(PFC、DCBX、および ETS)とスケジューリング プロパティを設定する必要があります。
共用バッファー・プールおよび区画
共有バッファー プールは、スイッチ上のすべてのポートがバッファーを必要とするときに動的に共有するグローバル メモリ空間です。スイッチは、ポートの専用バッファー プールを使い切った後、共有バッファー プールを使用してトラフィック バーストを吸収します。
イングレス共有バッファー・プールと出口共有バッファー・プールの両方を 3 つのパーティションに分割して、各バッファー・プールのパーセンテージを異なるタイプのトラフィックに割り当てることができます。イングレスまたはエグレスの共有バッファー・プールを区画化する場合:
-
1 つのイングレス共有バッファー区画を明示的に構成する場合は、3 つのイングレス共用バッファー区画すべてを明示的に構成する必要があります。(3 つのイングレスパーティションすべてを明示的に設定するか、3 つのイングレスパーティションすべてにデフォルト設定を使用します。
1 つのエグレス共有バッファーパーティションを明示的に構成する場合は、3 つのエグレス共有バッファーパーティションすべてを明示的に構成する必要があります。(3つのエグレスパーティションすべてを明示的に設定するか、3つのエグレスパーティションすべてにデフォルト設定を使用します。
イングレスまたはエグレスの共有バッファーパーティションの設定時に、3つのパーティションすべてを明示的に設定しないと、スイッチはコミットエラーを返します。
-
3 つのイングレス共有バッファー・パーティションの合計パーセンテージは、正確に 100% でなければなりません。
3 つのエグレス共有バッファー パーティションの合計パーセンテージは、正確に 100% である必要があります。
イングレスまたはエグレスの共有バッファー パーティションを明示的に設定する場合、3 つのパーティションの合計割合が 100% でない場合、スイッチはコミット エラーを返します。
-
共有バッファーの 1 つのセットを明示的にパーティション分割する場合は、もう一方の共有バッファーのセットを明示的にパーティション分割する必要はありません。例えば、イングレス共有バッファー・パーティションを明示的に構成し、デフォルトのエグレス共有バッファー・パーティションを使用することができます。ただし、予想されるタイプのトラフィックフローに一致するようにイングレスバッファプールのバッファパーティションを変更する場合は、それらのトラフィックフローに一致するようにエグレスバッファプールのバッファパーティションも変更することをお勧めします。
共用バッファー・プールに割り振られる使用可能な未予約バッファー・スペースのパーセンテージを構成できます。共用バッファー・プールに割り振らないスペースは、専用バッファー・プールに追加され、ポート間で均等に分割されます。デフォルト設定では、予約されていないイングレスおよびエグレス バッファー領域の 100% が共有バッファーに割り当てられます。
イングレスおよびエグレスの共有バッファープールパーティションを構成すると、ネットワークが主に伝送するトラフィックのタイプに割り当てるバッファーを増やし、他のトラフィックに割り当てるバッファーを減らすことができます。
Ingress Shared Buffer Pool Partitions
次の 3 つのイングレス・バッファー・プール・パーティションを構成できます。
-
ロスレスバッファ - すべてのロスレスイングレストラフィック用の共有バッファプール。ロスレス バッファーの最小値として 5% をお勧めします。
-
ロスレス ヘッドルーム バッファ:一時停止がアサートされている間に受信したパケット用の共有バッファー プール。ポートのプライオリティで PFC が有効になっている場合、ポートが接続されたピアに一時停止メッセージを送信すると、ポートはヘッドルーム バッファを使用して、ポートが一時停止メッセージを送信してからピアがトラフィックを一時停止した後に最後のパケットが到着するまでの間に到着したパケットを格納します。ロスレス ヘッドルーム バッファーの最小値は 0 (ゼロ) パーセントです。(ロスレス ヘッドルーム バッファーは、推奨値が 5% 未満になる可能性がある唯一のバッファーです)。
手記:QFX バーチャル シャーシと EX4600/EX4650 バーチャル シャーシでは、ロスレス ヘッドルーム バッファーの最小値は 3 % です。
-
損失バッファ - すべてのベストエフォート型イングレス トラフィック(ベストエフォート型ユニキャスト、マルチ宛先、および厳密-高優先度トラフィック)用の共有バッファープール。ベストエフォート型バッファーの最小値として 5% をお勧めします。
イングレス ロスレス、ロスレス ヘッドルーム、ベストエフォート バッファー パーティションの合計パーセンテージ値は、正確に 100% である必要があります。バッファーの割合の合計が 100% を超えるか 100% 未満の場合、スイッチはコミット エラーを返します。イングレス共有バッファー パーティションを明示的に構成する場合、ロスレス ヘッドルーム バッファー パーティションの値が 0(ゼロ)パーセントの場合でも、3 つのイングレス バッファー パーティションすべてを明示的に構成する必要があります。
Egress Shared Buffer Pool Partitions
次の 3 つのエグレス・バッファー・プール・パーティションを構成できます。
-
ロスレス バッファー:すべてのロスレス エグレス キュー用の共有バッファー プール。ロスレス バッファーの最小値として 5% をお勧めします。
-
損失バッファ:すべてのベストエフォート エグレス キュー(ベストエフォート ユニキャスト、および絶対高優先度キュー)用の共有バッファー プール。ベストエフォート型バッファーの最小値として 5% をお勧めします。
-
マルチキャストバッファ:すべてのマルチ宛先(マルチキャスト、ブロードキャスト、および宛先検索に失敗)のegressキュー用の共有バッファプール。マルチキャスト バッファーの最小値として 5% をお勧めします。
egress ロスレス、ロスシー、およびマルチキャスト バッファー パーティションの合計パーセンテージ値は、正確に 100% である必要があります。バッファーの割合の合計が 100% を超えるか 100% 未満の場合、スイッチはコミット エラーを返します。すべてのエグレス バッファー パーティションは明示的に設定する必要があり、値は 5% 以上にする必要があります。エグレス共有バッファー パーティションを明示的に構成する場合は、3 つのエグレス バッファー パーティションすべてを明示的に構成する必要があり、各パーティションの値は少なくとも 5% である必要があります。
QFX5200-32Cは、2つ以上のダウンストリームインターフェイスパケットサイズが~6Kを超え、パケットイングレスレートが1000ppsの場合、すべてのマルチキャストストリームを複製するわけではありません。これは、QFX5200-32Cの作業フローの数がパケットサイズに間接的に比例し、使用可能なマルチキャスト共有バッファに正比例するためです。
専用ポート バッファー プールとキューへのバッファー割り当て
グローバル専用バッファー・プールは、各ポートに均等に割り当てられるメモリーであるため、各ポートは保証された最小量のバッファー・スペースを受け取ります。専用バッファーはポート間で共有されません。各ポートは、同じ割合の専用バッファー・プールを受け取ります。
トラフィックがスイッチに出入りすると、スイッチのポートは専用のバッファを使用してパケットを保存します。専用バッファがトラフィックを処理するのに十分でない場合、スイッチは共有バッファを使用します。専用バッファー・プールを増やす唯一の方法は、共用バッファー・プールをデフォルト値の使用可能な予約されていないバッファーの 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% |
エムキャスト |
8 |
20% |
20% |
デフォルト設定では、 表 2 に示す以外のエグレス キューは、専用ポート バッファの割り当てを受け取りません。
スイッチは、 CoS 階層ポート スケジューリング(ETS)について の説明および 例:CoS 階層ポート スケジューリング(ETS)の設定に示すように、階層スケジューリングを使用してポートとキューの帯域幅割り当てを制御します。エグレス キュー バッファー サイズ構成では、トラフィック制御プロファイル(キュー スケジューラ情報を含む)をポートにアタッチすると、スケジューラで構成されたキュー間で、ポートの専用出力バッファーが分割されます。
キューへの専用ポート・バッファーのデフォルトの割り振りを使用しない場合は、ポートに接続されているスケジューラーの buffer-size
オプションを使用して、キュー割り振りを構成します。キューへの専用バッファー割り当ては、次の 2 つの方法で構成できます。
-
割合:キューがスケジューラにマッピングされ、スケジューラがポートに接続されている場合、キューは指定された割合の専用ポート バッファを受信します。
-
残り:ポートが明示的なパーセンテージバッファサイズ設定されたキューにサービスを提供した後、残りの専用ポートバッファ領域は、スケジューラが接続されている他のキュー間で均等に分割されます。(キューのデフォルトまたは明示的なスケジューラーがないということは、そのキューに専用のバッファー割り当てがないことを意味します)。スケジューラを設定し、バッファ サイズをパーセンテージで指定しない場合は、 残りの 設定がデフォルト設定になります。
ポート上のすべてのキューに対して明示的に設定されたすべてのバッファサイズの割合の合計が、100% を超えることはできません。
すべての QFX5000 プラットフォームで、キューへの専用バッファー割り当てを計算する際、ソフトウェアは、分数の専用バッファー値を最も近い下限の整数に四捨五入し、この値をハードウェアでプログラムして割り当て超過を回避します。
すべての構成済みキューに専用バッファーを割り当てた後、すべての QFX5000 プラットフォームは、未使用のポート専用バッファー領域を最初に構成済みのキューに割り当てます。
Configuring Dedicated Port Buffer Allocation to Queues
複数の転送クラスセットを含み、複数の転送クラスが複数のスケジューラにマッピングされているポート設定では、ポート専用バッファーのキューへの割り当ては、明示的なパーセンテージで設定されたバッファーサイズのキューと、 remainder
オプションで設定された(またはデフォルトで設定された)キューの組み合わせに依存します。
percentage オプションと remainder オプションの使用がキューへの専用ポート バッファーの割り当てにどのように影響するかを示す最良の方法は、キュー バッファーの割り当ての例を示し、別の転送クラス(キュー)をポートに追加したときにキュー バッファーの割り当てがどのように変化するかを示すことです。
表 3 に、4 つの転送クラス セット、5 つのデフォルト転送クラス(これらの転送クラスの 5 つのデフォルト キューにマッピング)、 buffer-size
オプションの設定、およびその結果の各キューのバッファー割り当てを含む初期設定を示します。 表4 は、別の転送クラス(キュー1にマッピングされたベストエフォート-2)をベストエフォート転送クラスセットに追加した後の同じ設定を示しています。各テーブルのバッファー割り当てを比較すると、剰余と明示的なパーセンテージを使用して異なるキューのバッファー割り当てを構成するときに、別のキューを追加するとバッファー割り当てにどのように影響するかがわかります。
転送クラス セット(プライオリティ グループ) |
転送クラス |
列 |
スケジューラ バッファ サイズの設定 |
キューあたりのバッファー割り当て (パーセンテージ) |
---|---|---|---|---|
fc-set-be |
ベストエフォート |
0 |
10% |
10% |
fc-set-lossless |
FCoE |
3 |
20% |
20% |
損失なし |
4 |
40% |
40% |
|
fc-set-strict-high |
ネットワーク制御 |
7 |
剰余 |
15% |
fc-set-mcast |
エムキャスト |
8 |
剰余 |
15% |
この最初の例では、エグレス ポート専用バッファー プールの 70% が、ベストエフォート、fcoe、および損失なしキューに明示的に割り当てられています。ポート専用バッファー・プールの残りの 30% は、 remainder
オプション (ネットワーク制御および mcast) を使用する 2 つのキューに分割されるため、各キューは専用バッファー・プールの 15% を受け取ります。
次に、別の転送クラス(キュー)をベストエフォート優先度グループ(fc-set-be)に追加し、特定の割合を設定する代わりに、 残りの バッファサイズで設定します。 表 4 に示すように、3 番目のキューが残りの専用バッファーを共有するようになったため、残りを共有するキューが受け取る専用バッファーが少なくなります。パーセンテージが明示的に設定されたキューは、設定された割合の専用バッファーを受け取ります。
プライオリティ グループ(fc セット) |
転送クラス |
列 |
スケジューラ バッファ サイズの設定 |
キューあたりのバッファー割り当て (パーセンテージ) |
---|---|---|---|---|
fc-set-be |
ベストエフォート |
0 |
10% |
10% |
ベストエフォート-2 |
1 |
剰余 |
10% |
|
fc-set-lossless |
FCoE |
3 |
20% |
20% |
損失なし |
4 |
40% |
40% |
|
fc-set-strict-high |
ネットワーク制御 |
7 |
剰余 |
10% |
fc-set-mcast |
エムキャスト |
8 |
剰余 |
10% |
2 つの表は、専用バッファー領域の割合が明示的に設定されたキューを処理した後に残っている専用バッファー領域をポートがどのように分割するかを示しています。
共有バッファ領域と専用バッファ領域のトレードオフ
共有バッファー領域と専用バッファー領域のトレードオフは次のとおりです。
-
共有バッファーは、ポートがバーストを処理するために必要に応じて使用できる動的バッファーのより大きなプールがあるため、トラフィック バーストの吸収を高めます。ただし、専用バッファー領域を使い果たしたすべてのフローは、共有バッファー プールをめぐって競合します。共用バッファー・プールが大きいほど、専用バッファー・プールが小さくなり、専用バッファー割り振りを使い果たすフローが増えるため、共用バッファー・プールの競合が激しくなります。共有バッファ領域が多すぎると、単一のフローが大量の共有バッファ領域を受け取らず、多くのフローがその領域をめぐって競合する場合の公平性が維持されます。
-
専用バッファーは、各ポートに保証されたバッファー領域を提供します。専用バッファー プールが大きいほど、トラフィックがそれほど多くの共有バッファー領域を使用する必要がないため、あるポートの輻輳が別のポートのトラフィックに影響を与える可能性は低くなります。ただし、共有バッファ領域が少ないということは、トラフィックバーストを動的に吸収する能力が低いことを意味します。
バーストの吸収を最適化するには、共有バッファー空間をめぐる持続的な競合を避けるために、スイッチに十分な専用バッファー領域が必要です。共有バッファーをめぐって競合するフローが少なくなると、バーストを吸収するために共有バッファー領域を必要とするフローは、専用バッファー領域を使い果たすフローが少なくなるため、より多くの共有バッファーを受け取ります。
デフォルト構成およびさまざまなトラフィック・シナリオに推奨される構成では、専用バッファー用に予約されたスペースの量によって動的共有バッファーの永続的な競合を回避するのに十分なスペースが提供されるため、ユーザー構成可能なメモリー・スペースの 100% がグローバル共有バッファー・プールに割り振られます。これにより、共有バッファーをめぐって競合するフローが少なくなるため、競合するフローが受け取るバッファー領域が増加します。
バッファー消費の順序
合計バッファー・プールは、イングレスおよびエグレスの共有バッファー・プールと専用バッファー・プールに分割されます。トラフィックがスイッチを通過する場合、バッファ領域はトラフィックのタイプに応じた特定の順序で使用されます。
イングレスでは、バッファ消費の順序は次のとおりです。
-
ベストエフォート型ユニキャストトラフィック:
-
専用バッファー
-
共有バッファー
-
グローバル ヘッドルーム バッファー (非常に小さい)
-
-
ロスレス ユニキャスト トラフィック:
-
専用バッファー
-
共有バッファー
-
ロスレスヘッドルームバッファ
-
グローバル ヘッドルーム バッファー (非常に小さい)
-
-
マルチ宛先トラフィック:
-
専用バッファー
-
共有バッファー
-
グローバル ヘッドルーム バッファー (非常に小さい)
-
エグレスでは、バッファ消費量の順序は、ユニキャストベストエフォート、ロスレスユニキャスト、およびマルチ宛先トラフィックで同じです。
-
専用バッファー
-
共有バッファー
いずれの場合も、すべてのポートで、スイッチは最初に専用バッファー プールを使用し、ポートまたはキューの専用バッファー プールを使い切った後にのみ共有バッファー プールを使用します。これにより、トラフィック バーストを吸収するための動的共有バッファー領域の最大量が予約されます。
デフォルトのバッファー・プール値
show class-of-service shared-buffer
operational コマンドを使用して、デフォルトまたは構成済みのイングレスおよびエグレス バッファー プールの値を KB 単位で表示できます。構成された共用バッファー・プールの値は、show configuration class-of-service shared-buffer
操作コマンドを使用してパーセント単位で表示できます。
このセクションでは、既定の合計バッファー、共有バッファー、および専用バッファーの値を示します。
バッファー・プールの合計サイズ
合計バッファー・プールは、イングレス・アカウンティングとエグレス・アカウンティングが分離された共通メモリーであるため、イングレスとエグレスの両方の観点からバッファー・プール全体を使用できます。合計バッファー・プールは、専用バッファー・スペースと共有バッファー・スペースで構成されます。バッファー・プール全体のサイズはユーザーが構成できませんが、専用バッファー・プールおよび共用バッファー・プールへのバッファー・スペースの割り振りはユーザーが構成できます。
QFX3500スイッチとQFX3600スイッチでは、イングレスとエグレスのバッファープールの合計サイズは約9MB(正確には9360KB)です。
QFX5100、EX4600、OCXシリーズスイッチでは、イングレスとエグレスのバッファープールの合計サイズは約12MB(正確には12480KB)です。
QFX5110 スイッチおよび QFX5200-32C スイッチでは、イングレス・バッファー・プールとエグレス・バッファー・プールの合計サイズは約 16 MB です。
QFX5200-48Y スイッチでは、イングレス・バッファー・プールとエグレス・バッファー・プールの合計サイズは約 22 MB です。
QFX5210スイッチでは、イングレス・バッファー・プールとエグレス・バッファー・プールの合計サイズの合計は約 42 MB です。
QFX5220 スイッチでは、イングレス・バッファー・プールとエグレス・バッファー・プールの合計サイズの合計は約 64 MB です。
共用バッファー・プールのデフォルト値
一部のスイッチには、他のスイッチよりも大きな共用バッファー・プールがあります。ただし、個々のイングレス・バッファー・プールとエグレス・バッファー・プールへの共用バッファー・スペースの割り振りは、絶対値が異なっていても、パーセンテージベースで同じです。例えば、デフォルトのイングレス ロスレス バッファーは、イングレス ロスレス バッファーのデフォルトの絶対値がスイッチごとに異なっていても、すべてのスイッチの共有イングレス バッファー領域全体の 9 % です。
Shared Ingress Buffer Default Values
表 5 に、QFX5210 スイッチのデフォルトのイングレス共有バッファー割り当て値を KB 単位で示します。
合計共有イングレス バッファー |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
損失バッファ |
---|---|---|---|
29224 |
2630.16 |
13150.80 |
13443.04 |
表 6 に、QFX5200-48Y スイッチのデフォルトのイングレス共有バッファー割り当て値を KB 単位で示します。
合計共有イングレス バッファー |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
損失バッファ |
---|---|---|---|
19154.69 |
1723.92 |
8619.61 |
8811.16 |
表 7 に、QFX5110 スイッチおよび QFX5200-32C スイッチのデフォルトのイングレス共有バッファー割り当て値を KB 単位で示します。
合計共有イングレス バッファー |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
損失バッファ |
---|---|---|---|
11779.62 |
1060.17 |
5300.83 |
5418.63 |
表 8 は、QFX5100、EX4600、OCX シリーズ スイッチのデフォルトのイングレス共有バッファー割り当て値を KB 単位で示しています。
合計共有イングレス バッファー |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
損失バッファ |
---|---|---|---|
9567.19 キロバイト |
861.05 キロバイト |
4305.23 キロバイト |
4400.91 キロバイト |
表 9 に、QFX3500 スイッチと QFX3600 スイッチのデフォルトのイングレス共有バッファー割り当て値を KB 単位で示します。
合計共有イングレス バッファー |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
損失バッファ |
---|---|---|---|
7202キロバイト |
648.18 キロバイト |
3240.9 キロバイト |
3312.92 キロバイト |
表 10 に、すべてのスイッチに対するデフォルトのイングレス共有バッファー割り当て値をパーセンテージで示しています。(デフォルトの共有バッファー割り当てを変更する場合は、変更をパーセンテージで構成します)。
合計共有イングレス バッファー |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
損失バッファ |
---|---|---|---|
100% |
9% |
45% |
46% |
Shared Egress Buffer Default Values
表 11 に、QFX5210 スイッチのデフォルトの出力共有バッファー割り当て値を KB 単位で示します。
共有エグレスバッファの合計 |
ロスレスバッファ |
損失バッファ |
マルチキャスト バッファー |
---|---|---|---|
28080 |
14040 |
8704.80 |
5335.20 |
表 12 に、QFX5200-48Y スイッチのデフォルトの出力共有バッファー割り当て値を KB 単位で示します。
共有エグレスバッファの合計 |
ロスレスバッファ |
損失バッファ |
マルチキャスト バッファー |
---|---|---|---|
19115.69 |
9557.84 |
5925.86 |
3631.98 |
表 13 に、QFX5110 および QFX5200-32C スイッチのデフォルトの出力共有バッファー割り当て値を KB 単位で示します。
共有エグレスバッファの合計 |
ロスレスバッファ |
損失バッファ |
マルチキャスト バッファー |
---|---|---|---|
11232 |
5616 |
3481.92 |
2134 |
QFX5200-32Cは、2つ以上のダウンストリームインターフェイスパケットサイズが~6Kを超え、パケットイングレスレートが1000ppsの場合、すべてのマルチキャストストリームを複製するわけではありません。これは、QFX5200-32Cの作業フローの数がパケットサイズに間接的に比例し、使用可能なマルチキャスト共有バッファに正比例するためです。
表 14 に、QFX5100、EX4600、OCX シリーズ スイッチのデフォルトのエグレス共有バッファー割り当て値を KB 単位で示します。
共有エグレスバッファの合計 |
ロスレスバッファ |
損失バッファ |
マルチキャスト バッファー |
---|---|---|---|
8736キロバイト |
4368キロバイト |
2708.16 キロバイト |
1659.84 キロバイト |
表 15 に、デフォルトのエグレス共有バッファー割り当て値を KB 単位で示します。
共有エグレスバッファの合計 |
ロスレスバッファ |
損失バッファ |
マルチキャスト バッファー |
---|---|---|---|
6656キロバイト |
3328キロバイト |
2063.36 キロバイト |
1264.64 キロバイト |
表 16 は、すべてのスイッチに対するデフォルトの出力共有バッファー割り当て値をパーセンテージで示しています。
共有エグレスバッファの合計 |
ロスレスバッファ |
損失バッファ |
マルチキャスト バッファー |
---|---|---|---|
100% |
50% |
31% |
19% |
専用バッファー・プールのデフォルト値
システムは、スイッチ・ポート間で均等に分割されたイングレスおよびエグレス専用バッファー・プールを予約します。デフォルトでは、システムは使用可能な予約されていないバッファー・スペースの 100% を共用バッファー・プールに割り振ります。共用バッファー・プールに割り振られる使用可能な未予約バッファー・スペースのパーセンテージを減らすと、残りの未予約バッファー・スペースが専用バッファー・プール割り振りに追加されます。専用バッファー・プール・スペースの量を構成するには、共用バッファー・プールに割り振られるバッファー・スペースのパーセンテージを削減 (または増加) します。専用バッファー・プール割り振りを直接構成することはありません。
表 17 は、QFX5210、QFX5200、QFX5110、QFX5100、QFX3500、QFX3600、EX4600、OCX シリーズ スイッチのデフォルトのイングレスおよびエグレス専用バッファー プールの値を KB 単位で示しています。
専用バッファーの種類 |
QFX5210 |
QFX5200-48 |
QFX5110、QFX5200-32C |
QFX5100、EX4600、OCXシリーズ |
QFX3500、QFX3600 |
---|---|---|---|---|---|
イングレス |
14040 |
3373.50 |
4860.38 |
2912.81 |
2158 |
出口 |
15184 |
3412.50 |
5408 |
3744 |
2704 |
さまざまなネットワーク トラフィック シナリオでの共有バッファー構成の推奨事項
共用バッファー・プールの構成方法は、ネットワーク上のトラフィックの混合によって異なります。このセクションでは、次の 5 つの基本的なネットワーク トラフィック シナリオに対する共有バッファー構成の推奨事項について説明します。
-
バランスの取れたトラフィック:ネットワークは、ユニキャストのベストエフォート、ロスレス、マルチキャストのトラフィックのバランスのとれた組み合わせを伝送します。(これは既定の構成です)。
-
ベストエフォートのユニキャストトラフィック:ネットワークは、ほとんどがユニキャストのベストエフォートのトラフィックを伝送します。
-
イーサネット一時停止(IEEE 802.3X)を有効にしたベストエフォート型のトラフィック - ネットワークは、リンク上でイーサネットPAUSEを有効にした状態で、主にベストエフォート型のトラフィックを伝送します。
-
ベストエフォート型マルチキャスト トラフィック - ネットワークは、主にマルチキャスト ベストエフォート型トラフィックを伝送します。
-
ロスレストラフィック - ネットワークは、ほとんどがロスレストラフィック(PFC が有効になっているトラフィック)を伝送します。
ロスレス トラフィックは、PFC を有効にしてロスレス トランスポートを確保したトラフィックとして定義されます。ロスレストラフィックとは、イーサネットPAUSEを有効にしたリンク上のベストエフォートトラフィックを指すものではありません。各ネットワーク トラフィック シナリオの推奨プロファイルから開始し、ネットワーク トラフィックの状態に合わせて必要に応じて調整します。
OCXシリーズスイッチは、ロスレストランスポートまたはPFCをサポートしていません。このトピックでは、ロスレストランスポートへの言及はOCXシリーズスイッチには適用されません。OCX シリーズ スイッチは、対称イーサネットの一時停止をサポートしています。
バッファー構成の変更は、中断を伴うイベントです。バッファの再プログラミングが完了するまで、 すべての ポートでトラフィックが停止します。これには、既定の構成を推奨される構成の 1 つに変更することも含まれます。
バッファー割り当てはパーセンテージで設定するため、各ネットワーク トラフィック シナリオの推奨割り当ては、すべての QFX シリーズ スイッチ、EX4600 スイッチ、OCX シリーズ スイッチに対して有効です。ネットワーク トラフィックの状態に応じて、次のいずれかの推奨される共有バッファー構成を使用します。推奨される構成から始めて、 バッファー割り当てを微調整し、「バッファー構成の最適化」の説明に従って、必要に応じてバッファーを微調整します。
分散トラフィック(デフォルト設定)
デフォルトの共有バッファー設定は、ベストエフォート型のユニキャスト、ロスレス、およびマルチ宛先(マルチキャスト、ブロードキャスト、および宛先検索失敗)トラフィックがバランスよく混在するネットワーク向けに最適化されています。デフォルトのCoS(サービスクラス)設定も、バランスのとれたトラフィックが混在するネットワーク向けに最適化されています。
OCXシリーズスイッチはロスレストランスポートをサポートしていないため、OCXシリーズスイッチでは、デフォルトのCoS設定最適化にロスレストラフィックは含まれません。
OCX シリーズ スイッチを除き、特にデフォルトの CoS 設定を使用している場合は、トラフィックがバランスよく混在して伝送されるネットワークにデフォルトの共有バッファ設定を使用することを推奨します。 表 18 に、デフォルトのイングレス共有バッファー割り当てを示します。
合計共有イングレス バッファー |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
損失バッファ |
---|---|---|---|
100% |
9% |
45% |
46% |
表 19 に、デフォルトの出力共有バッファー割り当てを示します。
共有エグレスバッファの合計 |
ロスレスバッファ |
損失バッファ |
マルチキャスト バッファー |
---|---|---|---|
100% |
50% |
31% |
19% |
ベストエフォート型ユニキャストトラフィック
ネットワークがベストエフォート(損失の多い)ユニキャスト トラフィックの大部分を伝送する場合、デフォルトの共有バッファー構成では、ロスレス トランスポートをサポートするには割り当てるバッファー領域が多すぎます。これらのバッファを無駄にするのではなく、次のイングレス共有バッファ設定( 表 20 を参照)およびエグレス共有バッファ設定( 表 21 を参照)を使用することをお勧めします。
合計共有イングレス バッファー |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
損失バッファ |
---|---|---|---|
100% |
5% |
0% |
95% |
共有エグレスバッファの合計 |
ロスレスバッファ |
損失バッファ |
マルチキャスト バッファー |
---|---|---|---|
100% |
5% |
75% |
20% |
表 20 および表 21 に示す推奨バッファ設定の構成方法を示す例については、例:ほとんどがベストエフォート型のユニキャスト トラフィックを使用するネットワークでの共有バッファー プールの推奨設定を参照してください。
イーサネット一時停止トラフィック
ネットワークが大部分がベストエフォート(損失を伴う)トラフィックを伝送 し 、リンク上でイーサネットPAUSEを有効にしている場合、デフォルトの共有バッファ設定では、共有イングレスバッファに割り当てられるバッファスペースが多すぎて(イーサネットPAUSEトラフィックは共有バッファではなく専用バッファを使用します)、ロスレスヘッドルームバッファに十分なスペースが割り当てられません。次のイングレス共有バッファー設定( 表 22 を参照)および出力共有バッファー設定 ( 表 23 を参照) を使用することをお勧めします。
合計共有イングレス バッファー |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
損失バッファ |
---|---|---|---|
70% |
5% |
80% |
15% |
共有エグレスバッファの合計 |
ロスレスバッファ |
損失バッファ |
マルチキャスト バッファー |
---|---|---|---|
100% |
5% |
75% |
20% |
表 20 および表 21 に示す推奨バッファー設定の構成方法を示す例については、例:イーサネット一時停止が有効なリンクでほとんどがベストエフォート型のトラフィックを持つネットワークでの共有バッファー プールの推奨構成を参照してください。
ベストエフォート型マルチキャスト(マルチ宛先)トラフィック
ネットワークがベストエフォート(損失の多い)マルチキャストトラフィックの大部分を伝送する場合、デフォルトの共有バッファ設定では、ロスレストランスポートをサポートするために割り当てられるバッファ領域が多すぎます。これらのバッファを無駄にするのではなく、次のイングレス共有バッファ設定( 表 24 を参照)およびエグレス共有バッファ設定( 表 25 を参照)を使用することをお勧めします。
合計共有イングレス バッファー |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
損失バッファ |
---|---|---|---|
100% |
5% |
0% |
95% |
共有エグレスバッファの合計 |
ロスレスバッファ |
損失バッファ |
マルチキャスト バッファー |
---|---|---|---|
100% |
5% |
20% |
75% |
表 24 および表 25 に示す推奨バッファー設定の構成方法を示す例については、例: ほとんどがマルチキャスト トラフィックを使用するネットワークでの共有バッファー プールの推奨構成を参照してください。
ロスレストラフィック
ネットワークがほとんどロスレス トラフィックを伝送している場合、デフォルトの共有バッファー構成では、ベストエフォート型トラフィックをサポートするには割り当てるバッファー領域が多すぎます。これらのバッファを無駄にするのではなく、次のイングレス共有バッファ設定( 表 26 を参照)およびエグレス共有バッファ設定( 表 27 を参照)を使用することをお勧めします。
合計共有イングレス バッファー |
ロスレスバッファ |
ロスレスヘッドルームバッファ |
損失バッファ |
---|---|---|---|
100% |
15% |
80% |
5% |
共有エグレスバッファの合計 |
ロスレスバッファ |
損失バッファ |
マルチキャスト バッファー |
---|---|---|---|
100% |
90% |
5% |
5% |
表 26 および表 27 に示す推奨バッファ設定の構成方法を示す例については、例:ほとんどロスレス トラフィックを使用するネットワークでの共有バッファー プールの推奨構成を参照してください。
バッファ設定の最適化
既定の構成または推奨されるバッファー構成から開始して、ネットワーク上のトラフィックの混在を最適にサポートするためにバッファー割り当てをさらに最適化できます。設定を徐々に調整して、共有バッファーの割り当てを微調整します。共有バッファー構成を調整する際には、イングレスおよびエグレス バッファー パーティションを微調整する場合だけでなく、イングレスおよびエグレス共有バッファーの合計割合を微調整する場合にも注意が必要です。(使用可能なバッファーの 100% 未満を共有バッファーに割り当てると、残りのバッファーが専用バッファーに追加されることに注意してください)。バッファを誤って調整すると、イングレスポート輻輳などの問題が発生する可能性があります。
バッファー構成の変更は、中断を伴うイベントです。バッファの再プログラミングが完了するまで、 すべての ポートでトラフィックが停止します。
イングレスバッファープールとエグレスバッファープールのサイズの関係は、パケットがドロップされるタイミングと場所に影響します。バッファー・プール・サイズには、共用バッファーと専用バッファーが含まれます。一般に、イングレス バッファーの数がエグレス バッファーの数よりも多い場合、イングレス キューが空になる前にエグレス キューがいっぱいになるため、スイッチでイングレス ポートの輻輳が発生する可能性があります。
show class-of-service shared-buffer
操作コマンドを使用して、専用バッファー、共有バッファー、および共有バッファー区画のサイズをキロバイト (KB) 単位で確認します。
ベストエフォートトラフィック(ユニキャストとマルチ宛先)の場合、イングレスロス共有バッファパーティションとイングレス専用バッファを合わせた値は、エグレスロス共有バッファパーティションとマルチキャスト共有バッファパーティションを合わせたもの よりも小さく なければなりません。これにより、エグレスのベストエフォート バッファがイングレスのベストエフォート バッファよりも深くなり、パケットがドロップされた場合にエグレス キューでドロップされることで、イングレス ポートの輻輳を防止できます。(ingressでパケットをドロップすると、egressスケジューラは正常に動作しなくなります。)
ロスレストラフィック(PFCを有効にしたトラフィック)の場合、イングレスロスレス共有バッファパーティションとイングレスヘッドルームバッファパーティションの妥当な部分、および専用バッファを組み合わせたものは、エグレスロスレス共有バッファパーティションと専用バッファの合計 よりも小さく なければなりません。(イングレス ヘッドルーム バッファの妥当な部分は、バッファ スペースの約 20 〜 25 % ですが、これはロスレス トラフィックをサポートするために必要なバッファ ヘッドルームの量によって異なります)。これらの条件が満たされ、イングレスポート輻輳がある場合、イングレスポート輻輳はイングレスポートでPFCをトリガーし、パケットロスを防ぎます。ロスレスイングレスバッファの合計がロスレスエグレスバッファの合計を超える場合、パケットロスを防ぐために、イングレスでPFCを適用する代わりに、エグレスでパケットを破棄することができます。
スイッチに十分なリソースがないバッファ設定をコミットすると、スイッチはコミット エラーを返す代わりにエラーをログに記録することがあります。その場合、コンソールに 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 を有効にしたトラフィックにサービスを提供し、イーサネット PAUSE の対象となるトラフィックにはサービスを提供しません。
-
スイッチは、最初に専用バッファー・プールを使用し、ポートまたはキューの専用バッファー・プールを使い切った後にのみ共用バッファー・プールを使用します。
-
専用バッファー領域が少なすぎると、共有バッファー領域に対する競合が多すぎます。
-
専用バッファー領域が多すぎると、使用可能な共有バッファー領域が少なくなるため、バースト吸収が不十分になります。
-
新しいバッファ設定をコミットした後は、必ず syslog メッセージを確認してください。
-
ネットワークに最適なバッファー構成は、ネットワーク上のトラフィックの種類によって異なります。ネットワークが特定のタイプのトラフィック(ロスレストラフィックなど)を少なくする場合、そのタイプのトラフィックに割り当てられるバッファのサイズを小さくすることができます(たとえば、ロスレスおよびロスレスヘッドルームバッファのサイズを小さくすることができます)。