李 寧,衷璐潔,高 楷
(1.首都師范大學(xué)信息工程學(xué)院,北京 100048;2.北京郵電大學(xué)網(wǎng)絡(luò)技術(shù)研究院,北京 100876)
隨著移動(dòng)互聯(lián)網(wǎng)與通信技術(shù)的快速發(fā)展,5G 網(wǎng)絡(luò)、移動(dòng)車載網(wǎng)絡(luò)中的新型業(yè)務(wù)需求對(duì)網(wǎng)絡(luò)傳輸速率及帶寬提出了更高要求[1]。為保證移動(dòng)設(shè)備的連接性能,通常為其配置多個(gè)接口,以降低運(yùn)行成本、簡(jiǎn)化網(wǎng)絡(luò)管理并提供良好的用戶體驗(yàn)。多路徑傳輸控制協(xié)議(Multi-Path Transmission Control Protocol,MPTCP)使用多路徑發(fā)送數(shù)據(jù)包,可滿足實(shí)時(shí)性、交互性與個(gè)性化的業(yè)務(wù)需求。因此,MPTCP 成為未來(lái)互聯(lián)網(wǎng)數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢(shì)之一[2],但是通過(guò)多路徑傳輸來(lái)提高網(wǎng)絡(luò)性能仍存在諸多挑戰(zhàn)。例如,在有限的接收緩沖區(qū)和異構(gòu)網(wǎng)絡(luò)環(huán)境中,由于網(wǎng)絡(luò)性能不穩(wěn)定以及傳輸路徑性能差異較大等因素容易造成接收端亂序,從而引發(fā)緩沖區(qū)阻塞問(wèn)題,降低網(wǎng)絡(luò)多路徑的傳輸性能[3]。其中,具有代表性的場(chǎng)景有車載移動(dòng)用戶與手機(jī)移動(dòng)用戶通過(guò)接入各自的異構(gòu)網(wǎng)絡(luò)訪問(wèn)互聯(lián)網(wǎng)時(shí),若不對(duì)存在路徑差異和無(wú)線網(wǎng)絡(luò)不可靠的情況進(jìn)行管控,將會(huì)導(dǎo)致分組頻繁亂序及數(shù)據(jù)丟失,造成數(shù)據(jù)包重傳占用鏈路資源和接收端緩沖區(qū)阻塞等問(wèn)題,嚴(yán)重影響服務(wù)質(zhì)量與用戶體驗(yàn)[4]。
本文綜合考慮異構(gòu)網(wǎng)絡(luò)鏈路差異、子流性能評(píng)估以及多路徑帶寬負(fù)載均衡等問(wèn)題,提出一種移動(dòng)多路傳輸調(diào)度算法。該算法利用前向傳輸時(shí)間(Forward Transmission Time,F(xiàn)TT)實(shí)現(xiàn)子流傳輸性能的準(zhǔn)確預(yù)測(cè),并依據(jù)FTT 對(duì)數(shù)據(jù)包進(jìn)行分發(fā),保障數(shù)據(jù)包到達(dá)緩沖區(qū)的時(shí)間趨近于最優(yōu)子流FTT,以提高多路徑帶寬利用率與數(shù)據(jù)傳輸效率。
MPTCP 由IETF 提出[5],其作為TCP 的擴(kuò)展,目的是通過(guò)聚合多路徑帶寬來(lái)提高資源利用率及網(wǎng)絡(luò)吞吐量。數(shù)據(jù)調(diào)度算法是MPTCP 的重要組成部分,MPTCP數(shù)據(jù)調(diào)度對(duì)應(yīng)用層數(shù)據(jù)流實(shí)施分段并在每個(gè)子流上進(jìn)行數(shù)據(jù)傳輸,同時(shí)提供耦合擁塞控制以保障與正常TCP連接的公平性[6]。傳統(tǒng)的MPTCP 數(shù)據(jù)調(diào)度算法通常采用靜態(tài)和動(dòng)態(tài)兩類方式。其中,靜態(tài)方式主要針對(duì)同構(gòu)網(wǎng)絡(luò)環(huán)境,該類算法不考慮路徑的狀態(tài)特性,其是通過(guò)借助擁塞窗口對(duì)數(shù)據(jù)包進(jìn)行分配。靜態(tài)方式的代表性算法有隨機(jī)調(diào)度和輪詢調(diào)度,輪詢調(diào)度(Round-Robin,RR)是一種廣泛應(yīng)用于數(shù)據(jù)包分配[7]的算法,該算法對(duì)將要發(fā)送的數(shù)據(jù)段,從當(dāng)前所有可用路徑中按子路徑從1~N的順序選取下一個(gè)有空余發(fā)送窗口的路徑作為本次調(diào)度的路徑選擇。靜態(tài)方式對(duì)于同構(gòu)網(wǎng)絡(luò)的性能表現(xiàn)較優(yōu),但在異構(gòu)網(wǎng)絡(luò)環(huán)境中其傳輸性能沒(méi)有單路徑傳輸更有優(yōu)勢(shì)。動(dòng)態(tài)方式針對(duì)靜態(tài)調(diào)度策略的不足,將路徑特性納入考慮,且每次對(duì)路徑選擇時(shí)根據(jù)各路徑的傳輸特性優(yōu)先選擇傳輸質(zhì)量較好的路徑進(jìn)行數(shù)據(jù)傳輸[8]。其中,基于最小往返時(shí)延(Round-Trip Time,RTT)的調(diào)度算法LowRTT[9]優(yōu)先選擇傳輸延遲最小的路徑作為最佳路徑,且當(dāng)最佳路徑的發(fā)送窗口為0 時(shí),再選擇傳輸時(shí)延次小的路徑作為最佳路徑。與RR 算法相比,LowRTT 算法能夠更好地緩解數(shù)據(jù)包亂序問(wèn)題,但由于每次僅選用一條子流進(jìn)行數(shù)據(jù)傳輸,其未能充分利用多路徑并行傳輸?shù)膬?yōu)勢(shì)[10]。
灰色預(yù)測(cè)模型(Grey predicition Model,GM)是一種分析“部分信息已知,部分信息未知”不確定性系統(tǒng)問(wèn)題的有效方法[11]。該模型通過(guò)累加生成方式產(chǎn)生新的數(shù)據(jù)序列,使用新產(chǎn)生的數(shù)據(jù)序列代替原始數(shù)據(jù)序列,并進(jìn)一步應(yīng)用微分方程求解完成新數(shù)據(jù)序列的預(yù)測(cè)。與目前主流的指數(shù)平滑、回歸分析、支持向量機(jī)及神經(jīng)網(wǎng)絡(luò)等預(yù)測(cè)方法相比,灰色預(yù)測(cè)模型具有無(wú)需統(tǒng)計(jì)大量樣本數(shù)據(jù)即可解決小樣本短序列建模問(wèn)題的優(yōu)勢(shì)。灰色預(yù)測(cè)模型GM(1,N)是GM 的一種改進(jìn)模型,該模型在保留小樣本數(shù)據(jù)預(yù)測(cè)特點(diǎn)的同時(shí),增加了影響數(shù)據(jù)變化的其他因素?cái)?shù)據(jù),可進(jìn)一步提升灰色預(yù)測(cè)模型的精度[12]。
馬爾科夫模型對(duì)隨機(jī)變化的動(dòng)態(tài)系統(tǒng)進(jìn)行預(yù)測(cè)時(shí),它將時(shí)間序列看作一個(gè)隨機(jī)過(guò)程,通過(guò)對(duì)事物不同狀態(tài)的初始概率與狀態(tài)之間的轉(zhuǎn)移概率進(jìn)行深入研究,確定事物未來(lái)狀態(tài)的變化趨勢(shì)[13]。這種模型的實(shí)質(zhì)是一種建立在“狀態(tài)”“狀態(tài)轉(zhuǎn)移”概念上的動(dòng)態(tài)隨機(jī)數(shù)學(xué)模型,即通過(guò)研究對(duì)象的當(dāng)前時(shí)刻狀態(tài)及狀態(tài)轉(zhuǎn)移概率來(lái)判斷研究對(duì)象下一時(shí)刻的所處狀態(tài)。
考慮到灰色模型的使用對(duì)象主要是預(yù)測(cè)時(shí)間短且波動(dòng)性較小的系統(tǒng)對(duì)象,本文提出將灰色模型與馬爾科夫模型相結(jié)合的多路傳輸數(shù)據(jù)調(diào)度機(jī)制——灰色馬爾科夫多路傳輸調(diào)度(Grey-Markov Multi-path Transmission Scheduling,GMM-TS)。用灰色模型對(duì)數(shù)據(jù)進(jìn)行擬合并找出變化趨勢(shì),然后在此基礎(chǔ)上與馬爾科夫模型相融合,利用其具有對(duì)隨機(jī)過(guò)程提取概率分布規(guī)律的特點(diǎn),進(jìn)一步提升灰色預(yù)測(cè)模型對(duì)隨機(jī)波動(dòng)較大數(shù)據(jù)序列的預(yù)測(cè)準(zhǔn)確度。
在無(wú)線異構(gòu)網(wǎng)絡(luò)中采用MPTCP 傳輸數(shù)據(jù)包時(shí),不同類型的通信系統(tǒng)相融合需使用多條路徑,且傳輸過(guò)程的鏈路性能存在較大差異。傳輸性能差異將造成傳輸序列號(hào)(Transmission Sequence Number,TSN)較大的數(shù)據(jù)包先到達(dá)緩沖區(qū),從而引起數(shù)據(jù)包亂序問(wèn)題[14],而接收端由于無(wú)法及時(shí)將緩沖區(qū)中的數(shù)據(jù)向上層應(yīng)用傳輸而造成數(shù)據(jù)流傳輸時(shí)間的延長(zhǎng)。
圖1 為異構(gòu)子流的多路傳輸示例。假設(shè)子流1 的傳輸速率是子流2的3倍,TSN=1的數(shù)據(jù)包與TSN=2的數(shù)據(jù)包在同一時(shí)刻分別由子流1 和子流2 發(fā)送。當(dāng)子流1 發(fā)送的TSN=1 的數(shù)據(jù)包到達(dá)接收端后提交至上層應(yīng)用,繼續(xù)發(fā)送TSN=3 與TSN=4 的數(shù)據(jù)包,當(dāng)TSN=3與TSN=4 的數(shù)據(jù)包到達(dá)接收端緩沖區(qū)后,暫存緩沖區(qū)并等待TSN=2 到達(dá)后按序交付應(yīng)用層。在時(shí)間段T內(nèi)提交到應(yīng)用層的僅有TSN=1 數(shù)據(jù)包,且此時(shí)的有效吞吐量Q=1/T,而在順序傳輸?shù)那闆r下Q=3/T。與此同時(shí),由于接收端緩沖區(qū)的限制,亂序數(shù)據(jù)包會(huì)引發(fā)接收端緩沖區(qū)阻塞,致使擁塞控制機(jī)制減緩發(fā)送速率,甚至停止發(fā)送[15]。若MPTCP 分發(fā)數(shù)據(jù)時(shí)僅考慮擁塞窗口和緩沖區(qū)大小,當(dāng)發(fā)送窗口小于最大報(bào)文段MSS 時(shí),則會(huì)造成接收緩沖區(qū)中存在大量數(shù)據(jù)包碎片。由于拼接數(shù)據(jù)包會(huì)占用額外的資源,因此會(huì)加重?cái)?shù)據(jù)包亂序。
圖1 異構(gòu)子流的多路傳輸示例Fig.1 Example of multi-path transmisson of heterogeneous substreams
為緩解無(wú)線異構(gòu)網(wǎng)絡(luò)中因鏈路差異而造成的數(shù)據(jù)包亂序及緩沖區(qū)阻塞問(wèn)題,本文提出一種基于灰色系統(tǒng)中離散數(shù)據(jù)預(yù)測(cè)的GM(1,N)預(yù)測(cè)模型與馬爾科夫優(yōu)化的自適應(yīng)多路傳輸數(shù)據(jù)調(diào)度算法GMM-S。綜合考慮子流的丟包率、發(fā)送窗口大小及擁塞狀態(tài)對(duì)子流性能的影響,對(duì)未來(lái)時(shí)刻子流前向傳輸時(shí)延FTT 進(jìn)行預(yù)測(cè)并進(jìn)行相關(guān)路徑的性能評(píng)估,同時(shí)將其用作數(shù)據(jù)分發(fā)依據(jù),實(shí)現(xiàn)傳輸數(shù)據(jù)的多子流自適應(yīng)動(dòng)態(tài)調(diào)整。
考慮到MPTCP 的子流傳輸性能除了受到路徑吞吐量Q、傳輸時(shí)延T、丟包率L與發(fā)送窗口S等多種因素影響外[16],還會(huì)受到如終端與基站的距離等不確定因素的影響。為此,本文將MPTCP 子流傳輸性能的變化過(guò)程R建模為一個(gè)受多種因素影響的灰過(guò)程,具體如式(1)所示:
其中,Cf表示已知因素的影響部分,Uf表示未知因素的影響部分,Q,T,L,S分別表示吞吐量、傳輸時(shí)延、丟包率及發(fā)送窗口,α,β,γ,δ表示各確定因素相應(yīng)的權(quán)重,xi表示影響R變化的未知因素,εi表示未知影響因素的權(quán)重,n為未知影響因素的個(gè)數(shù)。α,β,γ,δ值可通過(guò)建立GM(1,N)模型微分方程求得。
在無(wú)線異構(gòu)網(wǎng)絡(luò)多路傳輸過(guò)程中,慢啟動(dòng)階段子流的FTT 會(huì)呈現(xiàn)出幾何級(jí)增長(zhǎng)趨勢(shì),而在進(jìn)入擁塞避免階段時(shí)FTT 則會(huì)大幅下降,當(dāng)伴隨丟包現(xiàn)象的發(fā)生時(shí),F(xiàn)TT 又將大幅上升[17]。一般而言,F(xiàn)TT 的時(shí)間序列呈現(xiàn)近似幾何級(jí)增長(zhǎng)規(guī)律,同時(shí)在某些時(shí)刻存在較大波動(dòng)?;诖?,本文提出進(jìn)一步引入馬爾科夫模型以揭示系統(tǒng)在不同狀態(tài)區(qū)間轉(zhuǎn)移的內(nèi)在規(guī)律,并對(duì)灰色預(yù)測(cè)模型的殘差序列進(jìn)行修正。
基于GM(1,N)的FTT 預(yù)測(cè)及馬爾科夫優(yōu)化多路數(shù)據(jù)傳輸調(diào)度方案主要由基于GM(1,N)預(yù)測(cè)與馬爾科夫優(yōu)化的子流性能評(píng)估模型以及數(shù)據(jù)分發(fā)調(diào)度2 個(gè)部分組成,具體構(gòu)成如圖2 所示。其中,實(shí)線箭頭表示數(shù)據(jù)流,虛線箭頭表示信息流。在STPEM中首先獲取MPTCP 子流中的發(fā)送窗口、丟包率、吞吐量和前向傳輸時(shí)延數(shù)據(jù)4 組可直接獲取的已知影響因素,即選取N=4,建立GM(1,4)模型預(yù)測(cè)該子流下一時(shí)刻的FTT,之后在GM(1,4)預(yù)測(cè)基礎(chǔ)上實(shí)施馬爾科夫殘差修正,即根據(jù)FTT 預(yù)測(cè)值與實(shí)際值的相對(duì)誤差建立馬爾科夫殘差修正模型對(duì)GM(1,4)預(yù)測(cè)值進(jìn)行修正,以完成對(duì)子流FTT 的預(yù)測(cè),量化子流傳輸質(zhì)量,且修正后的FTT 預(yù)測(cè)值越小表示該子流的傳輸性能越好。隨后,在DDS 部分根據(jù)FTT 預(yù)測(cè)值對(duì)子流進(jìn)行分類,選取最短預(yù)測(cè)FTT 的子流為優(yōu)秀子流。在優(yōu)秀子流上根據(jù)擁塞窗口大小發(fā)送足夠多數(shù)量的數(shù)據(jù)包,而在普通子流上,則根據(jù)其與優(yōu)秀子流的預(yù)測(cè)FTT 時(shí)延差,實(shí)施傳輸數(shù)據(jù)包發(fā)送數(shù)量的動(dòng)態(tài)調(diào)整。
圖2 GMM-S 數(shù)據(jù)調(diào)度方案Fig.2 GMM-S data scheduling scheme
2.2.1 GM(1,4)預(yù)測(cè)模型建立
本文選取子流發(fā)送窗口S、丟包率L、吞吐量Q和前向傳輸時(shí)延FTT 作為原始預(yù)測(cè)樣本數(shù)據(jù):
1)數(shù)據(jù)處理。令F={f1,f2,…,fn}表示MPTCP的子流集合,F(xiàn)TTf為子流f的前向時(shí)延,Sf為子流f的發(fā)送窗口,Lf為子流f的丟包率,Qf為子流f的吞吐量。假設(shè)當(dāng)前為第t輪數(shù)據(jù)包發(fā)送,以子流f1為例,子流數(shù)據(jù)包前向傳輸時(shí)間FTTf1、發(fā)送窗口大小Sf1、子流丟包率Lf1與子流吞吐量Qf1分別如式(2)~式(5)所示:
將上述4 組數(shù)據(jù)作為原始樣本生成4 個(gè)數(shù)列,原始樣本數(shù)據(jù)矩陣X(0)為:
將X(0)通過(guò)一階累加運(yùn)算來(lái)增強(qiáng)原始數(shù)列的規(guī)律性,弱化原始數(shù)據(jù)列的隨機(jī)性,得到更有規(guī)律的數(shù)據(jù)矩陣X(1):
將FTT 的一階累加矩陣FTT(1)進(jìn)行緊鄰均值計(jì)算,生成緊鄰均值矩陣
2)模型建立。描述FTT 多元一階線性動(dòng)態(tài)微分方程模型的灰微分方程如下所示:
其中,F(xiàn)TT(0)(k) 表示關(guān)鍵影響因素FTT 的原始數(shù)據(jù),稱為灰導(dǎo)數(shù)為FTT 一階累加數(shù)據(jù)的緊鄰均值,稱為背景值,a,bi(i=2,3,4)表示參數(shù),且可采用最小二乘法求出待定系數(shù)a和bi的值。
對(duì)于GM(1,4)的灰微分方程,若將X(1)(k)視為連續(xù)變量,則X(1)(k)為關(guān)于時(shí)間t的函數(shù),GM(1,4)的白化微分方程定義如下:
對(duì)式(10)進(jìn)行求解,可得G M(1,4)的白化微分方程的時(shí)間響應(yīng)函數(shù)如下所示
累減還原得序列FTT(0)的預(yù)測(cè)值:
基于GM(1,4)的FTT 預(yù)測(cè)算法描述如算法1 所示。其中,步驟1~步驟4 是對(duì)數(shù)據(jù)的收集與預(yù)處理,步驟5~步驟8 對(duì)預(yù)處理后的數(shù)據(jù)建立GM(1,4)模型并進(jìn)行FTT 預(yù)測(cè)。
算法1基于GM(1,4)的FTT 預(yù)測(cè)
2.2.2 馬爾科夫殘差修正
表1 殘差狀態(tài)劃分結(jié)果Table 1 Residual state partition results
1)建立狀態(tài)轉(zhuǎn)移概率矩陣。由狀態(tài)Ei轉(zhuǎn)移到狀態(tài)Ej的次數(shù)為ni→j,以狀態(tài)Ei為起點(diǎn)轉(zhuǎn)向另一個(gè)狀態(tài)的次數(shù)為Ni,則狀態(tài)Ei轉(zhuǎn)移到狀態(tài)Ej的狀態(tài)轉(zhuǎn)移概率為:
根據(jù)式(14)構(gòu)建狀態(tài)轉(zhuǎn)移概率矩陣P為:
2)計(jì)算預(yù)測(cè)值。建立狀態(tài)轉(zhuǎn)移概率矩陣P后,假設(shè)t時(shí)刻對(duì)象處于Ei狀態(tài),若P中的第i行滿足maxPi=pij,則認(rèn)為下一時(shí)刻Ei最有可能轉(zhuǎn)移到Ej狀態(tài),并取Ej狀態(tài)區(qū)間[θj,θj+1]的中位數(shù)作為n+1 時(shí)刻的預(yù)測(cè)值。
對(duì)大國(guó)的不信任和防范是吳努政府的另一個(gè)基本心理,這是緬甸中立不結(jié)盟外交取向形成的重要原因。對(duì)于大國(guó),吳努直言:他們都是為了自己的利益而不是其他人利益而行事的,所以不要讓緬甸成為他們的傀儡,也絕不能完全相信他們,把緬甸的命運(yùn)交到他們手里。[86]1957年,緬甸副總理吳巴瑞、吳覺(jué)迎在北京與毛澤東的會(huì)談中,解釋說(shuō)緬甸害怕大國(guó)“是十分自然的,因?yàn)閺臍v史上看大國(guó)總是欺侮小國(guó)。緬甸處在大國(guó)之間”。[87]
根據(jù)狀態(tài)轉(zhuǎn)移矩陣P對(duì)進(jìn)行修正,并獲得最終預(yù)測(cè)值:
其中,Epmax表示在狀態(tài)轉(zhuǎn)移矩陣中,t時(shí)刻狀態(tài)Ei根據(jù)最大轉(zhuǎn)移概率maxPi轉(zhuǎn)移到狀態(tài)Ej的誤差區(qū)間步長(zhǎng)。
算法2 給出了GM(1,4)FTT 預(yù)測(cè)值馬爾科夫修正算法的描述,其中步驟1 與步驟2 負(fù)責(zé)建立狀態(tài)轉(zhuǎn)移矩陣,步驟3~步驟7 通過(guò)狀態(tài)轉(zhuǎn)移矩陣修正灰色模型FTT 預(yù)測(cè)值,步驟8 對(duì)狀態(tài)轉(zhuǎn)移矩陣進(jìn)行更新。
算法2GM(1,4)FTT 預(yù)測(cè)值馬爾科夫修正
2.2.3 基于FTTF′的數(shù)據(jù)包分發(fā)算法
為減少緩存阻塞帶來(lái)的負(fù)面影響,本文在子流上通過(guò)前向傳輸時(shí)延預(yù)測(cè)值評(píng)估該子流的性能,并動(dòng)態(tài)設(shè)定傳輸數(shù)據(jù)量。根據(jù)GM-Markov 模型所求得的前向傳輸時(shí)延預(yù)測(cè)值FTT′對(duì)子流進(jìn)行分類。將最小FTT′min的路徑選作優(yōu)秀子流,記作fi,其他子流標(biāo)記為普通子流。對(duì)于優(yōu)秀子流fi,數(shù)據(jù)包分發(fā)方法[18]為:
其中,cwndi表示子流fi的擁塞窗口,C為發(fā)送緩沖區(qū)的待發(fā)送數(shù)據(jù)包。
為使數(shù)據(jù)包按序到達(dá)接收端,減小傳輸時(shí)間差異,則定義為普通子流并按下式發(fā)送數(shù)據(jù):
若Sj≤0,則該子流不傳輸數(shù)據(jù)。這樣的發(fā)送窗口大小動(dòng)態(tài)調(diào)節(jié)方式,可使子流前向傳輸時(shí)延趨近于最優(yōu)子流前向時(shí)延,從而減小路徑間傳輸時(shí)延差異,解決由傳輸時(shí)延差異帶來(lái)的數(shù)據(jù)包亂序、緩存阻塞及傳輸性能下降等問(wèn)題。
算法3 給出了GMM-S 數(shù)據(jù)包分發(fā)算法。其中,步驟1 先獲取FTT 預(yù)測(cè)值,步驟2~步驟5 實(shí)現(xiàn)在優(yōu)秀子流上發(fā)送數(shù)據(jù)包,步驟6~步驟13 實(shí)現(xiàn)在普通子流上數(shù)據(jù)包的發(fā)送。
算法3GMM-S 數(shù)據(jù)包分發(fā)
仿真實(shí)驗(yàn)環(huán)境基于Ubuntu16.04,64 位操作系統(tǒng),使用NS 工具建立網(wǎng)絡(luò)拓?fù)?,NS 版本為3.29 并添加了MPTCP 模塊[19]。網(wǎng)絡(luò)測(cè)試拓?fù)淙鐖D3 所示。
圖3 異構(gòu)無(wú)線網(wǎng)絡(luò)測(cè)試拓?fù)銯ig.3 Heterogeneous wireless network test topology
為模擬真實(shí)無(wú)線環(huán)境,在每條路徑上設(shè)置分組丟失模型來(lái)模擬分布式分組丟失。路徑A 使用LTE蜂窩網(wǎng)絡(luò),設(shè)置4 Mb/s 的接入帶寬。考慮到LTE 在大范圍內(nèi)相對(duì)穩(wěn)定[20],丟包率設(shè)置為固定值0.01。路徑B 使用公共WiFi 網(wǎng)絡(luò),設(shè)置10 Mb/s 的接入帶寬,路徑丟包率設(shè)置為0~1.0。無(wú)線異構(gòu)網(wǎng)絡(luò)拓?fù)涞木唧w參數(shù)配置如表2 所示。實(shí)驗(yàn)在NS-3.29 仿真平臺(tái)下,以傳輸數(shù)據(jù)量、重傳次數(shù)、亂序塊大小/個(gè)數(shù)與吞吐量等參數(shù)作為主要指標(biāo),同時(shí)選取RR 算法及LowRTT 算法作為傳輸性能的比較對(duì)象。
表2 異構(gòu)無(wú)線網(wǎng)絡(luò)拓?fù)涞膮?shù)配置Table 2 Parameter configuration of heterogeneous wireless network topology
表3 給出了GMM-S、RR 及LowRTT 三種調(diào)度算法的傳輸時(shí)間、傳輸數(shù)據(jù)總量、傳輸次數(shù)、重傳次數(shù)、重傳占比及最大重傳數(shù)據(jù)段等數(shù)據(jù)。
表3 3 種數(shù)據(jù)調(diào)度算法的數(shù)據(jù)傳輸結(jié)果Table 3 Data transmission results of three data scheduling algorithms
相較于RR 和LowRTT 算法,本文提出的GMM-S算法在獲得更高吞吐量的同時(shí)有效減少了重傳次數(shù)。這主要是因?yàn)镚MM-S 基于GM(1,N)和馬爾科夫優(yōu)化的子流性能評(píng)估模型更有效地完成路徑質(zhì)量的準(zhǔn)確評(píng)價(jià),實(shí)現(xiàn)子流數(shù)據(jù)包發(fā)送的自適應(yīng)動(dòng)態(tài)調(diào)整。
3.2.1 GM(1,N)-Markov 預(yù)測(cè)誤差分析
圖4 給出本文實(shí)驗(yàn)設(shè)置下從第44 次數(shù)據(jù)包傳輸開(kāi)始后采用GM(1,4)-Markov 算法預(yù)測(cè)的最小FTT子流與實(shí)際最小FTT 子流的對(duì)比數(shù)據(jù)。在第1 次~第43 次數(shù)據(jù)包傳輸過(guò)程中,Subflow_3 是WiFi 鏈路的主子流且有較高的帶寬,在不產(chǎn)生丟包時(shí)該子流具有最小FTT,在GM(1,4)-Markov 預(yù)測(cè)算法狀態(tài)轉(zhuǎn)移概率矩陣中,Subflow_3 表現(xiàn)出最大的矩陣元素值。此后,即從第44 次開(kāi)始,GM(1,4)-Markov 算法在綜合分析擁塞窗口、吞吐量及丟包情況的基礎(chǔ)上選出具有最小FTT 的Subflow_1。在第47 次數(shù)據(jù)包傳輸時(shí),GM(1,4)-Markov 算法給出了最小FTT 子流為子流3 的預(yù)判,但由于此時(shí)實(shí)際傳輸子流仍為子流1,因此出現(xiàn)預(yù)測(cè)值與實(shí)際值不一致的情形,即產(chǎn)生誤差。從第48 次數(shù)據(jù)包傳輸開(kāi)始至第59 次數(shù)據(jù)包傳輸,實(shí)際最小FTT 子流為Subflow_3。類似的誤差產(chǎn)生情形還發(fā)生在第67 次數(shù)據(jù)包傳輸。在隨后的數(shù)據(jù)包傳輸過(guò)程中,由于Markov 殘差修正算法的作用,誤差得以不斷修正,GM(1,4)-Markov 算法預(yù)測(cè)精度不斷提高,且總誤差控制在1.8%左右。
圖4 GM(1,N)-Markov 算法預(yù)測(cè)最小FTT 子流效果Fig.4 Effect of GM(1,N)-Markov algorithm on predicting the minimum FTT subflow
3.2.2 數(shù)據(jù)包亂序分析
圖5 給出了應(yīng)用GMM-S、RR、LowRTT 三種數(shù)據(jù)調(diào)度算法在無(wú)線異構(gòu)網(wǎng)絡(luò)中傳輸過(guò)程中出現(xiàn)的數(shù)據(jù)塊亂序情況。從圖5 可以看出:在50 s~100 s 的時(shí)間間隔內(nèi),RR 算法共發(fā)生199 次亂序,最大亂序塊大小為27 000 bit;LowRTT 算法共發(fā)生749 次亂序,最大亂序塊大小為29 000 bit;而GMM-S 算法共發(fā)生176 次亂序,最大亂序塊大小為16 000 bit。總體而言,GMM-S 相比RR 和LowRTT 所產(chǎn)生的亂序塊更少且亂序數(shù)據(jù)塊也更小。這主要是由于GMM-S 實(shí)現(xiàn)了路徑質(zhì)量的實(shí)時(shí)評(píng)估,并在數(shù)據(jù)分發(fā)時(shí)根據(jù)子流預(yù)測(cè)FTT 自適應(yīng)地分發(fā)數(shù)據(jù)包,盡可能地保障數(shù)據(jù)包按序到達(dá)所導(dǎo)致的,GMM-S 不僅明顯減少了數(shù)據(jù)包亂序的發(fā)生次數(shù),同時(shí)也降低了亂序程度。
圖5 3 種數(shù)據(jù)調(diào)度算法的亂序到達(dá)結(jié)果對(duì)比Fig.5 Comparison of out-of-order arrival resuts of three data scheduling algorithms
3.2.3 數(shù)據(jù)發(fā)送到達(dá)結(jié)果分析
在實(shí)驗(yàn)中,本文通過(guò)設(shè)置隨機(jī)丟包率來(lái)模擬無(wú)線異構(gòu)網(wǎng)絡(luò)的不確定性,在傳輸過(guò)程中丟包的發(fā)生會(huì)引發(fā)重傳。圖6 給出了GMM-S、RR、LowRTT 三種算法數(shù)據(jù)發(fā)送到達(dá)結(jié)果對(duì)比。在理想狀態(tài)下,按序傳輸數(shù)據(jù)包且接收端按序接收,TSN 隨時(shí)間變化的圖像應(yīng)為單調(diào)平穩(wěn)遞增的圖像,但重傳的發(fā)生會(huì)因?yàn)榉磸?fù)傳輸而使圖像出現(xiàn)水平線段。從圖6 可以看出:RR 在95.5 s 時(shí)發(fā)生了一次重傳,持續(xù)時(shí)間為0.2 s;LowRTT 在95.6 s時(shí)發(fā)生了一次重傳,持續(xù)時(shí)間為0.2 s;GMM-S 則是在95.8 s 時(shí)發(fā)生了一次重傳,持續(xù)時(shí)間為0.1 s。GMM-S 的重傳持續(xù)時(shí)間最少。此外,在數(shù)據(jù)傳輸過(guò)程中,若發(fā)生亂序或發(fā)送數(shù)據(jù)包過(guò)大的情況會(huì)導(dǎo)致緩沖區(qū)阻塞,致使發(fā)送端數(shù)據(jù)包停發(fā),在圖像中表現(xiàn)為中斷現(xiàn)象。在圖6 中,95 s~97 s 的時(shí)間段內(nèi),RR 產(chǎn)生了4 次明顯中斷,LowRTT 產(chǎn)生了5 次明顯中斷,而GMM-S 僅產(chǎn)生2 次明顯中斷,且中斷時(shí)間遠(yuǎn)小于RR 和LowRTT,這表明GMM-S工作時(shí)接收端數(shù)據(jù)接收更為平穩(wěn)。
圖6 3 種數(shù)據(jù)調(diào)度算法的數(shù)據(jù)發(fā)送到達(dá)結(jié)果對(duì)比Fig.6 Comparison of data transmission and arrival results of three data scheduling algorithms
3.2.4 吞吐量
有效吞吐量(Effective Throughput,ET)[21]定義為單位時(shí)間t內(nèi)由傳輸層送達(dá)應(yīng)用層的數(shù)據(jù)量(Application lauer Data,AD),即:
在圖7 中,RR 的有效吞吐量波動(dòng)區(qū)間約為0.1,LowRTT 有效吞吐量波動(dòng)區(qū)間約為0.15,而GMM-S波動(dòng)區(qū)間僅為0.01,且持續(xù)穩(wěn)定在10.06 Kb/s~10.07 Kb/s 之間。在95 s~96 s 時(shí)間段內(nèi)RR、LowRTT及GMM-S 均發(fā)生了重傳,有效吞吐量發(fā)生了下降,但由于GMM-S 的自適應(yīng)數(shù)據(jù)包分發(fā)機(jī)制會(huì)在產(chǎn)生丟包的子流上動(dòng)態(tài)分配較少的數(shù)據(jù)包,因此GMM-S的有效吞吐量在重傳發(fā)生時(shí)未受到嚴(yán)重影響。
圖7 3 種數(shù)據(jù)調(diào)度算法的有效吞吐量對(duì)比Fig.7 Comparison of effective throughput variation of three data scheduling algorithms
3.2.5 服務(wù)質(zhì)量評(píng)估
在實(shí)際應(yīng)用場(chǎng)景中,較大的端到端時(shí)延會(huì)嚴(yán)重影響實(shí)時(shí)傳輸?shù)姆?wù)質(zhì)量。比如在實(shí)時(shí)視頻傳輸服務(wù)中,若因?yàn)榘l(fā)送率波動(dòng)較大引起應(yīng)用層數(shù)據(jù)接收時(shí)間間隔增大,用戶會(huì)感受到明顯的視頻卡頓或中斷。圖8 給出了90 s~100 s 時(shí)間段內(nèi)數(shù)據(jù)發(fā)送速率的變化情況。從圖8 可以看出,L ow RT T 在97 s 時(shí)發(fā)送速率存在大幅增加的現(xiàn)象,這是因?yàn)樵?5 s~96 s期間發(fā)生了數(shù)據(jù)包亂序現(xiàn)象,在97 s 時(shí)緩沖區(qū)中的亂序數(shù)據(jù)包順序交付給應(yīng)用層,此時(shí)的擁塞窗口增大,發(fā)送窗口因而變大,LowRTT 的發(fā)送速率出現(xiàn)明顯上升。而在GMM-S 中,每條子流維護(hù)各自的擁塞窗口,數(shù)據(jù)分發(fā)調(diào)度綜合考慮子流的傳輸性能為子流分發(fā)合理大小的數(shù)據(jù)包,因此不會(huì)出現(xiàn)LowRTT發(fā)送速率大幅波動(dòng)的情形。
圖8 3 種數(shù)據(jù)調(diào)度算法的發(fā)送速率對(duì)比Fig.8 Comparison of transmission rate of three data scheduling algorithms
圖9給出了應(yīng)用層數(shù)據(jù)接收時(shí)間間隔的分布數(shù)據(jù),應(yīng)用層接收時(shí)間間隔分布以平均值±95%的置信區(qū)間來(lái)反映。從圖9 可以看出:RR 的應(yīng)用層數(shù)據(jù)接收時(shí)間間隔主要分布在1.18E7 ns~1.2E7 ns之間;LowRTT 的應(yīng)用層數(shù)據(jù)接收時(shí)間間隔主要分布在1.16E7 ns~1.18E7 ns 之間;而GMM-S 的應(yīng)用層數(shù)據(jù)接收時(shí)間間隔則主要分布在1.11E7 ns~1.13E7 ns 之間,范圍明顯小于RR和LowRTT。這表明GMM-S可提供更穩(wěn)定的應(yīng)用層數(shù)據(jù)傳送,為網(wǎng)絡(luò)傳輸服務(wù)質(zhì)量及良好的用戶體驗(yàn)提供保障。
圖9 應(yīng)用層數(shù)據(jù)接收時(shí)間間隔分布Fig.9 Distribution of application layer data receiving interval
本文提出一種基于GM(1,N)前向傳輸時(shí)延預(yù)測(cè)與馬爾科夫優(yōu)化的自適應(yīng)多路傳輸數(shù)據(jù)調(diào)度算法GMM-S,該算法綜合考慮子流中吞吐量、丟包率及發(fā)送窗口等因素對(duì)傳輸時(shí)延的影響,采用FTT 預(yù)測(cè)對(duì)子流性能進(jìn)行評(píng)估,并通過(guò)調(diào)整相應(yīng)發(fā)送窗口大小來(lái)最小化異構(gòu)網(wǎng)絡(luò)中的傳輸時(shí)延差異。實(shí)驗(yàn)結(jié)果表明,該算法可有效解決數(shù)據(jù)包亂序問(wèn)題并顯著提升網(wǎng)絡(luò)傳輸性能。下一步將采用個(gè)性化數(shù)據(jù)傳輸算法對(duì)多路傳輸數(shù)據(jù)調(diào)度進(jìn)行優(yōu)化,進(jìn)一步提高網(wǎng)絡(luò)資源利用率與網(wǎng)絡(luò)服務(wù)質(zhì)量。