ACX シリーズ ルーター上の PPP および MLPPP インターフェイスの CoS
Junos CoSを使用すると、トラフィックをクラスに分割し、輻輳発生時にさまざまなレベルのスループットとパケットロスを提供できます。この機能により、設定したルールに従ってパケットロスを発生させます。Junos CoS 機能は、ベストエフォート型のトラフィック配信が不十分な場合に、差別化されたサービスを提供するために使用できる一連のメカニズムを提供します。
COS機能は、PPPおよびMLPPPインターフェイスでサポートされています。PPPおよびMLPPPパケットの論理インターフェイスごとに、最大4つの転送クラスと4つのキューがサポートされています。
PPPおよびMLPPPインターフェイスのCoSは、ACX5048およびACX5096ルーターでは適用されません。
Junos OS CoS機能は、ベストエフォート型のトラフィック配信が不十分な場合に、差別化されたサービスを提供するために使用できる一連のメカニズムを提供します。CoS アプリケーションの設計では、サービス ニーズを慎重に検討し、CoS ドメイン内のすべてのルーティング デバイスの一貫性を確保するために、CoS 設定を徹底的に計画および設計する必要があります。また、すべての機器間の相互運用性を確保するために、CoSドメイン内のすべてのルーティングデバイスやその他のネットワーク機器も考慮する必要があります。
PPP および MLPPP インターフェイスの CoS に共通する制限
ACXシリーズルーターのPPPおよびMLPPPインターフェイスでのCoS設定には、以下の制限が適用されます。
PPPカプセル化されたインターフェイスでは、IPv4、インターネットプロトコル制御プロトコル(IPCP)、PPPチャレンジハンドシェイク認証プロトコル(CHAP)、およびPAP(パスワード認証プロトコル)アプリケーションをサポートするようにインターフェイスを設定できます。
リンク サービスまたはマルチリンク バンドル内のメンバー リンクによってドロップされたパケットの回復方法を定義するドロップ タイムアウトは、ACX ルーターには適用できません。
CoS設定変更時にトラフィックの損失が発生します。スケジューリング属性を瞬時に変更することはできません。リンクは PPP のダウン状態に移動し、プロトコルは MLPPP インターフェイスでは down と示されます。
スケジューリングとシェーピング機能はCIR-EIRモデルに基づくものであり、計量フェアキューイングモードに準拠していません。最小送信速度は 32 Kbps で、送信レートとシェーピング レートの間でサポートできる最小差も 32 Kbps です。
バッファー サイズは、平均パケット サイズとして 256 バイトを使用するパケットの観点から計算されます。例えば、TI インターフェースに 10% のバッファー・サイズを設定した場合、1.536 Mbps * (10/100) * (0.1 sec) = 15360 ビットとして割り当てられたバッファー。以下の式は、設定されたキュー長を計算します。
設定されたキュー長 = バッファー/平均パケット サイズ = (15360/256)/8 = 7.5 = 8 パケット。
共有バッファーがないため、「バッファー・サイズ」属性と「バッファー・サイズの正確な」属性を使用すると、同じ動作になります。
損失の優先度レベル(低と高)は 2 つだけサポートされます。中優先度のパケット転送エンジンから到着するトラフィックは、優先度の高いトラフィックとして扱われます。ファイアウォール条件のアクションを設定する場合、中高損失優先度タイプを設定することはできますが、システムでは高優先度トラフィックと見なされます。
次のように転送クラスとキュー番号間の固定された組み込みマッピングが実行されます。ベストエフォート型はキュー 0、優先転送はキュー 1、アシュアランス転送はキュー 2、ネットワーク制御はキュー 3
WRED 設定では、最大フィル レベルと最小フィル レベルの違いは、パケット数(x^2)の観点から 2 のパワーまで上昇した数です。それ以外の場合は、下位のフィルレベルが調整され、差分が 2 のパワーまで引き上げられた値になります。例えば、キューには 64 パケットのサイズが含まれています。以下の設定が実行された場合:
fill-level 50 drop-probability 0; fill-level 100 drop-probability 100;
下位のフィル レベルでは、パケットの最小数は 32 です。ただし、塗りつぶしレベルを 50 ではなく 45 に指定すると、下の塗りつぶしレベルは 28 になります。64 ~ 28(36 と等しい値)は 2 の電力ではないため、下位のフィルレベルは内部的に調整され、指数関数的に 2 に引き上げられた数値に変換されます。
フラグメント化マップが設定されている場合、マルチクラス0トラフィックを伝送する転送クラスには最高優先度を、マルチクラス3トラフィックを伝送する転送クラスには最低優先度を割り当てる必要があります。このような構成は、NPU 設計のために必要です。
PPPインターフェイスにおけるCoSの制限
ACXシリーズルーターのPPPインターフェイスでCoSを設定する場合、以下の制限が適用されます。
同じ優先度を含む 2 つ以上のキュー間の余剰レートは、先着順で行われます。例えば、以下のように設定された 2 つのキューを考えてみましょう。
Q1 : 送信レート = 10%、 シェーピングレート = 20%
Q2 : 送信レート = 10%、シェーピングレート = 30%
第1四半期の超過率 = (20 - 10) = 10%
第2四半期の超過率 = (30 - 10) = 20%
第 1 四半期と第 2 四半期の余剰レート分布は同じ比率に従いませんが、これらのキュー内のパケットは先着順で提供されます。このようなシナリオでは、シェーピング レートが表彰され続けます。
PPP および MLPPP インターフェイスで CoS を設定するためのガイドライン
PPP および MLPPP インターフェイスで CoS を設定する場合、以下の点に留意してください。
階層レベルで
[edit class-of-service schedulers scheduler-name drop-profile-map]
ステートメントを使用して任意のprotocol
オプションのみを設定して、指定されたスケジューラのプロトコルタイプを指定できます。TCP または TCP 以外のプロトコル タイプを指定することはできません。端数 T1 および E1 インターフェイスの CoS 機能はサポートされていません。CoSは、完全なT1およびE1インターフェイスでのみサポートされています。
WFQ(Weighted Fair Queuing)シェーピングおよびスケジューリング モデルはサポートされていません。WFQ の代わりに CIR-EIR モデルがサポートされ、シェーピングとスケジューリングの要件に対応します。
パーセンテージベースのレート設定は、MLPPP LSQインターフェイスではサポートされていません。bpsでの絶対レート設定のみがサポートされています。
T1/E1 リンクの追加または削除によるシェーピングとスケジューリング レートの自動調整はサポートされていません。ACXルーターのCoSに適用されるすべての制限は、PPPインターフェイスに適用されます。
ギガビット イーサネット インターフェイスの ACX ルーターに関するすべてのポリサーの制限は、PPP インターフェイスで有効です。この制限には、イングレスポリサーとエグレスポリサーが含まれます。これらの制限はシャーシ全体であるため、PPPインターフェイスにも有効です。
inet アドレス ファミリーを持つ MLPPP インターフェイスに指定されたすべての有効な設定は、MPLS アドレス ファミリーを持つ MLPPP インターフェイスでも有効です。例えば、グローバル分類子としての EXP 分類子はイングレス分類でサポートされ、EXP 書き換えルールはエグレス論理インターフェイスでサポートされています。
PPPカプセル化は、ACX1000、ACX2000、ACX2100、ACX4000ルーターでサポートされています。
ACX ルーターでは、最大 1000 個の論理インターフェイスをサポートできます。
最大 280 個の PPP または MLPPP 論理インターフェイスは、システム上のドロッププロファイルをサポートできます。各 MIC では、最大 140 個の PPP または MLPPP インターフェイスがサポートされています。
MLPPP インターフェイスにおける CoS の制限事項
ACX シリーズ ルーターの MLPPP インターフェイスで CoS を設定する場合は、以下の制限が適用されます。
スケジュール パラメータとシェーピング パラメータのパーセンテージベースの設定はサポートされていません。絶対レート設定のみがサポートされます。その結果、T1/E1 リンクを追加または削除しても、シェーピングとスケジューリングの設定を動的かつ迅速に再調整することはできません。
バッファー サイズは、単一の T1 または E1 リンク速度で計算されます。したがって、一時的な値(マイクロ秒単位)は、バッファー サイズの大きい値に対するバッファー サイズの計算に使用されます。一時的な設定では、キューイング アルゴリズムは計算されたバイト数を超えるキューに入れるとパケットのドロップを開始します。この最大値は、キューの伝送速度に設定された一時的な値を乗算して計算されます。デフォルトのキュー サイズとパーセンテージベースのキュー サイズは、現在の帯域幅に基づくものではありません。
フラグメンテーション マップを使用せずにスケジューラ マップを構成した場合、デフォルト設定を含むスケジューラ マップ構成は、正確な伝送速度機能と同じ動作を適用します。トラフィックの優先度を守らず、超過率も提供されません。レート設定がない転送クラスは、割り当てられた最小固定レート(32 Kbps)を受信します。
オーバーサブスクリプションと優先度のサポートが利用できないので、帯域幅の使用率が非効率的になる可能性があります。例えば、ベストエフォート型キューに、16*T1*(.95)の送信レートの完全一致値を設定したデフォルトのスケジューラ マップを考えてみましょう。
ネットワーク制御キューは、正確な16*T1*(0.05)送信レートに等しいレートで設定されています。このようなシナリオでは、単一の T1 リンクを持つ MLPPP バンドルに対して、以下の動作が見られます。
ベストエフォート型のトラフィックとして到着するトラフィックは、他のキューにトラフィックが配布されない場合、完全な帯域幅容量で提供されます。唯一のネットワーク制御キューに到着するトラフィックは、他のキューにトラフィックが存在しなくても、1.2288 Mbps の帯域幅に制限されます。ベストエフォート型キューとネットワーク制御キューの両方にトラフィックが到着すると、両方のキューが最小保証レート内にあるため、両方のキューで均等なトラフィック分割が行われます。ベストエフォートおよびネットワーク制御以外のキューは、正確な送信帯域幅の 32 Kbps を受信します。
ベストエフォートおよびネットワーク制御以外のキューには、正確な送信帯域幅の 32 Kbps が割り当てられます。
デフォルトのスケジューラ マップと、2 つの T1 リンクを持つ MLPPP バンドルの別の例を考えてみましょう。このようなシナリオでは、2 つの T1 リンクを持つ MLPPP バンドルに対して、以下の動作が観察されます。
ベストエフォート型キューにのみ到着するトラフィックは、他のキューにトラフィックがない場合、帯域幅容量全体を取得します。ネットワーク制御キューにのみ到着するトラフィックは、トラフィックが他のキューを通過していない場合でも、1.2288 Mbps に制限されます。トラフィックが両方のキューに到着すると、ネットワーク制御キューでは 1.2288 Mbps、ベストエフォート型キューでは 1.843200 Mbps とマークされます。
16個のT1リンクを含むMLPPPバンドルを含むデフォルトのスケジューラマップでは、ベストエフォート型トラフィックとして到着するトラフィックは、他のキューにトラフィックがない場合(0.95 * 16 * T1)容量と同じ帯域幅を受信します。他のキュー上のトラフィックが観察されない場合でも、ネットワーク制御トラフィックとして到着するトラフィックは 1.2288 Mbps に制限されます。両方のキューにトラフィックが到着すると、ネットワーク制御には 1.2288 Mbps、ベストエフォート型キューには(0.95 * 16 * T1)Mbps というタグが付けられます。フラグメンテーションマップでスケジューラマップを設定した場合、同じ優先度で設定された2つ以上のクラスは、それらに対して提供される送信レートのみを受信し、正確な送信レート機能に定義されたトラフィックとして機能します。
同じ優先度の 2 つのマルチクラス間のオーバーサブスクリプションのサポートは提供されません。マルチクラスエントリーがないキューは、無効な状態に移動されます。転送クラスとマルチクラス間の 1 対 1 マッピングのみがサポートされます。1 つの転送クラスは、1 つのマルチクラスにのみ対応するトラフィックを送信できます。
PPP インターフェイス上の IPv4 の CoS 機能
IPv4トラフィックのPPPインターフェイスでは、以下のCoS機能がサポートされています。
イングレス分類は、固定分類子または BA(動作集約)分類子として指定できます。固定分類子は、インターフェイス上のすべてのトラフィックを転送クラスにマッピングします。転送クラスは、出力キューを決定します。固定の分類子を設定するには、 階層レベルに
forwarding-class class-name
ステートメントを[edit class-of-service interface interface-name unit logical-unit-number]
含めます。BA 分類(CoS 値のトラフィック分類)は、CoS 設定を使用して IP パケット ヘッダーの CoS 値に基づいてパケットの転送クラスを設定するパケット分類の方法を指します。BA 分類の目的で検査される CoS 値は、DSCP(差別化サービス コード ポイント)値、IP 優先度値、または EXP ビットです。デフォルトの分類子は、IP優先度値に基づいています。
グローバル EXP 分類子を設定するには、 階層レベルで以下のステートメントを [edit class-of-service system-defaults] 含めます。
[edit class-of-service] { system-defaults { classifiers exp classifier-name } }
CoSは、以下の例に示すように、EXPタイプの1つのグローバルシステムデフォルト分類子をサポートしています。
[edit class-of-service] { system-defaults { classifiers { exp exp-classf-core; } } }
イングレス方向の論理インターフェイスで受信したすべてのパケットは、固定分類を使用して単一の転送クラスに分類できます。
以下のパケット フィールドに基づいた BA 分類は、論理インターフェイス レベルでサポートされています。
IPv4 - inet-precedence
Dscp
BA 分類子を定義するための設定スタンザを次に示します。
[edit class-of-service] classifiers { (inet-precedence|dscp ) classifier-name { forwarding-class class-name loss-priority [low | high] code-points ([ aliases ] | [ dscp-bits ]); }
キューイングおよびスケジューリング機能は、以下のパラメーターで構成されています。
キュー当たりの送信レート
キュー当たりのシェーピング レート
Wred
転送クラス。PPPインターフェイスには最大4つの転送クラスを定義できます。
論理インターフェイスレベル キューイングでサポートされる 4 つの優先度は、ストリクトハイ、中高、中低、低の 4 つです。CIR(キューごとの送信レート)は、各キューに対して指定できる最小コミットレートです。キューごとのシェーピング レート(PIR)は、各キューに対して最大送信レートを指定できます。WRED の場合、デフォルトの動作はテール ドロップを有効にすることです。ドロッププロファイル設定は WRED を有効にし、入力するドロップ優先度に基づいてさまざまなドロップ動作を有効にします。損失の優先度設定は、混雑している間にネットワークからドロップするパケットを決定するのに役立ちます。ソフトウェアは、低および高の複数のパケット損失優先度(PLP)指定をサポートしています。
バッファーサイズは、パーセンテージと時間構成で特定できます。このサイズはキューあたりのパケット数に変換され、256 バイトが平均パケット サイズとして処理されます。キューレベルで以下の設定を行うことができます。
保証送信レート(CIR)
シェーピング レート(PIR)
ドロップ プロファイル
バッファー サイズ
[edit class-of-service] schedulers scheduler_name { transmit-rate (percent number | rate); shaping-rate (percent number | rate); buffer-size (percent | temporal) drop-profile-map map_name; }
転送クラス x 4、論理インターフェイス当たり 4 キューのみサポートされます。また、論理インターフェイスベースシェーピングはサポートされていません。
送信およびドロップされたパケットのパケットカウンターとバイトカウンターは、キューごとに利用可能です。これらの統計詳細は、 show interfaces queue コマンドを使用して表示されます。ポートレベルの統計を提供するアグリゲーションも、必要に応じてシステムでサポートされます。論理インターフェイスレベルの統計情報は、エグレス方向で正しく利用可能で、出力に表示されますが、パケットのドロップに関する統計は、ハードウェアの制限のため考慮されません。以下の設定スタンザは、書き換えルールを定義します。
[edit class-of-service] rewrite-rules { (inet-precedence | dscp | exp) rewrite-name { forwarding-class class-name loss-priority [low | high] code-point value; } }
各書き換えルールは、以下の設定構文を使用してインターフェイスにアタッチできます。
[edit class-of-service interfaces interface-name]
rewrite-rules { dscp (rewrite-name | default) protocol (inet-both | inet-outer | mpls); exp (rewrite-name | default) protocol protocol-types; inet-precedence (rewrite-name | default) protocol (inet-both | inet-outer | mpls); }
ACXルーターでサポートされるすべてのファイアウォール機能は、IPv4パケットのPPPインターフェイスに適用されます。
書き換えルールの場合、IPv4 または inet の優先度と EXP ルールがサポートされます。EXP 書き換えルールは、論理インターフェイスにのみ適用されます。物理インターフェイスに EXP 書き換えルールを適用することはできません。デフォルトの EXP 書き換えルールはありません。MPLS パケットの EXP 値を書き換えたい場合は、EXP 書き換えルールを設定し、論理インターフェイスに適用する必要があります。書き換えルールが適用されていない場合、プッシュされるすべてのMPLSラベルの値はゼロ(0)になります。スワップされた MPLS ラベルでは、EXP 値は変更されません。
MLPPP インターフェイス上の IPv4 の CoS 機能
IPv4 トラフィックの MLPPP インターフェイスでは、以下の CoS 機能がサポートされています。
イングレス分類は、固定または BA 分類子として指定できます。
転送クラスを使用した固定分類と、IPv4 優先度値を使用した BA 分類がサポートされています。
次のスケジューリングおよびキューイングプロパティがサポートされています。
キュー当たりの送信レート
キュー当たりのシェーピング レート
Wred
転送クラス
キュー当たりのバッファー サイズ
マルチリンククラスへの転送クラスマッピング。ステートメントを
multilink-class
使用して、転送クラスをマルチクラス MLPPP(MCML)にマッピングします。ACX ルーターでサポートされるすべてのファイアウォール機能は、IPv4 パケットの MLPPP インターフェイスに適用されます。
書き換えルールの場合、IPv4優先ルールがサポートされています。
MPLS パケットの MLPPP インターフェイスでは、以下の CoS 機能がサポートされています。
イングレス分類は、固定または BA 分類子として指定できます。転送クラスを使用した固定分類と EXP ビットを使用した BA 分類がサポートされています。
次のスケジューリングおよびキューイングプロパティがサポートされています。
キュー当たりの送信レート
キュー当たりのシェーピング レート
Wred
転送クラス
キュー当たりのバッファー サイズ
マルチリンククラスへの転送クラスマッピング。ステートメントを
multilink-class
使用して、転送クラスをマルチクラス MLPPP(MCML)にマッピングします。ACX ルーターでサポートされるすべてのファイアウォール機能は、IPv4 パケットの MLPPP インターフェイスに適用されます。
書き換えルールの場合、EXP ルールがサポートされています。
以下の例は、MLPPP CoS 設定セットを示しています。
[edit] class-of-service { classifiers { inet-precedence all-traffic-inet { forwarding-class assured-forwarding { loss-priority low code-points 101; } forwarding-class expedited-forwarding { loss-priority low code-points 000; } } } drop-profiles { plp-low-red { fill-level 50 drop-probability 0; fill-level 100 drop-probability 100; } plp-high-red { fill-level 25 drop-probability 0; fill-level 50 drop-probability 100; } } forwarding-classes { queue 0 best-effort; queue 1 assured-forwarding; queue 2 expedited-forwarding; queue 3 network-control; } schedulers { evdo-mlppp-best-effort { transmit-rate 1M; buffer-size percent 80; priority medium-high; } evdo-mlppp-assured-forwarding { transmit-rate 500000; buffer-size percent 10; drop-profile-map loss-priority low protocol any drop-profile plp-low-red; drop-profile-map loss-priority high protocol any drop-profile plp-high-red; priority medium-low; } evdo-mlppp-expedited-forwarding { transmit-rate 300000; buffer-size percent 5; priority low; } evdo-mlppp-network-control { transmit-rate 200000; buffer-size percent 5; priority strict-high; } } scheduler-maps { evdo-mlppp-cos-map { forwarding-class best-effort scheduler evdo-mlppp-best-effort; forwarding-class assured-forwarding scheduler evdo-mlppp-assured-forwarding; forwarding-class network-control scheduler evdo-mlppp-network-control; forwarding-class expedited-forwarding scheduler evdo-mlppp-expedited-forwarding; } } fragmentation-maps { frag-mlppp { forwarding-class { assured-forwarding { multilink-class 2; } expedited-forwarding { multilink-class 3; } best-effort { multilink-class 1; } network-control { multilink-class 0; } } } } interfaces { lsq-0/* { unit * { scheduler-map evdo-mlppp-cos-map; fragmentation-map frag-mlppp; } } }
ACXシリーズルーターでは、転送クラスとキューマッピングはPPPおよびMLPPPインターフェイスで固定されています。
以下の例は、MLPPP ファイアウォール設定セットを示しています。
[edit] firewall { filter classify-evdo-traffic-mlppp { interface-specific; term signalling { from { dscp ef; } then { count signalling-counter; forwarding-class network-control; accept; } } term user-speech { from { dscp af31; } then { policer user-speech-rate-limit; count user-speech-counter; forwarding-class network-control; accept; } } term ptt-mcs { from { dscp af11; } then { count ptt-mcs-counter; forwarding-class network-control; accept; } } term user-video { from { dscp af21; } then { count user-video-counter; loss-priority low; forwarding-class assured-forwarding; accept; } } term user-cmcs { from { dscp af12; } then { count user-cmcs-counter; loss-priority low; forwarding-class assured-forwarding; accept; } } term ran-rlp-retransmission { from { dscp af41; } then { count rlp-retransmit-counter; loss-priority high; forwarding-class assured-forwarding; accept; } } term user-best-effort { then { count user-be-counter; forwarding-class best-effort; accept; } } } }