例:階層型 CoS キューのジッターの削減
この例では、階層キューイング MPC でホストされている VLAN ポートの出力キューのジッターを削減する方法を示します。
要件
この例では、次のジュニパーネットワークスのハードウェアと Junos OS ソフトウェアを使用します。
IPv4ネットワーク内にあり、Junos OSリリース13.2以降を実行しているMX960ルーター。
FPCスロット2、PICスロット 0、ポート0でホストされている利用可能なギガビットイーサネットポート 。
FPCスロット5のMPC2 Qモジュラーポートコンセントレータ(MPC)のPIC スロット 0にあるギガビットイーサネットモジュラーインターフェイスカード(MIC)のポート0でホストされている使用可能なギガビットイーサネットポート 。
この例の設定を始める前に、スロット 5 の階層キューイング MPC に許容されるキューの最大数がまだ設定されていないことを確認してください。設定モードから コマンド show chassis fpc 5 を入力する場合、 max-queues ステートメントは表示されません。
概要
この例では、階層キューイング MPC でホストされている VLAN ポートで階層スケジューリングを設定します。MPC でホストされているすべてのエグレス ポートのキュー内のジッターを減らすには、MPC で許可されるキューの最大数を減らします。
構成
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 階層レベルのCLI [edit] にコマンドをコピーして貼り付けます。
set interfaces xe-2/0/0 per-unit-scheduler set interfaces xe-2/0/0 flexible-vlan-tagging set interfaces xe-2/0/0 unit 0 vlan-id 1 set interfaces xe-2/0/0 unit 0 family inet address 10.1.1.1/24 set interfaces xe-2/0/0 unit * classifiers ieee-802.1 ieee_jitter set interfaces xe-5/0/0 per-unit-scheduler set interfaces xe-5/0/0 flexible-vlan-tagging set interfaces xe-5/0/0 unit 0 vlan-id 1 set interfaces xe-5/0/0 unit 0 family inet address 10.2.1.1/24 set class-of-service-interfaces xe-5/0/0 unit * output-traffic-control-profile tcp 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 schedulers be_sch priority low set class-of-service schedulers ef_sch priority low set class-of-service schedulers af_sch priority strict-high set class-of-service schedulers nc_sch priority low set class-of-service classifiers ieee_jitter forwarding-class be loss-priority low code-points 000 set class-of-service classifiers ieee_jitter forwarding-class ef loss-priority low code-points 001 set class-of-service classifiers ieee_jitter forwarding-class af loss-priority low code-points 010 set class-of-service classifiers ieee_jitter forwarding-class nc loss-priority low code-points 011 set class-of-service scheduler-maps smap_jitter forwarding-class be scheduler be_sch set class-of-service scheduler-maps smap_jitter forwarding-class ef scheduler ef_sch set class-of-service scheduler-maps smap_jitter forwarding-class af scheduler af_sch set class-of-service scheduler-maps smap_jitter forwarding-class nc scheduler nc_sch set class-of-service traffic-control-profiles tcp scheduler-map smap_jitter set class-of-service traffic-control-profiles tcp shaping-rate 6g
ベースライン構成
手順
で階層スケジューリング xe-5.0.0を設定します。
VLAN 1 の入力と出力
xe-2/0/0.0を とxe-5/0/0.0で設定するには:[edit] user@host# set interfaces xe-2/0/0 per-unit-scheduler user@host# set interfaces xe-2/0/0 flexible-vlan-tagging user@host# set interfaces xe-2/0/0 unit 0 vlan-id 1 user@host# set interfaces xe-2/0/0 unit 0 family inet address 10.1.1.1/24 user@host# set interfaces xe-5/0/0 per-unit-scheduler user@host# set interfaces xe-5/0/0 flexible-vlan-tagging user@host# set interfaces xe-5/0/0 unit 0 vlan-id 1 user@host# set interfaces xe-5/0/0 unit 0 family inet address 10.2.1.1/24
4 つのキューをそれぞれ転送クラスにマッピングします。
[edit] user@host# set class-of-service forwarding-classes queue 0 be user@host# set class-of-service forwarding-classes queue 1 ef user@host# set class-of-service forwarding-classes queue 2 af user@host# set class-of-service forwarding-classes queue 3 nc
各転送クラスにパケットスケジューリング優先度値を割り当てます。
[edit] user@host# set class-of-service schedulers be_sch priority low user@host# set class-of-service schedulers ef_sch priority low user@host# set class-of-service schedulers af_sch priority strict-high user@host# set class-of-service schedulers ef_sch priority low
iEEE 802.1p コード ポイントに異なる値を定義することで、デフォルトの IEEE 802.1p 分類子(レイヤ 2 ヘッダーに基づく BA 分類子)をカスタマイズします。
[edit] user@host# set class-of-service classifiers ieee_jitter forwarding-class be loss-priority low code-points 000 user@host# set class-of-service classifiers ieee_jitter forwarding-class ef loss-priority low code-points 001 user@host# set class-of-service classifiers ieee_jitter forwarding-class af loss-priority low code-points 010 user@host# set class-of-service classifiers ieee_jitter forwarding-class nc loss-priority low code-points 011
上の論理ユニット
xe-2/0/0の入力にBA分類子を適用します。[edit] user@host# set interfaces xe-2/0/0 unit * classifiers ieee-802.1 ieee_jitter
転送クラスをスケジューラにマッピングするようにスケジューラ マップ
smap_jitterを設定します。[edit] user@host# set class-of-service scheduler-maps smap_jitter forwarding-class be scheduler be_sch user@host# set class-of-service scheduler-maps smap_jitter forwarding-class ef scheduler ef_sch user@host# set class-of-service scheduler-maps smap_jitter forwarding-class af scheduler af_sch user@host# set class-of-service scheduler-maps smap_jitter forwarding-class nc scheduler nc_sch
トラフィック制御プロファイル
tcpを設定して、スケジューラ マップsmap_jitter(ポートベースのスケジューリングでは転送クラスをスケジューラにマッピング)とシェーピング レート(階層スケジューリングの場合)を結合します。[edit] user@host# set class-of-service traffic-control-profiles tcp scheduler-map smap_jitter user@host# set class-of-service traffic-control-profiles tcp shaping-rate 6g
のルーター出力
xe-5/0/0にトラフィック制御プロファイルを適用します。[edit] user@host# set class-of-service-interfaces xe-5/0/0 unit * output-traffic-control-profile tcp
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
結果
コンフィギュレーション・モードから と show cloass-of-service というコマンドを入力し、show interfacesコンフィギュレーションを確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
[edit]
user@host# show interfaces
xe-2/0/0 {
per-unit-scheduler;
flexible-vlan-tagging;
unit 0 {
vlan-id 1;
family inet {
address 10.1.1.1/24;
}
}
}
xe-5/0/0 {
per-unit-scheduler;
flexible-vlan-tagging;
unit 0 {
vlan-id 1;
family inet {
address 10.2.1.1/24;
}
}
}
[edit]
user@host# show class-of-service
classifiers {
ieee-802.1 ieee_jitter {
forwarding-class be {
loss-priority low code-points 000;
}
forwarding-class ef {
loss-priority low code-points 001;
}
forwarding-class af {
loss-priority low code-points 010;
}
forwarding-class nc {
loss-priority low code-points 011;
}
}
}
forwarding-classes {
queue 0 be;
queue 1 ef;
queue 2 af;
queue 3 nc;
}
traffic-control-profiles {
tcp {
scheduler-map smap_jitter;
shaping-rate 6g;
}
}
interfaces {
xe-2/0/0 {
unit * {
classifiers {
ieee-802.1 ieee_jitter;
}
}
}
xe-5/0/0 {
unit * {
output-traffic-control-profile tcp;
}
}
}
scheduler-maps {
smap_jitter {
forwarding-class be scheduler be_sch;
forwarding-class ef scheduler ef_sch;
forwarding-class af scheduler af_sch;
forwarding-class nc scheduler nc_sch;
}
}
schedulers {
be_sch {
priority low;
}
ef_sch {
priority low;
}
af_sch {
priority strict-high;
}
nc_sch {
priority low;
}
}
検証
設定が正常に機能していることを確認します。
ベースラインを確立するためのエンドツーエンドのジッター測定
目的
エグレス ポートをホストする階層キューイング ライン カードがデフォルトの最大キュー数で設定されている場合に発生するジッターの量を記録することで、ベースライン測定値を確立します。
アクション
ジッターを測定するには:
VLAN を介してトラフィックを通過させます。
データフロー内の選択されたパケットのパケット遅延の変動を測定します。
ジッター低減の設定
目的
VLAN ポート出力キューのジッターを低減します。
アクション
スロット 5の階層型キューイングMPCで、エグレスポートのキュー最大数を減らして、ポートキューのジッターを減らします。
[edit] user@host# set chassis fpc 5 max-queue 64k
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit