• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

10-ACL和QoS配置指导

目录

02-QoS配置

本章节下载 02-QoS配置  (971.09 KB)

02-QoS配置

目 

1 QoS概述

1.1 QoS服务模型简介

1.1.1 Best-Effort服务模型

1.1.2 IntServ服务模型

1.1.3 DiffServ服务模型

1.2 QoS技术在网络中的位置

1.3 QoS技术在设备中的处理顺序

1.4 QoS配置方式

2 QoS策略

2.1 QoS策略简介

2.2 QoS策略配置任务简介

2.3 定义类

2.4 定义流行为

2.5 定义策略

2.6 应用策略

2.6.1 设备支持的策略应用位置

2.6.2 策略应用限制和指导

2.6.3 基于以太网服务实例应用QoS策略

2.6.4 基于接口应用QoS策略

2.6.5 基于VLAN应用QoS策略

2.6.6 基于全局应用QoS策略

2.6.7 基于控制平面应用QoS策略

2.7 QoS策略显示和维护

2.7.1 显示QoS策略配置

2.7.2 显示QoS策略运行状况

2.7.3 显示QoS和ACL资源使用情况

2.7.4 清除QoS策略统计信息

3 优先级映射

3.1 优先级映射简介

3.1.1 优先级介绍

3.1.2 优先级映射表

3.1.3 优先级映射配置方式

3.1.4 优先级映射过程

3.2 优先级映射配置任务简介

3.3 配置优先级映射表

3.4 配置优先级信任模式

3.5 配置端口优先级

3.6 优先级映射显示和维护

3.7 优先级映射典型配置举例

3.7.1 优先级信任模式和端口优先级配置举例

3.7.2 优先级映射表和重标记配置举例

4 流量监管、流量整形和限速

4.1 流量监管、流量整形和限速简介

4.1.1 流量评估与令牌桶

4.1.2 流量监管

4.1.3 流量整形

4.1.4 限速

4.2 配置流量监管

4.3 配置流量整形

4.4 配置限速

4.5 配置QoS限速及统计时的报文补偿长度

4.6 流量监管、流量整形和限速显示和维护

4.6.1 显示流量监管或流量整形配置(MQC方式)

4.6.2 显示流量监管、流量整形和限速配置及统计信息(非MQC方式)

4.6.3 显示QoS和ACL资源使用情况

5 拥塞管理

5.1 拥塞管理简介

5.1.1 拥塞的产生、影响和对策

5.1.2 设备支持的拥塞管理方法

5.2 拥塞管理配置任务简介

5.3 配置接口队列

5.3.1 接口队列配置限制和指导

5.3.2 配置SP队列

5.3.3 配置WRR队列

5.3.4 配置WFQ队列

5.3.5 配置SP+WRR队列

5.3.6 配置SP+WFQ队列

5.4 配置队列调度策略

5.4.1 队列调度策略简介

5.4.2 配置限制和指导

5.4.3 创建队列调度策略

5.4.4 应用队列调度策略

5.4.5 队列调度策略典型配置举例

5.5 拥塞管理显示和维护

5.5.1 显示接口队列配置

5.5.2 显示队列调度策略配置及运行状况

5.5.3 显示接口队列统计信息

6 拥塞避免

6.1 拥塞避免简介

6.1.1 传统的丢包策略

6.1.2 RED与WRED

6.1.3 WRED和队列机制的关系

6.1.4 拥塞通知(ECN功能)

6.1.5 WRED的参数说明

6.2 配置队列的WRED参数

6.2.1 配置限制和指导

6.2.2 配置步骤

6.3 配置接口应用WRED表

6.3.1 配置限制和指导

6.3.2 配置步骤

6.3.3 配置接口应用WRED表典型配置举例

6.4 配置指定队列的时延ECN功能

6.5 配置指定队列的动态ECN功能

6.6 拥塞避免显示和维护

7 Traffic Matrix

7.1 Traffic Matrix简介

7.2 Traffic Matrix配置限制和指导

7.3 配置Traffic Matrix

7.4 Traffic Matrix显示和维护

8 大小流区分调度

8.1 大小流区分调度简介

8.2 大小流区分调度配置限制和指导

8.3 配置大小流区分调度

8.4 开启大小流自适应缓存功能

9 流量过滤

9.1 流量过滤简介

9.2 流量过滤配置限制和指导

9.3 配置流量过滤

9.4 流量过滤显示和维护

9.5 流量过滤典型配置举例

9.5.1 流量过滤基本组网配置举例

10 重标记

10.1 重标记简介

10.2 配置重标记

10.3 配置镜像报文的本地优先级

10.4 重标记典型配置举例

10.4.1 重标记基本组网配置举例

11 流量重定向

11.1 流量重定向简介

11.2 流量重定向配置限制和指导

11.3 配置流量重定向

11.4 流量重定向显示和维护

11.5 流量重定向典型配置举例

11.5.1 重定向至接口配置举例

12 流量统计

12.1 流量统计简介

12.2 流量统计配置限制和指导

12.3 配置流量统计

12.4 流量统计显示和维护

12.5 流量统计典型配置举例

12.5.1 流量统计基本组网配置举例

13 端口队列统计

13.1 端口队列统计显示和维护

14 附录

14.1 附录 A 缩略语表

14.2 附录 B 缺省优先级映射表

14.2.1 优先级映射表

14.3 附录 C 各种优先级介绍

14.3.1 IP优先级和DSCP优先级

14.3.2 802.1p优先级

 


1 QoS概述

QoS即服务质量。对于网络业务,影响服务质量的因素包括传输的带宽、传送的时延、数据的丢包率等。在网络中可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施来提高服务质量。网络资源总是有限的,在保证某类业务的服务质量的同时,可能就是在损害其它业务的服务质量。因此,网络管理者需要根据各种业务的特点来对网络资源进行合理的规划和分配,从而使网络资源得到高效利用。

1.1  QoS服务模型简介

通常QoS提供以下三种服务模型:

·     Best-Effort service(尽力而为服务模型)

·     Integrated service(综合服务模型,简称IntServ)

·     Differentiated service(区分服务模型,简称DiffServ)

1.1.1  Best-Effort服务模型

Best-Effort是一个单一的服务模型,也是最简单的服务模型。对Best-Effort服务模型,网络尽最大的可能性来发送报文。但对时延、可靠性等性能不提供任何保证。

Best-Effort服务模型是网络的缺省服务模型,通过FIFO队列来实现。它适用于绝大多数网络应用,如FTP、E-Mail等。

1.1.2  IntServ服务模型

IntServ是一个综合服务模型,它可以满足多种QoS需求。该模型使用RSVP协议,RSVP运行在从源端到目的端的每个设备上,可以监视每个流,以防止其消耗资源过多。这种体系能够明确区分并保证每一个业务流的服务质量,为网络提供最细粒度化的服务质量区分。

但是,IntServ模型对设备的要求很高,当网络中的数据流数量很大时,设备的存储和处理能力会遇到很大的压力。IntServ模型可扩展性很差,难以在Internet核心网络实施。

1.1.3  DiffServ服务模型

DiffServ是一个多服务模型,它可以满足不同的QoS需求。与IntServ不同,它不需要通知网络为每个业务预留资源。区分服务实现简单,扩展性好。

本文提到的技术都是基于DiffServ服务模型。

1.2  QoS技术在网络中的位置

QoS技术包括流分类、流量监管、流量整形、限速、拥塞管理、拥塞避免等。下面对常用的技术进行简单地介绍。

图1-1 常用QoS技术在网络中的位置

 

图1-1所示,流分类、流量监管、流量整形、拥塞管理和拥塞避免主要完成如下功能:

·     流分类:采用一定的规则识别符合某类特征的报文,它是对网络业务进行区分服务的前提和基础。

·     流量监管:对进入或流出设备的特定流量进行监管,以保护网络资源不受损害。可以作用在接口入方向和出方向。

·     流量整形:一种主动调整流的输出速率的流量控制措施,用来使流量适配下游设备可供给的网络资源,避免不必要的报文丢弃,通常作用在接口出方向。

·     拥塞管理:当拥塞发生时制定一个资源的调度策略,决定报文转发的处理次序,通常作用在接口出方向。

·     拥塞避免:监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报文的策略,通过调整队列长度来解除网络的过载,通常作用在接口出方向。

1.3  QoS技术在设备中的处理顺序

图1-2简要描述了各种QoS技术在网络设备中的处理顺序。

(1)     首先通过流分类对各种业务进行识别和区分,它是后续各种动作的基础;

(2)     通过各种动作对特定的业务进行处理。这些动作需要和流分类关联起来才有意义。具体采取何种动作,与所处的阶段以及网络当前的负载状况有关。例如,当报文进入网络时进行流量监管;流出节点之前进行流量整形;拥塞时对队列进行拥塞管理;拥塞加剧时采取拥塞避免措施等。

图1-2 各QoS技术在同一网络设备中的处理顺序

 

1.4  QoS配置方式

QoS的配置方式分为MQC方式(模块化QoS配置,Modular QoS Configuration)和非MQC方式。

MQC方式通过QoS策略定义不同类别的流量要采取的动作,并将QoS策略应用到不同的目标位置(例如接口)来实现对业务流量的控制。

非MQC方式则通过直接在目标位置上配置QoS参数来实现对业务流量的控制。例如,在接口上配置限速功能来达到限制接口流量的目的。

有些QoS功能只能使用其中一种方式来配置,有些使用两种方式都可以进行配置。在实际应用中,两种配置方式也可以结合起来使用。


2 QoS策略

2.1  QoS策略简介

QoS策略由如下部分组成:

·     类,定义了对报文进行识别的规则。

·     流行为,定义了一组针对类识别后的报文所做的QoS动作。

通过将类和流行为关联起来,QoS策略可对符合分类规则的报文执行流行为中定义的动作。

用户可以在一个策略中定义多个类与流行为的绑定关系。

2.2  QoS策略配置任务简介

QoS策略配置任务如下:

(1)     定义类

(2)     定义流行为

(3)     定义策略

(4)     应用策略

¡     基于接口应用QoS策略

¡     基于VLAN应用QoS策略

¡     基于全局应用QoS策略

¡     基于控制平面应用QoS策略

2.3  定义类

(1)     进入系统视图。

system-view

(2)     创建类,并进入类视图。

traffic classifier classifier-name [ operator { and | or } ]

(3)     (可选)配置类的描述信息。

description text

缺省情况下,未配置类的描述信息。

(4)     定义匹配数据包的规则。

if-match match-criteria

缺省情况下,未定义匹配数据包的规则。

具体规则的介绍,请参见“QoS命令”中的if-match命令。

2.4  定义流行为

(1)     进入系统视图。

system-view

(2)     创建流行为,并进入流行为视图。

traffic behavior behavior-name

(3)     配置流行为的动作。

缺省情况下,未配置流行为的动作。

流行为动作就是对符合流分类的报文做出相应的QoS动作,例如流量监管、流量过滤、重标记、流量统计等,具体情况请参见本文相关章节。同一个流行为下可以配置多个转发动作。

2.5  定义策略

1. 配置限制和指导

QoS策略下可以存在多个CB(Classifier-Behavior)对,应用QoS策略之后,报文按顺序逐个匹配QoS策略中CB对,如果匹配到某个CB对,则报文直接执行该CB对中指定流行为的所有转发动作,报文不再继续匹配其他CB对。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建QoS策略,并进入策略视图。

qos [ accounting | mirroring | remarking ] policy policy-name

(3)     为类指定流行为,即配置CB(Classifier-Behavior)对。

classifier classifier-name behavior behavior-name [ mode { dcbx| loose } | insert-before before-classifier-name ] *

缺省情况下,未指定类对应的流行为。

参数

说明

dcbx

表示该策略为DCBX(Data Center Bridging Exchange Protocol,数据中心桥能力交换协议)模式。有关DCBX的介绍,请参见“二层技术-以太网交换配置指导”中的“LLDP”

loose

表示该流分类与流行为的关联模式为宽松模式。仅基于控制平面应用QoS策略时,本模式才会生效

 

 

2.6  应用策略

2.6.1  设备支持的策略应用位置

QoS策略支持应用在如下位置:

·     基于以太网服务实例应用QoS策略,支持在入方向和出方向应用。

·     基于接口应用QoS策略,支持在入方向和出方向应用。

·     基于VLAN应用QoS策略,支持在入方向和出方向应用。

·     基于全局应用QoS策略,支持在入方向和出方向应用。

·     基于控制平面应用QoS策略,仅支持在入方向应用。

2.6.2  策略应用限制和指导

QoS策略应用后:

·     用户仍然可以修改QoS策略中的流分类规则和流行为,以及二者的对应关系。当流分类规则中使用ACL匹配报文时,允许删除或修改该ACL(包括向该ACL中添加、删除和修改匹配规则)。

·     如果一个流行为中配置了多个动作,而其中某个动作未生效,则该CB对(即通过classifier behavior命令关联的一个流分类和一个流行为)都不会生效。

2.6.3  基于以太网服务实例应用QoS策略

1. 配置限制和指导

关于以太网服务实例的相关配置命令,请参见“VXLAN命令参考”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。请选择其中一项进行配置。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     创建以太网服务实例,并进入以太网服务实例视图。

service-instance instance-id

(4)     在以太网服务实例上应用已创建的QoS策略。

qos apply policy policy-name { inbound | outbound }

缺省情况下,未在以太网服务实例上应用QoS策略。

2.6.4  基于接口应用QoS策略

1. 配置限制和指导

基于接口应用QoS策略时需要注意的是:

·     一个QoS策略可以应用于多个接口,但在接口的每个方向(出和入两个方向)每种类型的QoS策略只能应用一个。

·     QoS策略应用在出方向时,对设备发出的协议报文不起作用,以确保这些报文在策略误配置时仍然能够正常发出,维持设备的正常运行。常见的本地协议报文如下:链路维护报文、RIP、SSH等。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     在接口上应用已创建的QoS策略。

qos apply [ accounting | mirroring | remarking ] policy policy-name { inbound | outbound } [ share-mode ]

缺省情况下,未在接口上应用QoS策略。

2.6.5  基于VLAN应用QoS策略

1. 功能简介

基于VLAN应用QoS策略可以对属于某个VLAN内的所有接口上的流量进行管理。

2. 配置限制和指导

基于VLAN应用的QoS策略时需要注意的是:

·     不能应用在动态VLAN上,例如GVRP协议创建的VLAN。

·     当设备QACL资源不足导致VLAN应用QoS策略失败时,用户可以执行undo qos vlan-policy命令进行手工删除。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     在指定VLAN上应用已创建的QoS策略。

qos vlan-policy policy-name vlan vlan-id-list { inbound | outbound }

缺省情况下,未在指定VLAN上应用QoS策略。

2.6.6  基于全局应用QoS策略

1. 功能简介

基于全局应用QoS策略后可以对设备所有接口上的流量进行管理。

2. 配置限制和指导

基于全局应用QoS策略时需要注意的是,当设备资源不足导致全局应用QoS策略失败时,用户可以执行undo qos apply policy global命令进行手工删除。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     全局应用已创建的QoS策略。

qos apply [ accounting | mirroring | remarking ] policy policy-name global { inbound | outbound }

缺省情况下,未在全局应用QoS策略。

2.6.7  基于控制平面应用QoS策略

1. 功能简介

设备上存在用户平面和控制平面:

·     用户平面(User Plane):是指对报文进行收发、交换的处理单元,它的主要工作是转发报文。在设备上,与之相对应的核心物理实体就是各种专用转发芯片,它们有极高的处理速度和很强的数据吞吐能力。

·     控制平面(Control Plane):是指运行大部分路由交换协议进程的处理单元,它的主要工作是进行协议报文的解析和协议的计算。在设备上,与之相对应的核心物理实体就是CPU,它具备灵活的报文处理能力,但数据吞吐能力有限。

用户平面接收到无法识别或处理的报文会送到控制平面进行进一步处理。如果上送控制平面的报文速率超过了控制平面的处理能力,那么上送控制平面的报文会得不到正确转发或及时处理,从而影响协议的正常运行。

为了解决此问题,用户可以把QoS策略应用在控制平面上,通过对上送控制平面的报文进行过滤、限速等QoS处理,达到保护控制平面正常报文的收发、维护控制平面正常处理状态的目的。

预定义的QoS策略中通过协议类型或者协议组类型来标识各种上送控制平面的报文类型,用户也可以在流分类视图下通过if-match control-plane命令引用这些协议类型或者协议组类型来进行报文分类,然后根据需要为这些报文重新配置流行为。系统预定义的QoS策略信息可以通过display qos policy control-plane pre-defined命令查看。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入控制平面视图。

control-plane slot slot-number

(3)     在控制平面上应用已创建的QoS策略。

qos apply policy policy-name inbound

缺省情况下,未在控制平面上应用QoS策略。

2.7  QoS策略显示和维护

2.7.1  显示QoS策略配置

可在任意视图下执行以下命令:

·     显示类的配置信息。

display traffic classifier user-defined [ classifier-name ] [ slot slot-number ]

·     显示流行为的配置信息。

display traffic behavior user-defined [ behavior-name ] [ slot slot-number ]

·     显示QoS策略的配置信息。

display qos policy user-defined [ accounting | mirroring | remarking ] [ policy-name [ classifier classifier-name ] ] [ slot slot-number ]

·     显示系统预定义的控制平面应用QoS策略的信息。

display qos policy control-plane pre-defined [ slot slot-number ]

2.7.2  显示QoS策略运行状况

可在任意视图下执行以下命令:

·     显示接口上QoS策略的配置信息和运行情况。

 

display qos [ accounting | mirroring | remarking ] policy interface [ interface-type interface-number ] [ inbound | outbound ]

·     显示基于VLAN应用QoS策略的信息。

display qos vlan-policy { name policy-name | vlan [ vlan-id ] } [ slot slot-number ] [ inbound | outbound ]

·     显示基于全局应用QoS策略的信息。

display qos [ accounting | mirroring | remarking ] policy global [ slot slot-number ] [ inbound | outbound ]

·     显示基于控制平面应用QoS策略的信息。

display qos policy control-plane slot slot-number

·     显示L2VPN AC承载的以太网服务实例上QoS策略的配置信息和运行情况。

display qos policy l2vpn-ac [ interface interface-type interface-number [ service-instance instance-id ] [ slot slot-number ] ] [ inbound | outbound ]

2.7.3  显示QoS和ACL资源使用情况

可在任意视图下执行以下命令,显示QoS和ACL资源的使用情况。

display qos-acl resource [ advance ] [ slot slot-number ]

2.7.4  清除QoS策略统计信息

请在用户视图下执行以下命令:

·     清除VLAN应用QoS策略的统计信息。

reset qos vlan-policy [ vlan vlan-id ] [ inbound | outbound ]

·     清除全局应用QoS策略的统计信息。

reset qos [ accounting | mirroring | remarking ] policy global [ inbound | outbound ]

·     清除控制平面应用QoS策略的统计信息。

reset qos policy control-plane slot slot-number


3 优先级映射

3.1  优先级映射简介

优先级映射可以将报文携带的优先级字段映射成指定优先级字段值,设备根据映射后的优先级字段,为报文提供有差别的QoS服务,从而为全面有效的控制报文的转发调度等级提供依据。

3.1.1  优先级介绍

优先级用于标识报文传输的优先程度,可以分为两类:报文携带优先级和设备调度优先级。

报文携带优先级包括:802.1p优先级、DSCP优先级、IP优先级、EXP优先级等。这些优先级都是根据公认的标准和协议生成,体现了报文自身的优先等级。相关介绍请参见“14.3  附录 C 各种优先级介绍”。

设备调度优先级是指报文在设备内转发时所使用的优先级,只对当前设备自身有效。设备调度优先级包括以下几种:

·     本地优先级(LP):设备为报文分配的一种具有本地意义的优先级,每个本地优先级对应一个队列,本地优先级值越大的报文,进入的队列优先级越高,从而能够获得优先的调度。

·     丢弃优先级(DP):在进行报文丢弃时参考的参数,丢弃优先级值越大的报文越被优先丢弃。

·     用户优先级(UP):设备对于进入的流量,会自动获取报文的优先级作为后续转发调度的参数,这种报文优先级称为用户优先级。对于不同类型的报文,用户优先级所代表的优先级字段不同。对于二层报文,用户优先级取自802.1p优先级;对于三层报文,用户优先级取自IP优先级;对于MPLS报文,用户优先级取自EXP。

设备仅支持以本地优先级(LP)和丢弃优先级(DP)作为设备调度优先级。

3.1.2  优先级映射表

设备提供了多张优先级映射表,分别对应不同的优先级映射关系。

通常情况下,设备可以通过查找缺省优先级映射表(14.2  附录 B 缺省优先级映射表)来为报文分配相应的优先级。如果缺省优先级映射表无法满足用户需求,可以根据实际情况对映射表进行修改。

3.1.3  优先级映射配置方式

优先级映射配置方式包括:优先级信任模式方式、端口优先级方式。

1. 优先级信任模式方式

配置端口的优先级信任模式后,设备将信任报文自身携带的优先级。通过优先级映射表,使用所信任的报文携带优先级进行优先级映射,根据映射关系完成对报文优先级的修改,以及实现报文在设备内部的调度。

2. 端口优先级方式

未配置端口的优先级信任模式时,设备会将端口优先级作为报文自身的优先级。通过优先级映射表,对报文进行映射。用户可以配置端口优先级,通过优先级映射,使不同端口收到的报文进入对应的队列,以此实现对不同端口收到报文的差异化调度。

3.1.4  优先级映射过程

对于接收到的以太网报文,根据优先级信任模式和报文的802.1Q标签状态,设备将采用不同的方式为其标记调度优先级。如图3-1所示:

图3-1 以太网报文优先级映射过程

 

 

说明

关于重标记优先级功能的介绍,请参见重标记

 

3.2  优先级映射配置任务简介

优先级映射配置任务如下:

(1)     (可选)配置优先级映射表

(2)     配置优先级映射方式。

¡     配置优先级信任模式

¡     配置端口优先级

3.3  配置优先级映射表

(1)     进入系统视图。

system-view

(2)     进入指定的优先级映射表视图。

qos map-table { dot1p-dp | dot1p-dscp | dot1p-lp | dscp-dot1p | lp-dot1p }

(3)     配置指定优先级映射表的映射关系。

import import-value-list export export-value

缺省情况下,优先级映射表的映射关系请参见“附录B”。

多次执行本命令,最后一次执行的命令生效。

3.4  配置优先级信任模式

1. 功能简介

配置优先级信任模式后,设备将根据报文自身的优先级,查找优先级映射表,为报文分配优先级参数。

在配置接口上的优先级模式时,用户可以选择下列信任模式:

·     dot1p:信任报文自带的802.1p优先级,以此优先级进行优先级映射。

·     dscp:信任IP报文自带的DSCP优先级,以此优先级进行优先级映射。

2. 配置限制和指导

仅S9827系列交换机支持在Tunnel接口下配置本命令,并且需要在Tunnel接口所在的以太网接口上同时配置才能生效。

不建议在同一接口上同时配置qos priorityqos trust命令,同时配置时qos priority对带VLAN Tag的报文不生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置优先级信任模式。

qos trust { dot1p | dscp } [ override ]

缺省情况下,设备信任端口优先级。当设备同时存在二三层接口时,二层转发报文信任报文自带的802.1p优先级,三层转发报文信任端口优先级进行优先级映射。

override参数表示通过优先级映射表取得的优先级将覆盖报文本身的优先级。

(4)     退回系统视图。

quit

(5)     (可选)配置全局优先级信任模式。

qos trust tunnel-dscp

缺省情况下,未配置全局优先级信任模式。

3.5  配置端口优先级

1. 功能简介

按照接收端口的端口优先级,设备通过一一映射为报文分配相应的优先级。

2. 配置限制和指导

不建议在同一接口上同时配置qos priorityqos trust命令,同时配置时qos priority对带VLAN Tag的报文不生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置端口优先级。

qos priority [ dscp ] priority-value

缺省情况下,端口优先级为0。

3.6  优先级映射显示和维护

可在任意视图下执行以下命令:

·     显示指定优先级映射表配置情况。

display qos map-table [ dot1p-dp | dot1p-dscp | dot1p-lp | dscp-dot1p | lp-dot1p ]

·     显示端口优先级信任模式信息。

display qos trust interface [ interface-type interface-number ]

3.7  优先级映射典型配置举例

3.7.1  优先级信任模式和端口优先级配置举例

1. 组网需求

Device A和Device B通过Device C实现互连。网络环境描述如下:

·     Device A通过端口FourHundredGigE1/0/1接入Device C,向Device C发送dot1p值为3的报文;

·     Device B通过端口FourHundredGigE1/0/2接入Device C,向Device C发送dot1p值为1的报文。

要求通过配置实现如下需求:如果Device C在接口FourHundredGigE1/0/3的出方向发生拥塞,则优先让Device A访问Server。

2. 组网图‌

图3-2 优先级信任模式和端口优先级配置组网图

3. 配置步骤

·     方法一

# 在接口FourHundredGigE1/0/1和FourHundredGigE1/0/2上分别配置优先级信任模式为dot1p

<DeviceC> system-view

[DeviceC] interface fourhundredgige 1/0/1

[DeviceC-FourHundredGigE1/0/1] qos trust dot1p

[DeviceC-FourHundredGigE1/0/1] quit

[DeviceC] interface fourhundredgige 1/0/2

[DeviceC-FourHundredGigE1/0/2] qos trust dot1p

[DeviceC-FourHundredGigE1/0/2] quit

·     方法二

# 在接口FourHundredGigE1/0/1和FourHundredGigE1/0/2上分别配置端口优先级,FourHundredGigE1/0/1上配置的端口优先级值要高于FourHundredGigE1/0/2上配置的端口优先级值。(同时保证在接口FourHundredGigE1/0/1和FourHundredGigE1/0/2上没有配置信任模式。)

<DeviceC> system-view

[DeviceC] interface fourhundredgige 1/0/1

[DeviceC-FourHundredGigE1/0/1] qos priority 3

[DeviceC-FourHundredGigE1/0/1] quit

[DeviceC] interface fourhundredgige 1/0/2

[DeviceC-FourHundredGigE1/0/2] qos priority 1

[DeviceC-FourHundredGigE1/0/2] quit

3.7.2  优先级映射表和重标记配置举例

1. 组网需求

公司企业网通过Device实现各部门之间的互连。网络环境描述如下:

·     市场部门通过端口FourHundredGigE1/0/1接入Device,标记市场部门发出的报文的802.1p优先级为3;

·     研发部门通过端口FourHundredGigE1/0/2接入Device,标记研发部门发出的报文的802.1p优先级为4;

·     管理部门通过端口FourHundredGigE1/0/3接入Device,标记管理部门发出的报文的802.1p优先级为5。

实现如下需求:

访问公共服务器的时候,研发部门 > 管理部门 > 市场部门。

访问Internet的时候,管理部门 > 市场部门 > 研发部门。

2. 组网图

图3-3 优先级映射表和重标记配置组网图

3. 配置思路

访问公共服务器的时候,研发部门 > 管理部门 > 市场部门。

·     通过优先级映射将研发部门发出的报文放入出队列6中,优先进行处理;

·     通过优先级映射将管理部门发出的报文放入出队列4中,次优先进行处理;

·     通过优先级映射将市场部门发出的报文放入出队列2中,最后进行处理。

访问Internet的时候,管理部门 > 市场部门 > 研发部门。

·     重标记管理部门发出的报文本地优先级为6,优先进行处理;

·     重标记市场部门发出的报文的本地优先级为4,次优先进行处理;

·     重标记研发部门发出的报文的本地优先级为2,最后进行处理。

4. 配置步骤

(1)     配置端口的端口优先级

# 配置端口FourHundredGigE1/0/1的端口优先级为3。

<Device> system-view

[Device] interface fourhundredgige 1/0/1

[Device-FourHundredGigE1/0/1] qos priority 3

[Device-FourHundredGigE1/0/1] quit

# 配置端口FourHundredGigE1/0/2的端口优先级为4。

[Device] interface fourhundredgige 1/0/2

[Device-FourHundredGigE1/0/2] qos priority 4

[Device-FourHundredGigE1/0/2] quit

# 配置端口FourHundredGigE1/0/3的端口优先级为5。

[Device] interface fourhundredgige 1/0/3

[Device-FourHundredGigE1/0/3] qos priority 5

[Device-FourHundredGigE1/0/3] quit

(2)     配置优先级映射表

# 配置802.1p优先级到本地优先级映射表,将802.1p优先级3、4、5对应的本地优先级配置为2、6、4。保证访问服务器的优先级为研发部门(6)>管理部门(4)>市场部门(2)。

[Device] qos map-table dot1p-lp

[Device-maptbl-dot1p-lp] import 3 export 2

[Device-maptbl-dot1p-lp] import 4 export 6

[Device-maptbl-dot1p-lp] import 5 export 4

[Device-maptbl-dot1p-lp] quit

(3)     配置重标记

# 将管理、市场、研发部门发出的HTTP报文的802.1p优先级分别重标记为4、5、3,使其能根据前面配置的映射表分别映射到本地优先级6、4、2。

# 创建ACL 3000,用来匹配HTTP报文。

[Device] acl advanced 3000

[Device-acl-adv-3000] rule permit tcp destination-port eq 80

[Device-acl-adv-3000] quit

# 创建流分类,匹配ACL 3000。

[Device] traffic classifier http

[Device-classifier-http] if-match acl 3000

[Device-classifier-http] quit

# 配置管理部门的重标记策略并应用到接口FourHundredGigE1/0/3的入方向。

[Device] traffic behavior admin

[Device-behavior-admin] remark dot1p 4

[Device-behavior-admin] quit

[Device] qos policy admin

[Device-qospolicy-admin] classifier http behavior admin

[Device-qospolicy-admin] quit

[Device] interface fourhundredgige 1/0/3

[Device-FourHundredGigE1/0/3] qos apply policy admin inbound

# 配置市场部门的重标记策略并应用到接口FourHundredGigE1/0/1的入方向。

[Device] traffic behavior market

[Device-behavior-market] remark dot1p 5

[Device-behavior-market] quit

[Device] qos policy market

[Device-qospolicy-market] classifier http behavior market

[Device-qospolicy-market] quit

[Device] interface fourhundredgige 1/0/1

[Device-FourHundredGigE1/0/1] qos apply policy market inbound

# 配置研发部门的重标记策略并应用到接口FourHundredGigE1/0/2的入方向。

[Device] traffic behavior rd

[Device-behavior-rd] remark dot1p 3

[Device-behavior-rd] quit

[Device] qos policy rd

[Device-qospolicy-rd] classifier http behavior rd

[Device-qospolicy-rd] quit

[Device] interface fourhundredgige 1/0/2

[Device-FourHundredGigE1/0/2] qos apply policy rd inbound


4 流量监管、流量整形和限速

4.1  流量监管、流量整形和限速简介

为了使有限的网络资源能够更好地发挥效用,更好地为更多用户提供服务,就必须对流量加以限制。流量监管、流量整形和限速可以实现流量的速率限制功能,而要实现此功能就必须对通过设备的流量进行度量。一般采用令牌桶(Token Bucket)对流量进行度量。

4.1.1  流量评估与令牌桶

1. 令牌桶

令牌桶可以看作是一个存放一定数量令牌的容器。系统按设定的速度向桶中放置令牌,当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加。

2. 用令牌桶评估流量

在用令牌桶评估流量规格时,是以令牌桶中的令牌数量是否足够满足报文的转发为依据的。如果桶中存在足够的令牌可以用来转发报文,称流量遵守或符合这个规格,否则称为不符合或超标。

评估流量时令牌桶的参数包括:

·     平均速率:向桶中放置令牌的速率,即允许的流的平均速度。通常配置为CIR。

·     突发尺寸:令牌桶的容量,即每次突发所允许的最大的流量尺寸。通常配置为CBS,突发尺寸必须大于最大报文长度。

每到达一个报文就进行一次评估。每次评估,如果桶中有足够的令牌可供使用,则说明流量控制在允许的范围内,此时要从桶中取走满足报文的转发的令牌;否则说明已经耗费太多令牌,流量超标了。

3. 复杂评估

为了评估更复杂的情况,实施更灵活的调控策略,可以使用两个令牌桶(分别称为C桶和E桶)对流量进行评估。主要有如下三种算法。

(1)     单速率单桶双色算法

¡     CIR:表示向C桶中投放令牌的速率,即C桶允许传输或转发报文的平均速率;

¡     CBS:表示C桶的容量,即C桶瞬间能够通过的承诺突发流量。

每次评估时,依据下面的情况,可以分别实施不同的流控策略:

¡     如果C桶有足够的令牌,报文被标记为green,即绿色报文;

¡     如果C桶令牌不足,报文被标记为red,即红色报文。

(2)     单速率双桶三色算法

¡     CIR:表示向C桶中投放令牌的速率,即C桶允许传输或转发报文的平均速率;

¡     CBS:表示C桶的容量,即C桶瞬间能够通过的承诺突发流量;

¡     EBS:表示E桶的容量的增量,即E桶瞬间能够通过的超出突发流量,取值不为0。E桶的容量等于CBS与EBS的和。

每次评估时,依据下面的情况,可以分别实施不同的流控策略:

¡     如果C桶有足够的令牌,报文被标记为green,即绿色报文;

¡     如果C桶令牌不足,但E桶有足够的令牌,报文被标记为yellow,即黄色报文;

¡     如果C桶和E桶都没有足够的令牌,报文被标记为red,即红色报文。

(3)     双速率双桶三色算法

¡     CIR:表示向C桶中投放令牌的速率,即C桶允许传输或转发报文的平均速率;

¡     CBS:表示C桶的容量,即C桶瞬间能够通过的承诺突发流量;

¡     PIR:表示向E桶中投放令牌的速率,即E桶允许传输或转发报文的最大速率;

¡     EBS:表示E桶的容量,即E桶瞬间能够通过的超出突发流量。

每次评估时,依据下面的情况,可以分别实施不同的流控策略:

¡     如果C桶有足够的令牌,报文被标记为green,即绿色报文;

¡     如果C桶令牌不足,但E桶有足够的令牌,报文被标记为yellow,即黄色报文;

¡     如果C桶和E桶都没有足够的令牌,报文被标记为red,即红色报文。

4.1.2  流量监管

流量监管就是对流量进行控制,通过监督本节点中的流量速率,对超出规格部分的流量进行“惩罚”,使流量被限制在一个合理的范围之内,以保护网络资源和运营商的利益。例如,可以限制HTTP报文不能占用50%以上的网络带宽。如果发现流量超出规格,则丢弃超规格部分的流量。

图4-1 流量监管示意图

 

流量监管还可以对所监管流量进行差异化处理,依据不同的评估结果,实施不同的监管动作。这些动作包括转发、丢弃。

4.1.3  流量整形

流量整形是一种主动调整流量输出速率的措施,它可以对超规格部分的流量进行缓存(通常是将它们放入缓冲区或队列内,如图4-2所示),当令牌桶有足够的令牌时,再均匀的向外发送这些被缓存的报文。流量整形与流量监管相比,有如下两点差异:

·     流量整形会将超规格部分的流量进行缓存,可以解决流量监管中的丢包问题。

·     由于流量整形会将超规格部分的流量进行缓存,所以会增加这部分流量的延迟。

图4-2 流量整形示意图

 

流量整形的一个典型应用是,参照下游网络节点的流量监管指标,合理配置流量整形速率,控制本节点流量的输出速率,以避免过多流量发往下游网络节点、在下游网络节点上被监管并丢弃超规格流量。例如,在图4-3所示的网络中,Device A向Device B发送报文。Device B要对Device A发送来的报文进行流量监管,对超出规格的流量直接丢弃。

图4-3 流量整形的应用

 

为了减少报文在Device B上的无谓丢失,可以在Device A的出口配置流量整形,将超出流量整形速率的报文缓存在Device A中。当可以继续发送下一批报文时,流量整形再从缓冲队列中取出报文进行发送。这样,发向Device B的报文将都符合Device B的流量规格。

4.1.4  限速

限速可以限制报文(除紧急报文)的总速率。

限速也是采用令牌桶进行流量评估的。当令牌桶中有足够的令牌时,则允许报文通过;否则,超规格部分的报文将进入QoS队列进行拥塞管理。这样,就实现了流量的速率限制。

图4-4 限速处理过程示意图

 

由于采用了令牌桶进行流量评估,当令牌桶中存有令牌时,可以允许流量通过甚至突发,当令牌桶中没有令牌时,报文必须等到桶中生成了新的令牌后才可以通过。这就限制了流速不能大于令牌生成的速度,达到了限制流量,同时允许突发流量通过的目的。

与流量监管和流量整形相比,限速能够限制所有报文。所以当用户只需要对所有报文进行限速时,使用限速比较简单。

4.2  配置流量监管

1. 配置限制和指导

设备目前支持基于接口、全局、控制平面在入方向应用QoS策略配置流量监管。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     定义类。

a.     创建类,并进入类视图。

traffic classifier classifier-name [ operator { and | or } ]

b.     定义匹配数据包的规则。

if-match match-criteria

缺省情况下,未定义匹配数据包的规则。

具体规则的介绍,请参见“QoS命令”中的if-match命令。

c.     退回系统视图。

quit

(3)     定义流行为。

a.     创建一个流行为并进入流行为视图。

traffic behavior behavior-name

b.     配置流量监管动作。

car cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ green action | red action | yellow action ] *

car cir committed-information-rate [ cbs committed-burst-size ] pir peak-information-rate [ ebs excess-burst-size ] [ green action | red action | yellow action ] *

缺省情况下,未配置流量监管动作。

c.     退回系统视图。

quit

(4)     定义策略。

a.     创建策略并进入策略视图。

qos policy policy-name

b.     在策略中为类指定采用的流行为。

classifier classifier-name behavior behavior-name

缺省情况下,未指定类对应的流行为。

c.     退回系统视图。

quit

(5)     应用QoS策略。

具体配置请参见“2.6  应用策略”。

缺省情况下,未应用QoS策略。

4.3  配置流量整形

1. 配置限制和指导

基于队列的流量整形仅对出方向指定队列中的流量生效。

本节中的“接口”指的是二层以太网接口和三层以太网接口。三层以太网接口是指在以太网接口视图下通过port link-mode route命令切换为三层模式的以太网接口,有关以太网接口工作模式切换的操作,请参见“接口管理配置指导”中的“以太网接口”。

请配置qos gts命令的承诺信息速率大于等于qos bandwidth queue命令配置的最小保证带宽生效值。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置基于队列的流量整形。

qos gts queue queue-id cir committed-information-rate [ cbs committed-burst-size ]

缺省情况下,接口队列上未配置流量整形。

4.4  配置限速

1. 配置限制和指导

接口出方向配置小速率限速时,请勿操作(开启或关闭接口)流量控制功能,否则可能会造成设备报文转发异常。有关流量控制功能的详细介绍,请参见“接口管理配置指导”中的“以太网接口”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置接口限速。

qos lr outbound cir committed-information-rate [ cbs committed-burst-size ]

缺省情况下,接口上未配置接口限速。

4.5  配置QoS限速及统计时的报文补偿长度

1. 功能简介

在数据链路层,为了让接收端设备能够准备好处理下一帧数据,以太网标准中规定数据帧和帧之间应该存在帧间隙(Interframe Gap)、前导码(Preamble)和帧开始界定符,这三部分总长度最小为20字节。

在设备对流量进行QoS限速(包括流量限速、流量整形和流量监管)及统计时,需要基于单位时间内通过接口的报文长度来计算报文速率并限制速率上限。当网络中数据流量尺寸较小,例如平均报文长度不足100字节时,帧间隙长度会极大影响速率统计,此时根据统计的报文速率进行QoS限速时,就需要考虑帧间隙的影响。

如果设备缺省情况下对流量进行QoS限速和统计时,未包含帧间隙等信息,可以配置本功能并指定补偿长度为20字节,表示QoS限速和统计时会计算帧间隙等信息,得到更准确的流量限速和统计信息。

2. 配置限制和指导

可以在系统视图和接口下同时配置QoS限速及统计时的报文补偿长度,接口下配置的命令优先生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置全局的QoS限速及统计时的报文补偿长度。

qos overhead compensation-length length

