国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于突發(fā)數(shù)據(jù)流的丟包智能區(qū)分仿真

2014-12-28 02:09唐子蛟
關鍵詞:包率數(shù)據(jù)流隊列

唐子蛟

(四川理工學院計算機學院,四川自貢 643000)

在復雜網(wǎng)絡環(huán)境中,引起數(shù)據(jù)丟包的原因很多,如突發(fā)流量、錯誤傳輸、誤碼率、超時、接收分組緩沖區(qū)大小及TTL等都會引起丟包[1],這嚴重影響了網(wǎng)絡的服務質(zhì)量。針對上述問題,本文通過分析2種不同TCP算法(vegas和reno)控制下的數(shù)據(jù)流在不同時間加入對丟包率的影響[2],說明了新加入的數(shù)據(jù)流對丟包率的增加有直接的影響,原因是TCP-vegas算法把新進入的數(shù)據(jù)流認為是發(fā)生了擁塞,不能區(qū)分突發(fā)數(shù)據(jù)流,所以會造成擁塞避免算法被“誤調(diào)”,導致丟包率增大,網(wǎng)絡性能受到影響。為了更好的研究和學習復雜網(wǎng)絡環(huán)境中,突發(fā)數(shù)據(jù)流對丟包率的影響問題,本文提出了改進的隨機早期預測檢測算法(RED:Random Early Detection)結(jié)合傳輸層上的擁塞控制算法來降低擁塞丟包率和改善網(wǎng)絡性能的方法[3-4]。

1 RED算法描述

RED算法使用指數(shù)加權(quán)平均算法來計算平均隊列長度,并以此作為判斷擁塞的依據(jù)。路由隊列分組丟包模型如圖1所示,隊列從路由器的左邊端口輸入,隨著發(fā)送端數(shù)據(jù)速度的快慢,平均隊列長度avg也跟著變化,但平均隊列長度幾乎在最大閾值max和最小閾值min之間變化,如果avg的值在最小門限的右邊,其丟包概率為0;如果avg的值在最大閾值的左邊,其丟包概率為1,這時進入隊列的數(shù)據(jù)包將全部被丟棄;如果在最大閾值和最小閾值之間,丟包概率就為一個隨機概率。如果發(fā)現(xiàn)平均長度逼近最大門限值,就通知發(fā)送方減少數(shù)據(jù)發(fā)送速度,在丟包之前減小擁塞窗口,從而緩解網(wǎng)絡擁塞。在這個過程中,與RED算法效率直接相關的是平均隊列長度和概率值的計算。

圖1 路由隊列分組丟包模型

1.1 平均隊列長度的計算

RED算法在計算平均隊列長度avg時,采用了類似低通濾波器帶權(quán)值的方法,計算公式如下:

其中,qw為權(quán)值,是由路由器允許發(fā)生的突發(fā)流量的大小和持續(xù)的時間所決定的,它反映的是流量變換的頻率,其值越大反映越靈敏;q為實際隊列長度。這樣由于Internet數(shù)據(jù)的突發(fā)本質(zhì)或者短暫擁塞導致的實際隊列長度暫時的增長將不會使平均隊列長度有明顯的變化,從而可以過濾掉短期的隊列長度變化,盡量反映長期的擁塞變化。

1.2 丟包概率計算

RED算法中有2個和隊列長度相關的閾值:thmin和thmax。計算平均隊列長度的目的就是為了反映擁塞狀況,根據(jù)擁塞的程度來計算丟包概率,丟包概率的計算分2步:

(1)通過對2個閾值和平均隊列長度的比較來動態(tài)調(diào)整丟包率p:

(2)計算上一次丟包到現(xiàn)在已經(jīng)接收的數(shù)據(jù)包個數(shù)count1,并結(jié)合丟包率p,重新計算新的丟包概率pnew:

RED算法存在一些問題,比如:對參數(shù)的設置過于依賴;不能區(qū)分不同數(shù)據(jù)流,對數(shù)據(jù)流的公平性保護存在缺陷;針對突發(fā)數(shù)據(jù)流,沒有具體的控制機制;而TCP-vegas算法最大的優(yōu)點在于具有高帶寬利用率和穩(wěn)定的吞吐量。最大的特色是擁塞狀況的判斷是通過對數(shù)據(jù)往返時間(RTT)的估算來預測,但該算法也不能有效的區(qū)分突發(fā)數(shù)據(jù)流,在新的數(shù)據(jù)流加入時也被認為發(fā)生了擁塞,導致其通過犧牲自己的流量讓出帶寬,這樣,在復雜的網(wǎng)絡中就容易使丟包率增加,影響網(wǎng)絡性能。如果在某個時間段內(nèi),接入的數(shù)據(jù)流較多,勢必會更加嚴重地影響網(wǎng)絡的性能,甚至直接導致整個網(wǎng)絡癱瘓,將它的優(yōu)勢和RED算法相結(jié)合,來實現(xiàn)提高網(wǎng)絡性能的目的值得我們?nèi)パ芯亢吞剿鳌?/p>

2 突發(fā)流量丟包仿真

2.1 網(wǎng)絡環(huán)境

仿真模型如圖2所示,在節(jié)點0到節(jié)點4、節(jié)點1到節(jié)點5分別應用TCP-vegas和TCP Reno,節(jié)點2到節(jié)點3為瓶頸鏈路,帶寬為5 Mbps,延時為10 ms,兩側(cè)鏈路帶寬均為10 Mbps,延時為20 ms,路由器緩存為100,包大小為552,節(jié)點0在0 s開始,節(jié)點1在2 s時開始加入,模擬時間持續(xù)8 s。

2.2 突發(fā)數(shù)據(jù)流的丟包率仿真

將圖2中所示的拓撲結(jié)構(gòu),進行動畫仿真,效果如圖3所示。數(shù)字代表節(jié)點,節(jié)點間通過有線連接,主動隊列管理算法采用RED算法,ftp0和ftp1代表2種數(shù)據(jù)流,數(shù)據(jù)流通過節(jié)點2和節(jié)點3這條瓶頸鏈路到達指定目的節(jié)點,同時,可以觀察到不同分組被對方接收后都會返回ACK幀。在某個時刻節(jié)點2處有向下的加粗箭頭,它代表此刻在這個節(jié)點有數(shù)據(jù)包丟失的情況發(fā)生。

圖2 仿真環(huán)境拓撲圖

圖3 丟包動畫仿真

在瓶頸鏈路上設置相對小的帶寬以及結(jié)合RED主動隊列管理算法來觀察2種數(shù)據(jù)分組在節(jié)點2處的丟包率和吞吐量,進而分析丟包原因。丟包率對比分析見圖4。圖中粗線代表的分組在0 s開始,但是在2.3 s時分組的丟包率陡然上升,之后逐漸降低。同時,細線代表的分組丟包率呈快速增高的趨勢,直到第6 s分組傳輸結(jié)束后開始緩慢降低。

圖4 丟包率對比分析

圖5為節(jié)點2處的吞吐量,0 s時節(jié)點0和節(jié)點4之間的通信開始,中間節(jié)點2的吞吐量開始增大,直到2 s時,第二個數(shù)據(jù)流加入,吞吐量才呈現(xiàn)減少的過程。在4 s時,開始一個轉(zhuǎn)折點,細線代表的分組數(shù)據(jù)量開始平緩增加,粗線代表的分組數(shù)據(jù)量逐漸減少。

圖5 吞吐量對比分析

圖5中,在2 s時加入的分組數(shù)據(jù)導致了先前分組數(shù)據(jù)量的減少,二者共享瓶頸鏈路時,不同的分組數(shù)據(jù)都在競爭帶寬。因為TCP-vegas算法是以數(shù)據(jù)報的往返時間來標識網(wǎng)絡擁塞的狀態(tài),當有其他數(shù)據(jù)報進來時,計算所得的RTT值會增加,從而導致在閾值上限時其擁塞窗口減小,降低了網(wǎng)絡性能。在二者共存的環(huán)境中,TCP-vegas不具備區(qū)分擁塞的功能,其他突發(fā)數(shù)據(jù)流的加入都被認為產(chǎn)生了擁塞事件,此時會錯誤調(diào)用擁塞避免算法,犧牲自己的吞吐量,降低數(shù)據(jù)發(fā)送速率來避免擁塞發(fā)生,導致了其公平性沒有Reno好。這種公平性的優(yōu)劣取決于算法,改進RED算法讓其與TCP-vegas算法更好地協(xié)調(diào)工作來降低丟包率,從而實現(xiàn)提高網(wǎng)絡性能的目的。

3 改進后的算法描述

