示例:在 SONET/SDH OC48/STM16 IQE PIC 上配置智能超额订阅传输速率
此示例说明如何在传输速率值超过 100% 的 8 个转发类的 sonet 接口上配置传输速率,从而使接口处于超额订阅状态。
要求
此示例需要以下硬件和软件组件:
使用 SONET/SDH OC48/STM16 IQE PIC 的网络设备。
设备上运行的 Junos OS 12.2 或更高版本。
开始之前:
配置设备接口。
在设备接口上启用服务等级 (CoS) 队列、调度和整形。
概述和拓扑
Junos OS 12.2 及更高版本支持超额订阅 SONET/SDH OC48/STM16 IQE PIC 上的可用带宽,最高可达 300%。可以通过为低优先级指定的所有队列创建一个附加的优先级组来实现此优化,并将所有低优先级队列的传输速率总和加起来达 100%,这与为所有其他队列配置的传输速率无关。
此前,SONET/SDH OC48/STM16 IQE PIC 通过将为严格-High 队列指定的传输速率百分比排除在总 100% 的传输速率中,支持超额订阅可用带宽达到 200% 来支持最大带宽优化。因此,所有非严格高队列的传输速率百分比加起来最多为 100%。此计算是在超额优先级或超额速率的内部映射之后完成的。
作为 SONET/SDH OC48/STM16 IQE PIC 上的智能超额订阅功能的增强,对最大带宽优化的支持增加到 300%。
当所有队列的传输速率总和超过 100% 时,接口将处于超额订阅状态。在超额订阅时,队列被分成三个优先级组,并具有智能的超额订阅功能增强:
严格-高
高、中、高和中低
低
上述每个优先级组均可配置为具有高达 100% 的传输速率超额订阅。传输速率超额订阅值可以用 CIR 或 PIR 值的百分比或绝对值表示。
remainder
超额订阅 SONET/SDH OC48/STM16 IQE PIC 不支持该选项。当所有队列的传输速率之和超过 100%时,如果为一个或多个队列配置remainder
了选项,将生成 syslog 错误消息并忽略配置。
在此示例中,路由器 R0 是配置 CoS 选项的路由。路由器 R1 和 R2 直接连接到 R0,并将流量发送到 R0。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit]
CLI 中。
R0
set class-of-service classifiers inet-precedence inet_classy forwarding-class fc0 loss-priority low code-points 000 set class-of-service classifiers inet-precedence inet_classy forwarding-class fc1 loss-priority low code-points 001 set class-of-service classifiers inet-precedence inet_classy forwarding-class fc2 loss-priority low code-points 010 set class-of-service classifiers inet-precedence inet_classy forwarding-class fc3 loss-priority low code-points 011 set class-of-service classifiers inet-precedence inet_classy forwarding-class fc4 loss-priority low code-points 100 set class-of-service classifiers inet-precedence inet_classy forwarding-class fc5 loss-priority low code-points 101 set class-of-service classifiers inet-precedence inet_classy forwarding-class fc6 loss-priority low code-points 110 set class-of-service classifiers inet-precedence inet_classy forwarding-class fc7 loss-priority low code-points 111 set class-of-service forwarding-classes class fc0 queue-num 0 set class-of-service forwarding-classes class fc1 queue-num 1 set class-of-service forwarding-classes class fc2 queue-num 2 set class-of-service forwarding-classes class fc3 queue-num 3 set class-of-service forwarding-classes class fc4 queue-num 4 set class-of-service forwarding-classes class fc5 queue-num 5 set class-of-service forwarding-classes class fc6 queue-num 6 set class-of-service forwarding-classes class fc7 queue-num 7 set class-of-service traffic-control-profiles TCP scheduler-map map_ifls set class-of-service traffic-control-profiles TCP shaping-rate 1g set class-of-service interfaces so-4/1/0 unit 0 classifiers inet-precedence inet_classy set class-of-service interfaces so-4/1/1 unit 0 output-traffic-control-profile TCP set class-of-service schedulers s0 transmit-rate percent 25 set class-of-service schedulers s0 priority strict-high set class-of-service schedulers s1 transmit-rate percent 20 set class-of-service schedulers s1 priority high set class-of-service schedulers s2 transmit-rate percent 15 set class-of-service schedulers s2 priority high set class-of-service schedulers s3 transmit-rate percent 35 set class-of-service schedulers s3 priority medium-high set class-of-service schedulers s4 transmit-rate percent 10 set class-of-service schedulers s4 priority medium-low set class-of-service schedulers s5 transmit-rate percent 15 set class-of-service schedulers s5 priority low set class-of-service schedulers s6 transmit-rate percent 15 set class-of-service schedulers s6 priority low set class-of-service schedulers s7 transmit-rate percent 15 set class-of-service schedulers s7 priority low set class-of-service scheduler-maps map_ifls forwarding-class fc0 scheduler s0 set class-of-service scheduler-maps map_ifls forwarding-class fc1 scheduler s1 set class-of-service scheduler-maps map_ifls forwarding-class fc2 scheduler s2 set class-of-service scheduler-maps map_ifls forwarding-class fc3 scheduler s3 set class-of-service scheduler-maps map_ifls forwarding-class fc4 scheduler s4 set class-of-service scheduler-maps map_ifls forwarding-class fc5 scheduler s5 set class-of-service scheduler-maps map_ifls forwarding-class fc6 scheduler s6 set class-of-service scheduler-maps map_ifls forwarding-class fc7 scheduler s7
程序
逐步过程
以下示例要求您在配置层次结构中的各个级别上导航。有关导航 CLI 的信息,请参阅 在配置模式下使用 CLI 编辑器。要配置 R0 路由器:
配置 IP 优先级分类器,以根据代码点值对传入数据包进行分类。
[edit class-of-service classifiers]
user@R0# set inet-precedence inet_classy将代码点值分类定义为转发类,并将代码点值配置为要分类为丢失优先级低。
[edit class-of-service classifiers inet-precedence inet_classy]
user@R0# set fc0 loss-priority low code-points 000 user@R0# set fc1 loss-priority low code-points 001 user@R0# set fc2 loss-priority low code-points 010 user@R0# set fc3 loss-priority low code-points 011 user@R0# set fc4 loss-priority low code-points 100 user@R0# set fc5 loss-priority low code-points 101 user@R0# set fc6 loss-priority low code-points 110 user@R0# set fc7 loss-priority low code-points 111定义转发类与队列编号的映射。
[edit class-of-service forwarding-classes class]
user@R0# set fc0 queue-num 0 user@R0# set fc1 queue-num 1 user@R0# set fc2 queue-num 2 user@R0# set fc3 queue-num 3 user@R0# set fc4 queue-num 4 user@R0# set fc5 queue-num 5 user@R0# set fc6 queue-num 6 user@R0# set fc7 queue-num 7配置流量整形和调度配置文件。
[edit class-of-service traffic-control-profiles]
user@R0# set TCP scheduler-map map_ifls user@R0# set TCP shaping-rate 1g将服务等级选项应用于接口。
[edit class-of-service interfaces]
user@R0# set so-4/1/0 unit 0 classifiers inet-precedence inet_classy user@R0# set so-4/1/1 unit 0 output-traffic-control-profile TCP配置 8 个具有调度优先级和传输速率的数据包调度器。
[edit class-of-service schedulers]
user@R0# set s0 transmit-rate percent 25 user@R0# set s0 priority strict-high user@R0# set s1 transmit-rate percent 20 user@R0# set s1 priority high user@R0# set s2 transmit-rate percent 15 user@R0# set s2 priority high user@R0# set s3 transmit-rate percent 35 user@R0# set s3 priority medium-high user@R0# set s4 transmit-rate percent 0 user@R0# set s4 priority medium-low user@R0# set s5 transmit-rate percent 15 user@R0# set s5 priority low user@R0# set s6 transmit-rate percent 15 user@R0# set s6 priority low user@R0# set s7 transmit-rate percent 15 user@R0# set s7 priority low定义转发类与数据包调度器映射。
[edit class-of-service scheduler-maps]
user@R0# set map_ifls forwarding-class fc0 scheduler s0 user@R0# set map_ifls forwarding-class fc1 scheduler s1 user@R0# set map_ifls forwarding-class fc2 scheduler s2 user@R0# set map_ifls forwarding-class fc3 scheduler s3 user@R0# set map_ifls forwarding-class fc4 scheduler s4 user@R0# set map_ifls forwarding-class fc5 scheduler s5 user@R0# set map_ifls forwarding-class fc6 scheduler s6 user@R0# set map_ifls forwarding-class fc7 scheduler s7
结果
在配置模式下,输入命令以确认 show class-of-service
您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以更正配置。
class-of-service { classifiers { inet-precedence inet_classy { forwarding-class fc0 { loss-priority low code-points 000; } forwarding-class fc1 { loss-priority low code-points 001; } forwarding-class fc2 { loss-priority low code-points 010; } forwarding-class fc3 { loss-priority low code-points 011; } forwarding-class fc4 { loss-priority low code-points 100; } forwarding-class fc5 { loss-priority low code-points 101; } forwarding-class fc6 { loss-priority low code-points 110; } forwarding-class fc7 { loss-priority low code-points 111; } } } forwarding-classes { class fc0 queue-num 0; class fc1 queue-num 1; class fc2 queue-num 2; class fc3 queue-num 3; class fc4 queue-num 4; class fc5 queue-num 5; class fc6 queue-num 6; class fc7 queue-num 7; } traffic-control-profiles { TCP { scheduler-map map_ifls; shaping-rate 1g; } } interfaces { so-4/1/0 { unit 0 { classifiers { inet-precedence inet_classy; } } } so-4/1/1 { unit 0 { output-traffic-control-profile TCP; } } } schedulers { s0 { transmit-rate percent 25; priority strict-high; } s1 { transmit-rate percent 20; priority high; } s2 { transmit-rate percent 15; priority high; } s3 { transmit-rate percent 35; priority medium-high; } s4 { transmit-rate percent 10; priority medium-low; } s5 { transmit-rate percent 15; priority low; } s6 { transmit-rate percent 15; priority low; } s7 { transmit-rate percent 15; priority low; } } scheduler-maps { map_ifls { forwarding-class fc0 scheduler s0; forwarding-class fc1 scheduler s1; forwarding-class fc2 scheduler s2; forwarding-class fc3 scheduler s3; forwarding-class fc4 scheduler s4; forwarding-class fc5 scheduler s5; forwarding-class fc6 scheduler s6; forwarding-class fc7 scheduler s7; } } }
完成设备配置后,请从配置模式进入 commit
。
验证
确认配置工作正常。
验证队列传输速率超额订阅
目的
验证 SONET/SDH OC48/STM16 IQE PIC 是否支持 300% 超额订阅。
行动
配置队列传输速率,确保其超额订阅率达到 300%。
所有队列的传输速率之和可小于或等于 300%。每个优先级组中所有队列的传输速率之和应小于或等于 100%。
在此示例中,路由器 R0 接口已超额订阅 150% 的可用带宽。每个优先级组中所有队列的传输速率总和为:
严格-高 — (q0) 25%
高、中、中、低 —(第 1 季度、第 2 季度、第 3 季度和第 4 季度)80%
低 — (q5、Q6 和第 7 季度)45%
当任何优先级组中所有队列的传输速率之和超过 100% 时,提交将失败。
例如,如果 q1 的传输速率为 30%,则“高中”优先级组中所有队列(q1、q2、q3 和 q4)的传输速率之和为 110%。提交时,将显示以下错误:
Total bandwidth allocation for high-med priority queues exceeds 100 percent for scheduler-map map_ifls error: configuration check-out failed
意义
当所有队列的传输速率之和超过 100% 时,将为所有低优先级队列创建新的优先级组。低优先级组中的队列传输速率加起来最高可达 100%。