示例:构建调度器四级层次结构
本节提供构建调度器 4 级层次结构的更完整示例。配置参数如图 1 所示。队列显示在图的上部,下面还有其他三个层级。
图中的 PIR 值配置为整形速率,CIR 配置为以太网接口 ge-1/0/0上的保证速率。PIR 可以超额订阅(也就是说,子级 PIR 的总和可能超过家长的 PIR,如 svlan 1200 + 200 + 100 超过家长速率 400))。但是,子节点级别的 CIR 之和不得超过父节点的 CIR,如所有服务 VLAN 中所示(否则,永远无法在所有情况下提供保证速率)。
此配置示例展示了图 ()ge-1/0/0 中接口的 CoS 配置的所有详细信息,包括:
配置接口集
[edit interfaces]
interface-set svlan-0 {
interface ge-1/0/0 {
unit 0;
unit 1;
}
}
interface-set svlan-1 {
interface ge-1/0/0 {
unit 2;
unit 3;
unit 4;
}
}
配置接口
配置分层调度器的关键词在物理接口级别,VLAN 标记和 VLAN ID 也是。在此示例中,接口集由逻辑接口(单元)而不是外部 VLAN 标记定义。此示例中的所有 VLAN 标记都是客户 VLAN 标记。
[edit interface ge-1/0/0]
hierarchical-scheduler;
vlan-tagging;
unit 0 {
vlan-id 100;
}
unit 1 {
vlan-id 101;
}
unit 2 {
vlan-id 102;
}
unit 3 {
vlan-id 103;
}
unit 4 {
vlan-id 104;
}
配置流量控制配置文件
流量控制配置文件保存计划程序层次结构队列级别之上的级别参数。本节定义服务 VLAN 级别(逻辑接口)和客户 VLAN(VLAN 标记)级别的流量控制配置文件。
[edit class-of-service traffic-control-profiles]
tcp-500m-shaping-rate {
shaping-rate 500m;
}
tcp-svlan0 {
shaping-rate 200m;
guaranteed-rate 100m;
delay-buffer-rate 300m; # This parameter is not shown in the figure.
}
tcp-svlan1 {
shaping-rate 400m;
guaranteed-rate 300m;
delay-buffer-rate 100m; # This parameter is not shown in the figure.
}
tcp-cvlan0 {
shaping-rate 100m;
guaranteed-rate 60m;
scheduler-map tcp-map-cvlan0; # Applies scheduler maps to customer VLANs.
}
tcp-cvlan1 {
shaping-rate 100m;
guaranteed-rate 40m;
scheduler-map tcp-map-cvlan1; # Applies scheduler maps to customer VLANs.
}
tcp-cvlan2 {
shaping-rate 200m;
guaranteed-rate 100m;
scheduler-map tcp-map-cvlanx; # Applies scheduler maps to customer VLANs.
}
tcp-cvlan3 {
shaping-rate 200m;
guaranteed-rate 150m;
scheduler-map tcp-map-cvlanx; # Applies scheduler maps to customer VLANs
}
tcp-cvlan4 {
shaping-rate 100m;
guaranteed-rate 50m;
scheduler-map tcp-map-cvlanx; # Applies scheduler maps to customer VLANs
}
配置调度器
调度器保存有关队列的信息,这是层次结构的最后一个级别。请注意,此示例所有部分中应用于重复元素的一致命名方案。
[edit class-of-service schedulers]
sched-cvlan0-qx {
priority low;
transmit-rate 20m;
buffer-size temporal 100ms;
drop-profile loss-priority low dp-low;
drop-profile loss-priority high dp-high;
}
sched-cvlan1-q0 {
priority high;
transmit-rate 20m;
buffer-size percent 40;
drop-profile loss-priority low dp-low;
drop-profile loss-priority high dp-high;
}
sched-cvlanx-qx {
transmit-rate percent 30;
buffer-size percent 30;
drop-profile loss-priority low dp-low;
drop-profile loss-priority high dp-high;
}
sched-cvlan1-qx {
transmit-rate 10m;
buffer-size temporal 100ms;
drop-profile loss-priority low dp-low;
drop-profile loss-priority high dp-high;
}
配置丢弃配置文件
本节将配置示例的丢弃配置文件。有关插值丢弃配置文件的更多信息,请参阅 使用 RED 丢弃配置文件和数据包丢失优先级管理拥塞。
[edit class-of-service drop-profiles]
dp-low {
interpolate fill-level 80 drop-probability 80;
interpolate fill-level 100 drop-probability 100;
}
dp-high {
interpolate fill-level 60 drop-probability 80;
interpolate fill-level 80 drop-probability 100;
}
配置调度器图
本节为示例配置调度器图。每个参考在配置调度器中配置的 调度器。
[edit class-of-service scheduler-maps]
tcp-map-cvlan0 {
forwarding-class voice scheduler sched-cvlan0-qx;
forwarding-class video scheduler sched-cvlan0-qx;
forwarding-class data scheduler sched-cvlan0-qx;
}
tcp-map-cvlan1 {
forwarding-class voice scheduler sched-cvlan1-q0;
forwarding-class video scheduler sched-cvlan1-qx;
forwarding-class data scheduler sched-cvlan1-qx;
}
tcp-map-cvlanx {
forwarding-class voice scheduler sched-cvlanx-qx;
forwarding-class video scheduler sched-cvlanx-qx;
forwarding-class data scheduler sched-cvlanx-qx;
}
应用流量控制配置文件
本节将流量控制配置文件应用于适当的层次结构级别。
尽管可以直接将整形速率应用于物理接口,但分层调度程序必须使用流量控制配置文件来保留参数。
[edit class-of-service interfaces]
ge-1/0/0 {
output-traffic-control-profile tcp-500m-shaping-rate;
unit 0 {
output-traffic-control-profile tcp-cvlan0;
}
unit 1 {
output-traffic-control-profile tcp-cvlan1;
}
unit 2 {
output-traffic-control-profile tcp-cvlan2;
}
unit 3 {
output-traffic-control-profile tcp-cvlan3;
}
unit 4 {
output-traffic-control-profile tcp-cvlan4;
}
}
interface-set svlan0 {
output-traffic-control-profile tcp-svlan0;
}
interface-set svlan1 {
output-traffic-control-profile tcp-svlan1;
}
使用 show interfaces queue 引用不存在的服务等级逻辑接口的命令时,应小心谨慎。当多个逻辑接口(单元)未在同一接口集或物理接口下配置,但由命令引用,如 show interfaces queue ge-10/0/1.12 forwarding-class be 或 show interfaces queue ge-10/0/1.13 forwarding-class be (其中逻辑单元 12 和 13 未配置为服务等级接口),则这些接口会为每个逻辑接口显示相同的流量统计信息。换句话说,即使没有流量通过特定未配置的逻辑接口,只要同一接口集或物理接口下的一个或多个其他未配置逻辑接口正在传递流量,此特定逻辑接口会显示统计信息计数器,显示通过所有其他未配置逻辑接口的流量总数。