08-QoS
本章节下载: 08-QoS (432.04 KB)
目 录
WEB界面上所有灰化的选项均不支持配置,本文中不再对此类选项进行解释。
QoS(Quality of Service,服务质量)用于评估服务方满足客户服务需求的能力。在Internet中,QoS所评估的就是网络转发分组的服务能力。
由于网络提供的服务是多样的,因此QoS的评估可以基于不同方面。通常所说的QoS,是对分组转发过程中带宽、延迟、抖动、丢包率等指标进行评估。
在传统的无QoS保障的IP网络中,设备无区别地对待所有的报文,设备处理报文采用的策略是FIFO(First In First Out,先入先出),它依照报文到达时间的先后顺序分配转发所需要的资源。所有报文共享网络和设备的资源,至于得到资源的多少完全取决于报文到达的时间。这种服务策略称作Best-Effort,它尽最大的努力将报文送到目的地,但对分组转发的延迟、抖动、丢包率等需求不提供任何承诺和保证。
传统的Best-Effort服务策略只适用于对带宽、延迟不敏感的WWW、E-Mail等业务。
随着计算机网络的高速发展,越来越多的网络接入Internet。无论从规模、覆盖范围还是用户数量上来看,Internet都扩展得非常快。
除了传统的WWW、E-Mail应用外,用户还尝试在Internet上拓展新业务,比如远程教学、远程医疗、可视电话、电视会议、视频点播等。企业用户也希望通过VPN技术,将分布在各地的分支机构连接起来,开展一些事务性应用:比如访问公司的数据库或通过Telnet管理远程设备。
这些新业务有一个共同特点,即对带宽、延迟、抖动等传输性能有着特殊的需求。比如电视会议、视频点播需要高带宽、低延迟和低抖动的保证。事务处理、Telnet等关键任务虽然不一定要求高带宽,但非常注重低延迟,在拥塞发生时要求优先获得处理。
新业务的不断涌现对IP网络的服务能力提出了更高的要求,用户已不再满足于能够简单地将报文送达目的地,还希望在转发过程中得到更好的服务,诸如为用户提供专用带宽、减少报文的丢失率、管理和避免网络拥塞、调控网络的流量。所有这些都要求网络具备更为完善的服务能力。
传统网络所面临的服务质量问题,主要是由网络拥塞引起的。所谓拥塞,是指由于供给资源的相对不足而造成转发速率下降、引入额外延迟,从而导致服务质量下降的一种现象。
在复杂的Internet分组交换环境下,拥塞极为常见。以下图中的两种情况为例:
图1-1 流量拥塞示意图
(2) 分组流从多个接口同时进入网络设备,由一个接口转发出去(多个接口的速率和大于出接口的速率)。
如果流量以线速到达,那么就会遭遇资源的瓶颈而导致拥塞。
不仅仅是链路带宽的瓶颈会导致拥塞,任何用于正常转发处理的资源的不足(如可分配的处理器时间、缓冲区、内存资源的不足)都会造成拥塞。此外,在某个时间内对所到达的流量控制不力,使之超出了可分配的网络资源,也是引发网络拥塞的一个因素。
拥塞有可能会引发一系列的负面影响:
· 拥塞增加了报文传输的延迟和抖动,过高的延迟会引起报文重传。
· 拥塞使网络的有效吞吐率降低,造成网络资源的利用率降低。
· 拥塞加剧会耗费大量的网络资源(特别是存储资源),不合理的资源分配甚至可能导致系统陷入资源死锁而崩溃。
可见,拥塞使流量不能及时获得资源是造成服务性能下降的源头。在分组交换以及多用户业务并存的复杂环境下,拥塞又是不可避免的,因此必须采用适当的方法来解决拥塞。
增加网络带宽是解决资源不足的一个直接途径,然而网络带宽不可能无限制的增加,因此它并不能解决所有导致网络拥塞的问题。
解决网络拥塞问题的一个更有效的办法是在网络中增加流量控制和资源分配的功能,为有不同服务需求的业务提供有差别的服务,更合理地分配和使用资源。在进行资源分配和流量控制的过程中,尽可能地控制好那些可能引发网络拥塞的直接或间接因素,从而减少拥塞发生的概率;在拥塞发生时,依据业务的性质及其需求权衡资源的分配,将拥塞的影响减到最小。
图1-2 ToS和DS域
如上图1-2所示,IP报文头的ToS字段有8个bit,RFC 2474中,重新定义了IP报文头部的ToS域,称之为DS(Differentiated Services,差分服务)域,其中DSCP优先级用该域的前6位(0~5位)表示,取值范围为0~63,后2位(6、7位)是保留位。
表1-1 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 |
表1-2 DSCP优先级说明
IP优先级(十进制) |
IP优先级(二进制) |
关键字 |
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的场合。
图1-3 带有802.1Q标签头的以太网帧
如上图所示,4个字节的802.1Q标签头包含了2个字节的TPID(Tag Protocol Identifier,标签协议标识符)和2个字节的TCI(Tag Control Information,标签控制信息),TPID取值为0x8100。下图显示了802.1Q标签头的详细内容,Priority字段就是802.1p优先级。之所以称此优先级为802.1p优先级,是因为有关这些优先级的应用是在802.1p规范中被详细定义的。
图1-4 802.1Q标签头
表1-3 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 |
对于拥塞管理,一般采用队列技术,使用一个队列算法对流量进行分类,之后用某种优先级别算法将这些流量发送出去。每种队列算法都是用以解决特定的网络流量问题,并对带宽资源的分配、延迟、抖动等有着十分重要的影响。
这里介绍两种常用的硬件实现拥塞管理的队列调度机制:SP(Strict Priority,严格优先级)队列和WRR(Weighted Round Robin,加权轮询)队列。
SP队列包含多个队列,分别对应不同的优先级,按优先级递减的顺序进行调度。SP队列调度算法是针对关键业务型应用设计的。关键业务有一个重要的特点,即在拥塞发生时要求优先获得服务以减小响应的延迟。
图1-5 SP队列示意图
以端口有8个输出队列为例,优先队列将端口的8个输出队列分成8类,依次为7、6、5、4、3、2、1、0队列,它们的优先级依次降低。在队列调度时,SP严格按照优先级从高到低的顺序优先发送较高优先级队列中的分组,当较高优先级队列为空时,再发送较低优先级队列中的分组。这样,将关键业务的分组放入较高优先级的队列,将非关键业务(如E-Mail)的分组放入较低优先级的队列,可以保证关键业务的分组被优先传送,非关键业务的分组在处理关键业务数据的空闲间隙被传送。
SP的缺点是如果较高优先级队列中长时间有分组存在,那么低优先级队列中的报文将一直得不到服务。
WRR队列调度算法在队列之间进行轮流调度,保证每个队列都得到一定的服务时间。
图1-6 WRR队列示意图
以端口有8个输出队列为例,WRR可为每个队列配置一个加权值(依次为w7、w6、w5、w4、w3、w2、w1、w0),加权值表示获取资源的比重。如一个100M的端口,配置它的WRR队列调度算法的加权值为25:25:15:15:5:5:5:5(依次对应w7、w6、w5、w4、w3、w2、w1、w0),这样可以保证最低优先级队列至少获得5Mbit/s带宽,避免了采用SP调度时低优先级队列中的报文可能长时间得不到服务的缺点。WRR队列还有一个优点是,虽然多个队列的调度是轮询进行的,但对每个队列不是固定地分配服务时间片——如果某个队列为空,那么马上换到下一个队列调度,这样带宽资源可以得到充分的利用。
基本WRR队列包含多个队列,用户可以定制各个队列的权重,WRR按用户设定的参数进行加权轮询调度。
还可通过配置实现SP+WRR功能,即在配置WRR队列时,将某个或某些队列划分到SP组。此时,系统首先按照严格优先级对SP组中的队列进行调度。当SP组中的队列没有报文发送时,再按照WRR算法对其它队列进行调度。
端口限速是采用令牌桶进行流量控制的一种方法。利用端口限速可以在一个物理端口上限制发送报文(包括紧急报文)的总速率。端口限速能够限制在物理端口上通过的所有报文。
令牌桶可以看作是一个存放一定数量令牌的容器。系统按设定的速度向桶中放置令牌,当桶中令牌满时,多出的令牌溢出,桶中令牌不再增加。
在用令牌桶评估流量规格时,是以令牌桶中的令牌数量是否足够满足报文的转发为依据的。如果桶中存在足够的令牌可以用来转发报文(通常用一个令牌关联一个比特的转发权限),称流量遵守或符合(conforming)这个规格,否则称为不符合或超标(excess)。
评估流量时令牌桶的参数设置包括:
· 平均速率:向桶中放置令牌的速率,即允许的流的平均速度。通常设置为CIR(Committed Information Rate,承诺信息速率)。
· 突发尺寸:令牌桶的容量,即每次突发所允许的最大的流量尺寸。通常设置为CBS(Committed Burst Size,承诺突发尺寸),设置的突发尺寸必须大于最大报文长度。
每到达一个报文就进行一次评估。每次评估,如果桶中有足够的令牌可供使用,则说明流量控制在允许的范围内,此时要从桶中取走与报文转发权限相当的令牌数量;否则说明已经耗费太多令牌,流量超标了。
当设备的某个端口上配置了端口限速时,所有经由该端口发送的报文首先要经过端口限速的令牌桶进行处理。如果令牌桶中有足够的令牌,则报文可以发送;否则,报文将进入QoS队列进行拥塞管理。这样,就可以对通过该物理端口的报文流量进行控制。
图1-8 端口限速处理过程示意图
由于采用了令牌桶控制流量,当令牌桶中存有令牌时,可以允许报文的突发性传输;当令牌桶中没有令牌时,报文必须等到桶中生成了新的令牌后才可以继续发送。这就限制了报文的流量不能大于令牌生成的速度,达到了限制流量,同时允许突发流量通过的目的。
在网络的入口需要为网络的流量打上一定的区分标记,这种标记用以标识流量的调度权重或者转发处理优先级别的高低。网络中间节点处理报文时,就可以根据报文的优先级来进行相应的调度。
报文在进入设备以后,设备会根据自身支持的情况和相应的规则给报文分配包括802.1p优先级、DSCP、本地优先级等在内的一系列参数。
· 802.1p优先级和DSCP优先级的介绍请参见1.1.4 报文优先级。
· 本地优先级是指设备为报文分配的一种具有本地意义的优先级,对应出端口队列序号。本地优先级值越大的报文越被优先处理。
设备提供了两种端口优先级信任模式:
· 信任报文的优先级:按照接收端口上配置的优先级信任模式,根据报文自身的优先级,查找优先级映射表,为报文分配优先级参数。
· 信任端口的优先级:按照接收端口的端口优先级,通过一一映射为报文分配本地优先级。
用户可以根据需要配置端口优先级信任模式。设备上报文的优先级映射过程如下图所示。
图1-9 支持端口优先级信任模式的情况下优先级映射过程示意图
设备提供了多张优先级映射表,分别对应相应的优先级映射关系。各个优先级的映射表和缺省取值如下所示。
· CoS to Queue:802.1p优先级到本地优先级映射表。
· DSCP to Queue:DSCP到本地优先级映射表,仅对IP报文生效。
映射表缺省取值如下所示。
表1-4 CoS to Queue缺省映射关系
映射输入索引(CoS) |
映射优先级(Queue) |
0 |
2 |
1 |
0 |
2 |
1 |
3 |
3 |
4 |
4 |
5 |
5 |
6 |
6 |
7 |
7 |
表1-5 DSCP to Queue缺省映射关系
映射输入索引(DSCP) |
映射优先级(Queue) |
0~7 |
0 |
8~15 |
1 |
16~23 |
2 |
24~31 |
3 |
32~39 |
4 |
40~47 |
5 |
48~55 |
6 |
56~63 |
7 |
队列调度配置的推荐步骤如下表所示。
步骤 |
配置任务 |
说明 |
1 |
可选 在指定端口上配置队列调度的方式 |
步骤 |
配置任务 |
说明 |
1 |
必选 设置限制物理端口接收或者发送数据的速率 |
优先级映射表配置的推荐步骤如下表所示。
步骤 |
配置任务 |
说明 |
1 |
可选 设置不同类型映射表中的映射输入索引和映射优先级的对应关系 |
端口优先级配置的推荐步骤如下表所示。
步骤 |
配置任务 |
说明 |
1 |
必选 |
(1) 在导航栏中选择“QoS > 队列调度”。
(2) 单击“设置”页签,进入队列调度的配置页面,如下图所示。
(3) 在端口上配置队列,详细配置如下表所示。
(4) 单击<应用>按钮完成操作。
配置项 |
说明 |
|
加权轮询队列设置 |
加权轮询队列 |
在指定端口上配置按照加权轮询队列进行调度: · Enable:在指定端口上使能加权轮询队列 · Not Set:恢复指定端口上缺省的队列算法 |
队列序号 |
选择要配置的队列的序号 取值为0~7 |
|
优先组 |
设置该队列属于哪个优先组 队列序号选择某个值后可用,可选的优先组包括: · SP:表示该队列属于严格优先组 · 1:表示该队列属于加权轮询队列优先组1 |
|
权重 |
设置队列的调度权重 优先组为“1”时可用 |
|
请选择端口 |
在面板示意图中点击选择要配置队列的端口,可以选择一个或多个端口 |
(1) 在导航栏中选择“QoS > 端口限速”。
(2) 单击“设置”页签,进入端口限速的配置页面,如下图所示。
(3) 配置端口限速,详细配置如下表所示。
(4) 单击<应用>按钮完成操作。
配置项 |
说明 |
请选择一种接口类型 |
设置要配置端口限速的接口类型 |
限速 |
设置使能或禁止指定端口的端口限速功能 |
方向 |
设置对指定端口上哪个方向的数据流进行限速 · Inbound:表示对指定端口接收到的数据流进行限速 · Outbound:表示对指定端口发送的数据流进行限速 · Both:表示对指定端口接收和发送的数据流进行限速 |
CIR |
设置承诺信息速率,流量的平均速率 |
请选择端口 |
设置要配置端口限速的端口 端口列表选择框中为指定接口类型的端口列表,在其中点击进行选择,可以选择一个或多个端口 |
(1) 在导航栏中选择“QoS > 优先级映射表”,进入如下图所示的页面。
(2) 配置优先级映射表,详细配置如下表所示。
(3) 单击<确定>按钮完成操作。
配置项 |
说明 |
映射表类型 |
设备要配置的映射表的类型,包括:CoS to Queue、DSCP to Queue |
映射输入索引 |
设置不同映射输入索引所对应的映射优先级的值 |
映射优先级 |
|
<恢复缺省> |
单击此按钮可以使当前映射表显示的映射优先级值都恢复到缺省的状态 需要注意的使,要恢复缺省配置,还必须要单击<确定>按钮才能生效 |
(1) 在导航栏中选择“QoS > 端口优先级”,进入如下图所示的页面。
(2) 单击端口对应的图标,进入该端口的优先级和信任模式的配置页面,如下图所示。
(3) 配置端口优先级,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
配置项 |
说明 |
接口名称 |
显示要配置的端口 |
优先级 |
设置端口本地优先级的值 |
信任模式 |
设置端口优先级信任模式: · Untrust:端口不信任报文的优先级 · Dot1p:信任报文自带的802.1p优先级,以此优先级进行优先级映射 · DSCP:信任IP报文自带的DSCP优先级,以此优先级进行优先级映射 |
· 如下图所示,经过Switch的数据流,根据IP报文的DSCP域值的不同,可分为三种不同业务,对应的DSCP优先级值分别为10、18、46。
· 要求正确配置报文的队列调度,保证三种业务的转发比例为1:2:4。
图2-1 QoS配置组网图
采用如下思路进行配置:
(1) 配置端口优先级信任模式为DSCP优先级。
(2) 配置DSCP优先级为10的报文进入队列2,DSCP优先级为18的报文进入队列4,DSCP优先级为46的报文进入队列6。
(3) 配置Switch上的队列调度为加权轮询调度,权重分别为5、10、20。
(1) 配置端口优先级信任模式为DSCP优先级。
步骤1:在导航栏中选择“QoS > Port Priority”。
步骤2:分别单击端口GigabitEthernet1/0/1、GigabitEthernet1/0/2、GigabitEthernet1/0/3对应的图标,进入各端口的优先级和信任模式的配置页面。
步骤3:选择Trust Mode为“DSCP”。
步骤4:单击<应用>按钮完成操作。
图2-2 配置端口优先级信任模式为DSCP优先级(以GigabitEthernet1/0/1举例)
(2) 配置优先级映射表。
步骤1:在导航栏中选择“QoS > Priority Mapping”。
步骤2:选择Mapping Type为“DSCP to Queue”。
步骤3:进行如下配置,如下图所示。
· 选择Input Value为10对应的Output Value为“2”。
· 选择Input Value为18对应的Output Value为“4”。
· 选择Input Value为46对应的Output Value为“6”。
步骤4:单击<应用>按钮完成操作。
图2-3 配置优先级映射表
(3) 配置队列调度轮询权重。
步骤1:在导航栏中选择“QoS > Queue > Setup”。
步骤2:选择Queue为“2”,Group为“1”,Weight为“5”。
步骤3:在面板示意图上点击选中端口“GigabitEthernet1/0/4”。
步骤4:单击<应用>按钮完成操作。
图2-4 配置队列调度轮询权重
步骤5:选择Queue为“4”,Group为“1”,Weight为“10”。
步骤6:在面板示意图上点击选中端口“GigabitEthernet1/0/4”。
步骤7:单击<应用>按钮完成操作。
图2-5 配置队列调度轮询权重
步骤8:选择Queue为“6”,Group为“1”,Weight为“20”。
步骤9:在面板示意图上点击选中端口“GigabitEthernet1/0/4”。
步骤10:单击<应用>按钮完成操作。
图2-6 配置队列调度轮询权重
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!