例: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 アルゴリズムに基づいて処理されます。