韩强
摘要:针对网络数据传输过程中存在丢包的问题,构建模拟环境对丢包现象进行了具体分析,得出了线路接触不良、网络设备处理性能差和设备端口传输带宽不足导致的数据丢包原因,丢包率过高会引起重要数据的丢失,导致数据传输失败。通过对网络设备处理性能进行研究,得出网络设备会因不同的流量控制策略而产生丢包等结论,提出了流量控制措施需结合不同流量特性来确定的结论。
关键词:流量控制;QoS;缓存;限速;令牌桶
中图分类号:TP393文献标志码:A文章编号:1008-1739(2019)24-60-4
0引言
当网络设备需要与低速物理传输线路相连时,为确保关键数据传输的可靠,需要配置必要的流量控制措施,网络设备的流量控制措施包括流量监管(Committed Access Rate,CAR)、流量整形(Generic Traffic Shaping,GTS)和端口限速(Line Rate,LR)3种,这3种流量控制措施都属于速率限制类型,但实现原理和最终效果有较大差别,具体选择哪一种流量控制措施需结合网络数据的流量特性来确定[1]。
1丢包原因排查
1.1丢包原因排查
数据由数据发送终端发出,依次经接入交换机、汇聚交换机、防火墙、保密机、路由器、复分接器和Modem传输,数据传输过程如图1所示。
数据传输所经过的接入交换机、汇聚交换机和路由器具备线速转发能力,即数据由输入端口按线路速率输入时,经设备处理后还可以从输出端口按线路速率输出,系统的处理性能不会影响数据的传输[2]。
1.2丢包位置排查
将经路由器广域网端口和汇聚交换机与防火墙相连端口传输的数据镜像至监视计算机,利用数据发送软件的通信监视功能,对数据传输过程进行实时监视,通过对输出数据包数、汇聚交换机输出数据包数和路由器输出数据包数的比较,发现数据丢包发生在汇聚交换机与防火墙的互连端口至路由器广域网端口之间的传输过程中[3]。
1.3丢包原因分析
为准确定位丢包位置并确定丢包的真正原因,对从汇聚交换机与防火墙互连端口的镜像输出的数据包以ms為单位进行数据传输速率分析,发现由数据发送终端发出的数据包存在明显的突发现象,数据通常在发送周期的第1 ms内发送完毕,发送速度达到6~8包/ms,包长5 642 Byte。汇聚交换机输入端口接收数据包情况分析如图2所示。
在向数据发送终端发送数据包之前,数据存在积累,假设每20 ms向数据发送终端发送一次数据包,基带接收大数据的速率为4 192 kbps,那么在20 ms的时间内积累数据为10 480 Byte,加上应用层的包头,在网络中需要封装为4个IP数据包进行传输。另一方面,数据发送终端应用软件的数据发送环节多,数据发送过程并不能精确地控制数据的发送频率,也会引起数据突发。应用软件将需发送的数据提交给操作系统,当系统繁忙时,数据将被缓存在操作系统的缓存中,当操作系统空闲时,就会将积累的数据包一次性地提交给网卡驱动程序,最终通过网卡硬件发送至传输线路上[4]。当网络设备的输出端口未进行流量控制时,所有数据直接转发至接收设备。若网络设备的输出端口设置有流量控制策略,则会出现如图3所示的数据包瞬间过载情况[4]。
对于包长为5 642 Byte的数据包,网络设备的源端接收速率可达22包/ms,当路由器出口限速为5 120 kbps时,路由器每ms可发送的数据为640 Byte,还不到一包,因此,由上游突发传输至路由器的数据包不能及时发送出去,当路由器不具备缓存功能或缓存容量不足时,数据包必然会被丢弃,从而导致丢包。
2网络设备流量控制策略与数据传输特性
2.1流量控制措施的实现原理
2.1.1流量监管
流量监管(CAR)是通过监督进入网络的流量速率,对超出部分的流量进行“惩罚”,使进入的流量被限制在一个合理的范围内,从而保护网络资源和企业网用户的利益。CAR技术没有缓存队列机制,所有超过限定速率的数据都会被丢弃,而TCP或IP的数据是经常伴随着突发流量的,导致数据经常被丢弃,CAR技术对此做了一定的改进,即在某一时间间隔内如果有突发流量,则使用CBS的剩余令牌以及PBS的令牌传输一定的突发流量。
2.1.2流量整形
流量整形(GTS)是通过限制流量与突发来主动调整流量输出速率,使报文以比较均匀的速率向外发送。GTS通过使用缓冲区和令牌桶来完成,报文发送速度过快时,在缓冲区先进行缓存,经过令牌桶的控制,再均匀地发送被缓冲的报文。当下游设备接口速率小于上游设备接口速率或发生较大的突发流量时,下游设备接口处会出现流量拥塞的情况,用户可以在上游设备配置GTS,将上游不规整的流量进行整形,输出一条比较平整的流量以解决下游设备的拥塞问题。
2.1.3端口限速
GTS技术是对具体的流做限速,并且不同的流之间不可相互抢占服务带宽。当用户要求对某一接口发出的所有报文进行限速,而不区分流的类型时,就需要用到端口限量(LR)技术。当令牌桶中存有令牌时,允许报文的突发性传输;当令牌桶中没有令牌时,报文必须等到桶中生成了新的令牌后才可以继续发送。这就限制了报文的流量不能大于令牌生成的速度,既限制了流量,又达到允许突发流量通过的目的。LR对报文的处理在链路层进行,当用户只要求对接口发出的所有报文进行限速时,使用LR比较简单。ATM接口不能配置接口限速功能,LR功能只能在低速卡的出接口上进行配置[5]。
2.2流量控制措施形成的数据传输特性测试
2.2.1令牌桶工作参数测试原理
对于令牌桶工作参数测试来说,主要是验证经过设备QoS处理之后的流量是否降到了约定信息速率(Committed Information Rate,CIR),所限定的值,令牌桶的实际尺寸是否符合设备的配置,经过重新标记的报文是否被正确标记,这些都和令牌桶的机制有关。
①输入流量速率:应高于,且不超过设备的转发性能。
②输出流量速率的测试:统计输出速率必须等待令牌桶第一次令牌耗尽之后,在此之前设备转发的速率是高于的。
③令牌桶的大小:令牌桶大小的测试以测试完成为前提。如果不准确,测得的令牌桶大小也将不准。以超过的速率发送报文并开始计时,令牌桶中的令牌以-的速率逐渐消耗掉。在1时刻第一次出现令牌不足,设备转发报文的速率降至,直到发送结束时刻2。整个过程如图4所示。
假定为接收到的报文总字节数,根据令牌桶的工作原理不难得出= -2×÷8。需要指出的是,有些QoS特性仅有报文IP头以上部分消耗令牌,有些是链路层及以上部分均消耗令牌。通过比较实测的值和配置的值还可以判断出以太网端口QoS工作在OSI参考模型的第几层。因此,上述公式中令牌桶大小需要和在OSI参考模型的同一层上进行计算,否则会出现较大偏差[5]。
2.2.2缓存的测试原理
LR, CAR在输入流量相同的条件下输出波形相同,但由于LR有缓存而CAR没有缓存,因此,在时刻1之后2之前LR还会有一段时间发送的是缓存队列的数据。通过测试仪观察不到这种差别,必须通过抓包软件对1~间开头部分报文的IP头部ID进行逐个观察,找到第一次报文ID不连续的时刻3,则在1~3之间所有ID连续的报文都是缓冲区中的报文,这些报文的字节数之和就是缓存队列的大小。
3流量控制策略优化
流量控制策略优化方案包括发送端数据发送精确定时、源端数据输出电路降速和网络设备Qos策略优化3种。
3.1数据发送精确定时
采用发送精确定时,可确保数据发送终端按设定的数据发送周期在规定的时刻发送数据,这样即使数据发送终端数据输出接口的线路速率再大,只是降低了数据发送所需要的时间,而不会在下游传输链路上形成数据瞬间突变。由于网络设备不缓存数据,其接收数据包的能力与令牌桶大小相关。假设令牌桶大小为cbs,基带大数据接收速率为,则数据发送周期≤(-)/,其中,为IP数据包头的大小,包括IP协议头和应用层协议头。数据发送周期越小,令牌桶中能夠容量的数据包数量越多。
3.2源端数据输出电路降速
数据发送终端与交换机之间互连电路的传输速率高达 1 000 Mbit/s,而数据传输链路上的卫通电路的数据传输速率只有5 Mbit/s,远低于数据发送终端与交换机之间的数据传输速率。当采用仿真软件发送数据时,汇聚交换机接收端口每毫秒接收到的数据包突发时达到8包,折算得到数据发送速率高达361 Mbit/s,远远高于路由器出口的限速。当这些数据包发送到路由器时,能够顺利转发的数据包数与令牌桶的大小cbs有关,而cbs不可随意设置,需结合下游设备的数据传输能力进行设置。
由于网卡可以工作在100 Mbit/s和1 000 Mbit/s两种速率,可以将数据发送设备与网络设备之间的电路速率降低为100 Mbit/s,此时,数据发送速率能够满足数据传输的要求,但数据包突发能力大大降低,原来的传输电路在1 ms内可突发传输22包,降速后只能传输2.2包,因而对下游数据传输设备的冲击影响将大大降低,根据数据分析结果可以确定,数据突发不超过4包/ms时,数据传输不会出现丢包,问题可以不依赖数据发送精确定时而解决。
3.3网络设备Qos策略优化
在接入交换机、汇聚交换机和路由器等部位部署Qos策略,汇聚交换机和接入交换机可设置令牌桶的大小,路由器不能设置令牌桶的大小,令牌桶越大,抗上游数据设备数据突发能力越强,但限速效果越差。可选择的限速策略包括流量监管、流量整形和端口限速3种,其中,流量监管无数据缓存能力,抗数据突发能力较弱;流量整形具备数据缓存能力,抗数据突发能力强;端口限速适用于对所有流量进行限速。无论采用何种策略,当上游设备的数据突发量超过设定的令牌桶容量和缓存大小时,都会发生数据丢包。令牌桶设置过大,虽然能够承受上游设备的数据突发,但其输出数据也会存在突发,势必对下游设备产生影响,如果突发速率超过下游设备的承受能力,同样会发生数据丢包[6]。
3.4流量控制策略优化建议
对比上述3种流量控制策略优化方案,数据发送精确定时需要解决操作系统与应用软件的配合问题,难度较大。优化调整Qos策略步骤复杂,需要计算和设置的参数较多,针对某条数据流的策略不能适用其他数据流。由于Qos策略可在数据传输链路上的所有设备中部署,在不同设备上部署会产生不同的流量控制效果,无法进行量化比较,而且,不同的网络设备Qos参数的设置也不同。源端数据输出电路降速策略可直接避免数据突发现象的发生,且操作过程简单,便于实施。
4结束语
为避免后续发生数据丢包问题,并且确保问题解决方案能够适应不同数据类型,从数据发送源头着手,采用源端数据输出电路降速方案,输出电路降速后,能够有效控制网络中的数据突发,从源头上解决网络数据丢包问题。
参考文献
[1]李胜军.计算机网络通信安全中数据加密技术的应用[J].电子技术与软件工程,2017(23):190.
[2] Brown N A,Norton J A.Thruster Design for Acoustic Positioning Systems[J].Marine Technology,1975,12(2): 122-137.
[3] Fischer R W.Shipboard Noise Prediction Algorithms[J]. Acoustical Society of America Journal,2001,110(5):2713.
[4]孙良旭,李林林,吴建胜,等.路由交换技术:第2版[M].北京:清华大学出版社,2010.
[5]盛志伟,刘仕筠,李群.以太网数据包捕获与转发技术[J].微计算机信息,2006(34):279-282.
[6] Fischer R.Bow Thruster Induced Noise and Vibration[C] // Dynamic Positioning Committee,Marine Technology Society,USA,2000.