劉杰民 白雪松 王興偉
①(東北大學秦皇島分校電子信息系 秦皇島 066004)
②(東北大學信息科學與工程學院 沈陽 110004)
隨著互聯網和相關技術發展,諸如Wifi、WiMax、CDMA和3G等接入方式種類亦不斷增多。目前筆記本電腦和智能手機等移動終端設備大多具有了兩種或更多的接入方式。同時,伴隨大規模實時多媒體業務的不斷增加,用戶期望互聯網服務提供商(ISP)能夠提供更高的帶寬。如何合理利用多種接入方式進行數據的交互正得到廣泛關注[1-4]。在此背景下,多路徑并行傳輸(Concurrent Multipath Transfer, CMT)已逐漸成為業界的研究熱點[5-10],并嘗試其在互聯網中應用層、傳輸層和鏈路層的實現。
目前關于多路徑并行傳輸的實現研究主要集中在傳輸層,在傳輸層中,實現端到端多路徑傳輸主要有基于傳輸控制協議(TCP)的實現和基于流控制傳輸協議(SCTP)的實現。管道傳輸控制協議(pTCP)[11]通過建立多個接口上的 TCP“管道”來實現數據的多路徑并行傳輸,實現帶寬聚合。多接口傳輸控制協議(M/TCP)[12]通過在內核中建立多個接口的TCP連接來實現數據的多路徑并行傳輸,并利用新的 TCP選項管理不同接口 TCP的連通性,魯棒的 ACK機制保證其可靠性。多路傳輸控制協議(mTCP)[13]的實現與 M/TCP類似,但其加入了共享擁塞檢測機制。上述種種多路徑并行傳輸均對路徑差異性考慮不足,僅僅依賴于TCP的滑動窗口機制,忽視了數據發送調度算法的重要性,無法適應路徑差異大的網絡環境。可靠多路傳輸協議(R-MTP)[14]通過帶寬估計調度數據分組在多個接口的分發比例,達到帶寬聚合的目的,但其發送速率易受帶寬估計的影響。多路徑傳輸控制協議(MPTCP)[15]是最近一個活躍的關于端到端多路徑并行傳輸的一個分支,但因其對TCP的分組格式做了大量修改,尤其是多個選項的添加使其難以穿越現有網絡的防火墻設備。由于SCTP對多宿地址的支持,很多端到端多路徑并行傳輸的設計方案也采用SCTP。負載共享的流控制傳輸協議(LS-SCTP)[16]通過修改SCTP發送機制,使得SCTP能夠同時在多條路徑上并行傳輸數據,實現負載均衡。同時多路徑傳輸的流控制傳輸協議(cmpSCTP)[l7]引入了路徑序列號和修改的 SACK,完善了 LS-SCTP的設計。但二者都皆對已有分組格式做了大量修改,后向兼容性不強。韋斯特伍德(Westwood)-部分可靠的流控制傳輸協議(W-SCTP-PR)[18]通過動態估計路徑帶寬,基于帶寬在各路徑上發送數據,實現了PR-SCTP多路徑并行傳輸,但其在與TCP共存時帶寬容易被擠占。同時多路傳輸的流控制傳輸協議(CMT-SCTP)[l9]在盡量不改變標準SCTP分組格式的基礎上修改了SCTP基于路徑的擁塞控制算法和多種重傳算法,實現SCTP在多個接口的并行傳輸,但其只是簡單在路徑間進行輪詢(round-robin)調度發送,沒有考慮多路徑間的特性差異,而是端到端的全部路徑均參與數據傳輸。
本文從傳輸路徑的特性參數入手,提出了路徑平均吞吐量和延遲與丟包率的擬合函數即路徑權值的計算方法,基于此,設計了一種多路徑并行傳輸中基于路徑權值的路徑選擇策略——CMT-PW,并通過仿真實驗分析了路徑權值計算方法的合理性及該路徑選擇策略對提高傳輸性能的有效性。
多路徑并行傳輸的關聯中每一路徑均有獨立的發送緩存,各路徑共享接收端緩存,且每一路徑均擁有獨立的路徑特征值,如帶寬、延遲、丟包率、往返時延(RTT)、重傳超時(RTO)、路徑狀態(活動或非活動)、及用于端到端擁塞控制的擁塞窗口(Cwnd)和慢啟動閾值(ssthresh)等,其中帶寬、延遲和丟包率是影響多路徑并行傳輸吞吐量的關鍵指標,而在帶寬一定的情況下,路徑的延遲和丟包率是動態變化的,故路徑的平均吞吐量必然和路徑的延遲和丟包率相關聯。目前多路徑并行傳輸中傳輸路徑使用策略是關聯中處于活動狀態的全部路徑均參與數據的傳輸以提高關聯整體的吞吐量,該策略考慮到每條路徑均有自己獨立的帶寬,全部路徑參與數據的傳輸勢必提高關聯的整體帶寬,但忽略了路徑延遲和丟包率對傳輸的影響。通過本文大量實驗發現,如果關聯中質量差的路徑(它們具有一定的帶寬,但延遲和丟包率較大)參與數據傳輸,對關聯整體吞吐量的提高不僅沒有任何貢獻,反而會導致關聯整體吞吐量的下降,故參與數據傳輸的路徑必須有所選擇。
模擬實驗使用特拉華大學的SCTP協議模塊作為NS模擬器[20],這個協議模塊經過修改已融合了多路徑并行傳輸的功能,仿真拓撲如圖1所示,其中主機A為4個IP的多宿發送端,主機B為4個IP的多宿接收端,主機A和主機B之間的關聯由4條路徑組成,分別為路徑1、路徑2、路徑3和路徑4,各路徑的帶寬均為10 Mbps,路徑1、路徑2、路徑3的延遲和丟包率相當,其中路徑4的延遲為100 ms,丟包率為6%。上述路徑的延遲和丟包率的選取在目前實際Internet合理值范圍內(40~1040 ms),各路徑共享接收緩存,這里設接收緩存為64 kByte,當數據發生重傳時,多路徑并行傳輸使用RTX_LOSSRATE重傳策略,并使用多路徑并行傳輸的基礎算法[6,7](如CMT-PF算法,SFR算法,CUC算法和DLC算法)。

