例:MIC および MPC インターフェイスでのプライオリティ単位シェーピングの設定
実際には、優先順位ごとのシェーピングは、トラフィック全体を制御するために他のトラフィック制御プロファイルとともに使用されます。 図 1 に示すように、物理インターフェイス(ポート)に適用されるトラフィック制御プロファイルを考えてみましょう。

この例は、前に使用したものよりも複雑です。この図では、インターフェイス セット(DSLAM)の加入者のペアに加えて、以下が追加されています。
明示的なサービスクラスパラメーターが設定されていないインターフェイスセットメンバーのスケジューリングを提供するダミーのレベル3スケジューラノード(
interface-set-remaining-traffic
)。インターフェイスセットのメンバーではない加入者(加入者3)。ダミーのレベル 2 ノードは、サブスクライバ 3 のレベル 3 ノードをレベル 1 に接続し、レベル 2 であるように見せかけます。
明示的なサービスクラスパラメータが設定されていないトラフィックのキューを提供するためのダミーのレベル3スケジューラノード(
port-remaining-traffic
)。レベル 1 とレベル 3 のスケジューラ ノードを接続するためのダミーのレベル 2 スケジューラ ノード。このダミー レベル 2 スケジューラ ノードは内部のみです。
この例では、5つの論理インターフェイスユニットを持つギガビットイーサネットインターフェイスを使用しており、それぞれが 図1のレベル3ノードの1つを表しています。
図の上から下に向かって、レベル 3 のノードは次のとおりです。
ユニット3は、インターフェイスセット(
ifset-1
)のメンバーであるが、明示的なCoS設定がないため、「ダミー」レベル3ノードとしてスケジュールされています。ユニット1は、インターフェイスセット(
ifset-1
)のメンバーであり、[edit class-of-service interfaces]
階層の下に明示的なCoS設定があるため、ユニット1は加入者1の論理インターフェイスノードとしてスケジューリングされています。ユニット2は、インターフェイスセット(
ifset-1
)のメンバーであり、[edit class-of-service interfaces]
階層の下に明示的なCoS設定があるため、ユニット2は加入者2の論理インターフェイスノードとしてスケジューリングされています。ユニット4は、インターフェイスセットのメンバーではありませんが、
[edit class-of-service interfaces]
階層レベルで明示的なCoS設定があるため、ユニット4は加入者3の論理インターフェイスノードとしてスケジューリングされています。ユニット 5 は、インターフェイス セットのメンバーではなく、明示的な CoS 設定がないため、ユニット 5 は別の「ダミー」レベル 3 ノード(ポート レベルでの残りのトラフィック用)によってスケジューリングされます。
この例では、プライオリティごとのシェーピングが物理ポートレベルで適用されています。この例では 3 つの優先順位を使用していますが、他のパラメーターも使用できます。この例では、わかりやすくするため、シェーピング レート、送信レート、過剰な優先度、その他のオプションは使用していません。この例では、5 つの転送クラスを使用し、実際の設定に通常含まれるネットワーク制御転送クラスを除外しています。
設定例は、いくつかの部分に分かれています。
インターフェイス設定
サービスクラス転送クラスとトラフィック制御プロファイルの設定
サービスクラスインターフェイスの設定
サービス クラス スケジューラとスケジューラ マップの設定
インターフェイス設定:
[edit] interfaces { # A three member interface-set. interface-set ifset-1 { interface ge-1/1/0 { unit 1; unit 2; unit 3; } } # A ge port configured for "hierarchical-scheduling" and # vlans. 5 vlans are configured for the 5 level-3 scheduler # nodes # ge-1/1/0 { hierarchical-scheduler; vlan-tagging; unit 1 { vlan-id 1; } unit 2 { vlan-id 2; } unit 3 { vlan-id 3; } unit 4 { vlan-id 4; } unit 5 { vlan-id 5; } } }
サービスクラス転送クラスとトラフィック制御プロファイルの設定:
[edit class-of-service] forwarding-classes { queue 0 BE priority low; queue 1 BBE priority low; queue 2 AF priority low; queue 3 EF priority high; } traffic-control-profiles { tcp-if-portd { shaping-rate-priority-high 500k; shaping-rate-priority-medium 100m; } tcp-if-port-rem { scheduler-map smap-1; } tcp-ifset-rem { scheduler-map smap-1; } tcp-if-unit { scheduler-map smap-1; shaping-rate 10m; } }
サービスクラスインターフェイス設定:
[edit class-of-service] interfaces { interface-set ifset-1 { output-traffic-control-profile-remaining tcp-ifset-rem; } ge-1/1/0 { output-traffic-control-profile tcp-if-port; output-traffic-control-profile-remaining tcp-if-port-rem; unit 1 { output-traffic-control-profile tcp-if-unit; } unit 2 { output-traffic-control-profile tcp-if-unit; } # Unit 3 present in the interface config and interface-set # config, but is absent in this CoS config so that we can # show traffic that uses the interface-set # remaining-traffic path. unit 4 { output-traffic-control-profile tcp-if-unit; } # Unit 5 is present in the interface config, but is absent # in this CoS config so that we can show traffic that # uses the if-port remaining-traffic path. } }
サービス クラス スケジューラとスケジューラ マップの設定:
[edit class-of-service] scheduler-maps { smap-1 { forwarding-class BE scheduler sched-be; forwarding-class BBE scheduler sched-bbe; forwarding-class AF scheduler sched-af; forwarding-class EF scheduler sched-ef; } schedulers { sched-be { priority low; } sched-bbe { priority low; } sched-af { priority medium-high; } sched-ef { priority high; } }
シェーピング レートと優先度ごとのシェーピング レートの両方を設定できます。この場合、従来の shaping-rate
ステートメントは、スケジューラを介してスケジュールされたすべてのトラフィックの最大レートを指定します。したがって、優先度ごとのシェーピング レートは、全体のシェーピング レート以下である必要があります。そのため、トラフィック制御プロファイルで shaping-rate 400m
ステートメントが設定されている場合、プライオリティごとのシェーピング レート( shaping-rate-priority-high 500m
など)に大きな値を設定することはできません。ただし、優先度ごとのシェーピングレートの合計は、全体のシェーピングレートを超えることができます。 shaping-rate 400m
では、 shaping-rate-priority-high 300m
と shaping-rate-priority-low 200m
の両方のステートメントを設定できます。
一般に、保証レートよりも小さいシェーピング レートを設定することはできません(そのため、保証されています)。ただし、すべてのシェーピング レートが優先度の高い、低い、または中程度のトラフィック用でない限り、優先度ごとのシェーピング レートにはこのような制限は課されません。
この設定が可能です(優先度ごとのレートが保証レートよりも小さい)。
[edit class-of-service] traffic-control-profile { tcp-for-ge-port { guaranteed-rate 500m; shaping-rate-priority-high 400m; shaping-rate-priority-medium 300m; shaping-rate-excess-high 100m; } }
しかし、この設定ではエラーが発生します(プライオリティごとの超過レートがないため、ノードは保証レートを達成できません)。
[edit class-of-service] traffic-control-profile { tcp-for-ge-port { guaranteed-rate 301m; shaping-rate-priority-high 100m; shaping-rate-priority-medium 100m; shaping-rate-priority-low 100m; } }
優先度ごとのシェーピングの設定は、 show class-of-service traffic-control-profile
コマンドで検証します。この例では、 tcp-ge-port
という名前のトラフィック制御プロファイルの高および中優先度に対して確立されたシェーピング レートを示しています。
user@host# show class-of-service traffic-control-profile Traffic control profile: tcp-ae, Index: 22093 Shaping rate: 3000000000 Scheduler map: <default> Traffic control profile: tcp-ge-port, Index: 22093 Shaping rate priority high: 1000000000 Shaping rate priority medium: 9000000000 Scheduler map: <default>
優先順位ごとのシェーピング レートと超過レートの間に制限や相互作用はありません。超過率(重み)は、超過帯域幅の割合または割合で指定します。
表 1 は、優先度ごとのシェーピング レートを含むトラフィック制御プロファイルを、ユニット単位のスケジューラと階層型スケジューラの両方に対してアタッチできる場所を示しています。
トラフィック制御プロファイルのタイプ |
ユニット単位での使用は可能ですか? |
階層の許可 |
---|---|---|
プライオリティ単位のシェーピングによるポートレベル |
はい |
はい |
プライオリティ単位のシェーピングによるポートレベル |
いいえ |
はい |
ポートレベルの |
いいえ |
はい |
プライオリティ単位のシェーピングによるポートレベル |
いいえ |
いいえ |
プライオリティ単位のシェーピングによるポートレベル |
いいえ |
いいえ |
プライオリティ シェーピングによるインターフェイス セット |
いいえ |
はい |
プライオリティ シェーピングによるインターフェイス セット |
いいえ |
いいえ |
プライオリティ シェーピングによるインターフェイス セット |
いいえ |
いいえ |
プライオリティ シェーピングによるインターフェイス セット |
いいえ |
いいえ |
プライオリティごとのシェーピングによる論理インターフェイスレベル |
いいえ |
いいえ |
プライオリティごとのシェーピングによる論理インターフェイスレベル |
いいえ |
いいえ |