缺省情况下,对流量进行QoS限速和统计时,未包含帧间隙等信息。

(3)     进入接口视图。

interface interface-type interface-number

(4)     配置接口的QoS限速及统计时的报文补偿长度。

qos overhead compensation-length length

缺省情况下,对流量进行QoS限速和统计时,未包含帧间隙等信息。

4.6  流量监管、流量整形和限速显示和维护

4.6.1  显示流量监管或流量整形配置(MQC方式)

可在任意视图下执行以下命令,显示流量监管的相关配置信息。

display traffic behavior user-defined [ behavior-name ]

4.6.2  显示流量监管、流量整形和限速配置及统计信息(非MQC方式)

可在任意视图下执行以下命令:

·     显示接口的流量整形配置情况和统计信息。

display qos gts interface [ interface-type interface-number ]

·     显示限速配置情况和统计信息。

display qos lr interface [ interface-type interface-number ]

4.6.3  显示QoS和ACL资源使用情况

可在任意视图下执行以下命令,显示QoS和ACL资源的使用情况。

display qos-acl resource [ advance ] [ slot slot-number ]


5 拥塞管理

5.1  拥塞管理简介

5.1.1  拥塞的产生、影响和对策

所谓拥塞,是指当前供给资源相对于正常转发处理需要资源的不足,从而导致服务质量下降的一种现象。

在复杂的Internet分组交换环境下,拥塞极为常见。以下图中的两种情况为例:

图5-1 流量拥塞示意图

 

拥塞有可能会引发一系列的负面影响:

·     拥塞增加了报文传输的延迟和抖动,可能会引起报文重传,从而导致更多的拥塞产生。

·     拥塞使网络的有效吞吐率降低,造成网络资源的利用率降低。

·     拥塞加剧会耗费大量的网络资源(特别是存储资源),不合理的资源分配甚至可能导致系统陷入资源死锁而崩溃。

在分组交换以及多用户业务并存的复杂环境下,拥塞又是不可避免的,因此必须采用适当的方法来解决拥塞。

拥塞管理的中心内容就是当拥塞发生时如何制定一个资源的调度策略,以决定报文转发的处理次序。拥塞管理的处理包括队列的创建、报文的分类、将报文送入不同的队列、队列调度等。

5.1.2  设备支持的拥塞管理方法

对于拥塞管理,一般采用队列技术,使用一个队列算法对流量进行分类,之后用某种优先级别算法将这些流量发送出去。

目前设备支持如下几种队列:

·     SP队列

·     WRR队列

·     WFQ队列

1. SP队列

图5-2 SP队列示意图

 

SP队列是针对关键业务类型应用设计的。关键业务有一个重要的特点,即在拥塞发生时要求优先获得服务以减小响应的延迟。以图5-2为例,优先队列将端口的8个输出队列分成8类,依次为7、6、5、4、3、2、1、0队列,它们的优先级依次降低。

在队列调度时,SP严格按照优先级从高到低的次序优先发送较高优先级队列中的分组,当较高优先级队列为空时,再发送较低优先级队列中的分组。这样,将关键业务的分组放入较高优先级的队列,将非关键业务的分组放入较低优先级的队列,可以保证关键业务的分组被优先传送,非关键业务的分组在处理关键业务数据的空闲间隙被传送。

SP的缺点是:拥塞发生时,如果较高优先级队列中长时间有分组存在,那么低优先级队列中的报文将一直得不到服务。

2. WRR队列

图5-3 WRR队列示意图

 

WRR队列在队列之间进行轮流调度,保证每个队列都得到一定的服务时间。以端口有8个输出队列为例,WRR可为每个队列配置一个加权值(依次为w7、w6、w5、w4、w3、w2、w1、w0),加权值表示获取资源的比重。如一个100Mbps的端口,配置它的WRR队列的加权值为50、50、30、30、10、10、10、10(依次对应w7、w6、w5、w4、w3、w2、w1、w0),这样可以保证最低优先级队列至少获得5Mbps的带宽,解决了采用SP调度时低优先级队列中的报文可能长时间得不到服务的问题。

WRR队列还有一个优点是,虽然多个队列的调度是轮询进行的,但对每个队列不是固定地分配服务时间片——如果某个队列为空,那么马上换到下一个队列调度,这样带宽资源可以得到充分的利用。

WRR队列分为:

·     基本WRR队列:基本WRR队列包含多个队列,用户可以定制各个队列的权重,WRR按用户设定的参数进行加权轮询调度。

·     分组WRR队列:所有队列全部采用WRR调度,用户可以根据需要将输出队列划分为WRR优先级队列组1和WRR优先级队列组2。进行队列调度时,设备首先在WRR优先级队列组1中进行轮询调度;优先级队列组1中没有报文发送时,设备才在优先级队列组2中进行轮询调度。当前设备仅支持WRR优先级队列组1。

在分组WRR队列中,也可以配置队列加入SP分组,采用严格优先级调度算法。调度时先调度SP组,然后调度其他WRR优先组。

3. WFQ队列

图5-4 WFQ队列

 

WFQ和WRR队列调度算法类似,同样分为基本WFQ队列和分组WFQ队列。当前设备仅支持WFQ优先级队列组1。

在分组WFQ队列中,也可以配置队列加入SP分组,采用严格优先级调度算法。两者差异如下:WFQ支持带宽保证,可以保证端口流量拥塞时能够获得的最小队列带宽。

在进行队列调度时,首先按SP方式对SP组中的队列进行调度,然后调度WFQ组的队列中满足WFQ最小保证带宽的流量,最后再按WFQ组中各队列的调度权重进行轮询调度。

5.2  拥塞管理配置任务简介

·     拥塞管理配置任务如下:

·     配置接口队列

请选择以下一项任务进行配置:

¡     配置SP队列

¡     配置WRR队列

¡     配置WFQ队列

¡     配置SP+WRR队列

¡     配置SP+WFQ队列

·     配置队列调度策略

5.3  配置接口队列

5.3.1  接口队列配置限制和指导

本节中的“接口”指的是二层以太网接口和三层以太网接口。三层以太网接口是指在以太网接口视图下通过port link-mode route命令切换为三层模式的以太网接口,有关以太网接口工作模式切换的操作,请参见“接口管理配置指导”中的“以太网接口”。

5.3.2  配置SP队列

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置SP队列。

qos sp

缺省情况下,接口采用SP调度算法。

5.3.3  配置WRR队列

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启WRR队列。

qos wrr { byte-count | weight }

缺省情况下,接口使用SP队列调度算法。

(4)     配置分组WRR队列的参数。

qos wrr queue-id group 1 { byte-count | weight } schedule-value

缺省情况下,在使用WRR队列时,所有队列都处于WRR调度组1中,调度权重从队列0到7分别为1、2、3、4、5、6、7、8。

5.3.4  配置WFQ队列

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启WFQ队列。

qos wfq { byte-count | weight }

缺省情况下,接口使用SP队列调度算法。

(4)     配置分组WFQ队列的参数。

qos wfq queue-id group 1 { byte-count | weight } schedule-value

缺省情况下,当接口使用WFQ队列时,所有队列都处于WFQ调度组1中,各队列的调度权重均为1。

5.3.5  配置SP+WRR队列

1. 配置限制和指导

在配置WRR队列的调度权重值时需要注意的是,选择的调度单位(字节数或报文个数)需要与使能WRR时使用的调度单位保持一致,否则将无法正常配置。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启WRR队列。

qos wrr { byte-count | weight }

缺省情况下,接口使用SP队列调度算法。

(4)     配置队列加入SP组,采用严格优先级调度算法。

qos wrr queue-id group sp

当接口使用WRR队列时,所有队列均处于WRR调度组1中。

(5)     配置队列加入WRR调度组。

qos wrr queue-id group 1 { byte-count | weight } schedule-value

缺省情况下,使用WRR队列时,所有队列都处于WRR调度组1中,调度权重从队列0到7分别为1、2、3、4、5、6、7、8。

5.3.6  配置SP+WFQ队列

1. 配置指导和限制

在配置WFQ队列的调度权重值时,选择的调度单位(字节数或报文个数)需要与使能WFQ时使用的调度单位保持一致,否则将无法正常配置。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     开启WFQ队列 。

qos wfq { byte-count | weight }

缺省情况下,接口使用SP队列调度算法。

(4)     配置队列加入SP组,采用严格优先级调度算法。

qos wfq queue-id group sp

当接口使用WFQ队列时,所有队列均处于WFQ调度组1中。

(5)     配置队列加入WFQ调度组。

qos wfq queue-id group 1 { byte-count | weight } schedule-value

当接口使用WFQ队列时,所有队列都处于WFQ调度组1中,各队列的调度权重均为1。

(6)     (可选)配置WFQ队列的最小保证带宽值。

qos bandwidth queue queue-id min bandwidth-value

缺省情况下,端口所有队列的最小带宽保证均为64kbps。

5.4  配置队列调度策略

5.4.1  队列调度策略简介

队列调度策略配置是在一个策略中配置各个队列的调度参数,最后通过在接口应用该策略来实现拥塞管理功能。

队列调度策略中的队列支持三种调度方式:SP、WRR、WFQ。在一个队列调度策略中支持SP和WRR、SP和WFQ的混合配置。具体调度方式,可参见5.1.2  设备支持的拥塞管理方法中介绍的内容。以SP和WRR分组混合配置为例,调度关系如图5-5所示。

图5-5 SP和WRR混合配置图

·     设备优先调度SP组队列中的报文。

·     队列7(即图中的Q7,下同)在SP组中优先级最高,该队列的报文优先发送。

·     队列5在SP组中优先级次之,队列7为空时发送本队列的报文。

·     队列6、4、3、2、1、0之间按照权重轮询调度,在队列7、5为空时调度WRR分组1。

5.4.2  配置限制和指导

在配置队列调度策略时需要注意的是:

·     队列调度策略中队列的调度参数支持动态修改,从而方便修改已经应用的队列调度策略。

·     本节中的“接口”指的是二层以太网接口和三层以太网接口。三层以太网接口是指在以太网接口视图下通过port link-mode route命令切换为三层模式的以太网接口,有关以太网接口工作模式切换的操作,请参见“接口管理配置指导”中的“以太网接口”。

5.4.3  创建队列调度策略

(1)     进入系统视图。

system-view

(2)     创建队列调度策略,并进入相应的队列调度策略视图。

qos qmprofile profile-name

(3)     (可选)配置队列调度参数。请选择其中一项进行配置。

¡     配置严格优先级调度:

queue queue-id sp

¡     配置加权轮询调度:

queue queue-id wrr group group-id { weight | byte-count } schedule-value

¡     配置加权公平队列调度:

queue queue-id wfq group group-id { weight | byte-count } schedule-value

缺省情况下,队列调度策略的内容是所有队列均采用SP方式调度。

(4)     (可选)配置队列调度策略下队列的最小带宽保证。

bandwidth queue queue-id min bandwidth-value

缺省情况下,当队列调度策略中有队列配置为WFQ队列时,最小带宽保证均为64kbps。

5.4.4  应用队列调度策略

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     应用队列调度策略。

qos apply qmprofile profile-name

缺省情况下,接口上未应用队列调度策略。

5.4.5  队列调度策略典型配置举例

1. 配置需求

接口FourHundredGigE1/0/1的队列调度方式如下:

·     队列7优先级最高,该队列报文优先发送。

·     队列0~6之间按照权重轮询调度,属于WRR分组,使用报文个数作为调度权重,分别为2、1、2、4、6、8、10,在队列7为空时调度WRR分组。

2. 配置步骤

# 进入系统视图。

<Sysname> system-view

# 创建队列调度策略qm1。

[Sysname] qos qmprofile qm1

[Sysname-qmprofile-qm1]

# 配置队列7为SP队列。

[Sysname-qmprofile-qm1] queue 7 sp

# 配置队列0~6属于WRR分组1,使用报文个数作为调度权重,分别为2、1、2、4、6、8、10。

[Sysname-qmprofile-qm1] queue 0 wrr group 1 weight 2

[Sysname-qmprofile-qm1] queue 1 wrr group 1 weight 1

[Sysname-qmprofile-qm1] queue 2 wrr group 1 weight 2

[Sysname-qmprofile-qm1] queue 3 wrr group 1 weight 4

[Sysname-qmprofile-qm1] queue 4 wrr group 1 weight 6

[Sysname-qmprofile-qm1] queue 5 wrr group 1 weight 8

[Sysname-qmprofile-qm1] queue 6 wrr group 1 weight 10

[Sysname-qmprofile-qm1] quit

# 把队列调度策略qm1应用到接口FourHundredGigE1/0/1上。

[Sysname] interface fourhundredgige 1/0/1

[Sysname-FourHundredGigE1/0/1] qos apply qmprofile qm1

配置完成后,接口FourHundredGigE1/0/1按指定方式进行队列调度。

5.5  拥塞管理显示和维护

5.5.1  显示接口队列配置

可在任意视图下执行以下命令:

·     显示接口上队列配置情况和统计信息。

display qos queue interface [ interface-type interface-number ]

·     显示接口的SP队列配置情况。

display qos queue sp interface [ interface-type interface-number ]

·     显示接口的WRR队列配置情况。

display qos queue wrr interface [ interface-type interface-number ]

·     显示接口的WFQ配置情况。

display qos queue wfq interface [ interface-type interface-number ]

5.5.2  显示队列调度策略配置及运行状况

可在任意视图下执行以下命令:

·     显示队列调度策略的配置信息。

display qos qmprofile configuration [ profile-name ] [ slot slot-number ]

·     显示接口的队列调度策略应用信息。

display qos qmprofile interface [ interface-type interface-number ]

5.5.3  显示接口队列统计信息

可在任意视图下执行以下命令,显示端口队列出方向的统计信息。

display qos queue-statistics interface [ interface-type interface-number ] outbound


6 拥塞避免

6.1  拥塞避免简介

拥塞避免是一种流量控制机制,它通过监视网络资源(如队列或内存缓冲区)的使用情况,在拥塞产生或有加剧的趋势时主动丢弃报文,通过调整网络的流量来避免网络过载。设备在丢弃报文时,需要与源端的流量控制动作(比如TCP流量控制)相配合,调整网络的流量到一个合理的负载状态。丢包策略和源端的流量控制相结合,可以使网络的吞吐量和利用效率最大化,并且使报文丢弃和延迟最小化。

6.1.1  传统的丢包策略

传统的丢包策略采用尾部丢弃(Tail-Drop)的方法。当队列的长度达到最大值后,所有新到来的报文都将被丢弃。

这种丢弃策略会引发TCP全局同步现象:当队列同时丢弃多个TCP连接的报文时,将造成多个TCP连接同时进入拥塞避免和慢启动状态以降低并调整流量,而后又会在某个时间同时出现流量高峰。如此反复,使网络流量忽大忽小,网络不停震荡。

6.1.2  RED与WRED

为避免TCP全局同步现象,可使用RED或WRED。

RED和WRED通过随机丢弃报文避免了TCP的全局同步现象,使得当某个TCP连接的报文被丢弃、开始减速发送的时候,其他的TCP连接仍然有较高的发送速度。这样,无论什么时候,总有TCP连接在进行较快的发送,提高了线路带宽的利用率。

在RED类算法中,为每个队列都设定上限和下限,对队列中的报文进行如下处理:

·     当队列的长度小于下限时,不丢弃报文;

·     当队列的长度超过上限时,丢弃所有到来的报文;

·     当队列的长度在上限和下限之间时,开始随机丢弃到来的报文。队列越长,丢弃概率越高,但有一个最大丢弃概率。

直接采用队列的长度和上限、下限比较并进行丢弃,将会对突发性的数据流造成不公正的待遇,不利于数据流的传输。WRED采用平均队列和设置的队列上限、下限比较来确定丢弃的概率。

队列平均长度既反映了队列的变化趋势,又对队列长度的突发变化不敏感,避免了对突发性数据流的不公正待遇。

当队列机制采用WFQ时,可以为不同优先级的报文设定计算队列平均长度时的指数、上限、下限、丢弃概率,从而对不同优先级的报文提供不同的丢弃特性。

6.1.3  WRED和队列机制的关系

WRED和队列机制的关系如下图所示。

图6-1 WRED和队列机制关系示意图

 

当WRED和WFQ配合使用时,可以实现基于流的WRED。在进行分类的时候,不同的流有自己的队列,对于流量小的流,由于其队列长度总是比较小,所以丢弃的概率将比较小。而流量大的流将会有较大的队列长度,从而丢弃较多的报文,保护了流量较小的流的利益。

6.1.4  拥塞通知(ECN功能)

WRED采用的丢弃报文的动作虽然缓解了拥塞对网络的影响,但将报文从发送端转发到被丢弃位置之间所消耗的网络资源已经被浪费了。因此,在拥塞发生时,如果能将网络的拥塞状况告知发送端,使其主动降低发送速率或减小报文窗口大小,便可以更高效的利用网络资源。

RFC 2481定义了一种端到端的拥塞通知机制,称为ECN功能。ECN功能利用IP报文头中的DS域来标记报文传输路径上的拥塞状态。支持该功能的终端设备可以通过报文内容判断出传输路径上发生了拥塞,从而调整报文的发送方式,避免拥塞加剧。ECN功能对IP报文头中DS域的最后两个比特位(称为ECN域)进行了如下定义:

·     比特位6用于标识发送端设备是否支持ECN功能,称为ECT位(ECN-Capable Transport)

·     比特位7用于标识报文在传输路径上是否经历过拥塞,称为CE位(Congestion Experienced)

说明

·     关于DS域的介绍,请参见“14.3.1  IP优先级和DSCP优先级”。

·     在实际应用中,设备将ECT位为1、CE位为0的报文,以及ECT位为0,CE位为1的报文都识别为由支持ECN功能的终端发出的报文。

 

图6-2所示,没有开启ECN功能的WRED策略按照一定的丢弃策略随机丢弃队列中的报文,WRED策略为每个队列都设定上限长度QL_max和下限长度QL_min,对队列中的报文进行如下处理:

·     当队列的长度小于下限QL_min时,不丢弃报文;

·     当队列的长度超过上限QL_max时,丢弃所有到来的报文;

·     当队列的长度在上限QL_max和下限QL_min之间时,开始随机丢弃到来的报文。队列越长,丢弃概率越高,队列丢弃概率随队列长度线性增长,不超出最大丢弃概率x%。

图6-2 WRED丢弃概率与队列长度示意图

 

图6-3所示,在部署了ECN功能的组网图中,存在三类设备角色:

·     转发设备(Congestion Point):报文在网络中转发路径上经过的设备,转发设备支持ECN功能,可以识别报文中ECN域的取值。报文在转发设备的接口上可能发生拥塞,所以转发设备又称为Congestion Point,转发设备需要部署ECN功能的WRED策略。

·     报文接收端(Notification Point):接收端设备网卡支持ECN功能,可以识别报文中取值为01、10或者11的ECN域。接收端同时作为拥塞通知的发起设备,收到ECN域取值为11的报文时,将每隔时间周期T1发送拥塞通知报文给报文发送端,要求发送端降低报文发送速率。

·     报文发送端(Reaction Point):发送端设备网卡支持ECN功能,从发送端发出报文的ECN域的取值为01或者10。发送端同时作为拥塞通知的应答设备,收到拥塞通知时,将以一定的降速比率降低当前自身发送报文的发送速率,并开启计时器,当计时器超出时间T2(T2>T1)后,发送端设备未再次收到拥塞通知,则发送端认为网络中不存在拥塞,恢复之前的报文发送速率。当计时器在时间T2(T2>T1)内,发送端设备再次收到拥塞通知,则发送端进一步降低报文发送速率。

图6-3 部署ECN功能的组网图

 

部署了ECN功能的转发设备(Congestion Point)对接收到的数据报文进行识别和处理的具体处理方式如下:

·     当转发设备的报文在出方向进入队列排队,该队列的长度小于下限QL_min(QL_min也称为ECN低门限)时,不对报文进行任何处理,转发设备直接将报文从出接口转发。

·     当转发设备的报文在出方向进入队列排队,该队列的长度大于下限QL_min但小于上限QL_max(QL_max也称为ECN高门限)时:

¡     如果设备接收到的报文中ECN域取值为00,表示报文发送端不支持ECN功能,转发设备按照未开启ECN功能的WRED策略处理,即随机丢弃接收的报文。

¡     如果设备接收到的报文中ECN域取值为01或者10,表示报文发送端支持ECN功能,将按照WRED策略中的线性丢弃概率来修改部分入方向报文的ECN域为11后继续转发该报文,所有入方向接收到的报文均不丢弃。

¡     如果设备接收到的报文中ECN域取值为11,表示该报文在之前的转发设备上已经出现拥塞,此时转发设备不处理报文,直接将报文从出接口转发。

·     当转发设备的报文在出方向进入队列排队,该队列的长度大于上限QL_max时:

¡     如果设备接收到的报文中ECN域取值为00,表示报文发送端不支持ECN功能,转发设备按照未开启ECN功能的WRED策略处理,即丢弃接收的报文。

¡     如果设备接收到的报文中ECN域取值为01或者10,表示报文发送端支持ECN功能,将按照WRED策略100%的概率来修改部分入方向报文的ECN域为11后继续转发该报文,所有入方向接收到的报文均不丢弃。

¡     如果设备接收到的报文中ECN域取值为11,表示该报文在之前的转发设备上已经出现拥塞,此时转发设备不处理报文,直接将报文从出接口转发。

合理设置ECN门限可以缓解拥塞同时保证网络的时延和吞吐率。

6.1.5  WRED的参数说明

在进行WRED配置时,需要事先确定如下参数:

·     队列上限和下限:当队列平均长度小于下限时,不丢弃报文。当队列平均长度在上限和下限之间时,设备随机丢弃报文,队列越长,丢弃概率越高。当队列平均长度超过上限时,丢弃所有到来的报文。

·     丢弃优先级:在进行报文丢弃时参考的参数,0对应绿色报文、1对应黄色报文、2对应红色报文,红色报文将被优先丢弃。

·     计算平均队列长度的指数:指数越大,计算平均队列长度时对队列的实时变化越不敏感。计算队列平均长度的公式为:平均队列长度=(以前的平均队列长度×(1-1/2n))+(当前队列长度×(1/2n))。其中n表示指数。

·     丢弃概率:配置接口应用WRED表时,使用百分数的形式表示丢弃报文的概率,取值越大,报文被丢弃的机率越大。

6.2  配置队列的WRED参数

6.2.1  配置限制和指导

配置队列的WRED参数时指定队列平均长度的上限和下限,但未配置丢弃概率。此时,该队列上报文丢弃概率为10%。

6.2.2  配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置队列的WRED参数。

qos wred queue queue-id low-limit low-limit high-limit high-limit [ discard-probability discard-prob ] [ delay-ecn threshold threshold-value | ecn ] [ weighting-constant exponent ]

qos wred queue queue-id [ drop-level drop-level ] low-limit low-limit high-limit high-limit [ discard-probability discard-prob ]

缺省情况下,未配置队列的WRED参数。

(4)     开启指定队列的拥塞通知功能。

qos wred queue queue-id ecn

缺省情况下,对任何队列都未开启拥塞通知功能。

(5)     配置计算平均队列长度的指数。

qos wred queue queue-id weighting-constant exponent

缺省情况下,计算平均队列长度的指数为9。

6.3  配置接口应用WRED表

6.3.1  配置限制和指导

创建并应用WRED后,拥塞时设备根据报文所在队列进行随机丢弃。

同一个表可以同时在多个接口应用。WRED表被应用到接口后,用户可以对WRED表的取值进行修改,但是不能删除该WRED表。

本节中的“接口”指的是二层以太网接口和三层以太网接口。三层以太网接口是指在以太网接口视图下通过port link-mode route命令切换为三层模式的以太网接口,有关以太网接口工作模式切换的操作,请参见“接口管理配置指导”中的“以太网接口”。

6.3.2  配置步骤

(1)     进入系统视图。

system-view

(2)     创建WRED表,并进入WRED表视图。

qos wred queue table table-name

(3)     (可选)配置计算平均队列长度的指数。

queue queue-value weighting-constant exponent

缺省情况下,计算平均队列长度的指数为9。

(4)     (可选)配置WRED表的参数。

queue queue-id [ drop-level drop-level ] low-limit low-limit high-limit high-limit [ discard-probability discard-prob ]

缺省情况下,low-limit的取值为100,high-limit的取值为1000,discard-prob的取值为10。

(5)     (可选)配置队列的拥塞通知功能。

queue queue-value ecn

缺省情况下,对任何队列都未开启拥塞通知功能。

(6)     退回系统视图。

quit

(7)     进入接口视图。

interface interface-type interface-number

(8)     在接口应用WRED表。

qos wred apply [ table-name ]

缺省情况下,接口没有应用WRED全局表,即接口采用尾丢弃。

同一个表可以同时在多个接口应用。WRED表被应用到接口后,用户可以对WRED表的取值进行修改,但是不能删除该WRED表。

6.3.3  配置接口应用WRED表典型配置举例

1. 配置需求

接口FourHundredGigE1/0/2应用WRED策略,当发生报文拥塞时,采用如下丢弃方式:

·     为保证高优先级报文尽量通过,区分不同的队列,队列号越大,丢弃概率越低。为队列0、队列3、队列7三个级别配置不同的丢弃参数。

·     区分不同颜色报文的丢弃概率,对于队列0,绿色、黄色、红色报文的丢弃概率分别为25%、50%、75%;对于队列3,绿色、黄色、红色报文的丢弃概率分别为5%、10%、25%;对于队列7,绿色、黄色、红色报文的丢弃概率分别为1%、5%、10%。

·     对队列7开启拥塞通知功能。

2. 配置步骤

# 配置基于队列的WRED表,并为不同队列不同丢弃优先级配置丢弃参数。

<Sysname> system-view

[Sysname] qos wred queue table queue-table1

[Sysname-wred-table-queue-table1] queue 0 drop-level 0 low-limit 128 high-limit 512 discard-probability 25

[Sysname-wred-table-queue-table1] queue 0 drop-level 1 low-limit 128 high-limit 512 discard-probability 50

[Sysname-wred-table-queue-table1] queue 0 drop-level 2 low-limit 128 high-limit 512 discard-probability 75

[Sysname-wred-table-queue-table1] queue 3 drop-level 0 low-limit 256 high-limit 640 discard-probability 5

[Sysname-wred-table-queue-table1] queue 3 drop-level 1 low-limit 256 high-limit 640 discard-probability 10

[Sysname-wred-table-queue-table1] queue 3 drop-level 2 low-limit 256 high-limit 640 discard-probability 25

[Sysname-wred-table-queue-table1] queue 7 drop-level 0 low-limit 512 high-limit 1024 discard-probability 1

[Sysname-wred-table-queue-table1] queue 7 drop-level 1 low-limit 512 high-limit 1024 discard-probability 5

[Sysname-wred-table-queue-table1] queue 7 drop-level 2 low-limit 512 high-limit 1024 discard-probability 10

[Sysname-wred-table-queue-table1] queue 7 ecn

[Sysname-wred-table-queue-table1] quit

# 在接口FourHundredGigE1/0/2上应用基于队列的WRED表。

[Sysname] interface fourhundredgige 1/0/2

[Sysname-FourHundredGigE1/0/2] qos wred apply queue-table1

[Sysname-FourHundredGigE1/0/2] quit

6.4  配置指定队列的时延ECN功能

1. 功能简介

通常的ECN功能仅与报文在队列中的排队长度有关,队列长度越长,报文的ECN域被标记为11的概率越大。本功能可以基于报文在转发设备上的转发时延来开启ECN功能,为报文标记ECN域。

对时延敏感的业务报文在设备上通过指定队列转发时,可以开启该队列的时延ECN功能,如果该队列中业务报文从转发设备入接口到设备出接口所耗费的时延超过qos wred queue delay-ecn命令指定的报文转发时延阈值则启用ECN功能,设备为业务报文标记ECN域为11。业务报文的接收端接收到ECN域为11的报文后,定期发送拥塞通知告知业务报文发送端降低报文速率,避免时延敏感的业务报文在设备上进一步拥塞。

当开启了某个队列的时延ECN功能时,队列中的报文必须同时满足qos wred queue delay-ecn命令指定的报文转发时延阈值条件和qos wred delay-ecn queue-length命令指定的队里长度要求,时延ECN功能才能触发。

2. 配置限制和指导

接口下执行qos wred queue ecn命令配置的队列ECN功能与时延ECN功能冲突。

对于S9827系列交换机,当动态ECN功能和时延ECN功能在同一接口下同时生效时互斥。同时配置时需要通过qos wred delay-ecn queue-length命令指定时延ECN功能生效的队列长度的区间为大于(gt)队列长度下限。

当启用ECN功能时,请勿在iNQA中指定比特位6或7作为其染色位,反之亦然。有关iNQA的详细介绍,请参见“网络管理与监控配置指导”中的“iNQA”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置指定队列的时延ECN功能。请选择其中一项进行配置。

¡     直接开启指定队列的时延ECN功能,并指定触发时延ECN功能的参数。

qos wred queue queue-id  delay-ecn threshold threshold-value

¡     配置队列的WRED参数时,开启指定队列的时延ECN功能,并指定触发时延ECN功能的参数

qos wred queue queue-id low-limit low-limit high-limit high-limit [ discard-probability discard-prob ] [ delay-ecn threshold threshold-value | ecn ] * [ weighting-constant exponent ]

缺省情况下,指定队列的时延ECN功能处于关闭状态。

可以通过执行qos wred queue delay-ecn命令或者执行qos wred queue命令并指定delay-ecn参数来开启指定队列的时延ECN功能。如果对于同一队列同时配置了qos wred queue delay-ecn命令和qos wred queue命令并指定delay-ecn参数,最后一次配置的命令生效。

(4)     (可选)指定时延ECN功能生效的队列长度的区间。

qos wred delay-ecn queue-length operator limit1 [ limit2 ]

缺省情况下,未指定时延ECN功能生效的队列长度的区间。

6.5  配置指定队列的动态ECN功能

1. 功能简介

动态ECN功能是指根据队列的共享缓冲区占用情况来触发ECN功能进行ECN域标记的一种机制。

报文在逻辑队列中排队的过程实际对应的是报文在物理的数据缓冲区中缓存的过程。数据缓冲区是用来临时存储报文,避免报文丢失的一块缓存空间。通常设备的硬件芯片中的数据缓冲区可以分为共享缓冲区和固定缓冲区。共享缓冲区按队列划分,设备芯片会根据用户配置以及实际需要收发报文的数量来动态地决定每个队列实际可占用的缓冲区的大小,队列之间可以抢占对方可用的共享缓冲区大小,例如,某个队列没有报文缓存需求时,其他队列可以抢占该队列的共享缓冲区空间。因此,不同队列的共享缓冲区可用的大小会实时变化,即队列的中可用的最大长度是实时变化的。仅有共享缓冲区时,可以通过display buffer usage interface命令中的Total和Used字段来查看接口上各队列的可用最大长度及实时已使用的长度。关于数据缓冲区的详细介绍,请参见“QoS和ACL配置指导”中的“数据缓冲区”。

为了避免指定队列的报文产生拥塞,可以配置动态ECN功能基于实时变化的共享缓冲区大小,即队列最大可用长度制定策略来触发ECN功能。

Comware定义了触发动态ECN功能的队列长度阈值Dynamic-ECN Threshold当转发设备上实时队列长度达到该阈值时,触发ECN功能标记ECN域为11,业务报文的接收端接收到ECN域为11的报文后,定期发送拥塞通知告知业务报文发送端降低报文速率,避免时延敏感的业务报文在设备上进一步拥塞。

触发动态ECN功能的队列长度阈值Dynamic-ECN Threshold=Min(Shared_queue_limit,Max(Shared_queue_limit - Threshold_offset),Threshold_floor)。其中,

·     Shared_queue_limit表示队列最大可用长度;

·     Threshold_offset表示本命令中指定的队列最大可用长度的偏移量offset-value

·     Threshold_floor表示本命令中指定的队列长度最低门限floor-value

·     Min(x,y)函数表示取x和y之中较小的数;

·     Max(x,y)函数表示取x和y之中较大的数。

Threshold_offset的作用是留出一定预留量,在队列实际使用长度暂未达到队列最大可用长度时提前触发动态ECN功能;

Threshold_floor的作用是保障队列深度,当其他队列拥塞情况严重时,本队列的最大可用长度会被挤占导致(Shared_queue_limit - Threshold_offset)的数值较小,为了避免此时触发本队列报文的ECN功能,可用空间被其他队列进一步挤占,导致报文被“饿死”的情况,设置Threshold_floor作为保障队列深度,使用Threshold_floor和(Shared_queue_limit - Threshold_offset)数值较大者来触发ECN功能。

2. 配置限制和指导

请合理设置threshold-offsetthreshold-floor参数值,避免因为参数设置不合理导致ECN功能没有效果。

当启用ECN功能时,请勿在iNQA中指定比特位6或7作为其染色位,反之亦然。有关iNQA的详细介绍,请参见“网络管理与监控配置指导”中的“iNQA”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置指定队列的时延ECN功能。

qos wred queue queue-id dynamic-ecn threshold-offset offset-value [ threshold-floor floor-value ]

缺省情况下,指定队列的动态ECN功能处于关闭状态。

6.6  拥塞避免显示和维护

可在任意视图下执行以下命令:

·     显示接口的WRED配置情况和统计信息。

display qos wred interface [ interface-type interface-number ] ]

·     显示接口的ECN配置信息。

display qos wred ecn interface [ interface-type interface-number ]

·     显示WRED表配置情况。

display qos wred table [ name table-name ] [ slot slot-number ]

 


7 Traffic Matrix

7.1  Traffic Matrix简介

1. 基本定义

Traffic Matrix是由流量标识信息和流量转发信息组成的流表。匹配到流量标识信息的业务流量优先按照Traffic Matrix流表中定义的转发出接口和下一跳执行转发,而无需查询路由表进行报文转发。

2. 应用场景

图7-1所示,在数据中心网络或智能无损网络进行AI模型训练的场景中,业务流量的条数少,但单条流的流量传输时间长和数据量大,属于大象流,业务流量按照Hash算法通过ECMP(Equal Cost Multi-Path,等价负载分担路径)进行流量负载分担时,容易出现负载不均衡的情况。为解决上述场景中流量负载不均导致的链路拥塞,甚至丢包等问题,可以开启Traffic Matrix功能(流量矩阵功能),控制器根据流量五元组等特征,在网络中的Leaf或Spine上下发流表进行引流,流量按照流表中的规则重定向到指定路径进行转发,避免链路拥塞或链路质量恶化导致的转发性能问题。

图7-1 Traffic Matrix流表示意图

 

Traffic Matrix提供了一种适用于负载均衡等场景的流量管理的工具。

7.2  Traffic Matrix配置限制和指导

设备优先按照流表中定义的业务流的路径规划规则进行业务转发,如果流表中定义的路径规划无效,例如出接口故障或下一跳不可达,则流量再正常查询路由转发表项进行转发。

Traffic Matrix功能中可以定义多条IPv4/IPv6流表。多次配置五元组信息相同的流表,则最后一次执行的命令所指定的流表生效。

Traffic Matrix功能中流表的源、目的及下一跳地址均需为合法单播地址。

配置的Traffic Matrix流表生效后,Traffic Matrix功能会定期查询路由表,检查流表中指定的下一跳地址是否可达。如果路由表中下一跳地址不可达,则该流表不再生效。

对于同一条业务流如果匹配到Traffic Matrix功能中多个IPv4/IPv6流表,则IPv4/IPv6流表优先生效顺序为:

(1)     如果流量匹配到指定了五元组信息即指定了Protocol值、源地址、目的地址、源端口和目的端口的IPv4/IPv6流表最优先生效。

(2)     如果流量未匹配到指定了五元组信息的IPv4/IPv6流表则按照IPv4/IPv6流表配置的先后顺序进行匹配,先配置的IPv4/IPv6流表优先生效。

说明: 说明: 提示

配置未指定完整五元组的Traffic Matrix流表时,请避免不同的Traffic Matrix流表之间存在匹配条件互相包含的情况,使得流量能够匹配到两条不同的Traffic Matrix流表,否则,可能导致重启设备前后或者接口震荡时同一条流命中不同的Traffic Matrix流表。例如:

·     存在Traffic Matrix流表仅指定了源地址1::1和目的地址2::2,该流表可以匹配任意源和目的端口、任意协议号的流量。又同时存在Traffic Matrix流表指定了相同的源地址1::1、相同的目的地址2::2和协议号80。此时,第一条流表可以匹配的流量包含了第二条流表可以匹配的流量。

·     存在Traffic Matrix流表仅指定了源地址1::1和目的地址2::2,该流表可以匹配任意源和目的端口、任意协议号的流量。又同时存在Traffic Matrix流表指定了相同的源地址1::1、相同的目的地址2::2和源端口号8080,目的端口号8080。此时,第一条流表可以匹配的流量包含了第二条流表可以匹配的流量。

 

7.3  配置Traffic Matrix

(1)     进入系统视图。

system-view

(2)     开启Traffic Matrix功能,并进入Traffic Matrix视图。

traffic-matrix

(3)     配置Traffic Matrix的IPv4流表。

ip [ protocol protocol ] source source-address destination dest-address [ source-port port destination-port port ] traffic-path interface interface-type interface-number next-hop ip-address

缺省情况下,Traffic Matrix中未配置IPv4流表。

(4)     配置Traffic Matrix的IPv6流表。

ipv6 [ protocol protocol ] source source-address destination dest-address [ source-port port destination-port port ] traffic-path interface interface-type interface-number next-hop ip-address

7.4  Traffic Matrix显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后Traffic Matrix的运行情况,通过查看显示信息验证配置的效果。

表7-1 Traffic Matrix显示和维护

操作

命令

显示Traffic Matrix的流表

display traffic-matrix [ ip | ipv6 ] [ slot slot-number ]

 


8 大小流区分调度

8.1  大小流区分调度简介

网络中充斥着各种各样的流量,我们可以简单的将其分为大流和小流。大流的特点是尺寸大、占用带宽大,但是对时延要求较低,例如视频下载流量。小流的特点是尺寸小、占用带宽小,但是对时延要求较高,希望能得到快速响应,例如查询流量。

本功能通过配置大流识别参数(流速和尺寸),可以将网络流量中的大流识别出来,并为其指定丢弃优先级、本地优先级或dot1q优先级,一旦发生拥塞,设备根据优先级保证流量的转发,以提升小流的体验。

8.2  大小流区分调度配置限制和指导

大小流区分调度功能需要基于Flow Group建立的流表才能生效,且Flow Group的模式必须为大小流模式。有关Flow Group的详细介绍,请参见“Telemetry配置指导”中的“Flow Group”。

8.3  配置大小流区分调度

(1)     进入系统视图。

system-view

(2)     进入大小流视图。

qos mice-elephant-flow

(3)     配置大流识别参数。

elephant-flow rate rate [ gbps | kbps | mbps ] [ size size [ bytes | kbytes | mbytes ] ]

缺省情况下,未配置大流识别参数。

(4)     配置大流的处理动作。

elephant-flow action { drop-precedence drop-precedence-value | dot1p dot1p-value | local-precedence local-precedence-value | none }

缺省情况下,未配置大流的处理动作。

8.4  开启大小流自适应缓存功能

1. 功能简介

大小流区分调度可以在一定程度上解决小流被大流阻塞的问题,但在网络中如果绝大多数流量都是小流的场景或者突发流量等情况下,通过静态配置识别参数的大小流区分调度功能优化的效果不佳,例如数据中心网络中绝大多数流量是对时延更敏感的小流。对于上述场景,可以开启大小流自适应缓存功能。

在设备上,小流队列和大流队列共享一块缓存空间来调度报文。开启大小流自适应缓存功能可以动态调节小流队列和大流队列所占共享缓存空间的大小。当网络拥塞丢包时,在保证大流的吞吐率的前提下,系统动态降低大流队列可占用的共享缓存空间上限,此时小流队列可以占用的共享缓存空间上限相应提升,共享缓存空间可以尽可能多地吸收小流流量,避免小流的丢包,降低丢包带来的小流的时延。如图8-1所示,开启大小流自适应缓存功能后,设备具体工作流程如下:

(1)     缺省情况下,大流队列和小流队列均使用默认的尾部丢弃(Tail-Drop)的方法,即大流队列或小流队列长度占满缓存空间后,新进入缓存空间的报文被100%丢弃。

(2)     当网络拥塞,小流队列发生丢包时,系统触发大小流自适应缓存功能,此时大流采用WRED丢弃门限,即系统降低大流队列的丢弃门限,并按照WRED方式以一定概率丢弃大流报文,共享缓存空间中用于缓存小流报文的空间相应得到提升。

(3)     如果一定检测周期后设备检测到小流仍然发生丢包,则进一步降低大流队列的WRED丢弃门限,提升共享缓存空间中用于缓存小流报文的空间。

(4)     当检测周期内,小流不再发生丢包,逐步恢复大流队列的丢弃门限直到大流队列的丢弃门限恢复到系统默认的尾部丢弃方式。

图8-1 大小流自适应缓存功能工作原理示意图

2. 配置限制和指导

开启本功能,系统将动态为大流队列设置WRED丢弃门限,即队列长度下限,因此,接口上如果静态配置WRED参数或应用WRED表会与本功能冲突。同时配置本功能和静态配置WRED参数或应用WRED表,静态配置WRED参数或应用WRED表优先生效。

本功能仅对采用缺省SP调度算法的接口生效。

为了保证大小流自适应缓存功能生效,需要配置如下功能和命令:

·     开启大小流区分调度功能,即执行elephant-flow rate命令配置大小流区分调度的识别参数和elephant-flow action命令并指定local-precedence参数配置大流的本地优先级。

·     创建一个大小流模式的Flow Group或应用一个系统预定义的大小流模式的Flow Group。关于大小流模式的Flow Group的介绍,请参见“Telemetry命令参考”中的“Flow Group”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入大小流视图。

qos mice-elephant-flow

(3)     开启大小流自适应缓存功能。

agile-buffer enable

缺省情况下,大小流自适应缓存功能处于关闭状态。


9 流量过滤

9.1  流量过滤简介

流量过滤是指对符合流分类的流进行过滤的动作。例如,可以根据网络的实际情况禁止从某个源IP地址发送的报文通过。

9.2  流量过滤配置限制和指导

设备目前支持基于接口、VLAN和全局应用QoS策略配置流量过滤。

9.3  配置流量过滤

(1)     进入系统视图。

system-view

(2)     定义类。

a.     创建一个类,并进入类视图。

traffic classifier classifier-name [ operator { and | or } ]

b.     定义匹配数据包的规则。

if-match match-criteria

缺省情况下,未定义匹配数据包的规则。

具体规则的介绍,请参见“QoS命令”中的if-match命令。

c.     退回系统视图。

quit

(3)     定义流行为。

a.     创建一个流行为,并进入流行为视图。

traffic behavior behavior-name

b.     配置流量过滤动作。

filter { deny | permit }

缺省情况下,未配置流量过滤动作。

如果配置了filter deny命令,则在该流行为视图下配置的其他流行为(除流量统计外)都不会生效。

filter命令指定none参数时,如果报文命中了该CB对中的流量匹配规则,则该QoS策略不对报文产生影响。如果报文还经过其他更低优先级的应用处理,则根据更低优先级应用的动作决定数据报文是否被丢弃。

filter命令指定permit参数时,如果报文命中了该CB对中的流量匹配规则,则标记为不丢弃报文,报文不再受低优先级应用的处理动作影响,即使低优先级应用的处理动作为丢弃数据报文,该报文也不会被丢弃。

c.     退回系统视图。

quit

(4)     定义策略。

a.     创建策略并进入策略视图。

qos policy policy-name

b.     在策略中为类指定采用的流行为。

classifier classifier-name behavior behavior-name

缺省情况下,未指定类对应的流行为。

c.     退回系统视图。

quit

(5)     应用QoS策略。

具体配置请参见“2.6  应用策略

缺省情况下,未应用QoS策略。

9.4  流量过滤显示和维护

可在任意视图下执行以下命令,显示流量过滤的相关配置信息。

display traffic behavior user-defined [ behavior-name ]

9.5  流量过滤典型配置举例

9.5.1  流量过滤基本组网配置举例

1. 组网需求

Host通过接口FourHundredGigE1/0/1接入设备Device。

配置流量过滤功能,对接口FourHundredGigE1/0/1接收的目的端口号等于21的TCP报文进行丢弃。

2. 组网图

图9-1 流量过滤基本组网图

3. 配置步骤

# 定义高级ACL 3000,匹配目的端口号等于21的数据流。

<Device> system-view

[Device] acl advanced 3000

[Device-acl-ipv4-adv-3000] rule 0 permit tcp destination-port eq 21

[Device-acl-ipv4-adv-3000] quit

# 定义类classifier_1,匹配高级ACL 3000。

[Device] traffic classifier classifier_1

[Device-classifier-classifier_1] if-match acl 3000

[Device-classifier-classifier_1] quit

# 定义流行为behavior_1,动作为流量过滤(deny),对数据包进行丢弃。

[Device] traffic behavior behavior_1

[Device-behavior-behavior_1] filter deny

[Device-behavior-behavior_1] quit

# 定义策略policy,为类classifier_1指定流行为behavior_1。

[Device] qos policy policy

[Device-qospolicy-policy] classifier classifier_1 behavior behavior_1

[Device-qospolicy-policy] quit

# 将策略policy应用到端口FourHundredGigE1/0/1的入方向上。

[Device] interface fourhundredgige 1/0/1

[Device-FourHundredGigE1/0/1] qos apply policy policy inbound

 

 


10 重标记

10.1  重标记简介

重标记是将报文的优先级或者标志位进行设置,重新定义报文的优先级等。例如,对于IP报文来说,可以利用重标记对IP报文中的IP优先级或DSCP值进行重新设置,控制IP报文的转发。

重标记动作的配置,可以通过与类关联,将原来报文的优先级或标志位重新进行标记。

重标记可以和优先级映射功能配合使用,具体请参见“3 优先级映射”。目前可以通过MQC方式重标记方式配置重标记。

10.2  配置重标记

1. 配置限制和指导

设备目前支持基于接口、VLAN和全局应用QoS策略配置重标记。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     定义类。

a.     创建一个类,并进入类视图。

traffic classifier classifier-name [ operator { and | or } ]

b.     定义匹配数据包的规则。

if-match match-criteria

缺省情况下,未定义匹配数据包的规则。

具体规则的介绍,请参见“QoS命令”中的if-match命令。

c.     退回系统视图。

quit

(3)     定义流行为

a.     创建一个流行为,并进入流行为视图。

traffic behavior behavior-name

b.     重新标记报文的动作。

具体重标记动作的介绍,请查看“QoS命令”中的remark命令。

c.     退回系统视图。

quit

(4)     定义策略。

a.     创建一个策略,并进入策略视图。

qos policy [ remarking ] policy-name

b.     在策略中为类指定采用的流行为。

classifier classifier-name behavior behavior-name

缺省情况下,未指定类对应的流行为。

c.     退回系统视图。

quit

(5)     应用QoS策略。

具体配置请参见“2.6  应用策略

缺省情况下,未应用QoS策略。

3. 显示和维护

可在任意视图下执行以下命令,显示重标记的相关配置信息。

display traffic behavior user-defined [ behavior-name ]

10.3  配置镜像报文的本地优先级

1. 功能简介

在镜像源设备上,报文的转发出接口上可能同时存在非镜像的业务流量和镜像流量。如果希望优先调度业务流量,可以通过本功能设置镜像报文的本地优先级为较低值,例如0,设备出接口发生拥塞时,也可以减少业务流量的丢包率。反之亦然。

本功能对端口镜像和流镜像报文均生效。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置镜像报文的本地优先级。

qos mirroring local-precedence local-precedence-value

缺省情况下,镜像报文的本地优先级与镜像源收到的原始报文的本地优先级相同。

10.4  重标记典型配置举例

10.4.1  重标记基本组网配置举例

1. 组网需求

公司企业网通过Device实现互连。网络环境描述如下:

·     Host A和Host B通过端口FourHundredGigE1/0/1接入Device;

·     数据库服务器、邮件服务器和文件服务器通过端口FourHundredGigE1/0/2接入Device。

通过配置重标记功能,Device上实现如下需求:

·     优先处理Host A和Host B访问数据库服务器的报文;

·     其次处理Host A和Host B访问邮件服务器的报文;

·     最后处理Host A和Host B访问文件服务器的报文。

2. 组网图

图10-1 重标记基本组网图

3. 配置步骤

# 定义高级ACL 3000,对目的IP地址为192.168.0.1的报文进行分类。

<Device> system-view

[Device] acl advanced 3000

[Device-acl-ipv4-adv-3000] rule permit ip destination 192.168.0.1 0

[Device-acl-ipv4-adv-3000] quit

# 定义高级ACL 3001,对目的IP地址为192.168.0.2的报文进行分类。

[Device] acl advanced 3001

[Device-acl-ipv4-adv-3001] rule permit ip destination 192.168.0.2 0

[Device-acl-ipv4-adv-3001] quit

# 定义高级ACL 3002,对目的IP地址为192.168.0.3的报文进行分类。

[Device] acl advanced 3002

[Device-acl-ipv4-adv-3002] rule permit ip destination 192.168.0.3 0

[Device-acl-ipv4-adv-3002] quit

# 定义类classifier_dbserver,匹配高级ACL 3000。

[Device] traffic classifier classifier_dbserver

[Device-classifier-classifier_dbserver] if-match acl 3000

[Device-classifier-classifier_dbserver] quit

# 定义类classifier_mserver,匹配高级ACL 3001。

[Device] traffic classifier classifier_mserver

[Device-classifier-classifier_mserver] if-match acl 3001

[Device-classifier-classifier_mserver] quit

# 定义类classifier_fserver,匹配高级ACL 3002。

[Device] traffic classifier classifier_fserver

[Device-classifier-classifier_fserver] if-match acl 3002

[Device-classifier-classifier_fserver] quit

# 定义流行为behavior_dbserver,动作为重标记报文的本地优先级为4。

[Device] traffic behavior behavior_dbserver

[Device-behavior-behavior_dbserver] remark local-precedence 4

[Device-behavior-behavior_dbserver] quit

# 定义流行为behavior_mserver,动作为重标记报文的本地优先级为3。

[Device] traffic behavior behavior_mserver

[Device-behavior-behavior_mserver] remark local-precedence 3

[Device-behavior-behavior_mserver] quit

# 定义流行为behavior_fserver,动作为重标记报文的本地优先级为2。

[Device] traffic behavior behavior_fserver

[Device-behavior-behavior_fserver] remark local-precedence 2

[Device-behavior-behavior_fserver] quit

# 定义策略policy_server,为类指定流行为。

[Device] qos policy policy_server

[Device-qospolicy-policy_server] classifier classifier_dbserver behavior behavior_dbserver

[Device-qospolicy-policy_server] classifier classifier_mserver behavior behavior_mserver

[Device-qospolicy-policy_server] classifier classifier_fserver behavior behavior_fserver

[Device-qospolicy-policy_server] quit

# 将策略policy_server应用到端口FourHundredGigE1/0/1上。

[Device] interface fourhundredgige 1/0/1

[Device-FourHundredGigE1/0/1] qos apply policy policy_server inbound

[Device-FourHundredGigE1/0/1] quit


11 流量重定向

11.1  流量重定向简介

流量重定向就是将符合流分类的流重定向到其他地方进行处理。

目前支持的流量重定向包括以下几种:

·     重定向到CPU:对于需要CPU处理的报文,可以通过配置上送给CPU。

·     重定向到接口:对于收到需要由某个接口处理的报文时,可以通过配置重定向到此接口。

11.2  流量重定向配置限制和指导

配置流量重定向时需要注意的是:

·     当前设备支持基于接口、VLAN和全局应用QoS策略配置流量重定向。

·     在配置重定向动作时,同一个流行为中,多次配置重定向命令,最后一次配置的生效。

·     配置重定向到指定的以太网接口后,如果该以太网接口所在的接口板或接口模块扩展卡被拔出,设备将不显示流行为下的重定向到该以太网接口的配置,重定向动作失效;当接口板或接口模块扩展卡重新插回设备后,此时设备可以显示流行为下的重定向到该以太网接口的配置,重定向动作会继续生效。

11.3  配置流量重定向

(1)     进入系统视图。

system-view

(2)     定义类。

a.     创建一个类,并进入类视图。

traffic classifier classifier-name [ operator { and | or } ]

b.     定义匹配数据包的规则。

if-match match-criteria

缺省情况下,未定义匹配数据包的规则。

具体规则的介绍,请参见“QoS命令”中的if-match命令。

c.     退回系统视图。

quit

(3)     定义流行为

a.     创建一个流行为,并进入流行为视图。

traffic behavior behavior-name

b.     配置流量重定向动作。

redirect { cpu | interface interface-type interface-number }

缺省情况下,未配置流量重定向动作。

c.     退回系统视图。

quit

(4)     定义策略。

a.     创建一个策略,并进入策略视图。

qos policy policy-name

b.     在策略中为类指定采用的流行为。

classifier classifier-name behavior behavior-name

缺省情况下,未指定类对应的流行为。

c.     退回系统视图。

quit

(5)     应用QoS策略。

具体配置请参见“2.6  应用策略

缺省情况下,未应用QoS策略。

11.4  流量重定向显示和维护

可在任意视图下执行以下命令,显示流量重定向的相关配置信息。

display traffic behavior user-defined [ behavior-name ]

