19-QoS配置
本章节下载 (529.79 KB)
目 录
QoS(Quality of Service)即服务质量。对于网络业务,服务质量包括传输的带宽、传送的时延、数据的丢包率等。在网络中可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施来提高服务质量。
网络资源总是有限的,只要存在抢夺网络资源的情况,就会出现服务质量的要求。服务质量是相对网络业务而言的,在保证某类业务的服务质量的同时,可能就是在损害其它业务的服务质量。例如,在网络总带宽固定的情况下,如果某类业务占用的带宽越多,那么其他业务能使用的带宽就越少,可能会影响其他业务的使用。因此,网络管理者需要根据各种业务的特点来对网络资源进行合理的规划和分配,从而使网络资源得到高效利用。
下面从QoS服务模型出发,对目前使用最多、最成熟的一些QoS技术逐一进行描述。在特定的环境下合理地使用这些技术,可以有效地提高服务质量。
通常QoS提供以下三种服务模型:
l Best-Effort service(尽力而为服务模型)
l Integrated service(综合服务模型,简称Int-Serv)
l Differentiated service(区分服务模型,简称Diff-Serv)
Best-Effort是一个单一的服务模型,也是最简单的服务模型。对Best-Effort服务模型,网络尽最大的可能性来发送报文。但对时延、可靠性等性能不提供任何保证。
Best-Effort服务模型是网络的缺省服务模型,通过FIFO队列来实现。它适用于绝大多数网络应用,如FTP、E-Mail等。
Int-Serv是一个综合服务模型,它可以满足多种QoS需求。该模型使用资源预留协议(RSVP),RSVP运行在从源端到目的端的每个设备上,可以监视每个流,以防止其消耗资源过多。这种体系能够明确区分并保证每一个业务流的服务质量,为网络提供最细粒度化的服务质量区分。
但是,Inter-Serv模型对设备的要求很高,当网络中的数据流数量很大时,设备的存储和处理能力会遇到很大的压力。Inter-Serv模型可扩展性很差,难以在Internet核心网络实施。
Diff-Serv是一个多服务模型,它可以满足不同的QoS需求。与Int-Serv不同,它不需要通知网络为每个业务预留资源。区分服务实现简单,扩展性较好。
本文提到的技术都是基于Diff-Serv服务模型。
QoS技术包括流分类、流量监管、流量整形、接口限速、拥塞管理、拥塞避免等。下面对常用的技术简单进行一下介绍。
图1-1 常用QoS技术在网络中的位置

如图1-1所示,流分类、流量监管、流量整形、拥塞管理和拥塞避免主要完成如下功能:
l 流分类:采用一定的规则识别符合某类特征的报文,它是对网络业务进行区分服务的前提和基础。
l 流量监管:对进入或流出设备的特定流量进行监管。当流量超出设定值时,可以采取限制或惩罚措施,以保护网络资源不受损害。可以作用在接口入方向和出方向。
l 流量整形:一种主动调整流的输出速率的流量控制措施,用来使流量适配下游设备可供给的网络资源,避免不必要的报文丢弃,通常作用在接口出方向。
l 拥塞管理:就是当拥塞发生时如何制定一个资源的调度策略,以决定报文转发的处理次序,通常作用在接口出方向。
l 拥塞避免:监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报文的策略,通过调整队列长度来解除网络的过载,通常作用在接口出方向。
QoS策略包含了三个要素:类、流行为、策略。用户可以通过QoS策略将指定的类和流行为绑定起来,方便地进行QoS配置。
类的要素包括:类的名称和类的规则。
用户可以通过命令定义一系列的规则来对报文进行分类。
流行为用来定义针对报文所做的QoS动作。
流行为的要素包括:流行为的名称和流行为中定义的动作。
用户可以通过命令在一个流行为中定义多个动作。
策略用来将指定的类和流行为绑定起来,对分类后的报文执行流行为中定义的动作。
策略的要素包括:策略名称、绑定在一起的类和流行为的名称。
用户可以通过命令在一个策略中定义多个类与流行为的绑定关系。
QoS策略的配置步骤如所示:
(1) 定义类,并在类视图中定义一组流分类规则
(2) 定义流行为,并在流行为视图中定义一组QoS动作
(3) 定义策略,在策略视图下为使用的类指定对应的流行为
(4) 应用策略,将QoS策略应用到端口
定义类首先要创建一个类名称,然后在此类视图下配置其匹配规则。
表2-1 定义类
| 操作 | 命令 | 说明 | 
| 进入系统视图 | system-view | - | 
| 定义类并进入类映射视图 | traffic classifier tcl-name [ operator { and | or } ] | 必选 缺省为and,即类视图下各匹配规则之间的关系为逻辑与 l and:报文只有匹配了所有的规则,设备才认为报文属于这个类 l or:报文只要匹配了类中的任何一个规则,设备就认为报文属于这个类 | 
| 定义匹配数据包的规则 | if-match match-criteria | 必选 | 
match-criteria:匹配规则,取值如表2-2所示。
| 取值 | 描述 | 
| acl access-list-number | 定义匹配IPv4 ACL的规则,access-list-number的取值方式为以数字2000~4999表示ACL编号或以name acl-name的形式输入指定ACL的名称 需要注意的是,当类中各规则之间的关系为and时,如果在一个IPv4 ACL中定义了多条规则,在应用策略时,各条规则之间的逻辑关系实际为or | 
| any | 定义匹配所有报文的规则 | 
| customer-dot1p 8021p-list | 定义匹配用户网络802.1p优先级的规则,8021p-list为CoS取值的列表, CoS的取值范围为0~7 | 
| customer-vlan-id vlan-id-list | 定义匹配用户网络VLAN ID的规则,vlan-id-list为VLAN ID的列表,形式可以为vlan-id to vlan-id,也可以输入多个不连续的VLAN ID,用空格隔开,设备最多允许用户同时指定1个VLAN范围或8个VLAN ID;VLAN ID的取值范围为1~4094 | 
| destination-mac mac-address | 定义匹配目的MAC地址的规则 | 
| dscp dscp-list | 定义匹配DSCP的规则,dscp-list为DSCP取值的列表,DSCP的取值范围为0~63 | 
| ip-precedence ip-precedence-list | 定义匹配IP优先级的规则,ip-precedence-list为IP优先级取值的列表,IP优先级的取值范围为0~7 | 
| protocol protocol-name | 定义匹配协议的规则,protocol-name取值为IP | 
| service-vlan-id vlan-id-list | 定义匹配运营商网络VLAN ID的规则,vlan-id-list为VLAN ID的列表,形式可以为vlan-id to vlan-id,也可以输入多个不连续的VLAN ID,用空格隔开,设备最多允许用户同时指定8个VLAN ID;VLAN ID的取值范围为1~4094 | 
| source-mac mac-address | 定义匹配源MAC地址的规则 | 

当流分类中各规则之间的逻辑关系为and时,对于以下匹配条件,用户虽然可以通过重复执行if-match命令来配置多条匹配不同取值的规则,或在一条规则中使用list形式输入多个匹配值,但在应用使用该类的QoS策略时,对应该类的流行为将会无法正常执行:
l customer-dot1p 8021p-list
l customer-vlan-id vlan-id-list
l destination-mac mac-address(不支持list形式)
l dscp dscp-list
l ip-precedence ip-precedence-list
l service-vlan-id vlan-id-list
l source-mac mac-address(不支持list形式)
如果用户需要创建匹配以上某一字段多个取值的规则,需要在创建流分类时指定各规则之间的逻辑关系为or,然后再通过多次执行if-match命令的方式来配置匹配多个值的规则。
定义流行为首先需要创建一个流行为名称,然后在此流行为视图下根据需要配置相应的流行为。每个流行为由一组QoS动作组成。
表2-3 定义流行为
| 操作 | 命令 | 说明 | 
| 进入系统视图 | system-view | - | 
| 定义一个流行为并进入流行为视图 | traffic behavior behavior-name | 必选 | 
| 配置流行为 | 流行为就是对应符合流分类的报文做出相应的QoS动作,例如流量过滤、流量重定向,具体情况请参见本文相关章节 | |
策略定义该类和流行为的对应关系。
每个策略下可以配置多组类和流行为的对应关系,过滤的时候按照配置的顺序进行。
表2-4 在策略中为类指定流行为
| 操作 | 命令 | 说明 | 
| 进入系统视图 | system-view | - | 
| 定义策略并进入策略视图 | qos policy policy-name | 必选 | 
| 在策略中为类指定采用的流行为 | classifier tcl-name behavior behavior-name | 必选 | 
H3C S5120-SI系列交换机的QoS策略可以在端口上进行应用。

QoS策略应用后,用户仍然可以修改QoS策略中的流分类规则、流行为以及流分类规则和流行为的对应关系。
一个策略可以应用于多个端口的入方向。
表2-5 在端口上应用策略
| 操作 | 命令 | 说明 | |
| 进入系统视图 | system-view | - | |
| 进入端口视图或端口组视图 | 进入以太网端口视图 | interface interface-type interface-number | 三者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 | 
| 进入端口组视图 | port-group manual port-group-name | ||
| 在端口上应用关联的策略 | qos apply policy policy-name inbound | 必选 | |
# 把策略test_policy应用到端口GigabitEthernet1/0/1入方向上。
<Sysname> system-view
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] qos apply policy test_policy inbound
在完成上述配置后,在任意视图下执行display命令可以显示QoS策略的运行情况,通过查看显示信息验证配置的效果。
表2-6 QoS策略显示和维护
| 操作 | 命令 | 
| 显示配置的类信息 | display traffic classifier user-defined [ tcl-name ] | 
| 显示配置的流行为信息 | display traffic behavior user-defined [ behavior-name ] | 
| 显示用户定义策略的配置信息 | display qos policy user-defined [ policy-name [ classifier tcl-name ] ] | 
| 显示指定端口或所有端口上策略的配置信息和运行情况 | display qos policy interface [ interface-type interface-number ] [ inbound ] | 

各种优先级的相关介绍请参见8.3 附录 C 各种优先级介绍。
优先级用于标识报文传输的优先程度,可以分为两类:报文携带优先级和设备调度优先级。
报文携带优先级包括:802.1p优先级、DSCP优先级、IP优先级等。这些优先级都是根据公认的标准和协议生成,体现了报文自身的优先等级。
设备调度优先级是指报文在设备内转发时所使用的优先级,只对当前设备自身有效。设备调度优先级包括以下两种:
l 本地优先级:设备为报文分配的一种具有本地意义的优先级,在S5120-SI系列交换机上,8个本地优先级按照表3-1中的方式对应到端口的4个输出队列中,一般情况下,编号大的队列能够获得优先的调度。关于队列调度的介绍,请参见拥塞管理配置。
| 本地优先级 | 对应的队列编号 | 
| 0,1 | 0 | 
| 2,3 | 1 | 
| 4,5 | 2 | 
| 6,7 | 3 | 
l 丢弃优先级:交换机在丢弃报文时参考的优先级,丢弃优先级值大的报文被优先丢弃。
优先级映射就是在报文携带优先级与设备调度优先级之间建立的对应关系,它可以将标准的优先级体系体现到设备实际的转发调度过程中。用户可以根据需要配置优先级映射规则,从而使报文的调度更适合网络的实际情况,达到灵活控制报文传输的效果。
优先级映射功能通过优先级映射表来进行,设备提供了多张优先级映射表,分别对应相应的优先级映射关系:
l dot1p-dot1p:802.1p优先级到802.1p优先级映射表;
l dot1p-dscp:802.1p优先级到DSCP映射表;
l dot1p-lp:802.1p优先级到本地优先级映射表;
l dscp-dot1p:DSCP到802.1p优先级映射表,仅对IP报文生效;
l dscp-dscp:DSCP到DSCP映射表,仅对IP报文生效;
l dscp-lp:DSCP到本地优先级映射表,仅对IP报文生效;
通常情况下,设备可以通过查找缺省优先级映射表(8.2 附录 B 缺省优先级映射表)来为报文分配相应的优先级。如果缺省优先级映射表无法满足用户需求,可以根据实际情况对映射表进行修改。
通常情况下,报文可能会携带有多种优先级,设备在进行优先级映射时,需要首先确定采用哪种优先级作为参考,再通过优先级映射表映射出调度优先级。优先级信任模式就是用来指定设备进行优先级映射时作为参考的报文携带优先级,H3C S5120-SI系列交换机支持以下三种优先级信任模式:
l 信任DSCP优先级:设备将根据报文携带的DSCP优先级查找映射表进行优先级映射。
l 信任802.1p优先级:设备将根据报文携带的802.1p优先级查找映射表进行优先级映射。
l 不信任报文优先级:设备将使用接收报文的端口的端口优先级作为报文的802.1p优先级,并通过映射表进行优先级映射。
对于接收到的以太网报文,交换机根据优先级信任模式和报文的802.1q标签状态,将采用不同的方式为其标记调度优先级。如图3-1所示:

修改优先级映射关系的方式有三种:配置优先级映射表、配置优先级信任模式和配置端口优先级。
建议进行各项配置之前先整体规划网络QoS。
表3-2 优先级映射配置任务简介
| 配置任务 | 说明 | 详细配置 | 
| 配置优先级映射表 | 可选 | |
| 配置优先级信任模式 | 可选 | |
| 配置端口优先级 | 可选 | 
表3-3 优先级映射表配置过程
| 命令 | 说明 | |
| 进入系统视图 | system-view | - | 
| 进入指定的优先级映射表视图 | qos map-table { dot1p-dot1p | dot1p-dscp | dot1p-lp | dscp-dot1p | dscp-dscp | dscp-lp } | 必选 用户根据需要进入相应的优先级映射表视图 | 
| 配置指定优先级映射表参数,定义优先级映射关系 | import import-value-list export export-value | 必选 新配置的映射项将覆盖原有映射项 | 
在配置端口/端口组上的优先级模式时,用户可以选择下列信任模式:
l dot1p:信任报文自带的802.1p优先级,以此优先级进行优先级映射。
l dscp:信任IP报文自带的DSCP优先级,以此优先级进行优先级映射。
l untrust:不信任报文携带的优先级。
| 操作 | 命令 | 说明 | ||
| 进入系统视图 | system-view | - | ||
| 进入端口视图或端口组视图 | 进入以太网端口视图 | interface interface-type interface-number | 二者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 | |
| 进入端口组视图 | port-group manual port-group-name | |||
| 配置端口优先级信任模式 | 信任报文携带的802.1p优先级或DSCP优先级 | qos trust { dot1p | dscp } | 选择任意一种新人模式 缺省情况下,端口优先级的信任模式为信任端口优先级 | |
| 信任端口优先级 | undo qos trust | |||
表3-5 端口优先级配置过程
| 操作 | 命令 | 说明 | |
| 进入系统视图 | system-view | - | |
| 进入端口视图或端口组视图 | 进入以太网端口视图 | interface interface-type interface-number | 二者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 | 
| 进入端口组视图 | port-group manual port-group-name | ||
| 配置端口优先级 | qos priority priority-value | 必选 端口优先级的缺省值为0 | |
在完成上述配置后,在任意视图下执行display命令可以显示配置后优先级映射的运行情况,通过查看显示信息验证配置的效果。
表3-6 优先级映射显示和维护
| 操作 | 命令 | 
| 显示指定优先级映射表配置情况 | display qos map-table [ dot1p-dot1p | dot1p-dscp | dot1p-lp | dscp-dot1p | dscp-dscp | dscp-lp ] | 
| 显示端口优先级信任模式信息 | display qos trust interface [ interface-type interface-number ] | 
公司企业网通过Device实现各部门之间的互连。网络环境描述如下:
l 市场部门通过端口GigabitEthernet1/0/1接入Device,标记市场部门发出的报文的802.1p优先级为3;
l 研发部门通过端口GigabitEthernet1/0/2接入Device,标记研发部门发出的报文的802.1p优先级为4;
l 管理部门通过端口GigabitEthernet1/0/3接入Device,标记管理部门发出的报文的802.1p优先级为5。
实现如下需求:
访问公共服务器的时候,研发部门 > 管理部门 > 市场部门。
l 通过优先级映射将研发部门发出的报文映射到本地优先级6,放入出队列3中优先进行处理;
l 通过优先级映射将管理部门发出的报文映射到本地优先级4,放入出队列2中次优先进行处理;
l 通过优先级映射将市场部门发出的报文映射到本地优先级2,放入出队列1中最后进行处理。
图3-2 优先级映射表和重标记配置举例组网图
 
(1) 配置端口的端口优先级
# 配置端口GigabitEthernet1/0/1的端口优先级为3。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] qos priority 3
[Device-GigabitEthernet1/0/1] quit
# 配置端口GigabitEthernet1/0/2的端口优先级为4。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] qos priority 4
[Device-GigabitEthernet1/0/2] quit
# 配置端口GigabitEthernet1/0/3的端口优先级为5。
[Device] interface gigabitethernet 1/0/3
[Device-GigabitEthernet1/0/3] qos priority 5
[Device-GigabitEthernet1/0/3] quit
(2) 配置优先级映射表
# 配置802.1p优先级到本地优先级映射表,将802.1p优先级3、4、5对应的本地优先级配置为2、6、4。
[Device] qos map-table dot1p-lp
[Device-maptbl-dot1p-lp] import 3 export 2
[Device-maptbl-dot1p-lp] import 4 export 6
[Device-maptbl-dot1p-lp] import 5 export 4
[Device-maptbl-dot1p-lp] quit
利用LR(Line Rate,物理端口限速)可以在一个物理端口上限制发送报文(包括紧急报文)的总速率。
LR采用令牌桶进行流量控制。如果在设备的某个端口上配置了LR,所有经由该端口发送的报文首先要经过LR的令牌桶进行处理。如果令牌桶中有足够的令牌,则报文可以发送;否则,报文将进入QoS队列进行拥塞管理。这样,就可以对通过该物理端口的报文流量进行控制。
图4-1 LR处理过程示意图

