江 卓,吳 茜,李賀武,吳建平
1(清華大學 網絡科學與網絡空間研究院,北京 100084)
2(北京信息科學與技術國家研究中心(清華大學),北京 100084)
隨著虛擬現實、物聯網等新技術的發展,用戶需要更高的網絡帶寬以及更低的端到端傳輸時延,而使用單一的接入技術已經難以滿足用戶對網絡更高的要求.與此同時,一個終端具備多個網絡接入能力的現象已經越來越普遍.智能終端目前已經既能通過 WiFi接口,也能通過蜂窩網絡接口接入互聯網.未來隨著衛星以及臨近空間組網技術的發展,一臺普通終端還將能夠通過衛星網絡接入互聯網.此外,終端還可以通過藍牙和NFC等近場通信技術直接建立點對點的通信鏈路進行通信.面對一個終端上多樣化的接入能力以及用戶對網絡更高的要求,多路徑傳輸技術應運而生.多路徑傳輸技術旨在同時利用終端上多種接入能力進行數據的并發傳輸,從而提高總的傳輸帶寬和數據傳輸對網絡動態性的適應能力.
目前,主流的多路徑傳輸協議是MPTCP(multipath TCP)協議[1].從網絡分層體系結構的角度來看,MPTCP協議位于傳輸層.在傳輸層進行多路徑傳輸有如下兩個方面的好處:1)傳輸層是面向端到端的,容易獲得端到端的帶寬、時延、丟包率的信息,為 MPTCP多路徑傳輸的各項功能的實現提供了基礎;2)傳輸層位于應用層之下,在傳輸層支持多路徑傳輸能夠避免相同的多路徑傳輸功能在應用層上的重復實現.
MPTCP協議在協議格式上以傳輸層TCP協議為基礎[2],通過新增的TCP選項在收發雙方交互多接口的地址信息,對上與基于TCP協議的應用相兼容,對下采用標準的TCP協議作為子流進行傳輸.MPTCP和TCP良好的兼容性使得包括蘋果公司在內的各大廠商[3]選擇通過支持MPTCP來進行多路徑傳輸.
與僅使用1條路徑進行傳輸相比,采用多路徑進行端到端傳輸能夠帶來如下幾個方面的優勢.
1)具有更高的傳輸帶寬.同一個應用的數據包被分配到不同的網絡接口進行傳輸,多路徑傳輸聚合了同一個終端不同網絡接口的帶寬.
2)具有更多樣的接入選擇.終端能夠根據需要選擇合適的若干網絡接口同時進行傳輸,或者僅僅選擇其中一個接口進行數據傳輸,以適應接口特性的動態變化.
3)能夠提供更好的移動性支持.無線網絡往往通過在邊緣重疊覆蓋的方式來提高網絡對用戶移動性的支持,通過在用戶位于重疊覆蓋區域同時建立多條連接的方式,能夠做到傳輸層的先連后斷[4],從而實現無縫切換.同時,通過多路徑傳輸的標識管理,能夠做到在IP地址發生改變時,傳輸層連接不中斷.
4)能夠更加高效地分配資源.從全網的角度來看,終端同時使用多個接口能夠將之前可能毫不相關的網絡聯系在一起,形成統一的網絡資源池[5,6].然后,在終端側通過聯合擁塞控制等方式進行協同資源分配,從而實現網絡負載更加均勻的分配.
端到端多路徑傳輸的研究重點在于多條路徑之間的智能協同,而協同的基礎在于相關信息的準確獲取.以多路徑傳輸的數據分配為例,高效的數據分配離不開準確的端到端帶寬、往返時延以及丟包率參數的估計,同時還需要根據數據包的截止時間及其對于應用的重要程度等進行不同的優先級處理.因此,僅僅依靠傳統的傳輸層參數獲取機制無法有效發揮多路徑傳輸的優勢,還需要對其他層次的有關參數進行有效獲取和利用.
在綜述相關研究進展的過程中,主要方法是以MPTCP、multipath transmission、cross layer optimization、video transmission等為關鍵詞對多路徑傳輸相關論文進行檢索,根據論文發表質量,從中選出重點的有代表性的論文;同時,通過 Google scholar查看引用相關論文的文獻并進行篩選,進而得到論文中的相關參考文獻.圖1給出了本文所引用的論文在發表篇數以及論文發表時間的分布結果,從中可以看出,在最近 5年,均有較為穩定的在多路徑傳輸跨層優化方向的論文成果,利用物理層、鏈路層、網絡層以及應用層的相關信息,通過跨層優化的方式提升端到端多路徑傳輸的性能是近年來的主要研究趨勢.其中在節能方面,2016年和2017年的論文數量與前3年相比有明顯增加.新型網絡技術(如SDN)的產生,使得在結合網絡層進行優化方面,2015年~2017年的相關論文數量與前兩年相比有明顯的增加.

Fig.1 Distribution for the number of published papers and paper publication year圖1 論文發表篇數及論文發表時間分布
雖然已經有部分針對多路徑傳輸的研究綜述,但是仍然缺少從體系結構各層全面地綜述多路徑傳輸跨層優化的綜述論文.例如,文獻[7-10]重點從傳輸層綜述了相關多路徑傳輸的研究進展,對于其他層的研究內容相對涉及較少;文獻[11,12]重點綜述了如何利用各層現有協議更好地實現帶寬聚合的相關研究進展,對于各層之間的協同方式以及節能相關的研究進展則較少涉及.因此,本文的主要貢獻在于:從各層的功能特點及其與多路徑傳輸的關系著手,系統地整理和比較了近年來利用跨層信息進行多路徑傳輸優化的相關論文,對其解決的主要問題和采用的主要研究方法進行了比較和分析,并且對未來的研究方向進行了展望.
本文首先介紹多路徑傳輸的主要挑戰和進行跨層優化的重要性.然后,分別從物理及鏈路層、網絡層、應用層以及節能等方面介紹多路徑傳輸跨層優化的主要研究進展并進行綜合比較.最后,對研究趨勢進行展望.
根據MPTCP協議的主要功能[13,14],多路徑傳輸的基本功能組成主要包括如下幾個部分.
· 連接管理和子流選擇
多路徑傳輸協議的連接管理主要負責連接的建立和斷開,子流選擇主要負責管理需要建立子流的數目.MPTCP在TCP協議基礎上增加了新的MP_CAPABLE、MP_ADDR、MP_JOIN選項.MPTCP首先進行第1條子流的建立,建立過程中,在 TCP三次握手建立連接的數據包選項中增加MP_CAPABLE,用以標識通信雙方都支持MPTCP,并且在建立連接過程中生成標識連接的token信息.第1條連接建立完之后,MPTCP根據子流選擇策略的配置進行后續連接建立,后續子流在建連過程中通過 MP_JOIN選項加入已有的多路徑傳輸連接.同時,當接收方有多個 IP地址時,接收方通過有 MP_ADDR選項的數據包告知發送方.對于子流選擇策略而言,目前MPTCP中常用的有fullmesh、ndiffport等.其中,fullmesh策略是在發送方的n個IP地址和接收方的m個IP地址之間建立n×m條連接;而ndiffport則支持在同一對源IP地址和目的IP地址之間建立多條子流,具體建立的子流的數目可以通過配置系統文件進行設置.這方面的難點主要在于,不同子流能夠給多路徑傳輸帶來的收益不同,并且所需要的子流管理開銷、能量開銷也不同,需要根據各條子流的特點進行子流選擇.
· 緩存管理
在發送方,緩存管理需要保存已發送但是還沒有確認的數據包;在接收方,緩存管理則需要將亂序的數據包或者應用程序無法及時讀取的數據包保存下來,等到數據包順序到達或者應用程序讀取了數據之后,繼續向應用層遞交.多路徑傳輸時,緩存管理的難點主要在于各條子流傳輸參數的差異容易帶來更多的亂序數據包,需要結合子流的傳輸參數對接收緩存進行動態調整,以避免因接收緩存不足造成發送方無法有效聚合帶寬.MPTCP接收方常用的緩存管理方式是采用兩級緩存[13]:第1級子流緩存用來緩存每條子流的亂序數據包,第2級連接層緩存用來緩存連接層亂序或者還沒有被接收方讀取的數據包.在進行接收緩存大小設置方面,MPTCP通常的方式是在系統設置允許時,動態地將連接層接收緩存大小設置為為所有子流往返時延中的最大值,為各條子流帶寬的求和[13].
· 數據分配
數據分配的主要工作在發送方,以決定每個數據包應該通過哪條子流進行發送以及什么時候進行發送.數據分配的難點主要在于各條子流的數據包是有關聯的,需根據每條子流的傳輸路徑參數進行聯合分配,以達到整體傳輸的性能優化.MPTCP協議實現目前主要的數據分配算法包括default[15]、roundrobin[15]和redundant[16].其中,roundrobin在子流發送窗口允許的情況下,輪流地向各條子流分配數據;default在多條子流發送窗口都允許數據發送時優先選取往返時延較小的子流;redundant則是將數據包冗余地在各條子流上發送.
· 聯合擁塞控制
多路徑聯合擁塞控制[17]的目標一方面是能夠公平地分配資源,另一方面是能夠有效地平衡多條子流的負載.它通過聯合地調整各條子流的窗口變化來達到聯合擁塞控制的目標.聯合擁塞控制的難點主要在于各條子流的傳輸參數有差異并且會動態變化,需要根據每條子流的傳輸參數及時且合理地對子流擁塞窗口進行聯合地調整,以達到資源的高效和公平分配.目前,MPTCP協議的聯合擁塞控制算法主要有兩類:一類是基于時延的聯合擁塞控制算法,如wvegas[6];另一類是基于丟包的聯合擁塞控制算法,包括lia[17]、balia[18]、olia[19]等.
1)鏈路特性差異度大,鏈路動態變化性強
端到端多路徑傳輸的物理介質通常包括 WiFi、蜂窩鏈路、衛星鏈路、以太鏈路以及光纖等,它們的物理層和鏈路層傳輸特性存在巨大差異.鏈路特性差異度大,容易造成不同子流間數據包的亂序問題.亂序到達的數據包一方面通過對接收緩存的占用抑制發送方的發送速率;另一方面造成數據包無法及時向應用層遞交,進而影響用戶體驗.鏈路特性差異度大體現在如下幾個方面.
· 在資源分配方式上,蜂窩網絡采用資源集中分配、用戶獨享資源的方式,在時延、帶寬等鏈路參數上相對穩定.而WiFi則是通過CSMA/CA分布式地競爭資源,隨著關聯同一個AP的用戶數目的增加,每個用戶競爭到的帶寬會相應地減少,同時時延的抖動也會增加.
· 在傳輸和覆蓋范圍上,衛星傳輸距離相對較遠,地面的 WiFi、蜂窩等鏈路則相對較近.傳輸距離的差異使得物理傳輸時延差異較大.例如,地面 WiFi網絡的端到端往返時延通常為幾十 ms[20]的量級,而經過高軌衛星中轉后數據傳輸的往返時延能夠達到幾百ms[21].
· 在鏈路參數動態變化上,傳輸帶寬、往返時延、丟包率隨著時間的不同會發生動態變化.以帶寬為例,造成帶寬動態變化的原因主要有兩個方面:其一是隨著用戶的動態接入和離開,競爭瓶頸帶寬用戶數目的動態變化使得用戶可用帶寬相應地發生變化;另一方面,則是由無線信道的動態變化造成接收信號強度等參數的變化.而 WiFi和蜂窩鏈路在鏈路層均采用了自適應調制編碼(adaptive modulation coding,簡稱 AMC)機制,隨著信號強度參數的變化,物理層采用的調制和編碼機制也會相應地改變,使得接入帶寬相應地發生變化.
· 在移動性方面,WiFi、蜂窩鏈路、衛星鏈路都會出現隨著用戶和網絡基礎設施間的相對運動,鏈路動態地連通和斷開.而隨著鏈路的連通和斷開,現有的通過多路徑傳輸對鏈路通斷狀態的感知滯后,使得多路徑傳輸效率不高.在鏈路斷開后聯通的發現方面,MPTCP在超時鏈路上會繼續采用TCP指數退避的方式調整超時時間并重傳數據包,收到確認后則認為鏈路重新連通.然而,超時時間的指數退避的方式使得無法及時發現鏈路的連通并進行數據傳輸[22].
2)網絡進行路由選擇時并未考慮終端的多路徑傳輸特性
在相同的源和目的節點之間,網絡中往往有多條可達路徑,路由設備常常會采用多路徑路由算法來平衡各條路徑之間的負載,以提高網絡鏈路利用率.其中,ECMP(equal cost multipath routing)是工程上常用的負載均衡多路徑路由機制.ECMP根據相關算法計算出來的代價相等的多條路徑,根據流IP地址和端口號信息進行hash之后,將流隨機地分配到不同路徑上.
然而,由于ECMP無法獲得各條子流是否屬于同一個MPTCP流,在進行hash時將可能出現多條子流分配到同一段路徑進行傳輸的情況.如果這些子流共用了瓶頸路徑,則難以發揮 MPTCP的優勢.同時,ECMP在進行流的分配時僅僅做到了將不同路徑的流按照數量盡可能地平均,并未考慮流的持續時間等問題,因此仍然會有負載不均衡問題.此外,ECMP僅支持在多條代價相等(通常是代價相等且均為最優)的路徑間進行負載均衡,通常并不對代價次優的路徑進行選擇.
3)上層應用中,不同數據的重要性有差異
端到端多路徑傳輸需要為上層各種類型的應用提供服務,不同應用對多路徑傳輸有不同的需求.對于大文件傳輸而言,多路徑傳輸只需要確保在文件傳輸過程中提供較高的平均帶寬即可;而對于網頁這種小文件傳輸來說,常見的評估指標是頁面加載時間,該時間越短越好;對于視頻點播業務,服務器端已經存儲了數據文件,客戶端只需通過一段時間的預加載之后就開始邊下載邊看,為了避免客戶端卡頓,多路徑傳輸需要提供較為平滑的聚合帶寬;實時流媒體則是要求預加載時間更短,而且視頻源數據是以一定比特速率產生的,因此對傳輸過程中每個數據包的時延抖動容忍度更小.網頁類小文件、按需流媒體和實時流媒體的業務特點給多路徑傳輸的路徑選擇、數據分配等方面都提出了更高的要求.
同時,應用層的數據在重要性方面往往也存在較大的差異,如果在進行多路徑傳輸時,將不同重要性的數據包封裝成相同的傳輸層數據段而不加區分地進行傳輸,則會導致應用層數據傳輸效率的問題.以 H.264視頻編碼文件傳輸為例,為了壓縮視頻源文件大小,H.264標準對視頻文件進行了相關性編碼.I幀和P幀是兩種常見的編碼后幀類型,其中,I幀是那些能夠獨立進行解碼的幀,而P幀通常需要依賴于I幀才能進行解碼,一個I幀之后往往會有若干數量的P幀.I幀一旦丟失,就意味著后續一系列P幀無法解碼,因此在H.264編碼的視頻文件中,I幀的重要性要高于P幀,在進行多路徑傳輸時,需要當對二者進行區別對待.
4)不同網絡接口具備不同的能耗特點,而且能耗和接口帶寬之間存在非線性關系
對 WiFi接口和蜂窩網絡接口而言,二者具有完全不同的能耗特點.其中,蜂窩網絡接口具有尾能耗特性[23].對于開啟的蜂窩網絡接口而言,在進行傳輸時,接口處于高能耗狀態,而傳輸結束后的一段時間,接口仍然會有一段較長時間處于高能耗狀態,之后才切換為空閑狀態.對于 WiFi接口而言,則不會在傳輸的結束后仍然帶來較高的能量消耗.因此在進行數據分配時,需要結合接口能量特點,將蜂窩網絡接口的尾能耗特性考慮進來.
在數據中心場景下,根據文獻[24,25]對多路徑傳輸能耗測量的結果,往返時延大的子流耗能更高;同時,在多條子流共用瓶頸路徑時,也會帶來更多不必要的能量消耗.因此在進行擁塞控制、數據分配時,應當優先考慮往返時延小的子流,并且避免共用瓶頸路徑.
從理論分析角度來看,根據香農信道容量公式,用戶的信道容量和接收方信噪比的對數成正比,使得在進行接口資源分配時,能耗和用戶性能兩個目標互相沖突,需要定義新的目標函數對二者進行權衡,并在新的目標函數的指導下進行多路徑傳輸的資源分配、子流選擇等方面的優化.
端到端多路徑傳輸跨層優化研究分類如圖2所示.后文將按照圖2所示的結構逐一展開介紹.按照研究目標,端到端多路徑傳輸跨層優化研究首先可以分為兩類:第1類是以提高帶寬,降低傳輸時延為目標;第2類是在提升系統性能的同時,降低系統能耗.
· 圍繞第1類目標,相關研究分別結合了物理層、鏈路層、網絡層、應用層信息進行了多路徑傳輸的優化.在利用物理及鏈路層信息方面,主要包括 3個方面:鏈路通斷狀態的感知、鏈路參數的估計與預測和與資源分配的協同;在利用網絡層信息方面,主要是利用網絡層信息進行子流的路由選擇;在利用應用層信息方面,主要包括3個方面:截止時間和重要性感知、失幀率感知和結合應用層文件大小.
· 圍繞第2類目標,相關研究主要結合了物理層、應用層進行多路徑傳輸的優化:在利用物理層信息方面,
主要利用了物理接口的能耗特點;在利用應用層信息方面,主要結合了應用的失真率需求和帶寬需求.

