• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于處理時(shí)延的衛(wèi)星網(wǎng)絡(luò)TCP擁塞控制算法*

      2014-07-11 01:23:28戴帥肖楠梁俊袁天
      現(xiàn)代防御技術(shù) 2014年3期
      關(guān)鍵詞:衛(wèi)星網(wǎng)絡(luò)網(wǎng)絡(luò)拓?fù)?/a>吞吐量

      戴帥,肖楠,梁俊,袁天

      (空軍工程大學(xué) 信息與導(dǎo)航學(xué)院,陜西 西安 710077)

      0 引言

      下一代衛(wèi)星網(wǎng)絡(luò)是基于IP(internet protocol)的寬帶通信網(wǎng)絡(luò)。低軌(low earth orbit,LEO)衛(wèi)星由于軌道高度低,具有傳輸時(shí)延和空間損耗小、通信距離遠(yuǎn)、組網(wǎng)方式靈活、抗毀和抗干擾能力強(qiáng)以及能夠?qū)崿F(xiàn)全球覆蓋等一系列優(yōu)點(diǎn)。TCP(transmission control protocol)協(xié)議作為當(dāng)前IP網(wǎng)絡(luò)主要使用的傳輸控制協(xié)議,其在LEO衛(wèi)星網(wǎng)絡(luò)中的應(yīng)用得到了廣泛的關(guān)注和研究。

      目前,國(guó)內(nèi)外有關(guān)衛(wèi)星網(wǎng)絡(luò)TCP擁塞控制算法的研究成果大量涌現(xiàn),如TCP Reno,TCP New Reno,TCP SACK,TCP Hybla以及TCP Vegas等[1]。其中,TCP Vegas算法能較好地預(yù)測(cè)網(wǎng)絡(luò)帶寬使用情況,有效應(yīng)對(duì)衛(wèi)星網(wǎng)絡(luò)的長(zhǎng)時(shí)延、高帶寬等特點(diǎn),在衛(wèi)星網(wǎng)絡(luò)中有廣泛的應(yīng)用前景。因此,如何在衛(wèi)星網(wǎng)絡(luò)中更有效地使用TCP Vegas算法也是近年來(lái)研究的熱點(diǎn)。文獻(xiàn)[2]通過(guò)降低擁塞窗口增長(zhǎng)速率提出了一種改進(jìn)型的TCP Vegas 1算法,該算法通過(guò)犧牲系統(tǒng)吞吐量有效降低了網(wǎng)絡(luò)的擁塞概率;文獻(xiàn)[3]提出了一種Vegas-b算法,該算法通過(guò)加大擁塞窗口的增長(zhǎng)速度克服了與TCP New Reno共存時(shí)的缺陷,并且能獲得比TCP New Reno更大的帶寬,提高了協(xié)議的公平性。文獻(xiàn)[4]中提出了一種改進(jìn)的Vegas A算法,通過(guò)動(dòng)態(tài)調(diào)整α和β值,改善擁塞控制機(jī)制,從而自動(dòng)適應(yīng)網(wǎng)絡(luò)狀況的變化,算法的改進(jìn)主要表現(xiàn)于擁塞避免階段。

      上述改進(jìn)算法都是基于衛(wèi)星鏈路的往返時(shí)延(round trip time,RTT)測(cè)量進(jìn)行設(shè)計(jì)的,且大都是基于靜止軌道衛(wèi)星網(wǎng)絡(luò)環(huán)境進(jìn)行實(shí)驗(yàn)仿真,并沒(méi)有考慮衛(wèi)星節(jié)點(diǎn)間距離快速變化和高速移動(dòng)的問(wèn)題。在LEO衛(wèi)星網(wǎng)絡(luò)中,由于衛(wèi)星之間快速的相對(duì)移動(dòng)、衛(wèi)星網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)動(dòng)態(tài)變化,使得衛(wèi)星鏈路的往返時(shí)延不斷變化,導(dǎo)致TCP Vegas算法不能準(zhǔn)確地計(jì)算網(wǎng)絡(luò)的期望吞吐量,從而造成網(wǎng)絡(luò)資源的浪費(fèi)。同時(shí),由于衛(wèi)星間距離變化范圍的不同,傳統(tǒng)TCP Vegas算法存在帶寬分配的不公平性問(wèn)題。

      本文在分析LEO衛(wèi)星網(wǎng)絡(luò)特性的基礎(chǔ)上,深入研究了衛(wèi)星網(wǎng)絡(luò)TCP Vegas擁塞控制算法,針對(duì)Vegas算法在LEO衛(wèi)星網(wǎng)絡(luò)環(huán)境中存在的問(wèn)題,提出了一種基于處理時(shí)延的改進(jìn)型擁塞控制算法——TCP Vegas_PD(TCP Vegas based on processing delay)。該算法針對(duì)網(wǎng)絡(luò)中衛(wèi)星節(jié)點(diǎn)高速運(yùn)動(dòng)的特點(diǎn),充分考慮LEO衛(wèi)星網(wǎng)絡(luò)拓?fù)鋭?dòng)態(tài)變化對(duì)RTT的影響以及帶寬分配的公平性,通過(guò)測(cè)量一次通信過(guò)程中各衛(wèi)星節(jié)點(diǎn)的最大處理時(shí)延,屏蔽網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化對(duì)TCP Vegas算法性能的影響,從而更加精準(zhǔn)地測(cè)量網(wǎng)絡(luò)狀態(tài),提高了網(wǎng)絡(luò)吞吐效率,增加了網(wǎng)絡(luò)性能的穩(wěn)定性,為衛(wèi)星網(wǎng)絡(luò)TCP擁塞控制算法的改進(jìn)提供了一個(gè)新思路。

      1 衛(wèi)星網(wǎng)絡(luò)特性對(duì)TCP協(xié)議性能的影響

      TCP機(jī)制的有效運(yùn)行依賴于下面3個(gè)假設(shè)[5]:①數(shù)據(jù)包的丟失一定是由網(wǎng)絡(luò)擁塞所引起的;②網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)是穩(wěn)定的;③通信路徑上的傳播時(shí)延也相對(duì)穩(wěn)定,這些在LEO衛(wèi)星網(wǎng)絡(luò)中并不適用。與地面有線網(wǎng)絡(luò)相比,LEO衛(wèi)星網(wǎng)絡(luò)環(huán)境要復(fù)雜得多,存在許多影響TCP協(xié)議性能的因素,主要可以歸納為以下幾點(diǎn):

      (1) 往返時(shí)延動(dòng)態(tài)變化

      LEO衛(wèi)星網(wǎng)絡(luò)具有高動(dòng)態(tài)的連接特性,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)頻繁變化會(huì)改變數(shù)據(jù)包傳輸時(shí)經(jīng)歷的跳數(shù)和傳播距離,使RTT的測(cè)量值發(fā)生很大波動(dòng)。由于TCP的超時(shí)重傳時(shí)間是基于RTT設(shè)置的,不準(zhǔn)確的RTT測(cè)量值會(huì)導(dǎo)致TCP過(guò)早或過(guò)晚地重傳報(bào)文段,并縮小擁塞窗口,降低了吞吐量,同時(shí)造成網(wǎng)絡(luò)性能的不穩(wěn)定。

      (2) 傳播延遲長(zhǎng)

      在大多數(shù)LEO衛(wèi)星通信系統(tǒng)中,單跳傳輸時(shí)延大約為20至25 ms。過(guò)長(zhǎng)的RTT使得慢啟動(dòng)(slow start)階段的TCP擁塞窗口增長(zhǎng)速度變得十分緩慢。同時(shí),長(zhǎng)傳播延時(shí)在TCP檢測(cè)和恢復(fù)丟失數(shù)據(jù)操作上影響很大,降低了衛(wèi)星網(wǎng)絡(luò)的吞吐效率。

      (3) 信道誤碼率高[6]

      通常在空間衛(wèi)星通信環(huán)境下信道隨機(jī)誤碼率在10-4~10-7左右,同時(shí)衛(wèi)星信道還受天氣影響。由于TCP協(xié)議默認(rèn)信道出現(xiàn)丟包是網(wǎng)絡(luò)擁塞造成,因此當(dāng)信道傳輸條件惡化,由鏈路誤碼造成數(shù)據(jù)丟失時(shí),TCP協(xié)議會(huì)減少數(shù)據(jù)發(fā)送窗口值,錯(cuò)誤地啟動(dòng)擁塞控制策略,導(dǎo)致發(fā)送速率和吞吐量降低,不僅影響了TCP協(xié)議的傳輸效率,還浪費(fèi)了衛(wèi)星信道帶寬。

      (4) 信道帶寬不對(duì)稱[7]

      由于衛(wèi)星通信系統(tǒng)地面發(fā)射設(shè)備昂貴、衛(wèi)星轉(zhuǎn)發(fā)器資源有限、收發(fā)送功率和天線尺寸等條件的限制,衛(wèi)星前向鏈路帶寬大于反向鏈路。帶寬不對(duì)稱性會(huì)造成確認(rèn)速度慢、不必要的超時(shí)重傳和數(shù)據(jù)突發(fā)等問(wèn)題,從而降低網(wǎng)絡(luò)的吞吐量。

      (5) 通信鏈路易中斷

      衛(wèi)星通信具有高動(dòng)態(tài)的連接特性,對(duì)于非靜止軌道衛(wèi)星,連接可能會(huì)因?yàn)榈孛嬲厩袚Q、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)改變、天氣情況以及軌道變化等多種原因而被周期性地中斷,這與TCP有效運(yùn)行的穩(wěn)定的有線鏈路環(huán)境有較大差異,阻礙了TCP協(xié)議在衛(wèi)星網(wǎng)絡(luò)中性能的發(fā)揮。

      綜上所述,LEO衛(wèi)星通信環(huán)境與地面通信環(huán)境存在諸多差異,導(dǎo)致了傳統(tǒng)的TCP協(xié)議直接應(yīng)用于在衛(wèi)星環(huán)境中時(shí)傳輸效率低下,需要針對(duì)LEO衛(wèi)星通信環(huán)境的特點(diǎn)對(duì)TCP協(xié)議作出適當(dāng)?shù)母倪M(jìn)。

      2 TCP Vegas算法簡(jiǎn)介

      TCP Vegas算法[8-9](以下簡(jiǎn)稱Vegas算法)的基本原理是通過(guò)觀測(cè)RTT的變化來(lái)判斷網(wǎng)絡(luò)的擁塞狀況,并作出相應(yīng)的調(diào)整。Vegas算法根據(jù)Expected_Rate(期望吞吐量)和Actual_Rate(實(shí)際吞吐量)的差值Δ來(lái)估計(jì)網(wǎng)絡(luò)中可用的帶寬。其核心算法如下:

      Expected_Rate=cwnd(t)/Base_RTT,

      (1)

      Actual_Rate=cwnd(t)/RTT,

      (2)

      Δ=Expected_Rate-Actual_Rate,

      (3)

      式中:Base_RTT為所有觀察鏈路往返時(shí)延的最小值,一般為連接建立后的所發(fā)送第1個(gè)數(shù)據(jù)包的RTT,此后可隨每次測(cè)得的RTT值的情況進(jìn)行不斷更新;cwnd(t)為當(dāng)前擁塞窗口的大小,即可發(fā)送的數(shù)據(jù)包數(shù);RTT為當(dāng)前測(cè)得的鏈路往返時(shí)延。

      若實(shí)際吞吐量和期望吞吐量數(shù)值很接近,Δ的值較小,可以認(rèn)為網(wǎng)絡(luò)沒(méi)有發(fā)生擁塞;若實(shí)際吞吐量遠(yuǎn)小于期望吞吐量,Δ的值較大,則網(wǎng)絡(luò)很有可能出現(xiàn)擁塞狀況。據(jù)此,Vegas算法可以更新?lián)砣翱?,以保證網(wǎng)絡(luò)傳輸?shù)恼_\(yùn)行。調(diào)整擁塞窗口的算法可描述如下:

      (4)

      式中:δ=Δ·RTT;α和β為定義的2個(gè)門(mén)限值,且0<α<β,α觸發(fā)發(fā)送速率的提升,β觸發(fā)發(fā)送速率的降低,其經(jīng)驗(yàn)值分別為1和3[10]。

      由于Vegas算法是根據(jù)實(shí)際網(wǎng)絡(luò)狀況來(lái)決定何時(shí)結(jié)束擁塞控制窗口的指數(shù)增長(zhǎng),而不是像TCP Reno等算法那樣根據(jù)丟包或預(yù)設(shè)的窗口上限來(lái)結(jié)束慢啟動(dòng),因此可以在避免發(fā)生擁塞的前提下,盡可能在慢啟動(dòng)狀態(tài)使發(fā)送速率接近網(wǎng)絡(luò)可用帶寬,使TCP連接很快達(dá)到高吞吐量。在擁塞避免狀態(tài),Vegas算法對(duì)擁塞控制窗口調(diào)節(jié)及時(shí)而平緩,能避免劇烈振蕩而穩(wěn)定在最佳值附近。

      3 LEO衛(wèi)星網(wǎng)絡(luò)中TCP Vegas算法的改進(jìn)

      雖然現(xiàn)有地面網(wǎng)絡(luò)擁塞控制主要采用的是TCP Reno算法,但是衛(wèi)星網(wǎng)絡(luò)的長(zhǎng)時(shí)延使得Reno算法擁塞窗口增加緩慢且變化劇烈,導(dǎo)致網(wǎng)絡(luò)吞吐效率低下。Vegas算法由于采用了新的擁塞避免機(jī)制,能比較準(zhǔn)確地測(cè)量網(wǎng)絡(luò)的擁塞狀況,所以Vegas算法比Reno算法更加適用于衛(wèi)星網(wǎng)絡(luò)。但Vegas算法以RTT為主要參數(shù)來(lái)控制發(fā)送窗口的變化,而LEO衛(wèi)星通信網(wǎng)的拓?fù)浣Y(jié)構(gòu)是實(shí)時(shí)高動(dòng)態(tài)變化的,這會(huì)造成RTT的非擁塞原因增大。Vegas算法本身并沒(méi)有能力識(shí)別RTT的增大是由網(wǎng)絡(luò)擁塞造成的還是由路徑變化造成的。如果是路徑的改變導(dǎo)致RTT的增加Vegas算法也會(huì)減小發(fā)送窗口,浪費(fèi)了網(wǎng)絡(luò)資源,降低了TCP協(xié)議的性能。

      3.1 TCP Vegas在LEO衛(wèi)星網(wǎng)絡(luò)中存在的問(wèn)題

      在LEO衛(wèi)星網(wǎng)絡(luò)中,傳播時(shí)延隨著衛(wèi)星之間距離以及傳輸路徑的變化而變化,通信距離每增加1 000 km,會(huì)帶來(lái)額外的13.3 ms的往返時(shí)延。以具有全球覆蓋能力的極軌道星座為例[11],星座參數(shù)設(shè)置如表1所示。由于衛(wèi)星之間高速的相對(duì)運(yùn)動(dòng)以及兩極地區(qū)星間鏈路的斷開(kāi)與重建,其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化頻率達(dá)平均3~4 min/次。此外,由于衛(wèi)星星座覆蓋縫隙的存在(即反向運(yùn)動(dòng)衛(wèi)星之間不建立星間鏈路),使得網(wǎng)絡(luò)通信時(shí)延存在較大突變。

      表1 LEO衛(wèi)星網(wǎng)絡(luò)參數(shù)設(shè)置Table 1 LEO satellite network parameters configuration

      通過(guò)STK場(chǎng)景仿真可知,該LEO衛(wèi)星通信系統(tǒng)的空間拓?fù)浣Y(jié)構(gòu)如圖所1示。

      圖1 LEO衛(wèi)星系統(tǒng)空間分布示意圖Fig.1 LEO satellite system spatial distribution diagram

      選取A地(34°N,109°S)與B地(47°N,88°S)為地面通信終端,對(duì)兩地之間通信往返時(shí)延RTT(未考慮衛(wèi)星處理時(shí)延)進(jìn)行仿真(仿真時(shí)間86 400 s),結(jié)果如圖2所示。

      由圖2可知,在不考慮衛(wèi)星星上處理時(shí)延的情況下,A地至B地之間通信的RTT是實(shí)時(shí)變化的,其中最大RTT為328.6 ms(通信終端位于覆蓋縫隙兩側(cè)時(shí)),最小RTT為33.6 ms,即由于通信路徑距離變化引起的往返時(shí)延差值高達(dá)295 ms。

      一般情況下,Vegas算法認(rèn)為當(dāng)前測(cè)得的往返時(shí)延與最小往返時(shí)延的差值是排隊(duì)時(shí)延[12]。在LEO衛(wèi)星網(wǎng)絡(luò)中,往返時(shí)延與最小往返時(shí)延的差值中, 很大一部分是由于傳播時(shí)延的變化引起的。巨大的傳播時(shí)延差值可能會(huì)隱藏掉排隊(duì)時(shí)延對(duì)往返時(shí)延的影響,成為決定往返時(shí)延的主要因素,致使Vegas算法不能準(zhǔn)確預(yù)測(cè)網(wǎng)絡(luò)的擁塞狀況[13]。

      此外,衛(wèi)星間距離變化范圍的不同導(dǎo)致Vegas算法的性能也不同。衛(wèi)星軌道高度越高,往返時(shí)延RTT的變化范圍越大,Vegas算法的性能也就越差。當(dāng)衛(wèi)星網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)改變使得端到端通信路徑長(zhǎng)度變化范圍增大時(shí),當(dāng)前往返時(shí)延與最小往返時(shí)延的傳播時(shí)延差值增加,而這種增加與網(wǎng)絡(luò)的擁塞狀況無(wú)關(guān),相反地,發(fā)送終端應(yīng)該根據(jù)帶寬時(shí)延積的增大,相應(yīng)地增大擁塞窗口。但是,在Vegas算法中,發(fā)送終端會(huì)誤認(rèn)為往返時(shí)延增大是由于網(wǎng)絡(luò)狀況惡化引起的,進(jìn)而減小擁塞窗口??梢?jiàn),在LEO衛(wèi)星網(wǎng)絡(luò)中,由于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)動(dòng)態(tài)變化使得往返時(shí)延變化較大,導(dǎo)致Vegas算法存在帶寬分配的不公平性。

      3.2 Vegas_PD算法

      針對(duì)以上問(wèn)題,本文提出一種新的擁塞控制算法——Vegas_PD算法。該算法在保留原Vegas算法擁塞控制機(jī)制的基礎(chǔ)上修改了最小往返時(shí)延的計(jì)算方法,即將空間傳播時(shí)延與衛(wèi)星星上處理時(shí)延分離開(kāi)來(lái)。由于衛(wèi)星空間傳播時(shí)延不能反映網(wǎng)絡(luò)的擁塞狀況,因此Vegas_PD算法只利用星上處理時(shí)延作為擁塞窗口調(diào)整的依據(jù),從而更加精準(zhǔn)地反映網(wǎng)絡(luò)狀態(tài)的變化情況。

      圖2 A地-B地往返時(shí)延變化情況Fig.2 Position A-B round-trip delay changes

      另一方面,考慮到一次通信過(guò)程中所歷經(jīng)衛(wèi)星的最大星上處理時(shí)延完全可以反映整個(gè)網(wǎng)絡(luò)的擁塞情況,Vegas_PD算法只需測(cè)量一次通信過(guò)程中的最大星上處理時(shí)延,然后根據(jù)每次測(cè)得的最大處理時(shí)延與基準(zhǔn)處理時(shí)延的差值動(dòng)態(tài)調(diào)整擁塞窗口的大小,從而有效屏蔽了由于衛(wèi)星網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)改變帶來(lái)的時(shí)延變化的影響,提高網(wǎng)絡(luò)的吞吐效率。

      TCP協(xié)議報(bào)文格式選項(xiàng)部分(長(zhǎng)度可變)的時(shí)間戳選項(xiàng)(10字節(jié))主要用來(lái)計(jì)算往返時(shí)延RTT和防止序號(hào)繞回。在傳統(tǒng)TCP協(xié)議中,時(shí)間戳選項(xiàng)主要包括時(shí)間戳字段(4字節(jié))和時(shí)間戳回送回答字段(4字節(jié)),發(fā)送終端在發(fā)送報(bào)文段時(shí)把當(dāng)前時(shí)鐘的時(shí)間值放入時(shí)間戳字段,接收方在確認(rèn)該報(bào)文段時(shí)把時(shí)間戳字段復(fù)制到時(shí)間戳回送回答字段,因此發(fā)送方在收到確認(rèn)報(bào)文后可以精確地計(jì)算出RTT。

      在Vegas_PD算法中,為了精確獲得每顆衛(wèi)星的星上處理時(shí)間,需要對(duì)時(shí)間戳選項(xiàng)的功能做適當(dāng)?shù)男薷?,即時(shí)間戳不僅記錄報(bào)文段的發(fā)送和接收時(shí)間,還需記錄該報(bào)文段每一次經(jīng)衛(wèi)星轉(zhuǎn)發(fā)時(shí)入隊(duì)列時(shí)間(in_queue_time)和出隊(duì)列時(shí)間(out_queue_time)。同時(shí),在選項(xiàng)部分增加4字節(jié)的處理時(shí)間記錄字段node_processing_time,記錄最大處理時(shí)間max_node_processing_time。當(dāng)該報(bào)文段被轉(zhuǎn)發(fā)至另一顆衛(wèi)星時(shí),由當(dāng)前衛(wèi)星計(jì)算出上一顆衛(wèi)星的星上處理時(shí)間并由處理時(shí)間記錄字段進(jìn)行記錄。

      node_processing_time=out_queue_time-in_queue_time.

      (5)

      與此同時(shí),時(shí)間戳選項(xiàng)記錄下該衛(wèi)星的入/出隊(duì)列時(shí)間,在報(bào)文段下一次轉(zhuǎn)發(fā)時(shí)再次計(jì)算星上處理時(shí)間,若該處理時(shí)間大于上一顆衛(wèi)星的處理時(shí)間,則處理時(shí)間記錄字段更新為當(dāng)前處理時(shí)間,否則保持不變。當(dāng)報(bào)文段最終被轉(zhuǎn)發(fā)至目的終端時(shí),由接收端計(jì)算出最后一顆衛(wèi)星的處理時(shí)間并與處理時(shí)間記錄字段的記錄值進(jìn)行比較。這樣就可以保證當(dāng)數(shù)據(jù)報(bào)文段從發(fā)送端成功發(fā)送至接收段整個(gè)過(guò)程中處理時(shí)間記錄字段始終記錄的是最大星上處理時(shí)間,該處理時(shí)間隨接收端的返回ACK(acknoweldgement)發(fā)送至發(fā)送端,發(fā)送端依據(jù)網(wǎng)絡(luò)中衛(wèi)星的max_node_processing_time判斷網(wǎng)絡(luò)當(dāng)前擁塞狀況。

      需要說(shuō)明的是,在Vegas_PD算法中,由于cwnd(t)大小的調(diào)整不再依據(jù)往返時(shí)延RTT,原Vegas算法中利用期望吞吐量與實(shí)際吞吐量差值來(lái)計(jì)算Δ值的算法已不再成立??紤]衛(wèi)星的星上處理時(shí)間主要是報(bào)文段的排隊(duì)時(shí)間,可以利用當(dāng)前報(bào)文段當(dāng)前測(cè)得的排隊(duì)時(shí)間與衛(wèi)星最大排隊(duì)時(shí)間的比值作為Δ值。假設(shè)星上緩存大小為sat_buffer,衛(wèi)星轉(zhuǎn)發(fā)速率為v_sat,則星上的最大排隊(duì)時(shí)延為

      (6)

      一個(gè)報(bào)文段從發(fā)送端傳輸至接收端的最大排隊(duì)時(shí)延為max_node_processing_time,則Δ為

      (7)

      一般認(rèn)為,若當(dāng)前隊(duì)列長(zhǎng)度超過(guò)最大隊(duì)列長(zhǎng)度的2/3時(shí),認(rèn)為網(wǎng)絡(luò)負(fù)載較重,發(fā)生擁塞概率較大;若當(dāng)前隊(duì)列長(zhǎng)度小于最大隊(duì)列長(zhǎng)度的1/3時(shí),則認(rèn)為網(wǎng)絡(luò)負(fù)載較輕,發(fā)生擁塞概率較??;否則網(wǎng)絡(luò)處于正常工作狀態(tài)。因此,取門(mén)限值α=1/3,β=2/3,結(jié)合式(4),Vegas_PD算法中擁塞窗口調(diào)整的核心算法如下:

      (8)

      式中:δ=Δ。

      此外,由于衛(wèi)星網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)改變?cè)斐傻臅r(shí)延增大有可能超過(guò)發(fā)送端的超時(shí)重傳時(shí)間RTO(retransmission time-out),從而引發(fā)發(fā)送端擁塞窗口減半重新進(jìn)入擁塞避免階段,因此需要考慮每一次時(shí)延變化對(duì)RTO的影響。RFC 2988建議使用下式計(jì)算RTO:

      RTO=RTTs+4RTTD,

      (9)

      式中:RTTs為加權(quán)平均往返時(shí)延;RTTD為RTT偏差的加權(quán)平均值。

      每當(dāng)?shù)?次測(cè)量得到RTT樣本時(shí),就取所測(cè)量得到的RTT樣本值,以后每次測(cè)量得到一個(gè)新的RTT樣本,RTTs按照下式進(jìn)行更新:

      RTTs(i+1)=(1-θ)RTTs(i)+θ·RTT(i+1),

      (10)

      式中:0≤θ≤1,θ值越大表示新的RTTs值受新的RTT樣本的影響越大,RFC 2988推薦的θ值為0.125。

      RTTD是與RTTs和RTT樣本之差有關(guān)。RFC 2988建議,當(dāng)?shù)?次測(cè)量時(shí),RTTD值取為測(cè)量到的RTT樣本值的一半,在以后測(cè)量中,則使用下式更新:

      RTTD(i+1)=(1-λ)RTTD(i)+λ|RTTs(i+1)-

      RTT(i+1)|,

      (11)

      式中:0≤λ≤1,其推薦值是0.25。

      Vegas_PD算法的具體實(shí)現(xiàn)流程如圖3所示。

      圖3 Vegas_PD算法的基本流程Fig.3 Vegas_PD algorithm of the basic flow chart

      4 算法性能仿真

      為了驗(yàn)證TCP Vegas_PD算法的性能,本文采用了以下2種仿真軟件:①衛(wèi)星仿真軟件STK,主要用來(lái)仿真衛(wèi)星網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),版本為8.1.1;②網(wǎng)絡(luò)仿真軟件NS2,主要用來(lái)仿真算法性能,版本為2.28。仿真運(yùn)行環(huán)境為Windows XP。

      本文仿真實(shí)驗(yàn)采用的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖4所示。

      其中LEO衛(wèi)星通信網(wǎng)采用3.1中的衛(wèi)星網(wǎng)絡(luò)模型,具體參數(shù)設(shè)置如表1所示;選取A地作為地面固定發(fā)送端,B地作為固定地面接收端,對(duì)2個(gè)終端之間采用Vegas_PD算法和傳統(tǒng)Vegas算法通過(guò)LEO衛(wèi)星網(wǎng)進(jìn)行通信時(shí)的算法性能進(jìn)行仿真分析,主要網(wǎng)絡(luò)仿真參數(shù)設(shè)置如表2所示。

      圖4 實(shí)驗(yàn)仿真拓?fù)浣Y(jié)構(gòu)圖Fig.4 Experimental simulation topological structure

      表2 主要網(wǎng)絡(luò)仿真參數(shù)設(shè)置Table 2 Main network simulation parameters Settings

      仿真參數(shù)衛(wèi)星緩存/packets星上轉(zhuǎn)發(fā)速率/(Mbit·s-1)星間鏈路帶寬/MHz星地鏈路帶寬/MHz報(bào)文長(zhǎng)度/bit初始窗口/packets取值5010251520030

      使用上述LEO衛(wèi)星網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和仿真參數(shù)配置,分別對(duì)Vegas算法和Vegas_PD算法進(jìn)行了仿真,仿真時(shí)間為0~36 000 s,得仿真結(jié)果如圖5,6所示。圖6給出了網(wǎng)絡(luò)吞吐率的比較(仿真時(shí)間3 600 s),本文吞吐率定義單位時(shí)間內(nèi)為衛(wèi)星實(shí)際轉(zhuǎn)發(fā)的數(shù)據(jù)量與所能轉(zhuǎn)發(fā)的最大數(shù)據(jù)量的比值。

      圖5 Vegas_PD算法與Vegas算法擁塞窗口變化比較Fig.5 Vegas_PD algorithm compared with Vegas algorithm congestion window changes

      圖6 Vegas_PD算法與Vegas算法吞吐率變化比較Fig.6 Vegas_PD algorithm compared with Vegas algorithm throughput rate changes

      通過(guò)仿真可知,由于Vegas_PD算法屏蔽了衛(wèi)星網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)改變帶來(lái)的影響,僅僅利用星上排隊(duì)時(shí)延作為擁塞窗口調(diào)整的依據(jù),使得擁塞窗口的變化更能精確反映出當(dāng)前網(wǎng)絡(luò)態(tài)。傳統(tǒng)Vegas算法利用RTT作為窗口調(diào)整依據(jù),衛(wèi)星網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的改變對(duì)算法性能造成了較大影響。圖5中,隨著RTT的不斷增大擁塞窗口持續(xù)減小,特別是當(dāng)通信終端處于覆蓋縫隙兩側(cè)時(shí),cwnd的值隨著RTT的急劇增大減小至0,但實(shí)際上此時(shí)RTT的變化只是由于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化造成的,網(wǎng)絡(luò)并未處于擁塞狀態(tài)。由于Vegas算法未能正確區(qū)分RTT增大的原因,導(dǎo)致cwnd錯(cuò)誤地減小,浪費(fèi)了大量衛(wèi)星資源,同時(shí)由于后續(xù)通信過(guò)程中沒(méi)有足夠且持續(xù)減小的RTT,使得cwnd無(wú)法增至初始窗口(最大為17)。從圖中觀察還可發(fā)現(xiàn),Vegas_PD算法擁塞窗口的變化范圍為27~45(Vegas算法擁塞窗口變化范圍為0~32),提高了網(wǎng)絡(luò)的穩(wěn)定性。

      由圖6可知,Vegas_PD算法的平均吞吐率在0.587 8,而Vegas算法的平均吞吐率只有0.341 5,相比之下提高了61.15%,且Vegas_PD算法的吞吐量上下波動(dòng)較小,而Vegas算法由于受擁塞窗口減半的影響上下波動(dòng)較大,體現(xiàn)了Vegas_PD算法在系統(tǒng)穩(wěn)定性上的優(yōu)越性。

      為了驗(yàn)證Vegas_PD算法的公平性,在上述LEO衛(wèi)星網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,使用軌道高度分別為780,1 000,1 450,2 000與2 500 km的衛(wèi)星網(wǎng)絡(luò)對(duì)Vegas_PD算法及Vegas算法的吞吐率進(jìn)行仿真,結(jié)果如表3所示。

      表3 平均吞吐率比較 Table 3 Average throughput rate comparison

      從表2中可以看出,隨著衛(wèi)星間距離變化范圍的增大,Vegas算法在衛(wèi)星網(wǎng)絡(luò)中的性能不斷下降,而在Vegas_PD算法中,衛(wèi)星之間的距離變化對(duì)吞吐率影響很小,幾種情況下的吞吐率幾乎相同。由此可知,Vegas_PD算法可以改善Vegas算法中網(wǎng)絡(luò)資源分配的不公平性,使時(shí)延變化較長(zhǎng)業(yè)務(wù)的吞吐率可以和其他業(yè)務(wù)的吞吐率達(dá)到同一水平。在Vegas算法下,當(dāng)衛(wèi)星軌道高度為2 000 km時(shí),吞吐率比軌道高度為780 km時(shí)低67.14%,而在Vegas_PD算法下,吞吐率僅相差7.2%。

      5 結(jié)束語(yǔ)

      與傳統(tǒng)TCP Vegas算法相比,TCP Vegas_PD算法有效屏蔽了LEO網(wǎng)絡(luò)高動(dòng)態(tài)變化的拓?fù)浣Y(jié)構(gòu)帶來(lái)的RTT的劇烈變化對(duì)Vegas算法性能的影響,利用星上處理時(shí)延作為擁塞窗口調(diào)整的依據(jù)更加精準(zhǔn)地反映了當(dāng)前網(wǎng)絡(luò)狀態(tài)變化情況,提高了衛(wèi)星網(wǎng)絡(luò)資源的利用率。通過(guò)STK場(chǎng)景仿真與NS2網(wǎng)絡(luò)仿真,驗(yàn)證了Vegas_PD算法的有效性,結(jié)果表明Vegas_PD算法在系統(tǒng)吞吐量上較傳統(tǒng)Vegas算法有較大提高,且表現(xiàn)出了較好的公平性。

      參考文獻(xiàn):

      [1] 劉光華,王輝.LEO衛(wèi)星網(wǎng)絡(luò)中TCP協(xié)議性能研究[J].計(jì)算機(jī)工程,2010,36(14): 96-98.

      LIU Guang-hua, WANG Hui. Research of TCP Protocol Performance in LEO Satellite Network[J]. Computer Engineering, 2010,36(14): 96-98.

      [2] 拱長(zhǎng)青,趙志剛,王光興. LEO衛(wèi)星網(wǎng)絡(luò)中TCP Vegas擁塞控制算法研究[J].小型微型計(jì)算機(jī)系統(tǒng),2006,27(1): 54-57.

      GONG Chang-qing, ZHAO Zhi-gang, WANG Guang-xing. Research of TCP Vegas Congestion Control Algorithm over LEO Satellite Networks[J]. Journal of Chinese Computer Systems,2006,27(1): 54-57.

      [3] 王斌,陳元琰,馮偉,等.TCP Vegas-b:TCP Vegas改進(jìn)算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(2): 438-441.

      WANG Bin, CHEN Yuan-yan,FENG Wei,et al. TCP Vegas-b: Enhanced TCP Vegas Congestion Control Algorithm[J]. Computer Engineering and Design, 2011,32(2): 438-441.

      [4] 王斌,陳元琰,胡愚. TCP Vegas擁塞避免機(jī)制的改進(jìn)算法[J].計(jì)算機(jī)應(yīng)用,2010,30(9):2486-2500.

      WANG Bin, CHEN Yuan-yan, HU Yu. TCP Vegas-W:Enhanced TCP Vegas Congestion Avoidance Mechanism[J]. Journal of Computer Applications,2010,30(9):2486-2500.

      [5] SRIJITH K N, Lillykutty Jacob, ANANDA A L. TCP Vegas-A: Improving the Performance of TCP Vegas [J]. Computer Communications, 2005, 28(4): 429-440.

      [6] 王平,顧學(xué)邁.LEO衛(wèi)星網(wǎng)絡(luò)中TCP協(xié)議性能及路由策略研究[J].南京理工大學(xué)學(xué)報(bào),2007,31(1): 87-91.

      WANG Ping, GU Xue-mai. Routing Strategy to Avoid Blind Retransmission of TCP in LEO Satellite Network. Journal of Nanjing University of Science and Technology, 2007,31(1): 87-91.

      [7] XIAO Xing-quan,F(xiàn)U Zhong,LIU Ge. A Backup Data Network for Power System Automations Based on Satellite Communication[C]∥IEEE/International Conference on Power System Technology,Washington DC:AIA,2010:158-164.

      [8] Lawrence S Brakmo, Sean W O’Malley, Larry L Peterson. TCP Vegas: New Techniques for Congestion Detection and Avoidance[C]∥Proceedings of ACM SIGCOMM’94,USA: ACM, 1994:24-35.

      [9] Andrea De Vendictis,Andrea Baiocchi,Michela Bonacci. Analysis and Enhancement of TCP Vegas Congestion Control in a Mixed TCP Vegas and TCP Reno Network Scenario [J].Performance Evaluation (S0166-5316), 2003, 53(3): 225-253.

      [10] BRAKMO L S, PETERSON L. TCP Vegas: End to End Congestion Avoidance on a Global Internet [J]. IEEE Journal of Selected Areas in Communication (S0733-8716), 13(8): 1465-1480, 1995.

      [11] 萬(wàn)鵬,王瑞軍,黃薇. 空間信息傳輸TCP擴(kuò)展協(xié)議研究與性能分析[J].飛行器測(cè)控學(xué)報(bào),2010,18(6):11-16.

      WAN Peng,WANG Rui-jun,HUANG Wei. Analysis of the Performance of TCP and Its Extension Protocol for Space Communication[J]. Journal of Spacecraft TT&C Technology,2010,18(6):11-16.

      [12] 顧明,張軍,蘇東林. 大帶寬時(shí)延積網(wǎng)絡(luò)TCP Vegas自適應(yīng)慢啟動(dòng)算法[J]. 電訊技術(shù),2007,15(4):27-30.

      GU Ming, ZHANG Jun, SU Dong-lin. An Adaptive Slow Start Algorithm of TCP for Large BDP Networks Vegas[J]. Telecommunication Engineering,2007,15(4):27-30.

      [13] 官駿鳴,孫恩昌,方濟(jì)平,等.衛(wèi)星鏈路上TCP協(xié)議問(wèn)題透析[J].無(wú)線通信技術(shù),2004,13(2): 47-50.

      GUAN Jun-ming, SUN En-chang, FANG Ji-Ping,et al. Performance Analysis of TCP over Satellite Link[J].Wireless Communication Technology, 2004,13(2):47-50.

      猜你喜歡
      衛(wèi)星網(wǎng)絡(luò)網(wǎng)絡(luò)拓?fù)?/a>吞吐量
      2023衛(wèi)星網(wǎng)絡(luò)與空間應(yīng)用技術(shù)大會(huì)召開(kāi)
      高通量衛(wèi)星網(wǎng)絡(luò)及網(wǎng)絡(luò)漫游關(guān)鍵技術(shù)
      基于通聯(lián)關(guān)系的通信網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)方法
      全球低軌衛(wèi)星網(wǎng)絡(luò)最新態(tài)勢(shì)研判
      電子制作(2018年23期)2018-12-26 01:01:16
      2016年10月長(zhǎng)三角地區(qū)主要港口吞吐量
      集裝箱化(2016年11期)2017-03-29 16:15:48
      2016年11月長(zhǎng)三角地區(qū)主要港口吞吐量
      集裝箱化(2016年12期)2017-03-20 08:32:27
      勞斯萊斯古斯特與魅影網(wǎng)絡(luò)拓?fù)鋱D
      電測(cè)與儀表(2016年5期)2016-04-22 01:13:46
      衛(wèi)星網(wǎng)絡(luò)中基于網(wǎng)絡(luò)編碼的ARQ機(jī)制
      南靖县| 遵义县| 达拉特旗| 安丘市| 额敏县| 武川县| 衡阳市| 乌鲁木齐县| 大埔县| 青神县| 南川市| 麦盖提县| 勃利县| 聂拉木县| 韶关市| 福海县| 永福县| 大荔县| 都兰县| 任丘市| 黄浦区| 海宁市| 文登市| 东丽区| 勃利县| 和平区| 阿拉尔市| 绥阳县| 南平市| 湾仔区| 彰化县| 卓尼县| 察雅县| 府谷县| 威信县| 武定县| 富裕县| 鄂伦春自治旗| 姜堰市| 莫力| 夏河县|