• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

08-ACL和QoS配置指导

目录

02-QoS配置

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

02-QoS配置

目  录

1 QoS简介

1.1 概述

1.2 QoS服务模型简介

1.2.1 Best-Effort服务模型

1.2.2 DiffServ服务模型

1.3 QoS技术综述

1.3.1 QoS技术在网络中的位置

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

2 QoS配置方式

2.1 配置方式介绍

2.1.1 非QoS策略配置方式

2.1.2 QoS策略配置方式

2.2 QoS策略配置方式的步骤

2.2.1 定义类

2.2.2 定义流行为

2.2.3 定义策略

2.2.4 应用策略

2.2.5 配置接口流速统计时间

2.2.6 QoS策略显示和维护

3 优先级映射

3.1 优先级映射简介

3.1.1 优先级介绍

3.1.2 优先级映射表

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

3.3 配置优先级映射

3.3.1 配置优先级映射表

3.3.2 配置优先级信任模式

3.3.3 配置端口优先级

3.4 优先级映射显示和维护

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

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

4.1.1 流量评估与令牌桶

4.1.2 流量监管

4.1.3 流量整形

4.1.4 限速

4.2 配置流量监管

4.2.1 QoS策略配置方式

4.2.2 非QoS策略配置方式

4.3 配置流量整形

4.3.1 QoS策略配置方式

4.3.2 非QoS策略配置方式

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

4.5 流量监管与流量整形典型配置举例

4.5.1 IP限速典型配置举例

5 拥塞管理

5.1 拥塞管理简介

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

5.1.2 拥塞管理策略

5.1.3 拥塞管理技术的对比

5.2 配置先进先出队列的长度

5.3 配置优先队列

5.3.1 优先队列配置过程

5.3.2 优先队列配置举例

5.4 配置定制队列

5.5 配置加权公平队列

5.6 配置基于类的队列

5.6.1 配置概述

5.6.2 定义类

5.6.3 定义流行为

5.6.4 定义策略

5.6.5 应用策略

5.6.6 配置接口最大可用带宽

5.6.7 配置最大预留带宽占可用带宽的百分比

5.6.8 基于类的队列典型配置举例

5.7 配置RTP优先队列

5.8 拥塞管理的显示和维护

6 流量过滤

6.1 流量过滤简介

6.2 配置流量过滤

6.3 流量过滤配置举例

6.3.1 流量过滤配置举例

7 重标记

7.1 重标记简介

7.2 配置重标记

7.3 重标记配置举例

7.3.1 重标记配置举例

8 流量重定向

8.1 流量重定向简介

8.2 配置流量重定向

9 附录

9.1 附录 A 缩略语表

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

9.3 附录 C 各种优先级介绍

9.3.1 IP优先级和DSCP优先级

9.3.2 802.1p优先级

 


1 QoS简介

1.1  概述

QoS即服务质量。对于网络业务,影响服务质量的因素包括传输的带宽、传送的时延、数据的丢包率等。在网络中可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施来提高服务质量。

网络资源总是有限的,只要存在抢夺网络资源的情况,就会出现服务质量的要求。服务质量是相对网络业务而言的,在保证某类业务的服务质量的同时,可能就是在损害其它业务的服务质量。例如,在网络总带宽固定的情况下,如果某类业务占用的带宽越多,那么其他业务能使用的带宽就越少,可能会影响其他业务的使用。因此,网络管理者需要根据各种业务的特点来对网络资源进行合理的规划和分配,从而使网络资源得到高效利用。

下面从QoS服务模型出发,对目前使用最多、最成熟的一些QoS技术逐一进行描述。在特定的环境下合理地使用这些技术,可以有效地提高服务质量。

1.2  QoS服务模型简介

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

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

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

1.2.1  Best-Effort服务模型

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

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

1.2.2  DiffServ服务模型

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

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

1.3  QoS技术综述

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

1.3.1  QoS技术在网络中的位置

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

 

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

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

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

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

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

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

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

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

 

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

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

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

 


2 QoS配置方式

2.1  配置方式介绍

QoS的配置方式分为QoS策略配置方式和非QoS策略配置方式两种。

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

2.1.1  非QoS策略配置方式

非QoS策略配置方式是指不通过QoS策略来进行配置。例如,限速功能可以通过直接在接口上配置来实现。

2.1.2  QoS策略配置方式

QoS策略配置方式是指通过配置QoS策略来实现QoS功能。

QoS策略包含了三个要素:类、流行为、策略。用户可以通过QoS策略将指定的类和流行为绑定起来,灵活地进行QoS配置。

1. 类

类的要素包括:类的名称和类的规则。

用户可以通过命令定义一系列的规则来对报文进行分类。

2. 流行为

流行为用来定义针对报文所做的QoS动作。

流行为的要素包括:流行为的名称和流行为中定义的动作。

用户可以通过命令在一个流行为中定义多个动作。

3. 策略

策略用来将指定的类和流行为绑定起来,对符合分类条件的报文执行流行为中定义的动作。

策略的要素包括:策略名称、绑定在一起的类和流行为的名称。

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

2.2  QoS策略配置方式的步骤

图2-1所示:

图2-1 QoS策略配置方式的步骤

 

 

2.2.1  定义类

定义类首先要创建一个类名称,然后在此类视图下配置其匹配规则。

表2-1 定义类

操作

命令

说明

进入系统视图

system-view

-

定义一个类,并进入类视图

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

缺省情况下,没有定义类

定义匹配数据包的规则

if-match [ not ] match-criteria

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

具体规则请参见QoS命令参考中的命令if-match的介绍

 

2.2.2  定义流行为

定义流行为首先需要创建一个流行为名称,然后可以在此流行为视图下根据需要配置相应的流行为。每个流行为由一组QoS动作组成。

表2-2 定义流行为

操作

命令

说明

进入系统视图

system-view

-

定义一个流行为,并进入流行为视图

traffic behavior behavior-name

缺省情况下,没有定义流行为

配置流行为的动作

流行为就是对应符合流分类的报文做出相应的QoS动作,例如流量监管、流量过滤、重标记等,具体情况请参见本文相关章节

缺省情况下,没有配置流行为的动作

 

2.2.3  定义策略

1. 配置父策略

在策略视图下为类指定对应的流行为。以某种匹配规则将流区分为不同的类,再结合不同的流行为就能很灵活的实现各种QoS功能。

表2-3 定义策略

操作

命令

说明

进入系统视图

system-view

-

定义一个策略,并进入策略视图

qos policy policy-name

缺省情况下,没有定义策略

为类指定流行为

classifier classifier-name behavior behavior-name

缺省情况下,没有为类指定流行为

 

2. 配置子策略

提示

·     如果子策略中配置了CBQ,那么父策略中必须配置GTS,并且配置的父策略GTS带宽必须大于等于子策略CBQ带宽,否则配置失败。

·     嵌套策略时,如果父策略的GTS配置采用百分比形式,则子策略CBQ带宽配置必须采用百分比形式,不允许采用绝对值形式;如果父策略的GTS配置采用绝对值形式,则子策略CBQ带宽配置既可以采用百分比形式,也可以采用绝对值形式。

·     子策略中不允许配置GTS。

 

通过在流行为视图下应用子策略,可以实现策略嵌套功能。即由traffic classifier命令定义的某一类流量,除了执行父策略中定义的行为外,还由子策略再次对该类流量进行分类,并执行子策略中定义的行为。

表2-4 配置子策略

操作

命令

说明

进入系统视图

system-view

-

定义一个类,并进入类视图

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

缺省情况下,没有定义类

定义匹配数据包的规则

if-match [ not ] match-criteria

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

具体规则请参见QoS命令参考中的命令if-match的介绍

退回系统视图

quit

-

定义一个流行为,并进入流行为视图

traffic behavior behavior-name

缺省情况下,没有定义流行为

配置子策略

traffic-policy policy-name

缺省情况下,没有配置嵌套策略

退出流行为视图

quit

-

定义一个策略,并进入策略视图

qos policy policy-name

缺省情况下,没有定义策略

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

classifier classifier-name behavior behavior-name

缺省情况下,没有为类指定流行为

 

2.2.4  应用策略

QoS策略支持以下应用方式:

·     基于接口应用QoS策略:QoS策略对通过接口接收或发送的流量生效。

·     基于控制平面应用QoS策略:QoS策略对通过控制平面接收的流量生效。

·     基于管理口控制平面应用QoS策略:QoS策略对通过管理口接收的流量生效。

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

1. 基于接口应用QoS策略

一个策略可以应用于多个接口。接口的每个方向(出和入两个方向)只能应用一个策略。

如果QoS策略应用在接口的出方向,则QoS策略对本地协议报文不起作用。本地协议报文是设备内部发起的某些报文,它是维持设备正常运行的重要协议报文。为了确保这些报文能够被不受影响的发送出去,即便在接口的出方向应用了QoS策略,本地协议报文也不会受到QoS策略的限制,从而降低了因配置QoS而误将这些报文丢弃或进行其他处理的风险。一些常见的本地协议报文如下:链路维护报文、SSH等。

表2-5 在接口上应用策略

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

进入接口视图后,下面进行的配置只在当前接口生效

在接口上应用QoS策略

qos apply policy policy-name { inbound | outbound }

缺省情况下,没有在接口上应用QoS策略

 

2. 基于控制平面应用QoS策略

提示

当某个单板资源不足导致控制平面应用QoS策略失败时,用户可以执行undo qos apply policy命令进行手工删除。

 

设备上存在数据平面和控制平面:

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

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

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

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

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

表2-6 应用控制平面策略

操作

命令

说明

进入系统视图

system-view

-

进入控制平面视图

control-plane

-

在控制平面上应用QoS策略

qos apply policy policy-name inbound

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

 

2.2.5  配置接口流速统计时间

提示

 

我们可以统计经过QoS策略流分类后每类报文的发送和丢弃速率。假设流速统计时间为t(t默认为5分钟),则系统将统计最近t时间内每类报文发送和丢弃的平均速率,且每t/5分钟刷新一次统计速率。流速统计的结果可以通过命令display qos policy interface查看。

表2-7 配置接口流速统计时间

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置接口流速统计时间

qos flow-interval interval

缺省情况下,接口流速统计时间为5分钟

 

2.2.6  QoS策略显示和维护

在任意视图下执行display命令可以显示QoS策略的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除QoS策略的统计信息。

表2-8 QoS策略显示和维护

操作

命令

显示类的配置信息

display traffic classifier { system-defined | user-defined } [ classifier-name ]

显示流行为的配置信息

display traffic behavior { system-defined | user-defined } [ behavior-name ]

显示QoS策略的配置信息

display qos policy { system-defined | user-defined } [ policy-name [ classifier classifier-name ] ]

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

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

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

display qos policy control-plane

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

display qos policy control-plane pre-defined

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

reset qos policy control-plane

 


3 优先级映射

3.1  优先级映射简介

报文在进入设备以后,设备会根据映射规则分配或修改报文的各种优先级的值,为队列调度和拥塞控制服务。

优先级映射功能通过报文所携带的优先级字段来映射其他优先级字段值,就可以获得决定报文调度能力的各种优先级字段,从而为全面有效的控制报文的转发调度等级提供依据。

3.1.1  优先级介绍

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

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

设备调度优先级是指报文在设备内转发时所使用的优先级,只对当前设备自身有效。设备调度优先级为本地优先级(LP),即设备为报文分配的一种具有本地意义的优先级,每个本地优先级对应一个队列,本地优先级值越大的报文,进入的队列优先级越高,从而能够获得优先的调度。

3.1.2  优先级映射表

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

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

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

常用的方式有两种:配置优先级信任模式和配置端口优先级。

如果配置了优先级信任模式,即表示设备信任所接收报文的优先级,会自动解析报文的优先级或者标志位,然后按照映射表映射到报文的优先级参数。

如果没有配置优先级信任模式,并且配置了端口优先级值,则表明设备不信任所接收报文的优先级,而是使用端口优先级,按照映射表映射到报文的优先级参数。

表3-1 优先级映射配置任务简介

配置任务

说明

详细配置

配置优先级映射表

可选

3.3.1 

配置优先级信任模式

二者必选其一

3.3.2 

配置端口优先级

3.3.3 

 

3.3  配置优先级映射

3.3.1  配置优先级映射表

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

表3-2 优先级映射表

优先级映射

描述

dot1p-lp

802.1p优先级到本地优先级映射表

dscp-lp

DSCP到本地优先级映射表

 

表3-3 配置优先级映射表

操作

命令

说明

进入系统视图

system-view

-

进入指定的优先级映射表视图

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

用户根据需要进入相应的优先级映射表视图

配置指定优先级映射表的映射关系

import import-value-list export export-value

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

新配置的映射关系将覆盖原有映射关系

 

3.3.2  配置优先级信任模式

根据报文自身的优先级,查找优先级映射表,为报文分配优先级参数,可以通过配置优先级信任模式的方式来实现。

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

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

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

表3-4 配置优先级信任模式

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网接口视图

interface interface-type interface-number

-

配置优先级信任模式

qos trust { dot1p | dscp }

缺省情况下,没有配置优先级信任模式

 

3.3.3  配置端口优先级

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

表3-5 配置端口优先级

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网接口视图

interface interface-type interface-number

-

配置端口优先级

qos priority priority-value

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

 

3.4  优先级映射显示和维护

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

表3-6 优先级映射显示和维护

操作

命令

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

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

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

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

 

 


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 TP示意图

 

流量监管广泛的用于监管进入Internet服务提供商ISP的网络流量。流量监管还包括对所监管流量的流分类服务,并依据不同的评估结果,实施预先设定好的监管动作。这些动作可以是:

·     转发:比如对评估结果为“符合”的报文继续转发。

·     丢弃:比如对评估结果为“不符合”的报文进行丢弃。

·     改变优先级并转发:比如对评估结果为“符合”的报文,将其优先级进行重标记后再进行转发。

·     改变优先级并进入下一级监管:比如对评估结果为“符合”的报文,将其优先级进行重标记后再进入下一级的监管。

·     进入下一级的监管:流量监管可以进行分级,每级关注和监管更具体的目标。

4.1.3  流量整形

说明

 

流量整形是一种主动调整流量输出速率的措施。一个典型应用是基于下游网络节点的流量监管指标来控制本地流量的输出。

流量整形与流量监管的主要区别在于:

·     流量整形对流量监管中需要丢弃的报文进行缓存——通常是将它们放入缓冲区或队列内,如图4-2所示。当令牌桶有足够的令牌时,再均匀的向外发送这些被缓存的报文。

·     流量整形可能会增加延迟,而流量监管几乎不引入额外的延迟。

图4-2 流量整形示意图

 

例如,在图4-3所示的应用中,设备Router A向Router B发送报文。Router B要对Router A发送来的报文进行流量监管,对超出规格的流量直接丢弃。

图4-3 流量整形的应用

 

为了减少报文的无谓丢失,可以在Router A的出口对报文进行流量整形处理。将超出流量整形特性的报文缓存在Router A中。当可以继续发送下一批报文时,流量整形再从缓冲队列中取出报文进行发送。这样,发向Router B的报文将都符合Router B的流量规定。

4.1.4  限速

说明

限速支持入/出两个方向,为了方便描述,下文以出方向为例。

 

利用限速可以在一个接口上限制发送报文(包括紧急报文)的总速率。

限速也是采用令牌桶进行流量控制。假如在设备的某个接口上配置了限速,所有经由该接口发送的报文首先要经过限速的令牌桶进行处理。如果令牌桶中有足够的令牌,则报文可以发送;否则,报文将进入QoS队列进行拥塞管理。这样,就可以对该接口的报文流量进行控制。

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

 

由于采用了令牌桶控制流量,当令牌桶中存有令牌时,可以允许报文的突发性传输;当令牌桶中没有令牌时,报文必须等到桶中生成了新的令牌后才可以继续发送。这就限制了报文的流量不能大于令牌生成的速度,达到了限制流量,同时允许突发流量通过的目的。

与流量监管相比,限速能够限制所有报文。当用户只要求对所有报文限速时,使用限速比较简单。

4.2  配置流量监管

流量监管的配置有两种方式:QoS策略配置方式和非QoS策略配置方式。

如果接口上同时采用了QoS策略配置方式和非QoS策略配置方式配置了流量监管,那么只有前者会生效。

4.2.1  QoS策略配置方式

表4-1 配置流量监管(QoS策略配置方式)

操作

命令

说明

进入系统视图

system-view

-

定义一个类,并进入类视图

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

缺省情况下,没有定义类

定义匹配数据包的规则

if-match [ not ] match-criteria

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

具体规则请参见QoS命令参考中的命令if-match的介绍

退回系统视图

quit

-

定义一个流行为,并进入流行为视图

traffic behavior behavior-name

缺省情况下,没有定义流行为

配置流量监管动作

·     绝对值配置方式

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 ] *

·     百分比配置方式

car cir percent cir-percent [ cbs cbs-time [ ebs ebs-time ] ] [ green action | red action | yellow action ] *

car cir percent cir-percent [ cbs cbs-time ] pir percent pir-percent [ ebs ebs-time ] [ green action | red action | yellow action ] *

缺省情况下,没有配置流量监管动作

退回系统视图

quit

-

定义一个策略,并进入策略视图

qos policy policy-name

缺省情况下,没有定义策略

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

classifier classifier-name behavior behavior-name

缺省情况下,没有为类指定流行为

退回系统视图

quit

-

应用QoS策略

基于接口

2.2.4  1. 基于接口应用QoS策略

二者选其一

缺省情况下,没有应用QoS策略

基于控制平面

2.2.4  2. 基于控制平面应用QoS策略

 

4.2.2  非QoS策略配置方式

1. 基于CAR列表的流量监管配置

表4-2 基于CAR列表的流量监管配置

操作

命令

说明

进入系统视图

system-view

-

配置CAR列表

qos carl carl-index { dscp dscp-list | mac mac-address | precedence precedence-value | { destination-ip-address | source-ip-address } { range start-ip-address to end-ip-address | subnet ip-address mask-length } [ per-address [ shared-bandwidth ] ] }

缺省情况下,没有配置CAR列表

进入接口视图

interface interface-type interface-number

-

在接口应用基于CAR列表的CAR策略

·     绝对值配置方式

qos car { inbound | outbound } carl carl-index cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ green action | red action | yellow action ] *

qos car { inbound | outbound } carl carl-index cir committed-information-rate [ cbs committed-burst-size ] pir peak-information-rate [ ebs excess-burst-size ] [ green action | red action | yellow action ] *

·     百分比配置方式

qos car { inbound | outbound } carl carl-index percent cir cir-percent [ cbs cbs-time [ ebs ebs-time ] ] [ green action | red action | yellow action ] *

qos car { inbound | outbound } carl carl-index percent cir cir-percent [ cbs cbs-time ] pir pir-percent [ ebs ebs-time ] [ green action | red action | yellow action ] *

缺省情况下,接口上没有配置CAR

 

2. 基于ACL的流量监管配置

表4-3 基于ACL的流量监管配置

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

在接口应用基于ACL规则的CAR策略

·     绝对值配置方式

qos car { inbound | outbound } acl acl-number cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ green action | red action | yellow action ] *

qos car { inbound | outbound } acl acl-number cir committed-information-rate [ cbs committed-burst-size ] pir peak-information-rate [ ebs excess-burst-size ] [ green action | red action | yellow action ] *

·     百分比配置方式

qos car { inbound | outbound } acl acl-number percent cir cir-percent [ cbs cbs-time [ ebs ebs-time ] ] [ green action | red action | yellow action ] *

qos car { inbound | outbound } acl acl-number percent cir cir-percent [ cbs cbs-time ] pir pir-percent [ ebs ebs-time ] [ green action | red action | yellow action ] *

缺省情况下,接口上没有配置CAR

 

3. 适配所有流的流量监管配置

表4-4 适配所有流的流量监管配置

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

在接口应用CAR策略

·     绝对值配置方式

qos car { inbound | outbound } any cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ green action | red action | yellow action ] *

qos car { inbound | outbound } any cir committed-information-rate [ cbs committed-burst-size ] pir peak-information-rate [ ebs excess-burst-size ] [ green action | red action | yellow action ] *

·     百分比配置方式

qos car { inbound | outbound } any percent cir cir-percent [ cbs cbs-time [ ebs ebs-time ] ] [ green action | red action | yellow action ] *

qos car { inbound | outbound } any percent cir cir-percent [ cbs cbs-time ] pir pir-percent [ ebs ebs-time ] [ green action | red action | yellow action ] *

缺省情况下,接口上没有配置CAR

 

4.3  配置流量整形

4.3.1  QoS策略配置方式

表4-5 配置流量整形(QoS策略配置方式)

操作

命令

说明

进入系统视图

system-view

-

定义一个类,并进入类视图

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

缺省情况下,没有定义类

定义匹配数据包的规则

if-match [ not ] match-criteria

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

具体规则请参见QoS命令参考中的命令if-match的介绍

退回系统视图

quit

-

定义一个流行为,并进入流行为视图

traffic behavior behavior-name

缺省情况下,没有定义流行为

配置流量整形动作

gts cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ queue-length queue-length ]

gts percent cir cir-percent [ cbs cbs-time [ ebs ebs-time ] ] [ queue-length queue-length ]

缺省情况下,没有配置流量整形动作

退回系统视图

quit

-

定义一个策略,并进入策略视图

qos policy policy-name

缺省情况下,没有定义策略

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

classifier classifier-name behavior behavior-name

缺省情况下,没有为类指定流行为

退回系统视图

quit

-

应用QoS策略

基于接口

2.2.4  1. 基于接口应用QoS策略

二者选其一

缺省情况下,没有应用QoS策略

基于控制平面

2.2.4  2. 基于控制平面应用QoS策略

 

4.3.2  非QoS策略配置方式

非QoS策略流量整形配置分为以下两种:

·     基于ACL的流量整形配置:为匹配某一ACL的流设置整形参数,使用不同的ACL可以为不同的流设置流量整形参数。

·     适配所有流的流量整形配置:为所有的流设置流量整形参数。

1. 基于ACL的流量整形配置

表4-6 基于ACL的流量整形配置

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

在接口配置流量整形

qos gts acl acl-number cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ queue-length queue-length ]

缺省情况下,接口上没有配置流量整形

 

2. 适配所有流的流量整形配置

表4-7 适配所有流的流量整形配置

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

在接口配置流量整形

qos gts any cir committed-information-rate [ cbs committed-burst-size [ ebs excess-burst-size ] ] [ queue-length queue-length ]

缺省情况下,接口上没有配置流量整形

 

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

在完成上述配置后,在任意视图下执行display命令可以显示配置后流量监管、流量整形和接口限速的运行情况,通过查看显示信息验证配置的效果。

表4-8 流量监管、流量整形和限速显示和维护

操作

命令

显示接口的流量监管配置情况和统计信息

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

显示CAR列表

display qos carl [ carl-index ]

显示流量监管的相关配置信息

display traffic behavior user-defined [ behavior-name ]

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

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

 

4.5  流量监管与流量整形典型配置举例

4.5.1  IP限速典型配置举例

1. 配置需求

要求在设备Router上对接口GigabitEthernet0/0接收到的报文流进行限速:对HostA~HostZ(源地址属于IP地址段2.1.1.1~2.1.1.100)进行IP限速,逐IP地址流量限速5kbps,网段内各IP地址的流量共享剩余带宽。

2. 组网图

图4-5 IP限速配置组网图

 

3. 配置步骤

# 在接口GigabitEthernet0/0上对源地址属于IP地址段2.1.1.1~2.1.1.100内所有PC进行限速,网段内各IP地址的流量共享剩余带宽。

<Router> system-view

[Router] qos carl 1 source-ip-address range 2.1.1.1 to 2.1.1.100 per-address shared-bandwidth

[Router] interface gigabitethernet 0/0

[Router-GigabitEthernet0/0] qos car inbound carl 1 cir 500 cbs 1875 ebs 0 green pass red discard

[Router-GigabitEthernet0/0] quit

 


5 拥塞管理

5.1  拥塞管理简介

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

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

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

图5-1 流量拥塞示意图

 

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

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

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

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

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

拥塞管理的中心内容就是当拥塞发生时如何制定一个资源的调度策略,以决定报文转发的处理次序。

5.1.2  拥塞管理策略

对于拥塞管理,一般采用队列技术,使用一个队列算法对流量进行分类,之后用某种优先级别算法将这些流量发送出去。每种队列算法都是用以解决特定的网络流量问题,并对带宽资源的分配、延迟、抖动等有着十分重要的影响。

拥塞管理的处理包括队列的创建、报文的分类、将报文送入不同的队列、队列调度等。

下面介绍几种常用的队列。

1. FIFO队列

图5-2 先入先出队列示意图

 

图5-2所示,FIFO按照时间到达的先后决定分组的转发次序,先进的先出,后进的后出,不需要进行流分类和队列调度,FIFO关心的只是队列的长度,队列的长度对延迟和丢包率的影响。用户的业务流在某个设备能够获得的资源取决于分组的到达时机及当时的负载情况。Best-Effort报文转发方式采用的就是FIFO的排队策略。

如果设备的每个端口只有一个基于FIFO的输入或输出队列,那么恶性的应用可能会占用所有的网络资源,严重影响关键业务数据的传送。所以还需要配置一些其他的队列调度机制与FIFO配合对流量进行调度和拥塞控制。

每个队列内部报文的发送次序缺省是FIFO

2. PQ队列

图5-3 PQ队列示意图

 

 

PQ队列是针对关键业务应用设计的。关键业务有一个重要的特点,即在拥塞发生时要求优先获得服务以减小响应的延迟。PQ可以根据网络协议(比如IP、IPX)、数据流入接口、报文长度、源地址/目的地址等灵活地为数据流指定优先次序。如图5-3所示,PQ的4个队列分别为高优先队列(top)、中优先队列(middle)、正常优先队列(normal)和低优先队列(bottom)。所有报文将被分成4类,并按所属类别进入4个队列中的一个。缺省情况下,数据流进入normal队列。每个队列内部又遵循FIFO原则。

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

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

3. CQ队列

图5-4 CQ队列示意图

 

CQ队列包含16个队列,1到16号队列是用户队列,如图5-4所示。用户可以配置流分类的规则,指定16个队列占用接口带宽的比例关系。

在队列调度时,采用轮询的方式按照预先配置的轮询字节数依次从1到16号用户队列中取出一定数量的分组发送出去。这样,就可以使不同业务的分组获得不同的带宽,既可以保证关键业务能获得较多的带宽,又不至于使非关键业务得不到带宽。每个队列所占的带宽比例为:该队列的轮询字节数/所有队列的轮询字节数之和。缺省情况下,数据流进入1号队列。

CQ队列的另一个优点是:可根据业务的繁忙程度分配带宽,适用于对带宽有特殊需求的应用。虽然16个用户队列的调度是轮询进行的,但对每个队列不是固定地分配服务时间片——如果某个队列为空,那么马上换到下一个队列调度。因此,当没有某些类别的报文时,CQ调度机制能自动增加现存类别的报文可占的带宽。

4. WFQ队列

图5-5 WFQ队列示意图

 

在介绍加权公平队列前,先要理解FQ队列。FQ队列是为了公平地分享网络资源,尽可能使所有流的延迟和抖动达到最优而推出的。它照顾了各方面的利益,主要表现在:

·     不同的队列获得公平的调度机会,从总体上均衡各个流的延迟。

·     短报文和长报文获得公平的调度:如果不同队列间同时存在多个长报文和短报文等待发送,应当顾及短报文的利益,让短报文优先获得调度,从而在总体上减少各个流的报文间的抖动。

FQ相比,WFQ在计算报文调度次序时增加了优先权方面的考虑。从统计上,WFQ使高优先权的报文获得优先调度的机会多于低优先权的报文。WFQ能够按流的“会话”信息(协议类型、源和目的TCP或UDP端口号、源和目的IP地址、ToS域中的优先级位等)自动进行流分类,并且尽可能多地提供队列,以将每个流均匀地放入不同队列中,从而在总体上均衡各个流的延迟。在出队的时候,WFQ按流的优先级来分配每个流应占有出口的带宽。优先级的数值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多。

例如:接口中当前共有5个流,它们的优先级分别为0、1、2、3、4,则带宽总配额为所有(流的优先级+1)的和,即1+2+3+4+5=15。

每个流所占带宽比例为:(自己的优先级数+1)/(所有(流的优先级+1)的和)。即每个流可得的带宽分别为:1/15,2/15,3/15,4/15,5/15。

由于WFQ在拥塞发生时能均衡各个流的延迟和抖动,所以WFQ在一些特殊场合得到了有效的应用。比如在使用RSVP协议的保证型业务中,通常就是采用WFQ作为调度策略;在流量整形中,也采用WFQ调度缓存的报文。

5. CBQ队列

图5-6 基于类的队列示意图

 

CBQ是对WFQ功能的扩展,为用户提供了定义类的支持。在网络拥塞时,CBQ根据用户定义的类规则对报文进行匹配,并使其进入相应的队列,在入队列之前必须进行拥塞避免机制和带宽限制的检查。在报文出队列时,加权公平调度每个类对应的队列中的报文。

CBQ包括以下队列:

l     紧急队列:CBQ提供一个紧急队列,紧急报文入该队列,该队列采用FIFO调度,没有带宽限制。

