MPTCP的定義
所謂MPTCP,即MultipaTH TCP(多路徑TCP),是指與傳統單路徑TCP相比,在傳輸數據時使用多條鏈接路徑去傳輸數據,以此來提高最大化資源利用率和增加冗余度。MP TCP是IETF(因特網工程項目組)正在標准化的一個工作。它作為傳統TCP的一個擴展,是由IETF在2013年1月發布的一個規范。具體可以參考rfc 6824.
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 )是一個常量,TPUTj是TCP的吞吐量,它是每β毫秒不斷測量的。在ATLB中α與β的決定是由最近的每個路徑的吞吐量決定的。從長期來看,如果吞吐量是穩定的,應該選擇一個大一點的α,要不然應該小一點。
β應該為兩倍的RTT,以防快重傳的發生
1.在LTE子流中檢測TBX
2.如果檢測到,且stWiFi為空閑,則判斷SWiFiW是否大於0,是的話就從LTE子流中卸載一部分數據到WiFi中
3.如果stWiFi不是空閑,則判斷SLTEW是否大於0,是的話,通過LTE發送數據
4.否則,執行擁塞算法
參數含義: