陶 洋,周 玄
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶400065)
近年來,無線通信技術(shù)已經(jīng)經(jīng)歷了一個極度快速的發(fā)展。通過最近科學(xué)技術(shù)的支持,移動設(shè)備也變得越來越智能,許多設(shè)備都已經(jīng)裝有多網(wǎng)絡(luò)接口[1]。通過無線網(wǎng)絡(luò),各個領(lǐng)域的大量日益復(fù)雜的服務(wù)和應(yīng)用,包括商業(yè)和娛樂,都被廣泛提供給這些移動設(shè)備的用戶,并且充分利用無處不在的訪問支持[2,3]。然而,無線網(wǎng)絡(luò)環(huán)境的異構(gòu)性要求額外的方案去解決平滑高質(zhì)量的服務(wù)配置[4]。SCTP 的多穴特性[5]和其動態(tài)的重構(gòu)擴(kuò)展[6]使其在無線異構(gòu)網(wǎng)絡(luò)中支持高效的數(shù)據(jù)傳輸,包括無縫切換,都有著廣闊的發(fā)展前景。
CMT 利用SCTP的多穴特性同時分配數(shù)據(jù),在多條獨(dú)立的端到端的路徑上傳輸[7]。裝有多網(wǎng)絡(luò)接口的移動設(shè)備可以利用CMT 來獲得帶寬聚合,以提高數(shù)據(jù)的吞吐量、帶寬源利用以及系統(tǒng)的魯棒性[8]。CMT 被認(rèn)為是異構(gòu)無線網(wǎng)絡(luò)中有嚴(yán)格時延和丟包率限制要求的實(shí)時多媒體流應(yīng)用的理想解決方案[9,10]。
然而,仍有許多SCTP CMT 的挑戰(zhàn)需要解決。經(jīng)典的CMT 策略主要用統(tǒng)一循環(huán)的方法分割所有路徑中的SCTP數(shù)據(jù)包,就帶寬、時延以及其它QoS 相關(guān)網(wǎng)絡(luò)參數(shù)而言,不考慮路徑質(zhì)量的差異性。在無線異構(gòu)網(wǎng)絡(luò)中,用這種盲目的循環(huán)方法調(diào)度數(shù)據(jù)塊毫無疑問的會引起嚴(yán)重的問題。因此,CMT 經(jīng)常遭受重大接收端緩沖區(qū)阻塞問題,這必將降低系統(tǒng)的傳輸效率。無序數(shù)據(jù)和選擇應(yīng)答 (SACK)段的增加會導(dǎo)致更多不必要的快速重發(fā),擁塞窗口[11]數(shù)量的進(jìn)一步減少和由于SACKs引起的更高的開銷。
目前,CMT已經(jīng)引起了大量學(xué)術(shù)研究的興趣。Dreibholz等[12]在IETE中研究了連續(xù)不斷的SCTP標(biāo)準(zhǔn)化進(jìn)程,且在并行多路徑傳輸和安全領(lǐng)域給出了活動和挑戰(zhàn)的總體概述。Wallace等[13]提出SCTP的綜合回顧,并討論了3個相關(guān)領(lǐng)域的貢獻(xiàn):并行多路徑傳輸、切換管理和跨層活動。CMT 被高度評價為在基于多穴SCTP的環(huán)境中最熱門的研究之一。
Huang等[14]提出一種快速重傳策略,在車載網(wǎng)中,通過使用CMT 繼電器網(wǎng)管 (RG-CMT)來處理包丟失。當(dāng)包由于移交而發(fā)生丟失時,RG-CMT 從繼電器網(wǎng)管到車輛實(shí)現(xiàn)快速重傳,這將會節(jié)約傳輸時間和帶寬。仿真和分析結(jié)果顯示,在無線自組織網(wǎng)絡(luò)中,WCMT-SCTP 可以大大提高系統(tǒng)的吞吐量。
Natarajan等[15]提出一種具有潛在失效狀態(tài)的CMT。一條經(jīng)歷過單一超時的路徑就被標(biāo)示為 “潛在失敗”(PF),表明這條路徑的通信可靠性存在疑問。一條PF路徑是不會用來傳輸數(shù)據(jù)的,直到它返回完全活躍狀態(tài)。CMT-PF 減少了鏈路失敗的探測等待時間,提高了CMT 的吞吐量。然而CMT-PF用的是和CMT 同樣的循環(huán)時間表對所有路徑均等的分配數(shù)據(jù)包,并沒有考慮它們不同的處理能力。
由于異構(gòu)無線網(wǎng)絡(luò)中的多穴通信,時延、帶寬和替代路徑的丟包率都是不同的。如果使用一個循環(huán)數(shù)據(jù)交付策略,較慢路徑就很容易超負(fù)荷,而較快路徑仍處于未充分利用狀態(tài)。為避免不平衡的傳輸,減少接收端的數(shù)據(jù)亂序,減緩由于使用不同路徑并行傳輸導(dǎo)致的接收端緩沖區(qū)阻塞問題,本文提出一種在異構(gòu)無線網(wǎng)絡(luò)中用于數(shù)據(jù)交付的并行多路傳輸路徑質(zhì)量評估模型,本模型主要貢獻(xiàn)如下:①精確的感知每條路徑當(dāng)前的傳輸狀態(tài),并實(shí)時評估每條路徑的數(shù)據(jù)處理能力;②根據(jù)不同路徑對數(shù)據(jù)的處理能力動態(tài)分配數(shù)據(jù)流量,實(shí)現(xiàn)路徑充分利用。
本文提出的路徑質(zhì)量評估模型,通過選擇一個合理的估計區(qū)間來計算每條路徑進(jìn)入和離開發(fā)送端緩沖區(qū)的數(shù)據(jù)處理速率,以描述了每條路徑的通信質(zhì)量。任何一個不良狀況,包括丟包率、鏈路時延、路由器緩沖區(qū)的大小、信道容量、其它數(shù)據(jù)量的數(shù)量等等,都引起路徑處理能力的性能下降。PQEM 用了一個綜合的評估方法來反應(yīng)以上因素在通信質(zhì)量方面的影響。PQEM 發(fā)送端緩沖區(qū)的數(shù)據(jù)處理速率描述了更好的端到端的數(shù)據(jù)交付情況,因?yàn)樗痰墓烙嫊r間能使它更及時的反應(yīng)當(dāng)前路徑的通信狀態(tài)。此外,分配數(shù)據(jù)進(jìn)入和離開發(fā)送端緩沖區(qū)時間區(qū)間的采樣值可以通過預(yù)測路徑質(zhì)量變化趨勢輕松獲得。
RTT 通常用作路徑質(zhì)量估計最重要的參數(shù),其計算涉及到數(shù)據(jù)傳輸時間、數(shù)據(jù)在接收端的處理時間和SACK 傳輸?shù)臅r間。在CMT 中,SACK 可以在不同的路徑上傳輸,因此有不同的時延,從而導(dǎo)致錯誤的RTT 估計。此外,通過計算每條路徑上發(fā)送每個包的RTT 單個采樣方法不能正確反映RTT 的變化過程,也不能很好的估計路徑質(zhì)量變化的趨勢。CMT-QA 不直接利用RTT 信息來分配在發(fā)送端等待的數(shù)據(jù),相反,PQEM 根據(jù)分配數(shù)據(jù)的發(fā)送情況,把發(fā)送數(shù)據(jù)的總時間劃分成不同的時期。PQEM 收集發(fā)送的數(shù)據(jù)量,并計算發(fā)送數(shù)據(jù)和接收其相應(yīng)SACKs的時間間隔,以上過程就是用來計算進(jìn)入和離開發(fā)送端緩沖區(qū)的分布式數(shù)據(jù)的速率。通過這種方法,傳輸層就可以很好的估計每條端到端路徑的傳輸能力。
當(dāng)前的CMT 主張共享一個發(fā)送端緩沖區(qū),這就不可能獲得每個路徑的通信信息。與此同時,發(fā)送端也可能發(fā)生傳輸阻塞。當(dāng)數(shù)據(jù)塊被發(fā)送到接收機(jī)時,直到發(fā)送端接收到ACK,這些數(shù)據(jù)塊才被存儲在發(fā)送端緩沖區(qū),并被標(biāo)注有突出地位。當(dāng)路徑中存在重大傳輸能力差異時,共享發(fā)送端緩沖區(qū)中的較慢路徑就會經(jīng)常出現(xiàn)充滿標(biāo)有突出地位的數(shù)據(jù)塊。在這種情況下,即使當(dāng)前的擁塞和流控制機(jī)制允許,也沒有新的數(shù)據(jù)塊可以在快的路徑上進(jìn)行傳輸。為了正確的估計每條路徑的質(zhì)量,提高傳輸效率,在PQEM中,共享發(fā)送端緩沖區(qū)被分成兩部分。一部分是每條路徑的個人發(fā)送子緩沖區(qū),另一部分是每個路徑連接獨(dú)立管理其自己發(fā)送子緩沖區(qū)。PQEM 用一個動態(tài)的緩沖區(qū)分配機(jī)制,根據(jù)路徑當(dāng)前的傳輸能力來為每條路徑分配不同的緩沖區(qū)空間大小。
基于以上為多路徑單獨(dú)發(fā)送緩沖區(qū)的結(jié)構(gòu)設(shè)計,我們可以用式 (1)來計算路徑的質(zhì)量
式中:Tfi是一組分布式數(shù)據(jù)塊中第一個數(shù)據(jù)塊進(jìn)入路徑i的發(fā)送端緩沖區(qū)的時間,它可以通過記錄數(shù)據(jù)塊進(jìn)入發(fā)送端的時間獲取。Tli是一組分布式數(shù)據(jù)塊中最后一個數(shù)據(jù)塊離開路徑i的發(fā)送端緩沖區(qū)的時間,Tli可以通過記錄數(shù)據(jù)塊在發(fā)送端相應(yīng)的SACK 離開時間來獲取。緩沖區(qū)大小就表示路徑i發(fā)送端緩沖區(qū)的大小,在傳輸過程中,首先被數(shù)據(jù)塊占用,然后又被釋放出來,即在一段特殊時期內(nèi),單位時間進(jìn)入和離開路徑i的發(fā)送端的數(shù)據(jù)量。Qi表示路徑i的發(fā)送端緩沖區(qū)的數(shù)據(jù)處理速率。Qi的值越小,表示當(dāng)前路徑i的質(zhì)量就越高。路徑i的緩沖區(qū)大小反應(yīng)了當(dāng)前路徑i在整個發(fā)送數(shù)據(jù)過程中的通信狀態(tài)。
確定了路徑質(zhì)量因子,接下來就應(yīng)該確定多長時間來計算和更新路徑i的估計值Qi。在無線的情況下,如果這個估計區(qū)間太短了 (例如短于或者和RTT 一樣短),那么當(dāng)數(shù)據(jù)塊由于無線網(wǎng)絡(luò)情況發(fā)生變化而導(dǎo)致的數(shù)據(jù)塊隨機(jī)丟失時,它也許就不能正確的反應(yīng)路徑的狀況。但是,如果估計間隔設(shè)置太長,它又不能及時的反應(yīng)動態(tài)的路徑狀態(tài)。因此,間隔需要基于歷史信息,并且選擇一個合適長度的間隔來精確的更新Q 的值。置信區(qū)間的值被廣泛用來量化統(tǒng)計不確定性?;谙惹暗男蛄薪y(tǒng)計樣本,PQEM 使用置信區(qū)間來確定下一個間隔,并計算Q 的值。我們選擇沒有包丟失的時間間隔作為樣本。起初,PQEM 需要3次間隔作為初始樣本。如果發(fā)生包丟失的情況,那么從第一個包進(jìn)入發(fā)送端到包丟失前的最后一個包進(jìn)入發(fā)送端的時間段作為一個樣本。圖1就描述了這個抽樣的過程。
圖1 收集一個間隔樣值
采樣算法顯示了路徑i的樣本是怎樣采集的。每一條路徑都有一個相關(guān)的個體重傳計時器T3-rtx,以確保在沒有收到接收端任何反饋信息時進(jìn)行數(shù)據(jù)交付。在數(shù)據(jù)分配區(qū)間,當(dāng)?shù)谝粋€數(shù)據(jù)塊被發(fā)送出去的時候,它的發(fā)送時間記為一個成功傳輸時間區(qū)間的初始時間。當(dāng)一個數(shù)據(jù)塊被發(fā)送到任何一條路徑時 (包括重傳),如果和那條路徑相關(guān)聯(lián)的T3-rtx計時器還沒有開始工作,發(fā)送端就啟動計時器,以便它超時重傳后就失效。如果哪條路徑的時間計時器已經(jīng)開始運(yùn)作,當(dāng)一個優(yōu)秀的數(shù)據(jù)塊在早些時候被送來重傳時,發(fā)送端就要重啟計時器。每當(dāng)收到一個SACK 時,就表示收到了來自此路徑的一個有優(yōu)秀傳輸序列號的數(shù)據(jù)塊,這時,這條路徑的T3-rtx計時器就需要用它當(dāng)前的RTO(超時重傳時間)來重新啟動 (如果這條路上仍有一個優(yōu)秀的數(shù)據(jù))。如果所有的優(yōu)秀的數(shù)據(jù)都被送到一條路徑上,并且已經(jīng)得到認(rèn)可,那這條路徑的T3-rtx計時器就可以關(guān)閉了。如果這個數(shù)據(jù)塊通過累計ACK 并且得到認(rèn)可,它就能從發(fā)送端的重傳隊(duì)列緩沖區(qū)中移除。如果出現(xiàn)包丟失的情況,不管是被RTO 探測到,還是被連續(xù)不斷的SACKs報道,發(fā)送端都應(yīng)該立刻重傳丟失的數(shù)據(jù)塊以減輕重新排序。在丟包的情況下,最后一個數(shù)據(jù)塊的時間戳 (指示發(fā)送時間)被記為一個成功數(shù)據(jù)傳輸區(qū)間的結(jié)束時間。在收集了最新的數(shù)據(jù)之后,我們就需要重新計算這條路徑的處理能力,并且更新Q 值。Q 值的更新分兩種情況:包丟失的情況和考慮置信區(qū)間的情況。
采樣算法:收集一個采樣
1:對于任一目的地址di,初始化di.初始數(shù)據(jù)=TRUE;END=0;
2:while(!END)
3: if(di.初始數(shù)據(jù)==TRUE)
4: 記錄當(dāng)前時間作為初試時間
5: di.初始數(shù)據(jù)=FALSE;
6: end if
7: 傳輸一個數(shù)據(jù)塊
8: 記錄當(dāng)前時間作為數(shù)據(jù)塊的時間戳;
9: if(di.rxt時間計時器已經(jīng)啟動==FALSE)
10: 啟動T3-rtx時間計時器
11: di.rxt時間計時器已經(jīng)啟動=TURE;
12: end if
13: if(杰出數(shù)據(jù)的應(yīng)答到達(dá))
14: 重啟T3-rtx時間計時器
15: end if
16: if (T3-rtx 時 間 計 時 器 在RTO 后 期 滿||SACK 報告4次丟失)
17: 記錄最后一個數(shù)據(jù)塊的時間戳作為結(jié)束時間
18: END=1;
19: 立刻重傳;/*發(fā)生丟包*/
20: end if
21:end while
22:計算區(qū)間采樣 (結(jié)束時間-開始時間)
如上文算法所示,在收集樣本后,通過與歷史區(qū)間樣本相結(jié)合,我們可以計算出每條路徑的置信區(qū)間。假設(shè)一條路徑的時間間隔樣本為x1;x2;x3;…;xn,我們就可以使用下面的公式計算出時間間隔樣本的平均值
式中:xi——每一個時間樣本都沒有出現(xiàn)丟包的成功傳輸區(qū)間,N——樣本數(shù)量,——平均時間間隔。
式 (2)描述了計算平均值的基本公式。為避免在發(fā)送端存儲所有收集到的樣本,我們可以用一個迭代的方法去計算時間迭代平均值
相似的,式 (4)就可以用來計算標(biāo)準(zhǔn)差
式中:xi——每一個采樣都沒有丟包的成功傳輸間隔。N——樣本的數(shù)量,——平均的時間間隔,SN——所有樣本的標(biāo)準(zhǔn)差。
式 (4)是計算樣本標(biāo)準(zhǔn)差的一個基本公式。我們也可以用迭代的方法去計算標(biāo)準(zhǔn)差以避免在發(fā)送端存儲所有的樣本,以減小計算復(fù)雜度
式 (5)顯示,我們可以用4個變量來計算信的標(biāo)準(zhǔn)差SN+1:先前的時間標(biāo)準(zhǔn)差SN、先前的平均時間間隔、當(dāng)前的時間樣本xN+1和先前的樣本數(shù)量N。
當(dāng)計算一個成功傳播的變異系數(shù) (標(biāo)準(zhǔn)差/平均值)后,我們就可以適用這個估計區(qū)間。在從式 (3)和式 (5)中獲得平均值和標(biāo)準(zhǔn)差后,就可以用中心極限定理來計算置信區(qū)間
式中:N——樣本數(shù)量,1-α——置信標(biāo)準(zhǔn)。S是所有樣本的標(biāo)準(zhǔn)差?!袠颖镜钠骄怠?/p>
假設(shè)沒有丟包傳輸?shù)母怕试O(shè)置為98%,即α =0.02。如表1 所示,我們就可以用查表的方法得到Z1-α2 =2.326。因此,我們就可以獲得置信區(qū)間u,并作為進(jìn)一步評估的參考去更新路徑質(zhì)量和預(yù)測其趨勢。
置信區(qū)間的值也被用來作為一個參考,幫助選擇路徑。如果它小于RTO,包丟失就可能發(fā)生在很短的時間內(nèi),這就意味著這條路經(jīng)的通信狀態(tài)不是很良好,我們無法檢測它直至一段相對較長的時間后。如果我們用它來并行傳輸數(shù)據(jù)塊,我們就需要等待這條路徑重傳丟失的數(shù)據(jù)塊,因此,傳輸效率就會下降。所以,我們需要用一個不活躍的狀態(tài)去標(biāo)注成功傳輸間隔小于RTO 的路徑。我們選擇高質(zhì)量路徑的子集進(jìn)行傳輸,保證數(shù)據(jù)包能有序的接受,并且重傳率遠(yuǎn)遠(yuǎn)小于傳統(tǒng)的方式。
表1 置信標(biāo)準(zhǔn)及相應(yīng)的α和Z值
本文分別對經(jīng)過PQEM 的并行多路傳輸 (下面以CMT-PQEM 表示)和傳統(tǒng)的CMT 以及具有潛在失效狀態(tài)的CMT (下面以CMT-PF 表示)在NS2 仿真軟件下進(jìn)行了性能評測與比較。
在異構(gòu)無線網(wǎng)絡(luò)環(huán)境下,本文分別對3種傳輸方式在不同丟包率的情況下進(jìn)行了平均吞吐量和平均重傳進(jìn)行了比較,圖2 (a)為仿真環(huán)境下異構(gòu)無線網(wǎng)絡(luò)拓?fù)洌抡娼Y(jié)果如圖2 (b)、圖2 (c)所示。
圖2 仿真結(jié)果
從圖2 (b)可以看出,不管是CMT,CMT-PF,還是CMT-PQEM,隨著丟包率的增加,它們的平均吞吐量都會隨之下降,但是在同一丟包率的情況下,CMT-PQEM 的平均吞吐量都優(yōu)于其它兩個。從圖2 (c)可以看出,隨著丟包率的逐步增加,CMT、CMT-PF和CMT-PQEM 的平均重傳都相應(yīng)增加,但是在丟包率相同時,CMT 的平均重傳是最高的,而CMT-PQEM 的平均重傳是三者中最低的。綜合圖2可得:CMT-PQEM 的性能優(yōu)于CMT及CMT-PF。
鑒于以往CMT 的局限性,本文提出一種路徑質(zhì)量評估模型,該模型能實(shí)時計算和評估網(wǎng)絡(luò)當(dāng)中每條路徑的質(zhì)量,充分考慮了不同路徑之間數(shù)據(jù)傳輸能力的差異,并根據(jù)之前以及當(dāng)前的數(shù)據(jù)來預(yù)測之后的路徑狀態(tài),從而實(shí)現(xiàn)對網(wǎng)絡(luò)資源的優(yōu)化分配,實(shí)現(xiàn)了負(fù)載均衡,適用于無線異構(gòu)網(wǎng)絡(luò)數(shù)據(jù)并行傳輸。通過仿真驗(yàn)證,本系統(tǒng)可以提高系統(tǒng)的平均吞吐量,降低平均重傳,實(shí)現(xiàn)對網(wǎng)絡(luò)資源的合理分配。
[1]HUANG Weiwei.Research on SCTP parallel multiplex transmission based on wireless LAN [D].Xi’an:Xidian University,2012 (in Chinese).[黃威威.無線局域網(wǎng)中基于SCTP并行多路傳輸?shù)难芯?[D].西安:西安電子科技大學(xué),2012.]
[2]JIANG Daoxia,PAN Shouwei,ZHOU Yao,et al.A kind of TCP congestion control algorithm based on end to end Ad Hoc network [J].Computer Science,2010,37 (7):105-110 (in Chinese).[蔣道霞,潘守偉,周曜,等.一種基于端到端的Ad Hoc 網(wǎng) 絡(luò)TCP 擁 塞 控 制 改 進(jìn) 算 法 [J].計 算 機(jī) 科 學(xué),2010,37 (7):105-110.]
[3]Natarajan P,Ekiz N,Amer PD,et al.Concurrent multipath transfer during path failure [J].Computer Communications,2009,32 (15):1577-1587.
[4]XU Deli,SONG Fei,GAO Deyun,et al.The parallel multipath transmission based on SCTP in wireless environment[J].Journal of Computer Applications,2010,30 (9):2515-2518 (in Chinese). [許德力,宋飛,高德云,等.無線環(huán)境下基于SCTP的并行多路經(jīng)傳輸 [J].計算機(jī)應(yīng)用,2010,30(9):2515-2518.]
[5]Mirani FH,Boukhatem N,Tran MA.A data-scheduling mechanism for multi-h(huán)omed mobile terminals with disparate link latencies[C]//VTC 2010-Fall,2010:1-5.
[6]CUI Yong,CAI Yunfeng,GUO Renwei.The system and scheduling method to send packet in MPTCP [P].China,201110115777.9,2011-09-14 (in Chinese). [崔勇,蔡云峰,郭仁偉.MPTCP中發(fā)送數(shù)據(jù)包調(diào)度方法及系統(tǒng) [P].中國,201110115777.9,2011-09-14.]
[7]Caro A,Iyengar J.NS-2SCTP module[D].Newark:Protocol Engineering Laboratory (PEL ), University of Delaware,2012.
[8]Jabalameli H,Malekpour A,Hassani R,et al.An add-on for security on concurrent multipath communication SCTP[C]//International Conference on Advanced Information Networking and Applications Workshops:[s.n.],2013:713-719.
[9]Huang CM,Lin MS.Multimedia streaming using partially reliable concurrent multipath transfer for multihomed network [J].IET Comm,2011,5 (5):587-597.
[10]Liu Luo,Cuthbert Laurie.A novel QoS in node-disjoint routing for ad hoc networks[C]//ICC Workshops,2008:202-206.
[11]TAO Yang,LI Pan,WU Jun.An update mechanism of CMT congestion window based on Westwood [J].Video Engineering,2011,35 (21):89-91 (in Chinese). [陶洋,李攀,武俊.一種基于Westwood的CMT 擁塞窗口更新機(jī)制[J].電視技術(shù),2011,35 (21):89-91.]
[12]Raiciu C,Barre S,Pluntke C.Improving datacenter performance and robustness with multipath TCP [C]//ACM,2011:266-277.
[13]Adhari H,Dreibholz T,Becke M,et al.Evaluation of concurrent multipath transfer over dissimilar paths [C]//International Conference on Advanced Information Networking and Applications Workshops,2011:708-714.
[14]Budzisz L,F(xiàn)errus R,Casadevall F,et al.On concurrent mutipath transfer in SCTP-based handover scenarios [C]//Proceedings of the IEEE International Conference on Communications.Dresden:IEEE,2009:1-6.
[15]Xu C,F(xiàn)allon E,Qiao Y,et al.Performance evaluation of distributing real-time video over concurrent multipath [C]//Proc IEEE Conf Wireless Comm and Networking Conf,2009:1-6.