小缓存状态下数据包大小对TCP流性能的影响

2017-05-15 03:48闫婷婷颜金尧张博
关键词:包率队列吞吐量

闫婷婷,颜金尧,张博

(中国传媒大学 信息工程学院,北京 100024)

小缓存状态下数据包大小对TCP流性能的影响

闫婷婷,颜金尧,张博

(中国传媒大学 信息工程学院,北京 100024)

从路由器缓存容量为出发点,着重研究了在不同缓存空间下,TCP流的数据包大小对路由器性能的影响。首先,通过建立两条流的理论模型,结合路由器的队列管理机制,分析了TCP流数据包大小对丢包率的影响,发现数据包越大,丢包率越高;其次,基于NS2仿真软件,建立了相应的网络拓扑,通过实验得出TCP流的数据包越大,丢包率越大,但是吞吐量也有所增加。

路由器缓存;TCP流;丢包率;吞吐量

1 引言

网络新媒体技术的飞速发展以及互联网规模的不断扩大,对网络服务质量提出了更高要求,而路由器作为连接不同网络的枢纽,其性能直接决定着网络通信的服务质量。路由器的主要性能指标包括吞吐率、延迟、利用率和丢包率等[1]。对于网络交换数据来说,路由器的缓存是必不可少的。缓存可以通过吸收网络中的突发流量,从而减小丢包,但同时也引起了排队时延和抖动,所以,如何设置缓存大小,使网络的各个性能参数达到最优折中,将会是个非常重要的问题。路由器缓存大小设计的研究已经经历了几十年,经过不断的实验也得出了一些不同的结论。然而,到目前为止,路由器缓存需求的研究仍然没有统一的结论[2]。

本文在研究小缓存的同时,发现数据包的大小对路由器的网络性能来说也是一个非常重要的因素。不同大小的数据包对丢包率和吞吐量都有不同程度的影响。根据链路层的需求,通常在Internet的数据包大小已经明确规定,比如以太网。这导致在以太网中最大的数据包大小为1500bytes[7]。然而,很多应用(如VoIP应用)为了把分包延时降到最低而使用一个小包的流[8]。另一方面,使用TCP协议的数据传输时,一般数据包大小为1500bytes。在另一篇论文[9]中,作者在无线IPv6网络上,在TCPVegas协议上使用包间隔实现调查不同的FTP包如何影响交付延时,通过调整TCPVegas包间隔进行仿真。通过包间隔均匀的发出数据流使得瓶颈链路流的突发性降到最小。在实验仿真中,在无线IPv6环境下,发送不同大小的FTP数据包。实验结果表明不同大小的数据包导致网络性能有所差异。FTP包大小为512bytes是最合适的,这时丢包率小,队列时延低,链路利用率高。因此,当数据包在无线IPv6网络中传输时,他们建议包大小为512bytes。然而,在类似的文献中没有更多有用的信息表明不同的数据包大小对于TCP流不公平性的影响。为了研究不同数据包大小对TCP流性能的影响,我们做了相关研究。

本文首先建立了最简单的模型,在这种模型下分析了数据包大小对TCP流性能的影响;其次,为了验证我们的理论模型,在NS-2仿真软件上建立了相应的网络拓扑,并根据实验结果进一步阐释数据包大小对TCP流丢包率和吞吐量的影响;最后得出结论并提出进一步的研究方向。

2 理论模型

图1 理论拓扑结构

如图1所示,我们采用经典的哑铃拓扑结构,其中,n=2。我们使用两条TCP流通过一条瓶颈链路,瓶颈链路带宽为Cout,每一条TCP流的接入链路带宽为Cin,假设第一条TCP流的数据包大小为l1,第二条TCP流的数据包大小为l2,并且l1>l2,同时我们假定一些相关参数。如表1所示:

表1 具体参数及代表意义

假设TCP1的到达速率为λ1,TCP2的到达速率为λ1=λ2=λ,数据包从路由器Router0进入到瓶颈链路的出速率为Cout。根据路由器的队列长度管理策略Drop Tail可知,当路由器缓存队列已满时,这时刚到来的数据包将会被丢弃。假设路由器缓存队列队头的数据包为TCP1的数据包,那么这个包从路由器进入到瓶颈链路的时间为:

(1)

同理,如果这个包是TCP2的包,那么这个包从路由器进入到瓶颈链路的时间为:

(2)

由于l1>l2,所以t1>t2

假设这时路由器缓存队列已满,在很短的时间段t内,t

(3)

同时,P也表示了在时间内,该数据包被丢掉的概率。

根据式(3),得TCP1和TCP2在内丢包的概率:

P1=1-e-λ1t,P2=1-e-λ2t

(4)

联立可知,TCP1的数据包和TCP2的数据包被丢掉的概率的比值为:

(5)

在时间段内,TCP1和TCP2的流量S相等,则TCP1数据包的个数和TCP2数据包的个数的比值为:

(3)本文经彩色多普勒超声检查的截瘫患者静脉血栓发生率与文献[5]报道一致。我们于治疗前后动态观察下肢静脉血栓,发现治疗后血栓缩小,血管再通率较治疗前提高,且截瘫患者康复时间也明显缩短。可以说,利用高频彩色多普勒超声动态观察截瘫患者下肢静脉血栓形成情况对指导临床治疗有重要意义。

(6)

则TCP1和TCP2的丢包率的比Rloss可以表示为:

(7)

根据上面的分析,可得

(8)

联立,可知

(9)

根据上式可以看出,l1>l2,Rloss>1,也就是说TCP1的丢包率大于TCP2。综上可以得出结论:大的数据包越容易被丢弃。

3 实验验证

3.1 实验过程

表2 实验设置

3.2 实验结果

图2表示TCP流的丢包率,图3表示TCP流的吞吐量。

图2 不同缓存大小对应的TCP流的丢包率变化曲线

图3 不同缓存大小对应的TCP流的吞吐量变化曲线

图2展示当缓存大小为20KB,30KB,40KB和50KB时,TCP流的丢包率随数据包大小的变化趋势。我们可以看出随着缓存的增大,TCP的丢包率逐渐下降,对于固定的缓存大小,数据包越大,TCP流的丢包率也就越大,这符合我们理论模型的推导。图3展示了TCP流的吞吐量和缓存大小以及数据包大小的关系。纵向比较可以发现,当缓存设置为20KB,缓存队列空间无法满足网络的需求,导致吞吐量偏低,当缓存为40KB时,缓存大小已经不是限制TCP吞吐量的因素。同时我们可以发现,当缓存设置合理时,数据包大小对TCP流的吞吐量的影响并不显著。当数据包大小从200byte逐渐增大的过程中,TCP流的吞吐量缓慢增加,当数据包大小为1000byte时,TCP的吞吐量达到最大,并且基本保持稳定,所以我们在实验的过程常常将TCP的数据包大小设置为1000byte。

根据经典的TCP流吞吐量的表达公式[11]可知,单条流的平均吞吐量可表示为:

(10)

假设有条流,则总的吞吐量可以表示为

(11)

其中,k为常数,T表示TCP流的平均往返时间,表示数据包的长度,表示丢包率。对于相同的网络环境,则有:

(12)

从图3可以看出,TCP流的吞吐量随着数据包的增大有缓慢上升的趋势,但是这和我们直观上的认识有所偏差。理论上,随着丢包率增大吞吐量呈下降趋势。另外从公式(12)可以看出,吞吐量的大小与数据包长度和丢包率都有关,其变化趋势由数据包长度和丢包率决定。从图2可以看出,丢包率随着数据包长度的增大呈近似直线的方式上升,数据包的增长速度显然大于丢包率平方根的增长速度,由此吞吐量呈现上升的趋势。

综上可知,对于长度较大的TCP流数据包更容易发生丢包行为,但是吞吐量并没有因此而有所下降,反而大的数据包更容易获得较高的吞吐量,因此合理的设置数据包的大小对TCP流的性能至关重要。

4 结论

本文主要研究了TCP流的数据包大小对TCP流性能的影响。这章从两个方面着手,首先建立了一个简单的两条流的模型,通过理论分析得出数据包越大越容易丢包。随后为了验证这个结论对多条流的网络是否适用,我们在网络仿真平台上进行了实验,主要从TCP流的丢包和吞吐量两个方面进行研究。实验结果表明,数据包大小对TCP流的丢包率和吞吐量均有不同程度的影响。数据包越大,越容易发生丢包,但是更容易获得较高的吞吐量。也就是说,为了使TCP的性能达到最优需要合理的选择数据包的大小。同时,需要指出的是,本章在研究数据包大小的不公平性影响只是定性的研究了丢包率和吞吐量的变化趋势,并没有得出具体的相互关系。同时,本文只研究了TCP流的数据包大小对TCP流性能的影响,并没有关注网络中存在的开环流量,所以这些可以作为以后的研究方向。

[1]李玉峰,邱菡,兰巨龙,汪斌强.路由器缓存需求[J].软件期刊,2008,(1):141-151.

[2]张博.路由器缓存设计与优化的研究[D].北京:中国传媒大学博士论文,2015.

[3]VillamizarC,SongC.HighPerformanceTCPinANSNET[J].ACMSIGCOMMComputerCommunicationReview,1994,24(5):45-60.

[4]AppenzellerG,KeslassyI,McKeownN.SizingRouterBuffers[J].ACMSIGCOMMComputerCommunicationReview,2004,34(4):281-292.

[5]DhamdhereA,JiangH,DovrolisC.BufferSizingforCongestedInternetLinks[C].24thAnnualJointConferenceoftheIEEEComputerandCommunicationsSocieties,Miami,Florida,USA,Mar.13-17,2005:1072-1083.

[6]EnachescuM,GanjaliY,GoelA,etal.PartPartIII:Routerswithverysmallbuffers[J].ACMSIGCOMMComputerCommunicationReview,2005,35(2):83-89.

[7]NieminenJ,KarvoJ,LassilaP,PeuhkuriM.ImpactofHeterogeneousPacketSizesonFlowFairness[C].16thInternationalconferenceonTelecommunications,Marrakech,Morocco,2009:248-253.

[8]LakshmikanthaA,BeckC,SrikantR.Impactoffilearrivalsanddeparturesonbuffersizingincorerouters[C].IEEEACMTransactionsonNetworking,April2011:347-358.

[9]YewBS,OngBL,AhmadRB.OptimizingTCPVegasperformancewithpacketspacingandeffectofvariableFTPpacketsizeoverwirelessIPv6network[J].InternationalJournalofComputerandCommunicationEngineering,2012,6:89-97.

[10]VishwanathA,SivaramanV,OstryD.HowpoissonisTCPtrafficatshorttime-scalesinasmallbuffercorenetwork[C].IEEE3rdInternationalSymposiumonAdvancedNetworksandTelecommunicationSystems,April2009.

[11]MathisM,SemkeJ,MahdaviJ,OT.TheMacroscopicBehaviorsoftheTCPCongestionAvoidanceAlgorithm[J].ACMSIGCOMMComputerCommunicationReview,1997,27(3):67-82.

(责任编辑:王谦)

Impact of Packet Size on Performance of TCP Traffic with Small Router Buffer

YANG Ting-ting,YAN Jin-yao,ZHANG Bo

(School of Information Engineering,Communication University of China,Beijing 100024,China)

We research the impact of packet size on the performance of TCP with different router buffer.First of all,we establisheda simple model which had two TCP flows,combined with the queue management mechanism in router and analyzed the effect on TCP packet loss byvariablepacket size.Secondly,the corresponding network topology was established based on the NS2 simulation software.And the correctness of the model was verified by experiments.It can be found that the larger size packets of the TCP stream are more likely to have behavior of packet loss,but large packets are more likely to get higher throughput.

router buffer;TCP traffic;packet loss rate;throughput

2016-05-10

闫婷婷(1990 -),女(汉族),山西省晋城人,中国传媒大学硕士研究生.E-mail:422676322@qq.com

TP393.05

A

1673-4793(2017)02-0028-05

猜你喜欢
包率队列吞吐量
支持向量机的船舶网络丢包率预测数学模型
一种基于喷泉码的异构网络发包算法*
电磁线叠包率控制工艺研究
队列队形体育教案
队列里的小秘密
基于多队列切换的SDN拥塞控制*
在队列里
IEEE 802.15.4协议无线传感器网络干扰测试∗
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量