25-QoS-QoS Profile操作
本章节下载 (692.82 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处理。
优先级重标记功能通过引用ACL进行流识别,为匹配的报文重新指定优先级。
包过滤就是将业务流进行过滤操作。例如丢弃操作,该操作将匹配流分类规则的业务流丢弃,而允许其他所有流量通过。以太网交换机采用了复杂的流分类规则,这样可以针对业务流的各种信息进行过滤,丢弃那些无用的、不可靠、值得怀疑的业务流,从而增强了网络的安全性。
实现包过滤,有两个关键的环节:
第一步:是对进入端口的流量按既定的规则进行流分类;
第二步:对区分出来的流进行过滤——丢弃操作。
在端口上应用ACL可以实现包过滤的功能,具体配置请参见ACL模块中的描述。
端口限速就是基于端口的速率限制,它对端口输出报文的总速率进行限制。
如果不限制用户发送的流量,那么大量用户不断突发的数据只会使网络更拥挤。为了使有限的网络资源能够更好地发挥效用,更好地为更多的用户服务,必须对用户的流量加以限制。比如限制每个时间间隔某个流只能得到承诺分配给它的那部分资源,防止由于过分突发所引发的网络拥塞。
流量监管就是一种通过对流量规格的监督,来限制流量及其资源使用的流控策略。进行流量监管有一个前提条件,就是要知道流量是否超出了规格,然后才能根据评估结果实施调控策略。一般采用令牌桶(Token Bucket)对流量的规格进行评估。
令牌桶可以看作是一个存放令牌的容器,它有一定的容量。系统按设定的速度向桶中放置令牌,当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加。
(1) 用令牌桶评估流量
在用令牌桶评估流量规格时,是以令牌桶中的令牌数量是否足够满足报文的转发为依据的。如果桶中存在足够的令牌可以用来转发报文(通常用一个令牌关联一个比特的转发权限),称流量遵守或符合(conforming)这个规格,否则称为不符合或超标(excess)。
评估流量时令牌桶的参数设置包括:
l 平均速率:向桶中放置令牌的速率,即允许的流的平均速度。通常设置为CIR(Committed Information Rate,承诺信息速率)。
l 突发尺寸:令牌桶的容量,即每次突发所允许的最大的流量尺寸。通常设置为CBS(Committed Burst Size,承诺突发尺寸),设置的突发尺寸必须大于最大报文长度。
每到达一个报文就进行一次评估。每次评估,如果桶中有足够的令牌可供使用,则说明流量控制在允许的范围内,此时要从桶中取走与报文转发权限相当的令牌数量;否则说明已经耗费太多令牌,流量超标了。
(2) 复杂评估
为了评估更复杂的情况,实施更灵活的调控策略,可以设置两个令牌桶。例如TP(Traffic Policing,流量监管)中有四个参数:
l CIR
l CBS
l PIR(Peak Information Rate,突发信息速率)
l EBS(Excess Burst Size,超出突发尺寸)
它使用了两个令牌桶,每个桶投放令牌的速率分别为CIR、PIR,只是尺寸不同——分别为CBS和EBS(这两个桶简称C桶和E桶),代表所允许的不同突发级别。每次评估时,依据“C桶有足够的令牌”、“C桶令牌不足,但E桶足够”以及“C桶和E桶都没有足够的令牌”的情况,可以分别实施不同的流控策略。
流量监管的典型应用是监督进入网络的某一流量的规格,把它限制在一个合理的范围之内,或对超出的部分流量进行“惩罚”,以保护网络资源和运营商的利益。例如可以限制HTTP报文不能占用超过50%的网络带宽。如果发现某个连接的流量超标,流量监管可以选择丢弃报文,或重新设置报文的优先级。
流量监管广泛的用于监管进入因特网服务提供商ISP的网络流量。流量监管还包括对所监管流量的流分类服务,并依据不同的评估结果,实施预先设定好的监管动作。这些动作可以是:
l 转发:比如对评估结果为“符合”的报文继续正常转发的处理,也可以为Diff-Serv提供代为标记DSCP的服务再转发。
l 丢弃:比如对评估结果为“不符合”的报文进行丢弃。
l 改变优先级并转发:比如对评估结果为“部分符合”的报文,将之标记为其它的优先级后再进行转发。
l 进入下一级的监管:流量监管可以逐级堆叠,每级关注和监管更具体的目标。
聚合端口队列调度配置同步特性提供了队列调度配置在端口聚合组的各个端口上的同步功能。
l 支持端口聚合组内端口队列调度配置的同步。
用户在以太网端口视图下修改或者删除队列调度方式时,如果该端口属于某一聚合组,则该聚合组中所有端口的队列调度方式都被修改或删除;如果该端口不属于任何聚合组,则只有该端口的队列调度方式被修改或删除。
l 端口队列调度支持动态聚合。
端口处于UP状态,并且端口LACP特性处于使能状态,队列调度配置信息相同的端口可以聚合在同一个聚合组。
l 端口队列调度支持静态或手工聚合。
用户可以将配置了队列调度的端口加入到某一个指定的静态或手工聚合组,不仅可以在本设备内进行这个操作,而且可以在IRF内进行跨设备操作。
l 支持使用copy命令将端口队列调度的配置进行拷贝。
& 说明:
关于copy命令请参见端口基本配置模块。
用户可以基于自身QoS策略的需要,重新指定报文的转发端口。
当网络拥塞时,必须解决多个报文同时竞争使用资源的问题,通常采用队列调度加以解决。
下面介绍SP(Strict-Priority,严格优先级队列)、WFQ(Weighted Fair Queue,加权公平队列)和WRR(Weighted Round Robin,加权轮询优先级队列)。
(1) SP队列
图1-5 SP队列示意图
SP队列调度算法,是针对关键业务型应用设计的。关键业务有一个重要的特点,即在拥塞发生时要求优先获得服务以减小响应的延迟。以端口有8个输出队列为例,优先队列将端口的8个输出队列分成8类,依次为7、6、5、4、3、2、1、0队列,它们的优先级依次降低。
在队列调度时,SP严格按照优先级从高到低的次序优先发送较高优先级队列中的分组,当较高优先级队列为空时,再发送较低优先级队列中的分组。这样,将关键业务的分组放入较高优先级的队列,将非关键业务(如E-Mail)的分组放入较低优先级的队列,可以保证关键业务的分组被优先传送,非关键业务的分组在处理关键业务数据的空闲间隙被传送。
SP的缺点是:拥塞发生时,如果较高优先级队列中长时间有分组存在,那么低优先级队列中的报文就会由于得不到服务而“饿死”
(2) WFQ队列
在介绍加权公平队列前,先要理解公平队列FQ(Fair Queuing)。FQ是为了公平地分享网络资源,尽可能使所有流的迟延和延迟抖动达到最优而推出的。它照顾了各方面的利益,主要表现在:
l 不同的队列获得公平的调度机会,从总体上均衡各个流的延迟。
l 短报文和长报文获得公平的调度:如果不同队列间同时存在多个长报文和短报文等待发送,应当顾及短报文的利益,让短报文优先获得调度,从而在总体上减少各个流的报文间的延迟抖动。
与FQ相比,WFQ在计算报文调度次序时增加了优先权方面的考虑。从统计上,WFQ使高优先权的报文获得优先调度的机会多于低优先权的报文。WFQ能够按流的“会话”信息(包括协议类型、源和目的TCP或UDP端口号、源和目的IP地址及TOS域中的优先级位等)自动进行流分类,并且尽可能多地提供队列,以将每个流均匀地放入不同队列中,从而在总体上均衡各个流的延迟。在出队的时候,WFQ按流的优先级(precedence或DSCP)来分配每个流应占有出口的带宽。优先级的数值越小,所得的带宽越少。优先级的数值越大,所得的带宽越多。最后,轮询各个队列,按照带宽比例从队列中取出相应数量的报文进行发送。
用户可以用WFQ的队列调度算法为0~7队列中的每个队列指定带宽,然后根据每条流的COS值和队列的映射关系决定哪条流进哪个队列,也决定了哪条流分得多大的带宽。
(3) WRR队列
图1-7 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队列还有一个优点是,虽然多个队列的调度是轮循进行的,但对每个队列不是固定地分配服务时间片——如果某个队列为空,那么马上换到下一个队列调度,这样带宽资源可以得到充分的利用。
基于流的流量统计功能是通过引用ACL进行流识别,对匹配的报文进行流量统计。它可以帮助用户针对感兴趣的报文作统计分析。
表1-4 E352&E328交换机支持的QoS功能及相关命令
QoS |
规格 |
相关命令 |
优先级映射 |
只支持802.1p到本地队列的映射 |
qos cos-local-precedence-map |
端口优先级 |
支持 |
priority priority-level priority trust |
流量监管 |
- |
traffic-limit |
优先级重标记 |
- |
traffic-priority |
重定向 |
- |
traffic-redirect |
队列调度 |
支持SP、WFQ、WRR 支持聚合端口队列调度配置同步 |
queue-scheduler |
流量统计 |
支持 |
traffic-statistic |
设置协议报文的优先级 |
支持 |
protocol-priority |
本地优先级和输出队列之间的映射关系是一一对应的。用户可以改变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
实现优先级重标记的功能有如下方式:
l 利用流量监管实现。在配置流量监管时,对指定流量外的报文定义重新标记报文的DSCP优先级。具体描述请参见1.8.2 流量监管配置过程。
l 通过traffic-priority命令来实现,用户可以重标记报文的IP优先级、802.1p优先级、DSCP优先级和本地队列的优先级。
l 定义了进行流识别的ACL。关于定义ACL的描述请参见本书“ACL”模块的描述
l 确定了对配置规则的报文重新标记的优先级类型和取值
l 确定需要进行本配置的端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
引用ACL进行流识别,为匹配的报文重新指定优先级 |
traffic-priority { inbound | outbound } acl-rule { { dscp dscp-value | ip-precedence { pre-value | from-cos } } | cos { pre-value | from-ipprec } | local-precedence pre-value }* |
必选 |
显示优先级重标记的参数设置 |
display qos-interface { interface-type interface-number | unit-id } traffic-priority |
可选 display命令可以在任意视图下执行 |
显示端口的所有QoS设置信息 |
display qos-interface { interface-type interface-number | unit-id } all |
acl-rule:下发的ACL,可以是多种ACL的组合。组合方式如表1-9。
表1-9 组合下发ACL的方式
组合方式 |
acl-rule的形式 |
单独下发一个IP型ACL中所有规则 |
ip-group acl-number |
单独下发一个IP型ACL中一条规则 |
ip-group acl-number rule rule-id |
单独下发一个Link型ACL中所有规则 |
link-group acl-number |
单独下发一个Link型ACL中一条规则 |
link-group acl-number rule rule-id |
单独下发一个用户自定义ACL中所有规则 |
user-group acl-number |
单独下发一个用户自定义ACL中一条规则 |
user-group acl-number rule rule-id |
同时下发IP型ACL中一条规则和一个Link型ACL的一条规则 |
ip-group acl-number rule rule-id link-group acl-number rule rule-id |
l 交换机的Ethernet1/0/1接入了10.1.1.1/24网段
l 将来自10.1.1.1/24网段的流量的DSCP优先级重新标记为56
配置步骤:
<H3C> system-view
System View: return to User View with Ctrl+Z.
[H3C] acl number 2000
[H3C-acl-basic-2000] rule permit source 10.1.1.1 0.0.0.255
[H3C-acl-basic-2000] quit
[H3C] interface Ethernet1/0/1
[H3C-Ethernet1/0/1] traffic-priority inbound ip-group 2000 dscp 56
协议报文自身携带有报文的优先级。用户可以通过设置协议报文优先级,来改变协议报文的优先级,然后和相应的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
l 定义了进行流识别的ACL。关于定义ACL的描述请参见本书“ACL”模块的描述
l 确定了流量监管限制的速率、对在指定流量内的报文采取的动作、对高于指定流量的报文采取的动作
l 确定需要进行本配置的端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
基于流的流量监管配置 |
traffic-limit inbound acl-rule target-rate [ exceed action ] |
必选 exceed exceed-action:设定报文流量超过设定流量时设备对超过部分的报文采取的动作,有如下动作: l drop:丢弃报文 l remark-dscp dscp-value:重新设置报文的DSCP优先级,同时转发报文 |
显示流量监管的参数设置 |
display qos-interface { interface-type interface-number | unit-id } traffic-limit |
可选 display命令可以在任意视图下执行 |
显示端口的所有QoS设置信息 |
display qos-interface { interface-type interface-number | unit-id } all |
acl-rule:下发的ACL,可以是多种ACL的组合。组合方式参见表1-9。
& 说明:
l 流量监管的粒度为64kbps,如果用户输入的数字在N*64~(N+1)*64之间(N为自然数),交换机自动将该参数取值为(N+1)*64kbs。
l 流量监管配置仅对访问控制列表中动作为permit的规则有效。
l 交换机的Ethernet1/0/1接入了10.1.1.1/24网段
l 对来自10.1.1.1/24网段的流量进行流量监管,流量监管的速率设置为100kbps
l 对于指定流量之外的报文,重新标记报文的DSCP优先级为56后转发
配置步骤:
<H3C> system-view
System View: return to User View with Ctrl+Z.
[H3C] acl number 2000
[H3C-acl-basic-2000] rule permit source 10.1.1.1 0.0.0.255
[H3C-acl-basic-2000] quit
[H3C] interface Ethernet1/0/1
[H3C-Ethernet1/0/1] traffic-limit inbound ip-group 2000 100 exceed remark-dscp 56
l 定义了进行流识别的ACL。关于定义ACL的描述请参见ACL模块
l 确定了对配置规则的报文重定向后的端口
l 确定需要进行本配置的端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
重定向配置 |
traffic-redirect { inbound | outbound } acl-rule { cpu | interface interface-type interface-number } |
必选 |
显示重定向的参数设置 |
display qos-interface { interface-type interface-number | unit-id } traffic-redirect |
可选 display命令可以在任意视图下执行 |
显示端口的所有QoS设置信息 |
display qos-interface { interface-type interface-number | unit-id } all |
acl-rule:下发的ACL,可以是多种ACL的组合。组合方式参见表1-9。
& 说明:
l 重定向配置仅对访问控制列表中动作为permit的规则有效。
l 当报文被重定向到CPU后,将不再正常转发。
l 如果重定向目的端口为处于Down状态的Combo端口,系统会把匹配的报文重定向到与此Combo端口相对应处于Up状态的普通端口。
l 交换机的Ethernet1/0/1接入了10.1.1.1/24网段
l 将所有来自10.1.1.1/24网段的流量都重定向到Ethernet1/0/7
配置步骤:
<H3C> system-view
System View: return to User View with Ctrl+Z.
[H3C] acl number 2000
[H3C-acl-basic-2000] rule permit source 10.1.1.1 0.0.0.255
[H3C-acl-basic-2000] quit
[H3C] interface Ethernet1/0/1
[H3C-Ethernet1/0/1] traffic-redirect inbound ip-group 2000 interface Ethernet1/0/7
确定了队列调度的算法:明确哪些队列采用WRR队列调度算法,哪些队列采用WFQ算法,哪些队列采用SP队列调度算法。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置队列调度模式 |
queue-scheduler { strict-priority | wfq queue0-width queue1-width queue2-width queue3-width queue4-width queue5-width queue6-width queue7-width | wrr queue0-weight queue1-weight queue2-weight queue3-weight queue4-weight queue5-weight queue6-weight queue7-weight } |
必选 在WRR或WFQ方式中,如果某一个或多个队列的权值或最小带宽设为0,则对这个或这些队列实行严格优先级调度算法。 缺省情况下,端口所有输出队列采用WRR队列调度方法,缺省权重为:1:2:3:4:5:9:13:15。 |
显示设备上队列调度模式及相关的参数 |
display queue-scheduler |
可选 display命令可以在任意视图下执行 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置队列调度模式 |
queue-scheduler { wfq queue0-width queue1-width queue2-width queue3-width queue4-width queue5-width queue6-width queue7-width | wrr queue0-weight queue1-weight queue2-weight queue3-weight queue4-weight queue5-weight queue6-weight queue7-weight } |
必选 在WRR或WFQ方式中,如果某一个或多个队列的权值或最小带宽设为0,则对这个或这些队列实行严格优先级调度算法。 缺省情况下,端口所有输出队列采用WRR队列调度方法,缺省权重为:1:2:3:4:5:9:13:15。 |
& 说明:
l 在全局视图下用queue-scheduler命令定义的队列调度算法会在设备的所有端口上生效;在以太网端口视图下用queue-scheduler命令定义的队列调度算法只在当前端口生效。如果全局定义的WRR (或WFQ)队列调度算法中各队列的权值(或带宽值)不能满足某一端口的需求,用户可在此端口视图下修改其队列权值(或带宽值)。在此端口上,新定义的队列权值(或带宽值)会覆盖全局定义的队列权值(或带宽值)。修改后的队列权值(或带宽值)只能在当前端口视图下用display this命令显示。
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
当拥塞发生时,交换机会尽快的丢包释放队列资源,同时尽量不将报文放入高延迟的队列中,以消除拥塞。交换机采用WRED算法进行拥塞避免。
l 确定了进行随机丢弃的队列索引、开始丢弃的队列长度及丢弃概率
l 确定需要进行本配置的端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置WRED参数 |
wred queue-index qstart probability |
必选 缺省情况不启动WRED功能。 |
l 在以太网口Ethernet 1/0/1上对队列2配置WRED参数,当队列长度超过64个报文时进行随机丢弃,丢弃概率为20%
配置步骤:
<H3C> system-view
System View: return to User View with Ctrl+Z.
[H3C] interface Ethernet 1/0/1
[H3C-Ethernet1/0/1] wred 2 64 20
l 定义了进行流识别的ACL。关于定义ACL的描述请参见本书“ACL”模块的描述
l 确定需要进行本配置的端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
引用ACL进行流识别,对匹配的报文进行流量统计 |
traffic-statistic inbound acl-rule |
必选 |
显示流量统计信息 |
display qos-interface { interface-type interface-number | unit-id } traffic-statistic |
可选 display命令可以在任意视图下执行 |
显示端口的所有QoS设置信息 |
display qos-interface { interface-type interface-number | unit-id } all |
acl-rule:下发的ACL,可以是多种ACL的组合。组合方式参见表1-9。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
清除匹配指定规则的流量统计的统计信息 |
reset traffic-statistic inbound acl-rule |
必选 必须配置了流量统计功能,清除功能才能有效 |
acl-rule:下发的ACL,可以是多种ACL的组合。组合方式参见表1-9。
l 交换机的Ethernet1/0/1接入了10.1.1.1/24网段
l 对来自10.1.1.1/24网段的流量进行流量统计
配置步骤:
<H3C> system-view
System View: return to User View with Ctrl+Z.
[H3C] acl number 2000
[H3C-acl-basic-2000] rule permit source 10.1.1.1 0.0.0.255
[H3C-acl-basic-2000] quit
[H3C] interface Ethernet1/0/1
[H3C-Ethernet1/0/1] traffic-statistic inbound ip-group 2000
公司企业网通过以太网交换机的端口实现各部门之间的互连。财务部门的工资查询服务器由Ethernet1/0/1端口接入(IP地址129.110.1.2)。组网需求为限制工资服务器向外发送流量的平均速率不能超过640Kbps,超出规格的报文将报文优先级为4。
图1-8 QoS配置举例
& 说明:
以下的配置,只列出了与QoS/ACL配置相关的命令。
(1) 定义工资服务器向外发送的流量
# 进入3000号的高级访问控制列表视图。
<H3C> system-view
[H3C] acl number 3000
# 定义3000号高级访问控制列表的规则。
[H3C-acl-adv-3000] rule 1 permit ip source 129.110.1.2 0.0.0.0 destination any
[H3C-acl-adv-3000] quit
(2) 对工资服务器对外发送的流量进行流量限制
# 限制工资服务器向外发送报文的平均速率为640kbps,对超出规格的报文设置优先级为4。
[H3C] interface Ethernet1/0/1
[H3C-Ethernet1/0/1] traffic-limit inbound ip-group 3000 640 exceed remark-dscp 4
对PC1(IP地址为1.0.0.1)每天8:00~18:00发出的报文打上ef标记,为上层设备提供优先级依据。
图1-9 QoS配置举例
(1) 定义8:00~18:00时间段
# 定义时间段。
<H3C> system-view
[H3C] time-range test 8:00 to 18:00 daily
(2) 定义PC报文的流规则。
# 进入基于数字标识的基本访问控制列表视图。
[H3C] acl number 2000
[H3C-acl-basic-2000] rule 0 permit source 1.0.0.1 0 time-range test
[H3C-acl-basic-2000] quit
(3) 对PC1发出的报文重新打上ef优先级
[H3C-Ethernet1/0/1] traffic-priority inbound ip-group 2000 dscp ef
QoS Profile功能和802.1x认证功能结合起来,可以动态的为通过认证的一个用户或者一组用户提供预先配置的QoS功能。
用户在经过802.1x认证后,交换机根据AAA服务器上配置的用户名和profile的对应关系,将相应的profile动态的下发到用户登录的端口上。
目前交换机的QoS profile功能可以为用户提供包过滤、流量监管、优先级重标记功能。
在配置了QoS profile功能后,如果用户通过了认证,交换机将与之对应的QoS profile动态下发到用户接入的端口上。不同应用模式交换机的处理过程如下:
l User-based模式:如果QoS profile的流动作采用的流规则中定义了源信息(源MAC、源IP、源MAC+源IP),QoS profile将不能下发成功;如果没有源信息,交换机以原来的规则为模板,加入用户的源MAC信息,生成新的流规则,然后将QoS profile中所有的流动作下发到用户接入的端口。
l Port-based模式:交换机直接将QoS profile中的动作下发到用户接入的端口上。
图2-1 QoS profile配置示意图
QoS profile配置如下:
设备 |
配置 |
配置链接 |
AAA server |
配置用户认证信息 |
- |
配置用户名和QoS profile的对应关系 |
多个用户可以对应同一个QoS profile。 |
|
Switch |
启动802.1x认证功能 |
在本手册的802.1x模块描述相关的配置过程 |
配置QoS profile |
||
手动应用QoS profile到端口上 |
QoS profile的介绍请参见2.1 QoS Profile简介。
l 定义了进行流识别的ACL。关于定义ACL的描述请参见本书“ACL”模块的描述
l 启动全局802.1x认证功能,并在用户接入的端口上启动了802.1x认证功能
l 确定了QoS profile中的动作种类和数量
l 确定了端口上QoS profile的应用模式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入QoS profile视图 |
qos-profile profile-name |
- |
添加流量监管动作 |
traffic-limit inbound acl-rule target-rate [ exceed action ] |
可选 |
添加包过滤动作 |
packet-filter { inbound | outbound } acl-rule |
可选 |
添加优先级重标记动作 |
traffic-priority { inbound | outbound } acl-rule { { dscp dscp-value | ip-precedence { pre-value | from-cos } } | cos { pre-value | from-ipprec } | local-precedence pre-value }* |
可选 |
退出当前视图 |
quit |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置当前端口上QoS profile的应用模式为port based |
qos-profile port-based |
缺省情况下,QoS profile在端口上基于用户模式 l 如果802.1x配置为基于MAC地址认证,必须配置QoS profile的应用模式为基于用户的模式 l 如果802.1x配置为基于端口认证,必须配置QoS profile的应用模式为基于端口的模式 |
显示QoS profile的配置信息 |
display qos-profile { all | name profile-name | interface interface-type interface-number | user user-name } |
可选 display命令可以在任意视图下执行 |
acl-rule:下发的ACL,可以是多种ACL的组合。组合方式参见表1-9。
& 说明:
如果QoS profile已经应用到了端口上,设备将不允许用户删除该QoS profile。
交换机对接入的用户实现QoS profile功能。
用户名为someone,认证密码为hello,从交换机的Ethernet1/0/1端口接入,用户属于test163.net域。对应的QoS profile为example,QoS profile的动作为匹配ACL的数据限制带宽为128k,重新标记DSCP优先级为46。
图2-2 QoS配置举例
(1) AAA服务器上的配置
# 在AAA服务器上配置用户的认证信息、用户名和QoS profile的对应关系,这里不进行详细描述。
(2) Switch上的配置
# 启动802.1x
<H3C> system-view
[H3C] dot1x
[H3C] dot1x interface Ethernet 1/0/1
# 配置RADIUS服务器的IP地址信息。
[H3C] radius scheme radius1
[H3C-radius-radius1] primary authentication 10.11.1.1
[H3C-radius-radius1] primary accounting 10.11.1.2
[H3C-radius-radius1] secondary authentication 10.11.1.2
[H3C-radius-radius1] secondary accounting 10.11.1.1
# 设置交换机与认证和计费RADIUS服务器交互报文时的加密密码。
[H3C-radius-radius1] key authentication name
[H3C-radius-radius1] key accounting money
# 指示交换机从用户名中去除用户域名后再将之传给RADIUS服务器。
[H3C-radius-radius1] user-name-format without-domain
[H3C-radius-radius1] quit
# 创建用户域test163.net,指定radius1为该域用户的RADIUS服务器组。
[H3C] domain test163.net
[H3C-isp-test163.net] radius-scheme radius1
[H3C-isp-test163.net] quit
# 定义ACL
[H3C] acl number 3000
[H3C-acl-adv-3000] rule 1 permit ip destination any
[H3C-acl-adv-3000] quit
# 定义QoS profile功能。
[H3C] qos-profile example
[H3C-qos-profile-example] traffic-limit inbound ip-group 3000 128 exceed drop
[H3C-qos-profile-example] traffic-priority inbound ip-group 3000 dscp 46
用户进行了本配置后,QoS profile中的所有的流动作将被全部应用到当前的端口上。
用户在系统视图下可以将profile的配置手动应用到一个或者多个连续的端口上。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
手动应用QoS profile到端口上 |
apply qos-profile profile-name interface interface-list |
必选 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
手动应用QoS profile到当前端口上 |
apply qos-profile profile-name |
必选 |
在完成上述配置后,在任意视图下执行display命令,可以显示配置后QoS profile的运行情况。用户可以通过查看显示信息,用户可以验证配置的效果。
操作 |
命令 |
说明 |
显示QoS profile的配置信息 |
display qos-profile { all | name profile-name | interface interface-type interface-number | user user-name } |
display命令可以在任意视图下执行 |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!