一種多路徑傳輸協(xié)議中的動態(tài)數(shù)據(jù)調(diào)度方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及多路徑并行傳輸中的數(shù)據(jù)調(diào)度技術(shù),特別是指一種多路徑傳輸控制協(xié) 議(MPTCP,Multi-path Transmission Control Protocol)中的動態(tài)數(shù)據(jù)調(diào)度方法。
【背景技術(shù)】
[0002] 隨著網(wǎng)絡(luò)和通信技術(shù)的發(fā)展普及,越來越多的網(wǎng)絡(luò)終端設(shè)備具備了多網(wǎng)絡(luò)接入能 力,面對新業(yè)務(wù)對數(shù)據(jù)傳輸要求的提高,同時利用多網(wǎng)絡(luò)進行多路徑并行傳輸已成為新的 發(fā)展趨勢。網(wǎng)絡(luò)終端設(shè)備通過接入多種有線和無線網(wǎng)絡(luò),利用多路徑傳輸控制協(xié)議MPTCP 將數(shù)據(jù)分發(fā)到多條路徑中進行并行傳輸,通過整合各可用路徑聚合網(wǎng)絡(luò)傳輸帶寬,不僅能 夠提高數(shù)據(jù)傳輸有效性,滿足業(yè)務(wù)需求,同時還將提高網(wǎng)絡(luò)資源利用率以及數(shù)據(jù)傳輸魯棒 性。然而,由于網(wǎng)絡(luò)間的差異特性,網(wǎng)絡(luò)帶寬、傳輸時延以及差錯率等都會影響數(shù)據(jù)傳輸?shù)?效率和準確性,MPTCP在進行數(shù)據(jù)分發(fā)時需要考慮各路徑的傳輸特點和傳輸能力,將數(shù)據(jù)更 多地調(diào)度到傳輸質(zhì)量好、擁塞情況較優(yōu)的路徑上,傳輸質(zhì)量差、擁塞嚴重的路徑少調(diào)度甚至 直接摒棄,從而保證發(fā)送端發(fā)送的數(shù)據(jù)包按序到達目的接收端,減少接收端數(shù)據(jù)重組時間 和丟包重傳損耗,保證整體數(shù)據(jù)傳輸性能。發(fā)送端在各路徑上分發(fā)的數(shù)據(jù)在接收端需要進 行重組,然后再按序交給應(yīng)用層,每個子路徑接收端都有一個二級緩存進行各路徑的數(shù)據(jù) 重組,同時每個連接有一個一級緩存進行全局數(shù)據(jù)重組,傳輸質(zhì)量差的路徑由于時延大差 錯率高,會引起丟包重傳以及亂序到達等問題,這樣雖然其他路徑數(shù)據(jù)包按序到達,但一級 緩存上的重組仍然需要等待質(zhì)量較差路徑上的數(shù)據(jù)包,造成延遲交付。若等待時間過久,一 級緩存將會被其他較優(yōu)路徑充滿,由于遲遲不能交付,發(fā)送端連接級得不到確認,將會引發(fā) 較優(yōu)路徑的數(shù)據(jù)包超時重傳,導(dǎo)致接收端緩存整體阻塞,嚴重影響多路徑并行傳輸整體性 能。因此,在MPTCP數(shù)據(jù)調(diào)度中,動態(tài)地根據(jù)各路徑的傳輸特性變化采取合理的調(diào)度策略, 對于保障可靠有效的多路徑并行數(shù)據(jù)傳輸至關(guān)重要。
[0003] 在現(xiàn)有MPTCP協(xié)議中,默認的數(shù)據(jù)調(diào)度策略是L〇west-RTT,它是一種簡單的動態(tài) 調(diào)度算法,選取路徑的往返時間(RTT,Round-Trip Time)作為路徑傳輸質(zhì)量的評估指標, 表征了路徑的傳輸時延,RTT越小,表明路徑傳輸質(zhì)量越高,反之越差。對于每次數(shù)據(jù)調(diào)度, 優(yōu)先選擇傳輸延遲最小的路徑作為最佳路徑,當最佳路徑的發(fā)送窗口(cwnd,congestion window)為零時,再選擇傳輸時延次小的路徑作為最佳路徑,以此類推。此外,還有一種被動 式的數(shù)據(jù)調(diào)度方法Round Robin,由于不考慮各路徑傳輸質(zhì)量差別而將數(shù)據(jù)均等地進行分 發(fā),極易造成接收端數(shù)據(jù)到達亂序,引起傳輸阻塞,性能不高,現(xiàn)僅作為研宄測試參考保留 在內(nèi)核之中。
[0004] 顯然Round Robin數(shù)據(jù)調(diào)度策略不能適應(yīng)路徑傳輸狀況多變的實際環(huán)境,無法實 現(xiàn)多路徑并行傳輸?shù)哪繕?,而Lowest-RTT數(shù)據(jù)調(diào)度策略雖然在一定程度上實現(xiàn)了動態(tài)調(diào) 度,但僅選取最小路徑傳輸時延作為唯一評估標準,雖然實現(xiàn)較為簡單,但忽略了網(wǎng)絡(luò)帶寬 等其他路徑傳輸特性。此外,MPTCP中調(diào)度器與擁塞控制機制是協(xié)調(diào)工作的,擁塞控制機制 作用會影響調(diào)度器的調(diào)度性能,而Lowest-RTT數(shù)據(jù)調(diào)度策略沒有涉及擁塞狀態(tài),當過度調(diào) 度發(fā)生時將引起擁塞,擁塞控制機制將會乘性的減少發(fā)送窗口 cwnd,導(dǎo)致路徑數(shù)據(jù)傳輸速 率急劇下降,不能充分利用路徑帶寬,從而對整體性能產(chǎn)生影響,所以不能完全達到MPTCP 多路徑傳輸?shù)念A(yù)期。
[0005] 傳統(tǒng)的基于RTT的數(shù)據(jù)調(diào)度方法和被動的Round Robin數(shù)據(jù)調(diào)度策略均不能充分 發(fā)揮MPTCP多路徑并行傳輸?shù)男?,實際傳輸效率達不到預(yù)期期望,從而制約著MPTCP的應(yīng) 用普及。
【發(fā)明內(nèi)容】
[0006] 有鑒于此,本發(fā)明的目的在于提出一種MPTCP中的Smart-RTT動態(tài)數(shù)據(jù)調(diào)度方法, 能夠?qū)砣刂瓶紤]在內(nèi),實時估計路徑的實際傳輸能力,有效改善調(diào)度器效率和準確性, 保證MPTCP穩(wěn)定傳輸,提高整體傳輸性能。
[0007] 基于上述目的本發(fā)明提供的MPTCP中的動態(tài)數(shù)據(jù)調(diào)度方法一種多路徑并行傳輸 協(xié)議(MPTCP)中的動態(tài)數(shù)據(jù)調(diào)度方法,包括以下步驟:
[0008] 步驟一:測量各路徑的往返時間RTT及往返時間的變化值RTTVAR ;
[0009] 步驟二:根據(jù)RTT及RTTVAR判斷路徑是否可用,摒棄擁塞路徑,保留可用路徑;
[0010] 步驟三:估計各路徑的數(shù)據(jù)傳輸能力;
[0011] 步驟四:結(jié)合步驟三估算的數(shù)據(jù)傳輸能力為各路徑分配數(shù)據(jù)傳輸配額;
[0012] 步驟五:調(diào)度器按照步驟四給出的各路徑的傳輸配額分發(fā)傳輸數(shù)據(jù)。
[0013] 在一些實施方式中,所述步驟二包括:將RTTVAR與閾值RTTVART作比較,
[0014] 若RTTVAR彡RTTVART,判斷RTT的變換趨勢,
[0015] 若RTT值增大,判斷該路徑為擁塞路徑,直接摒棄,
[0016] 若RTT值減小,保留該路徑;
[0017] 若 RITVAR < RITVART,保留該路徑。
[0018] 在一些實施方式中,所述RTTVART根據(jù)傳輸網(wǎng)絡(luò)的參數(shù)特性及傳輸特性靈活設(shè) 定。
[0019] 在一些實施方式中,所述步驟三的數(shù)據(jù)傳輸能力capacity的更新方式為:
[0020] 判斷Th(t)與Th(t-rtt)及d(t)與a的大小關(guān)系,
[0021] 若 d(t)彡 a,
[0022] 判斷 a > 1 且 Th (t) ^ Th (t_rtt),令 capacity = capacity+1 ;
[0024] 判斷 a = 1,令 capacity = capacity+1 ;
[0025] 若 a <d (t)〈 0,
[0026] 判斷 Th (t) ^ Th (t_rtt),令 capacity = capacity+1,a = a+1,0 = 0+1 ;
[0027] 判斷 Th (t)〈Th (t_rtt),不變;
[0028] 若 d(t)彡 0,
[0029] 判斷 a > I 且 Th (t) ^ Th (t_rtt),令 capacity = capacity+1,a = a+1,0 =0 +1 ;
[0031]其中,
[0032] capacity是路徑的數(shù)據(jù)傳輸能力,與發(fā)送窗口是同一量綱;
[0033] d(t)是t時亥Ij傳輸網(wǎng)絡(luò)路徑隊列中緩存的數(shù)據(jù)包個數(shù);
[0034] (a,0)是控制網(wǎng)絡(luò)路徑隊列中緩存的數(shù)據(jù)包數(shù)的變量,初始值為(1,3);
[0035] Th (t)及Th (t-rtt)分別代表路徑t時刻及t之前的一個RTT時刻的實際吞吐速
[0036] 在一些實施方式中,所述t時刻傳輸網(wǎng)絡(luò)路徑隊列中緩存的數(shù)據(jù)包個數(shù)根據(jù)如下 公式更新:
[0037] d(t) = 〇 XBasem;
[0038] 〇是t時刻路徑的期望吞吐速率與實際吞吐速率的差值,
[0040] 其中,
[0041] cwnd(t)為t時刻路徑的發(fā)送窗口;
[0042] Basem是路徑的最小傳輸時延,
[0043] Realm是路徑的實際傳輸時延;
[0046] 在一些實施方式中,所述步驟四的數(shù)據(jù)傳輸配額的估算方法是:將各路徑的數(shù)據(jù) 傳輸能力capacity與路徑的發(fā)送窗口cwnd作比較,
[0047] 若capacity<cwnd,則調(diào)度器給該路徑的配額為capacity ;
[0048] 若capacity彡cwnd,則調(diào)度器給該路徑的配額為cwnd。
[0049] 在一些實施方式中,所述步驟五包括:調(diào)度器選取RTT最小的路徑作為最佳路徑, 按步驟四的配額分配數(shù)據(jù)進行數(shù)據(jù)傳輸,當RTT最小的路徑的配額用完之后,再選取RTT次 小的路徑進行傳輸,依次進行,直到發(fā)送完成緩存的全部數(shù)據(jù)傳輸為止。
[0050] 從上面所述可以看出,本發(fā)明提供的MPTCP中的Smart-RTT動態(tài)數(shù)據(jù)調(diào)度方法克 服了傳統(tǒng)的Round Robin及L〇west_RTT數(shù)據(jù)調(diào)度策略的不能適應(yīng)路徑傳輸狀況多變的實 際環(huán)境及在未涉及擁塞情況的缺點,具有以下幾方面的優(yōu)點:(1)考慮了擁塞對傳輸性能 的影響,根據(jù)RTT值變化對擁塞情況進行初步判斷,丟棄擁塞嚴重且傳輸不穩(wěn)定的路徑不 僅減少了路徑差異帶來的性能下降,同時降低了后續(xù)功能模塊的計算復(fù)雜度;(2)增加了 路徑傳輸能力估算模塊對路徑的數(shù)據(jù)傳輸能力進行實時動態(tài)估計,準確,高效,具備自適應(yīng) 特性,準確反映路徑的擁塞狀況。(3)調(diào)度器通過準確估計各路徑的實時傳輸能力,在路徑 發(fā)生丟包之前(即擁塞機制起作用之前)就減少數(shù)據(jù)分發(fā)配額,解決了調(diào)度器調(diào)度盲目性 問題,合理控制傳輸包數(shù),避免發(fā)生擁塞帶來的性能劇降,提高了調(diào)度器的調(diào)度效率和準 確性,保持MPTCP穩(wěn)定傳輸,對于提高MPTCP的整體傳輸性能具有較深遠的意義。
【附圖說明】
[0051] 圖1為本發(fā)明提供的MPTCP中的Smart-RTT動態(tài)數(shù)據(jù)調(diào)度方法的流程圖;
[0052] 圖2為本發(fā)明提供的MPTCP中的Smart-RTT動態(tài)數(shù)據(jù)調(diào)度方法實現(xiàn)框圖。<