21-QoS操作
本章节下载 (372.63 KB)
QoS(Quality of Service,服务质量)是各种存在服务供需关系的场合中普遍存在的概念,它评估服务方满足客户服务需求的能力。评估通常不是精确的评分,而是注重分析在什么条件下服务是好的,在什么情况下还存在着不足,以便有针对性地作出改进。
在因特网中,QoS所评估的就是网络投递分组的服务能力。由于网络提供的服务是多样的,因此对QoS的评估可以基于不同方面。通常所说的QoS,是对分组投递过程中为延迟、延迟抖动、丢包率等核心需求提供支持的服务能力的评估。
流即业务流(traffic),指所有通过交换机的报文。
流分类(traffic classification)是指采用一定的规则识别出符合某类特征的报文。
分类规则(classification rule)是用户根据管理需求配置的过滤规则。分类规则可以很简单,比如可根据IP报文头的TOS字段,识别出有不同优先级特征的流量;也可以很复杂,如综合链路层(layer 2)、网络层(layer 3)、传输层(layer 4)信息诸如MAC地址、IP协议、源地址、目的地址、应用程序的端口号等相关信息来对报文进行分类。
一般的分类依据都局限在报文的头部信息中,使用报文的内容作为分类的标准比较少见。
(1) IP优先级、TOS优先级和DSCP优先级
图1-1 DS域和TOS字节
IP header的TOS字段有8个bit,其中:
l 前3个bit表示的就是IP优先级,取值范围为0~7;
l 第3~6这4个bit表示的是TOS优先级,取值范围为0~15;
l RFC2474重新定义了IP报文头部的TOS域,称之为DS域,其中DSCP优先级用该域的前6bit(0-5bit)表示,取值范围为0~63。DSCP的前3bit用作类选择符,4~5bit表示丢弃优先级,第6bit设置为0,以表示该设备是以DS模型设置的服务类别;
l 后2bit(6、7bit)是保留位。
IP报文的优先级可以表示8种不同的服务等级。
IP Precedence(十进制) |
IP Precedence(二进制) |
含义 |
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 |
Diff-Serv网络定义了四类流量:
l 加速转发(Expedited Forwarding,EF)类,这种方式不用考虑其他流量是否分享其链路,适用于低时延、低丢失、低抖动、确保带宽的优先业务(如虚租用线路);
l 确保转发(Assured Forwarding ,AF)类,又分为四个小类(AF1/2/3/4),每个AF小类又分为三个丢弃优先级,可以细分AF业务的等级,AF类的QoS等级低于EF类;
l 兼容IP优先级的类(Class selector,CS),是从IP TOS字段演变而来的,共8类;
l 尽力转发(Best Effort,BE)类,是CS中特殊一类,没有任何保证,AF类超限后可以降级为BE类,现有IP网络流量也都默认为此类。
表1-2 DSCP值说明
关键字 |
DSCP值(十进制) |
DSCP值(二进制) |
ef |
46 |
101110 |
af11 |
10 |
001010 |
af12 |
12 |
001100 |
af13 |
14 |
001110 |
af21 |
18 |
010010 |
af22 |
20 |
010100 |
af23 |
22 |
010110 |
af31 |
26 |
011010 |
af32 |
28 |
011100 |
af33 |
30 |
011110 |
af41 |
34 |
100010 |
af42 |
36 |
100100 |
af43 |
38 |
100110 |
cs1 |
8 |
001000 |
cs2 |
16 |
010000 |
cs3 |
24 |
011000 |
cs4 |
32 |
100000 |
cs5 |
40 |
101000 |
cs6 |
48 |
110000 |
cs7 |
56 |
111000 |
default(be) |
0 |
000000 |
(2) 802.1p优先级
802.1p优先级位于二层报文头部,适用于不需要分析三层报头,而需要在二层环境下保证QoS的场合。
图1-2 带有802.1Q标签头的以太网帧
如上图所示,每一个支持802.1Q协议的主机,在发送数据包时,都在原来的以太网帧头中的源地址后增加了一个4字节的802.1Q标签头。
这4个字节的802.1Q标签头包含了2个字节的标签协议标识(TPID--Tag Protocol Identifier,它的值是8100),和2个字节的标签控制信息(TCI--Tag Control Information),TPID是IEEE定义的新的类型,表明这是一个加了802.1Q标签的报文,图1-3显示了802.1Q标签头的详细内容。
图1-3 802.1Q标签头
在上图中,TCI字节中Priority字段就是802.1p优先级,它由3个bit组成,取值范围为0~7。这3位指明帧的优先级。一共有8种优先级,主要用于当交换机阻塞时,优先发送哪个数据包。
表1-3 802.1p优先级说明
IP Precedence(十进制) |
IP Precedence(二进制) |
含义 |
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 |
之所以称此优先级为802.1p优先级,是因为有关这些优先级的应用是在802.1p规范中被详细定义。
协议报文自身携带有报文的优先级。用户可以通过设置协议报文优先级,来改变协议报文的优先级,然后和相应的QoS动作配合,对协议报文进行相应的QoS处理。
端口限速就是基于端口的速率限制,它对端口输出报文的总速率进行限制。
聚合端口队列调度配置同步特性提供了队列调度配置在端口聚合组的各个端口上的同步功能。
l 支持端口聚合组内端口队列调度配置的同步。
用户在以太网端口视图下修改或者删除队列调度方式时,如果该端口属于某一聚合组,则该聚合组中所有端口的队列调度方式都被修改或删除;如果该端口不属于任何聚合组,则只有该端口的队列调度方式被修改或删除。
l 端口队列调度支持动态聚合。
端口处于UP状态,并且端口LACP特性处于使能状态,队列调度配置信息相同的端口可以聚合在同一个聚合组。
l 端口队列调度支持静态或手工聚合。
用户可以将配置了队列调度的端口加入到某一个指定的静态或手工聚合组,不仅可以在本设备内进行这个操作,而且可以在IRF内进行跨设备操作。
l 支持使用copy命令将端口队列调度的配置进行拷贝。
& 说明:
关于copy命令请参见端口基本配置模块。
当网络拥塞时,必须解决多个报文同时竞争使用资源的问题,通常采用队列调度加以解决。
下面介绍SP(Strict-Priority,严格优先级队列)和WRR(Weighted Round Robin,加权轮询优先级队列)。
(1) SP队列
图1-4 SP队列示意图
SP队列调度算法,是针对关键业务型应用设计的。关键业务有一个重要的特点,即在拥塞发生时要求优先获得服务以减小响应的延迟。以端口有8个输出队列为例,优先队列将端口的8个输出队列分成8类,依次为7、6、5、4、3、2、1、0队列,它们的优先级依次降低。
在队列调度时,SP严格按照优先级从高到低的次序优先发送较高优先级队列中的分组,当较高优先级队列为空时,再发送较低优先级队列中的分组。这样,将关键业务的分组放入较高优先级的队列,将非关键业务(如E-Mail)的分组放入较低优先级的队列,可以保证关键业务的分组被优先传送,非关键业务的分组在处理关键业务数据的空闲间隙被传送。
SP的缺点是:拥塞发生时,如果较高优先级队列中长时间有分组存在,那么低优先级队列中的报文就会由于得不到服务而“饿死”
(2) WRR队列
图1-5 WRR示意图
WRR队列调度算法在队列之间进行轮流调度,保证每个队列都得到一定的服务时间。以端口有8个优先级队列为例,WRR可为每个队列配置一个加权值(依次为w7、w6、w5、w4、w3、w2、w1、w0),加权值表示获取资源的比重。如一个100M的端口,配置它的WRR队列调度算法的加权值为50、50、30、30、10、10、10、10(依次对应w7、w6、w5、w4、w3、w2、w1、w0),这样可以保证最低优先级队列至少获得5Mbit/s带宽,避免了采用SP调度时低优先级队列中的报文可能长时间得不到服务的缺点。WRR队列还有一个优点是,虽然多个队列的调度是轮循进行的,但对每个队列不是固定地分配服务时间片——如果某个队列为空,那么马上换到下一个队列调度,这样带宽资源可以得到充分的利用。
表1-4 交换机支持的QoS功能及相关命令
QoS |
规格 |
相关命令 |
优先级映射 |
只支持802.1p到本地队列的映射 |
qos cos-local-precedence-map |
端口优先级 |
支持 |
priority priority-level priority trust |
队列调度 |
支持SP、WRR 支持聚合端口队列调度配置同步 |
queue-scheduler |
设置协议报文的优先级 |
支持 |
protocol-priority |
端口限速 |
支持 |
line-rate |
本地优先级和输出队列之间的映射关系是一一对应的。用户可以改变802.1p优先级和本地优先级的映射关系,从而改变802.1p优先级和输出队列之间的映射关系。
了解802.1p优先级和本地优先级的映射关系、默认映射表。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置“COS —>Local-precedence”映射表 |
qos cos-local-precedence-map cos0-map-local-prec cos1-map-local-prec cos2-map-local-prec cos3-map-local-prec cos4-map-local-prec cos5-map-local-prec cos6-map-local-prec cos7-map-local-prec |
可选 |
显示映射表 |
display qos cos-local-precedence-map |
可选 display命令可以在任何视图下 |
l 配置802.1p和本地优先级映射为0->2、1->3、2->4、3->1、4->7、5->0、6->5、7->6
l 查看配置结果。
配置步骤:
<H3C> system-view
System View: return to User View with Ctrl+Z.
[H3C] qos cos-local-precedence-map 2 3 4 1 7 0 5 6
[H3C] dis qos cos-local-precedence-map
cos-local-precedence-map:
cos(802.1p) : 0 1 2 3 4 5 6 7
--------------------------------------------------------------------------
local precedence(queue) : 2 3 4 1 7 0 5 6
默认情况下,对于接收的报文,交换机将使用报文接收端口的优先级替换报文的802.1p优先级,然后根据该优先级为报文分配本地优先级。此时用户可以配置端口的优先级。
另外用户也可指定交换机信任报文自身携带的优先级。
l 确定了优先级信任方式
l 确定需要进行配置端口优先级的端口
l 确定了指定端口的优先级取值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
设置端口的优先级 |
priority priority-level |
可选 缺省情况下,端口优先级为0 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
设置交换机信任报文的优先级 |
priority trust |
用户可以通过配置实现交换机信任报文自身携带的优先级,而不使用接收端口的优先级来替换报文的优先级。 |
l 设置信任端口的优先级,并指定Ethernet1/0/1的优先级为7
配置步骤:
<H3C> system-view
System View: return to User View with Ctrl+Z.
[H3C] interface Ethernet1/0/1
[H3C-Ethernet1/0/1] undo priority
[H3C-Ethernet1/0/1] priority 7
l 在交换机的Ethernet1/0/1口上配置信任802.1p报文优先级
配置步骤:
<H3C> system-view
System View: return to User View with Ctrl+Z.
[H3C] interface Ethernet1/0/1
[H3C-Ethernet1/0/1] priority trust
协议报文自身携带有报文的优先级。用户可以通过设置协议报文优先级,来改变协议报文的优先级,然后和相应的QoS动作配合,对协议报文进行相应的QoS处理。
l 确定了需要改变优先级的协议种类
l 确定了改变后的优先级数值
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
设置协议报文优先级 |
protocol-priority protocol-type protocol-type { ip-precedence ip-precedence | dscp dscp-value } |
必选 用户可以改变协议报文的IP或者DSCP优先级 目前只支持改变TELNET、SNMP、ICMP协议报文的优先级 |
显示协议报文的优先级 |
display protocol-priority |
可选 display命令可以在任意视图下执行 |
l 改变ICMP协议报文的IP优先级为3。
l 查看配置结果
配置步骤:
<H3C> system-view
System View: return to User View with Ctrl+Z.
[H3C] protocol-priority protocol-type icmp ip-precedence 3
[H3C] display protocol-priority
Protocol: icmp
IP-Precedence: flash(3)
l 确定了需要限速的端口
l 确定了限速速率
l 确定了限速方向
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
基于端口的速率限制配置 |
line-rate { inbound | outbound } target-rate |
必选 l target-rate:对端口收发报文限制的总速率,单位Kbps,速率限制的粒度为64kbps,如果用户输入的数字在N*64~(N+1)*64之间(N为自然数),交换机自动将该参数取值为(N+1)*64kbs。 l 百兆以太网口取值范围为:64~99968。 l 千兆以太网口取值范围为:64~1000000。 |
l 在交换机的Ethernet1/0/1口的出方向设置流量限速
l 限定速率为1Mbps(1024Kbps)。
配置步骤:
<H3C> system-view
System View: return to User View with Ctrl+Z.
[H3C] interface Ethernet1/0/1
[H3C-Ethernet1/0/1] line-rate outbound 1024
确定了队列调度的算法:明确哪些队列采用WRR队列调度算法、哪些队列采用SP队列调度算法。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置队列调度模式 |
queue-scheduler { strict-priority | wrr queue0-weight queue1-weight queue2-weight queue3-weight queue4-weight queue5-weight queue6-weight queue7-weight } |
必选 在WRR方式中,如果某一个或多个队列的权值设为0,则对这个或这些队列实行严格优先级调度算法。 缺省情况下,端口所有输出队列采用WRR队列调度方法,缺省权重为:1:2:3:4:5:9:13:15。 |
显示设备上队列调度模式及相关的参数 |
display queue-scheduler |
可选 display命令可以在任意视图下执行 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置队列调度模式 |
queue-scheduler wrr queue0-weight queue1-weight queue2-weight queue3-weight queue4-weight queue5-weight queue6-weight queue7-weight |
必选 在WRR方式中,如果某一个或多个队列的权值设为0,则对这个或这些队列实行严格优先级调度算法。 缺省情况下,端口所有输出队列采用WRR队列调度方法,缺省权重为:1:2:3:4:5:9:13:15。 |
& 说明:
l 在全局视图下用queue-scheduler命令定义的队列调度算法会在设备的所有端口上生效;在以太网端口视图下用queue-scheduler命令定义的队列调度算法只在当前端口生效。如果全局定义的WRR队列调度算法中各队列的权值不能满足某一端口的需求,用户可在此端口视图下修改其队列权值。在此端口上,新定义的队列权值会覆盖全局定义的队列权值。在端口视图下定义的队列权值不能用display queue-scheduler命令来显示。
l 如果用户配置了端口聚合组,则在聚合组内一个端口上指定了队列调度算法,此队列调度算法会自动同步到聚合组内其它端口。
l 交换机采用WRR队列调度算法,输出队列的权重分别为2、2、3、3、4、4、5、5;
l 将应用的队列调度模式禁用,缺省情况下,端口所有输出队列采用WRR队列调度方法,缺省权重为:1:2:3:4:5:9:13:15;
l 查看配置信息。
配置步骤:
<H3C> system-view
System View: return to User View with Ctrl+Z.
[H3C] queue-scheduler wrr 2 2 3 3 4 4 5 5
[H3C]display queue-scheduler
Queue scheduling mode: weighted round robin
weight of queue 0: 2
weight of queue 1: 2
weight of queue 2: 3
weight of queue 3: 3
weight of queue 4: 4
weight of queue 5: 4
weight of queue 6: 5
weight of queue 7: 5
[H3C] undo queue-scheduler
[H3C] display queue-scheduler
weight of queue 0: 1
weight of queue 1: 2
weight of queue 2: 3
weight of queue 3: 4
weight of queue 4: 5
weight of queue 5: 9
weight of queue 6: 13
weight of queue 7: 15
完成上述配置后,在任意视图下执行display命令,可以显示配置QoS的运行情况。通过查看显示信息,用户可以验证配置的效果。
表1-12 QoS显示
操作 |
命令 |
说明 |
显示协议报文的优先级 |
display protocol-priority |
display命令可以在任意视图下执行 |
显示“COS—>Local-precedence”映射表 |
display qos cos-local-precedence-map |
|
显示端口的所有QoS设置信息 |
display qos-interface {interface-type interface-number | unit-id } all |
|
显示端口流量限速设置信息 |
display qos-interface { interface-type interface-number | unit-id } line-rate |
|
显示全局配置的队列调度模式及参数 |
display queue-scheduler |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!