例:階層型 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.0xe-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
上の論理ユニットの入力にBA分類子を適用します
xe-2/0/0。[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 interfaces 入力して、 show cloass-of-service 設定を確認します。出力結果に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。
[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