例:PTX シリーズ ルーターでの絶対優先スケジューリングの設定
この例では、PTX シリーズ ルーター上の物理インターフェイスに 絶対優先スケジューリング を設定する方法を示します。
要件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
1つのPTXシリーズパケットトランスポートルーター
入力パケットを提供し、出力パケットを受信する1つ以上のルーター
Junos OS リリース 13.3 以降
概要
この例では、キューの処理を絶対優先順に実行するために、PTX シリーズ ルーター上の物理インターフェイスに絶対優先スケジューリングを設定する方法を示します。保証されたリージョンの優先度が同じキューは、ラウンドロビン方式で処理されます。余剰領域のキューは、WRR アルゴリズムに基づいて処理されます。
絶対優先スケジューリングを設定する場合、次のガイドラインを使用します。
パケットはキューの優先度順に処理されるため、設定
transmit-rate
されたキュー ドレイン レートには影響しません。階層レベルでは、優先度を持つ
strict-high
キューを[edit class-of-service schedulers scheduler-name priority]
1 つだけ設定できます。階層レベルでは、 と 優先度の
strict-high
両方transmit-rate exact
を[edit class-of-service schedulers scheduler-name]
設定することはできません。出力トラフィック制御プロファイルを設定
scheduler-map
するインターフェイスでは、またはshaping-rate
を設定できません。キューに優先度を設定
low
できないtransmit-rate
か、コミットが失敗します。
絶対優先優先キューが常にトラフィック容量の 100% にロードされている場合、他のキューは不足します。キューの飢えにより、インターフェイス ハードウェアが重大な割り込みを生成する可能性があります。
トポロジ
図1では、PTXシリーズルーターには、ルーターA、et-1/1/15、et-1/1/12からの入力と、ルーターB、et-7/1/12への出力があります。この例では、2つのイングレスインターフェイスで分類を設定し、エグレスインターフェイスで厳密優先スケジューリングを設定します。
構成
絶対優先スケジューリングの設定
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に合わせて必要な詳細を変更してから、 階層レベルの CLI にコマンドを [edit]
コピー アンド ペーストします。
set class-of-service classifiers dscp cls forwarding-class be loss-priority high code-points 000000 set class-of-service classifiers dscp cls forwarding-class ef loss-priority medium-high code-points 000001 set class-of-service classifiers dscp cls forwarding-class af loss-priority medium-low code-points 000010 set class-of-service classifiers dscp cls forwarding-class nc loss-priority low code-points 000011 set class-of-service classifiers dscp cls forwarding-class af11 loss-priority low code-points 000100 set class-of-service classifiers dscp cls forwarding-class af12 loss-priority low code-points 000101 set class-of-service classifiers dscp cls forwarding-class af13 loss-priority low code-points 000110 set class-of-service classifiers dscp cls forwarding-class nc2 loss-priority low code-points 000111 set class-of-service forwarding-classes queue 0 be set class-of-service forwarding-classes queue 1 ef set class-of-service forwarding-classes queue 2 af set class-of-service forwarding-classes queue 3 nc set class-of-service forwarding-classes queue 4 af11 set class-of-service forwarding-classes queue 5 af12 set class-of-service forwarding-classes queue 6 af13 set class-of-service forwarding-classes queue 7 nc2 set class-of-service traffic-control-profiles tcp1 scheduler-map sch0 set class-of-service traffic-control-profiles tcp1 strict-priority-scheduler set class-of-service interfaces et-1/1/12 unit 0 classifiers dscp cls set class-of-service interfaces et-1/1/15 unit 0 classifiers dscp cls set class-of-service interfaces et-7/1/12 output-traffic-control-profile tcp1 set class-of-service scheduler-maps sch0 forwarding-class be scheduler be_sch set class-of-service scheduler-maps sch0 forwarding-class ef scheduler ef_sch set class-of-service scheduler-maps sch0 forwarding-class af scheduler af_sch set class-of-service scheduler-maps sch0 forwarding-class nc scheduler nc_sch set class-of-service scheduler-maps sch0 forwarding-class af11 scheduler af11_sch set class-of-service scheduler-maps sch0 forwarding-class af12 scheduler af12_sch set class-of-service scheduler-maps sch0 forwarding-class af13 scheduler af13_sch set class-of-service scheduler-maps sch0 forwarding-class nc2 scheduler nc2_sch set class-of-service schedulers be_sch transmit-rate percent 60 set class-of-service schedulers be_sch priority high set class-of-service schedulers ef_sch transmit-rate percent 5 set class-of-service schedulers ef_sch priority medium-high set class-of-service schedulers af_sch transmit-rate percent 5 set class-of-service schedulers af_sch priority high set class-of-service schedulers nc_sch transmit-rate percent 5 set class-of-service schedulers nc_sch priority strict-high set class-of-service schedulers af11_sch transmit-rate percent 5 set class-of-service schedulers af11_sch priority high set class-of-service schedulers af12_sch transmit-rate percent 5 set class-of-service schedulers af12_sch priority medium-high set class-of-service schedulers af13_sch transmit-rate percent 5 set class-of-service schedulers af13_sch priority medium-low set class-of-service schedulers nc2_sch priority low
手順
この例では、8 つの DSCP 分類子設定に基づいて 8 つのスケジューラが設定されています。関連する各スケジューラには、優先度と送信レートが割り当てられますが、送信レートは絶対優先スケジューラによって無視されます。スケジューラ マップ sch0 は、スケジューラーへの転送クラスのマッピングで構成されます。トラフィック制御プロファイルtcp1内では、スケジューラマップと優先スケジューラ機能が設定されています。PTX シリーズ ルーター上の 2 つの入力インターフェイス(et-1/1/12 および et-1/1/15)は、DSCP 分類子で設定されます。et-7/1/12の出力トラフィック制御プロファイルは、トラフィック制御プロファイルtcp1で設定されています。
次の例では、設定階層内のさまざまなレベルに移動する必要があります。その方法の詳細については、 CLIユーザーガイドの設定モードでのCLIエディターの使用を参照してください。
絶対優先スケジューリングを設定するには:
DSCP転送クラスを設定します。
[edit class-of-service dscp cls] user@host# set forwarding-class be loss-priority high code-points 000000 user@host# set forwarding-class ef loss-priority medium-high code-points 000001 user@host# set forwarding-class af loss-priority medium-low code-points 000010 user@host# set forwarding-class nc loss-priority low code-points 000011 user@host# set forwarding-class af11 loss-priority low code-points 000100 user@host# set forwarding-class af12 loss-priority low code-points 000101 user@host# set forwarding-class af13 loss-priority low code-points 000110 user@host# set forwarding-class nc2 loss-priority low code-points 000111
転送クラスへのキューのマッピングを設定します。
[edit class-of-service forwarding-classes] user@host# set queue 0 be user@host# set queue 1 ef user@host# set queue 2 af user@host# set queue 3 nc user@host# set queue 4 af11 user@host# set queue 5 af12 user@host# set queue 6 af13 user@host# set queue 7 nc2
各スケジューラの送信レートと優先度を設定します。
送信レートは設定できますが、設定した値は絶対優先スケジューラによって上書きされます。
[edit class-of-service] user@host# set schedulers be_sch transmit-rate percent 60 user@host# set schedulers be_sch priority high user@host# set schedulers ef_sch transmit-rate percent 5 user@host# set schedulers ef_sch priority medium-high user@host# set schedulers af_sch transmit-rate percent 5 user@host# set schedulers af_sch priority high user@host# set schedulers nc_sch transmit-rate percent 5 user@host# set schedulers nc_sch priority strict-high user@host# set schedulers af11_sch transmit-rate percent 5 user@host# set schedulers af11_sch priority high user@host# set schedulers af12_sch transmit-rate percent 5 user@host# set schedulers af12_sch priority medium-high user@host# set schedulers af13_sch transmit-rate percent 5 user@host# set schedulers af13_sch priority medium-low user@host# set schedulers nc2_sch priority low
スケジューラー・マップを、スケジューラーへの転送クラスのマッピングで構成します。
[edit class-of-service scheduler-maps sch0] user@host# set forwarding-class be scheduler be_sch user@host# set forwarding-class ef scheduler ef_sch user@host# set forwarding-class af scheduler af_sch user@host# set forwarding-class nc scheduler nc_sch user@host# set forwarding-class af11 scheduler af11_sch user@host# set forwarding-class af12 scheduler af12_sch user@host# set forwarding-class af13 scheduler af13_sch user@host# set forwarding-class nc2 scheduler nc2_sch
絶対優先スケジューリングを実行するようにトラフィック制御プロファイルを設定し、使用するスケジューラ マップを定義します。
[edit class-of-service traffic-control-profiles tcp1] user@host# set scheduler-map sch0 user@host# set strict-priority-scheduler
入力インターフェイスに分類子を、出力インターフェイスにトラフィック制御プロファイルを適用します。
[edit class-of-service interfaces] user@host# set et-1/1/12 unit 0 classifiers dscp cls user@host# set et-1/1/15 unit 0 classifiers dscp cls user@host# set et-7/1/12 output-traffic-control-profile tcp1
結果
設定モードから、 コマンドを入力して設定を show class-of-service
確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit] user@host# show class-of-service forwarding-classes { queue 0 be; queue 1 ef; queue 2 af; queue 3 nc; queue 4 af11; queue 5 af12; queue 6 af13; queue 7 nc2; } interfaces { et-1/1/12 { unit 0 { classifiers { dscp cls; } } } et-1/1/15 { unit 0 { classifiers { dscp cls; } } } et-7/1/12 { output-traffic-control-profile tcp1; } } scheduler-maps { sch0 { forwarding-class be scheduler be_sch; forwarding-class ef scheduler ef_sch; forwarding-class af scheduler af_sch; forwarding-class nc scheduler nc_sch; forwarding-class af11 scheduler af11_sch; forwarding-class af12 scheduler af12_sch; forwarding-class af13 scheduler af13_sch; forwarding-class nc2 scheduler nc2_sch; } } schedulers { be_sch { transmit-rate percent 60; priority high; } ef_sch { transmit-rate percent 5; priority medium-high; } af_sch { transmit-rate percent 5; priority high; } nc_sch { transmit-rate percent 5; priority strict-high; } af11_sch { transmit-rate percent 5; priority high; } af12_sch { transmit-rate percent 5; priority medium-high; } af13_sch { transmit-rate percent 5; priority medium-low; } nc2_sch { priority low; } } traffic-control-profiles { tcp1 { scheduler-map sch0; strict-priority-scheduler; } }
検証
絶対優先スケジューリングの検証
目的
絶対優先スケジューリング設定によって期待した結果が得られたことを確認します。
アクション
動作モードから、 コマンドを show interfaces queue interface-name interface-name
入力し、確認する出力物理インターフェイスを選択します。
user@host> show interfaces queue interface-name et-7/1/12 Physical interface: et-7/1/12, Enabled, Physical link is Up Interface index: 231, SNMP ifIndex: 612 Forwarding classes: 16 supported, 8 in use Egress queues: 8 supported, 8 in use Queue: 0, Forwarding classes: be Queued: Packets : 394488 131507 pps Bytes : 591732000 1578084848 bps Transmitted: Packets : 394488 131507 pps Bytes : 591732000 1578084848 bps Tail-dropped packets : 0 0 pps RL-dropped packets : 0 0 pps RL-dropped bytes : 0 0 bps RED-dropped packets : 0 0 pps RED-dropped bytes : 0 0 bps Queue: 1, Forwarding classes: ef Queued: Packets : 234498 82115 pps Bytes : 352963584 988886784 bps Transmitted: Packets : 82425 27551 pps Bytes : 123637500 330618176 bps Tail-dropped packets : 0 0 pps RL-dropped packets : 0 0 pps RL-dropped bytes : 0 0 bps RED-dropped packets : 152073 54564 pps RED-dropped bytes : 229326084 658268608 bps Queue: 2, Forwarding classes: af Queued: Packets : 345175 115068 pps Bytes : 517762500 1380824240 bps Transmitted: Packets : 345175 115068 pps Bytes : 517762500 1380824240 bps Tail-dropped packets : 0 0 pps RL-dropped packets : 0 0 pps RL-dropped bytes : 0 0 bps RED-dropped packets : 0 0 pps RED-dropped bytes : 0 0 bps Queue: 3, Forwarding classes: nc Queued: Packets : 986224 328769 pps Bytes : 1479336000 3945236360 bps Transmitted: Packets : 986224 328769 pps Bytes : 1479336000 3945236360 bps Tail-dropped packets : 0 0 pps RL-dropped packets : 0 0 pps RL-dropped bytes : 0 0 bps RED-dropped packets : 0 0 pps RED-dropped bytes : 0 0 bps Queue: 4, Forwarding classes: af11 Queued: Packets : 493110 164383 pps Bytes : 739665000 1972606056 bps Transmitted: Packets : 493110 164383 pps Bytes : 739665000 1972606056 bps Tail-dropped packets : 0 0 pps RL-dropped packets : 0 0 pps RL-dropped bytes : 0 0 bps RED-dropped packets : 0 0 pps RED-dropped bytes : 0 0 bps Queue: 5, Forwarding classes: af12 Queued: Packets : 461830 164375 pps Bytes : 695777416 1981272728 bps Transmitted: Packets : 82778 27543 pps Bytes : 124167000 330521208 bps Tail-dropped packets : 0 0 pps RL-dropped packets : 0 0 pps RL-dropped bytes : 0 0 bps RED-dropped packets : 379052 136832 pps RED-dropped bytes : 571610416 1650751520 bps Queue: 6, Forwarding classes: af13 Queued: Packets : 462258 164556 pps Bytes : 696421280 1983445256 bps Transmitted: Packets : 82973 27637 pps Bytes : 124459500 331648480 bps Tail-dropped packets : 0 0 pps RL-dropped packets : 0 0 pps RL-dropped bytes : 0 0 bps RED-dropped packets : 379285 136919 pps RED-dropped bytes : 571961780 1651796776 bps Queue: 7, Forwarding classes: nc2 Queued: Packets : 227750 82215 pps Bytes : 343447000 991843712 bps Transmitted: Packets : 0 0 pps Bytes : 0 0 bps Tail-dropped packets : 0 0 pps RL-dropped packets : 0 0 pps RL-dropped bytes : 0 0 bps RED-dropped packets : 227750 82215 pps RED-dropped bytes : 343447000 991843712 bps
意味
コマンド出力は show
、キューと転送クラス名別にトラフィックを一覧表示します。各キューの [送信済み] フィールドの下の [バイト] フィールドには、実際に送信されたバイトが表示されます。
サンプル出力から、ストリクト高キューが最も高い優先度を取得し、ドロップせずに送信していることがわかります。その後、優先度の高いキューが送信されます。優先度の高い中低のキューは、ラウンドロビン方式で処理されます。優先度の低いキューは不足しています。
絶対優先スケジューリングに適用される以下の条件に留意してください。
出力インターフェイス上のトラフィックがサブスクライブされていない場合、キューにはトラフィックのドロップが表示されません。
ストリクトハイキューは、まず処理され、次に優先度の高いキュー(ラウンドロビン方式)、最後に保証地域の残りのキューすべて(ラウンドロビン方式)が処理されます。
イングレストラフィックが出力インターフェイスの容量を超えた場合、キューは厳密な優先順で処理されます。
余剰領域のキューは、WRR アルゴリズムに基づいて処理されます。