APP下载

端口限速的测试方法及其应用

2014-01-01于红增陈海小

无线电工程 2014年10期
关键词:令牌专网路由器

于红增,陈海小

(1.中国电子科技集团公司第五十四研究所,河北石家庄050081;2.中国卫星海上测控部,江苏无锡214431)

0 引言

在QoS保证措施中,流量监管(Committed Access Rate,CAR)、流量整形(Generic Traffic Shaping,GTS)和端口限速(Line Rate,LR)都属于速率限制类型[1,2],LR可以限制一个端口流出方向信息的总速率,在企业网和专用网络中常用于高速接口连接低速链路(如卫通链路或微波链路)的情形。公开出版物和厂商设备资料大都介绍了这类技术的工作机理和理论效果,只有文献[1]对QoS测试方法进行了原理性介绍,鲜见关于实际效果的文献,在实际使用中依据理论效果设计的QoS保证措施往往会引起不少问题,分析处理起来也很困难。

通信专网主要用于实时数据、话音和图像业务的综合传输与交换,要求最小包长业务的端到端丢包率低于0.1%。系统调试中发现路由器广域网出口配置了端口限速后,会发生严重丢包现象,丢包率达到1%;而去掉端口限速配置后丢包率为零。这与端口限速的理论效能相矛盾,需要对丢包机理进行测试、解决这个问题,并对类似问题积累处理经验。

1 限速链路的丢包机理

1.1 端口限速的工作原理

LR基于令牌桶进行流量测量和控制[1,3],处理过程如图1所示。

令牌桶参数包括承诺突发尺寸(Committed Burst Size,CBS)和承诺信息速率(Committed Information Rate,CIR),需要用户指定。CBS的值为cbs,单位为byte,称为令牌桶的大小或令牌桶的桶深,令牌桶初始状态是充满令牌的,允许一次性转发cbs的信息。路由交换设备的某个端口上配置LR后,则所有从该端口发送的报文都要经过LR的令牌桶进行测量。如果令牌桶中有足够的令牌,则报文可以发送,同时消耗与报文等量的令牌;如果令牌桶中的令牌不足,则报文入QoS队列进行拥塞管理,这一过程不消耗令牌。

图1 LR的基本处理过程

无论是否有报文转发,每间隔ΔT时间LR向令牌桶投放相当于cir×ΔT÷8 byte的令牌,这里cir为CIR的值,单位为bps,ΔT单位为s,令牌桶溢出后丢弃多余令牌。

1.2 现网端口限速的部署与效果

通信专网由多个外围站局域网、1个中心站局域网和广域网组成,如图2所示。广域网基于路由器和卫通链路构建,路由器接口为快速以太网(FastEthernet,FE)类型,卫通信道速率3 072 kbps,实测吞吐量不小于3 072 kbps。业务数据速率理论值为2.2 Mbps,满足网络轻载运行条件。为了防止突发数据在卫通信道设备上的拥塞和丢包,在路由器连接卫通设备的端口上采用了端口限速技术,以平滑路由器输出流量波形,也便于从网管系统上监控端口的丢包和队列使用情况[4-6]。

图2 通信专网组网示意

通信专网正是在路由器上配置了端口限速才导致路由器丢包,需要对端口限速的效果进行测试评估,并提出改进的措施。

1.3 业务数据的流量特征要求

通信专网业务系统采用时间驱动方式。设计要求外围站数据采集终端每6.25 ms产生固定长度字节的原始数据给本地的区域处理系统。区域处理系统每处理完这个采集终端的4次原始数据,立即将处理结果封装成一个UDP报文上报中心站集中控制系统,理论上每隔25 ms上报一次。

外围站采用UDP协议向中心站上报,每次发送数据的字节数为6 700 byte,IP分片机制将其打包为5个连续的IP分片。因此业务数据在时间上具有周期的突发特性[7-9]。

基于这些,可以猜想配置了端口限速之后的丢包原因不外乎2个:①端口限速的实现效果不符合预期;②业务报文随机性导致的链路瞬时拥塞。下面首先排查第2个原因。

1.4 业务报文的时间域分布

如果真的是因为业务报文随机性导致了链路瞬时拥塞,那么UDP包间隔一定具有相当程度的随机性,以至于相当比例的UDP报文间隔小于25 ms。

通过wireshark抓包,获取到数据采集终端上报区域处理系统的数据包,对其进行包间隔统计,结果证明了这个猜测。数据采集终端小于2 ms间隔的报文比例高达74.30%,比设计要求6.25 ms小很多;而且还有4%的报文间隔超过了40 ms。这必然导致区域处理系统上报中心站数据时间间隔的动态范围过大,使得卫通链路从亚秒量级上看部分时段的流量超过了链路的传输能力,引起了瞬时拥塞,影响服务质量。

既然已经确定了第2个原因是导致端口限速丢包的根源,那么还需要测出端口允许多大的数据突发量,即测出端口限速对应的队列缓存有多大,以便对数据采集终端提出定时精度要求。

2 端口限速测试方法

2.1 令牌桶工作参数的测试思想

对于令牌桶工作参数测试来说,主要是验证经过设备QoS处理之后的流量是否降到了cir所限定的值,令牌桶的实际尺寸是否符合设备的配置,经过重新标记的报文是否被正确标记,这些都和令牌桶的机制有关。

2.1.1 考虑设计输入流量速率v

v 应高于 cir,且不超过设备的转发性能[1,2]。

2.1.2 输出流量速率的测试

必须等待令牌桶第1次令牌耗尽之后再去统计输出速率,在此之前设备转发的速率跟随输入速率变化,是高于 cir的[1]。

2.1.3 令牌桶的大小

令牌桶大小的测试建立在cir测试完成的前提下,如果cir不准确,测得的令牌桶大小也将不准。

以超过cir的速率v发送报文并开始计时,令牌桶中的令牌以v-cir的速率逐渐消耗掉。在t1时刻第1次出现令牌不足,设备转发报文的速率降至cir,直到发送结束时刻t2。整个过程如图3所示。

图3 令牌桶大小和LR缓存大小测试原理

假定N为接收到的报文总字节数,根据令牌桶的工作原理不难得出:cbs=N-t2×cir÷8,这里cir的单位为bps,t2单位为s。

需要指出,有些QoS特性仅有报文IP头以上部分消耗令牌,有些是链路层及以上部分均消耗令牌。因此通过比较实测的cir值(要结合包长参数)和配置的cir值还可以判断出以太网端口QoS工作在OSI模型的第几层。因此,上述公式中令牌桶大小cbs需要和cir在OSI模型同一层上进行计算,否则会出现较大偏差。

2.2 缓存的测试原理

LR和CAR在输入流量相同的条件下输出波形相同,但由于LR有缓存而CAR没有缓存,因此在时刻t1之后t2之前LR还会有一段时间发送的是缓存队列的数据。通过测试仪就观察不到这种差别了,必须通过抓包软件对t1t2间开头部分报文的IP头部Id进行逐个观察,找到第1次报文Id不连续的时刻t3,如图3所示,则在t1t3之间所有Id连续的报文都是缓冲区中的报文,这些报文的字节数之和就是缓存队列的大小。

如果t3=t1,则缓存队列大小为0,表明设备在配置速率限制后没有缓存。

3 端口限速实测结果及应用

采用上述LR测试方案对通信专网部署的边缘路由器ER和接入交换机AS进行了比较测试。

3.1 ER设备端口限速特性测试

ER设备不直接支持lr命令,用hqos policy pq bandwidth代替,实现pq调度和端口限速。

配置端口 hqospolicypqbandwidth为1 024 kbps时,使用 TestCenter测试仪进行测试,发送速率100 Mbps,包长64 byte,突发发送1次,每次突发包数为1 000,其余参数保持默认值[10,11]。在收端抓包收到271包数据,报文IP头部Id值和到达时间如表1所示。

表1 ER设备端口限速转发报文统计

根据表1测试数据可知,在转发前261包时平均速率为 261×(64+20)×8/1.748 170 ms≈100 Mbps,为线速发送,因此HQoS工作在数据链路层;在发送Id为261的64 byte报文时令牌桶已耗尽,因此从这一包开始报文间隔明显变大,从抓包结果看也开始出现丢包,直到新产生了足够的令牌才继续发送数据,此时继续发送的第一包IP报文Id为338。

在转发Id为261~1 000的报文时间,仅实际转发了271-261=10个报文。总用时6.27 465-1.74 817=4.526 48 ms,新 产 生 的 总 令 牌 为4.526 48 ms×1 024 kbps≈4 636 bit,每包数据消耗令牌64×8=512 bit,发包总计需消耗令牌512×10=5 120 bit,而5 120 > 4 636,5 120- 4 636=484 bit,即转发报文所需的这些额外令牌来源于剩余令牌,令牌补充速率=1 024 kbps=cir。

因此令牌桶大小 cbs为(261-1)×64×(100 M -1 024 K)/100 M=16 640 byte≈16 kbyte。

由于从令牌桶耗尽的同时出现收端报文IP头部Id不连续,因此ER的hqos policy pq缓存为0,报文不能进入如图1所示的 QoS缓存队列;cbs为16 kbyte,最多允许突发11包1 500 byte的报文。

从表1中数据可以看出,令牌桶耗尽之后每隔1 ms连发2个64 byte报文,每包消耗512个令牌,期间补充1 024个令牌,因此还可以推断ΔT=1 ms,即是每1 ms补充一次令牌(而不是更长的时间),再进行流量控制。

3.2 AS设备的LR特性进行测试

AS设备支持 lr命令,用 qos lr实现端口限速[12]。

配置端口LR为1 024 kbps,cbs取允许的最小值(4 000 byte)时,使用TestCenter测试仪进行测试,发送速率120 Mbps,包长1 500 byte,突发发送1次,每次突发包数256时不丢包,每次突发包数257时丢包,其余参数保持默认值。收包统计如图4所示。

图4 AS设备端口限速的效果

采用同样方法进行多次测试,结果表明:

①AS设备LR为物理层机制。

②AS设备LR机制允许突发流量将令牌桶耗尽,之后才输出均匀的流量为cir。cbs越大则允许突发流量越大。

③AS设备 LR缓存为384 kbyte,可以缓存1 500 byte报文256包。

可见AS设备LR的实测结果和LR的理论效能一致。

3.3 现网问题的解决

根据设备LR实测结果和对业务数据的统计分析,在通信专网中采用下面3种方式进行处理后都没有再出现丢包现象:①优化采集终端软件,按照设计要求使其发包间隔稳定在6.25 ms左右,避免出现连续的超小间隔(<2 ms)报文;②在区域处理系统接入交换机AS上联端口上配置LR;③用交换机AS代替路由器ER,并配置LR。需要注意:在配置交换机 LR时需将 cbs取尽可能小的值(如4 000 byte)。具体采用哪种方式处理还需考虑网络中安全设备的部署是否出现报文重组和重新分片等情况。

4 结束语

了解路由器和交换机在限速状态下突发支持能力的差异,对于合理组网和规划网络QoS保证措施具有一定的指导作用,在现网中已经取得了良好的效果。

在未来的工作中,可以继续采用本文提出的LR测试方法对通信专网的其他设备进行类似测试,用于排查高速接口连接低速链路的故障和获得设备QoS效能的第一手资料。

[1] 杭州华三通信技术有限公司.网络之路——QoS专题讨论[M].杭州:杭州华三通信技术有限公司,2005:92-98.

[2] 吕 艳,王丹丹.QoS测试方法初探[J].硅谷,2010(24):172-176.

[3] 林 涛.网络设备Qos特性的测试方法研究[D].北京:北京邮电大学,2013.

[4] 赵云栋.IP QoS技术探讨及应用部署[J].信息安全与技术,2011(1):52-56.

[5] 马刈非.卫星通信网络技术[M].北京:国防工业出版社,2003:132-156.

[6] 曹彦军,王克勤.基于卫星广播的IP组网技术[J].无线电工程,2013,43(12):10 -12,28.

[7] RFC768.User Datagram Protocol[S],1980.

[8] RFC791.Internet Protocol[S],1981.

[9] 张彩月,陈 良.基于数据库的遥测数据传输系统的设计[J].无线电通信技术,2013,39(3):46 -49.

[10]盛 翔.Qos测试的一种实现方法[J].电子质量,2008(4):31 -33.

[11]梁 栋.QoS测试浅析[J].电信网技术,2009(2):46-51.

[12]杭州华三通信技术有限公司.路由交换技术(第3卷)[M].北京:清华大学出版社,2012.

猜你喜欢

令牌专网路由器
买千兆路由器看接口参数
称金块
维持生命
路由器每天都要关
路由器每天都要关
基于路由和QoS令牌桶的集中式限速网关
无线专网通信在武汉配电自动化中的应用
无线通信技术在电力通信专网中的应用
动态令牌分配的TCSN多级令牌桶流量监管算法
2015年预测:逐步普及化的私有云