?

面向異構網絡的多路徑數據重傳研究?

2018-09-28 02:30戴卓臣陸江東
計算機與數字工程 2018年9期
關鍵詞:包率接收端異構

戴卓臣 陸江東

(第二軍醫大學 上海 200433)

1 引言

隨著互聯網和相關技術的快速發展,網絡終端可使用的接入技術越來越多,如3G、4G、WIFI、藍牙等[1~3]。多路徑并行傳輸(CMT)就是在這樣的環境下發展而來?,F有研究成果多集中在數據包重傳策略、數據包丟失恢復及數據包的路徑選擇上[4]?,F有重傳算法可以分為單一因素考慮重傳以及多因素考慮重傳。單一因素重傳主要包含五種經典的基本重傳算法,對丟包率、擁塞窗口大小、時延等單一因素進行判斷[5],來選擇重傳路徑。還有相關學者綜合多種因素考慮重傳,并設計出TRX-CLS重傳算法[6]。該算法分別對 largest cwnd、largest ssthresh、lowest rate path依次判斷,選出最合適的重傳信道?,F有研究成果都是基于現有路徑網絡態進行決策,并沒有涉及異構網絡狀態[7-9]。而異構網絡狀態在重傳路徑的選擇決策上起到非常重要的作用。RTX-LR重傳策略基于最小丟包率、最小超時記錄吋間、最小重傳間隔確定重傳信道[10]。但是仍然存在不足,該算法首先對活躍路徑中的丟包率進行判斷,選擇丟包率小的路徑,但是丟包率小并不能保證數據包一定能盡快到達接收端。此外,當現有的網絡信息不足以選擇重傳路徑時,RTX-LR重傳算法會對路徑的異構信息進行判斷,選擇異構記錄良好的那條[11]。然而,作為一個異構記錄指標,最小的超時時間也并不能保證數據包最快到達接收端,只能表明曾經最優。同時,在多變的異構網絡環境下,該算法不能很好地適應路徑性能發生突變的情況,因此本文在該算法的基礎之上,做進一步的改進研究。

2 數據重傳

2.1 異構網絡環境

在異構網絡環境下進行并行傳輸,應該首先保證重傳數據包能盡快到達接收端,以減少接收端緩沖區阻塞。由于RTX_LR重傳算法在考慮重傳時采用的是異構最小超時時間[12],但是只能表明該條鏈路曾經具有最小的超時時間,因此并不能保證數據包一定最快到達接收端[13]。假設某條路徑Pi最開始有最小的超時重傳時間,但是后來超時嚴重,因此在這種場景下,還是選擇原路徑Pi作為重傳路徑,顯然是不合理的。

具體如圖1所示,假設發端和接收端有3條可用路徑,調度模塊按照調度策略將數據塊按序依次分發到這3條路徑上。圖中灰色標識的數據包表示在傳輸過程中發生了丟包,并需要對該數據包進行重傳,重傳時間在圖中已經被標識。按照RTX_LR重傳算法,當丟包率相同時,該算法會選擇異構最小的重傳時延的路徑B進行重傳,圖中可知選擇路徑B進行重傳是不合理的。因此本文提出了面向異構網絡的多路徑數據重傳算法。該算法將對最小重傳時延、min{max{路徑重傳超時時間}}、最小丟包率依次進行判斷,最終確定要選擇的重傳路徑。

圖1 RTX_LR重傳算法不足示意圖

2.2 重傳模型建立

根據異構網絡環境下多路徑并行傳輸中重傳算法的設計原則,即保證重傳的數據包快速準確地到達接收端,避免接收端緩存阻塞,以提高重傳效率[14]。本文提出的MDRA算法,首先對丟包類型進行判斷,若是快重傳,則在源路徑上進行重傳即可。若為超時重傳,則需要選擇其他路徑進行重傳。首先掃描除源路徑之外的活躍路徑,若無,則從源路徑上重傳[15],若存在,則先計算各活躍路徑的重傳時延期望值,然后選擇最具有最小期望值的路徑作為重傳路徑,如果當前路徑不唯一,則判斷這些路徑的max{路徑重傳時間},選擇最小的作為重傳路徑。若仍然無法判斷,則選擇路徑丟包率小的作為重傳路徑。如果仍然不唯一,則在其中隨機選擇一條作為重傳路徑,算法結束。

數據包超時重傳時間的計算與丟包率 p、端到端時延RTTs/2、超時計時器設定的超時重傳時間t,其值為RTO以及重傳次數有關。為了便于分析,假設數據包在重傳期間沒有發生擁塞。那么,數據包經過一次重傳后,能成功到達接收端的概率為1-p[16]。設Ti為經過i次超時重傳到達接收端并確認的時間。那么,第一次超時重傳到達接收端的時間滿足:

同理可知,經過兩次超時重傳和三次超時重傳到達接收端所需要的時間為

假設最大超時重傳次數為3,超過3次就不再對該數據包進行重傳。因此,數據包成功到達接收端的期望值為

其中,pi為第i次超時重傳后,數據包成功到達接收端的概率,可以得到:

將式(5)代入式(4),可以得出每條路徑傳輸該數據包的重傳時延期望值。然后進行比較,選出期望值最小的路徑作為重傳路徑。同時,MDRA算法將會為每條路徑做一個記錄,這個記錄存儲著該路徑從建立開始到現在,數據塊的最大超時重傳時間tmax。若多條路徑具有最小重傳期望,則從中選擇具有最小的tmax作為重傳路徑,若仍然無法判斷,則對丟包率進行判斷,仍然無法判斷的則從其中隨機選擇一條。

2.3 算法流程及偽代碼

算法步驟具體如下:

Step1:發端發現數據包丟失,首先判斷重傳類別,若是快重傳,則在源路徑上重傳,進入Step6,否則,進入Step2;

Step2:掃描路徑,計算各路徑的超時重傳期望值,選擇期望值最小的路徑作為重傳路徑;

Step3:若具有最小超時重傳期望值的路徑不唯一,則從中選擇具有min{tmax}的路徑作為重傳路徑;

Step4:若選擇出的min{tmax}路徑仍然不唯一,則從中選擇具有最小丟包率的路徑進行重傳;

Step5:若所選的路徑最小丟包率仍然無法判斷,則在其中隨機選擇一條路徑作為重傳路徑;

Step6:算法結束。

MDRA重傳算法具體設計如圖2所示。

圖2 MDRA重傳算法

MDRA重傳算法偽代碼如下:

3 實驗仿真

3.1 實驗環境

仿真試驗的具體網絡拓撲如圖3所示,發送端和接收端均有兩個接口,分別接入兩個網絡中進行并行傳輸,這兩條鏈路的具體參數如表1所示。

圖3 MDRA重傳算法仿真拓撲結構

表1 鏈路參數設置

這樣設置的目的是,對于重傳算法而言,丟包率占有非常重要的作用,為了分析丟包率對重傳算法的影響,故仿真中一條路徑的丟包率為固定值1%,而另一條路徑丟包率從1%~10%逐步增加,遞增間隔設置為0.01。通過這種仿真場景,就可以分析出丟包率差異對重傳算法的影響。R1、R2、R3和R4為四個路由器。瓶頸鏈路的隊列長度設定為100個數據包,鏈路的排隊模型為DropTail。應用層協議使用FTP協議,為了評估協議在較長的一段時間內的有效吞吐量性能,仿真中使用FTP協議傳輸一個足夠大的文件來模擬數據傳輸的過程,仿真時長設定為100s。

3.2 結果分析

根據上述的拓撲結構,本文得出如下的仿真結果,如圖4~6所示,分別展示了不同接收緩存RB(Receive Buffer)下,三種重傳算法的性能趨勢。其中,MDRA算法是指本文所提出的基于記錄的綜合參數算法設計;RTX_LR是基于最小丟包率、最小超時重傳時間、最小重傳間隔來確定重傳路徑;RTX_LOSSRATE是基于最小丟包率的經典重傳算法,其思想是選擇丟包率最小的路徑作為重傳路徑。RB=128KB下的仿真結果如圖4所示。

