国家 / 地区

09-ACL和QoS配置指导

02-QoS配置

本章节下载  (1.26 MB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/SR_Router/SR6600/Configure/Operation_Manual/H3C_SR6600_SR6600-X_CG-R3302(V1.20)/09/201401/814844_30005_0.htm

02-QoS配置

  录

1 QoS简介

1.1 概述

1.2 QoS服务模型简介

1.2.1 Best-Effort服务模型

1.2.2 IntServ服务模型

1.2.3 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策略配置方式的步骤

1.1.1 定义类

2.2.2 定义流行为

2.2.3 定义策略

2.2.4 应用策略

2.3 QoS策略显示和维护

3 优先级映射

3.1 优先级映射简介

3.1.1 概述

3.1.2 优先级介绍

3.1.3 优先级映射表

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

3.3 配置优先级映射

3.3.1 配置优先级映射表

3.3.2 配置接口优先级信任模式

3.3.3 配置端口优先级

3.4 优先级映射显示和维护

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

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

3.5.2 优先级映射表配置举例

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

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

4.1.1 流量评估与令牌桶

4.1.2 流量监管

4.1.3 流量整形

4.1.4 接口限速

4.2 配置任务简介

4.3 流量监管配置

4.3.1 QoS策略配置方式

4.3.2 非QoS策略配置方式

4.4 流量整形配置

4.4.1 QoS策略配置方式

4.4.2 非QoS策略配置方式

4.5 接口限速配置

4.6 报文重排序配置

4.7 流量监管/流量整形/接口限速显示和维护

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

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

4.8.2 IP限速典型配置举例

5 拥塞管理

5.1 拥塞管理简介

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

5.1.2 拥塞管理策略

5.1.3 拥塞管理技术的对比

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

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

5.2.2 配置举例

5.3 配置优先队列

5.3.1 优先队列配置过程

5.3.2 优先队列配置举例

5.4 配置定制队列

5.4.1 定制队列配置过程

5.4.2 定制队列配置举例

5.5 配置加权公平队列

5.5.1 加权公平队列配置过程

5.5.2 加权公平队列配置举例

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.6.9 基于类的队列典型配置举例

5.7 配置RTP优先队列

5.7.1 RTP优先队列配置过程

5.7.2 RTP优先队列配置举例

5.8 QoS令牌配置

5.8.1 QoS令牌配置过程

5.8.2 QoS令牌配置举例

5.9 配置报文信息预提取功能

5.9.1 报文信息预提取功能配置过程

5.9.2 报文信息预提取功能配置举例

6 硬件实现拥塞管理

6.1 硬件实现拥塞管理简介

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

6.1.2 拥塞管理策略

6.2 硬件实现拥塞管理配置任务简介

6.3 单独的队列配置方式

6.3.1 配置SP队列

6.3.2 配置分组WRR队列

6.3.3 配置WFQ队列

6.4 基于类的队列的配置

6.4.1 配置概述

6.4.2 定义类

6.4.3 定义流行为

6.4.4 定义策略

6.4.5 应用策略

6.4.6 基于类的队列的显示和维护

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

7 拥塞避免

7.1 拥塞避免简介

7.2 WRED配置的说明

7.2.1 WRED的配置方式

7.2.2 WRED的参数说明

7.3 以接口配置方式配置WRED

7.3.1 配置过程

7.3.2 配置举例

7.4 以WRED表配置方式配置WRED

7.4.1 配置过程

7.4.2 配置举例

7.5 WRED显示和维护

7.6 WRED典型配置举例

8 流量过滤

8.1 流量过滤简介

8.2 配置流量过滤

8.3 流量过滤配置举例

8.3.1 流量过滤配置举例

9 重标记

9.1 重标记简介

9.2 配置重标记

9.3 重标记配置举例

9.3.1 重标记配置举例

10 流量重定向

10.1 流量重定向简介

10.2 配置流量重定向

10.3 流量重定向配置举

10.3.1 重定向到接口配置举例

11 DAR

11.1 DAR简介

11.2 配置DAR识别P2P报文

11.2.2 加载P2P特征文件

11.2.3 配置P2P协议组

11.2.4 使能P2P协议流量识别功能

11.2.5 配置协议的匹配规则

11.2.6 配置DAR的报文统计功能

11.3 DAR显示和维护

11.4 DAR典型配置举例

11.4.1 禁止P2P软件下载配置举例

12 流量统计

12.1 流量统计简介

12.2 配置流量统计

12.3 流量统计显示和维护

12.4 流量统计配置举例

12.4.1 流量统计配置举例

13 QPPB

13.1 QPPB简介

13.1.1 QPPB概述

13.1.2 QPPB原理

13.2 QPPB配置任务简介

13.2.2 配置发送端

13.2.3 配置接收端

13.3 典型配置举例

13.3.1 QPPB在IPv4网络中的配置举例

13.3.2 QPPB在MPLS L3VPN中的配置举例

13.3.3 QPPB在IPv6网络中的配置举例

14 附录

14.1 附录 A 缩略语表

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

14.3 附录 C 各种优先级介绍

14.3.1 IP优先级和DSCP优先级

14.3.2 802.1p优先级

14.3.3 EXP优先级

 


1 QoS简介

1.1  概述

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

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

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

1.2  QoS服务模型简介

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

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

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

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

1.2.1  Best-Effort服务模型

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

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

1.2.2  IntServ服务模型

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

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

说明

RSVP的相关内容请参见“MPLS配置指导”中的“MPLS TE”。

 

1.2.3  DiffServ服务模型

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

本文提到的技术都是基于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策略配置方式的步骤

 

 

1.1.1  定义类

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

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

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

·     ef、af1~af4:基于DSCP的预定义类,分别匹配DSCP值ef、af1、af2、af3、af4。

·     ip-prec0~ip-prec7:基于IP优先级的预定义类,分别匹配IP优先级值0、1、2、3、4、5、6、7。

·     mpls-exp0~mpls-exp7:基于EXP优先级的预定义类,分别匹配EXP优先级值0、1、2、3、4、5、6、7。

表2-1 定义类

操作

命令

说明

进入系统视图

system-view

-

定义类并进入类映射视图

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

必选

缺省为and,即类视图下各匹配规则之间的关系为逻辑与

·     and:报文只有匹配了所有的规则,设备才认为报文属于这个类

·     or:报文只要匹配了类中的任何一个规则,设备就认为报文属于这个类

定义匹配数据包的规则

if-match [ not ] match-criteria

必选

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

 

2.2.2  定义流行为

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

系统预定义了一些流行为,并为这些类定义了通用的动作,用户定义的流行为名不允许为系统预定义流行为,用户定义策略时可直接使用这些流行为,系统预定义的流行为有:

·     ef:加速转发,具体请参见拥塞管理章节CBQ队列相关内容。

·     af:确保转发,具体请参见拥塞管理章节CBQ队列相关内容。

·     be:尽力转发,具体请参见拥塞管理章节CBQ队列相关内容。

·     be-flow-based:基于流的尽力转发,和be的区别在于使用了WRED丢弃方式,具体请参见拥塞管理章节CBQ队列相关内容。

表2-2 定义流行为

操作

命令

说明

进入系统视图

system-view

-

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

traffic behavior behavior-name

必选

配置流行为

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

 

2.2.3  定义策略

1. 配置父策略

策略定义该类和流行为的对应关系。

每个策略下可以配置多组类和流行为的对应关系,过滤的时候按照配置的顺序进行。

系统预定义了一个策略名为default的策略,该策略指定了使用的预定义类,并关联指定的预定义动作。用户所使用的策略名不允许是default。

default策略的具体规则如下:

·     对于预定义类ef,采用预定义流行为ef。

·     对于预定义类af1~af4,采用预定义流行为af。

·     对于default-class类,采用预定义流行为be。

表2-3 在策略中为类指定流行为

操作

命令

说明

进入系统视图

system-view

-

定义策略并进入策略视图

qos policy policy-name

必选

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

classifier classifier-name behavior behavior-name

必选

 

说明

·     如果QoS策略在定义流分类规则时引用了ACL,当if-match中引用的ACL规则的动作为deny时,则跳出该if-match,继续进行后续规则的查找。

·     当QoS策略引用二层ACL进行报文分流时,ACL的rule规则中不支持配置lsap参数。

 

2. 配置子策略

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

表2-4 配置子策略

操作

命令

说明

进入系统视图

system-view

-

定义类并进入类视图

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

-

定义匹配数据包的规则

if-match [ not ] match-criteria

-

退出类视图

quit

-

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

traffic behavior behavior-name

-

配置子策略

traffic-policy policy-name

可选

policy-name为已经创建的QoS策略

退出流行为视图

quit

-

定义策略并进入策略视图

qos policy policy-name

-

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

classifier classifier-name behavior behavior-name

-

 

说明

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

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

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

 

2.2.4  应用策略

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

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

·     基于上线用户应用QoS策略:QoS策略对上线用户接收或者发送的流量生效。

·     基于VLAN应用QoS策略:QoS策略对通过同一个VLAN内所有接口接收或发送的流量生效。(仅在SAP板工作在二层模式时支持)

1. 基于接口或PVC应用QoS策略

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

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

操作

命令

说明

进入系统视图

system-view

-

进入接口视图或PVC视图

进入接口视图

interface interface-type interface-number

二者必选其一

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

进图PVC视图

interface atm interface-number

pvc vpi/vci

在接口或PVC上应用关联的策略

qos apply policy policy-name { inbound | outbound }

必选

 

说明

·     如果QoS策略应用在接口或PVC的出方向,则QoS策略对本地协议报文不起作用。(本地协议报文的含义及其作用如下:某些内部发起的报文是维持设备正常运行的重要协议报文,为了确保这些报文能够被不受影响的发送出去,遂将其定义为本地协议报文,使得QoS不对其进行处理,降低了因配置QoS而误将这些报文丢弃或进行其他处理的风险。一些常见的本地协议报文如下:链路维护报文、IS-IS、OSPF、RIP、BGP、LDP、SSH等。)

·     对于部分线卡,由于系统资源有限,QoS策略可以应用,但无法生效。需要根据系统提示信息调整相关参数,如减小队列数目,再尝试重新使能QoS策略。

 

2. 基于上线用户应用QoS策略

一个策略可以应用于多个上线用户。上线用户的每个方向(发送和接收两个方向)只能应用一个策略,如果用户想修改某方向上应用的策略,必须先取消原先的配置,然后再配置新的策略。

表2-6 基于上线用户应用QoS策略

操作

命令

说明

进入系统视图

system-view

-

进入user-profile视图

user-profile profile-name

必选

进入user-profile视图后,下面进行的配置只在User Profile处于激活状态,且用户成功上线后才生效

应用关联的策略

qos apply policy policy-name { inbound | outbound }

必选

inbound是对设备接收的上线用户流量(即上线用户发送的流量)应用策略;outbound是对设备的上线用户流量(即上线用户接收的流量)应用策略

退回系统视图

quit

-

激活User Profile

user-profile profile-name enable

必选

缺省情况下,User Profile处于未激活状态

 

说明

·     User Profile被激活后,不允许修改User Profile下的配置,需要禁用后才可以被修改或删除。禁用User Profile将导致使用该User Profile的用户强制下线。

·     user-profile视图下应用的策略中的流行为只支持remarkcarfilter三种动作。

·     user-profile视图下应用的策略不能为空策略,因为空策略的User Profile不能被激活。

·     关于User Profile的相关介绍以及配置,请参见“安全配置指导”中的“User Profile”。

·     上线用户支持PPPoE、802.1X、Portal和MAC地址认证接入认证方式。

 

3. 基于VLAN应用QoS策略

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

表2-7 基于VLAN应用的QoS策略

操作

命令

说明

进入系统视图

system-view

-

应用QoS策略到指定的VLAN

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

必选

 

说明

·     基于VLAN应用的QoS策略不能应用在动态VLAN上。例如,在运行GVRP协议的情况下,设备可能会动态创建VLAN,QoS策略不能应用在该动态VLAN上。

·     当某个单板资源不足导致VLAN应用QoS策略下发或者刷新失败时,用户可以执行undo qos vlan-policy vlan命令进行手工删除。

 

2.3  QoS策略显示和维护

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

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

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

操作

命令

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

display qos policy { system-defined | user-defined } [ policy-name [ classifier classifier-name] ] [ | { begin | exclude | include } regular-expression ]

显示指定接口、指定PVC或所有接口与PVC上策略的配置信息和运行情况(非IRF模式)

display qos policy interface [ { interface-type interface-number } [ slot slot-number ] ] [ inbound | outbound ] [ pvc { pvc-name [ vpi/vci ] | vpi/vci } ] [ | { begin | exclude | include } regular-expression ]

显示指定接口、指定PVC或所有接口与PVC上策略的配置信息和运行情况(IRF模式)

display qos policy interface [ { interface-type interface-number } [ chassis chassis-number slot slot-number ] ] [ inbound | outbound ] [ pvc { pvc-name [ vpi/vci ] | vpi/vci } ] [ | { begin | exclude | include } regular-expression ]

显示VLAN应用QoS策略的信息(仅在SAP板工作在二层模式时支持—非IRF模式)

display qos vlan-policy { name policy-name | vlan vlan-id } [ slot slot-number ] [ inbound | outbound ] [ | { begin | exclude | include } regular-expression ]

显示VLAN应用QoS策略的信息(仅在SAP板工作在二层模式时支持—IRF模式)

display qos vlan-policy { name policy-name | vlan [ vlan-id ] } [ chassis chassis-number slot slot-number ] [ inbound | outbound ] [ | { begin | exclude | include } regular-expression ]

显示配置的流行为信息

display traffic behavior { system-defined | user-defined } [ behavior-name ] [ | { begin | exclude | include } regular-expression ]

显示配置的类信息

display traffic classifier { system-defined | user-defined } [ classifier-name ] [ | { begin | exclude | include } regular-expression ]

清除VLAN应用QoS策略的统计信息(仅在SAP板工作在二层模式时支持)

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

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

display qos policy user-defined [ policy-name [ classifier classifier-name ] ] [ | { begin | exclude | include } regular-expression ]

 


3 优先级映射

说明

优先级映射仅在SAP板工作在二层模式时支持。

 

3.1  优先级映射简介

3.1.1  概述

报文在进入设备以后,设备会根据自身情况和相应规则(primap、remark)分配或修改报文的各种优先级的值,为队列调度和拥塞控制服务。

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

3.1.2  优先级介绍

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

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

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

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

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

3.1.3  优先级映射表

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

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

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

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

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

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

建议进行各项配置的时候先整体规划网络QoS。

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

配置任务

说明

详细配置

配置优先级映射表

可选

3.3.1 

配置优先级信任模式

可选

3.3.2 

配置端口优先级

可选

3.3.3 

 

3.3  配置优先级映射

3.3.1  配置优先级映射表

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

优先级映射

描述

dot1p-dp

802.1p优先级到丢弃优先级映射表

dot1p-lp

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

dscp-dot1p

DSCP到802.1p优先级映射表

dscp-dp

DSCP到丢弃优先级映射表

dscp-dscp

DSCP到DSCP映射表

 

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

操作

命令

说明

进入系统视图

system-view

-

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

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

必选

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

配置指定优先级映射表参数,定义优先级映射关系

import import-value-list export export-value

必选

新配置的映射项将覆盖原有映射项

 

说明

配置DSCP优先级与丢弃优先级的映射关系时,不支持将DSCP优先级映射为丢弃优先级1。

 

3.3.2  配置接口优先级信任模式

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

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

操作

命令

说明

进入系统视图

system-view

-

进入接口视图或端口组视图

进入接口视图

interface interface-type interface-number

二者必选其一

进入以太网接口视图后,下面进行的配置只在当前接口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效

进入端口组视图

port-group manual port-group-name

配置优先级信任模式

qos trust dscp

必选

缺省情况下没有配置端口信任优先级

 

3.3.3  配置端口优先级

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

表3-4 配置端口优先级

操作

命令

说明

进入系统视图

system-view

-

进入接口视图或端口组视图

进入接口视图

interface interface-type interface-number

二者必选其一

进入以太网接口视图后,下面进行的配置只在当前接口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效

进入端口组视图

port-group manual port-group-name

配置端口优先级

qos priority priority-value

必选

端口优先级的缺省值为0

3.4  优先级映射显示和维护

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

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

操作

命令

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

display qos map-table [ dot1p-dp | dot1p-lp | dscp-dot1p | dscp-dp | dscp-dscp ] [ | { begin | exclude | include } regular-expression ]

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

display qos trust interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

 

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

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

1. 组网需求

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

·     Router A通过端口GigabitEthernet1/0/1接入Router C,IP优先级值为3;

·     Router B通过端口GigabitEthernet1/0/2接入Router C,IP优先级值为1。

要求通过配置实现如下需求:如果在出口发生拥塞,则优先处理Router A发出的报文(优先让Router A访问Server)。

2. 组网图

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

 

3. 配置步骤

(1)     方法一

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

<RouterC> system-view

[RouterC] interface gigabitethernet 1/0/1

[RouterC-GigabitEthernet1/0/1] qos trust dscp

[RouterC-GigabitEthernet1/0/1] quit

[RouterC] interface gigabitethernet 1/0/2

[RouterC-GigabitEthernet1/0/2] qos trust dscp

[RouterC-GigabitEthernet1/0/2] quit

(2)     方法二

# 在接口GigabitEthernet1/0/1和GigabitEthernet1/0/2上分别配置端口优先级,GigabitEthernet1/0/1上配置的端口优先级值要高于GigabitEthernet1/0/2上配置的端口优先级值。

<RouterC> system-view

[RouterC] interface gigabitethernet 1/0/1

[RouterC-GigabitEthernet1/0/1] qos priority 3

[RouterC-GigabitEthernet1/0/1] quit

[RouterC] interface gigabitethernet 1/0/2

[RouterC-GigabitEthernet1/0/2] qos priority 1

[RouterC-GigabitEthernet1/0/2] quit

3.5.2  优先级映射表配置举例

1. 组网需求

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

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

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

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

实现如下需求:

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

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

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

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

2. 组网图

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

 

3. 配置步骤

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

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

<Router> system-view

[Router] interface gigabitethernet 1/0/1

[Router-GigabitEthernet1/0/1] qos priority 3

[Router-GigabitEthernet1/0/1] quit

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

[Router] interface gigabitethernet 1/0/2

[Router-GigabitEthernet1/0/2] qos priority 4

[Router-GigabitEthernet1/0/2] quit

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

[Router] interface gigabitethernet 1/0/3

[Router-GigabitEthernet1/0/3] qos priority 5

[Router-GigabitEthernet1/0/3] quit

(2)     配置优先级映射表

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

[Router] qos map-table dot1p-lp

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

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

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

[Router-maptbl-dot1p-lp] quit


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

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

如果不限制用户发送的流量,那么大量用户不断突发的数据只会使网络更拥挤。为了使有限的网络资源能够更好地发挥效用,更好地为更多的用户服务,必须对用户的流量加以限制。比如限制每个时间间隔某个流只能得到承诺分配给它的那部分资源,防止由于过分突发所引发的网络拥塞。

流量监管、流量整形和接口限速就是一种通过对流量规格的监督,来限制流量及其资源使用的流控策略。进行流量监管、整形或接口限速有一个前提条件,就是要知道流量是否超出了规格,然后才能根据评估结果实施调控策略。一般采用令牌桶(Token Bucket)对流量的规格进行评估。

4.1.1  流量评估与令牌桶

1. 令牌桶的特点

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

2. 用令牌桶评估流量

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

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

·     平均速率:向桶中放置令牌的速率,即允许的流的平均速度。通常设置为CIR(Committed Information Rate,承诺信息速率)。

·     突发尺寸:令牌桶的容量,即每次突发所允许的最大的流量尺寸。通常设置为CBS(Committed Burst Size,承诺突发尺寸),设置的突发尺寸必须大于最大报文长度。

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

3. 复杂评估

为了评估更复杂的情况,实施更灵活的调控策略,可以设置两个令牌桶(简称C桶和E桶)。例如流量监管中有三个参数:

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

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

·     EBS(Excess Burst Size,超出突发尺寸):表示E桶的容量,即E桶瞬间能够通过的超出突发流量。

图4-1 双令牌桶结构

 

双令牌桶结构如图4-1所示,CBS和EBS是由两个不同的令牌桶承载的。

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

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

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

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

4.1.2  流量监管

流量监管就是对流量进行控制,通过监督进入网络的流量速率,对超出部分的流量进行“惩罚”,使进入的流量被限制在一个合理的范围之内,以保护网络资源和运营商的利益。例如可以限制HTTP报文不能占用超过50%的网络带宽。如果发现某个连接的流量超标,流量监管可以选择丢弃报文,或重新设置报文的优先级。

图4-2 流量监管示意图

 

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

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

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

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

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

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

4.1.3  流量整形

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

流量整形与流量监管的主要区别在于,流量整形对流量监管中需要丢弃的报文进行缓存——通常是将它们放入缓冲区或队列内,如图4-3所示。当令牌桶有足够的令牌时,再均匀的向外发送这些被缓存的报文。流量整形与流量监管的另一区别是,整形可能会增加延迟,而监管几乎不引入额外的延迟。

图4-3 流量整形示意图

 

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

图4-4 流量整形的应用

 

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

4.1.4  接口限速

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

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

图4-5 接口限速处理过程示意图

 

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

与流量监管相比,物理接口限速能够限制在物理接口上通过的所有报文。当用户只要求对所有报文限速时,使用物理接口限速比较简单。

4.2  配置任务简介

表4-1 配置任务简介

配置任务

说明

详细配置

流量监管配置

QoS策略配置方式

4.3  流量监管配置

非QoS策略配置方式

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

基于ACL的流量监管配置

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

流量整形配置

QoS策略配置方式

4.4  流量整形配置

非QoS策略配置方式

基于ACL的流量整形配置

基于队列的流量整形配置

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

接口限速配置

配置接口限速

4.5  接口限速配置

 

4.3  流量监管配置

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

说明

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

4.3.1  QoS策略配置方式

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

操作

命令

说明

进入系统视图

system-view

-

定义类并进入类视图

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

-

定义匹配数据包的规则

if-match [ not ] match-criteria

-

退出类视图

quit

-

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

traffic behavior behavior-name

-

配置流量监管动作

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

必选

pir peak-information-rate参数仅在SAP板工作在二层模式时支持

yellow action 参数仅在SAP板工作在二层模式时支持

退出流行为视图

quit

-

定义策略并进入策略视图

qos policy policy-name

-

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

classifier classifier-name behavior behavior-name

-

退出策略视图

quit

-

应用QoS策略

基于接口或PVC

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

-

基于上线用户

2.2.4  2. 基于上线用户应用QoS策略

-

基于VLAN

2.2.4  3. 基于VLAN应用QoS策略

-

 

说明

在硬件实现QoS策略中,当配置CAR的CIR或PIR参数不是64的整数倍时,系统将自动将该参数向后调整为64的整数倍,例如用户配置的CIR参数为127,则系统中生效的数值为128。

4.3.2  非QoS策略配置方式

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

表4-3 基于CAR列表的流量监管配置过程

操作

命令

说明

进入系统视图

system-view

-

配置CAR列表

qos carl carl-index { precedence precedence-value | mac mac-address | mpls-exp mpls-exp-value | dscp dscp-list  | { destination-ip-address | source-ip-address } { subnet ip-address mask-length | range start-ip-address to end-ip-address } [ 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 ]

必选

 

2. 于ACL的流量监管配置

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

操作

命令

说明

进入系统视图

system-view

-

配置ACL规则

参见ACL模块的描述

必选

创建ACL规则

进入接口视图

interface interface-type interface-number

必选

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

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

必选

 

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

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

操作

命令

说明

进入系统视图

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 ]

必选

 

4.4  流量整形配置

说明

·     软转发流量整形不支持IPv6。

·     不允许同时在主接口和子接口上配置流量整形。

 

4.4.1  QoS策略配置方式

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

操作

命令

说明

进入系统视图

system-view

-

定义类并进入类视图

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

-

定义匹配数据包的规则

if-match [ not ] match-criteria

-

退出类视图

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

退出流行为视图

quit

-

定义策略并进入策略视图

qos policy policy-name

-

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

classifier classifier-name behavior behavior-name

-

退出策略视图

quit

-

应用QoS策略

基于接口或PVC

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

-

基于VLAN

2.2.4  3. 基于VLAN应用QoS策略

-

 

4.4.2  非QoS策略配置方式

流量整形配置分为以下几种:

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

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

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

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

操作

命令

说明

进入系统视图

system-view

-

定义ACL

参见ACL模块的描述

必选

进入接口视图

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. 基于队列的流量整形配置

基于队列的流量整形仅在SAP板工作在二层模式时支持。

 

表4-8 基于队列的流量整形配置

操作

命令

说明

进入系统视图

system-view

-

进入接口视图或端口组视图

进入接口视图

interface interface-type interface-number

二者必选其一

进入接口视图后,下面进行的配置只在当前接口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效

进入端口组视图

port-group manual port-group-name

在接口配置流量整形

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

必选

 

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

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

操作

命令

说明

进入系统视图

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.5  接口限速配置

表4-10 接口限速配置过程

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

设置接口限速

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

必选

 

4.6  报文重排序配置

在网络流量出现乱序的时候,某些缺乏报文重排序功能的系统,如某些视频会议终端会出现马赛克等异常现象,尝试开启报文重排序功能,可能在一定程度上改善此现象。

表4-11 报文重排序配置过程

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置报文重排序

qos resequencing

必选

在配置完该功能后,需要先使用shutdown命令关闭接口,然后再使用undo shutdown命令开启该接口,该功能才能生效;若需要关闭该功能,也需要进行相同的操作才能生效

 

4.7  流量监管/流量整形/接口限速显示和维护

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

表4-12 流量监管/流量整形/物理接口限速显示和维护

操作

命令

显示CAR列表的规则

display qos carl [ carl-index ] [ | { begin | exclude | include } regular-expression ]

显示CAR在接口上的信息

display qos car interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

显示流量整形配置运行信息

display qos gts interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

显示接口的LR配置和统计信息

display qos lr interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

 

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

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

1. 配置需求

·     设备Router A通过接口GigabitEthernet1/0/3和设备Router B的接口GigabitEthernet1/0/1互连

·     Server、Host A、Host B可经由Router A和Router B访问Internet

·     Server、Host A与Router A的GigabitEthernet1/0/1接口在同一网段

·     Host B与Router A的GigabitEthernet1/0/2接口在同一网段

要求在设备Router A上对接口GigabitEthernet1/0/1接收到的源自Server和Host A的报文流分别实施流量控制如下:

·     来自Server的报文流量约束为54kbps,流量小于54kbps时可以正常发送,流量超过54kbps时则将违规报文的优先级设置为0后进行发送;

·     来自Host A的报文流量约束为8kbps,流量小于8kbps时可以正常发送,流量超过8kbps时则丢弃违规报文;

对设备Router B的GigabitEthernet1/0/1和GigabitEthernet1/0/2接口收发报文有如下要求:

·     Router B的GigabitEthernet1/0/1接口接收报文的总流量限制为500kbps,如果超过流量限制则将违规报文丢弃;

·     经由Router B的GigabitEthernet1/0/2接口进入Internet的报文流量限制为1000kbps,如果超过流量限制则将违规报文丢弃。

2. 组网图

图4-6 流量监管、流量整形配置组网图

 

3. 配置步骤

(1)     配置设备Router A:

# 在GigabitEthernet1/0/3接口上对发送的报文进行流量整形(对超过500kbps的报文流进行整形),以降低在Router B接口GigabitEthernet1/0/1处的丢包率。

<RouterA> system-view

[RouterA] interface gigabitethernet 1/0/3

[RouterA-GigabitEthernet1/0/3] qos gts any cir 500

[RouterA-GigabitEthernet1/0/3] quit

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

[RouterA] acl number 2001

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

[RouterA-acl-basic-2001] quit

[RouterA] acl number 2002

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

[RouterA-acl-basic-2002] quit

# 在GigabitEthernet1/0/1接口上对接收到的不同报文流进行相应流量控制。

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] qos car inbound acl 2001 cir 54 cbs 4000 ebs 0 green pass red remark-prec-pass 0