Fig.2 Classification for end-to-end multipath transmission research with cross-layer optimization圖2 端到端多路徑傳輸跨層優化研究分類
在進行多路徑傳輸時,需要準確感知鏈路狀態信息以及鏈路的無線資源分配方式的特點,以更好地提升多路徑傳輸性能.利用物理及鏈路層信息進行鏈路狀態信息感知主要包括兩個方面:其一是鏈路通斷狀態的感知,其二是鏈路參數的估計與預測.在與無線資源分配方式進行協同時,主要結合鏈路的無線資源分配方式的特點對子流選擇、擁塞控制等方面進行調整,從而達到單個終端或者全網性能的提升.
端到端多路徑傳輸通過獲得鏈路通斷狀態的信息來實現對子流連接管理的優化.底層鏈路通斷狀態信息可以通過數據鏈路層或物理層獲得.
對于數據鏈路層,主要是利用鏈路層的重傳信息進行鏈路通斷狀態的感知.為了獲得鏈路層的重傳信息,一種方式是直接修改數據鏈路層,每重傳 1個包就記錄下來供上層讀取;另一種方式則是直接讀取數據鏈路層的相關參數,例如對于802.11系列協議,可以直接讀取其MIB庫中[26]的dot11FailedCount和dot11retrycount,前者記錄了發送后沒有傳輸成功的幀的數目,后者記錄了經過 1次或者對此重傳之后發送成功的幀的數目,二者求和能夠得到所有重傳幀的數目的計數.
利用鏈路層的重傳信息進行鏈路通斷狀態的感知的相關研究主要有文獻[22,27].文獻[22]對實際的安卓終端進行了測量,發現雖然用于終端切換發現的信號強度變化較大,但是數據鏈路層的重傳率和鏈路通斷關系有較強的關聯性.所以在進行鏈路通斷狀態感知時,文獻[22]在判斷當前發送速率為終端最低發送速率之后,首先統計鏈路重傳率,在重傳率超過一定閾值之后記錄信號強度,并依據記錄的信號強度進行鏈路狀態判斷鏈路的通斷狀態.文獻[27]考慮到切換過程中可能會出現的高丟包的情況,在切換過程中采用在多條子流傳輸相同數據的方式提高可靠性.為了避免在網絡中傳輸過多的冗余數據,文獻[27]在不發生切換的過程中,采用單條子流進行數據傳輸.在采用多條子流和采用單條子流兩種模式進行切換時,以鏈路層重傳率作為判斷指標:當鏈路層重傳率高于一定閾值之后,采用多條子流同時進行數據傳輸的模式;當鏈路重傳率低于一定閾值并且并且穩定之后,則采用單條子流單獨進行數據傳輸的模式.
在物理層,主要是利用信號強度進行鏈路通斷狀態的感知.該方面的相關研究主要有文獻[28-31].其中,文獻[28]利用當Wifi信號強度連續小于一定閾值達到一定時長之后,開始進行切換;文獻[29]利用采用切換前后信號強度是否相差超過一定閾值來進行切換判決,并且根據信號強度估計鏈路可用帶寬并相應地對傳輸層擁塞窗口進行設置以提升傳輸性能;文獻[30]對信號強度、可用帶寬進行歸一化,基于歸一化之后的值進行切換判決和選擇;文獻[31]將機器學習引入到MPTCP的子流選擇當中,基于信號強度、往返時延、吞吐率、同一個區域干擾AP的數目構造隨機決策森林,根據決策森林的輸出結果對子流進行選擇.文獻[28,29]在進行切換時僅僅考慮了鏈路的信號強度,其優勢在于算法較為簡單;然而由于考慮的參數較少,難以有效地提升切換性能.文獻[30]在進行切換時將多個參數考慮進來,文獻[31]在進行機器學習時同時考慮了歷史信息.文獻[30,31]在切換算法的復雜度上相對較高,帶來的優勢是切換性能的提升更加明顯.
不同子流所經過的鏈路在帶寬、時延等方面差異度大且動態變化,使得不同子流的數據包亂序地到達接收方,在接收緩存受限的情況下,亂序程度越高對發送聚合帶寬影響越大,并且發送速率慢的子流還會抑制發送速率快的子流.有效的數據分配和選擇路徑狀態好的子流是確保高聚合帶寬的兩種主要方法.二者都需要以每條子流的端到端路徑參數(包括帶寬、往返時延、丟包率)作為優化依據,因此需要對鏈路參數進行更加準確的估計和預測.
為了應對端到端傳輸往返時延動的動態變化,文獻[32-34]對時延估計方法及多路徑傳輸數據分配進行了修改.其中,文獻[32]基于鏈路誤幀率計算出鏈路層的平均時延以及對應的端到端往返時延,并基于改進后的往返時延進行數據分配.文獻[32]適用于鏈路誤幀率較高、對端到端延時影響比較明顯的場景.文獻[33]將卡爾曼濾波器引入對端到端傳輸時延的預測中,相應地也基于預測后的時延進行數據分配.文獻[34]在文獻[33]的基礎上同時以往返時延和帶寬進行聯合的卡爾曼濾波預測,將預測出來的帶寬和往返時延同時作為數據分配算法的輸入.和文獻[33]相比,文獻[34]的預測輸入參數更多,從而提高了預測的準確度.文獻[33,34]采用卡爾曼濾波對傳輸參數進行預測,比文獻[32]適用范圍更廣.
為了應對端到端傳輸帶寬的動態變化,文獻[35-38]對帶寬估計方法及多路徑傳輸子流選擇或者數據分配進行了修改.文獻[35-37]基于鏈路層的誤幀率以及端到端往返時延,利用經典TCP吞吐率理論計算公式估計可用傳輸帶寬,并將可用傳輸帶寬作為鏈路質量的評估指標,在感知到接收方緩存發生阻塞時,及時在發送方刪除鏈路質量差的路徑,從而降低質量差路徑對接收方亂序情況的影響.文獻[35-37]都需要以準確的誤幀率和往返延時為基礎,同時,在TCP版本上僅僅適用于標準TCP.隨著TCP版本的變化,需要相應地對吞吐率模型加以調整.文獻[38]利用 LTE,HSPDA+網絡在物理層的特點,即基站根據終端返回的信號強度 CQI信息調整傳輸塊大小,在基站側利用傳輸塊信息計算用戶下行帶寬并據此進行數據分配.文獻[39]根據WiFi和WIMAX鏈路層的傳輸時長估計不同路徑傳輸帶寬,并根據傳輸帶寬比例在各條路徑分配數據.和文獻[35-37]相比,文獻[38,39]則需要更多的物理層信息,在參數獲取的復雜度方面要更高.
無線資源分配主要是指無線傳輸中對頻率、時隙等資源的分配.現有的移動通信或者WiFi網絡通常具有鏈路多速率的特點,如果將過多地時間片分配給低速率終端,則會使系統整體吞吐率降低,因此在多路徑傳輸需要合理地對并發傳輸的子流進行選擇,從而在確保終端傳輸性能的同時保持較高的系統整體吞吐率.文獻[40,41]設計了系統整體性能最優的比例公平效用函數,并通過集中求解得到了每個終端應當和哪些基站建立連接,從而達到系統整體最優.和文獻[40,41]不同,文獻[42,43]則是以單用戶總體性能為目標.其中,文獻[42]在其不同子流所經過的AP的鏈路速率并不相同而且會產生相互干擾時,通過調整不同子流的流量分配將更多的流量分配到鏈路速率高的AP上.文獻[43]針對同時使用移動通信和WiFi網絡的MPTCP和僅使用WiFi網絡的TCP的下行流在競爭帶寬時TCP流搶得更多帶寬的問題,通過調整AP側針對MPTCP流和TCP流的丟包率,使兩種類型的流的丟包率大致相等,來實現MPTCP下行流和TCP下行流競爭帶寬時的公平性.
在 WiFi系統中,上下行的流量需要共同競爭可用傳輸時間,二者相互之間會產生影響.這一特點對于需要傳輸ACK報文的TCP來說表現更為明顯,TCK ACK和TCP DATA同時競爭無線時間片,使得用戶發送TCP DATA的時間片降低,用戶的吞吐率也相應地降低.文獻[44,45]提出了在多接口終端將WiFi接口的TCP ACK信息轉移到用戶的另一個蜂窩網絡接口進行發送,從而既利用了蜂窩網絡接口本來已經固定分配的無線資源,同時還提高了WiFi接口可用于數據發送的時間,從而整體地提高了多路徑傳輸聚合帶寬.
端到端多路徑傳輸與物理及鏈路層相結合的研究方案主要從鏈路通斷狀態感知、鏈路參數估計與預測、與無線資源分配的協同這 3個方面開展優化.各研究方案的對比見表1.從表中可以看出,鏈路通斷狀態感知主要用于優化多路徑傳輸的連接管理模塊,鏈路參數估計與預測主要用于優化多路徑傳輸的數據分配和子流選擇模塊,而與無線資源分配的協同主要用于優化多路徑傳輸的數據分配、子流選擇以及擁塞控制模塊.在進行鏈路通斷感知時,采用物理層的信號強度相對而言要比采用鏈路層的重傳率更為及時,但是由于信號強度會不斷地發生變化,需要確保獲得的信號強度能夠及時、準確地反映出當前無線鏈路的狀態.并且目前鏈路通斷感知和鏈路參數估計與預測主要采用的是終端測量的方式,終端測量出來的鏈路相關參數通常會比較滯后,需要進一步與當前網絡狀態相關參數進行結合,以提高預測結果的準確性.

Table 1 Comparison of research schemes which combine end-to-end multipath transfer with physical and mac layer schemes表1 端到端多路徑傳輸與物理及鏈路層相結合的研究方案對比
結合網絡層的跨層優化的主要目標是為多路徑傳輸的各條子流選擇合適的路徑,并確定合適的子流數目.為了實現該目標,主要包括3個模塊:首先是子流關系的識別模塊,即辨別出屬于同一條多路徑傳輸的多條子流,基于此,才能為各條子流選出合適的路徑;其次是路由調整模塊,即基于什么協議在路由器執行算法的計算結果;最后是子流的路由和子流的數目計算模塊.在完成了算法設計之后,各個研究在各自設計的應用場景下進行了算法驗證.
子流關系的識別主要有3類,包括:1)終端直接識別;2)網絡根據MPTCP建連時的選項進行識別;3)網絡根據MPTCP的序列號映射關系選項進行識別.
1)終端直接識別
這類方案的特點是在網絡基礎設施之上架設代理,而終端可以獲得所有可用的代理信息,等價于終端獲得了網絡中的路由信息,并且可以進一步通過代理的選擇來決定數據包的走向.此時,終端在建立連接時就已經知道子流之間的相互關系,下一步則是進行代理的選擇.相關研究工作具體包括文獻[46-48].
2)網絡根據MPTCP建連時的選項進行識別
MPTCP的連接建立時序圖如圖3所示.該圖對應的是一個有2個IP地址的客戶端向一個有2個IP地址的服務器端獲取網頁時的連接建立過程[13].MPTCP采用fullmesh的方式進行連接的建立,相應地也就建立了4條子流.如圖3所示,這4條子流建立過程有先后順序:首先,通過在第1對IP地址建立連接是通過MP_CAPABLE標識雙方均支持MPTCP并進行第1條連接的建立;在收到第1條連接建立完成的ACK之后,客戶端通過IP 2和服務器IP 1再進行第2條連接建立;當客戶端收到服務器通過IP 1發來有MP_ADDR選項的數據包之后,進一步分別通過客戶端的 IP 1和 IP 2與服務器的 IP 2建立連接,此時建立連接的選項中均有 MP_JOIN.根據MPTCP連接建立過程,網絡側識別出第 1次建立連接的 MPTCP_CAPABLE選項以及后續增加連接的MP_JOIN選項之后,就能判斷出各條子流是否屬于同一條流.相關研究工作具體包括文獻[49,50]等.

Fig.3 Sequence chart for MPTCP connection setup with two source addresses and two destination addresses[13]圖3 MPTCP在2個源地址和2個目的地址之間采用fullmesh方式建立連接的時序圖[13]
3)網絡根據MPTCP的序列號映射關系選項進行識別
第 3類的方案是根據 MPTCP數據包中所包含的連接層序列號和子流層序列號之間的映射關系.因為MPTCP建連的控制信息只在建立連接時通過少量數據包進行傳輸,文獻[51]考慮到網絡在進行采樣時可能會沒有采樣到這些數據包,進一步利用相同MPTCP連接不同子流在連接層序列號上一般會覆蓋相同的區間范圍但是并不相交的特點對子流間的關系進行識別.
由于需要根據終端的多路徑傳輸特點進行相應地路由選擇,現有研究通常基于可靈活修改路由器策略的協議進行.主要基于的方案包括SDN(software defined networking)、MPLS(multiprotocol label switching)、LISP(locator/identifier separation protocol)和源路由.
文獻[49,50]等研究采用基于SDN的方式進行協同,其主要思路是,利用SDN控制器和交換機之間交互的消息來輔助進行子流關系識別,并利用SDN集中控制的特點進行子流路由表的下發.SDN通常的工作方式是通過集中的控制器對網絡路由進行管理,在路由器上,通過流表的方式對數據包進行匹配和轉發.當流表中沒有與當前數據包的匹配條目時,數據包被分裝成packet in報文并發送給控制器.此時,控制器SDN控制器需要為數據包計算路徑并通過packet out下發給路由器.為了支持對不同子流關系的識別,在控制器收到packet in報文之后,還需要識別其中的MPTCP選項,根據MPTCP選項識別出子流的關系,并相對應地進行流表的下發.由于packet in報文只有在數據包無法匹配時才會產生,為了避免其他流表項的模糊匹配造成路由器不發送packet in報文,要求控制器在下發流表時的粒度比較細,最好是為每一條流或者每一對IP地址對設置相應的流表項.
基于MPLS的方案有文獻[52].MPLS基于標簽為數據包進行選路.在數據包進入支持MPLS的網絡時,邊界路由器打上相應的標簽,網絡中其他路由器根據打上的標簽進行選路.在數據包出MPLS網絡后,標簽相應地被刪除.和 SDN類似,在MPLS協議基礎上,也需要有相應的設備集中搜集網絡設備的狀態信息,并根據狀態信息下發標簽,并與終端進行交互.由于MPLS并沒有類似SDN的發送packet in報文的機制,需要對路由器進行相應的修改,以根據前述3種方案中的一種進行多路徑子流關系的發現.
采用LISP的方案有文獻[53,54].LISP本身并沒有提供修改網絡路由的方案,但在邊緣網絡具有多個出口的場景下,LISP能夠同時通過其邊界路由器進行傳輸.
采用源路由的方案有文獻[55].源路由一般首先需要通過一定量的消息交互來發現路由,然后通過終端在IP包頭中指定每一跳所經過的路由器進行具體選路.與SDN、MPLS的方案相比,源路由在進行路由發現時的代價更高,路由發現報文會給網絡帶來更大的負擔.
在進行子流的路由選擇時,主要的研究方案有兩類.
· 第 1類是只根據路由可達性為子流進行選路,具體包括文獻[49,53,55,56].這類研究的主要目標是為不同子流選擇鏈路不相交的路徑,以避免傳輸過程中不同子流共用瓶頸路徑的問題.以文獻[49]中的算法為例,算法首先計算最短路徑,之后將最短路徑刪除后重新計算一條最短路徑.其他文獻中采用了類似的選路算法,包括僅僅選出k條不相交路徑[55]、選出k條不相交路徑的同時使最小帶寬路徑最大[56].
· 第2類是在進行選路或者子流選擇的同時考慮鏈路負載.當網絡中可以提供的路徑比多路徑傳輸子流數目多時,文獻[57,58]根據每條路徑上的負載信息優先選擇負載較輕的路徑分配給各條多路徑傳輸的子流.文獻[59]選出帶寬差異較小且帶寬較高的子流進行傳輸.文獻[60,61]在進行路由選擇時,同時考慮了上層應用的需求.其中,文獻[60]從所有子流中逐步刪除可用帶寬最小的,直到上層應用帶寬得到滿足;文獻[61]根據上層業務的優先級比例分配可用的路徑和鏈路帶寬資源.
在進行算法驗證時,上述研究采用了不同的應用場景,主要包括簡單拓撲、隨機拓撲、數據中心拓撲、廣域網拓撲和衛星網絡拓撲.其中,文獻[49,52]采用了較為簡單的網絡拓撲,主要特點是,雖然包括路由節點數目相對較少,但是在源和目的節點之間有多條可達路徑,通過在給定網絡拓撲中進行多路徑傳輸和只采用單條路徑的傳輸進行對比,突出了多路徑傳輸的優勢.文獻[56]中在進行實驗驗證時采用了隨機拓撲,隨機拓撲中節點相對于簡單拓撲而言數目更多,在源節點和目的節點直接的可達路徑也更多.
采用數據中心網絡拓撲的研究包括文獻[57,58,62,63],其采用的拓撲包括 FatTree、Jellyfish、Dual-homed Jellyfish、Bcube.數據中心網絡中路徑冗余度高,并且源節點和目的節點之間的多條可達路徑的計算有規律可循.同時,由于近年來數據中心的研究相對較多,數據中心的常見的流量類型也有較多的可用選擇.文獻[56]采用了實際廣域網的拓撲結構,包括CERNET2、Abilene、Internet 2.這類拓撲本身都具有多條可達路徑,能夠為多路徑傳輸實驗驗證提供基礎.采用這類拓撲進行算法的驗證也能提高算法的說服力.文獻[55]采用了衛星網絡中銥星的拓撲.在銥星的拓撲中,每個衛星與周圍的 4個相鄰衛星相連,通過衛星相互之間建立的鏈路形成衛星網絡,從而達到對地球覆蓋的目標.采用銥星拓撲對多路徑傳輸進行驗證,適用于那些將多路徑傳輸應用場景設置為衛星網絡的研究.
端到端多路徑傳輸與網絡層相結合的研究方案包括子流關系識別、子流路由調整機制以及子流路由選擇這3大模塊,并且基于不同的應用場景進行驗證.各研究方案的對比見表2.在進行子流路由選擇時,主要有平衡網絡負載、多路徑用戶不共用瓶頸或聚合盡可能多帶寬、滿足用戶應用的需求這3大類目標.在子流路由計算時,有集中式和分布式兩種.集中式的子流路由計算主要在統一的控制器中進行,分布式的子流的路由計算主要發生在終端或者路由器上.由于集中式的計算方式能夠拿到更多的信息,在子流路由選擇的結果上更容易挑選出對于子流而言質量更好的路徑.不過,在路由計算的可擴展性方面,分布式的計算方式要比集中式的計算方式要好.在應用場景拓撲方面,主要包括4種:簡單拓撲、廣域網拓撲、數據中心拓撲以及銥星拓撲.其中,后3種拓撲要比第1種更加接近實際環境,并且可選擇的端到端路徑也比第1種要多,更適合用于相關研究方案的驗證.在子流路由選擇滿足用戶需求方面,現有的研究主要針對的是具有一定帶寬需求的業務,而對目前被廣泛采用的碼流動態自適應的流媒體業務考慮較少.碼流動態自適應的流媒體業務具有根據網絡狀況動態調整視頻碼率的特點.該特點有待于進一步與網絡層相關技術進行結合以提高多路徑傳輸性能.

