丁男,林滔,宋彩霞,2,譚國真
(1. 大連理工大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧 大連 116024;2. 青島農(nóng)業(yè)大學(xué)理學(xué)與信息科學(xué)學(xué)院,山東 青島 266109)
面向車聯(lián)網(wǎng)按需驅(qū)動的多宿主多鏈路TCP擁塞控制算法
丁男1,林滔1,宋彩霞1,2,譚國真1
(1. 大連理工大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧 大連 116024;2. 青島農(nóng)業(yè)大學(xué)理學(xué)與信息科學(xué)學(xué)院,山東 青島 266109)
針對車聯(lián)網(wǎng)終端設(shè)備中網(wǎng)絡(luò)應(yīng)用QoS的多樣化需求,保證與安全應(yīng)用相關(guān)的高優(yōu)先級數(shù)據(jù)報文發(fā)送實時性,提出了一種新的基于數(shù)據(jù)優(yōu)先級與吞吐量評估的按需驅(qū)動的MPTCP擁塞控制算法PTLIA。首先,算法采用數(shù)據(jù)報文優(yōu)先級以及吞吐量占比因子,表征各個數(shù)據(jù)報文的發(fā)送權(quán)重;其次,利用分批估計理論模型對 MPTCP中路徑狀態(tài)進(jìn)行實時評估;最后,依據(jù)算法模型設(shè)計,實現(xiàn)對網(wǎng)絡(luò)擁塞時間窗的按需動態(tài)調(diào)整。實驗與仿真驗證了PTLIA算法在滿足大部分網(wǎng)絡(luò)應(yīng)用需求的前提下,提高了高優(yōu)先級應(yīng)用的網(wǎng)絡(luò)傳輸實時性。
車聯(lián)網(wǎng);MPTCP;擁塞控制;安全應(yīng)用;數(shù)據(jù)優(yōu)先級;吞吐量評估
車聯(lián)網(wǎng)利用無線通信技術(shù)實現(xiàn)車車通信、車路通信、車與服務(wù)中心通信,將人—車—路—環(huán)境有機(jī)地結(jié)合起來,提高了交通安全性和通行效率[1]。如何保障車聯(lián)網(wǎng)進(jìn)行高效穩(wěn)定地通信已成為車聯(lián)網(wǎng)中的關(guān)鍵問題。多宿主(multi-homed)通信技術(shù),利用在系統(tǒng)中集成多個或多類物理通信介質(zhì),可以提高系統(tǒng)通信的穩(wěn)定性與可靠性[2]。隨著多宿主通信技術(shù)在終端設(shè)備上的廣泛應(yīng)用,如何利用其多物理通信介質(zhì)并發(fā)傳輸、動態(tài)切換,有效利用網(wǎng)絡(luò)信道容量,成為其應(yīng)用的關(guān)鍵問題。
2013年1月,IETF(Internet Engineering Task Force)工作組制定了 MPTCP (multipath transportcontrol protocol)協(xié)議框架[3]。MPTCP協(xié)議可以有效地利用多宿主系統(tǒng)中的網(wǎng)絡(luò)容量,提高網(wǎng)絡(luò)傳輸性能。MPTCP協(xié)議通過對傳統(tǒng)TCP協(xié)議的擴(kuò)展,利用多TCP鏈路并發(fā)傳輸機(jī)制實現(xiàn)了在TCP協(xié)議傳輸過程中路徑并發(fā)建立、動態(tài)選優(yōu)、自動切換等功能,解決了傳統(tǒng)TCP連接在多通信介質(zhì)切換過程中的路徑建立延時以及擁塞階段無法動態(tài)切換路徑的問題。
車聯(lián)網(wǎng)應(yīng)用是多樣化的,其通信需求也是多元化、海量化并存的。不同類型應(yīng)用的信息重要性不同,導(dǎo)致其傳輸優(yōu)先級需求的差異性較大。如系統(tǒng)廣播信息、安全應(yīng)用信息、交通誘導(dǎo)類應(yīng)用信息和娛樂應(yīng)用信息等。然而,現(xiàn)有的大部分MPTCP擁塞控制算法的主要考慮因素是傳輸效率以及對傳統(tǒng)單路徑TCP用戶的公平性問題[4],并未結(jié)合網(wǎng)絡(luò)應(yīng)用中數(shù)據(jù)的不同通信需求、不同優(yōu)先級特性對網(wǎng)絡(luò)資源進(jìn)行分配管理。結(jié)合車聯(lián)網(wǎng)的應(yīng)用需求,設(shè)計有效的MPTCP擁塞控制算法,是提高M(jìn)PTCP協(xié)議在車載終端設(shè)備中有效利用多物理通信介質(zhì)的關(guān)鍵。
針對上述問題,本文提出了一種基于應(yīng)用優(yōu)先級與吞吐量評估的MPTCP擁塞控制算法。本文不僅考慮了傳輸效率與公平性因素,還考慮了車聯(lián)網(wǎng)中高優(yōu)先級應(yīng)用的傳輸需求,按需對不同應(yīng)用的網(wǎng)絡(luò)擁塞窗口值動態(tài)調(diào)整,進(jìn)一步保證了車聯(lián)網(wǎng)通信的安全性,并通過吞吐量評估的方式提高了網(wǎng)絡(luò)傳輸效率,從而增強(qiáng)了車聯(lián)網(wǎng)通信的實時性。
MPTCP對TCP進(jìn)行了支持多路徑的擴(kuò)展,旨在通過同時使用多條路徑提高網(wǎng)絡(luò)的吞吐量和頑健性。由于MPTCP具有的高可靠性、高吞吐量特性,MTPCP將成為車聯(lián)網(wǎng)多樣化通信的有效方法之一。文獻(xiàn)[5]介紹了一種專門用于車聯(lián)網(wǎng)中多媒體應(yīng)用的MPTCP傳輸協(xié)議,文獻(xiàn)[6]使用MPTCP協(xié)議提高車聯(lián)網(wǎng)中的文件傳輸效率。然而由于MPTCP多路徑的特性,也使TCP中的傳統(tǒng)擁塞控制算法不適合直接應(yīng)用于MPTCP協(xié)議中,故早期IETF工作組制定MPTCP規(guī)范時提出了以下3個設(shè)計目標(biāo)[3]。
1) 提高吞吐量:MPTCP流的整體吞吐量不應(yīng)低于僅使用任意一條單路徑時所獲得的吞吐量。
2) 不產(chǎn)生損害:當(dāng) MPTCP與TCP同時使用某網(wǎng)絡(luò)共享資源時,MPTCP用戶不能比TCP用戶獲得更多的網(wǎng)絡(luò)資源。
3) 擁塞平衡:若某條MPTCP鏈路發(fā)生擁塞,則應(yīng)盡量將數(shù)據(jù)轉(zhuǎn)移到其他路徑傳輸,以均衡各子流間的擁塞程度。
針對上訴目標(biāo)現(xiàn)已有若干擁塞控制算法被提出。在文獻(xiàn)[7]中,EWTCP(equal weighted TCP)算法對每個子流設(shè)置了路徑數(shù)的平方分之一作為權(quán)重因子,用來平衡 MPTCP對 TCP的侵略性。之后Costin 等[8]提出 LIA (linked increase)算法,LIA 算法將路徑的擁塞窗口值與延遲響應(yīng)時間的平方的比值作為衡量路徑狀態(tài)的標(biāo)準(zhǔn),并將當(dāng)前路徑比值與所有的路徑比值之和的比例作為擁塞窗口值增量。Khalili等[9]通過實驗證明了LIA算法不能完全實現(xiàn)擁塞平衡,并在LIA算法的基礎(chǔ)上,進(jìn)行了部分修正,提出了OLIA算法(opportunistic linked increases algorithm)。該算法與LIA算法相比,新增了一項與最佳路徑相關(guān)的機(jī)會增長因子用來對LIA算法的路徑選擇進(jìn)行一定的修正,保證了整體鏈路的負(fù)載均衡,以及Linux系統(tǒng)中MPTCP默認(rèn)的擁塞控制算法 Coupled[10],該算法將多個子流的擁塞窗口聯(lián)合起來,共同決定某一子流的擁塞窗口值的增長。除以上提及的MPTCP擁塞控制算法,還有一些其他的相關(guān)文獻(xiàn)建議去處理MPTCP中的最優(yōu)化路由[11]和數(shù)據(jù)中心網(wǎng)絡(luò)[12]等相關(guān)擁塞問題。
雖然現(xiàn)有的 MPTCP擁塞控制算法已經(jīng)較為完善,但并未考慮車聯(lián)網(wǎng)等系統(tǒng)中安全類應(yīng)用具有的優(yōu)先級傳輸需求。已有的考慮優(yōu)先級擁塞控制的文獻(xiàn)也幾乎局限于無線傳感網(wǎng)方面。如最早的應(yīng)用于無線傳感網(wǎng)中的基于優(yōu)先級的擁塞控制算法PCCP[13](priority based congestion control protocol),文獻(xiàn)[14~16]均是對PCCP算法在某一方面的改進(jìn),而文獻(xiàn)[17]則介紹了一種在LTE(long term evolution)移動網(wǎng)絡(luò)中基于優(yōu)先級的擁塞控制算法。
如圖1所示,在使用TCP傳輸數(shù)據(jù)時,通常包含3個階段[18]。
1) 開始階段(0-knee):網(wǎng)絡(luò)上的負(fù)載較小時,增加負(fù)載,網(wǎng)絡(luò)上的吞吐量將會近似線性增長。
2) 積聚階段(knee-cliff):網(wǎng)絡(luò)上的負(fù)載持續(xù)增加,到達(dá)網(wǎng)絡(luò)的容量上限之后,吞吐量的增長速率將逐漸變緩。
3) 過載階段(cliff-∞):繼續(xù)增加負(fù)載,以至于網(wǎng)絡(luò)嚴(yán)重?fù)砣?,?dǎo)致分組丟失的發(fā)生。此時,網(wǎng)絡(luò)的響應(yīng)時間顯著增加,網(wǎng)絡(luò)趨于癱瘓,吞吐量急劇下降。
圖1 負(fù)載—吞吐量關(guān)系
由以上的分析可知,鏈路的吞吐量是隨鏈路負(fù)載不斷變化的,因此,本文設(shè)想通過分析吞吐量的增長比例去預(yù)測MPTCP的鏈路條件?;谖墨I(xiàn)[19]提出的TCP鏈路吞吐量模型,t時刻的吞吐量xr(t)可由以下公式獲得
其中,Rr(t)表示t時刻在路徑r上的延遲響應(yīng)時間RTT(round-trip time),pr(t)表示t時刻在路徑r上的分組丟失率。r∈Mu,Mu是任意應(yīng)用u的所有可用路徑集合。pr(t)的計算方式采用了文獻(xiàn)[19]中的估計方法其中,l(t)是應(yīng)用u在上2次
r分組丟失之間成功傳遞數(shù)據(jù)報文的數(shù)量。根據(jù)式(1)對xr(t)求導(dǎo)可得
分析式(2)可知,任何時刻路徑r上的吞吐量具有如下xr(t)屬性。
1) 如果t時刻路徑r上延遲響應(yīng)時間Rr(t)和分組丟失率pr(t)同時增大,則xr(t)將減小。
2) 如果t時刻路徑r上延遲響應(yīng)時間Rr(t)和分組丟失率pr(t)同時減小,則xr(t)將增大。
因此,為表示MPTCP鏈路吞吐量的變化趨勢,本文定義了集合Cr。
Cr由式(2)推導(dǎo)獲得,其是t時刻吞吐量逐漸降低的路徑r的集合。為方便計算,ΔRr(t)與Δpr(t)分別使用Rr(t)-Rr(t-1)與pr(t)-pr(t-1)的簡化表示。
若使用基于擁塞窗口調(diào)整的擁塞控制機(jī)制去盡量避免擁塞和提高M(jìn)PTCP的性能,則應(yīng)研究吞吐量的變化趨勢。如圖1所示,在開始階段,擁塞窗口值應(yīng)該與吞吐量一同急劇增長。而當(dāng)進(jìn)入積聚階段時,則應(yīng)該逐漸降低擁塞窗口值的增長速度以減緩?fù)掏铝康脑鲩L速度。因此,為選擇合適的擁塞窗口增長策略,需要去計算和預(yù)測鏈路的吞吐量。雖然吞吐量的長遠(yuǎn)變化趨勢受鏈路負(fù)載的影響,但仍然可以使用分組丟失率和 RTT值預(yù)測出短期內(nèi)吞吐量的變化趨勢。文獻(xiàn)[20]中推薦了幾種吞吐量評估策略。
本文使用了分批估計算法[21]進(jìn)行吞吐量預(yù)測,其在一維非線性系統(tǒng)中具有良好的頑健性。該算法的工作過程由2步組成:第1步為自適應(yīng),分批估計算法通過測量和計算第t時刻和t-1時刻數(shù)據(jù)計出系數(shù)α;第2步為預(yù)測,該算法使用第1步中的數(shù)據(jù)估計第t+1時刻的可能取值。使用分批估計算法獲得的估計值表示吞吐量的預(yù)測值,可以預(yù)測出未來傳輸數(shù)據(jù)流的吞吐量。t+1時刻的吞吐量預(yù)測值? t+1)可由以下公式得出
其中,x?( t+1)為 t+1 時刻x的估計值,α?(t)表示對t時刻α的估計值,α的估計值可用式(5)求得
其中,
因為該算法的遞歸特性,故不需要其他額外信息,僅使用第t時刻與第t-1時刻吞吐量的測量值與估計值就可以進(jìn)行實時的預(yù)測。該預(yù)測方式計算簡單,且該算法的頑健性也能盡可能保證預(yù)測值的準(zhǔn)確性。
針對車聯(lián)網(wǎng)中面向不同應(yīng)用的數(shù)據(jù)報文具有不同重要程度的特性,本文從系統(tǒng)一致性角度,參考數(shù)據(jù)報文所屬應(yīng)用優(yōu)先級,以及報文所在鏈路狀態(tài)定義了數(shù)據(jù)報文的動態(tài)優(yōu)先級,給出了數(shù)據(jù)報文的動態(tài)優(yōu)先級以及劃分模型,用以反映不同優(yōu)先級或相同優(yōu)先級任務(wù)產(chǎn)生的報文的實時重要性。
定義1 數(shù)據(jù)報文的動態(tài)優(yōu)先級用以表征當(dāng)前數(shù)據(jù)報文待發(fā)送的實時需求程度。其描述如下
其中,p為所屬應(yīng)用的優(yōu)先級,根據(jù)操作系統(tǒng)任務(wù)調(diào)度的一般性,p值越小,其優(yōu)先級越高。r為應(yīng)用選擇的傳輸路徑,Rr為其上次傳輸時接收端的延遲響應(yīng)時間,Rmax是最大延遲響應(yīng)容忍時間常數(shù),超出這個時間則認(rèn)為報文丟失,應(yīng)用當(dāng)前任務(wù)總的數(shù)據(jù)傳輸量為data,α為比例控制因子。根據(jù)IEEE TCP協(xié)議[4]定義,單個數(shù)據(jù)報文最多可以攜帶的數(shù)據(jù)量為1 500 byte,故本文選擇α=1 500作為比例控制因子,即認(rèn)為若某應(yīng)用傳輸數(shù)據(jù)量低于單個數(shù)據(jù)報文傳輸?shù)淖畲髷?shù)據(jù)量,則該應(yīng)用的傳輸數(shù)據(jù)量相對較小。
根據(jù)TP定義,某數(shù)據(jù)報文所屬的任務(wù)優(yōu)先級與從屬的任務(wù)優(yōu)先級、數(shù)據(jù)報文長度以及RTT成正比,即從屬任務(wù)優(yōu)先級越高,所在通信鏈路狀態(tài)越優(yōu),總發(fā)送數(shù)據(jù)報文越小,該數(shù)據(jù)報文實時發(fā)送需求越急迫。動態(tài)優(yōu)先級考慮了RTT與傳輸數(shù)據(jù)量大小對應(yīng)用優(yōu)先級的影響。RTT較小表示當(dāng)前路徑狀態(tài)較好,可以適當(dāng)增大擁塞窗口。一般情況下,某次傳輸數(shù)據(jù)的數(shù)據(jù)量較小,則表示該數(shù)據(jù)具有更高的即時性與有效性,如一般情況下信息、文檔等文件較音樂、視頻等多媒體文件有更高的重要性,但理論上應(yīng)該保持?jǐn)?shù)據(jù)優(yōu)先級對優(yōu)先級影響力的主導(dǎo)作用,對于本文討論的情況,即應(yīng)該保證調(diào)整之后的動態(tài)優(yōu)先級不會跨越下一應(yīng)用優(yōu)先級。
因此,本文采用了將延遲相關(guān)因子與數(shù)據(jù)量相關(guān)因子相乘的方式。由公式簡單計算可知取值范圍為(0,1),則動態(tài)優(yōu)先級不會發(fā)生跨越應(yīng)用優(yōu)先級的情況。動態(tài)優(yōu)先級定義既考慮了鏈路情況與傳輸數(shù)據(jù)量對優(yōu)先級的影響,以區(qū)別相同優(yōu)先級應(yīng)用的優(yōu)先程度,同時也保證了應(yīng)用優(yōu)先級對動態(tài)優(yōu)先級的支配地位。
針對不同優(yōu)先級應(yīng)用的數(shù)據(jù)傳輸需求的重要性不同,故首先應(yīng)該對動態(tài)優(yōu)先級進(jìn)行劃分。若系統(tǒng)中動態(tài)優(yōu)先級的取值范圍為從M到N依次遞增的數(shù),則先取初始中間值為盡可能減少高優(yōu)先級應(yīng)用,故將初始中間值下取整,即以Linux中nice值優(yōu)先級為例,應(yīng)用的優(yōu)先級范圍為-20到20,其中小于0的優(yōu)先級為特權(quán)優(yōu)先級,則在 Linux系統(tǒng)中動態(tài)優(yōu)先級M=-20、N=21、MID=0。故對于Linux系統(tǒng)中動態(tài)優(yōu)先級小于0的應(yīng)用,本文認(rèn)為可以適當(dāng)加快其數(shù)據(jù)傳輸?shù)乃俣取?/p>
在車聯(lián)網(wǎng)系統(tǒng)中高優(yōu)先級應(yīng)用自身傳輸?shù)臄?shù)據(jù)量一般較少,故通常不會引起長時間的鏈路擁塞。通常只有當(dāng)?shù)蛢?yōu)先級應(yīng)用大量傳輸多媒體數(shù)據(jù)時才會引起鏈路的長時間擁塞。為保證高優(yōu)先級應(yīng)用數(shù)據(jù)的快速傳輸,則此時應(yīng)盡量保證高優(yōu)先級應(yīng)用的鏈路吞吐量占比以避免高優(yōu)先級應(yīng)用數(shù)據(jù)分組的丟失。本文定義了吞吐量占比因子,以避免因低優(yōu)先級應(yīng)用大量發(fā)送數(shù)據(jù)造成鏈路擁塞,從而導(dǎo)致高優(yōu)先級應(yīng)用頻繁分組丟失。吞吐量占比因子能保證當(dāng)高優(yōu)先級應(yīng)用分組丟失時,若其對當(dāng)前鏈路的吞吐量占用比例低于吞吐量占比因子時,則其發(fā)生分組丟失將不會使自身擁塞窗口值發(fā)生衰減。吞吐量占比因子具體定義如下。
定義 2 吞吐量占比因子用于表示某應(yīng)用所需占用網(wǎng)絡(luò)資源的權(quán)重。其表達(dá)式如下
若某應(yīng)用的動態(tài)優(yōu)先級為TP,該系統(tǒng)的優(yōu)先級數(shù)值范圍為M到N,M<N,MID為該系統(tǒng)的優(yōu)先級數(shù)值的中間值。由定義可知,當(dāng)傳輸應(yīng)用的動態(tài)優(yōu)先級較低,即TP≥MID時,其吞吐量占比因子β∈[-1,0],對低優(yōu)先級應(yīng)用不具有保證吞吐量占用比例的作用。而當(dāng)傳輸應(yīng)用的動態(tài)優(yōu)先級較高,即TP<MID時,其吞吐量占比因子β∈[0,1],可通過其適當(dāng)保證高優(yōu)先級應(yīng)用在當(dāng)前鏈路的最低吞吐量占用比例。
本部分將具體介紹基于優(yōu)先級和吞吐量預(yù)測的鏈接增長擁塞控制算法(PTLIA),PTLIA算法基于擁塞窗口大小調(diào)整機(jī)制。本節(jié)還分析了 PTLIA算法滿足IETF設(shè)計目標(biāo)的各項屬性,并且證明了其收斂性。
在PTLIA算法中,本文使用了吞吐量預(yù)測的方式去調(diào)整擁塞窗口值的增長速度,以適應(yīng)不同的傳輸階段。具體的PTLIA算法如下。
1) 每當(dāng)路徑r接收到一個ACK時,則下一時刻的擁塞窗口值增量為
其中,Mu是用戶u的所有可用路徑集合,當(dāng)r∈Cr時當(dāng)時 αr(t)=0。若 r∈Cr,則表示當(dāng)前路徑吞吐量增長比率下降,網(wǎng)絡(luò)可能發(fā)生擁塞,此時因( t +1) >xr( t ),λr將會小于1,可以減緩擁塞窗口值的增長速度,避免過度擁塞,長時間維持鏈路的高吞吐量。
其中,βu是應(yīng)用u對應(yīng)的吞吐量占比因子,xr為當(dāng)前吞吐量,xrmax是應(yīng)用u在路徑r上曾出過的最大吞吐量數(shù)值。
因不同進(jìn)程的吞吐量占比因子βu不同,故式(9)能使當(dāng)因鏈路擁塞而發(fā)生分組丟失時,高優(yōu)先級應(yīng)用的擁塞窗口值衰減更小,低優(yōu)先級應(yīng)用的擁塞窗口值衰減更大,從而在長時間傳輸過程中逐漸提升高優(yōu)先級應(yīng)用在鏈路中的吞吐量占用比例。同時,通過在分組丟失時進(jìn)行條件判斷,若高優(yōu)先級應(yīng)用在吞吐量占用比例過低時發(fā)生分組丟失,則不會發(fā)生擁塞窗口值衰減,進(jìn)一步保證了高優(yōu)先級應(yīng)用在鏈路中的吞吐量占用比例。
PTLIA算法僅在發(fā)生分組丟失,即在鏈路可能出現(xiàn)擁塞時,才對不同優(yōu)先級應(yīng)用的擁塞窗口值給予不同的調(diào)整策略。因此,PTLIA算法不會影響不同應(yīng)用在擁塞窗口值增長上的公平性,同時通過保證吞吐量占比提高了高優(yōu)先級進(jìn)程的傳輸速度。
根據(jù)IETF制定的標(biāo)準(zhǔn),MPTCP擁塞控制算法應(yīng)該盡可能滿足本文第2節(jié)提及的3個目標(biāo)。本文將描述PTLIA的相關(guān)屬性,并且證明其滿足以上的3個目標(biāo)。
定理1 PTLIA算法在任意應(yīng)用u使用的任意路徑r上具有以下屬性。
1) PTLIA算法滿足MPTCP設(shè)計目標(biāo)1:提高吞吐量。
2) PTLIA算法滿足MPTCP設(shè)計目標(biāo)2:不產(chǎn)生損害。
3) PTLIA算法滿足MPTCP設(shè)計目標(biāo)3:擁塞平衡。
4) 對于任意時刻t與t+1,若K與T是2次連續(xù)分組丟失發(fā)生的時間,且滿足 K 證明 以上屬性的具體證明請詳見附錄1。 4.3.1 PTLIA算法公平性分析 PTLIA算法的公平性問題即為對 TCP用戶的友好性,具有良好公平性的算法應(yīng)盡可能減少對TCP用戶路徑的侵占。有關(guān)PTLIA算法公平性的理論分析,即為4.2節(jié)中的屬性2),不產(chǎn)生損害。 4.3.2 PTLIA算法代價分析 本文通過吞吐量預(yù)測的方式,更準(zhǔn)確地獲取了路徑的擁塞情況,從而進(jìn)一步提升了系統(tǒng)的傳輸效率,但吞吐量預(yù)測也增加了算法運(yùn)行時的計算量。不過該計算量與目前計算機(jī)的性能相比極其微小,所以,其對傳輸性能的影響也幾乎可以忽略。 另一方面,本文提出的算法主要考慮的是高優(yōu)先級任務(wù)的傳輸需求,故在降低高優(yōu)先級任務(wù)的傳輸時間的同時將會增大低優(yōu)先級任務(wù)的傳輸時間。同時由于算法分組丟失策略的限制,當(dāng)系統(tǒng)中的傳輸進(jìn)程全是極高優(yōu)先級進(jìn)程,或全是極低優(yōu)先級進(jìn)程時,系統(tǒng)的傳輸效率也將受到較大影響,但該問題可通過應(yīng)用設(shè)置避免。 本文實驗通過NS3構(gòu)建多宿主通信環(huán)境,并針對車聯(lián)網(wǎng)中大數(shù)據(jù)量、小數(shù)據(jù)量等不同的網(wǎng)絡(luò)傳輸需求對PTLIA算法性能進(jìn)行驗證,并與LIA、OLIA算法進(jìn)行了性能對比分析。 本部分的優(yōu)先級對比實驗在仿真模型中的A、B、C 3個節(jié)點(diǎn)上建立相關(guān)應(yīng)用進(jìn)行數(shù)據(jù)傳輸。其中,A、C為發(fā)送節(jié)點(diǎn),B為接收節(jié)點(diǎn),節(jié)點(diǎn) A使用MPTCP,節(jié)點(diǎn)C使用TCP。在相同的網(wǎng)絡(luò)環(huán)境下,當(dāng)所有應(yīng)用的數(shù)據(jù)全部傳輸完成時,實驗停止。其仿真實驗?zāi)P腿鐖D2所示。 圖2 仿真模型 針對不同場景的應(yīng)用需求,本實驗環(huán)節(jié)分為 2部分:第1部分實驗應(yīng)用的傳輸數(shù)據(jù)量為5 MB;第2部分實驗應(yīng)用的傳輸數(shù)據(jù)量為50 MB。本節(jié)將分別對比傳輸數(shù)據(jù)量為5 MB和50 MB時,PTLIA算法中不同優(yōu)先級應(yīng)用的傳輸結(jié)束時間和擁塞窗口值變化情況。實驗參數(shù)如表1所示,實驗結(jié)果如圖3所示。 圖3為各應(yīng)用傳輸數(shù)據(jù)量為5 MB和50 MB時的擁塞窗口值變化。由圖3可以看出不論是傳輸數(shù)據(jù)量較低(5 MB),還是傳輸數(shù)據(jù)量較高(50 MB)時,應(yīng)用1在其傳輸期間相比其他應(yīng)用能維持較高的擁塞窗口值,且分組丟失策略的保護(hù)使應(yīng)用1近乎同時使用路徑1與路徑2進(jìn)行傳輸,從而使高優(yōu)先級應(yīng)用1的數(shù)據(jù)提前傳輸完成。 表1 實驗1仿真參數(shù) 圖3 各應(yīng)用擁塞窗口值 圖4為傳輸數(shù)據(jù)量分別為10 MB、20 MB、30 MB、40 MB和50 MB時,重復(fù)進(jìn)行20次傳輸實驗后統(tǒng)計獲得的各應(yīng)用的平均結(jié)束時間。由圖中可以看出,當(dāng)傳輸數(shù)據(jù)量較低時,各應(yīng)用的傳輸時間差距較小,當(dāng)傳輸數(shù)據(jù)量逐漸增大時,應(yīng)用1的傳輸時間明顯低于其他應(yīng)用的傳輸時間。由實驗結(jié)果可知,PTLIA算法通過在發(fā)生分組丟失時保證高優(yōu)先級應(yīng)用的吞吐量和對應(yīng)用的擁塞窗口丟失值進(jìn)行調(diào)整的方式,保證高優(yōu)先級應(yīng)用優(yōu)先傳輸?shù)哪康摹?/p> 圖4 各應(yīng)用平均結(jié)束時間 5.3.1 性能對比實悚仿真參數(shù) 本節(jié)針對 LIA、OLIA和PTLIA這3種算法分別在NS3中進(jìn)行仿真。實驗2在圖2仿真模型中的A、B節(jié)點(diǎn)上建立了應(yīng)用5,應(yīng)用5分別使用不同的擁塞控制算法傳輸數(shù)據(jù),傳輸數(shù)據(jù)量均為10 MB。為排除PTLIA算法中優(yōu)先級控制對PTLIA算法性能的影響,實驗2將應(yīng)用5的優(yōu)先級設(shè)置為0,則分組丟失處理時PTLIA算法將與其他算法相同。表2為實驗2的各項仿真參數(shù)。 表2 實驗2仿真參數(shù) 5.3.2 愢塞窗口表現(xiàn)分析與比較 圖4中給出了3種算法在路徑1和路徑2上的擁塞窗口值變化情況。 由圖5可以看出,因LIA算法不具有擁塞平衡的作用,故LIA算法在整個傳輸過程中一直在同時使用鏈路條件更差的路徑2,而OLIA算法與PTLIA算法僅僅在路徑過度擁塞時使用路徑2傳輸。對比OLIA與PTLIA算法還可以看出,OLIA算法在擁塞避免階段的擁塞窗口值近乎為線性增長,而PTLIA算法的擁塞窗口值則因吞吐量預(yù)測而呈現(xiàn)出曲線趨勢,能持續(xù)地維持擁塞窗口值平穩(wěn)增長和降低分組丟失率,故PTLIA算法將能更有效地避免如OLIA算法在8~12 s時間段出現(xiàn)的過度擁塞的情況。表3給出了各個算法的分組丟失次數(shù)。 圖5 各擁塞控制算法的擁塞窗口值 表3 分組丟失次數(shù) 實驗在算法傳輸過程中統(tǒng)計了各個算法所有路徑上發(fā)生的分組丟失次數(shù)總和,若某次分組丟失導(dǎo)致該路徑擁塞窗口值降低,則統(tǒng)計為一次有效分組丟失次數(shù)。PTLIA算法通過吞吐量預(yù)測的方式更準(zhǔn)確地對路徑狀態(tài)進(jìn)行評估,保持路徑進(jìn)行長時間的穩(wěn)定傳輸,從而降低了分組丟失次數(shù)。 5.3.3 吞吐量表現(xiàn)分析與比較 圖6中給出了3種算法在路徑1和路徑2上的吞吐量變化情況。 圖6 各擁塞控制算法的吞吐量表現(xiàn) 對比圖6中的各個算法可以看出,PTLIA算法的吞吐量在整個數(shù)據(jù)傳輸過程中表現(xiàn)更加平穩(wěn),其最大吞吐量值幾乎維持在同一水平線。而LIA算法與 OLIA算法的吞吐量均在傳輸過程中具有很大波動,OLIA算法甚至出現(xiàn)了因鏈路過度擁塞而導(dǎo)致吞吐量急劇下降的情況。對比分析可知,PTLIA算法通過吞吐量預(yù)測的方式相比LIA與OLIA算法,能更好地控制鏈路的擁塞情況,維持鏈路的最大吞吐量。表4為各個算法的傳輸結(jié)束時間,證明了PTLIA算法通過吞吐量預(yù)測進(jìn)一步地節(jié)約了傳輸時間。 表4 傳輸完成時間 5.3.4 愢塞窗口增量分析與比較 圖7給出了3種算法在路徑1上的擁塞窗口增量變化情況。 圖7 各擁塞控制算法在路徑1上的擁塞窗口增量 因路徑 2條件較差,在傳輸過程中擁塞窗口值幾乎沒有變化,圖 7僅為 LIA、OLIA和PTLIA算法在路徑 1上的擁塞窗口增量值的變化。為更加直觀地表現(xiàn)擁塞避免階段算法對擁塞窗口值的調(diào)整作用,本部分移除了慢開始階段的擁塞窗口增量值。圖中豎線表示傳輸過程中發(fā)生一次分組丟失,因此,從圖7中可以清晰地看出PTLIA算法在2次分組丟失之間的擁塞窗口增量值逐漸減小,而LIA與OLIA算法并不完全符合該特征,即圖7驗證了PTLIA算法滿足理論1中的屬性4。 為測試 PTLIA算法對傳統(tǒng)單路徑TCP用戶的公平性,本部分進(jìn)行了 LIA、OLIA和 PTLIA算法的公平性對比實驗。實驗3依然使用圖2中的仿真模型,傳輸數(shù)據(jù)量均為10 MB,具體仿真參數(shù)如表5所示。傳輸時應(yīng)用6使用MPTCP,并同時使用鏈路1與鏈路2,應(yīng)用7使用TCP,僅使用鏈路 2。為避免優(yōu)先級的影響,應(yīng)用 6與應(yīng)用7的優(yōu)先級均設(shè)置為0。 表5 實驗3仿真參數(shù) 圖8為使用MPTCP時LIA、OLIA以及PTLIA算法與使用TCP時的RENO算法的吞吐量對比。按照MPTCP擁塞控制算法公平性的理論設(shè)計,當(dāng)MPTCP與TCP同時使用瓶頸鏈路鏈路1時,應(yīng)盡可能使TCP與MPTCP用戶獲得相同的鏈路帶寬資源。針對本實驗環(huán)境,因鏈路1與鏈路2帶寬相同,則 MPTCP應(yīng)用應(yīng)盡可能少地侵占鏈路 1。使MPTCP應(yīng)用與TCP應(yīng)用具有相同的帶寬資源。 圖8 MPTCP與TCP在瓶頸鏈路1上的吞吐量對比 由圖8可以看出,相比PTLIA與LIA算法,OLIA算法的公平性最好,公平性調(diào)整最迅速,且穩(wěn)定地保持著對鏈路1帶寬資源的低占有率。LIA算法的公平性其次,PTLIA算法公平性最低。但由圖8中依然可以看出PTLIA算法具有公平性調(diào)整的作用,有效降低了對TCP使用的瓶頸鏈路的帶寬占有率,驗證了PTLIA算法滿足理論1中的屬性2。 本文在參考已有的MPTCP擁塞控制算法的基礎(chǔ)上,根據(jù)未來車聯(lián)網(wǎng)等系統(tǒng)中即將出現(xiàn)的數(shù)據(jù)傳輸需求,提出了基于優(yōu)先級和吞吐量預(yù)測的MPTCP擁塞控制算法PTLIA。本文建議的擁塞控制算法是為了解決具有高優(yōu)先級需求的實時數(shù)據(jù)的傳輸問題以及進(jìn)一步提高M(jìn)PTCP的數(shù)據(jù)傳輸效率。仿真結(jié)果表明,該算法較其他的MPTCP擁塞控制算法,明顯提升了高優(yōu)先級應(yīng)用的數(shù)據(jù)傳輸速度,并提升了整體數(shù)據(jù)的傳輸效率,將進(jìn)一步提高車聯(lián)網(wǎng)系統(tǒng)的安全性。 在物理因素方面,本文所提出算法的有效性將主要依賴吞吐量測量值與吞吐量預(yù)測模型的準(zhǔn)確性,在鏈路條件極度不穩(wěn)定的Wi-Fi網(wǎng)絡(luò)中可能將會有較差的表現(xiàn)。未來的研究方向或?qū)⒖紤]針對系統(tǒng)當(dāng)前傳輸任務(wù)的優(yōu)先級對算法的分組丟失策略進(jìn)行適當(dāng)調(diào)整,以及調(diào)整吞吐量預(yù)測模型以適用于各種不同的網(wǎng)絡(luò)環(huán)境。 證明 屬性1)和2):提高吞吐量和不產(chǎn)生損害。 因PTLIA算法的擁塞窗口值增長因子的結(jié)構(gòu)與OLIA[9]算法相同,故參考OLIA算法,PTLIA算法中的擁塞窗口值增長率如下 因xr(t)2>0,故化簡整理后得到若rmax表示 MPTCP中的最好路徑,文獻(xiàn)[9]則可將 MPTCP設(shè)計目標(biāo)一轉(zhuǎn)化為吞吐量關(guān)系 將MPTCP設(shè)計目標(biāo)二轉(zhuǎn)化為吞吐量關(guān)系 證明 屬性3):擁塞平衡 擁塞平衡的作用是為了將數(shù)據(jù)從擁塞鏈路轉(zhuǎn)移到非擁塞鏈路,故對于非擁塞鏈路其擁塞窗口值增長應(yīng)該更加快速。若r1、r2分別表示2條不同的路徑,且當(dāng)前路徑r1較為擁塞,路徑r2條件較好,Δwr1(t)為一用戶在路徑r1上t時刻的擁塞窗口值增量,Δwr2(t)為同一用戶在路徑 r2上 t時刻的擁塞窗口值增量,即應(yīng)該證明 由式(8)可知, 為方便討論,本文假設(shè)在極端情況下路徑r1已經(jīng)接近完全擁塞,故此時路徑r1上的吞吐量將幾乎不再增長,此時 λr1≤1,αr1≈0。鏈路 r2 狀態(tài)非常良好,即 r2?Cr,故此時λr2=1。由網(wǎng)絡(luò)傳輸相關(guān)知識可知,當(dāng)鏈路擁塞時,其 RTT值將比條件良好鏈路的RTT值大,即有Rr1>Rr2。 情況1 當(dāng) wr1≤wr2時,代入以上相關(guān)參數(shù),對比后明 情況2 當(dāng) wr1>wr2時,代入以上參數(shù)得到 此時若有 則 ? w(r1t) 證明 屬性4)。 因K與T是2個連續(xù)發(fā)生分組丟失的時刻,假定t時刻與t+1時刻RTT值相同,且λr(t+1)=λr(t),則Δwr(t+1)與Δwr(t)的關(guān)系可以如下 因t與t+1處于2次連續(xù)分組丟失的時間段內(nèi),故wr和 xr在此時間段內(nèi)將持續(xù)增長,wr(t+1)>wr(t),xr(t+1)>xr(t),且 αr(t+1)≥αr(t), 即故 若 要 證 明則只需證明 若在 t與 t+1時刻其他路徑均未發(fā)生分組丟失,則當(dāng)j∈ Ru,j ≠r 時有 wj( t + 1)≥ wj( t )。中所有項均為正數(shù),且分母為平方增量,故分母增量遠(yuǎn)大于分子增量,由相關(guān)數(shù)學(xué)公式可知式(18)成立得證。PTLIA算法滿足屬性4)。 [1] LEE E, GERLA M, et al. Vehicular cloud networking: architecture and design principles[J]. Communications Magazine IEEE, 2014, 52(2):148-155. [2] DENG S, NETRAVALI R, SIVARAMAN A, et al. WiFi, LTE, or both?:meas-uring multi-homed wireless internet performance[C]//2014 Conference on Internet Measurement. ACM, c2014: 181-194. [3] FORD A, RAICIU C, HANDLEY M, et al. Architectural guidelines for multipath TCP development[EB/OL]. https://tools.ietf.org/ html/ rfc6182. [4] WISCHIK D, RAICIU C, GREENHALGH A, et al. Design, implementation and evaluation of congestion control for multipath TCP[C]//Usenix Conference on Networked Systems Design and Implementation. USENIX Association, c2011:99-112. [5] CLOUD J, PIN C F D, ZENG W, et al. Multi-path TCP with network coding for mobile devices in heterogeneous networks[C]//IEEE Vehicular Technology Conference Institute of Electrical and Electronics Engineers (IEEE). c2013:1-5. [6] KUMAR G S, KHARA S. Technique to improve the file transfer outcomes between road side unit and vehicles in vehicular ad hoc networks[C]//2015 International Conference on Computing, Communication & Automation (ICCCA). IEEE, c2015:360-366. [7] HONDA M, NISHIDA Y, EGGERT L, et al. Multipath congestion control for shared bottleneck[C]//Proceedings of Protocols for Future,Large-Scale & Diverse Network Transports Work-shop, c2009. [8] RAICIU C, WISCHIK D, HANDLEY M. Practical congestion control for multipath transport protocols[EB/OL]. http://tools.ietf.org/pdf/ rfc6356. pdf.[9] KHALILI R, GAST N, POPOVIC M, et al. MPTCP is not paretooptimal:performance issues and a possible solution[J]. ACM/IEEE Transactions on Networking, 2013, (5):1651-1665. [10] RAICIU C, HANDLEY M, WISCHIK D. Coupled congestion control for multipath transport protocols[EB/OL]. http://tools.ietf.org/pdf/rfc6356.pdf. 2011. [11] WISCHIK D, HANDLEY M, RAICIU C. Control of multipath TCP and optimization of multipath routing in the internet network control and optimization[M]. Springer Berlin Heidelberg, 2009. [12] RAICIU C, PLUNTKE C, BARRE S, et al. Data center networking with multipath TCP[C]//ACM Workshop on Hot Topics in Networks.Monterey. Ca, USA, c2010:1-6. [13] YAGHMAEE M H, ADJEROH D. A new priority based congestion control protocol for wireless multimedia sensor networks[C]//2013 IEEE 14th International Symposium on A World of Wireless, Mobile and Multimedia Networks (WoWMoM). IEEE, c2008:1-8. [14] PATIL D, DHAGE S N. Priority-based congestion control protocol(PCCP) for controlling upstream congestion in wireless sensor network[C]//International Conference on Communication, Information&Computing Technology. IEEE, c2012:1-6. [15] JAN M A, NANDA P, HE X, et al. PASCCC: Priority-based application specific congestion control clustering protocol[J]. Computer Networks, 2014, 74(1):92-102. [16] LI Z, LIU P X. Priority-based congestion control in multi-path and multi-hop wireless sensor networks[C]// IEEE International Conference on Robotics and Biomimetics. c2007: 658-663. [17] TUNG L C, LU Y, GERLA M. Priority-based congestion control algorithm for cross-traffic assistance on LTE networks[C]// 2013 IEEE 78th Vehicular Technology Conference (VTC Fall). c2013:1- 5. [18] CHIU D M, JAIN R. Analysis of the increase and decrease algorithms for congestion avoidance in computer networks[J]. Computer Networks & Isdn Systems, 1989, 17(1):1-14. [19] MATHIS M, SEMKE J, MAHDAVI J, et al. The macroscopic behavior of the TCP congestion avoidance algorithm[J]. ACM Sigcomm Computer Communication Review, 2001, 27(3):67-82. [20] SHAILENDRA S, BHATTACHARJEE R, BOSE S K. Improving congestion control for concurrent multipath transfer through bandwidth estimation based resource pooling[C]// 2011 8th International Conference on Information, Communications and Signa Processing(ICICS). c2011:1-5. [21] DING N, TAN G Z, ZHANG W, et al. Character-aware traffic flow data quality analysis based on cusp catastrophe theory and wireless sen network[J]. Ad hoc & Sensor Wireless Networks, 2013,18(1):277-292. Requirements-driven and multi-homed-based multipath TCP congestion control algorithm for vehicular network DING Nan1, LIN Tao1, SONG Cai-xia1,2, TAN Guo-zhen1 To meet the diversified QoS applications demanded by terminal units of a VANET, especially to ensure the timeliness and reliability when sending the high-priority messages that were related to safety-critical applications, a demand-driven MPTCP congestion control algorithm: PTLIA was proposed, which was based on message priority and throughput estimation. First, message priority and throughput proportion factor were defined to characterize the weight of each message being sent. Second, the patch estimation model was used to make real-time estimation of the state of each MPTCP path. Finally, the algorithm of PTLIA was accordingly designed to adjust, dynamically, the window of the congestion time on demand. The algorithm of PTLIA, as proved in proposed simulations and experiments, has shortened the transmission of the high-priority data, under the premise of MPTCP transmission principles. vehicular ad hoc network, MPTCP, congestion control, safety-critical applications, message priority,throughput estimation TP302 A 10.11959/j.issn.1000-436x.2016137 2016-01-26; 2016-05-10 丁男,dingnan@dlut.edu.cn 國家自然科學(xué)基金資助項目(No.61471084);中央高?;究蒲袠I(yè)務(wù)費(fèi)專項基金資助項目(No.DUT15QY02)Foundation Items: The National Natural Science Foundation of China (No.61471084), The Fundamental Research Funds for the Central Universities (No.DUT15QY02) 丁男(1978-),男,遼寧沈陽人,博士,大連理工大學(xué)副教授、碩士生導(dǎo)師,主要研究方向為信息物理系統(tǒng)、嵌入式技術(shù)、移動網(wǎng)絡(luò)通信技術(shù)、物聯(lián)網(wǎng)與車聯(lián)網(wǎng)及其應(yīng)用等。 林滔(1992-),男,四川南充人,大連理工大學(xué)碩士生,主要研究方向為車聯(lián)網(wǎng)、多鏈路TCP等。 宋彩霞(1977-),女,山東即墨人,青島農(nóng)業(yè)大學(xué)講師,主要研究方向為車聯(lián)網(wǎng)安全通信協(xié)議、信道資源分配、擁塞控制。 譚國真(1960-),男,遼寧本溪人,博士,大連理工大學(xué)教授、博士生導(dǎo)師,主要研究方向為車聯(lián)網(wǎng)與無人駕駛技術(shù)、人工智能、智能交通系統(tǒng)、網(wǎng)絡(luò)算法與復(fù)雜性理論等。4.3 PTLIA算法公平性與代價
5 實驗仿真與性能分析
5.1 仿真環(huán)境與設(shè)置
5.2 優(yōu)先級對比實驗仿真結(jié)果分析
5.3 各算法性能對比與分析
5.4 公平性分析與比較
6 結(jié)束語
附錄1 對PTLIA算法屬性的證明
(1. Institute of Computer Science and Technology, Dalian University of Technology, Dalian 116024, China;2. College of Science and Information, Qingdao Agricultural University, Qingdao 266109, China)