由于采用了令牌桶控制流量,当令牌桶中存有令牌时,可以允许报文的突发性传输;当令牌桶中没有令牌时,报文必须等到桶中生成了新的令牌后才可以继续发送。这就限制了报文的流量不能大于令牌生成的速度,达到了限制流量,同时允许突发流量通过的目的。
配置物理端口限速就是限制物理端口向外发送数据或者接收数据的速率。
表4-1 端口限速配置过程
| 操作 | 命令 | 说明 | |
| 进入系统视图 | system-view | - | |
| 进入端口视图或端口组视图 | 进入以太网端口视图 | interface interface-type interface-number | 二者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 | 
| 进入端口组视图 | port-group manual port-group-name | ||
| 设置端口限速 | qos lr { inbound | outbound } cir committed-information-rate | 必选 | |
| 显示端口的LR配置和统计信息 | display qos lr interface [ interface-type interface-number ] | display命令可以在任意视图下执行 | |
把端口GigabitEthernet1/0/1的出速度限制为1280kbps。
# 进入系统视图。
<Sysname> system-view
# 进入端口视图。
[Sysname] interface gigabitethernet 1/0/1
# 配置限速参数,端口出速率限制为1280kbps。
[Sysname-GigabitEthernet1/0/1] qos lr outbound cir 1280
所谓拥塞,是指当前供给资源相对于正常转发处理需要资源的不足,从而导致服务质量下降的一种现象。
在复杂的Internet分组交换环境下,拥塞极为常见。以下图中的两种情况为例:
图5-1 流量拥塞示意图

拥塞有可能会引发一系列的负面影响:
l 拥塞增加了报文传输的延迟和抖动,可能会引起报文重传,从而导致更多的拥塞产生。
l 拥塞使网络的有效吞吐率降低,造成网络资源的利用率降低。
l 拥塞加剧会耗费大量的网络资源(特别是存储资源),不合理的资源分配甚至可能导致系统陷入资源死锁而崩溃。
在分组交换以及多用户业务并存的复杂环境下,拥塞又是不可避免的,因此必须采用适当的方法来解决拥塞。
拥塞管理的中心内容就是当拥塞发生时如何制定一个资源的调度策略,以决定报文转发的处理次序。拥塞管理的处理包括队列的创建、报文的分类、将报文送入不同的队列、队列调度等。
对于拥塞管理,一般采用队列技术,使用一个队列算法对流量进行分类,之后用某种优先级别算法将这些流量发送出去。每种队列算法都是用以解决特定的网络流量问题,并对带宽资源的分配、延迟、抖动等有着十分重要的影响。
队列调度对不同优先级的报文进行分级处理,优先级高的会得到优先发送。这里介绍三种常用的队列:严格优先级SP(Strict-Priority)队列、加权轮询WRR(Weighted Round Robin)队列和SP+WRR队列。
图5-2 SP队列示意图

SP队列是针对关键业务类型应用设计的。关键业务有一个重要的特点,即在拥塞发生时要求优先获得服务以减小响应的延迟。以图5-2为例,优先队列将端口的8个输出队列分成8类,依次为7、6、5、4、3、2、1、0队列,它们的优先级依次降低。
在队列调度时,SP严格按照优先级从高到低的次序优先发送较高优先级队列中的分组,当较高优先级队列为空时,再发送较低优先级队列中的分组。这样,将关键业务的分组放入较高优先级的队列,将非关键业务的分组放入较低优先级的队列,可以保证关键业务的分组被优先传送,非关键业务的分组在处理关键业务数据的空闲间隙被传送。
SP的缺点是:拥塞发生时,如果较高优先级队列中长时间有分组存在,那么低优先级队列中的报文将一直得不到服务。
图5-3 WRR队列示意图

WRR队列在队列之间进行轮流调度,保证每个队列都得到一定的服务时间。以端口有4个输出队列为例,WRR可为每个队列配置一个加权值(依次为w3、w2、w1、w0),加权值表示获取资源的比重。如一个100Mbps的端口,配置它的WRR队列的加权值为50、25、25、25(依次对应w3、w2、w1、w0),这样可以保证最低优先级队列至少获得20Mbps的带宽,避免了采用SP调度时低优先级队列中的报文可能长时间得不到服务的缺点。
WRR队列还有一个优点是,虽然多个队列的调度是轮询进行的,但对每个队列不是固定地分配服务时间片——如果某个队列为空,那么马上换到下一个队列调度,这样带宽资源可以得到充分的利用。
H3C S5120-SI系列交换机支持的WRR队列为分组WRR队列,用户可以根据需要将输出队列划分为WRR队列组1和WRR队列组2。进行队列调度时,两个调度组先按照队列权重配置对各自组内的队列进行调度,两组调度的结果之间再按照SP队列算法进行调度。
例如,将队列0和1加入WRR队列组1,权重分别为1和2;将队列2和3加入WRR队列组2,权重分别为1和3,调度过程如图5-4所示:
图5-4 两个WRR组实现队列调度示意图

用户可以根据需要配置端口上的部分队列使用SP队列调度,部分队列使用WRR队列调度,通过将端口上的队列分别加入SP调度组和WRR调度组(WRR有两个调度组:group 1和group 2),实现SP+WRR的调度功能。在队列调度时,两个WRR调度组先按照队列权重的配置对各自组内的队列进行调度,完成后,两组调度结果再与SP组之间使用SP算法进行队列调度。
例如,将队列0和1加入WRR队列组1,权重分别为1和2;将队列3加入WRR队列组2,权重为1;将队列2加入SP队列组,调度过程如图5-5所示:
图5-5 SP+WRR队列调度示意图

表5-1 拥塞管理配置任务简介
| 配置任务 | 说明 | 详细配置 | 
| 配置SP队列 | 可选 | |
| 配置WRR队列 | 可选 | |
| 配置SP+WRR队列 | 可选 | 
表5-2 SP队列配置过程
| 操作 | 命令 | 说明 | |
| 进入系统视图 | system-view | - | |
| 进入端口视图或端口组视图 | 进入以太网端口视图 | interface interface-type interface-number | 二者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 | 
| 进入端口组视图 | port-group manual port-group-name | ||
| 配置SP队列 | undo qos wrr | 可选 缺省情况下,端口使用SP队列进行调度 | |
(1) 组网需求
配置GigabitEthernet1/0/1采用SP队列。
(2) 配置步骤
# 进入系统视图
<Sysname> system-view
# 配置GigabitEthernet1/0/1的SP队列。
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] undo qos wrr
表5-3 WRR队列配置过程
| 操作 | 命令 | 说明 | |
| 进入系统视图 | system-view | - | |
| 进入端口视图或端口组视图 | 进入以太网端口视图 | interface interface-type interface-number | 二者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 | 
| 进入端口组视图 | port-group manual port-group-name | ||
| 配置WRR队列 | qos wrr queue-id group group-id weight schedule-value | 必选 缺省情况下,端口使用SP队列进行调度 | |
| 显示WRR队列的配置 | display qos wrr interface [ interface-type interface-number ] | 可选 display命令可以在任意视图下执行 | |

为保证WRR队列能够按用户配置的权重按比例进行调度,在使用WRR分组调度时,建议在各个WRR组中加入编号连续的队列。
(1) 组网需求
l 配置端口GigabitEthernet 1/0/1上的队列为WRR队列
l 配置队列0、1属于为WRR分组1,权重分别为10、20
l 配置队列2、3属于为WRR分组2,权重分别为30、50
(2) 配置步骤
# 进入系统视图。
<Sysname> system-view
# 配置GigabitEthernet1/0/1的WRR队列。
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] qos wrr 0 group 1 weight 10
[Sysname-GigabitEthernet1/0/1] qos wrr 1 group 1 weight 20
[Sysname-GigabitEthernet1/0/1] qos wrr 2 group 2 weight 30
[Sysname-GigabitEthernet1/0/1] qos wrr 3 group 2 weight 50
表5-4 SP+WRR队列配置过程
| 操作 | 命令 | 说明 | |
| 进入系统视图 | system-view | - | |
| 进入端口视图或端口组视图 | 进入以太网端口视图 | interface interface-type interface-number | 二者必选其一 进入端口视图后,下面进行的配置只在当前端口生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口生效 | 
| 进入端口组视图 | port-group manual port-group-name | ||
| 配置SP队列 | qos wrr queue-id group sp | 必选 | |
| 配置WRR队列 | qos wrr queue-id group group-id weight schedule-value | 必选 | |

