Multipath TCP


MPTCP的定義

 

所謂MPTCP,即MultipaTH TCP(多路徑TCP),是指與傳統單路徑TCP相比,在傳輸數據時使用多條鏈接路徑去傳輸數據,以此來提高最大化資源利用率和增加冗余度。MP TCP是IETF(因特網工程項目組)正在標准化的一個工作。它作為傳統TCP的一個擴展,是由IETF在2013年1月發布的一個規范。具體可以參考rfc 6824.

MP tcp 的優勢

•1.明顯提高了吞吐量。與傳統TCP相比,由於mP tcp可以在兩個端點之間同步的發送數據,因此明顯提高了吞吐量。
•2.明顯提高了網絡垂直切換的速度。對於移動用戶來說,由於用戶可能移入或移出Wi-fi以及移動網絡,而mP tcp保持多種連接,因此 可以再多個網絡中快速垂直切換。
•3.在數據中心環境下,mP tcp也帶來了效益。與傳統Ethernet相比,它可以通過多個接口來平衡一個單tcp.
•4.mP tcp 是一個傳輸層協議。與sctp(流控制傳輸協議)相比,SCTp需要應用程序支持,並且在一些實事事件中,可能會被中間件阻塞。相反,mpTCP是一個傳輸層協議,不需要應用層修改。而且使用的傳統TCP數據包,現在大量的中間件都可以友好的支持。
•5.失敗連接時,更快速的反應。
 
MP TCP存在的問題
•1.MP TCP比傳統TCP耗能。這對移動用戶來說至關重要。
•2.ISPs(互聯網服務提供商)還沒有對終端用戶提供多播服務。
•3.協議部署上海存在許多挑戰。
•4.MP TCp是一種貪婪式傳播,這種貪婪方式對用戶來說,可能會帶來更大的消費。
•5.mp TCP 因為沒有考慮網絡延遲與網絡擁塞,可能不能充分利用帶寬,並且不能保證按序到達,可能導致需要提高接收緩沖區。
•6.MP TCp的擁塞控制,仍需改進。
•7.多播仍不能保證負載平衡。
Mp tcp中的關鍵詞
•1.路徑 :發送者與接受者之間的一個連接序列
•2.子流 :一個獨自的TCp連接,這些連接構成一個MP TCp連接,子流的開始與終止與一個常規的TCp連接相同。
•3.mp tcp :一個或者多個子流集合,通過它,兩個主機可以通訊。
•4.令牌 :一個主機中的一個路徑中的一個獨一無二的局部標示符。實際上,就是一個連接ID。
MP TCP協議棧結構

MP TCp雖然與傳統TCP相比有許多優勢,然而卻比較耗能。基於此,論文<An Energy-aware Multipath-TCP-based Content Delivery Scheme in Heterogeneous Wireless Networks>提出了一種eMTCp算法,這種算法是在MP TCP上層的,因此無需修改基本MPTCP。實驗通過LTE和wifi來研究的。實驗結果,與單純使用MPTCP,減少了14%的能耗,與傳統TCP相比,增加了66%的吞吐量。

1.子流狀態檢測器(SISD):不斷檢測wifi與LTE的狀態,狀態有兩種,接收狀態與空閑狀態。

2.卸載控制器:准備從LTE卸載到Wifi的流量。卸載量是根據LTE子流的擁塞窗口值和SISD的狀態決定的

 

基本的mp tcp是簡單的把數據分成多個快,然后隨機的選擇路徑進行數據傳輸。然而這種機制不能充分的利用帶寬,原因是:1.傳輸數據時沒有考慮網絡擁塞。例如,如果path 1存在擁塞,則就算2,4已經到達,接受者依然需要等待1,3,5的到來,這一定程度上降低了網絡的吞吐量,如果path2足夠通常,這反而降低了吞吐量;2.而且不能保證數據的按序到達,排序問題也成為了接收緩沖區的一個瓶頸問題 3.假如發送者數據足夠大,導致接收buffer滿,然而前面的數據塊還是沒有到達,這就要不得不擴大接收緩沖區

基於以上分析,《Improved Data Distribution for Multipath TCP Communication 》提出了一種ATLB方案:方案的核心思想是這樣的,在每個數據塊分發之前,通過評估隊列延遲與網絡路徑延遲,來選擇數據分發的路徑。由於每次都選擇最好的路徑分發數據,因此可以保證數據到達時基本有序。計算公式如下:

 

 

Score是路徑i的評估分數,q是發送者的傳送緩沖區的數據長度,srtt是平滑后的rtt,g是平滑后的吞吐量。

問題:

現實問題是,路徑質量是不可預測的,如果變化比較大,評估將會十分的困難。

 

α
(0 < α < 1 )是一個常量,TPUTjTCP的吞吐量,它是每β毫秒不斷測量的。在ATLBαβ的決定是由最近的每個路徑的吞吐量決定的。從長期來看,如果吞吐量是穩定的,應該選擇一個大一點的α,要不然應該小一點。
β應該為兩倍的RTT,以防快重傳的發生

•算法描述

   1.在LTE子流中檢測TBX

   2.如果檢測到,且stWiFi為空閑,則判斷SWiFiW是否大於0,是的話就從LTE子流中卸載一部分數據到WiFi中

   3.如果stWiFi不是空閑,則判斷SLTEW是否大於0,是的話,通過LTE發送數據

  4.否則,執行擁塞算法

 

參數含義:

1.SB-傳輸端緩沖區中沒被發出的數據
2.SWiFiW:WiFi的擁塞窗口大小
3.SLTEW:LTE擁塞窗口大小
4.S-從TCP接收緩沖區獲得的數據大小
5.stWiFi-當前WiFi狀態
6.Tbx-當LTE接口打算接收數據時的固定時間戳
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM