余 翔,劉 晗,段思睿,陳宇博
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)
日益增加的航空旅客通信業(yè)務(wù)對航空通信質(zhì)量提出了更高的要求[1]。據(jù)估計,在未來幾年內(nèi)民航的乘客人次將從2020年的69 312萬增長到2025年的122 152萬。為了滿足乘客的需求,未來航空通信要求具有高吞吐量和低時延的傳輸能力。多路徑傳輸協(xié)議是一種適用于有線互聯(lián)網(wǎng)和異構(gòu)無線網(wǎng)絡(luò)的并發(fā)傳輸協(xié)議,能夠在具有多終端的通信網(wǎng)絡(luò)上實現(xiàn)數(shù)據(jù)并發(fā)傳輸。采用多路徑傳輸不僅可以保證吞吐量性能的提升,也能保證在惡劣環(huán)境下的通信質(zhì)量。
多路徑網(wǎng)絡(luò)的流量分配一直是一個重要且活躍的研究領(lǐng)域[2-3],而現(xiàn)有的分配策略可以分為基于流和數(shù)據(jù)包的流量分割方法。基于分組數(shù)據(jù)包的模型通常根據(jù)信道狀態(tài)信息、分組延遲約束等將分組的數(shù)據(jù)包發(fā)送到不同的路徑上。盡管調(diào)度策略減少了單個路徑上的排隊延遲,但也可能導(dǎo)致嚴重的數(shù)據(jù)包重新排序問題,從而導(dǎo)致較大的端到端延遲。為了解決端到端時延問題,Wu等人[4]提出了一種旨在通過將多個并行路徑聚合為單個虛擬路徑來最小化總數(shù)據(jù)包延遲的多路徑負載分布(Sub-packet Based Multipath Load Distribution,SPLMD)模型,從而減少包延遲的變化和接收端包重新排序的風(fēng)險,同時用一個混合的M/M/1模型估計了每條路徑的排隊延遲,并分割流量以最小化延遲變化的成本。Raiciu等人[5]提出了一種基于機會調(diào)度的調(diào)度器,對每個路徑分配與流量分配關(guān)聯(lián)的權(quán)重,可以在保持每條路徑傳輸字節(jié)比例的同時,向多個路徑發(fā)送數(shù)據(jù)包。而目前應(yīng)用最廣泛的多路徑TCP協(xié)議(Multipath TCP,MPTCP)也是通過分割流的方式對多路徑網(wǎng)絡(luò)流量進行分配。Li等人[6]提出了一種基于系統(tǒng)編碼的多路徑TCP(Multipath TCP with Systematic Coding,SC-MPTCP)方案,該方案引入線性系統(tǒng)編碼來解決在接收緩沖區(qū)限制下容忍路徑異構(gòu)的問題。Chen等人[7]對蜂窩和WiFi網(wǎng)絡(luò)上的MPTCP的性能進行了測量研究,以調(diào)查路徑多樣性對應(yīng)用級別度量的影響。Le等人[8]也提出了一種基于轉(zhuǎn)發(fā)延遲的數(shù)據(jù)包調(diào)度(Forward-Delay-Based Packet Scheduling,F(xiàn)DPS)算法,通過發(fā)送方估計的轉(zhuǎn)發(fā)延遲和吞吐量差異為并發(fā)路徑分派數(shù)據(jù)包。
本文考慮到地空通信信道的不對稱性,提出了一種擁塞感知負載分布(Congestion-aware Load Distribution,CALD)算法。該算法針對在地空通信場景下的高丟包、高時延特性重新估計了傳輸損失率,同時分別預(yù)估了各子路徑的擁塞窗口大小,解決了統(tǒng)一的擁塞控制窗口不適用于非對稱路徑傳輸?shù)膯栴}。
所提MPTCP解決方案系統(tǒng)模型如圖1所示。本文研究了多個可用接入網(wǎng)絡(luò)與MPTCP的端到端通信問題,所提出的CALD方案旨在端到端延遲約束下更好地調(diào)度非對稱路徑上傳輸?shù)淖恿?。?dāng)數(shù)據(jù)到達本地服務(wù)器,服務(wù)器將接收到的數(shù)據(jù)劃分為多個子流,將每個子流劃分為多個數(shù)據(jù)包,并暫存在多個可用通信路徑的發(fā)送緩存區(qū)中。系統(tǒng)框架中的主要決策模塊在本地服務(wù)器端實現(xiàn),遠端服務(wù)器端負責(zé)數(shù)據(jù)的接收重組。
圖1 子流分配系統(tǒng)模型
本文考慮一個地空異構(gòu)覆蓋網(wǎng)絡(luò),并在其中部署了具有多個端到端通信路徑的代理服務(wù)器。為了實現(xiàn)端到端的通信,可以通過將源IP和目的IP進行綁定來構(gòu)造。由于構(gòu)造的可用通信路徑不相交,不具有共享瓶頸鏈路,即每個通信路徑都可被認為是與其他路徑無關(guān)的獨立傳輸路徑。因此,可以假設(shè)每個通信路徑的可用容量、損失率以及RTT往返時延等物理特性是相互獨立的[9-10]。
基于獨立的端到端通信路徑特性,設(shè)可用帶寬為μp,其表示端到端感知到的帶寬變化情況,具體數(shù)值可以通過發(fā)送緩存區(qū)內(nèi)的數(shù)據(jù)和往返時延來計算。往返時間RTTp,代表發(fā)送數(shù)據(jù)包到接收到ACK確認消息的總時間。
(1)
首先,假設(shè)傳輸?shù)目倲?shù)據(jù)流為Sm,劃分的子流可以表示為
(2)
(3)
(4)
由公式(4)可以得到路徑p的狀態(tài)轉(zhuǎn)移矩陣為
(5)
(6)
由公式(5)、(6)可得,可以將路徑p的第i個數(shù)據(jù)包錯誤的概率重寫為
(7)
(8)
由于地空通信之間的移動性和長距離傳輸會造成長時間的鏈路中斷和每次RTT時延不定的問題,可能會出現(xiàn)在規(guī)定時間內(nèi)并不能收到ACK的情況,因此本文用逾期損失來衡量這種ACK的逾期情況。文獻[12]中提到Sarkar等人提出逾期損失可以用M/G/1排隊模型來近似,因此,單個路徑上的端到端延遲遵循指數(shù)分布[13],可以建模為
(9)
式中:w表示數(shù)據(jù)包的到達率,可用平均時延w=1/E(Dp)來表示。因此公式(9)改寫為
(10)
式中:T為約束逾期時間,E(Dp)表示端到端的平均時延。由于E(Dp)是一個基于大量端到端延時的統(tǒng)計數(shù)據(jù)集的估計值,因此Wu等人在文獻[14]中提出了一個估計模型:
(11)
(12)
有效損失率可以表示為信道損失的數(shù)據(jù)包和數(shù)據(jù)包過期的總損失比,可表示為
(13)
基于有效損失率,估計總路徑的聚合流量為
(14)
正如文獻[15-17]所述,為了消除可用地空通信路徑之間的較大延遲差異,將最小化端到端時延作為最優(yōu)子流分配的一個約束條件。為了便于求解,本文將上述對通信路徑p的線性約束優(yōu)化問題轉(zhuǎn)化成一個最大化實時流量Si的線性約束問題。
(15)
為了有效地利用地空通信網(wǎng)絡(luò)中可用的信道資源,更準確地對各個路徑上的子流進行調(diào)度,準確地估計每個通信路徑的狀態(tài)是相當(dāng)重要的。為了得到有效帶寬參數(shù),本文采用文獻[18]中的方案進行估計,通信路徑的可用帶寬可被表征為
(16)
式中:wp代表當(dāng)前時刻的擁塞窗口大小,而RTTp代表往返時延。由于在低質(zhì)量的通信路徑中,統(tǒng)一的擁塞控制很可能會導(dǎo)致性能下降,因此本文分別估計了各路徑的擁塞窗口大小。由于MPTCP的特點是要求對TCP是友好的,因此本文采用文獻[19]中研究人員模擬的對單條TCP擁塞窗口的平均大小作為通信路徑p的擁塞窗口估計值。在本文中wp可以被表征如下
(17)
本文基于實用理論的流量分配方案,使用連續(xù)分段線性方法去最大化目標函數(shù)的輸出結(jié)果[20]。由于此方案傾向于給具有更高質(zhì)量和傳輸能力的通信路徑分配更大的流量,因此極易導(dǎo)致地空異構(gòu)通信網(wǎng)絡(luò)中的流量負載分布不平衡。為了緩解嚴重的流量負載不平衡問題,本文引入了一個負載不平衡參數(shù)Lp來表示路徑p的負載水平,并表示為
(18)
式中:μp·(1-πp)表示為當(dāng)前路徑p的無損帶寬。如果Lp的值明顯高于設(shè)定的閾值TLV[21],則路徑p將過載。為了更快地達到收斂條件,將初始子流設(shè)置為無損帶寬的比值,即
(19)
同時,將路徑p上每次迭代的變化率設(shè)置為ΔSp,則下一次子流的分配情況可以表示為Sp+ΔSp。為了計算每次迭代的變化率,根據(jù)文獻[22]中提出的鏈路增長算法來對每次的增量進行估計:
(20)
從而可以估計每條路徑迭代后的有效增量為
(21)
基于信道狀態(tài)估計的漸進式流率分配(Subflow Allocation)算法如下:
輸入: {μp,ξp}p∈∈P,TLV=1.2,D=max(Dp),ΔSp=0.05Sp。
輸出:S=max{Sp}p∈P。
1 for each elementpin available setPdo
2 InitializeSp,RTTp,E(Dp),Lp,wp
3 while(Sp≤μp·(1-πp))&&(Lp≤TLV)&&(E(Dp)≤D)do
4Sp=Sp+ΔSp
5 Update the elementLp,wp,RTTp,D=E(Dp)
6 end
7 Reset the above parameterSp,RTTp,E(Dp),Lp
8 while(Sp≤μp·(1-πp))&&(Lp≤TLV)&&(E(Dp)≤D) do
9Sp=Sp-ΔSp
10 Update the elementLp,wp,RTTp,D=E(Dp)
11 end
12 Determine the allocation vector of the subflow
13 end
14 Specific inter-path allocation:
15 find another avilable pathp′
16 if(Sp′≤μp′·(1-πp′))&&(Lp′≤TLV)&&(E(Dp′)≤D)
do
17Sp′=Sp′-ΔSp′orSp′=Sp′+ΔSp′
18 end
19 end
由于初始子流Sp被設(shè)置為無損帶寬的比值,并不是從原點開始計算,可能會導(dǎo)致初值分配權(quán)重過高的問題,因此在算法中采用前向與后向迭代同時進行來解決此問題,得到最終的子流分配結(jié)果。本文按照所提算法的分配結(jié)果對接收到的流進行分配,并在下一節(jié)給出實驗結(jié)果。
基于shdowsock搭建了一個多路徑端到端實驗平臺。本地服務(wù)器端和遠端服務(wù)器端被映射到本地網(wǎng)絡(luò)中的實際計算機中,并配置了多條可用通信路徑。本文通過綁定本地服務(wù)器端和遠端服務(wù)器端的多對IP地址構(gòu)建了端到端通信網(wǎng)絡(luò)。如圖2所示,發(fā)送端輸入的流量可以途經(jīng)通信網(wǎng)絡(luò)中所有可用路徑到達接收端。
圖2 端到端測試系統(tǒng)架構(gòu)
本次實驗主要從吞吐量和端到端時延兩個指標來衡量算法的性能。為了評估可用通信路徑對整個網(wǎng)絡(luò)吞吐量等性能的影響,對不同的路徑的流量分布進行了實驗(p=2,3,4,5)。實驗中每條通信路徑的參數(shù)設(shè)置如表1所示。本文使用地空通信鏈路仿真器對每條路徑進行參數(shù)設(shè)定,分別模擬了并在遠端服務(wù)器端實時統(tǒng)計流量分配情況。同時為了獲得可靠的結(jié)果,重復(fù)每一組模擬實驗10次,最后給出了一個平均結(jié)果。對于單一時間的結(jié)果,本文對TLV值進行了仿真分析。在圖3中通過調(diào)整TLV值觀察得到不同的端到端時延,進而得出最優(yōu)的TLV值,給出了更具代表性的一組仿真結(jié)果。
表1 多通信路徑參數(shù)
圖3 最優(yōu)負載均衡值TLV
本文將得到的仿真結(jié)果與DEAM、ADMIT、EMTCP 以及MPTCP多路徑協(xié)議中的子流分配算法進行了對比。首先,設(shè)置可用路徑p=2,統(tǒng)計傳輸數(shù)據(jù)流分別為4 Mb、5.25 Mb、6.5 Mb、7.75 Mb下的數(shù)據(jù)包重傳結(jié)果。本文統(tǒng)計了總的包重傳數(shù)量,并在圖4中展示了不同數(shù)據(jù)流下數(shù)據(jù)包的重傳次數(shù)。從圖中可以看出,由于MPTCP對于TCP應(yīng)該是友好的,因此在引入預(yù)估的單條通信路徑所對應(yīng)的TCP平均擁塞窗口作為判定路徑質(zhì)量的一個標準后,數(shù)據(jù)包重傳數(shù)量明顯降低。
圖4 數(shù)據(jù)包重傳數(shù)量
同時,本文在遠端服務(wù)器端統(tǒng)計了從數(shù)據(jù)包發(fā)送到數(shù)據(jù)重組后的端到端時延。如圖5所示,本文所提算法展示了更低的端到端時延,其性能隨可用通信路徑和傳輸數(shù)據(jù)流的增加而提升。這是由于本文更加準確地估計了通信路徑的一個質(zhì)量情況,給質(zhì)量較好的通信路徑分配了較大的子流,因此鏈路擁塞情況得到了明顯的改善,從而降低了端到端時延,并減少了連續(xù)的損失。圖6表示一段時間內(nèi)的平均損失率的變化。
圖5 平均端到端時延
圖6 平均丟包率
此外,由于本文在算法中使用最優(yōu)鏈路增長算法對每次迭代的增量進行估計,使得每次分配的子流量與對應(yīng)的信道狀態(tài)的變化情況成正相關(guān),從而更加準確地分配了通信路徑所對應(yīng)子流的數(shù)據(jù)量,因此更好地緩解了鏈路的擁塞情況,得到了較高吞吐量。圖7和圖8分別展示了吞吐量隨可用路徑數(shù)量的變化情況和隨時間的變化情況。
圖7 平均吞吐量
圖8 瞬時吞吐量
本文提出了一種擁塞感知負載分布算法,通過預(yù)估MPTCP通信路徑的一個擁塞窗口變化情況,映射到多路徑的擁塞感知負載分布模型中;同時將每次的路徑增量與通信路徑的變化情況對應(yīng),預(yù)估對應(yīng)的最優(yōu)鏈路增長值,從而有效降低了端到端時延,提高了多路徑傳輸?shù)目偼掏铝俊?/p>
未來的工作中,將繼續(xù)考慮改進地空通信的擁塞控制,并將路徑傳播能耗納入到相關(guān)變量中進行綜合研究。