l     LLQ:即EF队列。如果CBQ加权公平对待所有类的队列,实时业务报文(包括语音与视频业务,对延迟比较敏感)就可能得不到及时发送。为此引入一个EF队列,为实时业务报文提供严格优先发送服务。LLQ将严格优先队列机制与CBQ结合起来使用,用户在定义类时可以指定其享受严格优先服务,这样的类称作优先类。所有优先类的报文将进入同一个优先队列,在入队列之前需对各类报文进行带宽限制的检查。报文出队列时,将首先发送优先队列中的报文,直到发送完后才发送其他类对应的队列的报文。为了不让其他队列中的报文延迟时间过长,在使用LLQ时将会为每个优先类指定可用最大带宽,该带宽值用于拥塞发生时监管流量。如果拥塞未发生,优先类允许使用超过分配的带宽。如果拥塞发生,优先类超过分配带宽的数据包将被丢弃。最多支持64个EF队列。

l     BQ:即AF队列。为AF业务提供严格、精确的带宽保证,并且保证各类AF业务之间按一定的比例关系进行队列调度。最多支持64个AF队列。

l     缺省队列:一个WFQ队列,用来支撑BE业务,使用接口剩余带宽进行发送。

系统在为报文匹配规则时,规则如下:

l     先匹配优先类,然后再匹配其他类;

l     对多个优先类,按照配置顺序逐一匹配;

l     对其他类,也是按照配置顺序逐一匹配;

l     对类中多个规则,按照配置顺序逐一匹配。

6. RTP优先队列

RTP优先队列是一种保证实时业务(包括语音与视频业务)服务质量的简单的队列技术。其原理就是将承载语音或视频的RTP报文送入高优先级队列,使其得到优先发送,保证时延和抖动降低为最低限度,从而保证了语音或视频这种对时延敏感业务的服务质量。

图5-7 RTP优先队列示意图

 

图5-7所示,RTP优先队列将RTP报文送入一个具有较高优先级的队列。RTP报文是端口号在一定范围内为偶数的UDP报文,端口号的范围可以配置。RTP优先队列可以同其他队列(包括FIFO、PQ、CQ和WFQ)结合使用,而它的优先级是最高的。

说明

RTP和CBQ互斥,不能结合使用。CBQ可以通过LLQ来保证实时业务数据的转发。

 

5.1.3  拥塞管理技术的对比

设备上提供了以上拥塞管理技术,突破了传统IP设备的单一FIFO拥塞管理策略,提供了强大的QoS能力,使得IP设备可以满足不同业务所要求的不同服务质量的要求。为了用户更好地利用拥塞管理技术,现对各种队列技术做一比较。

表5-1 拥塞管理技术对比

类型

队列数

优点

缺点

FIFO

1

·     不需要配置,易于使用

·     处理简单,延迟小

·     所有的报文均进入一个“先进先出”的队列,发送报文所占用的带宽、延迟时间、丢失的概率均由报文到达队列的先后顺序决定

·     对不匹配的数据源(即没有流控机制的流,如UDP报文发送)无约束力,不匹配的数据源会造成匹配的数据源(如TCP报文发送)带宽受损失

·     对时间敏感的实时应用(如VoIP)的延迟得不到保证

PQ

4

可对优先级高的业务提供绝对的优先,对时间敏感的实时应用(如VoIP)的延迟可以得到保证

·     需配置,处理速度慢

·     如果较高优先级队列中总有报文存在,那么低优先级队列中的报文将一致得不到服务

CQ

16

·     可对不同业务的报文按带宽比例分配带宽

·     当没有某些类别的报文时,能自动增加现存类别的报文可占的带宽

需配置,处理速度慢

WFQ

可配置

·     配置容易

·     可以保护配合(交互)的数据源(如TCP报文发送)的带宽

·     可以减小抖动

·     可以减小数据量小的交互式应用的延迟

·     可以为不同优先级的流分配不同的带宽

·     当流的数目减少时,能自动增加现存流可占的带宽

处理速度比FIFO要慢

CBQ

可配置

·     可以对数据根据灵活、多样的分类规则进行划分,分别为EF(加速转发)、AF(确保转发)、BE(尽力转发)业务提供不同的队列调度机制

·     可以为AF业务提供严格、精确的带宽保证,并且保证各类AF业务之间根据权值按一定的比例关系进行队列调度

·     可以为EF业务提供绝对优先的队列调度,确保实时数据的时延满足要求;同时通过对高优先级数据流量的限制,克服了PQ的低优先级队列可能得不到服务的弊病

·     对于尽力转发的缺省类数据,提供WFQ队列调度

系统开销比较大

RTP

1

·     保证了实时业务优先处理

·     在入队前进行流量监管的处理,避免出现其他队列得不到处理的情况

适用范围较窄,一般仅适用于对时延敏感的业务(如语音和视频业务)

 

说明

 

5.2  配置先进先出队列的长度

FIFO是接口缺省使用的队列调度机制,可以通过配置命令改变其队列长度。

若是子接口,则接口需要使能LR功能以保证队列功能生效。

 

表5-2 配置先进先出队列的长度(接口)

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置先进先出队列的长度

qos fifo queue-length queue-length

缺省情况下,FIFO队列的长度为75

如果流量突发较大,可以通过增加队列长度的方法来改善队列调度的准确率

 

5.3  配置优先队列

可以给一个优先列表定义多条规则,然后把该组规则应用在某接口上。在进行流分类时,数据流按照配置顺序进行匹配,如果匹配上某规则,则进入相应的队列,匹配结束;如果分组不与任何规则匹配,则进入缺省队列。

5.3.1  优先队列配置过程

将一组优先列表应用到接口上。对于同一个接口,若优先队列的应用命令的重复使用,则最新的配置生效。

表5-3 优先队列配置过程

操作

命令

说明

进入系统视图

system-view

-

配置优先列表

qos pql pql-index protocol { ip } [ queue-key key-value ] queue { bottom | middle | normal | top }

或者

qos pql pql-index inbound-interface interface-type interface-number queue { bottom | middle | normal | top }

或者

qos pql pql-index local-precedence local-precedence-list queue { bottom | middle | normal | top }

可以根据需要选择优先列表的配置命令

(可选)配置缺省队列

qos pql pql-index default-queue { bottom | middle | normal | top }

本配置用来指明不匹配规则的数据包的入队队列

缺省情况下,缺省队列为normal

(可选)配置队列长度

qos pql pql-index queue { bottom | middle | normal | top } queue-length queue-length

缺省情况下,高优先队列的缺省长度值为20,中优先队列的缺省长度值为40,正常优先队列的缺省长度值为60,低优先队列的缺省长度值为80

进入接口视图

interface interface-type interface-number

-

应用优先列表

qos pq pql pql-index

缺省情况下,接口不使用PQ,而使用FIFO

 

说明

如指定接口为Virtual-Template接口,将显示继承该Virtual-Template接口的所有Virtual-Access接口下的QoS CQ的信息,Virtual-Template本身无QoS信息显示。

若是子接口、三层聚合接口,则接口需要使能LR功能以保证队列功能生效。

 

5.3.2  优先队列配置举例

1. 配置需求

如图所示,Server和Host A通过Router A向Host B发送数据(其中Server发送关键业务数据,Host A发送非关键业务数据)时,由于Router A入接口GigabitEthernet0/1的速率大于出接口GigabitEthernet0/0的速率,在GigabitEthernet0/0接口处可能发生拥塞,导致丢包。要求在网络拥塞时保证Server发送的关键业务数据得到优先处理。

2. 组网图

图5-8 优先队列配置组网图

 

3. 配置步骤

# 配置ACL规则列表,分别匹配来源于Server和Host A的报文。

[RouterA] acl basic 2001

[RouterA-acl-ipv4-basic-2001] rule permit source 1.1.1.1 0

