于红增,冯 伟
(1.中国电子科技集团公司第五十四研究所,河北 石家庄 050081;2.中国人民解放军66061部队,北京 102300)
随着网络技术的发展,以太网技术早已成为局域网的主流。相比之下,广域网技术相对复杂,线路使用费用高昂,且需要专门的设备,速率也较低。通过协议转换器可以将广域网接入模式转换成局域网接入模式,降低网络复杂度和网络成本。如今企业网中不再为路由器配置低速Serial和E1/T1等接口,只配置以太网接口,而采用广域网协议转换器实现与传输设备相应低速接口适配[1-2]。
随着业务的IP化,企业网络可以统一承载数据、语音、图像和视频等业务,合理部署QoS策略才能保证各业务对吞吐量、时延、抖动和丢包率的要求,文献[3-6]对各种IP QoS技术、服务模型和部署方式等进行了讨论。文献[7]提出了QoS在某专网上具体的部署应用,保障了网络中各业务的服务质量要求。文献[8]提出了IP网络QoS测试的标准方法和流程。文献[9-14]提出了QoS测试的一些具体方法,但都集中于具体QoS指标的测试,属于验证性测试;关于QoS指标不满足要求,如何确定影响QoS的因素,都没有涉及。文献[15-16]设计了对端口限速时令牌桶工作参数和缓存能力的测试方法,属于对设备QoS机制的白盒测试,实现了对路由交换设备QoS指标影响相关参数的测试。
本文结合实际应用,通过提出依据等效替换原理对协议转换类设备QoS指标动态范围进行测试的黑盒方法,使得确定导致数据报文时延抖动超过门限及IP语音音质差问题的关键因素的方法更加高效、直观,据此设计的QoS改进方案经试验具有可行性,且系统QoS指标具有可预见性。
协议转换器实现协议的转换,又称网桥或协转。协议转换实质上是一种映射,即把某一协议的收发信息序列映射为另一协议的收发信息序列。基于多种通信接口和各种协议形成种类繁多的协议转换器,如以太网协议转换器包括以太网/E1、以太网/STM-1、以太网/RS 530、以太网/xDSL和RS 232/422/485/以太网等多种类型。
利用E1链路来传输以太网数据在远距离通信的用法如图1所示,其中用到以太网/E1协议转换器。
图1 以太网/E1协议转换器的部署
以太网/E1协议转换器延长了以太网信号的传输距离,可有效节省广域网链路带宽资源,降低链路使用成本是一种低成本的网络延伸/接入手段。
以太网速率高(最低10 Mbps),而E1链路速率低(2 Mbps);如果企业网中的TCP/UDP数据以大包为主(传输层Data为7 000~27 000 Byte),必然会导致协议转换器E1链路出口的瞬时拥塞,拥塞就会产生数据时延增加和丢包,对于IP语音则产生断续和丢字现象,对于实时控制数据可能传输时延和抖动超限,总之拥塞影响业务系统的有效运行。不难看出图1中协转的QoS性能非常关键。
E1链路传输以太网数据,在实现协议转换、链路速率适配的过程中,由于广域链路为低速E1链路,因此协转不能看做理想设备,其引入的影响端到端QoS因素主要包括:
① 经过协转后相邻以太网帧的间隔增加。协转以太网接口速率一般为10/100 Mbps自适应,以10 Mbps以太网为例,相邻两帧1 500 Byte报文的帧头间隔时间是(1 500×8 bit)÷10 Mbps×1 000=1.2 ms,经2M E1链路后该间隔就变为1.2 ms×10/2=6 ms,不计编解码处理时延和协议转换开销,在10 Mbps链路上紧密相邻传输的两帧1 500 Byte数据帧经过协转后帧头间隔增加了4.8 ms。
② 协转转发缓存大小决定了承受以太网侧报文突发的能力。高速到低速的转发必须借助缓存机制来实现,在企业网环境中,数据源产生的数据具有周期突发性,UDP Data最大可达27 000 Byte,分成多片IP包进行传输[17-18],要求协议转换器在转发过程中不能丢失报文片段,缓存必须足够大。
③ 缓存大小决定了协议转换器引入的最大时延。以太网侧进入的不同业务数据以先入先出(FIFO)的方式从E1侧低速输出,排在E1端口发送缓存尾部的数据其转发时延会大大增加。
④ 实用吞吐量。E1链路编码速率为2 048 kbps,可以认为E1链路的吞吐量就是2 048 kbps。受协议、帧格式等的影响,以太网侧的吞吐量并不等于2 048 kbps,且在不同的以太网帧长对应的吞吐量也不一样。
⑤ E1链路的时延容差。当数据平均流量大于单条E1链路容量时需要采用多条E1链路来进行负载分担,实际使用中受广域网链路条件限制,不同的E1链路实际上经过的可能是不同的物理传输路径,导致其传输时延、丢包率不一致,协议转换器必须对此有一定的适应能力(如进行时延校正,保证收端报文不乱序)。
协转公开的技术参数只是接口物理特性和电气特性,QoS能力和动态范围很少提及,这导致部署协转后可能会严重影响系统QoS。本文结合项目需求,填补了这方面公开文献和厂家技术资料的空白。
网络QoS指标测试要遵从一定的顺序,首先需要测出的性能指标是吞吐量和时延,单设备的测试也一样。
利用等效替换法,可以将2台背靠背连接的以太网/E1协议转换器看作是一台虚拟以太网设备,如图2中虚线所示,其外部接口为以太网,内部总线为E1,交换容量为E1带宽2 048 kbps。显然该设备的“交换容量”低于以太网接口速率。该虚拟设备的吞吐量代表了它能够转发的以太网报文速率,即实用吞吐量。
图2 成对以太网/E1协议转换器的等效原理
在不发生拥塞的情况下传输报文,以太网/E1协议转换器输入接口和输出接口通过的帧频是相同的,即单位时间(1 s)内从某个接口流入了多少数据帧,从另一个端口一定也会流出相同帧数的数据。在帧长一定时,帧频存在一个上限,超过这个上限,协转不能及时转发新收到的报文,新到报文进入缓存队列或者被丢弃,该上限称为包转发能力,对应的单位时间流量即为吞吐量。数据速率超过吞吐量时,新到数据报文来不及转发,会暂存起来,在端口缓存中等待后续转发,这些报文的转发时延会增加。当累积的数据报文超过了缓存容量,新到报文因不能缓存而产生丢包。
测试步骤如下:
① 对吞吐量进行预估。在整个转发过程中,如果未产生丢包,经过虚拟以太网设备的输入帧数、输出帧数和内部E1链路传输帧数是相等的,即
都等于单位时间内的帧数,其中L为以太网帧长,单位Byte;等号左边的20为以太网帧间隙,单位Byte;等号右边的C为E1链路编码相对于以太网帧增加的字节数。TL为E1链路信息速率,如果E1链路以满负荷传送信息,则TL达到最大值TLo=2 048 kbps,此时TH为基于以太网帧的吞吐量THo。
② 考虑设计初始输入流量速率v。初始流量v应高于THo,取2倍的TLo即可。采用RFC 2544标准进行测试时,流量范围可以取从0~2倍的TLo,初始流量取TLo即可。
③ 吞吐量和时延的测试。吞吐量即设备无丢包时的最大转发能力。通过对流经虚拟设备稳定流量的观察,当其由大到小降到了与其内部低速接口速率相当且未发生丢包时,或者当其由小到大增加到与其内部低速接口速率相当且即将开始丢包时,即为吞吐量。
在测试仪数据发送停止后,虚拟网络设备缓存中可能存在数据,导致测得吞吐量值偏大。文献[8-14]对QoS的测试只是验证性测试,且未提出改进途径,根据文献[19-20]对吞吐量的分析,对吞吐量更为准确的描述应该是:吞吐量是设备或系统从入口到出口的最大转发能力,当以该速率恒定转发流量时,转发过程没有丢包,且所有报文被公平转发。此处所谓公平从时延角度可以理解为转发时延和轻载时延(小于10%吞吐量)基本相同,且最大转发时延和平均转发时延在流量发送过程中没有明显的增长。
利用思博伦网络测试仪(如SPT-9000A)进行上述测试时,可以通过“Detail Stream View”视图获得报文的“min delay(μs)”,“avg delay(μs)”,“max delay(μs)”,可以认为当最小时延和最大时延处于同一数量级、大小基本相当时,对应的流量就是吞吐量。在测得吞吐量的同时也获得了时延和时延抖动指标。
对于以太网接口,通常要测试64(最小以太网帧长),128,256,512,1 024,1 280,1 518 Byte的吞吐量,测试时需禁用流控功能。
网桥设备缓存容量的测试建立在吞吐量THo测试完成的前提下,如果THo不准确,测得的缓存大小也将不准。
以超过THo的速率v发送长度为LEN的IP报文并开始计时,转发缓存以v-THo的速率逐渐消耗掉,在t1时刻第一次出现缓存不足,随后到达的数据帧被丢弃,抓包可以发现IP头部Id第一次出现不连续。从开始到t1时刻,报文转发时延持续增长。继续发送流量,缓存保持满的状态,报文转发时间保持稳定。t2时刻测试仪停止发送数据,缓存中的数据逐渐发送直至t3时刻清空,接收端再也收不到任何数据。整个过程如图3所示。
图3 缓存大小测试原理
通过在接收端抓包,假定Id1为IP头部Id(测试时从0开始)第一次出现不连续时前一包的Id值,根据缓存的工作原理得出:
实际测试时可取v等于以太网接口速率,以尽快耗尽缓存,此时v>>THo,buf≈Id1×LEN。
本文设计的测试方法不针对任何特定以太网协议转换器的QoS指标测试,具有普适性。本利用网络测试仪对企业网部署的FE/E1网桥进行了测试。
利用一对FE/E1网桥背靠背进行吞吐量和时延抖动测试如图4所示,中间连接一路E1,相当于背板容量为2 048 kbps的虚拟以太网设备。网桥和测试仪的接口为以太网电接口,自协商模式,百兆全双工。
图4 网桥吞吐量和时延测试原理
① 第1次测试,确定测试仪配置参数。
测试时选择RFC2544标准,依次对帧长为64,128,256,512,1 024,1 280,1 518 Byte的以太网帧进行测试,吞吐量逼近方式为自动二分法(初始负载2%,负载下限1%,负载上限3%,回退比例50%,分辨率0.01%,通过丢包率0%),双向流量发送时间为30 s。测试结果如表1所示。
表1 吞吐量和时延测试初步结果
帧长/Byte吞吐量/%最小时延/μs平均时延/μs最大时延/μs642.43520.01805 549.121 610 594.101282.29801.48924 746.581 848 718.852562.211 319.101 009 081.302 016 824.995122.172 433.911 063 520.532 124 614.961 0242.154 631.371 095 125.042 185 617.941 2802.145 711.911 101 592.802 197 459.281 5182.146 742.211 125 830.072 244 922.78
协转具有缓存,如果注入的流量超过了吞吐量,在流量注入期间,最大时延和平均时延会持续增长,直至缓存溢出,产生丢包。表1中每种帧长的最小时延和最大时延差别都比较大,表明网桥缓存较大,测得的吞吐量比实际值偏大,至于没有丢包,则是流量注入时间不够长,缓存未溢出。
应增加流量注入时长,保证注入流量稍大于吞吐量即可产生丢包。最终当最小时延和最大时延差别足够小时,协转缓存一直保持近似空的状态,测得吞吐量有效。
② 第2次测试,调整发送时间重新测试。
再次使用RFC2544进行测试,其他参数不变,仅调整双向流量发送时间为60 s。测试结果如表2所示。
表2 吞吐量和时延测试最终结果
帧长/Byte吞吐量/%最小时延/μs平均时延/μs最大时延/μs642.20488.19518.89568.481282.15761.70793.46841.252562.001 307.551 340.741 387.265122.002 408.052 436.352 484.771 0242.004 597.904 628.014 674.421 2801.926 330.076 408.346 470.771 5181.925 335.425 416.675 445.66
由于最小时延和最大时延差值已很小,符合吞吐量测试的预期,吞吐量取测量值,时延取平均时延即可。
如图4所示,继续对上述虚拟设备进行缓存能力测试。计算过程用到了表2测得的吞吐量。测试方法为采用突发连帧(Burst)方式发送流量,接收端口抓包后进行分析计算。测试帧长为64,128,256,1 518 Byte。突发次数(Bursts)为1,一次突发以太网帧数(BurstSize)为100 000。发送单向流量,测试单台设备的缓存即可。
BurstSize太小则突发流量不能耗尽缓存,测得的缓存偏小;BurstSize必须足够大以保证缓存能够一次耗尽。测试结果如表3所示。
表3 网桥缓存能力测试结果
帧长/Byte吞吐量/%IP头部Id第一次不连续时前包序号L2缓存能力/KByte642.205 806360 1282.153 516440 2562.001 973494 1 5181.92378573
从表3可以看出,该型网桥的缓存对于各种包长的帧,可用缓存大小不同,对64 Byte帧来说最小,只有360 KB。从应用角度,不必关心差异的具体机理,只要了解设备有多少缓存就可以了。FE/E1网桥的可用缓存在各种帧长下不小于360 KB。
在企业网中FE/E1网桥的部署方式与图1类似,广域网链路为单E1链路,以太网链路为百兆全双工。广域网业务只有1.5 Mbps,小于端到端吞吐量。但在系统开通测试时发现UDP大包数据存在丢包,而小包数据丢包率为0;跨广域网的端到端时延分布在较大的范围,时延抖动超出了业务容许门限。在通信网中部署协议转换器,在选型和部署时应考虑协转QoS指标的动态范围。依据测试结果,采取的QoS改善措施如下:
① 在路由器的广域网出口做流量整形,由于业务以UDP大包数据为主,其分片长度为1 500 Byte(对应以太网帧长1 518 Byte),对照表2测得的吞吐量,整形速率设置为1 920 kbps。
② 为了保证企业网不同业务经过广域网传输后时延抖动不超过要求的50 ms,由表3可知,FE/E1网桥的缓存不小于360 KB,对应最大缓存时延为360×4 ms=1 440 ms,远远大于允许值,即企业网中突发大数据量业务的存在必然导致实时数据业务和语音业务的QoS无法保证。因此,需对业务系统和路由器的流量突发进行限制,保证流入协议转换器的突发量不超过1.5 KB/6 ms×50 ms=12.5 KB。
采用上述措施后,企业网在不必使用更大带宽和更换设备的情况下,丢包和时延抖动过大问题得到解决,保证了各种业务的传输质量。
采用本文提出的单设备QoS指标测试方法,可以获得协议转换器对系统QoS指标影响的动态范围以及超限的机理,在此基础上提出了系统QoS改善方案,试验证明可以满足各类业务对端到端时延、抖动和丢包率等QoS保障的要求。后续可利用更多设备QoS指标及其动态范围的测试结果进一步完善系统QoS评估方案和部署方案,能够帮助企业网提供更好的服务质量。