[RouterA-GigabitEthernet1/0/1] qos car inbound acl 2002 cir 8 cbs 1875 ebs 0 green pass red discard

[RouterA-Ethernet1/0/1] quit

(2)     配置设备Router B:

# 在GigabitEthernet1/0/1接口上对接收的报文进行流量控制,报文流量不能超过500kbps,如果超过流量限制则将违规报文丢弃。

<RouterB> system-view

[RouterB] interface gigabitethernet 1/0/1

[RouterB-GigabitEthernet1/0/1] qos car inbound any cir 500 cbs 32000 ebs 0 green pass red discard

[RouterB-GigabitEthernet1/0/1] quit

# 在GigabitEthernet1/0/2接口上对发送的报文进行流量控制,报文流量不能超过1Mbps,如果超过流量限制则将违规报文丢弃。

[RouterB] interface gigabitethernet 1/0/2

[RouterB-GigabitEthernet1/0/2] qos car outbound any cir 1000 cbs 65000 ebs 0 green pass red discard

4.8.2  IP限速典型配置举例

1. 配置需求

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

2. 组网图

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

 

3. 配置步骤

# 在接口GigabitEthernet1/0/2上对源地址属于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 1/0/2

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

[Router-GigabitEthernet1/0/2] quit


5 拥塞管理

5.1  拥塞管理简介

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

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

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

图5-1 流量拥塞示意图

 

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

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

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

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

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

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

5.1.2  拥塞管理策略

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

队列调度对不同优先级的报文进行分级处理,优先级高的会得到优先发送。这里介绍几种常用的队列调度机制。

1. FIFO队列

图5-2 FIFO队列示意图

 

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

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

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

2. PQ队列

图5-3 PQ队列示意图

 

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

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

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

3. CQ队列

图5-4 CQ队列示意图

 