為了更好地改善網(wǎng)絡性能,降低突發(fā)數(shù)據(jù)流引起的丟包率,需要對突發(fā)數(shù)據(jù)流進行區(qū)分。突發(fā)數(shù)據(jù)流引起的丟包是因為接收緩沖區(qū)轉(zhuǎn)發(fā)的速率小于接收數(shù)據(jù)包的速率,時延增加及分組被阻塞,最后導致丟包。對于突發(fā)數(shù)據(jù)流,可以通過改進RED算法來加以區(qū)分,從而降低丟包的發(fā)生。

改進后的RED算法思想描述如下:在新算法中引入負載因子k,該因子的引入可以計算當前時刻瓶頸鏈路的負載情況,從而能夠提前監(jiān)測突發(fā)流量的到來,改進式(2)中第3個表達式如下:

當 k<1時,p=0;當 k>1時,p=1-e1-k;對式(4)、式(5)分析得知:newmin取值為最大和最小閾值的中間值,而負載因子k由平均隊列長度和實際隊列長度決定,值越大,丟包概率越大。對于突發(fā)數(shù)據(jù)流,avg的值變化較小,q值變化較大,說明負載正在以一個非線性方式增加,而對于突發(fā)數(shù)據(jù)流的結(jié)束,avg的值變化較大,q值變化較小,負載逐漸減小,丟包概率將減小,理論上就可以避免突發(fā)數(shù)據(jù)流引起丟包率升高的問題。對改進后的RED算法進行了仿真,仿真結(jié)果如圖6所示。

圖6 改進后算法的丟包率

改進后的RED算法的丟包率明顯降低了,vegas算法控制的流量丟包率起伏變化,在4 s時,丟包率跳高上升說明在此刻reno算法丟包率上升對其存在一定的影響,但由于改進的RED算法的協(xié)調(diào)作用,在瓶頸帶寬一定時,丟包率增大,數(shù)據(jù)流量出現(xiàn)輪詢發(fā)送的狀態(tài),保證了較好的網(wǎng)絡性能。在6 s時丟包率有一個升高,但之后快速降低??傊?,改進后的RED算法和TCP-vegas相協(xié)調(diào)能夠降低突發(fā)流量引起的丟包,從而降低數(shù)據(jù)丟包率。

4 結(jié)論

通過對復雜網(wǎng)絡環(huán)境中擁塞丟包率的分析,說明了如何改進RED算法中的丟包概率邊界條件,來區(qū)分突發(fā)數(shù)據(jù)流,進而減少擁塞丟包,保證在這種網(wǎng)絡環(huán)境中TCP-vegas和RED算法更好的協(xié)調(diào)工作。實驗表明:(1)合理調(diào)整TCP-vegas算法中的擁塞窗口上下門限閾值能夠減少擁塞丟包。(2)TCP-vegas算法與改進的RED算法相結(jié)合,能夠減少公平性差帶來的擁塞丟包。

[1]胡晗.基于誤碼丟包率監(jiān)測的無線TCP改進[J].計算機應用,2011,31(10):2657-2659.

[2]周鐵軍,寇小文,李陽.TCP Vegas和TCP Reno的兼容性問題及其解決辦法[J].湘潭大學學報,2008,30(4):130-134.

[3]朱春,王塞云.改進的網(wǎng)絡擁塞控制策略算法研究[J].計算機仿真,2011,28(12):141-143.

[4]閆二輝,朱敏,丁青,等.一種基于比例因子的TCP Vegas慢啟動策略[J].計算機應用研究,2011,28(01):253-255.

[5]王斌,陳元琰,胡愚,等.TCP Vegas擁塞避免機制的改進算法[J].計算機應用,2010,20(9):2486-2487.

[6]李濤.改進TCP擁塞控制算法的仿真及應用研究[J].計算機仿真,2011,28(6):181-184.

[7]高鵬,戴旭初.基于NS的主動隊列管理算法的仿真與分析[J].計算機仿真,2006,23(5):98-100.

猜你喜歡
包率數(shù)據(jù)流隊列
支持向量機的船舶網(wǎng)絡丟包率預測數(shù)學模型
一種基于噴泉碼的異構(gòu)網(wǎng)絡發(fā)包算法*
電磁線疊包率控制工藝研究
汽車維修數(shù)據(jù)流基礎(上)
汽車維修數(shù)據(jù)流基礎(下)
隊列里的小秘密
基于多隊列切換的SDN擁塞控制*
在隊列里
豐田加速駛?cè)胱詣玉{駛隊列
TCN 協(xié)議分析裝置丟包率研究