例:階層型 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
上の論理ユニットの入力に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