CQ通常有17个队列,0~16。0队列为保留的系统队列,CQ的1到16号队列是用户队列,如图5-4所示。用户可以配置流分类的规则,指定16个用户队列占用接口或PVC带宽的比例关系。在队列调度时,系统队列中的分组被优先发送。直到系统队列为空,再采用轮询的方式按照预先配置的带宽比例依次从1到16号用户队列中取出一定数量的分组发送出去。这样,就可以使不同业务的分组获得不同的带宽,既可以保证关键业务能获得较多的带宽,又不至于使非关键业务得不到带宽。缺省情况下,数据流进入1号队列。

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

4. WFQ队列

图5-5 WFQ队列示意图

 

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

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

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

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

例如:接口中当前共有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队列示意图

 

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

CBQ包括以下队列:

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

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

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

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

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

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

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

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

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

6. RTP优先队列

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

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

 

如上图所示,RTP优先队列将RTP报文送入一个具有较高优先级的队列。RTP报文是端口号在一定范围内为偶数的UDP报文,端口号的范围可以配置。RTP优先队列可以同任何一种队列(包括FIFO、PQ、CQ、WFQ与CBQ)结合使用,而它的优先级是最高的。但由于CBQ中的LLQ也可以保证实时业务数据的转发,所以一般不推荐将RTP优先队列与CBQ结合应用。

5.1.3  拥塞管理技术的对比

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

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

类型

队列数

优点

缺点

FIFO

1

·     不需要配置,易于使用

·     处理简单,延迟小

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

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

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

PQ

4

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

·     对优先业务的报文的带宽占用可以绝对优先

·     需配置,处理速度慢

·     如果不对高优先级的报文的带宽加限制,可能会造成低优先级的报文得不到带宽

CQ

16

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

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

需配置,处理速度慢

WFQ

可配置

·     配置容易

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

·     可以减小抖动

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

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

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

处理速度比FIFO要慢,但比PQ、CQ要快

CBQ

可配置(0~64)

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

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

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

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

系统开销比较大

 

说明

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

 

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

说明

SAP板工作在二层模式时不支持FIFO队列的配置。

 

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

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

表5-2 配置先进先出队列的长度

操作

命令

说明

进入系统视图

system-view

-

进入接口视图或PVC视图

进入接口视图

interface interface-type interface-number

-

进入PVC视图

interface atm interface-number

-

pvc vpi/vci

设置先进先出队列的长度

qos fifo queue-length queue-length

必选

缺省值为1024。但对于Tunnel接口、聚合接口、HDLC捆绑接口,FIFO队列长度缺省为75。

 

说明

若是Tunnel接口、子接口、三层聚合接口、HDLC捆绑接口、RPR逻辑接口,或是封装了PPPoE、PPPoA、PPPoEoA协议的VT接口,则接口需要使能LR功能以保证队列功能生效。

 

5.2.2  配置举例

# 把接口的先进先出队列的长度配置为100。

<Sysname> system-view

[Sysname] interface gigabitethernet1/0/1

[Sysname-GigabitEthernet1/0/1] qos fifo queue-length 100

5.3  配置优先队列

说明

SAP板工作在二层模式时不支持优先队列的配置。

 

可以给一个优先列表的组定义多条规则,然后把该组规则应用在某接口上。当一个分组到达该接口或PVC时(需要由此接口或PVC发送出去),系统沿规则链匹配该分组,如果匹配上某规则,则进入相应的队列,匹配结束;如果分组不与任何规则匹配,则进入缺省队列。缺省队列的缺省值为normal

系统以规则被配置的顺序来匹配分组,如果发现分组与某个规则匹配,便结束整个查找过程。

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 default-queue { bottom | middle | normal | top }

可选

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

配置队列长度

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

可选

进入接口视图

interface interface-type interface-number

-

应用优先列表

qos pq pql pql-index

必选

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

显示接口上优先列表的配置情况

display qos pq interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

可选

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

显示优先列表的内容

display qos pql [ pql-number ] [ | { begin | exclude | include } regular-expression ]

可选

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

 

说明

若是Tunnel接口、子接口、三层聚合接口、HDLC捆绑接口、RPR逻辑接口,或是封装了PPPoE、PPPoA、PPPoEoA协议的VT接口,则接口需要使能LR功能以保证队列功能生效。

 

5.3.2  优先队列配置举例

1. 配置需求

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

2. 组网图

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

 

3. 配置步骤

配置Router A:

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

[RouterA] acl number 2001

[RouterA-acl-basic-2001] rule permit source 1.1.1.1 0.0.0.0

[RouterA] acl number 2002

[RouterA-acl-basic-2002] rule permit source 1.1.1.2 0.0.0.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

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

[RouterA] interface serial 2/1/1

[RouterA-Serial2/1/1] qos pq pql 1

5.4  配置定制队列

说明

SAP板工作在二层模式时不支持定制队列的配置。

 

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

5.4.1  定制队列配置过程

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

操作

命令

说明

进入系统视图

system-view

-

配置定制列表

qos cql cql-index protocol ip [ queue-key key-value ] queue queue-number

可选

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

设置缺省队列

qos cql cql-index default-queue queue-number

可选

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

配置队列长度

qos cql cql-index queue queue-number queue-length queue-length

可选

配置连续发送字节数

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

可选

进入接口视图

interface interface-type interface-number

-

应用定制列表

qos cq cql cql-index

必选

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

显示定制列表在接口上应用情况

display qos cq interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

可选

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

显示定制列表的内容

display qos cql [ | { begin | exclude | include } regular-expression ]

可选

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

 

说明

若是Tunnel接口、子接口、三层聚合接口、HDLC捆绑接口、RPR逻辑接口,或是封装了PPPoE、PPPoA、PPPoEoA协议的VT接口,则接口需要使能LR功能以保证队列功能生效。

 

5.4.2  定制队列配置举例

1. 组网需求

配置定制队列,使得匹配访问控制列表2001的数据进入队列1,队列1每次轮询所发送数据包的字节数为2000。

2. 配置步骤

# 进入系统视图。

<Sysname> system-view

# 配置ACL规则列表

[RouterA] acl number 2001

[RouterA-acl-basic-2001] rule permit source 1.1.1.1 0.0.0.0

# 配置定制规则。

[Sysname] qos cql 1 protocol ip acl 2001 queue 1

[Sysname] qos cql 1 queue 1 serving 2000

# 在接口Serial2/1/1上启用定制队列规则组1。

[Sysname] interface serial 2/1/1

[Sysname-Serial 2/1/1] qos cq cql 1

5.5  配置加权公平队列

5.5.1  加权公平队列配置过程

当接口没有使用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,而使用FIFO

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

display qos wfq interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

可选

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

 

说明

若是Tunnel接口、子接口、三层聚合接口、HDLC捆绑接口、RPR逻辑接口,或是封装了PPPoE、PPPoA、PPPoEoA协议的VT接口,则接口需要使能LR功能以保证队列功能生效。

 

5.5.2  加权公平队列配置举例

1. 组网需求

在接口Serial2/1/1上应用WFQ,队列长度设置为100,总队列个数设置为512个。

2. 配置步骤

# 进入系统视图。

<Sysname> system-view

# 进入接口视图。

[Sysname] interface serial 2/1/1

# 在接口Serial2/1/1上应用WFQ,并设置队列长度为100,总队列个数设置为512个。

[Sysname-Serial2/1/1] qos wfq queue-length 100 queue-number 512

5.6  配置基于类的队列

5.6.1  配置概述

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

(1)     定义类

(2)     定义流行为

(3)     定义策略

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

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

1. 系统预定的类

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

(5)     缺省类

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

(6)     基于DSCP的预定义类

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

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

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

(8)     基于MPLS EXP的预定义类

mpls-exp0,mpls-exp1,…mpls-exp7:分别匹配MPLS EXP值0,1,…7

2. 系统预定义的流行为

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

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

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

·     be:不定义任何特性

·     be-flow-based:定义了一个特性为入WFQ队列,丢弃策略为WRED,其中WFQ默认有256条队列,WRED为基于IP优先级丢弃的WRED

3. 系统预定义的策略

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

default策略的具体规则如下:

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

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

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

5.6.2  定义类

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

表5-6 定义类

操作

命令

说明

进入系统视图

system-view

-

定义类并进入类映射视图

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

必选

缺省为and,即类视图下各匹配规则之间的关系为逻辑与

定义匹配数据包的规则

if-match [ not ] match-criteria

必选

5.6.3  定义流行为

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

1. 配置确保转发(AF),并配置最小可保证带宽

表5-7 配置确保转发(AF),并配置最小可保证带宽

操作

命令

说明

进入系统视图

system-view

-

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

traffic behavior behavior-name

必选

behavior-name:流行为名,不允许为系统预定义流行为

配置确保转发(AF),并配置最小可保证带宽

queue af bandwidth { bandwidth | pct percentage }

必选

 

说明

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

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

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

 

2. 配置加速转发(EF),并配置最大带宽

表5-8 配置加速转发(EF),并配置最大带宽

操作

命令

说明

进入系统视图

system-view

-

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

traffic behavior behavior-name

必选

behavior-name:流行为名,不允许为系统预定义流行为

配置加速转发(EF),并配置最大带宽

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

必选

 

说明

·     在同一流行为视图下queue ef不能与queue afqueue-lengthwred同时使用。

·     缺省类不能与包含加速转发的行为关联。

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

 

3. 配置采用公平队列

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

操作

命令

说明

进入系统视图

system-view

-

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

traffic behavior behavior-name

必选

behavior-name:流行为名,不允许为系统预定义流行为

配置采用公平队列

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

必选

 

说明

配置了公平队列的流行为仅可以与缺省类关联使用。

 

4. 配置最大队列长度

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

当发现低优先级业务抢占AF业务带宽,导致AF业务带宽无法得到保障,可以尝试增大AF业务的队列长度。

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

操作

命令

说明

进入系统视图

system-view

-

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

traffic behavior behavior-name

必选

behavior-name:流行为名,不允许为系统预定义流行为

配置最大队列长度

queue-length queue-length

必选

 

说明

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

 

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

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

操作

命令

说明

进入系统视图

system-view

-

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

traffic behavior behavior-name

必选

behavior-name:流行为名,不允许为系统预定义流行为

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

wred [ dscp | ip-precedence ]

必选

dscp:表明在为一个包计算丢弃概率时使用的是DSCP值

ip-precedence:表明在为一个包计算丢弃概率时使用的是IP优先级值,作为缺省配置

 

说明

·      wred [ dscp | ip-precedence ]命令必须在配置了queue afqueue wfq后使用。

·     wredqueue-length是互斥的。

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

·     当接口上应用了包含WRED特性的QoS策略后,原有的接口级的WRED配置失效。

 

6. 设置WRED计算平均队列长度的指数

表5-12 设置WRED计算平均队列长度的指数

操作

命令

说明

进入系统视图

system-view

-

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

traffic behavior behavior-name

必选

behavior-name:流行为名,不允许为系统预定义流行为

配置WRED计算平均队列长度的指数

wred weighting-constant exponent

必选

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

 

说明

wred weighting-constant必须在配置了queue afqueue wfq,并已用wred使能了WRED丢弃方式后才可以进行配置。

 

7. 配置WRED各DSCP的下限、上限和丢弃概率分母

在进行本配置前需已用wred dscp使能了基于DSCP的WRED丢弃方式。

表5-13 设置WRED各DSCP的下限、上限和丢弃概率分母

操作

命令

说明

进入系统视图

system-view

-

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

traffic behavior behavior-name

必选

behavior-name:流行为名,不允许为系统预定义流行为

配置WRED各DSCP的下限、上限和丢弃概率分母

wred dscp dscp-value low-limit low-limit high-limit high-limit [ discard-probability discard-prob ]

必选

dscp-value:DSCP值,取值范围为0~63,或可以是如下关键字ef,af11,af12,af13,af21,af22,af23,af31,af32,af33,af41,af42,af43,cs1,cs2,cs3,cs4,cs5,cs6,cs7或default。

说明

·     取消wred配置,wred dscp配置同时被取消。

·     取消queue afqueue wfq配置,丢弃参数的配置同时被取消。

 

8. 配置WRED各IP优先级的下限、上限和丢弃概率分母

进行本配置前需已用wred ip-precedence使能了基于IP优先级的WRED丢弃方式。

表5-14 配置WRED各IP优先级的下限、上限和丢弃概率分母

操作

命令

说明

进入系统视图

system-view

-

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

traffic behavior behavior-name

必选

behavior-name:流行为名,不允许为系统预定义流行为

设置WRED各优先级的下限、上限和丢弃概率分母

wred ip-precedence precedence low-limit low-limit high-limit high-limit [ discard-probability discard-prob ]

必选

 

说明

·     取消WRED配置,wred ip-precedence配置同时被取消。

·     取消queue afqueue wfq配置,丢弃参数的配置同时被取消。

 

5.6.4  定义策略

策略定义该策略中类和流行为的对应关系,而每个流行为由一组QoS动作组成。例如队列调度,包括EF,AF,WFQ,流量监管,流量整形,WRED、标记等等。

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

操作

命令

说明

进入系统视图

system-view

-

定义策略并进入策略视图

qos policy policy-name

-

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

classifier classifier-name behavior behavior-name

必选

classifier-name:类名,必须是已经定义的类,可以是系统定义或用户定义类

behavior-name:必须是已定义的流行为名,可以是系统定义或用户定义流行为

 

5.6.5  应用策略

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

表5-16 将接口或ATM PVC与所设置的策略相关联

操作

命令

说明

进入系统视图

system-view

-

进入接口视图或PVC视图

进入接口视图

interface interface-type interface-number

二者必选其一

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

进入PVC视图

interface atm interface-number

pvc vpi/vci

在接口或PVC上应用关联的策略

qos apply policy policy-name { inbound | outbound }

必选

 

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

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

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

·     若是Tunnel接口、子接口、三层聚合接口、HDLC捆绑接口、RPR逻辑接口,或是封装了PPPoE、PPPoA、PPPoEoA协议的VT接口,则接口需要使能LR功能以保证CBQ队列功能生效,同时需要配置qos max-bandwidth命令以提供CBQ计算的基准带宽。

说明

对于部分线卡,由于系统资源有限,QoS策略可以应用,但无法生效。需要根据系统提示信息调整相关参数,如减小队列数目,再尝试重新使能QoS策略。

 

5.6.6  配置接口最大可用带宽

1. 配置接口最大可用带宽

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

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

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置接口最大可用带宽

qos max-bandwidth bandwidth

必选

 

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

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

·     对于E1、MFR等通过绑定生成的逻辑串口,其取值为绑定通道的总带宽;

·     对于VT等模板类型的接口,取值为1000000Kbps;

·     对于其他虚接口(如Tunnel接口、三层聚合接口、HDLC捆绑接口,RPR逻辑接口),取值为0Kbps。

说明

·     建议最大可用带宽的取值小于物理接口或逻辑链路的实际可用带宽。

·     对于VT等主通道型接口,如果配置了qos max-bandwidth命令,afef按照qos max-bandwidth的配置值进行队列带宽检测及计算,同步到VA、B通道等子通道类型接口上的afef也按照该值进行检测及计算,忽略子通道接口带宽,此种情况主通道接口及子通道接口QoS配置相同,仅输出主通道接口的提示信息;如果未配置qos max-bandwidth命令,afef按照1Gbps带宽进行计算,同步到子通道的afef按照VA、B通道实际带宽进行队列计算,此种情况下,若子通道接口因带宽变化导致队列失效,将输出子通道接口提示信息。

·     对于MP-group和MFR接口,如果配置了qos max-bandwidth命令,afef按照qos max-bandwidth的配置值进行队列带宽检测及计算。如果未配置qos max-bandwidth命令,当绑定子通道的总带宽足够时(子通道带宽之和大于等于afef的带宽之和),afef按照接口的实际带宽进行计算;当绑定子通道的总带宽不够时(子通道带宽之和小于afef的带宽之和),afef按照1Gbps带宽进行计算,同时输出实际带宽不够的提示信息,这种情况下不能保证队列功能有效。最大预留带宽占可用带宽的百分比可以通过命令qos reserved-bandwidth来配置。

·     对于Tunnel接口、子接口、三层聚合接口、HDLC捆绑接口、RPR逻辑接口,或是封装了PPPoE、PPPoA、PPPoEoA协议的VT接口,需要配置该命令以提供CBQ计算的基准带宽。

 

2. 配置接口最大可用带宽举例

(1)     组网需求

配置接口的最大可用带宽是60Kbps。

(2)     配置步骤

# 进入系统视图。

<Sysname> system-view

# 进入接口视图。

[Sysname] interface gigabitethernet 1/0/1

# 在接口GigabitEthernet1/0/1上配置最大可用带宽。

[Sysname-GigabitEthernet1/0/1] qos max-bandwidth 60

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

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

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

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

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

qos reserved-bandwidth pct percent

必选

缺省值为80

 

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

 

5.6.8  基于类的队列的显示和维护

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

表5-19 基于类的队列的显示和维护

操作

命令

显示设备配置的类信息

display traffic classifier { system-defined | user-defined } [classifier-name ] [ | { begin | exclude | include } regular-expression ]

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

display traffic behavior { system-defined | user-defined } [ behavior-name ] [ | { begin | exclude | include } regular-expression ]

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

display qos policy { system-defined | user-defined } [ policy-name [ classifier classifier-name ] ] [ | { begin | exclude | include } regular-expression ]

显示指定接口、指定PVC或所有接口与PVC上策略的配置信息和运行情况

display qos policy interface [ interface-type interface-number ] [ slot slot-number ] [ pvc { pvc-name [ vpi/vci ] | vpi/vci } ] [ inbound | outbound ] [ | { begin | exclude | include } regular-expression ]

显示指定接口、指定PVC或所有接口与PVC的基于类的队列配置信息和运行情况。

display qos cbq interface [ interface-type interface-number ] [ pvc { pvc-name [ vpi/vci ] | vpi/vci } ] [ | { begin | exclude | include } regular-expression ]

 

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

1. 组网需求

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

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

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

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

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

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

2. 组网图

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

 

3. 配置步骤

Router A上的配置如下。

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

[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的出方向。

[RouterA] interface serial 1/1/1

[RouterA-Serial1/1/1] ip address 1.1.1.1 255.255.255.0

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

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

5.7  配置RTP优先队列

5.7.1  RTP优先队列配置过程

表5-20 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 burst ]

必选

显示接口上RTP队列的配置统计信息

display qos rtpq interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

可选

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

 

说明

若是Tunnel接口、子接口、三层聚合接口、HDLC捆绑接口、RPR逻辑接口,或是封装了PPPoE、PPPoA、PPPoEoA协议的VT接口,则接口需要使能LR功能以保证队列功能生效。

 

5.7.2  RTP优先队列配置举例

1. 组网需求

在接口上配置RTP队列,设置为RTP队列的应用分配的最大预留带宽为可用带宽的70%。

配置串口Serial1/1/1下启动RTP队列特性,起始端口号为16384,结束端口为32767,RTP报文占用64kbps的带宽,如果输出接口拥塞,进入RTP队列。

2. 配置步骤

# 进入系统视图。

<Sysname> system-view

# 进入接口视图。

[Sysname] interface serial 1/1/1

# 设置为RTP队列的应用分配的最大预留带宽为可用带宽的70%。

[Sysname-Serial1/1/1] qos reserved-bandwidth pct 70

# 配置串口Serial1/1/1下启动RTP队列特性,起始端口号为16384,结束端口为32767,RTP报文占用64kbps的带宽,如果输出接口拥塞,进入RTP队列。

[Sysname-Serial1/1/1] qos rtpq start-port 16384 end-port 32767 bandwidth 64

5.8  QoS令牌配置

5.8.1  QoS令牌配置过程

当进行FTP等数据传输工作时,如果配置了QoS的CQ和WFQ,由于上层协议(如TCP)提供了流控功能,可能会导致QoS的队列失效。设备提供了QoS令牌功能来解决这种问题。QoS的发送令牌功能提供了一种底层队列的流量控制机制,它可以根据令牌的数量控制向底层接口队列发送的报文数量。

通常,在进行FTP传输时,建议将接口的发送令牌数量设置为1。

如果上层协议(如UDP)没有流控功能,建议不要使用QoS令牌功能,以提高数据传输的效率。

请在接口视图下进行下列配置。

表5-21 QoS令牌配置过程

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

目前只有串口支持本配置

配置QoS令牌功能

qos qmtoken token-number

必选

缺省情况下,未启用QoS令牌功能

关闭以太网接口

shutdown

必选

需要用shutdown/undo shutdown功能将接口重新启动,QoS发送令牌功能才能生效

激活以太网接口

undo shutdown

 

说明

·     在进行了本配置后,需要用shutdown / undo shutdown功能将接口重新启动,才能使能QoS的发送令牌功能。

·     目前只有串口支持本配置。

 

5.8.2  QoS令牌配置举例

1. 组网需求

在接口Serial1/1/1上配置令牌参数

2. 配置步骤

# 进入系统视图。

<Sysname> system-view

# 进入接口视图。

[Sysname] interface serial 1/1/1

# 设置QoS的发送令牌数量为1,关闭并重新激活接口Serial2/1/1以使QoS发送令牌功能生效。

[Sysname-Serial1/1/1] qos qmtoken 1

[Sysname-Serial1/1/1] shutdown

[Sysname-Serial1/1/1] undo shutdown

5.9  配置报文信息预提取功能

5.9.1  报文信息预提取功能配置过程

对于Tunnel接口、RPR逻辑接口、三层聚合接口或HDLC捆绑接口,如果到达对应物理接口的IP数据报文已经进行了处理,比如,Tunnel接口进行了GRE封装,此时QoS处理的是GRE封装后的IP数据报文,QoS无法识别出原始报文的IP数据,无法基于原始报文信息对报文进行分类。

使能报文信息预提取功能后,系统在逻辑接口获取原始报文的IP数据,并在物理接口应用此IP数据,可以基于原始报文信息进行分类,从而进行各种QoS处理。

表5-22 报文信息预提取功能配置过程

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface tunnel interface-number

四者必选其一

接口的支持情况和产品相关,请以设备的实际情况为准

interface rpr interface-number

interface route-aggregation { interface-number | interface-number.subnumber }

interface hdlc-bundle bundle-id

使能报文信息预提取功能

qos pre-classify

必选

缺省情况下,Tunnel接口的报文信息预提取功能处于关闭状态

 

说明

·     Tunnel接口的具体内容请参见“三层技术-IP业务配置指导”中的“隧道”。

·     RPR逻辑接口的具体内容请参见“可靠性配置指导”中的“RPR”。

·     三层聚合接口的具体内容请参见“二层技术-以太网交换配置指导”中的“以太网链路聚合”。

·     HDLC捆绑接口的具体内容请参见“二层技术-广域网接入配置指导”中的“HDLC”。

 

5.9.2  报文信息预提取功能配置举例

1. 组网需求

在Tunnel接口上配置报文信息预提取功能。

2. 配置步骤

# 在接口Tunnel 0上使能报文信息预提取功能。

<Sysname> system-view

[Sysname] interface tunnel 0

[Sysname-Tunnel0] qos pre-classify

 

 


6 硬件实现拥塞管理

说明

硬件实现拥塞管理仅在SAP板工作在二层模式时支持。

 

6.1  硬件实现拥塞管理简介

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

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

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

图6-1 流量拥塞示意图

 

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

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

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

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

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

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

6.1.2  拥塞管理策略

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

队列调度对不同优先级的报文进行分级处理,优先级高的会得到优先发送。这里介绍四种常用的队列:严格优先级SP队列、加权轮询WRR队列、加权公平队列WFQ和CBQ。

1. SP队列

图6-2 SP队列示意图

 

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

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

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

目前SR6600/SR6600-X路由器支持基本SP队列,基本SP队列包含多个队列,分别对应不同的优先级,按优先级递减的顺序进行调度。

2. WRR队列

图6-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。进行队列调度时,设备首先在优先级队列组1中进行轮询调度;优先级队列组1中没有报文发送时,设备才在优先级队列组2中进行轮询调度。

·     带最大时延的WRR队列:带最大时延的WRR队列调度算法与基本WRR队列相比,一个特别之处是,保证在优先级最高的队列中的报文从进入队列到离开队列的最大时间不超过所设定的最大时延。

3. WFQ队列

图6-4 WRQ队列

 

WFQ和WRR队列调度算法类似,在权重算法上支持weight,也支持SP分组,可以相互替换。

两者差异如下:WRR支持最大时延,可以保证所配置队列中的报文从进入队列到离开队列的最大时间不超过所设定的最大时延;WFQ支持带宽保证,可以保证端口流量拥塞时能够获得的最小队列带宽。

4. CBQ队列

CBQ为用户提供了定义类的支持,为每个用户定义的类分配一个单独的FIFO预留队列,用来缓冲同一类的数据。在网络拥塞时,CBQ对报文根据用户定义的类规则进行匹配,并使其进入相应的队列,在入队列之前必须进行拥塞避免机制和带宽限制的检查。在报文出队列时,加权公平调度每个类对应的队列中的报文。

CBQ包括以下队列:

·     LLQ队列,即EF队列为实时业务报文提供严格优先发送服务。在使用LLQ时将会为每个优先类指定可用最大带宽,该带宽值用于拥塞发生时监管流量。如果拥塞未发生,优先类允许使用超过分配的带宽。如果拥塞发生,优先类超过分配带宽的数据包将被丢弃。LLQ还可以指定Burst-size。

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

·     加权公平调度队列:一个WFQ队列,用来支撑BE业务,使用接口剩余带宽进行发送。

AF和WFQ两种队列缺省采用尾丢弃的策略。用户还可以选择用加权随机早期检测WRE的丢弃策略来进行流量限制。

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

·     不同类之间按照C-B对的配置顺序逐一匹配,先配置先生效。

·     同一个类内的多个规则也是按照配置顺序逐一匹配,先配置先生效。

6.2  硬件实现拥塞管理配置任务简介

硬件实现拥塞管理共有两种,一种是通过单独的队列配置方式,即在接口视图或端口组视图下直接完成各队列的队列调度配置实现;一种是QoS策略配置方式,将在“6.4  基于类的队列的配置”中进行详细介绍。

表6-1 硬件实现拥塞管理配置任务简介

配置任务

说明

详细配置

单独的队列配置方式

配置SP队列

可选

6.3.1 

配置WRR队列

可选

6.3.2 

配置WFQ队列

可选

6.3.3 

QoS策略配置方式

配置CBQ队列

可选

6.4 

 

6.3  单独的队列配置方式

6.3.1  配置SP队列

1. 配置过程

表6-2 SP队列配置过程

操作

命令

说明

进入系统视图

system-view

-

进入接口视图或端口组视图

进入接口视图

interface interface-type interface-number

二者必选其一

只有二层接口上支持配置SP队列

进入接口视图后,下面进行的配置只在当前接口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效

进入端口组视图

port-group manual port-group-name

配置SP队列

qos sp

必选

只有二层接口上支持配置SP队列

接口上缺省采用基本SP队列

显示SP队列

display qos sp interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

可选

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

 

2. 配置举例

(1)     组网需求

配置GigabitEthernet1/0/1采用SP队列。

(2)     配置步骤

# 进入系统视图

<Sysname> system-view

# 配置GigabitEthernet1/0/1的SP队列。

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] qos sp

6.3.2  配置分组WRR队列

如果用户配置接口上的一个队列为WRR队列,则当前接口的队列调度模式改变为WRR,接口上未被配置的队列使用缺省WRR调度值和缺省WRR优先级组。

1. 配置过程

表6-3 分组WRR队列配置过程

操作

命令

说明

进入系统视图

system-view

-

进入接口视图或端口组视图

进入接口视图

interface interface-type interface-number

二者必选其一

进入接口视图后,下面进行的配置只在当前接口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效

进入端口组视图

port-group manual port-group-name

使能接口的WRR队列

qos wrr

必选

只有二层接口上支持配置WRR队列

缺省情况下,接口上队列为SP

配置分组WRR队列

qos wrr queue-id group 1 weight schedule-value

必选

配置SP+WRR队列

qos wrr queue-id group sp

可选

在WRR队列下采用严格优先级调度算法

显示WRR队列的配置

display qos wrr interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

可选

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

 

2. 配置举例

(1)     组网需求

·     配置接口GigabitEthernet1/0/1上的队列为WRR队列

·     配置队列0、1属于SP组

·     配置队列2、3、4属于为WRR分组1,权重分别为1、5、10

(2)     配置步骤

# 进入系统视图。

<Sysname> system-view

# 配置接口GigabitEthernet1/0/1的WRR队列。

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] qos wrr

[Sysname-GigabitEthernet1/0/1] qos wrr 0 group sp

[Sysname-GigabitEthernet1/0/1] qos wrr 1 group sp

[Sysname-GigabitEthernet1/0/1] qos wrr 2 group 1 weight 1

[Sysname-GigabitEthernet1/0/1] qos wrr 3 group 1 weight 5

[Sysname-GigabitEthernet1/0/1] qos wrr 4 group 1 weight 10

6.3.3  配置WFQ队列

如果用户配置一个队列为WFQ模式,当前接口的队列调度模式将改变为WFQ,接口上未被配置的队列使用缺省WFQ调度值,缺省WFQ值根据产品的不同可能不同。

1. 配置过程

表6-4 WFQ队列配置过程

操作

命令

说明

进入系统视图

system-view

-

进入接口视图或端口组视图

进入接口视图

interface interface-type interface-number

二者必选其一

进入接口视图后,下面进行的配置只在当前接口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效

进入端口组视图

port-group manual port-group-name

使能WFQ队列

qos wfq

必选

是否需要使能WFQ队列与设备的型号有关,请以设备的实际情况为准

配置基本WFQ队列

qos wfq queue-id  weight schedule-value

必选

只有二层接口上支持配置WFQ队列

配置WFQ队列的最小保证带宽值

qos bandwidth queue queue-id min bandwidth-value

可选

只有二层接口上支持配置WFQ队列

显示WFQ队列配置

display qos wfq interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

可选

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

 

2. 配置举例

(1)     组网需求

配置接口上的队列为WFQ队列,其中队列1、3、4、5、6的调度权重值分别为1、5、10、20、10。

(2)     配置步骤

# 进入系统视图。

<Sysname> system-view

# 配置GigabitEthernet1/0/1的WFQ队列。

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] qos wfq

[Sysname-GigabitEthernet1/0/1] qos wfq 1 weight 1

[Sysname-GigabitEthernet1/0/1] qos wfq 3 weight 5

[Sysname-GigabitEthernet1/0/1] qos wfq 4 weight 10

[Sysname-GigabitEthernet1/0/1] qos wfq 5 weight 20

[Sysname-GigabitEthernet1/0/1] qos wfq 6 weight 10

6.4  基于类的队列的配置

6.4.1  配置概述

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

(1)     定义类

(2)     定义流行为

(3)     定义策略

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

6.4.2  定义类

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

表6-5 定义类

操作

命令

说明

进入系统视图

system-view

-

定义类并进入类映射视图

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

必选

缺省为and,即类视图下各匹配规则之间的关系为逻辑与

定义匹配数据包的规则

if-match [ not ] match-criteria

必选

 

6.4.3  定义流行为

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

1. 配置确保转发(AF),并配置最小可保证带宽

表6-6 配置确保转发(AF),并配置最小可保证带宽

操作

命令

说明

进入系统视图

system-view

-

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

traffic behavior behavior-name

必选

behavior-name:流行为名,不允许为系统预定义流行为

配置确保转发(AF),并配置最小可保证带宽

queue af bandwidth bandwidth

必选

 

说明

该行为只能应用在接口和ATM PVC的出方向。

 

2. 配置加速转发(EF),并配置最大带宽

表6-7 配置加速转发(EF),并配置最大带宽

操作

命令

说明

进入系统视图

system-view

-

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

traffic behavior behavior-name

必选

behavior-name:流行为名,不允许为系统预定义流行为

配置加速转发(EF),并配置最大带宽

queue ef bandwidth bandwidth [ cbs burst ]

必选

 

3. 配置采用公平队列

表6-8 配置采用公平队列

操作

命令

说明

进入系统视图

system-view

-

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

traffic behavior behavior-name

必选

behavior-name:流行为名,不允许为系统预定义流行为

配置采用公平队列

queue wfq

必选

 

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

表6-9 配置丢弃方式为随机丢弃方式

操作

命令

说明

进入系统视图

system-view

-

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

traffic behavior behavior-name

必选

behavior-name:流行为名,不允许为系统预定义流行为

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

wred [ dscp | ip-precedence ]

必选

dscp:表明在为一个包计算丢弃概率时使用的是DSCP值

ip-precedence:表明在为一个包计算丢弃概率时使用的是IP优先级值,作为缺省配置

 

说明

·     wred [ dscp | ip-precedence ]命令必须在配置了queue afqueue wfq后使用。

·     当接口上应用了包含WRED特性的QoS策略后,原有的接口级的WRED配置失效。

 

6.4.4  定义策略

表6-10 在策略中为类指定流行为

操作

命令

说明

进入系统视图

system-view

-

定义策略并进入策略视图

qos policy policy-name

-

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

classifier classifier-name behavior behavior-name

必选

classifier-name:类名,必须是已经定义的类,可以是系统定义或用户定义类

behavior-name:必须是已定义的流行为名,可以是系统定义或用户定义流行为

 

6.4.5  应用策略

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

表6-11 将接口或ATM PVC与所设置的策略相关联

操作

命令

说明

进入系统视图

system-view

-

进入接口视图、端口组视图或PVC视图

进入接口视图

interface interface-type interface-number

二者必选其一

进入接口视图后,下面进行的配置只在当前接口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效;进入PVC视图后,下面进行的配置只在当前PVC生效

进入端口组视图

port-group manual port-group-name

进入PVC视图

interface atm interface-number

pvc vpi/vci

在接口或PVC上应用关联的策略

qos apply policy policy-name { inbound | outbound }

必选

 

说明

对于部分线卡,由于系统资源有限,QoS策略可以应用,但无法生效。需要根据系统提示信息调整相关参数,如减小队列数目,再尝试重新使能QoS策略。

 

6.4.6  基于类的队列的显示和维护

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

表6-12 基于类的队列的显示和维护

操作

命令

显示设备配置的类信息

display traffic classifier user-defined [ classifier-name ] [ | { begin | exclude | include } regular-expression ]

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

display traffic behavior user-defined [ behavior-name ] [ | { begin | exclude | include } regular-expression ]

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

display qos policy user-defined [ policy-name [ classifier classifier-name ] ] [ | { begin | exclude | include } regular-expression ]

显示指定接口、指定PVC或所有接口与PVC上策略的配置信息和运行情况

display qos policy interface [ interface-type interface-number ] [ slot slot-number ] [ pvc { pvc-name [ vpi/vci ] | vpi/vci } ] ] [ inbound | outbound ] [ | { begin | exclude | include } regular-expression ]

显示指定接口、指定PVC或所有接口与PVC的基于类的队列配置信息和运行情况

display qos cbq interface [ interface-type interface-number ] [ pvc { pvc-name [ vpi/vci ] | vpi/vci } ] [ | { begin | exclude | include } regular-expression ]

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

1. 组网需求

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

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

·     对于DSCP域为EF的流进行加速转发(EF),最大带宽为2000kbps。

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

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

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

2. 组网图

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

 

 

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 500

[RouterA-behavior-af11_behav] quit

[RouterA] traffic behavior af21_behav

[RouterA-behavior-af21_behav] queue af bandwidth 500

[RouterA-behavior-af21_behav] quit

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

[RouterA] traffic behavior ef_behav

[RouterA-behavior-ef_behav] queue ef bandwidth 2000

[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的ATM PVC出方向。

[RouterA] interface atm 2/1/1

[RouterA-atm2/1/1] ip address 1.1.1.1 255.255.255.0

[RouterA-atm2/1/1] pvc qostest 0/40

[RouterA-atm-pvc-atm1/0-0/40-qostest] qos apply policy dscp outbound

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


7 拥塞避免

7.1  拥塞避免简介

过度的拥塞会对网络资源造成极大危害,必须采取某种措施加以解除。拥塞避免是一种流量控制机制,它通过监视网络资源(如队列或内存缓冲区)的使用情况,在拥塞产生或有加剧的趋势时主动丢弃报文,通过调整网络的流量来解除网络过载。

与端到端的流量控制相比,这里的流量控制具有更广泛的意义,它影响到设备中更多的业务流的负载。设备在丢弃报文时,需要与源端的流量控制动作(比如TCP流量控制)的配合,调整网络的流量到一个合理的负载状态。丢包策略和源端流控机制有效的组合,可以使网络的吞吐量和利用效率最大化,并且使报文丢弃和延迟最小化。

1. 传统的丢包策略

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

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

2. RED与WRED

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

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

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

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

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

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

与RED不同,WRED生成的随机数是基于优先权的,它引入IP优先权区别丢弃策略,考虑了高优先权报文的利益,使其被丢弃的概率相对较小。

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

队列平均长度既反映了队列的变化趋势,又对队列长度的突发变化不敏感,避免了对突发性数据流的不公正待遇。计算队列平均长度的公式为:平均队列长度=(以前的平均队列长度×(1-1/(2的n次方)))+(当前队列长度×(1/(2的n次方)))。其中n可以通过命令qos wred weighting-constant进行配置。

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

当队列机制采用FIFO、PQ、CQ时,可以为每个队列设定计算队列平均长度时的指数、上限、下限、丢弃概率,为不同类别的报文提供不同的丢弃特性。

3. WRED和队列机制的关系

WRED和队列机制的关系如图7-1所示。

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

 

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

7.2  WRED配置的说明

7.2.1  WRED的配置方式

SR6600/SR6600-X路由器支持的WRED配置方式为接口配置方式,即在接口上配置WRED的各种参数,并使能WRED。

7.2.2   WRED的参数说明

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

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

·     计算平均队列长度的指数:指数越大,计算平均队列长度时对队列的实时变化越不敏感。

·     计算丢弃概率的分母:在计算丢弃概率的公式中作为分母。取值越大,计算出的丢弃概率越小。

7.3  以接口配置方式配置WRED

7.3.1  配置过程

表7-1 以接口配置方式配置WRED配置过程

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

使能WRED

qos wred [dscp | ip-precedence ] enable

必选

设置计算平均队列长度的指数

qos wred weighting-constant exponent

可选

缺省情况下,该指数取值为9

设置各优先级对应的参数

qos wred { ip-precedence ip-precedence | dscp dscp-value } low-limit low-limit high-limit high-limit discard-probability discard-prob

可选

缺省情况下,low-limit为10,high-limit为30,discard-prob为10

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

display qos wred interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

可选

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

 

注意

qos wred enable命令需要先在接口上应用WFQ队列

 

7.3.2  配置举例

1. 组网需求

·     在接口GigabitEthernet1/0/1上配置基于IP优先级的WRED。

·     设置IP优先级为3的报文的队列下限为20、上限为40、丢弃概率分母为15。

·     设置计算平均队列长度的指数为6。

2. 配置步骤

# 进入系统视图。

<Sysname> system-view

# 进入接口视图。

[Sysname] interface gigabitethernet 1/0/1

# 使能基于IP优先级的WRED。

[Sysname-GigabitEthernet1/0/1] qos wred ip-precedence enable

# 设置优先级为3的报文的队列下限为20,上限为40,丢弃概率分母为15。

[Sysname-GigabitEthernet1/0/1] qos wred ip-precedence 3 low-limit 20 high-limit 40 discard-probability 15

# 配置计算平均队列长度的指数为6。

[Sysname-GigabitEthernet1/0/1] qos wred weighting-constant 6

7.4  以WRED表配置方式配置WRED

说明

以WRED表配置方式配置WRED仅在SAP板工作在二层模式时支持。

 

WRED表是一个全局的WRED参数表,queue类型是基于队列的表,拥塞时根据报文所在队列进行随机丢弃。

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

7.4.1  配置过程

表7-2 以WRED表配置方式配置WRED的配置过程

操作

命令

说明

进入系统视图

system-view

-

配置WRED表

qos wred queue table table-name

必选

缺省情况下,没有全局WRED表存在

配置WRED表的其它参数

queue queue-value [ drop-level drop-level ] low-limit low-limit [ discard-probability discard-prob ]

可选

进入接口视图或端口组视图

进入接口视图

interface interface-type interface-number

二者必选其一

进入接口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效

进入端口组视图

port-group manual port-group-name

在接口应用WRED表

qos wred apply table-name

必选

基于队列的表只能应用在二层端口上

显示WRED表的配置情况

display qos wred table [ table-name ] [ | { begin | exclude | include } regular-expression ]

可选

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

 

7.4.2  配置举例

在二层端口GigabitEthernet4/0/3上应用基于队列的WRED表。

# 进入系统视图

<Sysname> system-view

# 配置一张基于队列的WRED表。

[Sysname] qos wred queue table queue-table1

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

# 进入接口视图。

[Sysname] interface gigabitethernet 4/0/3

# 在接口上应用WRED表。

[Sysname-GigabitEthernet4/0/3] qos wred apply queue-table1

7.5  WRED显示和维护

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

表7-3 WRED显示和维护

操作

命令

显示接口或PVC的WRED配置情况和统计信息

display qos wred interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ]

显示WRED表配置情况

display qos wred table [ table-name ] [ | { begin | exclude | include } regular-expression ]

 

7.6  WRED典型配置举例

1. 组网需求

图7-2所示,Server、Telephone、Host A和Host B通过Router向IP网络发送数据,其中Server发送关键业务数据,Telephone发送语音数据,Host A和Host B发送非关键业务数据。由于Router入接口GE1/0/1的速率大于出接口S2/1/1的速率,在S2/1/1接口处可能发生拥塞,并且可能出现拥塞加剧。

要求在网络拥塞时保证Server和Telephone发送的业务数据得到优先发送。同时,Host A和Host B的数据在发送的过程中也需要一定的带宽保证,可以有少量延迟,但不希望延迟过大。在拥塞加剧的时候需要考虑优先权来丢弃报文。

需要配置WFQ和WRED配合调度和丢弃。

2. 组网图

图7-2 WRED典型配置举例组网图

 

3. 配置步骤

# 配置ACL,分别匹配来源于Server、Telephone、Host A和Host B的报文。

<Router> system-view

[Router] acl number 2001

[Router-acl-basic-2001] rule 1 permit source 10.1.1.1 0

[Router-acl-basic-2001] quit

[Router] acl number 2002

[Router-acl-basic-2002] rule 2 permit source 10.1.1.2 0

[Router-acl-basic-2002] quit

[Router] acl number 2003

[Router-acl-basic-2003] rule 3 permit source 10.1.1.3 0

[Router-acl-basic-2003] quit

[Router] acl number 2004

[Router-acl-basic-2004] rule 1 permit source 10.1.1.4 0

[Router-acl-basic-2004] quit

# 标记各个流的优先级。

[Router] traffic classifier class1

[Router-classifier-class1] if-match acl 2001

[Router-classifier-class1] quit

[Router] traffic classifier class2

[Router-classifier-class2] if-match acl 2002

[Router-classifier-class2] quit

[Router] traffic classifier class3

[Router-classifier-class3] if-match acl 2003

[Router-classifier-class3] quit

[Router] traffic classifier class4

[Router-classifier-class4] if-match acl 2004

[Router-classifier-class4] quit

[Router] traffic behavior behavior1

[Router-behavior-behavior1] remark ip-precedence 5

[Router-behavior-behavior1] quit

[Router]traffic behavior behavior2

[Router-behavior-behavior2] remark ip-precedence 4

[Router-behavior-behavior2] quit

[Router] traffic behavior behavior3

[Router-behavior-behavior3] remark ip-precedence 3

[Router-behavior-behavior3] quit

[Router] traffic behavior behavior4

[Router-behavior-behavior4] remark ip-precedence 2

[Router-behavior-behavior4] quit

[Router] qos policy aa

[Router-qospolicy-aa] classifier class1 behavior behavior1

[Router-qospolicy-aa] classifier class2 behavior behavior2

[Router-qospolicy-aa] classifier class3 behavior behavior3

[Router-qospolicy-aa] classifier class4 behavior behavior4

[Router-qospolicy-aa] quit

[Router] interface gigabitethernet 1/0/1

[Router-GigabitEthernet1/0/1] qos apply policy aa inbound

[Router-GigabitEthernet1/0/1] quit

# 配置WFQ,保证各流量公平调度的同时又考虑到优先权;配置WRED,在拥塞加剧时考虑优先权进行丢弃。

[Router] interface Serial 2/1/1

[Router-Serial2/1/1] qos wfq queue-length 100 queue-number 16

[Router-Serial2/1/1] qos wred enable

[Router-Serial2/1/1] qos wred ip-precedence 5 low-limit 10 high-limit 250 discard-probability 11

[Router-Serial2/1/1] qos wred ip-precedence 4 low-limit 10 high-limit 200 discard-probability 12

[Router-Serial2/1/1] qos wred ip-precedence 3 low-limit 10 high-limit 180 discard-probability 15

[Router-Serial2/1/1] qos wred ip-precedence 2 low-limit 10 high-limit 180 discard-probability 15

[Router-Serial2/1/1] quit

 


8 流量过滤

8.1  流量过滤简介

流量过滤就是将符合流分类的流配置流量过滤动作。

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

8.2  配置流量过滤

表8-1 配置流量过滤

操作

命令

说明

进入系统视图

system-view

-

定义类并进入类视图

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

-

定义匹配数据包的规则

if-match [ not ] match-criteria

-

退出类视图

quit

-

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

traffic behavior behavior-name

-

配置流量过滤动作

filter { deny | permit }

必选

deny表示丢弃数据包;permit表示允许数据包通过

退出流行为视图

quit

-

定义策略并进入策略视图

qos policy policy-name

-

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

classifier classifier-name behavior behavior-name

-

退出策略视图

quit

-

应用QoS策略

基于接口或PVC

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

-

基于上线用户

2.2.4  2. 基于上线用户应用QoS策略

-

基于VLAN

2.2.4  3. 基于VLAN应用QoS策略

-

显示流量过滤的相关配置信息

display traffic behavior { system-defined | user-defined } [ behavior-name ] [ | { begin | exclude | include } regular-expression ]

可选

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

 

8.3  流量过滤配置举例

8.3.1  流量过滤配置举例

1. 组网需求

Host通过接口GigabitEthernet1/0/1接入设备Router。

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

2. 组网图

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

 

 

3. 配置步骤

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

<Router> system-view

[Router] acl number 3000

[Router-acl-adv-3000] rule 0 permit tcp source-port neq 21

[Router-acl-adv-3000] quit

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

[Router] traffic classifier classifier_1

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

[Router-classifier-classifier_1] quit

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

[Router] traffic behavior behavior_1

[Router-behavior-behavior_1] filter deny

[Router-behavior-behavior_1] quit

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

[Router] qos policy policy

[Router-qospolicy-policy] classifier classifier_1 behavior behavior_1

[Router-qospolicy-policy] quit

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

[Router] interface gigabitethernet 1/0/1

[Router-GigabitEthernet1/0/1] qos apply policy policy inbound

 


9 重标记

9.1  重标记简介

重标记是将报文的优先级或者标志位进行设置,重新定义流量的优先级等。例如,对于IP报文来说,所谓重标记就是对IP报文中的IP优先级或DSCP值进行重新设置,改变IP报文在网络传输中状态。

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

9.2  配置重标记

表9-1 配置重标记

操作

命令

说明

进入系统视图

system-view

-

定义类并进入类视图

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

-

定义匹配数据包的规则

if-match [ not ] match-criteria

-

退出类视图

quit

-

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

traffic behavior behavior-name

-

配置标记报文的DSCP值

remark dscp dscp-value

可选

配置标记报文的802.1p优先级或内外层标签优先级复制功能

remark  dot1p 8021p

可选

配置标记报文的IP优先级值

remark  ip-precedence ip-precedence-value

可选

配置标记报文的本地优先级

remark  local-precedence local-precedence

可选

配置标记报文的qos-local-id值

remark qos-local-id local-id-value

可选

退出流行为视图

quit

-

定义策略并进入策略视图

qos policy policy-name

-

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

classifier classifier-name behavior behavior-name

-

退出策略视图

quit

-

应用QoS策略

基于接口或PVC

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

-

基于上线用户

2.2.4  2. 基于上线用户应用QoS策略

-

-

基于VLAN

2.2.4  3. 基于VLAN应用QoS策略

-

显示重标记的相关配置信息

display traffic behavior { system-defined | user-defined } [ behavior-name ] [ | { begin | exclude | include } regular-expression ]

可选

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

 

9.3  重标记配置举例

9.3.1  重标记配置举例

1. 组网需求

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

·     Host A和Host B通过端口GigabitEthernet1/0/1接入Router;

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

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

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

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

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

2. 组网图

图9-1 配置重标记组网图

 

3. 配置步骤

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

<Router> system-view

[Router] acl number 3000

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

[Router-acl-adv-3000] quit

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

[Router] acl number 3001

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

[Router-acl-adv-3001] quit

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

[Router] acl number 3002

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

[Router-acl-adv-3002] quit

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

[Router] traffic classifier classifier_dbserver

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

[Router-classifier-classifier_dbserver] quit

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

[Router] traffic classifier classifier_mserver

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

[Router-classifier-classifier_mserver] quit

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

[Router] traffic classifier classifier_fserver

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

[Router-classifier-classifier_fserver] quit

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

[Router] traffic behavior behavior_dbserver

[Router-behavior-behavior_dbserver] remark dscp 32

[Router-behavior-behavior_dbserver] quit

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

[Router] traffic behavior behavior_mserver

[Router-behavior-behavior_mserver] remark dscp 24

[Router-behavior-behavior_mserver] quit

# 定义流行为behavior_fserver,动作为重标记报文的DSCP先级为16。

[Router] traffic behavior behavior_fserver

[Router-behavior-behavior_fserver] remark dscp 16

[Router-behavior-behavior_fserver] quit

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

[Router] qos policy policy_server

[Router-qospolicy-policy_server] classifier classifier_dbserver behavior behavior_dbserver

[Router-qospolicy-policy_server] classifier classifier_mserver behavior behavior_mserver

[Router-qospolicy-policy_server] classifier classifier_fserver behavior behavior_fserver

[Router-qospolicy-policy_server] quit

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

[Router] interface gigabitethernet 1/0/1

[Router-GigabitEthernet1/0/1] qos apply policy policy_server inbound

[Router-GigabitEthernet1/0/1] quit


10 流量重定向

说明

流量重定向仅在SAP板工作在二层模式时支持。

 

10.1  流量重定向简介

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

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

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

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

·     重定向到下一跳:对于收到需要由某个接口处理的报文时,可以通过配置重定向到此接口。只针对三层转发报文。

10.2  配置流量重定向

表10-1 配置流量重定向

操作

命令

说明

进入系统视图

system-view

-

定义类并进入类视图

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

-

定义匹配数据包的规则

if-match [ not ] match-criteria

-

退出类视图

quit

-

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

traffic behavior behavior-name

必选

配置流量重定向动作

redirect { cpu | interface interface-type interface-number | next-hop { ipv4-add1 [ ipv4-add2] | ipv6-add1  [ ipv6-add2] } }

可选

退出流行为视图

quit

-

定义策略并进入策略视图

qos policy policy-name

-

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

classifier classifier-name behavior behavior-name

-

退出策略视图

quit

-

应用QoS策略

基于接口或PVC

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

-

基于VLAN

2.2.4  3. 基于VLAN应用QoS策略

-

说明

·     在配置重定向动作时,同一个流行为中重定向类型只能为重定向到CPU和重定向到接口的一种。

·     可以通过命令display traffic behavior { system-defined | user-defined } [ behavior-name ][ | { begin | exclude | include } regular-expression ]查看流量重定向的相关配置信息。

 

10.3  流量重定向配置举例

10.3.1  重定向到接口配置举例

1. 组网需求

网络环境如图10-1所示,配置重定向到接口,满足如下需求:

·     将Router A的端口GigabitEthernet1/0/1接收到的源IP地址为2.1.1.1的报文由接口GigabitEthernet1/0/2转发出去;

·     将Router A的端口GigabitEthernet1/0/1接收到的源IP地址为2.1.1.2的报文由接口GigabitEthernet1/0/3转发出去;

·     对于Router A的端口GigabitEthernet1/0/1接收到的其它报文由接口GigabitEthernet1/0/4转发出去。

2. 组网图

图10-1 配置重定向到接口组网图

 

3. 配置步骤

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

<RouterA> system-view

[RouterA] acl number 2000

[RouterA-acl-basic-2000] rule permit source 2.1.1.1 0

[RouterA-acl-basic-2000] quit

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

[RouterA] acl number 2001

[RouterA-acl-basic-2001] rule permit source 2.1.1.2 0

[RouterA-acl-basic-2001] quit

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

[RouterA] traffic classifier classifier_1

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

[RouterA-classifier-classifier_1] quit

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

[RouterA] traffic classifier classifier_2

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

[RouterA-classifier-classifier_2] quit

# 定义类classifier_3,不匹配基本ACL 2000和ACL 2001。

[RouterA] traffic classifier classifier_3

[RouterA-classifier-classifier_3] if-match not acl 2000

[RouterA-classifier-classifier_3] if-match not acl 2001

[RouterA-classifier-classifier_3] quit

# 定义流行为behavior_1,动作为重定向到接口GigaitEthernent1/0/2。

[RouterA] traffic behavior behavior_1

[RouterA-behavior-behavior_1] redirect interface gigabitethernent 1/0/2

[RouterA-behavior-behavior_1] quit

# 定义流行为behavior_2,动作为重定向到接口GigabitEthernent1/0/3。

[RouterA] traffic behavior behavior_2

[RouterA-behavior-behavior_2] redirect interface gigabitethernent 1/0/3

[RouterA-behavior-behavior_2] quit

# 定义流行为behavior_3,动作为重定向到接口GigabitEthernent1/0/4。

[RouterA] traffic behavior behavior_3

[RouterA-behavior-behavior_3] redirect interface gigabitethernent 1/0/4

[RouterA-behavior-behavior_3] quit

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

[RouterA] qos policy policy

[RouterA-qospolicy-policy] classifier classifier_1 behavior behavior_1

[RouterA-qospolicy-policy] classifier classifier_2 behavior behavior_2

[RouterA-qospolicy-policy] classifier classifier_3 behavior behavior_3

[RouterA-qospolicy-policy] quit

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

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] qos apply policy policy inbound

 

 


11 DAR

说明

DAR功能只对通过IP转发的报文生效。

 

SR6600/SR6600-X路由器各款型对于本节所描述的特性支持情况有所不同,详细差异信息如下:

型号

特性

描述

SR6602

DAR

支持

SR6602-X

不支持

SR6604/SR6608/SR6616

不支持

SR6604-X/SR6608-X/SR6616-X

不支持

 

11.1  DAR简介

今天,Internet已经成为企业实施各种业务的主要媒介,各种基于业务的应用也不断出现。因此,目前只对报文中的IP报头进行检查的简单机制已经无法适用于当今复杂的网络,故提出了基于业务的深度应用识别的概念。

DAR是一个智能的识别分类工具,它可以对报文中第4层到第7层的内容和一些动态协议(如BT)进行检查和识别,以区分出各种基于应用的协议,并能进行相应的控制(如限流、阻断),从而弥补了原先只能对报文进行简单分类的不足。

通过对报文进行深度的识别和分类,大大加强了用户对网络应用的控制力度,可以更有效的为关键业务数据实施高优先级的策略,进一步保护用户的投资。

另外,随着P2P技术的不断发展和广泛应用,P2P数据流量在网络流量中所占的比重越来越大,这不仅对网络带宽资源造成了浪费,还对其他业务的正常运行造成了严重影响。因此,DAR还需要对P2P流量进行单独的识别。

11.2  配置DAR识别P2P报文

DAR识别P2P协议报文的方式如下:

(1)     用户需要获取P2P报文的数据特征文件(*.mtd文件);

(2)     用户将特征文件加载到系统根目录下;

(3)     用户配置DAR功能之后,设备将接收到的报文内容与数据特征进行比较,如果相同,则认为该报文为P2P报文,然后进行相应的处理。

11.2.2  加载P2P特征文件

用户需要对P2P协议报文进行识别时,首先需要将特征文件加载到系统中。

表11-1 加载P2P特征文件

操作

命令

说明

进入系统视图

system-view

-

加载P2P特征文件

dar p2p signature-file filename

必选

缺省情况下,未加载P2P特征文件

 

说明

系统只能加载根目录下的特征文件,请将特征文件放在系统根目录下。

11.2.3  配置P2P协议组

配置P2P协议组后,用户可以通过引用一个P2P协议组,来同时对多个P2P协议的流量进行识别。

表11-2 配置P2P协议组

操作

命令

说明

进入系统视图

system-view

-

创建P2P协议组并进入协议组视图

dar protocol-group group-id

必选

缺省情况下,系统中不存在协议组

向协议组中添加协议

protocol protocol-name

必选

缺省情况下,协议组中未配置协议

 

11.2.4  使能P2P协议流量识别功能

对P2P协议报文的识别,将会消耗大量的系统资源,为了不影响其他模块的正常工作,系统默认不对P2P协议报文进行识别。如果用户想对某个接口收发的P2P协议报文进行识别,可以使能该接口的P2P协议识别功能。

表11-3 使能P2P协议流量识别功能

操作

命令

说明

进入系统视图

system-view

-

进入三层以太网接口视图

interface interface-type interface-number

-

使能P2P协议流量识别功能

dar enable

必选

缺省情况下,接口的P2P协议流量识别功能处于关闭状态

 

11.2.5  配置协议的匹配规则

当对相应数据流应用各种策略时(如设置报文的优先级,为数据流分配带宽等),首要需要使用DAR的深度识别功能对数据流进行分类。

表11-4 配置协议的匹配规则

操作

命令

说明

进入系统视图

system-view

-

进入类视图

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

必选

配置协议组匹配规则

If-match [ not ] protocol-group protocol-group-id

可选

缺省情况下,未配置协议组匹配规则

 

11.2.6  配置DAR的报文统计功能

通过使能DAR的报文统计功能,用户可以及时对各个接口上的应用协议的报文个数、数据流量进行监控,便于对数据流实施相应的策略。

表11-5 配置DAR的报文统计功能

操作

命令

说明

进入系统视图

system-view

-

进入以太网接口视图

interface interface-type interface-number

-

使能DAR的报文统计功能

dar protocol-statistic [ flow-interval time ]

必选

缺省情况下,DAR的报文统计功能关闭

 

11.3  DAR显示和维护

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

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

表11-6 DAR显示和维护

操作

命令

显示DAR的报文统计信息

display dar protocol-statistic p2p [ interface interface-type interface-number ] [ direction { in | out } ] [ | { begin | exclude | include } regular-expression ]

清除DAR的协议统计信息

reset dar protocol-statistic p2p [ interface interface-type interface-number ]

reset dar protocol-statistic interface interface-type interface-number p2p

 

11.4  DAR典型配置举例

11.4.1  禁止P2P软件下载配置举例

1. 配置需求

·     PC通过设备Router分别与外网相连。

·     通过在Router上进行配置,禁止PC通过BT客户端和eMule/eDonkey客户端下载文件。

2. 组网图

图11-1 配置禁止P2P软件下载组网图

 

3. 配置步骤

# 加载特征文件meta.mtd。

<Router> system-view

[Router] dar p2p signature-file meta.mtd

# 配置协议组。

[Router] dar protocol-group 1

[Router-protocol-group-1] protocol bittorrent

[Router-protocol-group-1] protocol eMule/eDonkey

[Router-protocol-group-1] quit

# 配置对协议组的匹配规则。

[Router] traffic classifier p2p

[Router-classifier-p2p] if-match protocol-group 1

[Router-classifier-p2p] quit

# 配置过滤丢弃的流行为。

[Router] traffic behavior deny

[Router-behavior-deny] filter deny

[Router-behavior-deny] quit

# 配置对协议组1的协议进行匹配过滤的QoS策略。

[Router] qos policy p2p

[Router-qospolicy-p2p] classifier bt behavior deny

[Router-qospolicy-p2p] quit

# 在GigabitEthernet1/1接口上使能P2P协议流量识别功能,并在入方向上应用QoS策略。

[Router] interface gigabitethernet 1/1

[Router-GigabitEthernet1/1] dar enalbe

[Router-GigabitEthernet1/1] qos apply policy p2p inbound

在PC上运行BT客户端和eMule/eDonkey客户端软件,开始下载文件。

查看客户端软件,可以看到无法进行下载。


12 流量统计

12.1  流量统计简介

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

12.2  配置流量统计

表12-1 配置流量统计

操作

命令

说明

进入系统视图

system-view

-

定义类并进入类视图

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

-

定义匹配数据包的规则

if-match [ not ] match-criteria

-

退出类视图

quit

-

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

traffic behavior behavior-name

必选

配置统计动作

accounting

可选

SR6600/SR6600-X路由器支持基于Packet的统计

退出流行为视图

quit

-

定义策略并进入策略视图

qos policy policy-name

-

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

classifier classifier-name behavior behavior-name

-

退出策略视图

quit

-

应用QoS策略

基于接口或PVC

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

-

基于VLAN

2.2.4  3. 基于VLAN应用QoS策略

-

12.3  流量统计显示和维护

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

12.4  流量统计配置举例

12.4.1  流量统计配置举例

1. 组网需求

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

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

2. 组网图

图12-1 配置流量统计组网图

 

 

3. 配置步骤

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

<Router> system-view

[Router] acl number 2000

[Router-acl-basic-2000] rule permit source 1.1.1.1 0

[Router-acl-basic-2000] quit

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

[Router] traffic classifier classifier_1

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

[Router-classifier-classifier_1] quit

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

[Router] traffic behavior behavior_1

[Router-behavior-behavior_1] accounting

[Router-behavior-behavior_1] quit

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

[Router] qos policy policy

[Router-qospolicy-policy] classifier classifier_1 behavior behavior_1

[Router-qospolicy-policy] quit

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

[Router] interface gigabitethernet 1/0/1

[Router-GigabitEthernet1/0/1] qos apply policy policy inbound

[Router-GigabitEthernet1/0/1] quit

# 查看配置后流量统计的情况。

[Router] display qos policy interface gigabitethernet 1/0/1

 

  Interface: GigabitEthernet1/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 QPPB

13.1  QPPB简介

13.1.1  QPPB概述

在部署大型复杂网络时,需要执行大量的复杂流分类,而且无法按照团体属性、ACL、Prefix或AS-Path对报文进行分类。如果网络结构不稳定,需经常变化网络结构时,配置修改的工作量非常大甚至难以实施,可以通过部署QPPB减少配置修改的工作量。

应用QPPB技术可以由BGP路由发送者通过设置BGP属性预先对路由进行分类。这样在网络拓扑结构发生变化时只需要修改路由发送者上的路由策略就可以满足需求。

QPPB技术是一项通过BGP路由策略部署QoS的技术,通过基于BGP路由的团体列表、AS-Paths list和ACL、Prefix list等属性进行路由分类,对不同的分类应用不同的QoS策略。

QPPB技术适用于基于目的地址或源地址进行流分类的应用场合,适用于IBGP和EBGP,可以在同一个自治系统内部或者不同的自治系统之间实现。

13.1.2  QPPB原理

QPPB技术主要通过BGP传播的路由属性设置QoS参数,应用QoS策略,从而实现QoS保障,分为对路由发送者的设置和对路由接收者的设置。

BGP路由发送者在向邻居发送路由时,先匹配路由策略,为发送的不同路由信息设置不同的BGP路由属性。

BGP邻居在接收到路由后,匹配路由策略,QPPB可以根据报文的源IP地址或目的IP地址为接收到的BGP路由设置IP优先级和QoS本地ID。配置QoS策略,根据IP优先级和QoS本地ID对报文进行分类,应用不同的QoS策略,从而实现QoS保证。

13.2  QPPB配置任务简介

QPPB的配置可以分为对路由发送者和对路由接收者的配置。

表13-1 QPPB配置任务简介

配置任务

说明

详细配置

配置发送端

配置发送端的BGP路由

必选

13.2.2  (1)

配置发送端的路由策略

可选

13.2.2  (2)

配置接收端

配置接收端的BGP路由

必选

13.2.3  (1)

配置接收端的路由策略

必选

13.2.3  (2)

使能QPPB

必选

13.2.3  (3)

配置QoS策略

必选

13.2.3  (4)

基于接口应用QoS策略

必选

13.2.3  (5)

 

13.2.2  配置发送端

路由发送端作为BGP路由的发送方,需要根据路由策略设置路由的属性。

(1)     配置BGP基本功能

具体配置请参考“IP路由分册”中的“BGP配置/命令”。

(2)     创建路由策略,根据路由策略对不同的路由信息进行分类,并设置不同路由属性

具体配置请参考“IP路由分册”中的“路由策略配置/命令”。

13.2.3  配置接收端

路由接收端作为BGP路由的接收方,匹配发送方设置的路由属性,设置QPPB相关属性。

(1)     配置BGP基本功能

具体配置请参考“IP路由分册”中的“BGP配置/命令”。

(2)     配置路由策略,匹配发送方设置的路由属性,设置IP优先级或QoS本地ID

具体配置请参考“IP路由分册”中的“路由策略配置/命令”。

(3)     在接口上配置QPPB功能

(4)     配置QoS策略

QoS策略的流分类包含路由策略设置的IP优先级和QoS本地ID。

(5)     基于接口应用QoS策略

1. 配置QPPB功能

表13-2 配置QPPB功能

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置QPPB功能

bgp-policy { destination | source } { ip-prec-map | ip-qos-map } *

必选

本命令只在流量的入方向生效

 

2. 基于接口应用QoS策略

表13-3 基于接口应用QoS策略

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

应用QoS策略到指定的接口

qos apply policy policy-name { inbound | outbound }

必选

 

说明

对于部分线卡,由于系统资源有限,QoS策略可以应用,但无法生效。需要根据系统提示信息调整相关参数,如减小队列数目,再尝试重新使能QoS策略。

 

13.3  典型配置举例

13.3.1  QPPB在IPv4网络中的配置举例

1. 组网需求

图13-1所示,所有路由器均运行BGP协议。Router B接收路由,根据路由策略对报文进行IP优先级和QoS本地ID的设置,并结合QoS策略进行512kbps的限速。

2. 组网图

图13-1 QPPB路由IPv4应用配置举例组网图

 

 

3. 配置步骤

(1)     配置各接口的IP地址(略)

(2)     配置Router A

# 配置BGP连接。

<RouterA> system-view

[RouterA] bgp 1000

[RouterA-bgp] peer 168.1.1.2 as-number 2000

[RouterA-bgp] network 1.1.1.0 255.255.255.0

[RouterA-bgp] quit

(3)     配置Router B

# 配置BGP连接。

<RouterB> system-view

[RouterB] bgp 2000

[RouterB-bgp] peer 168.1.1.1 as-number 1000

[RouterB-bgp] peer 168.1.1.1 route-policy qppb import

[RouterB-bgp] network 2.2.2.0 255.255.255.0

[RouterB-bgp] quit

# 配置路由策略。

[RouterB] route-policy qppb permit node 0

[RouterB-route-policy] apply ip-precedence 1

[RouterB-route-policy] apply qos-local-id 3

[RouterB-route-policy] quit

# 接口使能QPPB能力。

[RouterB] interface serial 2/1/1

[RouterB-Serial2/1/1] bgp-policy source ip-prec-map ip-qos-map

[RouterB-Serial2/1/1] quit

# 配置QoS策略。

[RouterB] traffic classifier qppb

[RouterB-classifier-qppb] if-match ip-precedence 1

[RouterB-classifier-qppb] if-match qos-local-id 3

[RouterB-classifier-qppb] quit

[RouterB] traffic behavior qppb

[RouterB-behavior-qppb] car cir 512 green pass red discard

[RouterB-behavior-qppb] quit

[RouterB] qos policy qppb

[RouterB-qospolicy-qppb] classifier qppb behavior qppb

[RouterB-qospolicy-qppb] quit

# 接口应用QoS策略。

[RouterB] interface serial 2/1/1

[RouterB-Serial2/1/1] qos apply policy qppb inbound

[RouterB-Serial2/1/1] quit

(4)     检验配置结果

# 查看Router B相关路由是否生效。

[RouterB] display ip routing-table 1.1.1.0 24 verbose

Routing Table : Public

Summary Count : 1

 

  Destination: 1.1.1.0/24

     Protocol: BGP             Process ID: 0

   Preference: 255                   Cost: 0

 IpPrecedence: 1                  QosLcId: 3

      NextHop: 168.1.1.1        Interface: Serial 2/1/1

    BkNextHop: 0.0.0.0        BkInterface:

  RelyNextHop: 0.0.0.0          Neighbor : 168.1.1.1

    Tunnel ID: 0x0                  Label: NULL

        State: Active Adv GotQ        Age: 00h00m45s

          Tag: 0

# 查看Router B的接口Serial2/1/1上QoS策略的配置信息和运行情况。

[RouterB] display qos policy interface serial 2/1/1

 

  Interface: Serial2/1/1

 

  Direction: Inbound

 

  Policy: qppb

   Classifier: default-class

     Matched : 0(Packets) 0(Bytes)

     5-minute statistics:

       Forwarded: 0/0 (pps/bps)

       Dropped  : 0/0 (pps/bps)

     Rule(s) : If-match any

     Behavior: be

      -none-

   Classifier: qppb

     Matched : 0(Packets) 0(Bytes)

     5-minute statistics:

       Forwarded: 0/0 (pps/bps)

       Dropped  : 0/0 (pps/bps)

     Operator: AND

     Rule(s) : If-match ip-precedence 1

               If-match qos-local-id 3

     Behavior: qppb

      Committed Access Rate:

        CIR 512 (kbps), CBS 32000 (byte), EBS 0 (byte)

        Green Action: pass

        Red Action: discard

        Green : 0(Packets) 0(Bytes)

        Red   : 0(Packets) 0(Bytes)

13.3.2  QPPB在MPLS L3VPN中的配置举例

1. 组网需求

图13-2所示,所有路由器均运行BGP路由协议。Router C接收路由,进行QPPB QoS本地ID的设置,并结合QoS策略进行双向2Mbps的限速。

2. 组网图

图13-2 QPPB在MPLS L3VPN中的配置举例组网图

 

设备

接口

IP地址

设备

接口

IP地址

Router A

GE1/0/1

192.168.1.2/24

Router B

GE1/0/1

167.1.1.2/24

 

GE1/0/2

167.1.1.1/24

 

S2/1/1

168.1.1.2/24

Router C

GE1/0/1

169.1.1.2/24

Router D

GE1/0/2

169.1.1.1/24

 

S2/1/1

168.1.1.1/24

 

GE1/0/1

192.168.2.2/24

 

3. 配置步骤

(1)     配置各接口的IP地址(略)

(2)     配置Router A

# 配置BGP连接。

<RouterA> system-view

[RouterA] bgp 100

[RouterA-bgp] peer 167.1.1.2 as-number 200

[RouterA-bgp] import-route direct

[RouterA-bgp] quit

(3)     配置Router B

# 配置VPN实例。

<RouterB> system-view

[RouterB] ip vpn-instance vpn1

[RouterB-vpn-instance-vpn1] route-distinguisher 200:1

[RouterB-vpn-instance-vpn1] vpn-target 200:1 export-extcommunity

[RouterB-vpn-instance-vpn1] vpn-target 200:1 import-extcommunity

[RouterB-vpn-instance-vpn1] quit

# 配置BGP连接。

[RouterB] router id 1.1.1.1

[RouterB] bgp 200

[RouterB-bgp] peer 2.2.2.2 as-number 200

[RouterB-bgp] peer 2.2.2.2 connect-interface LoopBack0

[RouterB-bgp] ipv4-family vpn-instance vpn1

[RouterB-bgp-vpn1] peer 167.1.1.2 as-number 100

[RouterB-bgp-vpn1] quit

[RouterB-bgp] ipv4-family vpnv4

[RouterB-bgp-af-vpnv4] peer 2.2.2.2 enable

[RouterB-bgp-af-vpnv4] quit

[RouterB-bgp] quit

# 配置MPLS。

[RouterB] mpls lsr-id 1.1.1.1

[RouterB] mpls

[RouterB-mpls] quit

[RouterB] mpls ldp

[RouterB-mpls-ldp] quit

# 配置OSPF。

[RouterB] ospf

[RouterB-ospf-1] area 0

