次世代ポートエクステンダー上のCoS
NGPEは、アグリゲーションデバイスがsatellite devicesとの相互接続を通じてインターフェイスを追加できるようにすることで、aggregation deviceで利用可能なネットワークインターフェイスの数を大幅に拡張する方法を提供します。相互接続されたアグリゲーションデバイスとサテライトデバイスというシステム全体をNGPEと呼びます。NGPEは、ネットワークトポロジーに単一のデバイスとして表示され、単一のデバイスが単一のIPアドレスから管理されることで、ネットワーク管理を簡素化します。
次の図は、小規模なNGPE導入のトポロジーの例です。カスケードポートとアップリンクポートは、aexとしてバンドルされています。サテライトの拡張ポートは、AD 上で仮想ポートとして表されます。
このトピックでは、NGPE のさまざまなタイプのポートのサービス クラス(CoS)について説明します。
NGPEの異なるタイプのポートにおけるCoSの概要
図2 は、NGPEを通過するパケットフローの概要と、CoS機能が異なるポートでどのように適用されるかを示しています。
NGPEのCoSポリシーの設定はすべて、アグリゲーションデバイスで行われます。しかし、拡張ポートに定義するCoSポリシーでは、そのポリシーの異なる部分がNGPEを介するパケットのパスの異なるポイントに適用されます。 図2より:
-
パケットが拡張ポートに入ると、サテライトデバイスの機能によるデフォルトのCoSルールが適用されます。
-
パケットは VXLAN でカプセル化され、アップリンク ポートからアグリゲーション デバイスに送信されます。サテライトデバイスのアップリンクポートのデフォルトCoSポリシーが、カプセル化されたパケットに適用されます。
-
パケットがカスケードポートでアグリゲーションデバイスに入ると、VXLANヘッダーが元のパケットから削除されます。ingress拡張ポートに定義したマルチフィールド分類子、ポリサー、または論理インターフェイスレベルのBA分類子が適用されます。
-
パケットがカスケードポートでアグリゲーションデバイスを出ると、エグレス拡張ポートに定義した書き換えルールが適用されます。その後、パケットは再びVXLANカプセル化され、パケットがカスケードポートからサテライトデバイスに移動する前に、カスケードポートに存在するスケジューラが適用されます。
注:パケットがカスケードポートでアグリゲーションデバイスを出るときのVXLANカプセル化は、ヘッダーに54バイトを追加します。これは通常、パケットが最終的に拡張ポートでサテライトデバイスから出るときに設定されたシェーピングレートを低下させます。これを補うために、Junosはシェーピングレート計算を行いながらこの54バイトをカウントし、拡張ポートで目的のシェーピングレート帯域幅が利用可能になるようにします。この追加アカウンティングにより、カスケードポートのインターフェイス速度を超えると、CoSキューの統計情報にはインターフェイスのラインレートよりも低いスループットが示されます。
例えば、拡張ポートでオーバーヘッドアカウンティングを設定する場合:
user@host# set class-of-service traffic-control-profiles tcp1 overhead-accounting ? Possible completions: bytes Byte adjust value (-120..124) cell-mode Cell mode cell-mode-bytes Overhead bytes when in cell-mode (-120..124) frame-mode Frame mode frame-mode-bytes Overhead bytes when in frame-mode (-120..124)
VXLAN カプセル化によりヘッダーに 54 バイトが追加されたため、実際の下限範囲は -120 + 54 = -66 バイトになります。
-
最後に、パケットはサテライトデバイスのアップリンクポートのingressポートでVXLANカプセル化解除されます。サテライトデバイスの機能に基づくデフォルトのCoSポリシーが適用され、パケットはサテライトデバイスの物理拡張ポートから送信されます。
次のセクションでは、NGPEの各ポートタイプにCoSを実装する方法について詳しく説明します。
拡張ポートでのユニット単位および階層的なスケジューリング
NGPEは、拡張ポートでユニット単位および階層型スケジューラをサポートします。拡張ポートでユニット単位または階層的なスケジューリングをサポートするには、その拡張ポートのアグリゲーション デバイス上のすべてのカスケード ポートにキューイング チップが必要です。
マルチホームサテライトデバイスは、ユニット単位および階層スケジューリングをサポートしていません。
拡張ポートでユニットごとのスケジューリングを有効にするには、拡張ポートの[edit interfaces interface-name]階層レベルでper-unit-schedulerオプションを有効にします。
拡張ポートで階層スケジューリングを有効にするには、拡張ポートの[edit interfaces interface-name]階層レベルでhierarchical-schedulerオプションを有効にします。
拡張ポートで階層スケジューリングを有効にする場合は、インターフェイスセットまたはVLANレベルでもスケジューラを明示的に設定する必要があります。
NGPEは、アグリゲーションデバイスとサテライトデバイスを接続するカスケードポートを、アグリゲーションを設定なしで自動的に行われる集合型イーサネットポートとして扱います。デフォルトでは、NGPEの階層CoS実装は、scaleモードのすべてのカスケードポートにスケジューラパラメーターを適用します。scaleモードでは、設定されたシェーパーがカスケードポート全体に均等に分割されるため、顧客が特定のフローのコミットレートに達する前にトラフィックのドロップが開始される可能性があります。アグリゲーション デバイス上のすべてのカスケード ポートをreplicateモードに設定することで、スケジューラ パラメータを集約されたインターフェイス メンバー リンクの各レベルにコピーし、拡張ポートのすべてのトラフィックを特定のカスケード ポートに自動的にターゲットすることができます。これを行うには、[edit chassis port-extender fpc fpc-number]階層レベルでサテライトデバイスのtarget-modeを有効にするだけです。次に例を示します。
[edit]
user@host# show chassis port-extender
fpc 100 {
target-mode;
}
target-modeを有効または無効にすると、アグリゲートデバイスでは拡張ポートが削除および再追加され、カスケードポートが再設定される一方で、サテライトデバイス上のトラフィックが中断されます。
NGPEのカスケードポート上のCoS
カスケードポートが作成されると、3つの論理インターフェイスが自動的に作成されます。
-
管理トラフィックを伝送するためのユーザー作成論理インターフェイス用のユニット 0。
-
ファブリック/データトラフィックを伝送するためのユーザー作成論理インターフェイス用のユニット16384。
-
プロトコル制御トラフィック用のユニット 32767。
ユニットごとのスケジューリングは、各論理インターフェイスで複数のキューをサポートするために、カスケードポートで自動的に有効になります。すべてのカスケードポートは、ユニット単位のスケジューリングをサポートするMPC(モジュラーポートコンセントレータ)で設定する必要があります。
たとえば、インターフェイスxe-0/0/4がカスケードポートとして設定されているとします。コマンド show interfaces xe-0/0/4 terse は、次のような出力を生成します。
user@agg-device# show interfaces et-0/0/4 terse Interface Admin Link Proto Local Remote et-0/0/4 up up et-0/0/4.0 up up aenet --> ae4001.0 et-0/0/4.16384 up up aenet --> ae4001.16384 et-0/0/4.32767 up up aenet --> ae4001.32767
制御論理インターフェイス(ユニット0)には、論理インターフェイスの50Mbpsの帯域幅、10%のシェーピングレート、デフォルトのスケジューリングポリシーを保証する内部トラフィック制御プロファイル(__cp_control_tc_prof)が自動的に割り当てられます。デフォルトのスケジューリングポリシーが、データ論理インターフェイスに適用されます。次に例を示します。
user@agg-device# show class-of-service interface et-0/0/4 Physical interface: et-0/0/4, Index: 329 Maximum usable queues: 8, Queues in use: 4 Exclude aggregate overhead bytes: disabled Logical interface aggregate statistics: disabled Scheduler map: <default>, Index: 2 Congestion-notification: Disabled Logical interface: et-0/0/4.0, Index: 391 Object Name Type Index Traffic-control-profile __cp_control_tc_prof Output 17228 Classifier ipprec-compatibility ip 13 Logical interface: et-0/0/4.16384, Index: 392 Object Name Type Index Traffic-control-profile __cp_data_tc_prof Output 50776 Classifier ipprec-compatibility ip 13 Logical interface: et-0/0/4.32767, Index: 393 Object Name Type Index Traffic-control-profile __control_tc_prof Output 45866
そして:
user@agg-device# show class-of-service scheduler-hierarchy interface et-0/0/4
Interface/ Shaping Guaranteed Guaranteed/ Queue Excess
Resource name rate rate Excess weight weight
kbits kbits priority high/low
et-0/0/4 100000000
best-effort 100000000 95000000 GL EL 95
network-control 100000000 5000000 GL EL 5
et-0/0/4.0 1000000 50000 2 2
best-effort 1000000 47500 GL EL 95
network-control 1000000 2500 GL EL 5
et-0/0/4.16384 100000000 9950000 500 500
best-effort 100000000 9452500 GL EL 95
network-control 100000000 497500 GL EL 5
et-0/0/4.32767 100000000 2000 1 1
best-effort 100000000 1900 GL EL 95
network-control 100000000 100 GL EL 5
50Mbpsの帯域幅は、管理論理インターフェイス、ユニット0用に予約されています。2Mbpsの帯域幅は、ユニット32767のプロトコル制御トラフィック用に予約されています。残りの帯域幅は、データ論理インターフェイス、インターフェイス 16384 で使用できます。
デフォルトのスケジューリングポリシーが、データ論理インターフェイスに適用されます。これにより、利用可能な帯域幅とバッファー領域の 95% がベスト エフォート転送クラス(キュー 0 にマッピング)に、5% がネットワーク制御転送クラス(キュー 3 にマッピング)に確保されます。
カスケードポートでのお客様のCoS設定はお勧めしません。