QOS测试指导书.docx
《QOS测试指导书.docx》由会员分享,可在线阅读,更多相关《QOS测试指导书.docx(23页珍藏版)》请在冰豆网上搜索。
QOS测试指导书
资料编码
产品名称
使用对象
产品版本
编写部门
资料版本
QOS测试指导书
拟制:
刘彦立
日期:
2008-9-10
审核:
日期:
批准:
日期:
东土科技股份有限公司
版权所有XX
修订记录
日期
修订版本
作者
描述
2008.9.10
V1.0
刘彦立
目录
1.QOS简介4
2.QOS工作原理4
2.1优先级队列和权重4
2.2队列调度模式5
2.3队列调度策略5
2.3.1交换芯片内部QOS实现流程图6
2.3.2基于端口的QOS调度策略6
2.3.3基于802.1POQS调度策略6
2.3.4基于TOS/DIFF的调度策略7
2.3.5不同端口上应用不同的调度策略10
3.QOS设计规格12
4.QOS命令12
4.1开启/关闭QOS12
4.2配置QOS调度模式12
4.3配置WRR优先级队列权重13
4.4配置队列调度策略13
4.5TOS/DIFF调度策略模式选择13
4.6队列调度策略的优先级映射配置14
5.QOS测试指导14
5.1功能测试14
5.2容错测试17
5.3组合测试17
5.4压力测试17
5.5性能测试18
5.6安全性测试18
5.7协议符合度测试18
5.8稳定性测试19
QOS测试指导书
1.QOS简介
在传统的分组网络中,所有报文都无区别的等同对待,每个交换机/路由器对所有的报文采用先入先出的策略(FIFO)处理,它尽最大的努力(Best-Effort)将报文送到目的地,但对报文传送的延时、延时抖动等传输性能不提供任何承诺和保证。
随着计算机网络的高速发展,人们对网络的要求也越来越高。
由于对带宽、延迟、抖动敏感的语音、图象、重要数据越来越多地在网上传输,一方面使得网上的业务资源极大地丰富,另一方面则由于经常遭遇网络拥塞,人们对网络传输的服务质量(QualityofService,简称QoS)提出了更高的要求。
以太网技术是当今所使用的最为广泛的网络技术。
目前,以太网不仅成为各种独立的局域网中的主导技术,许多以太网形式的局域网也成为了Internet网的组成部分。
而且随着以太网技术的不断发展,以太接入方式也将成为广大普通Internet用户的主要接入方式之一。
因此要实现端到端的全网QoS解决方案,不可避免地要考虑以太网上的QoS业务保证的问题。
这就需要以太网交换设备应用以太网QoS技术,对不同类型的业务流提供不同等级的QoS保证,尤其是能够支持那些对延时和抖动要求较高的业务流。
2.QOS工作原理
由于不同厂家支持QOS的程度也不同,本测试指导书主要针对我司SICOM系列产品支持的QOS两种调度模式和三种调度策略展开论述。
2.1优先级队列和权重
队列在硬件上是一个缓冲区结构,设备支持4个优先级队列,队列ID号低到高分别是0、1、2、3,队列ID号也表示了队列的优先级别,分别是lowest->low->high->highest。
每个队列默认情况下都赋予了一个权重值,权重取值的是1-55,可以任意配置每个队列的权重值,需要注意的是:
队列的权重比例关系必须保证高一级的权重应大于或等于次级权重的2倍。
权重代表了队列的重要程度,在队列调度时,权重值比越大的队列越容易得到调度,在以下章节会有关于队列调度的详细介绍。
默认情况下,队列和默认权重对应关系如下:
QueueIdWeight
01
12
24
38
2.2队列调度模式
SICOM系列产品支持两种队列调度模式,WRR和HQ-PREEMPT
1)WRR调度
WRR是权重公平调度模式,按照权重比例对业务数据进行调度。
例如:
4个队列0~4权重值分别是1,2,4,8,那么当网络拥塞发生时,在出端口进行WRR调度,队列0的业务流量所占比例为1/(1+2+4+8),队列1的比例为2/(1+2+4+8),队列2的比例为4/(1+2+4+8),队列3的比例为8/(1+2+4+8)。
2)HQ-PREEMPT
HQ-PREEMPT是高优先级抢占模式。
最高优先级队列的业务优先被调度,也就是队列3的业务数据首先得到调度,直到该队列为空时,其他队列的数据才按照以上介绍的WRR调度模式进行调度。
如果最高队列没有业务数据,那么其他队列按照WRR调度方式。
2.3队列调度策略
SICOM系列产品支持三种队列调度策略,分别是基于端口,基于802.1Q的,基于TOS/DIFF的调度策略。
这三种调度策略在同一端口上应用是互斥的,也就是同一端口同时只能应用一种调度策略,这是由芯片内部的实现决定的,可以参考以下芯片内部QOS实现流程图;另外不同端口上可以应用不同的调度策略。
2.3.1交换芯片内部QOS实现流程图
2.3.2基于端口的QOS调度策略
基于端口的QOS调度策略只映射两个队列,队列3和队列0,既highest和lowest,一旦端口上应用了基于端口调度策略,那么该端口上进来的业务数据就会映射到队列3,优先调度该队列的数据,如果出方向还有剩余带宽,那么最低优先级队列才会得到调度。
需要说明的是,默认情况下,也就是端口下不应用任何调度策略时,进入设备端口的业务数据全部映射到最低lowest队列;当然对于其他调度策略,如802.1Q和TOS/DIFF通过配置也可以映射到最低lowest队列。
2.3.3基于802.1POQS调度策略
基于802.1P调度策略,是根据报文的802.1P优先级进行队列映射的,关于802.1P的详细介绍可以参考《VLAN测试指导书》。
802.1P优先级0~7可以映射到0~3队列。
以下是默认情况下802.1P优先级和队列的映射关系,当然可以根据业务数据的重要程度任意配置802.1P优先级和队列的映射关系。
对以下映射关系的解释是:
对于进入端口的报文,携带802.1P优先级是0、1的入0队列,优先级是2、3的入1队列,优先级是4、5的入2队列,优先级是6、7的入3队列。
再结合上述“2.1优先级队列”中介绍的队列和权重的对应关系,可以得出:
0队列分配1/15的带宽,1队列分配2/15的带宽,2队列分配4/15的带宽,3队列分配4/15的带宽。
当然,根据配置也会存在有的队列没有被映射802.1P优先级,这种情况下,没有被映射的802.1P优先级的队列不参与调度,只有映射了802.1P优先级的队列根据队列权重比例分配带宽。
还有一点需要说明一下,如果进入端口的报文没有携带802.1p字段,那么报文进入端口会加上端口vlantag和端口优先级,其余处理和以上相同。
802.1pmapping
PriorityQueueId
00
10
21
31
42
52
63
73
2.3.4基于TOS/DIFF的调度策略
TOS和DIFF分别指的是tos优先级和dscp优先级。
在介绍TOS/DIFF调度策略之前首先介绍一下IP报文中的TOS字段,以下是IP报文的结构:
0151631
4位版本号
4位首部长度
8位服务类型
(TOS)
16位总长度(字节数)
16位标识
3位标志
13位片偏移
8位生存期
8位协议
16位首部校验和
32位源IP地址
32位目的IP地址
选项和数据………..
在以上IP报文结构中,蓝色字体标出了TOS字段。
服务类型(TOS)字段占8个bit,其中:
服务类型的前3个bit代表了IP报文优先级,也叫tos优先级;另外4bit是TOS子字段,4bit的子字段分别代表:
最小时延、最大吞吐量、最高可靠性、最小费用(具体应用可以参考相关资料);最后1bit置0。
服务类型的前6个bit代表了DSCP优先级。
以下是服务类型(TOS)字段的详细结构:
|--------3bitstos优先级-------------|---------------4bitsTOS子字段--------------------|--1bit置0-|
1bit
1bit
1bit
1bit
1bit
1bit
1bit
0
|------------------------------6bitsdscp优先级-----------------------------------|
从以上结构图中可以得出,由于tos优先级占3bits,取值为0~7;而dscp优先级占6bits,取值为0~63。
清楚了tos优先级和dscp优先级后,那么基于TOS/DIFF的调度策略就不难理解了。
以下分别介绍基于TOS和基于DSCP的调度策略。
1)基于TOS的调度策略
基于tos的调度策略是根据IP报文中服务类型的tos优先级和队列的映射关系进行调度的,tos优先级0~7可以映射到0~3队列,默认情况下,tos优先级都映射到0队列,也可以根据业务数据的重要程度任意配置tos优先级和队列的映射关系,以下是非默认时tos优先级和队列的映射关系。
基于tos的调度同802.1p调度类似,对于tos和队列映射关系的解释请参考以上“2.3.3基于802.1pOQS调度策略”中解释。
TOSmapping
PriorityQueueId
00
11
21
32
42
52
63
73
2)基于DSCP的调度策略
基于DSCP的调度策略是根据IP报文的服务类型字段中的dscp优先级和队列的映射关系进行调度的,dscp优先级0~63可以映射到0~3队列。
默认情况下,dscp优先级都映射到0队列,也可以根据业务数据的重要程度任意配置dscp优先级和队列的映射关系。
与其它调度策略类似,对于dscp和队列映射关系的解释请参考以上“2.3.3基于802.1pOQS调度策略”中解释。
以下是非默认情况下dscp优先级和队列的映射关系。
DSCPmapping
PriorityQueueId
00
10
20
31
41
51
61
71
82
…………………………….
……………………………..
503
513
523
533
543
553
562
572
582
593
603
613
623
633
2.3.5不同端口上应用不同的调度策略
由于设备上允许不同端口上可以应用不同调度策略,例如某端口应用了基于端口的调度策略外,而其他端口还存在其他类型的调度策略,如802.1Q和TOS/DIFF,这样可能存在不同端口上的业务数据映射到同一队列的情况,根据队列的特点,对于映射到同一队列不同的数据是没有办法保证每种数据具体分配多少带宽的,只能是先进先出。
总之,不同端口应用不同调度策略时,业务数据可以映射到同一个队列;对于映射到不同队列的报文,根据端口上具体调度策略和每个队列的权重分配其带宽。
总之,端口下无论应用哪种调度策略,进行队列调度时,每种数据具体分配多少带宽,只和入哪个队列以及该队列的权重有关。
举例说明:
如下图:
port1~port4向port5转发报文,其中进入port2的报文携带802.1p优先级为2,进入port3的报文携带802.1p优先级是4,进入port4的IP报文携带的tos优先级是6,其中802.1p优先级和队列的映射、tos优先级和队列的映射、队列和权重的映射关系如下:
802.1pmapping
PriorityQueueId
00
10
21
31
42
52
63
73
TOSmapping
PriorityQueueId
00
11
21
32
42
52
63
73
QosQueueWeight
QueueIdWeight
01
12
24
38
由于在port5发生了流量拥塞,所以根据端口的应用的队列调度策略决定优先转发哪种报文。
Port1基于端口的调度策略,那么该端口进来的的报文入队列3;port2和port3应用的是基于802.1p的调度策略,根据以上802.1p和队列的映射关系知道port2的报文入队列1;port3的报文入队列2;port4应用了基于tos的调度策略,根据以上tos优先级和队列的映射关系,port4的报文入队列3。
通过以上分析,port1和port4的报文都入队列3,port2的报文入队列1,port3的报文入队列2,再根据队列和权重的对应关系知道,队列1的权重=2,队列2的权重=4,队列3的权重=8,那么入队列1的报文分配的带宽比例为:
2/(2+4+8),入队列2报文分配的带宽比例为:
4/(2+4+8),入队列3报文分配的带宽比例为:
8/(2+4+8)。
其中port1和port4的报文都入队列3,所以只能按照先进先出的方式转发,但肯定的是port1和port4的总带宽比例一定是8/(2+4+8)。
3.QOS设计规格
设备支持4个映射队列;两种调度模式WRR和抢占HQ;端口上支持三种调度策略,基于端口、基于802.1p、基于TOS/DIFF,其中基于TOS/DIFF又分为基于tos优先级调度和基于dscp优先级调度;同一端口只能应用一种调度策略,不同端口能应用不同的调度策略。
请参考以上详细介绍。
4.QOS命令
QOS即服务质量(QualityofService),随着计算机网络的高速发展,人们对网络
应用中的带宽、延迟、抖动敏感的语音、图像、传输的重要数据等网络服务质量提出了更高的要求。
QOS技术的应用正是对不同类型的业务流提供不同等级的QOS保证,当网络出现过载或拥塞时优先保证了那些对时延和抖动要求较高的业务流。
4.1开启/关闭QOS
命令
操作视图
命令说明
qosenable
配置视图
开启qos功能
qosdisable
配置视图
关闭qos功能
4.2配置QOS调度模式
命令
操作视图
命令说明
qosschedule-mode
hq-preempt
配置视图
配置调度模式为高优先级抢占模式,即:
当有最高优先级业务到来时,先转发最高优先级队列的业务,当转发结束后,再按照WRR调度其他队列的业务。
qosschedule-mode
wrr
配置视图
配置调度模式为权重公平调度模式,即:
按照比例调度各种数据包,系统默认是WRR模式。
4.3配置WRR优先级队列权重
命令
操作视图
命令说明
qosweight-config
wei-queue-0wei-queue-1wei-queue-2weiqueue-3
配置视图
配置队列的权重,其中,每个队列的权重取值范围为1~55,而且,四个队列的默认权重比例是1:
2:
4:
8
注意事项:
配置的权重比例关系必须保证高一级的权重应大于或等于次级权重的2倍。
4.4配置队列调度策略
命令
操作视图
命令说明
qospolicy
802-1p-basedadd
portport-id
配置视图
配置基于802.1p优先级的调度策略
qospolicy
802-1p-baseddelete
portport-id
配置视图
删除基于802.1p优先级的调度策略
qospolicyport-based
addportport-id
配置视图
配置基于端口的优先级调度策略
qospolicyport-based
deleteportport-id
配置视图
删除基于端口的优先级调度策略
qospolicytos-diff-based
addportport-id
配置视图
配置基于IPTOS/DIFF优先级调度策略
qospolicytos-diff-based
deleteportport-id
配置视图
删除基于IPTOS/DIFF优先级调度策略
附加说明:
目前公司产品实现了三种调度策略,基于端口优先级调度、基于802.1p优先级调度和基于IPTOS/DIFF优先级调度,三种策略在设备的不同端口上都可启用;在同一个端口下三种调度策略是互斥的。
4.5TOS/DIFF调度策略模式选择
命令
操作视图
命令说明
qostos-diff-mode
diff-serv
配置视图
选择TOS/DIFF调度策略
为diff-serv模式,即DSCP模式。
系统默认为DSCP模式。
qostos-diff-mode
tos
配置视图
选择TOS/DIFF调度策略
为Tos模式。
4.6队列调度策略的优先级映射配置
命令
操作视图
命令说明
qosvlanpriority<0-7>
mapqueue<0-3>
配置视图
配置基于802.1p调度策略的优先级与队列的映射。
其中<0-7>是802.1p优先级的取值,<0-3>是队列号。
qosdiff-servdscp
priority<0-63>map
queue<0-3>
配置视图
配置基于dscp调度策略的优先级与队列的映射。
其中<0-63>是DSCP优先级的取值,<0-3>是队列号
qostospriority<0-7>
mapqueue<0-3>
配置视图
配置基于tos调度策略的优先级与队列的映射。
其中<0-7>是tos的优先级取值,
<0-3>是队列号。
附加说明:
1)基于802.1p-based的调度策略,优先级可以映射四个队列,缺省情况下的映射关系为:
0~1对应队列lowest,2~3对应队列low,4~5对应队列high,6~7对应队列highest;
另外对于untaged报文进入到交换机端口时,系统为该报文打上该端口的VLANTAG,同时添加端口优先级。
然后再根据802.1p调度策略进行队列调度。
2)基于TOS/DIFF调度策略,无论是TOS优先级还是DSCP优先级都可以映射四个队列,
其中TOS的缺省映射关系为:
0~7对应队列lowest;DSCP的缺省映射关系为:
0~63对应队列lowest。
3)基于端口的优先级调度策略,优先级只映射两个队列:
highest和lowest。
只要端口配置了基于端口的调度策略,则该端口进来的报文就会进入到highest队列,优先转发。
5.QOS测试指导
5.1功能测试
序号
测试项
预期结果
1
配置测试
测试命令行手册中所有的QOS相关命令。
需要考虑以下情况:
a)对于有取值范围的命令参数,无论值数值型还是字符串型都需要测试边界取值,中间值,小于最小值和大于最大值的情况。
b)字符型参数也需要测试特殊字符能否配置成功的情况。
c)命令行解释是否合理和正确,是否有错误语法和错误单词。
d)需要作互斥的命令,是否作了互斥。
e)需要打印提示信息的,提示信息是否正确和合理。
用showqos、showrunning命令查看QOS相关命令的配置结果正确。
2
保存配置重启交换机.
需要考虑:
1)QOS所有的命令是否成功保存,有无丢配置的情况。
2)保存配置重启交换机后,命令是否成功加载和生效,通过测试命令行的基本功能来检验。
重启后用showconfig和showOQS命令查看,配置已经成功保存;
通过验证配置命令的基本功能来检验配置命令已经生效。
3
开启/关闭QOS测试
1)拥塞发生且进行了队列调度时关闭再开启OQS
2)保存配置重启设备后QOS使能的功能
QOS功能正常,调度结果正确
4
两种调度模式的测试
1)需要分别测试WRR和HQ的功能
2)测试每种调度模式,均需要覆盖到四种调度策略:
基于端口、基于802.1p、基于TOS、基于DIFF
3)存在业务流量且发生拥塞已经实施了队列调度情况下,WRR和HQ调度模式切换。
4)HQ调度模式时,没有入最高优先级队列业务数据时的调度情况
两种调度模式功能正常,队列调度结果正确。
5
基于端口的调度策略测试
1)需要考虑不同速率端口的调度,如100M口和1000M口以及二者混合使用时的调度情况。
2)某端口应用基于端口的调度策略后,测试时主要考虑该端口的调度是不分业务报文类型和报文优先级的,任何类型和携带任何优先级业务报文都能进最高优先级队列。
可以分别测试组播报文、单播报文、广播报文或者三者的混合报文。
3)多个端口同时应用基于端口的调度策略的处理
4)基于端口的调度策略和其他调度策略在不同端口上同时应用的处理
基于端口的调度策略调度结果正确。
6
基于802.1p优先级的调度策略测试
1)需要考虑不同速率端口的调度,如100M口和1000M口以及二者混合使用时的调度情况。
2)需要考虑不同报文类型,分别测试组播报文、单播报文、广播报文或者三者的混合报文
3)不同端口类型的调度情况,tag、untag
4)同一端口上的报文携带不同802.1p优先级入不同队列时的调度情况
5)多个端口同时应用802.1p优先级调度且报文入不同队列时的调度情况
6)基于802.1p优先级与其他调度策略在不同端口上应用时的调度情况
6)对进入端口的untag报文进行802.1p优先级处理后的调度情况
7)基于802.1p优先级调度时修改报文优先级或者端口优先级
8)调度时修改802.1p优先级和队列的映射关系
9)调度时修改队列权重值
基于802.1p优先级策略调度结果正确
7
基于TOS调度策略测试
1)需要考虑不同速率端口的调度,如100M口和1000M口以及二者混合使用时的调度情况。
2)需要考虑不同报文类型,分别测试组播报文、单播报文、广播报文或者三者的混合报文
3)同一端口上多条报文流携带不同TOS优先级入不同队列的调度情况
4)基于TOS优先级的调度与其他调度策略在不同端口上应用时的调度情况
5)TOS调度时修改报文TOS优先级
6)TOS调度时修改TOS优先级与队列的映射关系
7)TOS调度时修改队列权重值
8)TOS调度与其他调度策略的切换,如:
TOS调度时切换成DSCP调度策略;TOS调度更改为802.1p调度策略等。
基于TOS优先级策略调度结果正确
8
基于DIFF调度策略测试
1)需要考虑不同速率端口的调度,如100M口和1000M口以及二者混合使用时的调度情况。
2)需要考虑不同报文类型,分别测试组播报文、单播报文、广播报文或者三者的混合报文
3)同一端口上多条报文流携带不同DSCP优先级入不同队列的调度情况
4)基于DSCP优先级的调度与其他调度策略在不同端口上应用时的调度情况
5)DSCP调度时修改报文DSCP优先级
6)DSCP调度时修改DSCP优先级与队列的映射关系
7)DSCP调度时修改队列权重
8)DSCP调