?

MPTCP中一種減緩緩存阻塞的重傳策略

2013-01-31 05:23敏,劉鵬,鄒
電視技術 2013年17期
關鍵詞:重傳包率接收端

胡 敏,劉 鵬,鄒 然

(重慶郵電大學軟件技術中心,重慶400065)

隨著互聯網中各種新應用的興起,用戶對網絡資源(主要是帶寬)的需求越來越大。同時,寬帶接入技術逐漸多樣化,很多設備同時具有如ADSL、WiFi、3G等接入方式,即越來越多的設備具有多個網絡接口,并且可以配備多個網絡地址。MPTCP[1-3]是對TCP的擴展,支持多宿主,可以同時使用多條路徑并行傳輸數據。MPTCP的一大目標是兼容現有應用及中間件,并且向后兼容TCP。因此,研究MPTCP具有非常重要的實際應用價值。

但是,多路同時傳輸時接收端有限的緩存容易導致緩存阻塞[4-7],使整體性能受到嚴重影響,MPTCP也是如此。目前減緩并行傳輸時接收端緩存阻塞的方法主要有兩種:1)保證數據按序到達接收端;2)盡快將丟失數據重傳到接收端。本文考慮第二個方法,提出一種新的基于綜合參數的重傳策略,使未及時到達的數據盡可能快地被重傳到接收端,從而減緩接收端緩存阻塞,提高MPTCP吞吐量。

1 相關研究

Janardhan R.Iyengar[4-8]等人對CMT-SCTP(基于流傳輸控制協議的多路同時傳輸)進行了大量研究。研究表明通過合適的重傳策略可以在一定程度上減緩緩存阻塞,提高端到端連接的吞吐量。他們提出了5種重傳策略[8],分別是:1)RTX-SAME,重傳數據塊被發送到原關聯上;2)RTX-ASAP,重傳數據塊被發送到擁有可用窗口空間的關聯(SCTP中表示連接的術語)上,如果有多條關聯滿足條件,則隨機選擇一條;3)RTX-CWND,重傳數據塊被發送到擁有最大擁塞控制窗口的關聯上,如果多條關聯滿足條件,則隨機選擇一條;4)RTX-SSTHRESH,重傳數據塊被發送到擁有最大慢啟動門限的關聯上,如果多條關聯滿足條件,則隨機選擇一條;5)RTX-LOSSRATE,重傳數據塊被發送到擁有最低報文丟失率的關聯上,如果多條關聯滿足條件,則隨機選擇一條。

在MPTCP中,一條子流即相當于CMT中的一條關聯。重傳時,可以選擇原先相同的子流,可以選擇擁有窗口空間的子流,可以選擇擁有最大擁塞控制窗口的子流,可以選擇擁有最大慢啟動門限的子流,可以選擇擁有最低丟包率的子流。但是無論基于哪一種策略,都只考慮單一因素,這在網絡性能參數多變的現實環境中并不能達到理想結果。因此本文研究一種基于綜合參數考慮的重傳策略。

2 基于綜合參數的RTX-DLCS

根據RFC6182,MPTCP中快速重傳應該選擇相同子流傳輸,超時重傳應該選擇不同子流傳輸。因此,MPTCP中超時重傳技術可分為如下幾種:1)隨機選擇一條擁有可用窗口空間的子流;2)選擇擁有最大擁塞控制窗口的子流;3)選擇擁有最大慢啟動門限的子流;4)選擇丟包率最小的子流。

MPTCP中:第一種策略相當于一種隨機選擇策略,幾乎不考慮底層子流的性能差異,不能達到較好的重傳性能;最后一種方法選擇使用報文丟包率低的子流,其目的是為了減少報文丟失,從而減少重傳次數;中間兩種方法根據CWND和SSTHRESH值反映路徑狀況的優劣,同樣傾向于選擇丟包率低的子流。

考慮到實際環境中各子流狀態不斷變化,本文綜合考慮子流傳輸時延和丟包率,提出基于綜合參數的MPTCP重傳策略RTX-DLCS。RTX-DLCS重傳策略的核心思想是:快速重傳時選擇原先的子流;超時重傳時,計算不同子流報文段傳輸成功的平均時間,選擇擁有最小時間的子流;如果有相同最小時間,則選擇擁有最大擁塞控制窗口(CWND)的子流;如果CWND值也相同,則繼續選擇擁有最大慢啟動門限的子流。

設子流Si的丟包率為li,延遲為di,超時時間為RTO,假設包之間丟包事件相互獨立。則一個數據包一次就成功到達接收端的時間R0為

數據包經歷一次重傳才成功到達接收端的時間R1為

數據包經歷兩次重傳才成功到達接收端的時間R2為

以此類推,經歷m次重傳后成功到達接收端的時間Rm為

因此,一個數據包成功到達接收端的平均時間Ti為

帶入以上各式,化簡得

在實際網絡環境中,利用MPTCP協議出現連續3次超時重傳的概率基本為零,因此式(6)中m為3,帶入得

RTX-DLCS中采用式(7)計算不同子流的時間Ti,RTX-DLCS重傳策略為:

if data outstanding on subflows that have timed out

Tmin=∞ //存放最小平均時間

CWND=0 //存放最大擁塞窗口

SSTHR=0 //存放最大慢啟動門限

RTXSUB=NULL //存放備選路徑

for each subflow Si

if Ti<Tmin

RTXSUB=Si

TminTi

else if T=Tmin

if CWND<Si->cwnd

RTXSUB=Si

CWND=Si->cwnd

else if CWND=Si->cwnd

if SSTHRE<Si->ssthre

RTXSUB=Si

SSTHRE=Si->ssthre

Choose Sito sent a retransmission

return

else

Choose the same subflow to sent a retransmission

3 仿真及結果分析

3.1 仿真拓撲

本文以NS-3為仿真平臺,采用一個較簡單的模擬拓撲結構,如圖1所示。忽略網絡瓶頸鏈路、最后一跳等因素的影響,重點關注在不同丟包率、不同延遲、不同接收端緩存下RTX-DLCS重傳策略的性能表現。

圖1模擬拓撲結構

圖1 中節點A表示源端,節點B表示目的端。源端和目的端都配備兩個IP地址,端到端傳輸速率都為5 Mbit/s,參考時延為40 ms,80 ms和160 ms。子流1的丟包率固定為1%,子流2的丟包率在1%~10%之間變化。鏈路前向和后向丟包率相同,數據包丟包事件相互獨立。

為了評估不同緩存大小下各策略的性能表現,設置接收緩存大小分別為32 kbyte,64 kbyte和128 kbyte。

3.2 性能分析

根據RFC6182建議,仿真過程中快速重傳一律選擇相同子流,超時重傳時選擇各種不同重傳策略。因為RTX-SAME最簡單,且性能較低,因此超時重傳中只使用除RTX-SAME外的4種策略。

3.2.1 不同延遲下性能評估

現在大多數終端都配備了2 Gbyte的內存,64 kbyte接收緩存區很合理,因此本文在64 kbyte緩存下評估不同往返時延時RTX-DLCS的性能表現。圖2展示了5種重傳策略在不同丟包率、不同延遲情況下的性能對比曲線。

圖2 5種重傳策略在不同丟包率、不同延遲情況下的性能對比曲線

圖2 a中,子流1和子流2的延遲都為40 ms,MPTCP采用5種不同重傳策略重傳數據。由于兩條子流延遲相同,所以RTX-DLCS策略重傳選路實質上首先根據丟包率,然后再考慮擁塞窗口和慢啟動門限。從圖2中可以看出,RTX-ASAP性能相對來說較差;RTX-LOSSRATE,RTX-CWND和RTX-SSTHRESH性能互相有好有壞,整體上性能相當;RTX-DLCS與此3種策略相比并無明顯優勢,性能只是略好。其原因是,子流1和子流2延遲相同,RTX-DLCS策略根據式(7)計算Ti時,Ti僅受丟包率影響,即實際上是先考慮丟包率對重傳選路的影響,而RTXLOSSRATE選擇數據丟失率最低的路徑作為重傳路徑,減少了重傳數據的丟失,RTX-SSTHRESH選擇最大慢啟動門限的路徑,RTX-CWND選擇擁有最大窗口值的路徑,它們二者都考慮了路徑狀況,本質上也減少了重傳數據的丟失。因此這4種策略實質上都以丟包作為參考因素,所以性能差別不大。如果兩條子流丟包率相同,RTX-DLCS還會再綜合考慮擁塞控制窗口和慢啟動門限,而其他策略只考慮單一因素,因此這種情況出現時RTX-DLCS性能就要優于其他策略。圖2b、2c中,子流1的延遲分別為80 ms和160 ms,子流2的延遲固定為40 ms。圖2b中MPTCP連接整體性能下降是受子流延遲影響,延遲增加,緩存區阻塞更嚴重,即影響MPTCP吞吐量。這種影響隨著延遲增加不斷惡化,如圖2c所示。將圖2b,圖2c分別與圖2a對比,發現RTX-DLCS性能優勢更加明顯。這是因為子流1的延遲發生變化,RTX-DLCS策略根據延遲和丟包綜合考慮選擇正確的重傳子流。