[RouterA] acl basic 2002

[RouterA-acl-ipv4-basic-2002] rule permit source 1.1.1.2 0

# 配置优先队列规则组,使得网络拥塞发生时,源自Server的报文能够进入PQ的top队列缓存,源自Host A的报文能够进入bottom队列缓存,并且设定top队列的最大队列长度为50、bottom队列的最大队列长度为100。

[RouterA] qos pql 1 protocol ip acl 2001 queue top

[RouterA] qos pql 1 protocol ip acl 2002 queue bottom

[RouterA] qos pql 1 queue top queue-length 50

[RouterA] qos pql 1 queue bottom queue-length 100

# 在接口GigabitEthernet0/0上启用优先队列规则组1。

[RouterA] interface gigabitethernet 0/0

[RouterA-GigabitEthernet0/0] qos pq pql 1

5.4  配置定制队列

定制列表共可分为16个组(1~16),每个组指明了什么样的分组进入什么样的队列、各队列的长度和每次轮询各队列所能连续发送的字节数等信息。在一个接口上只能应用一个组。

表5-4 定制队列配置过程

操作

命令

说明

进入系统视图

system-view

-

配置定制列表

qos cql cql-index protocol { ip } [ queue-key key-value ] queue queue-id  

或者

qos cql cql-index inbound-interface interface-type interface-number queue queue-id

或者

qos cql cql-index local-precedence local-precedence-list queue queue-id

可以根据需要选择定制列表的配置命令

(可选)配置缺省队列

qos cql cql-index default-queue queue-id

本配置指明不匹配规则的数据包的入队队列。

缺省情况下,缺省队列号为1

(可选)配置队列长度

qos cql cql-index queue queue-id queue-length queue-length

缺省情况下,队列长度值是20

(可选)配置各队列每次轮询所发送数据包的字节数

qos cql cql-index queue queue-id serving byte-count

缺省情况下,发送数据包的字节数为1500

进入接口视图

interface interface-type interface-number

-

应用定制列表

qos cq cql cql-index

缺省情况下,接口不使用CQ,而使用FIFO

 

说明

如指定接口为Virtual-Template接口,将显示继承该Virtual-Template接口的所有Virtual-Access接口下的QoS CQ的信息,Virtual-Template本身无QoS信息显示。

若是子接口、三层聚合接口,则接口需要使能LR功能以保证队列功能生效。

 

5.5  配置加权公平队列

提示

 

当接口没有使用WFQ策略时,使用qos wfq命令可以使接口使用WFQ策略,同时指定WFQ的参数。如果接口已经使用了WFQ策略,使用qos wfq命令可以修改WFQ的参数。

表5-5 加权公平队列配置过程(接口)

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置加权队列

qos wfq [ dscp | precedence ] [ queue-length max-queue-length | queue-number total-queue-number ] *

缺省情况下,接口上没有配置WFQ队列

 

5.6  配置基于类的队列

5.6.1  配置概述

基于类的队列CBQ的配置步骤如下:

(1)     定义类

(2)     定义流行为

(3)     定义策略

(4)     在接口视图下应用QoS策略

为方便用户使用,系统预定义了一些类、流行为以及策略,具体如下。

2. 系统预定的类

系统预定义了一些类,并为这些类定义了通用的规则,用户定义策略时可直接使用这些类,这些类包括:

(1)     缺省类

default-class:匹配的是缺省数据流。

(2)     基于DSCP的预定义类

ef、af1、af2、af3、af4:分别匹配IP DSCP值ef、af1、af2、af3、af4

(3)     基于IP优先级的预定义类

ip-prec0,ip-prec1,…ip-prec7:分别匹配IP优先级0,1,…7

3. 系统预定义的流行为

系统预定义了一些流行为,并为这些流行为定义了QoS特性:

l     ef:定义了一个特性为入EF队列,占用带宽为接口可用带宽的20%

l     af:定义了一个特性为入AF队列,占用带宽为接口可用带宽的20%

l     be:不定义任何特性

l     be-flow-based:定义了一个特性为入WFQ队列,其中WFQ默认有256条队列

4. 系统预定义的策略

系统预定义了一个策略,为该策略指定了使用的预定义类,并为这些类指定预定义的动作。该策略名为default,具有缺省的CBQ动作。

default策略的具体规则如下:

l     预定义类ef,采用预定义流行为ef

l     预定义类af1~af4,采用预定义流行为af

l     default-class类,采用预定义流行为be

5.6.2  定义类

定义类首先要创建一个类名称,然后在此类视图下配置其匹配规则。

表5-6 定义类

操作

命令

说明

进入系统视图

system-view

-

定义一个类,并进入类视图

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

缺省情况下,没有定义类

定义匹配数据包的规则

if-match [ not ] match-criteria

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

具体规则请参见QoS命令参考中的命令if-match的介绍

 

5.6.3  定义流行为

定义流行为首先需要创建一个流行为名称,然后在此流行为视图下配置其特性。

1. 配置AF队列,并配置最小可保证带宽

l     该行为只能应用在接口的出方向。

l     在同一流行为视图下queue af不能与queue ef命令同时使用。

l     在同一策略下各个类需用同一单位配置queue af,或者用bandwidth,或者用百分比,或者用剩余百分比进行配置。

l     在同一策略下各个类需用同一单位配置queue efqueue af,或者用bandwidth,或者用百分比进行配置。当AF使用剩余百分比配置的时候,EF可以使用绝对值或百分比进行配置。

 

表5-7 配置AF队列,并配置最小可保证带宽

操作

命令

说明

进入系统视图

system-view

-

定义一个流行为,并进入流行为视图

traffic behavior behavior-name

缺省情况下,没有定义流行为

配置AF队列,并配置最小可保证带宽

queue af bandwidth { bandwidth | pct percentage | remaining-pct remaining-percentage }

缺省情况下,没有配置类采用AF队列

 

2. 配置EF队列,并配置最大带宽

l     在同一流行为视图下queue ef不能与queue afqueue-length命令同时使用。

l     缺省类不能与包含EF队列的行为关联。

l     在同一策略下各个类需用同一单位配置queue af,或者用bandwidth,或者用百分比,或者用剩余百分比进行配置。

l     在同一策略下各个类需用同一单位配置queue efqueue af,或者用bandwidth,或者用百分比进行配置。当AF使用剩余百分比配置的时候,EF可以使用绝对值或百分比进行配置。

 

表5-8 配置EF队列,并配置最大带宽

操作

命令

说明

进入系统视图

system-view

-

定义一个流行为,并进入流行为视图

traffic behavior behavior-name

缺省情况下,没有定义流行为

配置EF队列,并配置最大带宽

queue ef bandwidth { bandwidth [ cbs burst ] | pct percentage [ cbs-ratio ratio] }

缺省情况下,没有配置类采用EF队列

 

3. 配置采用公平队列

 

表5-9 配置采用公平队列

操作

命令

说明

进入系统视图

system-view

-

定义一个流行为,并进入流行为视图

traffic behavior behavior-name

缺省情况下,没有定义流行为

配置采用公平队列

queue wfq [ queue-number total-queue-number ]

缺省情况下,没有为缺省类配置采用公平队列

 

4. 配置最大队列长度

最大队列长度命令必须在配置了queue afqueue wfq后使用;执行undo queue afundo queue wfq命令,则queue-length也同时被取消。

 

配置最大队列长度,丢弃方式为尾丢弃。

表5-10 配置最大队列长度

操作

命令

说明

进入系统视图

system-view

-

