Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
在此页面上
 

示例:配置 CoS 分层端口调度 (ETS)

分层端口调度定义输出队列的服务等级 (CoS) 属性,这些队列映射到转发类。流量根据代码点(优先级)分类为转发类,因此将队列映射到转发类也会将队列映射到优先级)。通过分层端口调度,可以将需要类似 CoS 处理的优先级分组到优先级组中。您可以定义优先级组的端口带宽资源,并定义组中每个优先级可以使用的优先级组资源量。

分层端口调度是增强型传输选择 (ETS) 的 Junos OS 实现,如 IEEE 802.1Qaz 中所述。分层端口调度的一个主要好处是提高了端口带宽利用率。如果端口上的优先级组未使用其分配的所有带宽,则该端口上的其他优先级组可以使用该带宽。此外,如果优先级组中的优先级未使用其分配的带宽,则该优先级组中的其他优先级可以使用该带宽。

配置分层调度是一个多步骤过程,其中包括:

  • 将转发类映射到队列

  • 定义转发类集(优先级组)

  • 定义行为聚合分类器

  • 为无损优先级(队列)配置基于优先级的流控制 (PFC)

  • 将分类器和 PFC 配置应用于入口接口

  • 定义丢弃配置文件

  • 定义调度程序

  • 将转发类映射到调度程序

  • 定义流量控制配置文件

  • 将优先级组和流量控制配置文件分配给出口端口

此示例介绍如何配置分层调度:

要求

此示例使用以下硬件和软件组件:

  • 一台交换机(此示例已在瞻博网络QFX3500交换机上测试)

  • Junos OS 11.1 版

使用 功能浏览器 确认 ETS 的平台和版本支持。

概述

为优先级组和单个优先级规划端口带宽分配时,请记住以下注意事项:

  • 您希望通过系统的流量和流量类型。

  • 您希望如何将不同类型的流量划分为优先级(转发类),以便对不同类型的流量应用不同的 CoS 处理。将流量划分为优先级包括:

    • 使用行为聚合 (BA) 分类器将入口流量的代码点映射到转发类。这会根据代码点将传入流量分类到相应的转发类中。

    • 将转发类映射到输出队列。这将定义每种流量类型的输出队列。

    • 将 BA 分类器附加到所需的入口接口,以便传入流量映射到所需的转发类和队列。

  • 您希望如何将优先级组织到优先级组(转发类集)中。

    需要类似处理的流量通常属于同一优先级组。为此,请将需要相似带宽、损耗和其他特征的转发类放在同一转发类集中。例如,您可以将所有类型的尽力而为流量转发类映射到一个转发类集中。

  • 要分配给每个优先级组以及每个优先级组中的每个优先级的端口带宽量。以下注意事项适用于带宽分配:

    • 估计每个转发类中预期的流量,以及每个转发类集中的预期流量(转发类集中的预期流量是属于转发类集的转发类中的总流量)。

    • 优先级组中优先级(转发类)的组合最小保证带宽不应超过优先级组(转发类集)的最小保证带宽。传输速率调度器参数定义转发类的最小保证带宽。调度程序图将调度程序与转发类相关联。

    • 端口上优先级组(转发类集)的最小保证总带宽组合不应超过端口的总带宽。流量控制配置文件中的保证速率参数定义转发类集的最小带宽。将调度程序图与流量控制配置文件相关联,可设置转发类集中各个转发类的调度。

此示例通过定义优先级组来实现尽力而为、保证交付和高性能计算 (HPC) 流量,从而创建分层端口调度。每个优先组都包括需要接受类似CoS处理的优先次序。每个优先级组和每个优先级组中的每个优先级都会接收为其流提供服务所需的 CoS 资源。无损优先级使用 PFC 来防止网络拥塞时丢包。

拓扑

表 1 显示了此示例的配置组件。

表 1: 分层端口调度 (ETS) 配置拓扑的组件

财产

设置

硬件

QFX3500交换机

将转发类(优先级)映射到队列

best-effort 到队列 0

be2 到队列 1

fcoe (以太网光纤通道)排队 3

no-loss 到队列 4

hpc (高性能计算)排队 5

network-control 到队列 7

转发类集(优先级组)

best-effort-pg:包含转发类 best-effortbe2network control

guar-delivery-pg:包含转发类 fcoeno-loss

hpc-pg:包含转发类 hpc

行为聚合分类器(通过 IEEE 802.1 代码点将转发类和丢失优先级映射到传入数据包)

姓名—hsclassifier1

代码点映射:

  • 000 转发类 best-effort 和丢失优先级 low

  • 001 转发类 be2 和丢失优先级 high

  • 011 转发类 fcoe 和丢失优先级 low

  • 100 转发类 no-loss 和丢失优先级 low

  • 101 转发类 hpc 和丢失优先级 low

  • 110 转发类 network-control 和丢失优先级 low

Pfc

拥塞通知配置文件名称—gd-cnp

在代码点上启用 PFC: 011fcoe 优先级)、 010no-loss 优先级)

丢弃配置文件

注意:

fcoeno-loss优先级(队列)不使用丢弃配置文件,因为它们是无损流量类。

dp-be-low:下降起点 25、下降终点 50、最大下降率 80

dp-be-high:下降起点 10、下降终点 40、最大下降率 100

dp-hpc:下降起点 75、下降终点 90、最大下降率 75

dp-nc:下降起点 80、下降终点 100、最大下降率 100

队列调度程序

be-sched:最小带宽 3g、最大带宽 100%、优先级 low、丢弃配置文件 dp-be-lowdp-be-high

fcoe-sched: 最小带宽 2.5g, 最大带宽 100%, 优先级 low

hpc-sched:最小带宽 2g、最大带宽 100%、优先级 low、丢弃配置文件 dp-hpc

nc-sched:最小带宽 500m、最大带宽 100%、优先级 low、丢弃配置文件 dp-nc

nl-sched: 最小带宽 2g, 最大带宽 100%, 优先级 low

转发类到调度程序的映射

调度器映射 : 转发类 best-effort, 调度器 be-sched转发类 be2, 调度器be-sched 转发类 network-control, 调度器 be-mapnc-sched

调度器映射 gd-map: 转发类 fcoe, 调度器fcoe-sched 转发类 no-loss调度器nl-sched

调度器映射hpc-map转发类、调度器hpchpc-sched

流量控制配置文件

be-tcp: 调度器映射 be-map, 最小带宽 3.5g, 最大带宽 100%

gd-tcp: 调度器映射 gd-map, 最小带宽 4.5g, 最大带宽 100%

hpc-tcp: 调度器映射 hpc-map, 最小带宽 2g, 最大带宽 100%

接口

此示例在接口 xe-0/0/20xe-0/0/21上配置分层端口调度。由于流量是双向的,因此您可以将入口和出口配置组件应用于两个接口:

  • 分类器名称—hsclassifier1

  • 转发类集—best-effort-pgguar-deliver-pghpc-pg

  • 拥塞通知配置文件—gd-cnp

图 1 显示了示例中使用的配置组件和 CLI 语句的配置流程的框图。如果需要,可以按不同的顺序执行配置步骤。

图 1:分层端口调度组件框图 Hierarchical Port Scheduling Components Block Diagram

图 2 显示了从入口到出口的分层调度数据包流框图。

图 2:分层端口调度数据包流程框图 Hierarchical Port Scheduling Packet Flow Block Diagram

配置

CLI 快速配置

要在支持无损传输的系统上快速配置分层端口调度,请复制以下命令,将其粘贴到文本文件中,删除换行符,更改变量和详细信息以匹配您的网络配置,然后将命令复制并粘贴到 [编辑服务等级] 层次结构级别的 CLI 中:

程序

分步过程

要分步配置转发类(优先级)、转发类集(优先级组)、分类器、队列调度程序、PFC、流量控制配置文件和接口以设置分层端口调度 (ETS):

  1. 配置转发类(优先级)并将其映射到单播输出队列(不要将 和 no-loss 转发类显式映射到fcoe输出队列;请使用默认配置):

  2. 配置转发类集(优先级组)以对需要类似 CoS 处理的转发类(优先级)进行分组:

  3. 配置分类器以设置在入口处分配给每个转发类的丢失优先级和 IEEE 802.1 代码点:

  4. 配置拥塞通知配置文件以在 FCoE 和无丢失队列 IEEE 802.1 代码点上启用 PFC:

  5. 将分类器分配给接口:

  6. 将 PFC 配置应用于接口:

  7. 为尽力而为的低损失优先级队列配置丢弃配置文件:

  8. 为尽力而为的高丢失优先级队列配置丢弃配置文件:

  9. 配置网络控制队列的丢弃配置文件:

  10. 配置高性能计算队列的丢弃配置文件:

  11. 定义尽力而为队列的最小保证带宽、优先级、最大带宽和丢弃配置文件:

  12. 定义 FCoE 队列的最低保证带宽、优先级和最大带宽:

  13. 定义高性能计算队列的最小保证带宽、优先级、最大带宽和丢弃配置文件:

  14. 定义网络控制队列的最小保证带宽、优先级、最大带宽和丢弃配置文件:

  15. 定义无损队列的最小保证带宽、优先级和最大带宽:

  16. 将调度程序映射到相应的转发类(队列):

  17. 定义尽力而为优先级组(队列调度程序到映射、最小保证带宽和最大带宽)的流量控制配置文件:

  18. 定义保证交付优先级组(队列到计划程序映射、最小保证带宽和最大带宽)的流量控制配置文件:

  19. 为高性能计算优先级组(队列到调度程序映射、最小保证带宽和最大带宽)定义流量控制配置文件:

  20. 将三个优先级组(转发类集)和相应的流量控制配置文件应用于出口端口:

结果

显示配置结果(系统仅显示显式配置的参数;不显示默认参数,如 fcoe 无损 no-loss 转发类)。

提示:

要快速配置接口,请发出 load merge terminal 命令,然后复制层次结构并将其粘贴到交换机终端窗口中。

验证

要验证是否创建了分层端口调度组件以及它们是否正常运行,请执行以下任务:

验证转发类(优先级)

目的

验证是否已创建转发类并将其映射到正确的队列。(系统仅显示显式配置的转发类。它不显示默认的转发类,如 fcoeno-loss

行动

使用操作模式命令 show class-of-service forwarding-class列出转发类:

意义

show class-of-service forwarding-class 命令将列出所有已配置的转发类、每个转发类的内部标识号、映射到转发类的队列、管制优先级以及转发类是无损(启用无丢失丢包属性)还是有损转发类(禁用无丢失丢包属性)。命令输出显示:

  • 将类 best-effort 映射到队列 0 并且是有损的

  • 将类 be2 映射到队列 1 并且是有损的

  • 将类 hpc 映射到队列 5 并且是有损的

  • 将类 network-control 映射到队列 7 并且是有损的

此外,该命令还会列出默认组播(多目标)转发类及其映射到的默认队列。

验证转发类集(优先级组)

目的

验证是否创建了优先级组,以及正确的优先级(转发类)是否属于相应的优先级组。

行动

使用操作模式命令 show class-of-service forwarding-class-set列出转发类集:

意义

show class-of-service forwarding-class-set 命令将列出所有已配置的转发类集(优先级组)、属于每个优先级组的转发类(优先级)以及每个优先级组的内部索引号。命令输出显示:

  • 转发类集 best-effort-pg 包括转发类 best-effortbe2network-control

  • 转发类集 guar-delivery-pg 包括转发类 fcoeno-loss.

  • 转发类集 hpc-pg 包括转发类 hpc

验证分类器

目的

验证分类器是否将转发类映射到正确的 IEEE 802.1p 代码点和数据包丢失优先级。

行动

列出使用操作模式命令 show class-of-service classifier name hsclassifier1为分层端口调度配置的分类器:

意义

show class-of-service classifier name hsclassifier1命令将列出所有 IEEE 802.1p 代码点以及映射到分类器中所有转发类的丢失优先级。命令输出显示转发类 best-effortbe2hpcno-lossfcoe、 和 network-control 已创建并映射到 IEEE 802.1p 代码点和丢失优先级。

验证基于优先级的流控制

目的

验证是否在无损传输的正确优先级上启用了 PFC。

行动

使用操作模式命令 show class-of-service congestion-notification列出拥塞通知配置文件:

意义

show class-of-service congestion-notification命令将列出所有拥塞通知配置文件和启用了 PFC 的 IEEE 802.1p 代码点。命令输出显示为拥塞通知配置文件的代码点011fcoe优先级和队列)和no-loss 100 (优先级和队列)gd-cnp启用 PFC。

该命令还显示默认电缆长度 (100 米)、默认最大接收单位 (2500 字节) 以及优先级到输出队列的默认映射,因为此示例不包括配置这些选项。

验证输出队列调度程序

目的

验证您是否创建了具有正确带宽参数和优先级的输出队列调度程序、映射到正确的队列以及映射到正确的丢弃配置文件。

行动

使用操作模式命令 show class-of-service scheduler-map列出调度器图:

意义

show class-of-service scheduler-map 命令将列出所有已配置的调度程序图。对于每个调度器映射,命令输出包括:

  • 调度程序图的名称(scheduler-map 字段)

  • 调度程序的名称(scheduler 字段)

  • 映射到调度程序的转发类(forwarding-class 字段)

  • 最小保证队列带宽(transmit-rate 字段)

  • 计划优先级(priority 字段)

  • 队列可以使用的优先级组中的最大带宽(shaping-rate 字段)

  • 每个丢弃配置文件名称的丢弃配置文件丢失name优先级(loss priority 字段)( 字段)