[RouterB ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0

[RouterB ospf-1-area-0.0.0.0] network 168.1.1.0 0.0.0.255

[RouterB ospf-1-area-0.0.0.0] quit

[RouterB-ospf-1] quit

# 接口GigabitEthernet1/0/1绑定VPN。

[RouterB] interface GigabitEthernet 1/0/1

[RouterB-GigabitEthernet1/0/1] ip binding vpn-instance vpn1

[RouterB-GigabitEthernet1/0/1] ip address 167.1.1.2 24

[RouterB-GigabitEthernet1/0/1] quit

# 接口Serial2/1/1使能MPLS。

[RouterB] interface serial 2/1/1

[RouterB-Serial2/1/1] mpls

[RouterB-Serial2/1/1] mpls ldp

[RouterB-Serial2/1/1] quit

(4)     配置Router C

# 配置VPN实例。

<RouterC> system-view

[RouterC] ip vpn-instance vpn1

[RouterC-vpn-instance-vpn1] route-distinguisher 200:1

[RouterC-vpn-instance-vpn1] vpn-target 200:1 export-extcommunity

[RouterC-vpn-instance-vpn1] vpn-target 200:1 import-extcommunity

[RouterC-vpn-instance-vpn1] quit

# 配置BGP连接。

[RouterC] router id 2.2.2.2

[RouterC] bgp 200

[RouterC-bgp] peer 1.1.1.1 as-number 200

[RouterC-bgp] peer 1.1.1.1 connect-interface LoopBack0

[RouterC-bgp] ipv4-family vpn-instance vpn1

[RouterC-bgp-vpn1] peer 169.1.1.1 as-number 300

[RouterC-bgp-vpn1] peer 169.1.1.1 route-policy qppb import

[RouterC-bgp-vpn1] quit

[RouterC-bgp] ipv4-family vpnv4

[RouterC-bgp-af-vpnv4] peer 1.1.1.1 enable

[RouterC-bgp-af-vpnv4] peer 1.1.1.1 route-policy qppb import

[RouterC-bgp-af-vpnv4] quit

[RouterC-bgp] quit

# 配置路由策略。

[RouterC] route-policy qppb permit node 0

[RouterC-route-policy] apply qos-local-id 1023

[RouterC-route-policy] quit

# 配置MPLS。

[RouterC] mpls lsr-id 2.2.2.2

[RouterC] mpls

[RouterC-mpls] quit

[RouterC] mpls ldp

[RouterC-mpls-ldp] quit

# 配置OSPF。

[RouterC] ospf

[RouterC-ospf-1] area 0

[RouterC ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0

[RouterC ospf-1-area-0.0.0.0] network 168.1.1.0 0.0.0.255

[RouterC ospf-1-area-0.0.0.0] quit

[RouterC-ospf-1] quit

# 配置QoS策略。

[RouterC] traffic classifier qppb

[RouterC-classifier-qppb] if-match qos-local-id 1023

[RouterC-classifier-qppb] quit

[RouterC] traffic behavior qppb

[RouterC-behavior-qppb] car cir 2000 green pass red discard

[RouterC-behavior-qppb] quit

[RouterC] qos policy qppb

[RouterC-qospolicy-qppb] classifier qppb behavior qppb

[RouterC-qospolicy-qppb] quit

# 接口Serial2/1/1使能MPLS。

[RouterC] interface serial 2/1/1

[RouterC-Serial2/1/1] mpls

[RouterC-Serial2/1/1] mpls ldp

# 接口使能QPPB能力。

[RouterC-Serial2/1/1] bgp-policy destination ip-qos-map

[RouterC-Serial2/1/1] quit

[RouterC] interface GigabitEthernet 1/0/1

[RouterC-GigabitEthernet1/0/1] bgp-policy destination ip-qos-map

[RouterC-GigabitEthernet1/0/1] quit

# 接口GigabitEthernet1/0/1绑定VPN。

[RouterC] interface GigabitEthernet 1/0/1

[RouterC-GigabitEthernet1/0/1] ip binding vpn-instance vpn1

[RouterC-GigabitEthernet1/0/1] ip address 169.1.1.2 24

# 接口GigabitEthernet1/0/1应用QoS策略。

[RouterC-GigabitEthernet1/0/1] qos apply policy qppb inbound

[RouterC-GigabitEthernet1/0/1] qos apply policy qppb outbound

(5)     配置Router D

# 配置BGP连接。

<RouterD> system-view

[RouterD] bgp 300

[RouterD-bgp] peer 169.1.1.2 as-number 200

[RouterD-bgp] import direct

[RouterD-bgp] quit

(6)     检验配置结果

# 查看Router A相关路由是否生效。

[RouterA]display ip routing-table

Routing Tables: Public

         Destinations : 7        Routes : 7

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

167.1.1.0/24        Direct 0    0            167.1.1.1       GE1/0/2

167.1.1.1/32        Direct 0    0            127.0.0.1       InLoop0

192.168.1.0/24      Direct 0    0            192.168.1.2     GE1/0/1

192.168.1.2/32      Direct 0    0            127.0.0.1       InLoop0

192.168.2.0/24      BGP    255  0            167.1.1.2       GE1/0/2

# 查看Router B相关路由是否生效。

[RouterB] display ip routing-table

Routing Tables: Public

         Destinations : 6        Routes : 6

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

1.1.1.1/32          Direct 0    0            127.0.0.1       InLoop0

2.2.2.2/32          OSPF   10   1            168.1.1.1       S2/1/1

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

168.1.1.0/24        Direct 0    0            168.1.1.2       S2/1/1

168.1.1.2/32        Direct 0    0            127.0.0.1       InLoop0

[RouterB] display ip routing-table vpn-instance vpn1

Routing Tables: vpn1

         Destinations : 6        Routes : 6

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

167.1.1.0/24        Direct 0    0            167.1.1.2       GE1/0/1

167.1.1.2/32        Direct 0    0            127.0.0.1       InLoop0

192.168.1.0/24      BGP    255  0            167.1.1.1       GE1/0/1

192.168.2.0/24      BGP    255  0            2.2.2.2         NULL0

# 查看Router C相关路由是否生效。

[RouterC] display ip routing-table

Routing Tables: Public

         Destinations : 6        Routes : 6

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

1.1.1.1/32          OSPF   10   1            168.1.1.2       S2/1/1

2.2.2.2/32          Direct 0    0            127.0.0.1       InLoop0

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

168.1.1.0/24        Direct 0    0            168.1.1.1       S2/1/1

168.1.1.1/32        Direct 0    0            127.0.0.1       InLoop0

[RouterC] display ip routing-table vpn-instance vpn1

Routing Tables: vpn1

         Destinations : 6        Routes : 6

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

169.1.1.0/24        Direct 0    0            169.1.1.2       GE1/0/1

169.1.1.2/32        Direct 0    0            127.0.0.1       InLoop0

192.168.1.0/24      BGP    255  0            1.1.1.1         NULL0

192.168.2.0/24      BGP    255  0            169.1.1.1       GE1/0/1

# 查看Router D相关路由是否生效。

[RouterD] display ip routing-table

Routing Tables: Public

         Destinations : 7        Routes : 7

Destination/Mask    Proto  Pre  Cost         NextHop         Interface

127.0.0.0/8         Direct 0    0            127.0.0.1       InLoop0

127.0.0.1/32        Direct 0    0            127.0.0.1       InLoop0

169.1.1.0/24        Direct 0    0            169.1.1.1       GE1/0/2

169.1.1.1/32        Direct 0    0            127.0.0.1       InLoop0

192.168.1.0/24      BGP    255  0            169.1.1.2       GE1/0/2

192.168.2.0/24      Direct 0    0            192.168.2.2     GE1/0/1

192.168.2.2/32      Direct 0    0            127.0.0.1       InLoop0

# 查看Router C的接口GigabitEthernet1/0/1上QoS策略的配置信息和运行情况。

[RouterC] display qos policy interface gigabitethernet 1/0/1

 

  Interface: GigabitEthernet1/0/1

 

  Direction: Inbound

 

  Policy: qppb

   Classifier: default-class

     Matched : 0(Packets) 0(Bytes)

     5-minute statistics:

       Forwarded: 0/0 (pps/bps)

       Dropped  : 0/0 (pps/bps)

     Rule(s) : If-match any

     Behavior: be

      -none-

   Classifier: qppb

     Matched : 0(Packets) 0(Bytes)

     5-minute statistics:

       Forwarded: 0/0 (pps/bps)

       Dropped  : 0/0 (pps/bps)

     Operator: AND

     Rule(s) : If-match qos-local-id 1023

     Behavior: qppb

      Committed Access Rate:

        CIR 2000 (kbps), CBS 125000 (byte), EBS 0 (byte)

        Green Action: pass

        Red Action: discard

        Green : 0(Packets) 0(Bytes)

        Red   : 0(Packets) 0(Bytes)

 

  Direction: Outbound

 

  Policy: qppb

   Classifier: default-class

     Matched : 0(Packets) 0(Bytes)

     5-minute statistics:

       Forwarded: 0/0 (pps/bps)

       Dropped  : 0/0 (pps/bps)

     Rule(s) : If-match any

     Behavior: be

      -none-

   Classifier:

     Matched : 0(Packets) 0(Bytes)

     5-minute statistics:

       Forwarded: 0/0 (pps/bps)

       Dropped  : 0/0 (pps/bps)

     Operator: AND

     Rule(s) : If-match qos-local-id 1023

     Behavior: qppb-l3vpn

      Committed Access Rate:

        CIR 2000 (kbps), CBS 125000 (byte), EBS 0 (byte)

        Green Action: pass

        Red Action: discard

        Green : 0(Packets) 0(Bytes)

        Red   : 0(Packets) 0(Bytes)

13.3.3  QPPB在IPv6网络中的配置举例

1. 组网需求

图13-3所示,所有路由器均运行BGP协议。Router B接收路由,进行QPPB IP优先级设置,并结合QoS策略进行512kbps的限速。

2. 组网图

图13-3 QPPB在IPv6网络中的配置举例组网图

 

 

3. 配置步骤

(1)     使能全局IPv6,并配置各接口的IP地址(略)

(2)     配置Router A

# 配置BGP

<RouterA> system-view

[RouterA] bgp 1000

[RouterA-bgp] ipv6-family

[RouterA-bgp-af-ipv6] peer 168::2 as-number 2000

[RouterA-bgp-af-ipv6] network 1:: 64

[RouterA-bgp-af-ipv6] quit

[RouterA-bgp] quit

(3)     配置Router B

# 配置BGP

<RouterB> system-view

[RouterB] bgp 2000

[RouterB-bgp] ipv6-family

[RouterB-bgp-af-ipv6] peer 168::1 as-number 1000

[RouterB-bgp-af-ipv6] peer 168::1 route-policy qppb import

[RouterB-bgp-af-ipv6] network 2:: 64

[RouterB-bgp-af-ipv6] quit

[RouterB-bgp] quit

# 配置路由策略

[RouterB] route-policy qppb permit node 0

[RouterB-route-policy] apply ip-precedence 4

[RouterB-route-policy] quit

# 接口使能QPPB能力

[RouterB] interface Gigabitethernet 1/0/1

[RouterB-GigabitEthernet1/0/1] bgp-policy destination ip-prec-map

# 配置QoS策略。

[RouterB] traffic classifier qppb

[RouterB-classifier-qppb] if-match ip-precedence 4

[RouterB-classifier-qppb] quit

[RouterB] traffic behavior qppb

[RouterB-behavior-qppb] car cir 512 red discard

[RouterB-behavior-qppb] quit

[RouterB] qos policy qppb

[RouterB-qospolicy-qppb] classifier qppb behavior qppb mode qppb-manipulation

[RouterB-qospolicy-qppb] quit

# 接口应用QoS策略。

[RouterB] interface gigabitethernet 1/0/1

[RouterB-GigabitEthernet1/0/1] qos apply policy qppb inbound

[RouterB-GigabitEthernet1/0/1] quit

(4)     检验配置结果

# 查看Router A相关路由是否生效。

[RouterA] display ipv6 routing-table

Routing Table :

         Destinations : 7        Routes : 7

 

Destination: ::1/128                                     Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 1::/64                                      Protocol  : Direct

NextHop    : 1::1                                        Preference: 0

Interface  : GE1/0/1                                      Cost      : 0

 

Destination: 1::1/128                                    Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 2::/64                                      Protocol  : BGP4+

NextHop    : 168::2                                      Preference: 255

Interface  : S2/1/1                                        Cost      : 0

 

Destination: 168::/64                                    Protocol  : Direct

NextHop    : 168::1                                      Preference: 0

Interface  : S2/1/1                                        Cost      : 0

 

Destination: 168::1/128                                  Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: FE80::/10                                   Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : NULL0                                       Cost      : 0

# 查看Router B相关路由是否生效。

[RouterB] display ipv6 routing-table

Routing Table :

         Destinations : 7        Routes : 7

 

Destination: ::1/128                                     Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 1::/64                                      Protocol  : BGP4+

NextHop    : 168::1                                      Preference: 255

Interface  : S2/1/1                                        Cost      : 0

 

Destination: 2::/64                                      Protocol  : Direct

NextHop    : 2::1                                        Preference: 0

Interface  : GE1/0/1                                      Cost      : 0

 

Destination: 2::1/128                                    Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: 168::/64                                    Protocol  : Direct

NextHop    : 168::2                                      Preference: 0

Interface  : S2/1/1                                        Cost      : 0

 

Destination: 168::2/128                                  Protocol  : Direct

NextHop    : ::1                                         Preference: 0

Interface  : InLoop0                                     Cost      : 0

 

Destination: FE80::/10                                   Protocol  : Direct

NextHop    : ::                                          Preference: 0

Interface  : NULL0                                       Cost      : 0

# 查看Router C的接口GigabitEthernet1/0/1上QoS策略的配置信息和运行情况。

[RouterC] display qos policy interface gigabitethernet 1/0/1

 

  Interface: GigabitEthernet1/0/1

 

  Direction: Inbound

 

  Policy: qppb

   Classifier: default-class

     Matched : 0(Packets) 0(Bytes)

     5-minute statistics:

       Forwarded: 0/0 (pps/bps)

       Dropped  : 0/0 (pps/bps)

     Rule(s) : If-match any

     Behavior: be

      -none-

   Classifier: qppb

     Matched : 0(Packets) 0(Bytes)

     5-minute statistics:

       Forwarded: 0/0 (pps/bps)

       Dropped  : 0/0 (pps/bps)

     Operator: AND

     Rule(s) : If-match ip-precedence 4

     Behavior: qppb

      Committed Access Rate:

        CIR 512 (kbps), CBS 125000 (byte), EBS 0 (byte)

        Green Action: pass

        Red Action: discard

        Green : 0(Packets) 0(Bytes)

        Red   : 0(Packets) 0(Bytes)

 


14 附录

14.1  附录 A 缩略语表

表14-1 附录 A 缩略语表

缩略语

英文全名

中文解释

AF

Assured Forwarding

确保转发

BE

Best Effort

尽力转发

BQ

Bandwidth Queuing

带宽队列

CAR

Committed Access Rate

承诺访问速率

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

超出突发尺寸

EF

Expedited Forwarding

加速转发

FEC

Forwarding Equivalance Class

转发等价类

FIFO

First in First out

先入先出

FQ

Fair Queuing

公平队列

GTS

Generic Traffic Shaping

通用流量整形

IntServ

Integrated Service

综合服务

ISP

Inernet 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

服务提供商网络边缘

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

VPN

Virtual Private Network

虚拟专用网络

WFQ

Weighted Fair Queuing

加权公平队列

WRED

Weighted Random Early Detection

加权随机早期检测

WRR

Weighted Round Robin

加权轮询队列

 

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

说明

dscp-dscp映射表的缺省映射关系为:映射输出值等于输入值。

 

表14-2 dot1p-lp、dot1p-dp缺省映射关系

映射输入索引

dot1p-lp映射

dot1p-dp映射

802.1p优先级(dot1p)

本地优先级(lp)

丢弃优先级(dp)

0

2

0

1

0

0

2

1

0

3

3

0

4

4

0

5

5

0

6

6

0

7

7

0

 

表14-3 dscp-dp、dscp-dot1p缺省映射关系

映射输入索引

dscp-dp映射

dscp-dot1p映射

dscp

丢弃优先级(dp)

802.1p优先级(dot1p)

0~7

0

0

8~15

0

1

16~23

0

2

24~31

0

3

32~39

0

4

40~47

0

5

48~55

0

6

56~63

0

7

 

14.3  附录 C 各种优先级介绍

14.3.1  IP优先级和DSCP优先级

图14-1 ToS和DS域

 

图14-1所示,IPv4报文头的ToS字段有8个bit,其中前3个bit表示的就是IP优先级,取值范围为0~7;IPv6报文头的Traffic Classes字段有8个bit,其中前3个bit表示的就是IP优先级,取值范围为0~7。RFC 2474中,重新定义了IPv4报文头部的ToS域和IPv6报文头部的Traffic Classes域,称之为DS(Differentiated Services,差分服务)域,其中DSCP优先级用该域的前6位(0~5位)表示,取值范围为0~63,后2位(6、7位)是保留位。

表14-4 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-5 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-6 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

 

14.3.3  EXP优先级

EXP优先级位于MPLS标签内,用于标记MPLS QoS。

图14-4 MPLS标签的封装结构

 

图14-4中,Exp字段就是EXP优先级。它由3个bit组成,取值范围为0~7。

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

联系我们 联系我们
联系我们
回到顶部 回到顶部