定义一个流行为,并进入流行为视图

traffic behavior behavior-name

缺省情况下,没有定义流行为

配置最大队列长度

queue-length queue-length

缺省情况下,丢弃方式为尾部丢弃方式,队列长度为64

如果流量突发较大,可以通过增加队列长度的方法来改善队列调度的准确率

 

5. 配置丢弃方式为随机丢弃方式

提示

l     在同一流行为视图下wred不能与queue-length命令同时使用。

l     必须在配置了queue afqueue wfq后使用。

l     删除WRED时将删除在该随机丢弃下的其他配置。

 

表5-11 配置丢弃方式为随机丢弃方式

操作

命令

说明

进入系统视图

system-view

-

定义一个流行为,并进入流行为视图

traffic behavior behavior-name

缺省情况下,没有定义流行为

配置丢弃方式为随机丢弃方式

wred [ dscp | ip-precedence ]

缺省情况下,没有配置WRED动作

 

5.6.4  定义策略

表5-12 在策略中为类指定流行为

操作

命令

说明

进入系统视图

system-view

-

定义策略,并进入策略视图

qos policy policy-name

缺省情况下,没有定义策略

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

classifier classifier-name behavior behavior-name

缺省情况下,没有为类指定流行为

 

5.6.5  应用策略

qos apply policy命令将一个策略映射到具体的物理接口。一个策略映射可以在多个物理端口或上得到应用。

表5-13 将接口与所设置的策略相关联

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

进入接口视图后,下面进行的配置只在当前接口生效

在接口上应用关联的策略

qos apply policy policy-name { inbound | outbound }

缺省情况下,没有在接口上应用QoS策略

 

策略在接口视图下应用的规格如下:

·     普通物理接口,可以应用配置了各种特性(包括remark、car、queue af、queue ef、queue wfq等)的策略。

·     配置了队列(queue ef、queue af、queue wfq)特性的策略,不能作为入方向策略应用在入接口上。

·     若是子接口,则接口需要使能LR功能以保证CBQ队列功能生效。

5.6.6  配置接口最大可用带宽

 

最大可用带宽指CBQ中报文入队列带宽检查时使用的最大接口带宽,并非指物理接口的实际带宽。

表5-14 配置接口最大可用带宽

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置接口最大可用带宽

bandwidth bandwidth-value

具体情况请参见接口分册命令参考中的介绍

 

在未配置各种接口的最大可用带宽的条件下,计算CBQ时实际使用的基准带宽如下:

·     对于物理接口,其取值为物理接口实际的速率;

·     对于其他虚接口,取值为0kbps。

5.6.7  配置最大预留带宽占可用带宽的百分比

为队列分配带宽时,考虑到部分带宽用于控制协议报文、二层帧头等,通常配置的最大预留带宽不大于可用带宽的80%。

建议慎重使用该命令修改最大预留带宽。如果配置的最大预留带宽过大,发送的报文加上链路层的帧头有可能大于接口最大可用带宽,导致接口无法满足需求,建议使用缺省最大预留带宽。

表5-15 配置最大预留带宽占可用带宽的百分比

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置最大预留带宽占可用带宽的百分比

qos reserved-bandwidth pct percent

最大预留带宽占可用带宽的百分比为80

 

5.6.8  基于类的队列典型配置举例

1. 组网需求

在下面的组网图中,从Router C发出的数据流经过Router A和Router B到达Router D,需求如下:

l     Router C发出的数据流根据IP报文的DSCP域分为3类,要求配置QoS策略,对于DSCP域为AF11和AF21的流进行确保转发(AF),最小带宽为5%;

l     对于DSCP域为EF的流进行加速转发(EF),最大带宽为30%。

在进行配置之前,应保证:

l     Router C发出的流能够通过Router A和Router B可达Router D。

l     报文的DSCP域在进入Router A之前已经设置完毕。

2. 组网图

图5-9 基于类的队列配置组网图

 

3. 配置步骤

Router A上的配置如下。

# 定义三个类,分别匹配DSCP域为AF11、AF21和EF的IP报文。

<RouterA> system-view

[RouterA] traffic classifier af11_class

[RouterA-classifier-af11_class] if-match dscp af11

[RouterA-classifier-af11_class] quit

[RouterA] traffic classifier af21_class

[RouterA-classifier-af21_class] if-match dscp af21

[RouterA-classifier-af21_class] quit

[RouterA] traffic classifier ef_class

[RouterA-classifier-ef_class] if-match dscp ef

[RouterA-classifier-ef_class] quit

# 定义流行为,配置AF,并分配最小可用带宽。

[RouterA] traffic behavior af11_behav

[RouterA-behavior-af11_behav] queue af bandwidth pct 5

[RouterA-behavior-af11_behav] quit

[RouterA] traffic behavior af21_behav

[RouterA-behavior-af21_behav] queue af bandwidth pct 5

[RouterA-behavior-af21_behav] quit

# 定义流行为,配置EF,并分配最大可用带宽(对于EF流,将同时保证带宽和时延)。

[RouterA] traffic behavior ef_behav

[RouterA-behavior-ef_behav] queue ef bandwidth pct 30

[RouterA-behavior-ef_behav] quit

# 定义QoS策略,将已配置的流行为指定给不同的类。

[RouterA] qos policy dscp

[RouterA-qospolicy-dscp] classifier af11_class behavior af11_behav

[RouterA-qospolicy-dscp] classifier af21_class behavior af21_behav

[RouterA-qospolicy-dscp] classifier ef_class behavior ef_behav

[RouterA-qospolicy-dscp] quit

# 将已定义的QoS策略应用在Router A的GigabitEthernet0/1出方向。

[RouterA] interface gigabitethernet 0/1

[RouterA-GigabitEthernet0/1] ip address 1.1.1.1 255.255.255.0

[RouterA-GigabitEthernet0/1] qos apply policy dscp outbound

配置完成后,当发生拥塞时,可以观察到EF流以较高的优先级转发。

5.7  配置RTP优先队列

表5-16 RTP队列配置过程

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

应用RTP队列

qos rtpq start-port first-rtp-port-number end-port last-rtp-port-number bandwidth bandwidth [ cbs cbs ]

缺省情况下,接口上没有启动RTP队列特性

 

说明

 

5.8  拥塞管理的显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示拥塞管理各种队列的运行情况,通过查看显示信息验证配置的效果。

表5-17 拥塞管理的显示和维护

操作

命令

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

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

显示接口上先进先出队列配置信息和运行情况

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

显示接口优先级队列配置信息和运行情况

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

显示优先列表的内容

display qos pql [ pql-index]

显示接口定制队列配置信息和运行情况

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

显示定制列表的内容

display qos cql [ cql-index ]

显示接口上加权公平队列的配置统计信息

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

显示接口实时传输协议队列配置信息和运行情况

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

显示设备配置的类信息

display traffic classifier { system-defined | user-defined } [ classifier-name ]

显示设备配置的流行为信息

display traffic behavior { system-defined | user-defined } [ behavior-name ]

显示指定策略中指定类及与类关联的流行为的配置信息

display qos policy { system-defined | user-defined } [ policy-name [ classifier classifier-name ] ]

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

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

显示接口上基于类的队列配置信息和运行情况

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

 

 


6 流量过滤

6.1  流量过滤简介

流量过滤是指对符合流分类的流进行过滤的动作。

例如,可以根据网络的实际情况禁止从某个源IP地址发送的报文通过。

6.2  配置流量过滤

表6-1 配置流量过滤

操作

命令

说明

进入系统视图

system-view

-