Table 2 Comparison of research schemes which combine end-to-end multipath transfer with network layer schemes表2 端到端多路徑傳輸與網絡層相結合的研究方案對比
傳統的多路徑傳輸所針對的上層業務主要是大文件傳輸.在大文件傳輸過程中,每個數據包之間沒有相關性,也沒有嚴格的截止時間要求,多路徑傳輸所需實現的主要目標就是盡可能地提高多路徑傳輸平均聚合帶寬.而視頻點播、實時流媒體等業務在進行多路徑傳輸時,對多路徑傳輸的各項基本功能提出了更高的要求,需要結合應用層的特點進一步開展多路徑傳輸的優化.相關研究主要分為3類:第1類是截止時間和重要性感知,第2類是失真率感知,第3類是結合應用層文件大小.
如果多路徑傳輸能夠感知到數據包的截止時間等信息,則可以相應地接收端調整向上層應用遞交數據的策略和在發送的調整數據分配方式,以提高整體傳輸效率.對于應用層已經超過播放時間的數據包而言,如果再耗費時間進行重傳或者等待該數據包的到達,將導致已經到達接收方的數據包無法及時向上層遞交,從而引發后續數據包連續發生超過播放時間的問題.因此,需要在數據包截止時間之前及時向上層遞交.PR-SCTP[59]中設計了部分可靠機制,應用層數據包的生存時間被攜帶到傳輸層 SCTP的報文中,當發現當前發送的數據包已經超過了其生存時間后,不再對該數據包進行重傳并且通知接收方將當前期望接收的下一個數據包序列號指針向后移動.PR-CMT[66]將 PR-SCTP部分可靠的機制應用于多路徑并發傳輸中,并利用已經超過生存時間的包的確認來調整擁塞窗口.PR-MPTCP+[67]將部分可靠性應用于 MPTCP協議中,通過新的部分可靠選項進行是否支持部分可靠功能的協商,在檢測到網絡擁塞造成的丟包時,只對沒有超過生存時間的數據包且優先級最高的數據包進行重傳.PR-CMT和PR-CMT主要利用了應用截止時間特性,而文獻[68]在利用截止時間的同時考慮了優先級特性,在 MPTCP檢測到網絡發生擁塞時,通過主動丟棄低優先級數據包來保證高優先級包的傳輸.同時,在接收方為數據包設置了緩存時間閾值,當接收方緩存時間超過緩存時間閾值之后,直接將接收方緩存的數據包向上遞交,并回復相應的ACK.
應用層的數據在重要性方面往往也存在較大差異(如H.264視頻編碼文件中的I幀和P幀),如果多路徑傳輸能夠感知到數據包的重要性差異等信息,則可以結合各條子流的傳輸特點相應地對其數據分配策略進行調整,以提高整體傳輸效率.從編碼方式上看,在MPEG-2和H.264/AVC編碼中,主要的幀類型有I幀、P幀、B幀.I幀能夠獨立進行解碼,而P幀,B幀則需要依賴I幀才能夠成功解碼,所以I幀的重要性要高于P幀和B幀.H.264/SVC編碼利用視頻在時間、空間、信噪比等方面的可擴展特性將視頻分成多層進行編碼,接收方收到的編碼層級越高,接收方所看到的視頻質量就越高.而高層級的碼流在進行解碼時需要依賴于低層級的碼流,因此,低層級的碼流的重要性要高于高層級碼流.
在面向數據包重要性差異的多路徑傳輸優化方面,文獻[69]以應用層時延允許的生存時間為數據分配單位,在這個時間內,發送方首先將一系列I幀、P幀保存下來,按照各條路徑的時延帶寬積比例分配數據,并且將I幀優先分配丟包率低的路徑.文獻[70]的數據分配單位視頻編碼基本單位,即一組數據幀GoP(group of picture),算法先將I幀、P幀以及B幀分配放入兩個隊列中,同時將路徑根據丟包率從低到高排序,首先從隊列1中讀取I幀、P幀,并通過丟包率最低且能確保數據幀按時到達接收方的路徑發送,在I幀、P幀分配完之后再分配B幀.文獻[71]將文獻[70]的算法應用在SVC視頻幀的數據分配中.文獻[72]從理論上通過求解整數規劃的方式得到了改進后的數據分配算法.該數據分配算法結合數據包發送時間、接收時間、H.264視頻編碼中I幀、P幀、B幀的關系進行數據分配.改進的數據分配算法和MPTCP數據分配算法進行對比后的結果表明,改進的數據分配方式能夠明顯提升傳輸性能.
視頻幀具備一定的抗誤碼特性,利用這個特性能夠為多路徑傳輸提供更大的優化空間.視頻幀的抗誤碼特性具體體現在少量視頻幀的丟失能夠通過前后幀的補償進行恢復,同時,視頻幀部分區域的誤碼或者丟失從用戶的直觀感受上影響可能并不大.失真率(distortion rate)[73]用來衡量接收到的視頻幀與源視頻幀相比的視頻質量損失.失真率隨著視頻編解碼方式的不同以及用戶在觀看完源視頻和接收到的視頻的直觀感受,往往有著不同的計算方式.在多路徑傳輸的場景下,相關研究將失真率引入之后作為總體優化的目標函數,通過調整數據包分配方式、重傳策略、冗余程度等方式來最小化失真率.相關研究可以分為沒有考慮幀類型差異和考慮了幀類型差異兩種.
· 在沒有考慮幀類型差異的相關研究中,進行數據包分配、重傳策略、冗余度等方面的調整時不對不同類型的幀加以區分.文獻[73]中采用的視頻失真率函數中,視頻失真率隨著視頻源碼率的增加而減少,隨著誤碼率的增加而降低.將該失真率函數引入到多路徑視頻傳輸后,將鏈路丟包和超過播放時間的丟包聯合考慮成路徑丟包,構造了以最小化失真率函數為目標、以視頻幀源碼率為決策變量的最優化問題,通過求解最優化問題得到了視頻發送的碼率.文獻[74]采用了和文獻[73]相同的失真率函數,而在決策變量上,在考慮視頻源碼率的同時,將 LTE和 WCDMA物理及鏈路層中的調制編碼方式(modulation coding scheme)和擴頻因子(spreading factor)同時加入為決策變量,并設計了啟發式算法,在確保視頻幀能夠按時解碼的同時,按照視頻源碼率、調制編碼方式(modulation coding scheme)和擴頻因子(spreading factor)依次決定相應決策變量的取值.文獻[75,76]也采用了和文獻[73]相同的失真率函數,在決策變量上加入了前向糾錯(forward error correction)冗余度的計算,通過求解以最小化失真率函數為目標的最優化問題,得到了視頻源速率和冗余度的分配結果.
· 在考慮幀類型差異的相關研究中,隨著幀的重要性不同,在進行數據包分配、重傳策略、冗余度等方面的調整時也有所不同.文獻[77-81]在現有失真率函數基礎上進一步考慮了由于幀一部分包丟失帶來的截斷失真以及漂移失真的影響.增加了截斷失真、漂移失真的失真率函數能夠更有效地反映出幀丟失對失真率的影響.文獻[77]針對全網用戶開展優化,文獻[78-81]的優化則針對單一用戶進行.文獻[77]通過離線擬合的方式得到考慮截斷失真、漂移失真的失真率函數的相關系數.并建立了以最小全網所有用戶的失真率為目標,以決定每個幀的數據包的分配路徑的整數優化問題,通過求解得到了每個用戶的視頻源碼率和數據包分配方式.文獻[78,79]均通過在線模擬幀丟失以及并進行幀解碼,幀差錯恢復后,將源視頻和解碼視頻進行對比來估計失真率函數.文獻[78]基于估計出的失真率分別以幀為單位對I幀進行增加冗余和以若干個P幀為一組對P幀增加冗余.文獻[79]以估計出的失真率作為馬爾可夫決策過程的目標來調整擁塞窗口的變化,同時,在進行數據分配時感知到I幀、P幀的重要性差異后,發送方帶寬不足時優先丟棄優先級較低的P幀.文獻[80]通過函數乘積的方式將漂移失真加入失真率函數中,基于相應的失真率函數,計算了采用Raptor編碼的冗余度,并且根據由往返時延、丟包率、帶寬、路徑可用性組成的路徑質量指標進行數據分配.文獻[81]在基于失真率函數計算Raptor編碼的冗余度的同時,通過馬爾可夫決策過程進行數據分配,決策過程的回報效用函數同時考慮了失真率和視頻速率.在數據包重傳時,將重傳包通過最短時延的路徑發送,并且對可以通過冗余編碼進行恢復的數據包不進行重傳.
文獻[82]通過在實際 WiFi和蜂窩網絡的測量結果表明,文件大小將直接影響到多路徑傳輸的性能.在文件較小且鏈路差異度較大的情況下,文件通過多路徑傳輸所需的時間有可能反而高于通過單路徑傳輸的時間.
在此基礎上,文獻[23]設計了基于回歸森林的多路徑傳輸子流選擇算法.算法的數據包括歷史搜集到的網絡狀態信息、對應的文件通過各條子流進行傳輸所需時間以及同時通過多條子流進行傳輸所需時間.算法根據歷史數據構造回歸森林,在進行實際傳輸時,根據當前網絡狀態,通過回歸森林進行子流選擇決策.文獻[83]根據固定文件大小閾值進行區分:當文件大小大于閾值時,在多條路徑進行并發傳輸;當文件大小小于閾值時,則將文件冗余地發送給各條路徑,并在數據中心網絡場景中進行了驗證.文獻[83]簡單地根據文件大小進行算法調整,更適用于鏈路參數差異較小的數據中心場景,難以適用于鏈路參數差異度大的場景.文獻[23]在算法設計時考慮了更多的輸入參數,并且利用了歷史數據,使得算法的適用場景更多,其代價是算法復雜度更高.
視頻點播、實時流媒體等業務給多路徑傳輸基本功能帶來了更高的要求,相關研究主要從截止時間、重要性差異、失真率、應用層文件大小這4個方面開展優化.端到端多路徑傳輸與應用層相結合的研究方案對比見表3.從表3中可以看出,截止時間主要影響的是可靠性;重要性差異主要用于優化數據分配/子流選擇以及可靠性;失真率主要用于優化數據分配/子流選擇、可靠性以及擁塞控制;應用層文件大小主要用于子流選擇的優化.現有的研究在進行多路徑傳輸時對應用層具備不同特點的數據包加以區別對待,從而提升了多路徑傳輸性能.由于要對不同的應用層數據包加以區分,面向字節流、完全可靠的多路徑傳輸的編程模型已不再適用,現有的研究往往針對各自的應用特點分別對傳輸層內核進行修改,而沒有設計更加通用的傳輸層編程接口,使得相關研究難以快速地大規模部署.

Table 3 Comparison of research schemes which combine end-to-end multipath transfer with application layer schemes表3 端到端多路徑傳輸與應用層相結合的研究方案對比
終端節能問題一直以來都是研究的熱點.終端同時開啟多個網絡接口進行多路徑傳輸后,在端到端傳輸性能得到提升的同時,也相應地帶來更多的能量消耗.由于不同子流往往具有不同的能耗特點,因此,面向節能的優化為多路徑傳輸引入了新的研究問題.相關研究工作主要可以分為兩類:其一是結合物理層的節能優化,主要是結合物理層不同網絡接口的能耗特點進行數據分配、網絡接口開關等方面的優化;其二是結合應用層的節能優化,即在以節能為優化目標的同時,將應用層失幀率或者帶寬需求作為約束條件考慮進來.
物理層接口能耗具有如下 4個方面的特點:1)接口開啟時間越長,能耗越高;2)蜂窩網絡接口在不同狀態下能耗不同,且在傳輸完之后仍然保持一段時間高能耗狀態[23];3)往返時延大的子流耗能更高,同時在多條子流共用瓶頸路徑時,也會帶來更多不必要的能量消耗[24,25];4)物理層的功率分配和用戶得到帶寬關系可以通過理論公式進行估算.
· 針對特點1,文獻[85]通過動態地開關多塊WiFi網卡來實現在確保性能的同時降低能耗,并考慮終端可以通過多塊網卡同時關聯多個AP的場景.該文獻利用多塊網卡在網絡性能上的相關性,利用正在工作的網卡的性能預測未關聯網卡的性能,根據預測結果以及當前正在工作的網卡利用率是否高于一定閾值來決定是否需要開啟其他網卡.
· 針對特點2,文獻[23]利用機器學習預測上層業務的傳輸時間,在上層業務傳輸時間較短時,不通過蜂窩網絡接口而直接采用WiFi接口進行數據傳輸.
· 針對特點3,文獻[24,25]在確保多路徑傳輸TCP友好的情況下,通過動態調整多路徑聯合擁塞控制算法的相關比例因子,將多路徑傳輸更多的負載調整到往返時延小的子流上.同時,文獻[25]利用共用瓶頸路徑子流在RTT的相關性的特點進行共用瓶頸子流的發現,并及時關閉多余子流.
· 針對特點4,文獻[86,87]為了權衡吞吐率和能耗兩個方面的目標,將全網傳輸每比特數據所消耗的能量作為總的優化目標.文獻[86]通過求解優化目標,得到每個終端應當和哪個基站相關聯以及該分配多少資源給對應的終端.文獻[87]進一步考慮了信號強度信息 CSI的動態變化,根據最優化問題的求解和CSI的信息,動態地調整各個多路徑傳輸終端在各條子流上應當分配的數據量.
視頻類應用對多路徑傳輸提出了更高的實時性要求,為此,需要同時量化各個接口的實時性需求和能耗需求.相關研究可以分為針對單個終端和針對全網用戶的多路徑視頻傳輸優化兩類.
· 對于單個終端的多路徑視頻傳輸方案來說,定義了優化目標之后,往往能夠通過調整子流的選擇以及子流流量的分配來達到滿足視頻實時性需求和低能耗需求的兩個目標.其中,文獻[88]主要針對視頻點播業務開展研究,按需視頻傳輸當客戶端緩存文件小于一定閾值后,客戶端需要停止播放等待緩存文件達到一定大小后再繼續播放,此時,相對應地增加了播放總時間.因此,文獻[88]以播放總時間來量化按需視頻業務的實時性要求:首先求解最小化播放總時間為目標的最優化問題,在求出了最小播放總時間之后,再將最小播放總時間作為約束條件求解最小化能量消耗為目標的最優化問題,進而得到子流數據分配方案.文獻[89]針對實時流媒體業務開展研究,其將實時視頻傳輸類業務的性能指標考慮為視頻傳輸的失真度,通過建立以能量為約束條件之一,最小化視頻失真度的最優化問題并進行求解得到子流的數據分配和能量分配方案.文獻[90]在文獻[89]的基礎上考慮到物理信道的時變特性,建立了在能量約束下最小化隨機化的視頻質量指標問題,通過求解得到子流的數據分配和能量分配方案.文獻[91]針對自適應碼流的視頻類業務傳輸開展研究,將能耗和視頻的失真率進行比例求和后作為優化的目標函數;同時,在接口能耗模型上考慮了蜂窩網接口處于不同傳輸狀態時的能耗差異,通過求解目標函數得到了視頻主要應當采用的編碼速率、每條子流傳輸的數據分配方式.文獻[93-97]針對實時視頻傳輸類業務開展研究,將視頻實時性需求作為約束條件之一,以最小化能量消耗作為目標函數建立最優化問題.其中,在將實時性需求作為約束條件方面,文獻[92]的約束條件為最小應當達到的凈吞吐率;文獻[93-96]的約束條件為最小應當達到的失真率.在求解過程中,文獻[92-96]均求出了每條子流應當分配的傳輸速率.此外,文獻[92]還計算出每條子流采用 FEC編碼時應當采用的冗余度.文獻[93,94]在文獻[92]的基礎上采用Raptor編碼,并且為I幀、P幀分別增加不同的冗余度.
· 對于全網多路徑視頻傳輸的節能問題而言,除了每個終端在各條子流調整傳輸帶寬之外,還需要在多個用戶之間的資源分配上進行協同,以達到系統性能和能耗兩方面的綜合提升.文獻[97]將全網多路徑視頻傳輸的節能問題建模為以最大化多個用戶中的最小吞吐率和能量比為目標,將視頻傳輸所需要的帶寬作為約束條件之一.為了得到分布式的資源分配方式,首先通過引入一個參數將比值型的目標函數調整為減法型的目標函數,進而通過求解拉格朗日對偶得到分布式的能量、帶寬分配算法.
以節能為目標的相關研究主要通過結合物理層接口的能耗特點以及應用層的業務需求兩個方面開展多路徑傳輸的節能優化,主要研究方案對比見表4.從表4中可以看出,上層業務主要可以分為文件業務、視頻點播業務、實時流媒體業務這 3類.各個研究的優化對象主要有全網用戶和單一用戶兩種:針對全網用戶的優化主要是結合接口能耗特點以及業務需求對多接口資源分配或者擁塞控制機制進行修改;針對單一用戶的優化中,結合文件類業務特點優化的主要是多路徑傳輸的擁塞控制機制以及接口開關策略,結合視頻點播和實時流媒體業務特點優化的主要是可靠性、數據分配以及多接口資源分配或者擁塞控制.能耗模型選取和優化目標的制定是以節能為目標的跨層優化的主要難點.基于實際測量結果擬合出來的能耗模型更加準確,已經逐步被用于多路徑傳輸各個功能的優化.而基于理論計算出來的能耗模型由于表達方式較為簡潔,目前主要用于多路徑傳輸資源分配相關功能的優化.