圖4 當RB=128KB時吞吐量對比圖

圖4中,可以看出本文提出的算法明顯優于其他兩種重傳算法,大概高出5.5%左右。并且還可以得出,隨著路徑2丟包率的提高,兩條鏈路的差異性也隨之變大,網絡整體吞吐量性能趨勢不斷下降,但利用本文提出的MDRA算法比其他兩種重傳算法可以獲得更好的吞吐量。RB=64KB下的仿真結果如圖5所示。

圖5 當RB=64KB時吞吐量對比圖

從圖5可以看出,接收端緩存減小對吞吐量性能非常明顯。因為差異化的路徑在并行傳輸時,會造成接收端數據的亂序,已接收的亂序數據會暫存在接收端緩存當中,等待亂序數據包的到達,因此在緩存受限的情況下,若超時重傳的數據包遲遲不能到達接收端,勢必會導致接收端緩存阻塞,嚴重影響路徑的傳輸性能。同時從圖5中看出,當RB減小時,三種算法的吞吐量均有所減少,但本文提出的算法相較于其他兩種算法,吞吐量性能提高了7.5%左右。RB=64KB下的仿真結果如圖6所示。

圖6 RB=32KB時吞吐量對比圖

類似地,圖6中吞吐量的仿真結果,可知,本文提出的算法明顯高于其他兩種算法,性能提高9%左右。由此可知,當RB越小,則MDRA算法所帶來的性能提升越明顯。

為了更加清楚地論證本文所提算法的優越性,本文將對三種重傳算法在三種不同的RB下的平均吞吐量進行比較。平均吞吐量是指在一定丟包率范圍內的平均吞吐量?;谝陨系姆抡娼Y果,本文丟包率的取值范圍為1%~10%。具體統計結果如表2所示。

從表2可以看出,在不同的接收端緩存下,MDRA算法的平均吞吐量性能均優于其他兩種算法,并且可以得出當RB=128KB時,MDRA算法的平均吞吐量比RTX_LR高了大概2.5%;當RB=64KB時,提高了約8%;當RB=32KB時,提高了約為12%。因此,可以得知,RB越小,則MDRA算法表現越優秀。

表2 三種重傳算法平均吞吐量

為了找到吞吐量性能提高的原因,本文對接收端亂序數據包的個數做了統計。依然利用圖3仿真拓撲結果,RB設置為64KB,仿真時間為30s,應用層依然采用FTP文本。鏈路1、2的丟包率采保留原來的設置。得到仿真結果如圖7所示。

圖7 三種重傳算法亂序包個數比較

從圖7中可知,接收端亂序數據包個數隨著丟包率增大而增大。但本文MDRA算法相較于其他兩種算法,亂序包個數有明顯的減少。由此可知,MDRA算法可以有效減少接收端亂序數據包的個數,最終提升網絡的吞吐量性能。

4 結語

針對本文以吞吐量性能為目標,對差異化網絡環境下數據重傳策略進行了分析研究,并提出了基于記錄的綜合參數數據重傳算法,該算法分別對最小超時重傳時延、min{max{路徑重傳時間}}、最小丟包率依次進行判斷,最終確定要選擇的重傳路徑。保證了重傳數據包最快地到達接收端,降低接收端緩存阻塞,提高多路徑傳輸系統整體吞吐性能。通過NS-2仿真實驗證明,在異構網絡環境下,相較于默認的重傳算法,本文所提出的基于綜合參數重傳算法可以有效提高重傳效率,減少接收端緩存阻塞,一定程度上提高了網絡的吞吐性能。

猜你喜歡
包率接收端異構
ETC拓展應用場景下的多源異構交易系統
支持向量機的船舶網絡丟包率預測數學模型
試論同課異構之“同”與“異”
輕量級的無線傳感器網絡選擇性轉發攻擊檢測
基于擾動觀察法的光通信接收端優化策略
一種基于噴泉碼的異構網絡發包算法*
電磁線疊包率控制工藝研究
純多播BC 信道并存單播MAC 信道的天線效率研究
手機無線充電收發設計
多源異構數據整合系統在醫療大數據中的研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合