命令输出显示:

  • 调度程序图 be-map 已创建,并具有以下属性:

    • 有两个调度程序, be-schednc-sched

    • 调度程序 be-sched 有两个转发类, best-effortbe2

    • 计划程序 be-sched 转发类 best-effortbe2 共享最小保证带宽 3,000,000,000 bps,可以消耗最大 100 percent 优先级组带宽,并将丢弃配置文件 dp-be-low 用于低丢失优先级流量,默认丢弃配置文件用于中高丢失优先级流量,丢弃配置文件 dp-be-high 用于高丢失优先级流量。

    • 调度程序 nc-sched 有一个转发类 network-control

    • network-control转发类的最小保证带宽500,000,000 bps为 ,可以消耗最大100 percent优先级组带宽,并对低丢失优先级流量使用丢弃配置文件dp-nc,对中高和高丢失优先级流量使用默认丢弃配置文件。

  • 调度程序图 gd-map 已创建,并具有以下属性:

    • 有两个调度程序, fcoe-schednl-sched

    • 调度程序 fcoe-sched 有一个转发类 fcoe

    • fcoe转发类的最小保证带宽2,500,000,000 bps为 ,并且最多100 percent可以消耗优先级组带宽。

    • 调度程序 nl-sched 有一个转发类 no-loss

    • no-loss转发类的最小保证带宽2,000,000,000 bps为 ,并且最多100 percent可以消耗优先级组带宽。

  • 调度程序图 hpc-map 已创建,并具有以下属性:

    • 有一个调度程序 。 hpc-sched

    • 调度程序 hpc-sched 有一个转发类 hpc

    • hpc转发类的最小保证带宽2,000,000,000 bps为 ,可以消耗最大100 percent优先级组带宽,并对低丢失优先级流量使用丢弃配置文件dp-hpc,对中高和高丢失优先级流量使用默认丢弃配置文件。

验证丢弃配置文件

目的

验证是否创建了滴液剖dp-be-high面 、 dp-be-low、 以及dp-hpcdp-nc正确的填充水平和跌落概率。

行动

使用操作模式命令 show configuration class-of-service drop-profiles列出丢弃配置文件:

意义

show configuration class-of-service drop-profiles 命令将列出丢弃配置文件及其属性。命令输出显示配置了四个丢弃配置文件: dp-be-highdp-be-lowdp-hpcdp-nc。输出还显示:

  • 对于 dp-be-low,丢弃起点(第一个填充级别)是指队列已满 25% 时,丢弃端点(第二个填充级别)发生在队列已填充 50% 时,丢弃端点处的丢弃概率为 80%。

  • 对于 dp-be-high,丢弃起点(第一个填充级别)是指队列已满 10% 时,丢弃端点(第二个填充级别)发生在队列填充 40% 时,丢弃端点处的丢弃概率为 100%。

  • 对于 dp-hpc,丢弃起点(第一个填充级别)是指队列已满 75% 时,放置端点(第二个填充级别)发生在队列已满 90% 时,放置端点处的丢弃概率为 75%。

  • 对于 dp-nc,丢弃起点(第一个填充级别)是指队列已满 80% 时,放置端点(第二个填充级别)发生在队列 100% 已满时,并且丢弃端点处的丢弃概率为 100%。

验证优先级组输出调度程序(流量控制配置文件)

目的

验证是否创建了流量控制配置文件 be-tcp、 以及gd-tcphpc-tcp正确的带宽参数和调度程序映射。

行动

使用操作模式命令 show class-of-service traffic-control-profile列出流量控制配置文件:

意义

show class-of-service traffic-control-profile 命令将列出所有已配置的流量控制配置文件。对于每个流量控制配置文件,命令输出包括:

  • 流量控制配置文件的名称 (traffic-control-profile

  • 优先级组可以使用的最大端口带宽 (shaping-rate

  • 与流量控制配置文件 (scheduler-map) 关联的调度程序图

  • 最低保证优先级组端口带宽 (guaranteed-rate

命令输出显示:

  • 信息流控制配置文件 be-tcp 可以消耗最大 100 percent 端口带宽,与调度程序映射 be-map相关联,并且具有最小保证带宽 3,500,000,000 bps

  • 信息流控制配置文件 gd-tcp 可以消耗最大 100 percent 端口带宽,与调度程序映射 gd-map相关联,并且具有最小保证带宽 4,500,000,000 bps

  • 信息流控制配置文件 hpc-tcp 可以消耗最大 100 percent 端口带宽,与调度程序映射 hpc-map相关联,并且具有最小保证带宽 2,000,000,000 bps

验证接口配置

目的

验证是否在接口 xe-0/0/20xe-0/0/21上配置了分类器、拥塞通知配置文件和转发类集。

行动

列出使用操作模式命令 show configuration class-of-service interfaces xe-0/0/20 的接口,并 show configuration class-of-service interfaces xe-0/0/21

意义

命令显示 show configuration class-of-service interfaces interface-name 每个接口都包括转发类集 best-effort-pgguar-delivery-pg、 和 hpc-pg、 拥塞通知配置文件 gd-cnp以及 IEEE 802.1p 分类器 hsclassifier1