为保证WRR队列能够按用户配置的权重按比例进行调度,在使用SP+WRR调度方式时,建议在WRR组中加入编号连续的队列。
(1) 组网需求
l 配置端口GigabitEthernet 1/0/1使用SP+WRR队列调度算法
l 配置端口GigabitEthernet 1/0/1上的0队列属于SP调度组
l 配置端口GigabitEthernet 1/0/1上的1队列属于WRR调度组1,权重为20
l 配置端口GigabitEthernet 1/0/1上的2、3队列属于WRR调度组2,权重分别为10、50
(2) 配置步骤
# 进入系统视图。
<Sysname> system-view
# 配置GigabitEthernet1/0/1的SP+WRR队列。
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] qos wrr 0 group sp
[Sysname-GigabitEthernet1/0/1] qos wrr 1 group 1 weight 20
[Sysname-GigabitEthernet1/0/1] qos wrr 2 group 2 weight 10
[Sysname-GigabitEthernet1/0/1] qos wrr 3 group 2 weight 50
流量过滤就是将符合流分类的流配置流量过滤动作。
例如,可以根据网络的实际情况禁止从某个源IP地址或某个MAC地址发送的报文通过,也可以通过ACL时间段来实现定期执行的流量过滤动作。

用户也可以选择通过在端口应用ACL的方式来实现流量过滤功能,详细的介绍和配置请参见“ACL配置”。
表6-1 配置流量过滤
| 操作 | 命令 | 说明 | 
| 进入系统视图 | system-view | - | 
| 定义类并进入类视图 | traffic classifier tcl-name [ operator { and | or } ] | - | 
| 定义匹配数据包的规则 | if-match match-criteria | - | 
| 退出类视图 | quit | - | 
| 定义一个流行为并进入流行为视图 | traffic behavior behavior-name | - | 
| 配置流量过滤动作 | filter { deny | permit } | 必选 deny表示丢弃数据包;permit表示允许数据包通过 | 
| 退出流行为视图 | quit | - | 
| 定义策略并进入策略视图 | qos policy policy-name | - | 
| 在策略中为类指定采用的流行为 | classifier tcl-name behavior behavior-name | - | 
| 退出策略视图 | quit | - | 
| 基于端口应用QoS策略 | 请参见2.3.1 基于端口应用QoS策略 | - | 
| 显示流量过滤的相关配置信息 | display traffic behavior user-defined [ behavior-name ] | 可选 display命令可以在任意视图下执行 | 

如果在流行为中同时配置了filter deny命令和重定向动作,则引用该流行为的策略不能成功下发。
Host通过端口GigabitEthernet1/0/1接入设备Device。
配置流量过滤功能,对端口GigabitEthernet1/0/1接收的源端口号等于21的TCP报文进行丢弃。
图6-1 配置流量过滤组网图
 
# 定义高级ACL 3000,匹配源端口号等于21的数据流。
<DeviceA> system-view
[DeviceA] acl number 3000
[DeviceA-acl-basic-3000] rule 0 permit tcp source-port eq 21
[DeviceA-acl-basic-3000] quit
# 定义类classifier_1,匹配高级ACL 3000。
[DeviceA] traffic classifier classifier_1
[DeviceA-classifier-classifier_1] if-match acl 3000
[DeviceA-classifier-classifier_1] quit
# 定义流行为behavior_1,动作为流量过滤(deny),表示对数据包进行丢弃。
[DeviceA] traffic behavior behavior_1
[DeviceA-behavior-behavior_1] filter deny
[DeviceA-behavior-behavior_1] quit
# 定义策略policy,为类classifier_1指定流行为behavior_1。
[DeviceA] qos policy policy
[DeviceA-qospolicy-policy] classifier classifier_1 behavior behavior_1
[DeviceA-qospolicy-policy] quit
# 将策略policy应用到端口GigabitEthernet1/0/1的入方向上。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] qos apply policy policy inbound
流量重定向就是将符合流分类的流重定向到其他地方进行处理。
H3C S5120-SI系列交换机支持将流量重定向到指定端口,当收到需要由某个端口处理的报文时,可以通过此配置将报文重定向到此端口。流量重定向只针对二层转发报文。
表7-1 配置流量重定向
| 操作 | 命令 | 说明 | 
| 进入系统视图 | system-view | - | 
| 定义类并进入类视图 | traffic classifier tcl-name [ operator { and | or } ] | - | 
| 定义匹配数据包的规则 | if-match match-criteria | - | 
| 退出类视图 | quit | - | 
| 定义一个流行为并进入流行为视图 | traffic behavior behavior-name | 必选 | 
| 配置流量重定向动作 | redirect interface interface-type interface-number | 用户可根据需要选择重定向的方向 | 
| 退出流行为视图 | quit | - | 
| 定义策略并进入策略视图 | qos policy policy-name | - | 
| 在策略中为类指定采用的流行为 | classifier tcl-name behavior behavior-name | - | 
| 退出策略视图 | quit | - | 
| 基于端口应用QoS策略 | 请参见2.3.1 基于端口应用QoS策略 | - | 
| 显示流量重定向的相关配置信息 | display traffic behavior user-defined [ behavior-name ] | 可选 display命令可以在任意视图下执行 | 
表8-1 附录 A 缩略语表
| 缩略语 | 英文全名 | 中文解释 | 
| AF | Assured Forwarding | 确保转发 | 
| BE | Best Effort | 尽力转发 | 
| CAR | Committed Access Rate | 约定访问速率 | 
| CBQ | Class Based Queuing | 基于类的队列 | 
| CBS | Committed Burst Size | 承诺突发尺寸 | 
| CBWFQ | Class Based Weighted Fair Queuing | 基于类的加权公平队列 | 
| CE | Customer Edge | 用户边缘设备 | 
| CIR | Committed Information Rate | 承诺信息速率 | 
| CQ | Custom Queuing | 定制队列 | 
| DAR | Deeper Application Recognition | 深度应用识别 | 
| DiffServ | Differentiated Service | 区分服务 | 
| DSCP | Differentiated Services Codepoint | 区分服务编码点 | 
| EACL | Enhanced ACL | 增强型ACL | 
| EBS | Excess Burst Size | 超出突发尺寸 | 
| EF | Expedited Forwarding | 加速转发 | 
| FEC | Forwarding Equivalance Class | 转发等价类 | 
| FIFO | First in First out | 先进先出 | 
| GTS | Generic Traffic Shaping | 通用流量整形 | 
| IntServ | Integrated Service | 综合服务 | 
| ISP | Inernet Service Provider | Internet服务提供商 | 
| LFI | Link Fragmentation & Interleaving | 链路分片与交叉 | 
| LLQ | Low Latency Queuing | 低时延队列 | 
| LR | Line Rate | 物理接口总速率限制 | 
| LSP | Label Switched Path | 标签交换路径 | 
| MPLS | Multiprotocol Label Switching | 多协议标签交换 | 
| PE | Provider Edge | 服务商边缘路由器 | 
| PHB | Per-hop Behavior | 单中继段行为,指IP转发中每一跳的转发行为 | 
| 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 Protocol | 实时协议 | 
| SLA | Service Level Agreement | 服务水平协议。是服务使用者和服务提供者之间签订的服务水平协议。服务提供者按此协议向服务使用者提供服务 | 
| 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 | 加权随机早期检测 | 

dot1p-dot1p、dscp-dscp映射表的缺省映射关系为:映射输出值等于输入值。
表8-2 dot1p-lp、dot1p-dscp缺省映射关系
| 映射输入索引 | dot1p-lp映射 | dot1p-dscp映射 | 
| 802.1p优先级(dot1p) | 本地优先级(lp) | dscp | 
| 0 | 2 | 0 | 
| 1 | 0 | 8 | 
| 2 | 1 | 16 | 
| 3 | 3 | 24 | 
| 4 | 4 | 32 | 
| 5 | 5 | 40 | 
| 6 | 6 | 48 | 
| 7 | 7 | 56 | 
表8-3 dscp-lp、dscp-dot1p缺省映射关系
| 映射输入索引 | dscp-lp映射 | dscp-dot1p映射 | 
| dscp | 本地优先级(lp) | 802.1p优先级(dot1p) | 
| 0~7 | 0 | 0 | 
| 8~15 | 1 | 1 | 
| 16~23 | 2 | 2 | 
| 24~31 | 3 | 3 | 
| 32~39 | 4 | 4 | 
| 40~47 | 5 | 5 | 
| 48~55 | 6 | 6 | 
| 56~63 | 7 | 7 | 
图8-1 ToS和DS域

如图8-1所示,IP报文头的ToS字段有8个bit,其中前3个bit表示的就是IP优先级,取值范围为0~7。RFC 2474中,重新定义了IP报文头部的ToS域,称之为DS(Differentiated Services,差分服务)域,其中DSCP优先级用该域的前6位(0~5位)表示,取值范围为0~63,后2位(6、7位)是保留位。
表8-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 | 
表8-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) | 
802.1p优先级位于二层报文头部,适用于不需要分析三层报头,而需要在二层环境下保证QoS的场合。
图8-2 带有802.1Q标签头的以太网帧

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

表8-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 | 
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!
