閆婷婷,顏金堯,張博
(中國傳媒大學(xué) 信息工程學(xué)院,北京 100024)
小緩存狀態(tài)下數(shù)據(jù)包大小對TCP流性能的影響
閆婷婷,顏金堯,張博
(中國傳媒大學(xué) 信息工程學(xué)院,北京 100024)
從路由器緩存容量為出發(fā)點,著重研究了在不同緩存空間下,TCP流的數(shù)據(jù)包大小對路由器性能的影響。首先,通過建立兩條流的理論模型,結(jié)合路由器的隊列管理機制,分析了TCP流數(shù)據(jù)包大小對丟包率的影響,發(fā)現(xiàn)數(shù)據(jù)包越大,丟包率越高;其次,基于NS2仿真軟件,建立了相應(yīng)的網(wǎng)絡(luò)拓撲,通過實驗得出TCP流的數(shù)據(jù)包越大,丟包率越大,但是吞吐量也有所增加。
路由器緩存;TCP流;丟包率;吞吐量
網(wǎng)絡(luò)新媒體技術(shù)的飛速發(fā)展以及互聯(lián)網(wǎng)規(guī)模的不斷擴大,對網(wǎng)絡(luò)服務(wù)質(zhì)量提出了更高要求,而路由器作為連接不同網(wǎng)絡(luò)的樞紐,其性能直接決定著網(wǎng)絡(luò)通信的服務(wù)質(zhì)量。路由器的主要性能指標包括吞吐率、延遲、利用率和丟包率等[1]。對于網(wǎng)絡(luò)交換數(shù)據(jù)來說,路由器的緩存是必不可少的。緩存可以通過吸收網(wǎng)絡(luò)中的突發(fā)流量,從而減小丟包,但同時也引起了排隊時延和抖動,所以,如何設(shè)置緩存大小,使網(wǎng)絡(luò)的各個性能參數(shù)達到最優(yōu)折中,將會是個非常重要的問題。路由器緩存大小設(shè)計的研究已經(jīng)經(jīng)歷了幾十年,經(jīng)過不斷的實驗也得出了一些不同的結(jié)論。然而,到目前為止,路由器緩存需求的研究仍然沒有統(tǒng)一的結(jié)論[2]。
本文在研究小緩存的同時,發(fā)現(xiàn)數(shù)據(jù)包的大小對路由器的網(wǎng)絡(luò)性能來說也是一個非常重要的因素。不同大小的數(shù)據(jù)包對丟包率和吞吐量都有不同程度的影響。根據(jù)鏈路層的需求,通常在Internet的數(shù)據(jù)包大小已經(jīng)明確規(guī)定,比如以太網(wǎng)。這導(dǎo)致在以太網(wǎng)中最大的數(shù)據(jù)包大小為1500bytes[7]。然而,很多應(yīng)用(如VoIP應(yīng)用)為了把分包延時降到最低而使用一個小包的流[8]。另一方面,使用TCP協(xié)議的數(shù)據(jù)傳輸時,一般數(shù)據(jù)包大小為1500bytes。在另一篇論文[9]中,作者在無線IPv6網(wǎng)絡(luò)上,在TCPVegas協(xié)議上使用包間隔實現(xiàn)調(diào)查不同的FTP包如何影響交付延時,通過調(diào)整TCPVegas包間隔進行仿真。通過包間隔均勻的發(fā)出數(shù)據(jù)流使得瓶頸鏈路流的突發(fā)性降到最小。在實驗仿真中,在無線IPv6環(huán)境下,發(fā)送不同大小的FTP數(shù)據(jù)包。實驗結(jié)果表明不同大小的數(shù)據(jù)包導(dǎo)致網(wǎng)絡(luò)性能有所差異。FTP包大小為512bytes是最合適的,這時丟包率小,隊列時延低,鏈路利用率高。因此,當數(shù)據(jù)包在無線IPv6網(wǎng)絡(luò)中傳輸時,他們建議包大小為512bytes。然而,在類似的文獻中沒有更多有用的信息表明不同的數(shù)據(jù)包大小對于TCP流不公平性的影響。為了研究不同數(shù)據(jù)包大小對TCP流性能的影響,我們做了相關(guān)研究。
本文首先建立了最簡單的模型,在這種模型下分析了數(shù)據(jù)包大小對TCP流性能的影響;其次,為了驗證我們的理論模型,在NS-2仿真軟件上建立了相應(yīng)的網(wǎng)絡(luò)拓撲,并根據(jù)實驗結(jié)果進一步闡釋數(shù)據(jù)包大小對TCP流丟包率和吞吐量的影響;最后得出結(jié)論并提出進一步的研究方向。
圖1 理論拓撲結(jié)構(gòu)
如圖1所示,我們采用經(jīng)典的啞鈴?fù)負浣Y(jié)構(gòu),其中,n=2。我們使用兩條TCP流通過一條瓶頸鏈路,瓶頸鏈路帶寬為Cout,每一條TCP流的接入鏈路帶寬為Cin,假設(shè)第一條TCP流的數(shù)據(jù)包大小為l1,第二條TCP流的數(shù)據(jù)包大小為l2,并且l1>l2,同時我們假定一些相關(guān)參數(shù)。如表1所示:
表1 具體參數(shù)及代表意義
假設(shè)TCP1的到達速率為λ1,TCP2的到達速率為λ1=λ2=λ,數(shù)據(jù)包從路由器Router0進入到瓶頸鏈路的出速率為Cout。根據(jù)路由器的隊列長度管理策略Drop Tail可知,當路由器緩存隊列已滿時,這時剛到來的數(shù)據(jù)包將會被丟棄。假設(shè)路由器緩存隊列隊頭的數(shù)據(jù)包為TCP1的數(shù)據(jù)包,那么這個包從路由器進入到瓶頸鏈路的時間為:
(1)
同理,如果這個包是TCP2的包,那么這個包從路由器進入到瓶頸鏈路的時間為:
(2)
由于l1>l2,所以t1>t2
假設(shè)這時路由器緩存隊列已滿,在很短的時間段t內(nèi),t (3) 同時,P也表示了在時間內(nèi),該數(shù)據(jù)包被丟掉的概率。 根據(jù)式(3),得TCP1和TCP2在內(nèi)丟包的概率: P1=1-e-λ1t,P2=1-e-λ2t (4) 聯(lián)立可知,TCP1的數(shù)據(jù)包和TCP2的數(shù)據(jù)包被丟掉的概率的比值為: (5) 在時間段內(nèi),TCP1和TCP2的流量S相等,則TCP1數(shù)據(jù)包的個數(shù)和TCP2數(shù)據(jù)包的個數(shù)的比值為: (3)本文經(jīng)彩色多普勒超聲檢查的截癱患者靜脈血栓發(fā)生率與文獻[5]報道一致。我們于治療前后動態(tài)觀察下肢靜脈血栓,發(fā)現(xiàn)治療后血栓縮小,血管再通率較治療前提高,且截癱患者康復(fù)時間也明顯縮短??梢哉f,利用高頻彩色多普勒超聲動態(tài)觀察截癱患者下肢靜脈血栓形成情況對指導(dǎo)臨床治療有重要意義。 (6) 則TCP1和TCP2的丟包率的比Rloss可以表示為: (7) 根據(jù)上面的分析,可得 (8) 聯(lián)立,可知 (9) 根據(jù)上式可以看出,l1>l2,Rloss>1,也就是說TCP1的丟包率大于TCP2。綜上可以得出結(jié)論:大的數(shù)據(jù)包越容易被丟棄。 3.1 實驗過程 表2 實驗設(shè)置 3.2 實驗結(jié)果 圖2表示TCP流的丟包率,圖3表示TCP流的吞吐量。 圖2 不同緩存大小對應(yīng)的TCP流的丟包率變化曲線 圖3 不同緩存大小對應(yīng)的TCP流的吞吐量變化曲線 圖2展示當緩存大小為20KB,30KB,40KB和50KB時,TCP流的丟包率隨數(shù)據(jù)包大小的變化趨勢。我們可以看出隨著緩存的增大,TCP的丟包率逐漸下降,對于固定的緩存大小,數(shù)據(jù)包越大,TCP流的丟包率也就越大,這符合我們理論模型的推導(dǎo)。圖3展示了TCP流的吞吐量和緩存大小以及數(shù)據(jù)包大小的關(guān)系??v向比較可以發(fā)現(xiàn),當緩存設(shè)置為20KB,緩存隊列空間無法滿足網(wǎng)絡(luò)的需求,導(dǎo)致吞吐量偏低,當緩存為40KB時,緩存大小已經(jīng)不是限制TCP吞吐量的因素。同時我們可以發(fā)現(xiàn),當緩存設(shè)置合理時,數(shù)據(jù)包大小對TCP流的吞吐量的影響并不顯著。當數(shù)據(jù)包大小從200byte逐漸增大的過程中,TCP流的吞吐量緩慢增加,當數(shù)據(jù)包大小為1000byte時,TCP的吞吐量達到最大,并且基本保持穩(wěn)定,所以我們在實驗的過程常常將TCP的數(shù)據(jù)包大小設(shè)置為1000byte。 根據(jù)經(jīng)典的TCP流吞吐量的表達公式[11]可知,單條流的平均吞吐量可表示為: (10) 假設(shè)有條流,則總的吞吐量可以表示為 (11) 其中,k為常數(shù),T表示TCP流的平均往返時間,表示數(shù)據(jù)包的長度,表示丟包率。對于相同的網(wǎng)絡(luò)環(huán)境,則有: (12) 從圖3可以看出,TCP流的吞吐量隨著數(shù)據(jù)包的增大有緩慢上升的趨勢,但是這和我們直觀上的認識有所偏差。理論上,隨著丟包率增大吞吐量呈下降趨勢。另外從公式(12)可以看出,吞吐量的大小與數(shù)據(jù)包長度和丟包率都有關(guān),其變化趨勢由數(shù)據(jù)包長度和丟包率決定。從圖2可以看出,丟包率隨著數(shù)據(jù)包長度的增大呈近似直線的方式上升,數(shù)據(jù)包的增長速度顯然大于丟包率平方根的增長速度,由此吞吐量呈現(xiàn)上升的趨勢。 綜上可知,對于長度較大的TCP流數(shù)據(jù)包更容易發(fā)生丟包行為,但是吞吐量并沒有因此而有所下降,反而大的數(shù)據(jù)包更容易獲得較高的吞吐量,因此合理的設(shè)置數(shù)據(jù)包的大小對TCP流的性能至關(guān)重要。 本文主要研究了TCP流的數(shù)據(jù)包大小對TCP流性能的影響。這章從兩個方面著手,首先建立了一個簡單的兩條流的模型,通過理論分析得出數(shù)據(jù)包越大越容易丟包。隨后為了驗證這個結(jié)論對多條流的網(wǎng)絡(luò)是否適用,我們在網(wǎng)絡(luò)仿真平臺上進行了實驗,主要從TCP流的丟包和吞吐量兩個方面進行研究。實驗結(jié)果表明,數(shù)據(jù)包大小對TCP流的丟包率和吞吐量均有不同程度的影響。數(shù)據(jù)包越大,越容易發(fā)生丟包,但是更容易獲得較高的吞吐量。也就是說,為了使TCP的性能達到最優(yōu)需要合理的選擇數(shù)據(jù)包的大小。同時,需要指出的是,本章在研究數(shù)據(jù)包大小的不公平性影響只是定性的研究了丟包率和吞吐量的變化趨勢,并沒有得出具體的相互關(guān)系。同時,本文只研究了TCP流的數(shù)據(jù)包大小對TCP流性能的影響,并沒有關(guān)注網(wǎng)絡(luò)中存在的開環(huán)流量,所以這些可以作為以后的研究方向。 [1]李玉峰,邱菡,蘭巨龍,汪斌強.路由器緩存需求[J].軟件期刊,2008,(1):141-151. [2]張博.路由器緩存設(shè)計與優(yōu)化的研究[D].北京:中國傳媒大學(xué)博士論文,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,F(xiàn)lorida,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. (責(zé)任編輯:王謙) 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 -),女(漢族),山西省晉城人,中國傳媒大學(xué)碩士研究生.E-mail:422676322@qq.com TP393.05 A 1673-4793(2017)02-0028-053 實驗驗證
4 結(jié)論