定义一个类,并进入类视图

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

缺省情况下,没有定义类

定义匹配数据包的规则

if-match [ not ] match-criteria

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

具体规则请参见QoS命令参考中的命令if-match的介绍

退回系统视图

quit

-

定义一个流行为,并进入流行为视图

traffic behavior behavior-name

缺省情况下,没有定义流行为

配置流量过滤动作

filter { deny | permit }

缺省情况下,没有配置流量统计动作

退回系统视图

quit

-

定义一个策略,并进入策略视图

qos policy policy-name

缺省情况下,没有定义策略

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

classifier classifier-name behavior behavior-name

缺省情况下,没有为类指定流行为

退回系统视图

quit

-

应用QoS策略

基于接口

2.2.4  1. 基于接口应用QoS策略

二者选其一

缺省情况下,没有应用QoS策略

基于控制平面

2.2.4  2. 基于控制平面应用QoS策略

(可选)显示流量过滤的相关配置信息

display qos policy user-defined [ policy-name ]

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

 

6.3  流量过滤配置举例

6.3.1  流量过滤配置举例

1. 组网需求

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

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

2. 组网图

图6-1 流量过滤配置组网图

 

3. 配置步骤

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

<Device> system-view

[Device] acl advanced 3000

[Device-acl-ipv4-adv-3000] rule 0 permit tcp source-port neq 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应用到端口GigabitEthernet0/1的入方向上。

[Device] interface gigabitethernet 0/1

[Device-GigabitEthernet0/1] qos apply policy policy inbound

 


7 重标记

7.1  重标记简介

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

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

重标记可以和优先级映射功能配合使用,具体请参见优先级映射章节。

7.2  配置重标记

表7-1 配置重标记

操作

命令

说明

进入系统视图

system-view

-

定义一个类,并进入类视图

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

缺省情况下,没有定义类

定义匹配数据包的规则

if-match [ not ] match-criteria

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

具体规则请参见QoS命令参考中的命令if-match的介绍

退回系统视图

quit

-

定义一个流行为,并进入流行为视图

traffic behavior behavior-name

缺省情况下,没有定义流行为

重新标记报文的动作

重新标记报文的802.1p优先级

remark dot1p dot1p-value

五者选其一

缺省情况下,没有配置重新标记报文的动作

重新标记报文的DSCP

remark dscp dscp-value

重新标记报文的IP优先级

remark ip-precedence ip-precedence-value

重新标记报文的本地优先级

remark local-precedence local-precedence-value

重新标记报文的QoS本地ID值

remark qos-local-id local-id-value

退回系统视图

quit

-

定义一个策略,并进入策略视图

qos policy policy-name

缺省情况下,没有定义策略

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

classifier classifier-name behavior behavior-name

缺省情况下,没有为类指定流行为

退回系统视图

quit

-

应用QoS策略

基于接口

2.2.4  1. 基于接口应用QoS策略

二者选其一

缺省情况下,没有应用QoS策略

基于控制平面

2.2.4  2. 基于控制平面应用QoS策略

(可选)显示重标记的相关配置信息

display qos policy user-defined [ policy-name ]

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

 

7.3  重标记配置举例

7.3.1  重标记配置举例

1. 组网需求

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

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

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

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

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

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

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

2. 组网图

图7-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应用到端口GigabitEthernet0/1上。

[Device] interface gigabitethernet 0/1

[Device-GigabitEthernet0/1] qos apply policy policy_server inbound

[Device-GigabitEthernet0/1] quit

 


8 流量重定向

8.1  流量重定向简介

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

目前,仅支持将流量重定向到接口,即对于收到需要由某个接口处理的报文时,可以通过配置重定向到此接口。

8.2  配置流量重定向

表8-1 配置流量重定向

操作

命令

说明

进入系统视图

system-view

-

定义一个类,并进入类视图

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

缺省情况下,没有定义类

定义匹配数据包的规则

if-match [ not ] match-criteria

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

具体规则请参见QoS命令参考中的命令if-match的介绍

退回系统视图

quit

-

定义一个流行为,并进入流行为视图

traffic behavior behavior-name

缺省情况下,没有定义流行为

配置流量重定向动作

redirect interface interface-type interface-number

缺省情况下,没有配置流量重定向动作

退回系统视图

quit

-

定义一个策略,并进入策略视图

qos policy policy-name

缺省情况下,没有定义策略

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

classifier classifier-name behavior behavior-name

缺省情况下,没有为类指定流行为

退回系统视图

quit

-

应用QoS策略

基于接口

2.2.4  1. 基于接口应用QoS策略

二者选其一

缺省情况下,没有应用QoS策略

基于控制平面

2.2.4  2. 基于控制平面应用QoS策略

(可选)显示流量重定向的相关配置信息

display qos policy user-defined [ policy-name ]

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

 

 

 


9 附录

9.1  附录 A 缩略语表

表9-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

标签交换路径

P2P

Peer-to-Peer

对等

PE

Provider Edge

服务提供商网络边缘

PHB

Per-hop Behavior

单中继段行为

PIR

Peak Information Rate

峰值信息速率

PQ

Priority Queuing

优先队列

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网络上传送语音

WFQ

Weighted Fair Queuing

加权公平队列

WRED

Weighted Random Early Detection

加权随机早期检测

WRR

Weighted Round Robin

加权轮询队列

 

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

表9-2 dot1p-lp缺省映射关系

映射输入索引

dot1p-lp映射

dot1p

lp

0

2

1

0

2

1

3

3

4

4

5

5

6

6

7

7

 

表9-3 dscp-lp缺省映射关系

映射输入索引

dscp-lp映射

dscp

lp

0~7

0

8~15

1

16~23

2

24~31

3

32~39

4

40~47

5

48~55

6

56~63

7

 

表9-4 端口优先级和LP映射关系

端口优先级

LP

0

0

1

1

2

2

3

3

4

4

5

5

6

6

7

7

 

表9-5 up-dot1p、up-dscp、up-exp、up-dp、up-lp、up-rpr、up-fc缺省映射关系

映射输入索引

up-dot1p映射

up-dscp映射

up-exp映射

up-dp映射

up-lp映射

up-rpr映射

up-fc(4)映射

up-fc(8)映射

up

dot1p

dscp

exp

dp

lp

rpr

fc(4)

fc(8)

0

0

0

0

0

0

0

0

0

1

1

8

1

0

1

0

0

1

2

2

16

2

0

2

1

1

2

3

3

24

3

0

3

1

1

3

4

4

32

4

0

4

2

2

4

5

5

40

5

0

5

2

2

5

6

6

48

6

0

6

2

3

6

7

7

56

7

0

7

2

3

7

 

9.3  附录 C 各种优先级介绍

9.3.1  IP优先级和DSCP优先级

图9-1 ToS和DS域

 

图9-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位)是保留位。

表9-6 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

 

表9-7 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)

 

9.3.2  802.1p优先级

802.1p优先级位于二层报文头部,适用于不需要分析三层报头,而需要在二层环境下保证QoS的场合。

图9-2 带有802.1Q标签头的以太网帧

 

图9-2所示,4个字节的802.1Q标签头包含了2个字节的TPID(Tag Protocol Identifier,标签协议标识符)和2个字节的TCI(Tag Control Information,标签控制信息),TPID取值为0x8100,图9-3显示了802.1Q标签头的详细内容,Priority字段就是802.1p优先级。之所以称此优先级为802.1p优先级,是因为有关这些优先级的应用是在802.1p规范中被详细定义的。

图9-3 802.1Q标签头

 

表9-8 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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们