示例:为 PTX 系列数据包传输路由器配置超速
您可以配置额外速率,以自定义 PTX 系列数据包传输路由器在队列中可用多余的带宽的分布。未配置超速时,可用多余带宽将按照分配给队列的传输速率成比例分配。
要求
此示例使用以下硬件和软件组件:
一台 PTX 系列数据包传输路由器
Junos OS 12.1X48R2 或更高版本
概述
这组示例说明了您如何为 PTX 系列数据包传输路由器配置调度器,从而在配置的队列之间分配剩余带宽(多余的速率)。
配置超额费率时,请遵循以下准则:
transmit-rate
配置时间表的语句最多可以添加 100%。PTX 系列数据包传输路由器上的所有队列都具有相同的过度优先级。不支持过多的优先级配置。
如果配置了严格高优先级队列并受速率限制,则此队列会先获取速率限制带宽。然后满足
transmit-rate
其他队列的配置值(无论队列优先级如何),最后,多余的带宽将按照配置excess-rate
的值的比例分配。最佳实践:建议对严格较高的队列配置速率限制,因为其他队列可能无法满足其保证带宽。请参阅 传输速率。
配置
要配置过高的速率,请执行以下一项或多项任务:
在不指定额外速率的情况下配置调度器
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit]
CLI 中。
set class-of-service schedulers sched_queue_0 transmit-rate percent 20 set class-of-service schedulers sched_queue_1 transmit-rate percent 40 set class-of-service schedulers sched_queue_2 transmit-rate percent 10 set class-of-service schedulers sched_queue_3 transmit-rate percent 10
逐步过程
在此示例中,配置了四个队列,并为每个关联的调度器分配了指示的传输速率。在四个队列中,总传输速率达到 80%。未配置任何超额速率。假设每个队列的负载大于或等于配置的传输速率,则剩余 20% 的带宽与配置的传输速率 (20:40:10: 10) 成比例分布:
sched_queue_0 — 5%(20% 保证速率加上 5% 的剩余带宽为 25%)
sched_queue_1 — 10%(保证速率的 40% 加上剩余带宽的 10% 为 50%)
sched_queue_2 — 2.5%(保证速率的 10% 加上剩余带宽的 2.5% 为 12.5%)
sched_queue_3 — 2.5%(保证速率的 10% 加上剩余带宽的 2.5% 为 12.5%)
以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 Junos OS CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置调度器:
为队列 0 创建调度器:
[edit class-of-service] user@host# set schedulers sched_queue_0 transmit-rate percent 20
为队列 1 创建调度器:
[edit class-of-service] user@host# set schedulers sched_queue_1 transmit-rate percent 40
为队列 2 创建时间表:
[edit class-of-service] user@host# set schedulers sched_queue_2 transmit-rate percent 10
为队列 3 创建调度器:
[edit class-of-service] user@host# set schedulers sched_queue_3 transmit-rate percent 10
结果
在配置模式下,输入命令以确认 show class-of-service schedulers
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
sched_queue_0 { transmit-rate percent 20; } sched_queue_1 { transmit-rate percent 40; } sched_queue_2 { transmit-rate percent 10; } sched_queue_3 { transmit-rate percent 10; }
完成设备配置后,请从配置模式进入 commit
。
通过指定额外速率来配置调度器
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit]
CLI 中。
set class-of-service schedulers sched_queue_0 transmit-rate percent 25 set class-of-service schedulers sched_queue_0 excess-rate percent 25 set class-of-service schedulers sched_queue_1 transmit-rate percent 25 set class-of-service schedulers sched_queue_1 excess-rate percent 50 set class-of-service schedulers sched_queue_2 transmit-rate percent 25 set class-of-service schedulers sched_queue_3 transmit-rate percent 25
逐步过程
在此示例中,配置了四个调度器,并且为每个调度器分配了 25% 的传输速率。队列 0 配置 25%,队列 1 配置超额速率的 50%。如果队列 2 提供的负载仅为 10%,则剩余带宽分布为:队列超额速率/总超额速率 * 剩余带宽百分比。如果队列已配置传输速率,但未超过速率,则该队列的剩余速率为 1。在此示例中,超额速率比率为 25:50:1:1,这会产生以下来自队列 2 的剩余 15% 带宽分布:
sched_queue_0 —4.93% (25 / 76 * 15%)
sched_queue_1 —9.87% (50 / 76 * 15%)
sched_queue_3 — 0.197% (1 / 76 * 15%)
当队列 2 上提供的负载增加到 25% 或更高时,其他队列只会获得其配置的传输速率。
以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 Junos OS CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置调度器:
为队列 0 创建调度器:
[edit class-of-service] user@host# set schedulers sched_queue_0 transmit-rate percent 25 user@host# set schedulers sched_queue_0 excess-rate percent 25
为队列 1 创建调度器:
[edit class-of-service] user@host# set schedulers sched_queue_1 transmit-rate percent 25 user@host# set schedulers sched_queue_1 excess-rate percent 50
为队列 2 创建时间表:
[edit class-of-service] user@host# set schedulers sched_queue_2 transmit-rate percent 25
为队列 3 创建调度器:
[edit class-of-service] user@host# set schedulers sched_queue_3 transmit-rate percent 25
结果
在配置模式下,输入命令以确认 show class-of-service schedulers
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
sched_queue_0 { transmit-rate percent 25; excess-rate percent 25; } sched_queue_1 { transmit-rate percent 25; excess-rate percent 50; } sched_queue_2 { transmit-rate percent 25; } sched_queue_3 { transmit-rate percent 25; }
完成设备配置后,请从配置模式进入 commit
。
配置调度器以控制非高优先级队列的过高速率
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层级的 [edit]
CLI 中。
set class-of-service schedulers sched_queue_0 transmit-rate percent 90 set class-of-service schedulers sched_queue_0 priority high set class-of-service schedulers sched_queue_1 transmit-rate percent 10 set class-of-service schedulers sched_queue_1 priority low set class-of-service schedulers sched_queue_2 excess-rate percent 10 set class-of-service schedulers sched_queue_3 excess-rate percent 30
逐步过程
在此示例中,队列 0 的调度器配置为在提供足够的负载时传输多达 90% 的流量。当流向队列 0 的流量低于 90% 时,将超额速率配置为按 1:1:10:30 分配剩余带宽(当队列 1 上提供的负载大于 10%)时,这将生成队列 0 中剩余带宽的以下分布:
sched_queue_1 — 0.0244 * x%(1 / 41 * 剩余带宽 (x)%)
sched_queue_2 — 0.244 * x%(10 / 41 * 剩余带宽 (x)%)
sched_queue_3 — 0.732 * x%(30 / 41 * 剩余带宽 (x)%)
transmit-rate
虽然队列上的值最多可以加起来 100%,excess-rate
但值没有此限制,因为它是一个比率。
以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 Junos OS CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置调度器:
为队列 0 创建调度器:
[edit class-of-service] user@host# set schedulers sched_queue_0 transmit-rate percent 90 user@host# set schedulers sched_queue_0 priority high
为队列 1 创建调度器:
[edit class-of-service] user@host# set schedulers sched_queue_1 transmit-rate percent 10 user@host# set schedulers sched_queue_1 priority low
为队列 2 创建时间表:
[edit class-of-service] user@host# set schedulers sched_queue_2 excess-rate percent 10
为队列 3 创建调度器:
[edit class-of-service] user@host# set schedulers sched_queue_3 excess-rate percent 30
结果
在配置模式下,输入命令以确认 show class-of-service schedulers
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
sched_queue_0 { transmit-rate percent 90; priority high; } sched_queue_1 { transmit-rate percent 10; priority low; } sched_queue_2 { excess-rate percent 10; } sched_queue_3 { excess-rate percent 30; }
完成设备配置后,请从配置模式进入 commit
。