圖1 多路徑并行傳輸的仿真拓撲
圖2表明,在關聯建立后,從不同數量路徑的并行傳輸的吞吐量可知,4條路徑并行傳輸時性能最差,而3條路徑并行傳輸時性能最好,再次表明高質量路徑同時傳輸數據時,其吞吐量高于全部路徑(其中包括質量差的路徑)并行傳輸的吞吐量,亦即當關聯中路徑的質量存在較大差異時,部分路徑的并行傳輸的吞吐量優于全部路徑并行傳輸的吞吐量。
如何將路徑的平均吞吐量和路徑的丟包率與延遲建立關聯,依據路徑丟包率與延遲提前預知不同路徑的平均吞吐量,并據此進行傳輸路徑選擇,下面給出具體的設計。

圖2 不同路徑組合的并行傳輸吞吐量比較
定義1路徑權值(Path Weight, PW)為路徑的平均吞吐量,每條路徑均有獨立的路徑權值。該值是建立在現有路徑特征值丟包率和延遲上的一個新的特征值。
定義 2路徑平均吞吐量擬合函數即為路徑平均吞吐量和路徑的丟包率與延遲的關聯函數。不同丟包率時延遲在一定范圍內變化的路徑平均吞吐量擬合函數不同。
為分析不同丟包率不同延遲對多路徑并行傳輸性能的影響,選取網絡拓撲結構圖如圖3所示,其中路徑上的帶寬為10 Mbps,丟包率為1% ~10%,對路徑上的延遲進行階段性的測試,因為延遲較小時,對路徑的影響比較明顯,所以延遲從10~100 ms之間取值相對較密,而延遲超過100 ms之后,單位時間內對路徑的性能的影響程度也相對減輕,所以取值相對較稀疏,分別選取150 ms、200 ms、250 ms和300 ms。

圖3 測試不同丟包率不同延遲對CMT平均吞吐量影響的仿真拓撲
通過大量仿真實驗和結果分析,最后得出路徑在不同丟包率不同延遲時路徑的平均吞吐量的關系為

為實現CMT-PW,增加變量如下:
(1)對關聯中的路徑在SctpDest_S結構中增加路徑權值變量。
(2)在關聯SCTPCMTAgent類中增加了 3個變量和一個函數。
CMT-PW的算法步驟如下:
步驟 1 處理接收到的確認塊,計算各個路徑上的權值。如果路徑上的權值大于當前傳輸路徑的最小值,則把該路徑傳輸狀態改為傳輸狀態,否則到步驟2。
步驟 2 分析關聯的uiPeerRwnd(接收端窗口大小),同時計算 10 s內發生接收緩存阻塞的次數BlockTimes。
步驟 3 如果關聯傳輸在 10 s內接收緩存阻塞記數超過5,即BlockTimes>5,則調用相關函數,尋找關聯中正在傳輸數據的路徑集合中路徑權值最小的路徑,并將其從傳輸路徑集合中刪除,并將路徑接收阻塞記數置為0(即BlockTimes = 0)。
步驟 4 檢驗接收緩存是否還有確認塊,沒有則結束,有則返回步驟1。
CMT-PW方案的性能驗證仍使用圖1的仿真模型。
由圖4(a)可知,在實驗所選定的120 s的傳輸過程中,CMT-PW比3條路徑同時傳輸的吞吐量大約高出51.5%,比4條路徑同時傳輸的吞吐量大約高出11.5%。

圖4 不同方案的多路徑并行傳輸吞吐量比較
由以上的分析和實驗可知,CMT-PW策略能夠實現在關聯的多路徑中找出最優路徑組合用于并行的數據傳輸。
在使用多路徑進行數據傳輸時,為了帶寬的聚合,傳統的CMT策略采用關聯的全部路徑進行數據傳輸,盡管每條路徑擁有自己的獨立帶寬,但當路徑間的丟包率和延遲存在較大差異時,丟包率高且延遲大的路徑參與數據傳輸時會導致整個關聯吞吐量的下降,因此在研究多路徑并行傳輸問題時,需要考慮路徑選擇所造成的影響。本文在研究多路徑并行傳輸特點的基礎上,分析并建立了傳輸路徑吞吐量與丟包率和延遲的擬合關系,并以路徑吞吐量為路徑權值,設計了一種基于路徑權值的多路徑并行傳輸中傳輸路徑選擇方案CMT-PW,有效地消除了丟包率高且延遲大的路徑對整個關聯吞吐量的影響。
[1] 薛淼, 高德云, 張思東, 等. 面向下一代網絡的端到端多路徑傳輸層架構[J]. 通信學報, 2010, 31(10): 26-35.Xue M, Gao D Y, Zhang S D,et al.. End-to-end multipath transport layer architecture oriented the next generation network[J].Journal on Communications, 2010, 31(10): 26-35.
[2] Kohler E. Datagram Congestion Control Protocol (DCCP)[S].RFC 4340, 2006.
[3] Stewart R. Stream Control Transmission Protocol[S]. RFC 2690,2000.
[4] Stewart R. Stream Control Transmission Protocol[S]. RFC 4960, 2007.
[5] Iyengar J. End-to-end concurrent multipath transfer using transport layer multihoming[D]. [Ph.D. dissertation],University of Delaware, 2005.
[6] Natarajan P, Ekiz N, Amer P,et al.. Concurrent multipath transfer during path failure[J].Computer Communications,2009, 32(15): 1577-1587.
[7] Iyengar J, Amer P, and Stewart R. Performance implications of a bounded receive buffer in concurrent multipath transfer[J].Computer Communications, 2007, 30(4):818-829.
[8] 宋飛, 王博朱, 張宏科, 等. 多路徑并行傳輸中接收緩存阻塞問題的研究[J]. 電子學報, 2010, 38(3): 552-555.Song F, Wang B Z, Zhang H K,et al.. Researchon receive buffer blocking in CMT[J].Acta Electronica Sinica, 2010,38(3): 552-555.
[9] 宋飛, 蘇偉, 張宏科, 等. 多路徑并行傳輸中吞吐量的建模與分析[J]. 電子學報, 2010, 38(4): 887-893.Song F, Su W, Zhang H K,et al.. Modeling and analysis of throughput in CMT[J].Acta Electronica Sinica, 2010, 38(4):887-893.
[10] Liao J X, Wang J Y, Li T H,et al.. Introducing multipath selection for concurrent multipath transfer in the future Internet[J].Computer Networks, 2011, 55(4): 1024-1035.
[11] Hsieh H Y and Sivakumar R. pTCP: an end-to-end transport layer protocol for striped connections[C]. IEEE International Conference on Network Protocols(ICNP),Washington, DC,USA, 2002: 24-33.
[12] Kultida R and Hitoshi A. An evaluation of multi-path transmission control protocol (M/TCP) with robust acknowledgement schemes[J].IEICE Transactions on Communications, 2005, 87(9): 2699-2707.
[13] Zhang M, Lai J,et al..A transport layer approach for improving end-to-end performance and robustness using redundant paths[C]. Proceedings of the Annual Conference on USENIX Annual Technical Confereuce, Boston, MA, 2004:1-14.
[14] Magalhaes L and Kravets R. Transport level mechanisms for bandwidth aggregation on mobile hosts[C].ICNP. Riverside,Callforuia, USA, 2001: 165-171.
[15] Raiciu C, Handly M, and Ford A. Multipath TCP Design Decsions[R]. University Politehnica of Bucharest, July 2009.
[16] EI AI A A, Saadawi T, and Lee M. LS-SCTP: a bandwidth aggregation technique for stream control transmission protocol[J].Computer Communications, 2004, 27(10):1012-1024.
[17] Liao J, Wang J, and Zhu X. empSCTP: an extension of SCTP to support concurrent multi-path transfer[C]. IEEE International Conference on Communications(ICC), Beijing,China, 2008: 5762-5766.
[18] Fiore M and Casetti C. An adaptive transport protocol for balanced multihoming of real-time traffic[C]. Global Telecommunications (GLOBECOM),St Louis, Missouri,2005: 1091-1096.
[19] Iyengar J, Amer P, and Stewart R. Concurrent multipath transfer using SCTP multihoming over independent end-toend paths[J].IEEE/ACM Transactions on Networking, 2006,14(5): 951-964.
[20] NS-2 2.34. http://nsnam.isi.edu/nsnam. 2009-6-18.