3.2.2 不同接收緩存下性能評估

為了深入分析不同緩存大小下RTX-DLCS重傳策略性能表現,又分別設置接收緩存為32 kbyte和128 kbyte。

圖3展示了接收緩存為32 kbyte時各重傳策略的性能表現,由于緩存區阻塞,整體吞吐量受到較嚴重的影響。圖4展示了接收緩存為128 kbyte時各重傳策略的性能表現,由于接收緩存的增加,緩存區阻塞有所減小,MPTCP整體吞吐量受重傳策略的影響減小。在圖3、圖4中,RTXDLCS性能整體上優于其他重傳策略,且優勢隨著緩存大小不同而不同,這也證明上述分析的正確性。

圖3 接收緩存為32 kbyte,延遲為40 ms

對比圖2、圖3和圖4中可以發現,RTX-DLCS性能整體上優于其他4種重傳策略。因為考慮了丟包率的重傳策略能在一定程度上避免重復的超時重傳,但是僅考慮單一的影響因素并不能達到最好的效果。綜合考慮延遲和丟包率等因素的重傳策略能進一步減少超時重傳,從而減緩緩存阻塞,提高MPTCP吞吐量。

圖4 接收緩存為128 kbyte,延遲為40 ms

4 小結

深入研究了多路同時傳輸中的重傳策略和MPTCP協議,重點研究了MPTCP中超時重傳時選路策略,提出了一種基于綜合參數考慮的重傳策略RTX-DLCS,減緩了緩存阻塞,提高了MPTCP吞吐量。仿真表明,RTX-DLCS整體性能較優。在延遲和丟包率均不同的情況下,RTX-DLCS表現最好。

本文主要對比了緩存為64 kbyte時子流1丟包率不變、子流2延遲不變的情況和不同緩存大小時RTX-DLCS的性能表現。為了進一步驗證RTX-DLCS性能的優越性,下一步工作中將設置更加復雜的仿真環境、更全面的對比,綜合評估RTX-DLCS性能表現。

[1]RFC 6182,Architectural guidelines for multipath TCP development[S].2011.

[2]RFC 6356,Coupled congestion control for multipath transport protocols[S].2011.

[3]FORD A,RAICIU C,HANDLEY M.TCP extensions for multipath operation with multiple addresses,draft-ietf-mptcp-multiaddressed-09[EB/OL].[2012-10-10].http://tools.ietf.org/pdf/draft-ietf-mptcp-multiaddressed-12.pdf.

[4]IYENGAR J,AMER P,STEWART R.Concurrent multipath transfer using CTP multihoming over independent end-to-end paths[J].IEEE/ACM Transactions on Networking,2006,14(5):951-964.

[5]IYENGAR JR,AMER PD,STEWART R.Receive buffer blocking in concurrent multipath transfer[C]//Proc.IEEE Global Telecommunications Conference.Louis,USA:IEEE Press,2005:1-7.

[6]IYENGAR JR,AMER PD,STEWART R.Performace implications of a bounded receive buffer in concurrent multipath transfer[J].Computer Communication,2007,30(4):818-829.

[7]LIU Jiemin,ZOU Hongxing,DOU Jingxin.Reducing receive buffer blocking in concurrent multipath transfer[C]//Proc.Circuits and Systems for Communications.Shanghai:IEEE Press,2008:367-371.

[8]IYENGAR J,AMER P,STEWART R.Retransmission policies for concurrent multipath transfer using SCTP multihoming[C]//Proc.12th IEEE International Conference.Singapore:IEEE Press,2004:713-719.

猜你喜歡
重傳包率接收端
支持向量機的船舶網絡丟包率預測數學模型
基于擾動觀察法的光通信接收端優化策略
一種基于噴泉碼的異構網絡發包算法*
頂管接收端脫殼及混凝土澆筑關鍵技術
電磁線疊包率控制工藝研究
基于多接收線圈的無線電能傳輸系統優化研究
無線網絡中基于網絡編碼與Hash查找的廣播重傳研究
酸槽內鋼帶位置測量傳感器
面向異構網絡的多路徑數據重傳研究?
一種基于散列鄰域搜索網絡編碼的機會中繼重傳方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合