Table 4 Comparison of research schemes which use energy saving as the optimization goal表4 端到端多路徑傳輸以節能為目標的研究方案對比
在應用場景上,需要研究應用于空間互聯網的多路徑傳輸.目前,多路徑傳輸的主要應用場景包括在異構無線移動網絡和數據中心網絡.近年來,隨著火箭發射成本的降低,空間互聯網再次成為各方關注的焦點.空間互聯網具備了更多的覆蓋手段,相同的物理位置能夠同時被位于不同高度的低軌、中軌、高軌衛星重疊覆蓋,這也使得空間互聯網適合采用多路徑傳輸技術.與此同時,空間互聯網具有高誤碼、大時延、鏈路差異度大、切換頻繁等特點,也給多路徑傳輸帶來了新的挑戰.目前,關于空間互聯網的多路徑傳輸還相對較少,未來應進一步圍繞多路徑傳輸關鍵技術優化以及實際環境下的傳輸性能測量與分析開展研究.
在跨層優化方面,應當進一步與各層新興技術進行深入融合,具體包括如下面幾個方面.
1)與新的物理及鏈路層關鍵技術進行協同
802.11 協議族一直都在不斷地更新物理及鏈路層技術,以達到更高地無線接入速率.如802.11n協議中鏈路層的信道綁定、幀聚合以及物理層的 MIMO技術,802.11ac協議中的信道綁定以及 MU-MIMO技術,802.11n以及 802.11ac物理及鏈路層的技術改進也需要新的鏈路層自適應調制編碼機制.新的物理及鏈路層技術進展可以通過與應用層、接口能耗特點相結合加以體現.與此同時,目前主要的多路徑傳輸相關研究主要還是基于蜂窩網絡和WiFi網絡兩大類的無線接入技術開展研究,新的底層接入技術層出不窮,如毫米波通信、電力線通信等,雖然已經有少量研究將這些底層接入技術納入到多路徑傳輸當中,如文獻[98,99],未來仍有待于進一步加強.
2)與新型網絡技術的深入融合
為了應對上層多種多樣的業務需求,5G網絡中采用基于SDN/NFV的網絡切片技術,將物理網絡切分為適合不同應用特點的網絡切片.網絡運營商需要根據其需要定義一系列的切片,而終端也需要根據其自身業務特點在切片之間進行選擇[100].與此同時,具備多接口的終端還能同時感知到多個運營商不同的網絡切片,需要根據上層業務特點以及網絡切片的負載狀態進行合理的選擇和數據分配.
3)面向360°VR/AR視頻應用的多路徑傳輸
隨著用戶觀看的角度的不同,360°VR/AR視頻應用將不同的視頻流呈現給用戶,從而帶來更好的用戶體驗.這類應用的推出帶來了對網絡更高的帶寬和時延需求.利用多路徑傳輸進行 360°VR/AR視頻的傳輸,能夠通過有效聚合多條鏈路的帶寬來滿足其對網絡更高的需求.同時,360°VR/AR視頻應用在視頻編碼方式[101]以及用戶體驗方面的特點,也給多路徑傳輸帶來了新的優化空間.
4)多層之間優化方案的協同
根據目前綜述的相關文獻,相關應用層和節能的優化主要還是應用層、傳輸層以及鏈路層之間的相互協同,與網絡層的協同較少,沒有有效地發揮網絡層的優勢和特點.例如,對于具有廣播特性的網絡(如無線mesh網絡)而言,能夠通過網絡編碼來進一步提高傳輸性能和可靠性.網絡層多路由特性、組播/廣播等特點,都應當能夠通過與其他層改進方案的協同來進一步提升多路徑傳輸的性能.
在多路徑傳輸性能評估方面,需要在實際環境中進行全面的測量與分析.目前,關于多路徑傳輸測量,相關研究采用的主要是安卓和筆記本終端,并通過安裝MPTCP協議的現有實現進行測量與分析,如文獻[82,91,102].本文中綜述的大部分論文的相關驗證或者是在仿真環境中進行的,或者是在人為設定鏈路參數的半實物環境中進行的,還缺乏有真實流量的環境的驗證.與此同時,iphone從ios 11開始搭載MPTCP協議,這也為在iphone上進行多路徑傳輸的測試提供了可能.
本文首先從端到端多路徑傳輸的基本功能出發,分析了其面臨的主要挑戰;然后,從體系結構各層的功能特點及其與多路徑傳輸基本功能的關系著手,并考慮了將節能作為新的優化要素,對近年來利用跨層信息的多路徑傳輸相關研究進行了較為系統和全面的比較和分析.
通過比較可以發現,多路徑傳輸的基本功能的實現離不開各層信息的獲取和協同,多路徑傳輸能夠感知到的信息越多,它能夠帶來的優化空間也就越大.本文還結合當前體系結構各層的研究熱點對未來研究趨勢進行了展望,為相關研究人員下一步研究的開展提供了一個可供參考的思路.