11.5  流量重定向典型配置举例

11.5.1  重定向至接口配置举例

1. 组网需求

网络环境描述如下:

·     Device A通过两条链路与Device B连接,同时Device A和Device B各自连接其他的设备;

·     Device A上的端口FourHundredGigE1/0/2和Device B上的端口FourHundredGigE1/0/2属于VLAN 200;

·     Device A上的端口FourHundredGigE1/0/3和Device B上的端口FourHundredGigE1/0/3属于VLAN 201;

·     Device A上接口Vlan-interface200的IP地址为200.1.1.1/24,接口Vlan-interface201的IP地址为201.1.1.1/24;

·     Device B上接口Vlan-interface200的IP地址为200.1.1.2/24,接口Vlan-interface201的IP地址为201.1.1.2/24。

配置重定向至接口,满足如下需求:

·     将Device A的端口FourHundredGigE1/0/1接收到的源IP地址为2.1.1.1的报文转发至FourHundredGigE1/0/2;

·     将Device A的端口FourHundredGigE1/0/1接收到的源IP地址为2.1.1.2的报文转发至FourHundredGigE1/0/3;

·     对于Device A的端口FourHundredGigE1/0/1接收到的其它报文,按照查找路由表的方式进行转发。

2. 组网图

图11-1 重定向至接口配置组网图

3. 配置步骤

# 定义基本ACL 2000,对源IP地址为2.1.1.1的报文进行分类。

<DeviceA> system-view

[DeviceA] acl basic 2000

[DeviceA-acl-ipv4-basic-2000] rule permit source 2.1.1.1 0

[DeviceA-acl-ipv4-basic-2000] quit

# 定义基本ACL 2001,对源IP地址为2.1.1.2的报文进行分类。

[DeviceA] acl basic 2001

[DeviceA-acl-ipv4-basic-2001] rule permit source 2.1.1.2 0

[DeviceA-acl-ipv4-basic-2001] quit

# 定义类classifier_1,匹配基本ACL 2000。

[DeviceA] traffic classifier classifier_1

[DeviceA-classifier-classifier_1] if-match acl 2000

[DeviceA-classifier-classifier_1] quit

# 定义类classifier_2,匹配基本ACL 2001。

[DeviceA] traffic classifier classifier_2

[DeviceA-classifier-classifier_2] if-match acl 2001

[DeviceA-classifier-classifier_2] quit

# 定义流行为behavior_1,动作为重定向至FourHundredGigE1/0/2。

[DeviceA] traffic behavior behavior_1

[DeviceA-behavior-behavior_1] redirect interface fourhundredgige 1/0/2

[DeviceA-behavior-behavior_1] quit

# 定义流行为behavior_2,动作为重定向至FourHundredGigE1/0/3。

[DeviceA] traffic behavior behavior_2

[DeviceA-behavior-behavior_2] redirect interface fourhundredgige 1/0/3

[DeviceA-behavior-behavior_2] quit

# 定义策略policy,为类classifier_1指定流行为behavior_1,为类classifier_2指定流行为behavior_2。

[DeviceA] qos policy policy

[DeviceA-qospolicy-policy] classifier classifier_1 behavior behavior_1

[DeviceA-qospolicy-policy] classifier classifier_2 behavior behavior_2

[DeviceA-qospolicy-policy] quit

# 将策略policy应用到端口FourHundredGigE1/0/1的入方向上。

[DeviceA] interface fourhundredgige 1/0/1

[DeviceA-FourHundredGigE1/0/1] qos apply policy policy inbound


12 流量统计

12.1  流量统计简介

流量统计就是通过与类关联,对符合匹配规则的流进行统计。例如,可以统计从某个源IP地址发送的报文,然后管理员对统计信息进行分析,根据分析情况采取相应的措施。

12.2  流量统计配置限制和指导

设备当前支持基于接口、VLAN和全局应用QoS策略配置流量统计。

12.3  配置流量统计

(1)     进入系统视图。

system-view

(2)     定义类。

a.     创建一个类,并进入类视图。

traffic classifier classifier-name [ operator { and | or } ]

b.     定义匹配数据包的规则。

if-match match-criteria

缺省情况下,未定义匹配数据包的规则。

具体规则的介绍,请参见“QoS命令”中的if-match命令。

c.     退回系统视图。

quit

(3)     定义流行为。

a.     创建一个流行为,并进入流行为视图。

traffic behavior behavior-name

b.     为流行为配置流量统计动作。

accounting [ byte | packet ] *

缺省情况下,未配置流量统计动作。

c.     退回系统视图。

quit

(4)     定义策略。

a.     创建一个策略,并进入策略视图。

qos [ accounting ] policy policy-name

b.     在策略中为类指定采用的流行为。

classifier classifier-name behavior behavior-name

缺省情况下,未指定类对应的流行为。

c.     退回系统视图。

quit

(5)     应用QoS策略。

具体配置请参见“2.6  应用策略

缺省情况下,未应用QoS策略。

12.4  流量统计显示和维护

可在任意视图下执行以下命令:

·     显示控制平面应用QoS策略的信息。

display qos policy control-plane

·     显示基于全局应用QoS策略的配置信息和运行情况。

display qos [ accounting ] policy global

·     显示接口上QoS策略的配置信息和运行情况。

display qos [ accounting ] policy interface

·     显示基于VLAN应用QoS策略的配置信息和运行情况。

display qos vlan-policy

12.5  流量统计典型配置举例

12.5.1  流量统计基本组网配置举例

1. 组网需求

用户网络描述如下:Host通过接口FourHundredGigE1/0/1接入设备Device。

配置流量统计功能,对接口FourHundredGigE1/0/1接收的源IP地址为1.1.1.1/24的报文进行统计。

2. 组网图

图12-1 流量统计基本组网图

3. 配置步骤

# 定义基本ACL 2000,对源IP地址为1.1.1.1的报文进行分类。

<Device> system-view

[Device] acl basic 2000

[Device-acl-ipv4-basic-2000] rule permit source 1.1.1.1 0

[Device-acl-ipv4-basic-2000] quit

# 定义类classifier_1,匹配基本ACL 2000。

[Device] traffic classifier classifier_1

[Device-classifier-classifier_1] if-match acl 2000

[Device-classifier-classifier_1] quit

# 定义流行为behavior_1,动作为流量统计。

[Device] traffic behavior behavior_1

[Device-behavior-behavior_1] accounting packet

[Device-behavior-behavior_1] quit

# 定义策略policy,为类classifier_1指定流行为behavior_1。

[Device] qos policy policy

[Device-qospolicy-policy] classifier classifier_1 behavior behavior_1

[Device-qospolicy-policy] quit

# 将策略policy应用到端口FourHundredGigE1/0/1的入方向上。

[Device] interface fourhundredgige 1/0/1

[Device-FourHundredGigE1/0/1] qos apply policy policy inbound

[Device-FourHundredGigE1/0/1] quit

# 查看配置后流量统计的情况。

[Device] display qos policy interface fourhundredgige 1/0/1

Interface: FourHundredGigE1/0/1

  Direction: Inbound

  Policy: policy

   Classifier: classifier_1

     Operator: AND

     Rule(s) :

      If-match acl 2000

     Behavior: behavior_1

      Accounting enable:

        28529 (Packets)


13 端口队列统计

13.1  端口队列统计显示和维护

可在任意视图下执行以下命令:

·     显示端口队列统计信息。

display qos queue-statistics interface [ interface-type interface-number ] outbound

·     清除端口队列出方向的统计信息。

reset qos queue-statistics interface [ interface-type interface-number ] outbound

 

 


14 附录

14.1  附录 A 缩略语表

表14-1 附录 A 缩略语表

缩略语

英文全名

中文解释

AF

Assured Forwarding

确保转发

BE

Best Effort

尽力转发

BQ

Bandwidth Queuing

带宽队列

CAR

Committed Access Rate

承诺访问速率

CBQ

Class Based Queuing

基于类的队列

CBS

Committed Burst Size

承诺突发尺寸

CBWFQ

Class Based Weighted Fair Queuing

基于类的加权公平队列

CE

Customer Edge

用户边缘设备

CIR

Committed Information Rate

承诺信息速率

CQ

Custom Queuing

定制队列

DAR

Deeper Application Recognition

深度应用识别

DCBX

Data Center Bridging Exchange Protocol

数据中心桥能力交换协议

DiffServ

Differentiated Service

区分服务

DoS

Denial of Service

拒绝服务

DSCP

Differentiated Services Code Point

区分服务编码点

EACL

Enhanced ACL

增强型ACL

EBS

Excess Burst Size

超出突发尺寸

ECN

Explicit Congestion Notification

显式拥塞通知

EF

Expedited Forwarding

加速转发

FEC

Forwarding Equivalance Class

转发等价类

FIFO

First in First out

先入先出

FQ

Fair Queuing

公平队列

GMB

Guaranteed Minimum Bandwidth

最小带宽保证队列

GTS

Generic Traffic Shaping

通用流量整形

IntServ

Integrated Service

综合服务

ISP

Internet Service Provider

互联网服务提供商

LFI

Link Fragmentation and Interleaving

链路分片与交叉

LLQ

Low Latency Queuing

低时延队列

LR

Line Rate

限速

LSP

Label Switched Path

标签交换路径

MPLS

Multiprotocol Label Switching

多协议标签交换

P2P

Peer-to-Peer

对等

PE

Provider Edge

服务提供商网络边缘

PHB

Per-hop Behavior

单中继段行为

PIR

Peak Information Rate

峰值信息速率

PQ

Priority Queuing

优先队列

PW

Pseudowire

伪线

QoS

Quality of Service

服务质量

QPPB

QoS Policy Propagation Through the Border Gateway Protocol

通过BGP传播QoS策略

RED

Random Early Detection

随机早期检测

RSVP

Resource Reservation Protocol

资源预留协议

RTP

Real-time Transport Protocol

实时传输协议

SLA

Service Level Agreement

服务水平协议

SP

Strict Priority

严格优先级队列

TE

Traffic Engineering

流量工程

ToS

Type of Service

服务类型

TP

Traffic Policing

流量监管

TS

Traffic Shaping

流量整形

VoIP

Voice over IP

在IP网络上传送语音

VPN

Virtual Private Network

虚拟专用网络

VSI

Virtual Station Interface

虚拟服务器接口

WFQ

Weighted Fair Queuing

加权公平队列

WRED

Weighted Random Early Detection

加权随机早期检测

WRR

Weighted Round Robin

加权轮询队列

 

14.2  附录 B 缺省优先级映射表

14.2.1  优先级映射表

表14-2 dot1p-lp、dot1p-dp、dot1p-dscp缺省映射关系

映射输入索引

dot1p-lp映射

dot1p-dp映射

dot1p-dscp映射

dot1p

lp

dp

dscp

0

2

0

0

1

0

0

8

2

1

0

16

3

3

0

24

4

4

0

32

5

5

0

40

6

6

0

48

7

7

0

56

 

表14-3 dscp-dot1p缺省映射关系

映射输入索引

dscp-dot1p映射

dscp

dot1p

0~7

0

8~15

1

16~23

2

24~31

3

32~39

4

40~47

5

48~55

6

56~63

7

 

表14-4 lp-dot1p缺省映射关系

映射输入索引

lp-dot1p映射

lp

dot1p

0

1

1

2

2

0

3

3

4

4

5

5

6

6

7

7

 

 

14.3  附录 C 各种优先级介绍

14.3.1  IP优先级和DSCP优先级

图14-1 ToS和DS域

 

图14-1所示,IP报文头的ToS字段有8个bit,其中前3个bit表示的就是IP优先级,取值范围为0~7。RFC 2474中,重新定义了IP报文头部的ToS域,称之为DS(Differentiated Services,差分服务)域,其中DSCP优先级用该域的前6位(0~5位)表示,取值范围为0~63,后2位(6、7位)是保留位。

表14-5 IP优先级说明

IP优先级(十进制)

IP优先级(二进制)

关键字

0

000

routine

1

001

priority

2

010

immediate

3

011

flash

4

100

flash-override

5

101

critical

6

110

internet

7

111

network

 

表14-6 DSCP优先级说明

DSCP优先级(十进制)

DSCP优先级(二进制)

关键字

46

101110

ef

10

001010

af11

12

001100

af12

14

001110

af13

18

010010

af21

20

010100

af22

22

010110

af23

26

011010

af31

28

011100

af32

30

011110

af33

34

100010

af41

36

100100

af42

38

100110

af43

8

001000

cs1

16

010000

cs2

24

011000

cs3

32

100000

cs4

40

101000

cs5

48

110000

cs6

56

111000

cs7

0

000000

be(default)

 

14.3.2  802.1p优先级

802.1p优先级位于二层报文头部,适用于不需要分析三层报头,而需要在二层环境下保证QoS的场合。

图14-2 带有802.1Q标签头的以太网帧

 

图14-2所示,4个字节的802.1Q标签头包含了2个字节的TPID(Tag Protocol Identifier,标签协议标识符)和2个字节的TCI(Tag Control Information,标签控制信息),TPID取值为0x8100,图14-3显示了802.1Q标签头的详细内容,Priority字段就是802.1p优先级。之所以称此优先级为802.1p优先级,是因为有关这些优先级的应用是在802.1p规范中被详细定义的。

图14-3 802.1Q标签头

 

表14-7 802.1p优先级说明

802.1p优先级(十进制)

802.1p优先级(二进制)

关键字

0

000

best-effort

1

001

background

2

010

spare

3

011

excellent-effort

4

100

controlled-load

5

101

video

6

110

voice

7

111

network-management

 

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们