余超群,蔡建國,宋道斌,陳 鋒
(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350108)
隨著移動互聯(lián)網(wǎng)業(yè)務(wù)的發(fā)展,移動數(shù)據(jù)業(yè)務(wù)量已呈現(xiàn)爆發(fā)式增長。在面對諸如視頻連麥、遠(yuǎn)程醫(yī)療、線上教育、安防監(jiān)控、直播等對畫質(zhì)、交互和延遲方面具有高要求的實(shí)時(shí)視頻業(yè)務(wù)時(shí),由于通信鏈路不穩(wěn)定、網(wǎng)絡(luò)擁塞、帶寬限制等因素,導(dǎo)致語音通話中斷、在線視頻卡頓、交流互動性變差、遠(yuǎn)程傳輸抖動等問題,種種限制及問題使得傳統(tǒng)的單路傳輸技術(shù)漸漸地不再能滿足于一些新興業(yè)務(wù)。面對這樣的網(wǎng)絡(luò)業(yè)務(wù)新趨勢,通過單一信道進(jìn)行實(shí)時(shí)視頻業(yè)務(wù)網(wǎng)絡(luò)傳輸?shù)母窬秩毕萑找婷黠@。如何在滿足實(shí)時(shí)視頻低延時(shí)、高畫質(zhì)的業(yè)務(wù)需求,保障用戶對視頻業(yè)務(wù)流暢、清晰的觀看體驗(yàn)成為亟待解決的問題。
鑒于上述問題,得益于異構(gòu)網(wǎng)絡(luò)融合技術(shù)的發(fā)展,多路并行傳輸技術(shù)已成為構(gòu)建未來可靠、低延時(shí)實(shí)時(shí)視頻傳輸通信系統(tǒng)的必然趨勢。在多路并行傳輸技術(shù)中,客戶端與服務(wù)器端可以同時(shí)利用多個(gè)通信鏈路進(jìn)行數(shù)據(jù)傳輸,當(dāng)其中一條通信鏈路處于惡劣環(huán)境,或者由于網(wǎng)絡(luò)突發(fā)狀況導(dǎo)致網(wǎng)絡(luò)擁塞時(shí),可以通過其他穩(wěn)定的多條鏈路并行傳輸,從而提高網(wǎng)絡(luò)傳輸效率和速度,減少傳輸時(shí)延,提升視頻傳輸?shù)男阅芎凸?jié)點(diǎn)間的連通性。多路并行傳輸技術(shù)不僅可以有效解決單路的網(wǎng)絡(luò)瓶頸問題,還可以提高可用通信鏈路的利用率,保障數(shù)據(jù)的安全性、可靠性和容錯(cuò)性,因此近些年來被廣泛地應(yīng)用于視頻會議、云計(jì)算、物聯(lián)網(wǎng)等領(lǐng)域。
國內(nèi)外學(xué)者針對多路并行傳輸技術(shù)及算法優(yōu)化進(jìn)行了大量的研究。其中,比較主流的是國際互聯(lián)網(wǎng)工程任務(wù)組在2009年提出的多路徑傳輸協(xié)議(MPTCP)。該協(xié)議基于傳統(tǒng)的TCP協(xié)議,允許通信系統(tǒng)同時(shí)利用多接口技術(shù)建立多個(gè)網(wǎng)絡(luò)路徑進(jìn)行數(shù)據(jù)傳輸,并且能夠自適應(yīng)地在多條路徑間調(diào)整數(shù)據(jù)流量,從而提升通信鏈路的傳輸效率和可靠性,提高網(wǎng)絡(luò)吞吐量,降低MPTCP服務(wù)中斷的風(fēng)險(xiǎn)[1]。但MPTCP有許多限制,容易受到不良環(huán)境的影響,在通信過程中,狀態(tài)不良的鏈路通常會對網(wǎng)絡(luò)速度產(chǎn)生巨大影響[2]。因此需要根據(jù)具體的應(yīng)用場景對MPTCP協(xié)議中的分流算法進(jìn)行優(yōu)化。
目前,國內(nèi)外學(xué)者針對MPTCP多路并行傳輸分流算法的優(yōu)化大體上分為兩類:一是擁塞控制算法,該部分的學(xué)者認(rèn)為,MPTCP歸根到底是基于TCP,所以擁塞控制是影響MPTCP多路并行傳輸性能的關(guān)鍵之一。該類算法主要集中在調(diào)整每個(gè)子流的傳輸速率,并將流量從較擁塞的路徑轉(zhuǎn)移到較不擁塞的路徑,從而提高吞吐量和鏈路利用率,如鏈接增加算法(LIA)[3]、機(jī)會鏈接增加算法[4]、平衡鏈接自適應(yīng)(Balia)[5]、加權(quán)拉斯維加斯(wVegas)[6]、mVeno算法[7]等。這些算法依賴于一個(gè)算法模型來控制每個(gè)子流的擁塞窗口(cwnd)的增加,以平衡它們的擁塞程度。二是路徑調(diào)度策略,該類算法被設(shè)計(jì)為在多條路徑上合理地分割數(shù)據(jù)包,以提升MPTCP多路并行傳輸性能[8],如最低RTT優(yōu)先(minRTT)調(diào)度器、基于約束的主動調(diào)度(CP)[9]、最高發(fā)送速率(HSR)、最大窗口空間(LWS)和最低時(shí)間/空間(LTS)算法[10]等調(diào)度策略。
但對于具有高帶寬、低延時(shí)通信要求的實(shí)時(shí)視頻傳輸應(yīng)用場景而言,針對MPTCP的擁塞控制算法由于需要管理多個(gè)子流進(jìn)行擁塞控制及其他額外工作,因此在某些情況下可能會引入額外延遲,導(dǎo)致數(shù)據(jù)傳輸?shù)乃俣茸兟?從而影響實(shí)時(shí)視頻的時(shí)效性[11]。其次,當(dāng)網(wǎng)絡(luò)帶寬不足時(shí),MPTCP的路徑調(diào)度策略無法保證各個(gè)子流保持穩(wěn)定并按照調(diào)度器預(yù)設(shè)置的權(quán)重進(jìn)行數(shù)據(jù)傳輸,這可能會導(dǎo)致一些通信鏈路的傳輸速率較慢,甚至丟失某些數(shù)據(jù)包,從而影響實(shí)時(shí)視頻的畫面質(zhì)量。最重要的是,實(shí)時(shí)視頻傳輸要求傳輸時(shí)間盡量短,因此需要將延遲降到最低限度。但是,由于MPTCP的重傳機(jī)制引入了延遲應(yīng)答機(jī)制來避免網(wǎng)絡(luò)中出現(xiàn)大量冗余數(shù)據(jù)包,導(dǎo)致確認(rèn)的延遲時(shí)間增加,影響視頻觀看的實(shí)時(shí)性。此外,實(shí)時(shí)視頻傳輸對網(wǎng)絡(luò)資源要求較高,如果出現(xiàn)數(shù)據(jù)包丟失,就需要進(jìn)行重傳。但是,MPTCP的重傳機(jī)制采用快速重傳和快速恢復(fù)機(jī)制,在網(wǎng)絡(luò)出現(xiàn)比較嚴(yán)重的擁塞或故障時(shí),可能會導(dǎo)致重傳次數(shù)增多,占用更多的網(wǎng)絡(luò)資源和系統(tǒng)帶寬,使得大量的數(shù)據(jù)包丟失,從而需要進(jìn)行多次重傳。但這又會導(dǎo)致系統(tǒng)占用更多的帶寬和系統(tǒng)資源,對網(wǎng)絡(luò)性能造成負(fù)面影響。
綜上所述,以TCP為基礎(chǔ)的MPTCP多路并行傳輸技術(shù)并不適合應(yīng)用在實(shí)時(shí)性強(qiáng)、連貫性要求高的實(shí)時(shí)視頻業(yè)務(wù)。與此相比,用戶數(shù)據(jù)報(bào)協(xié)議(UDP)具有傳輸速度快、實(shí)時(shí)性好等特點(diǎn),在數(shù)據(jù)傳輸過程中,不需要進(jìn)行握手和確認(rèn)等操作,因此傳輸時(shí)延較低,常被運(yùn)用于音頻、視頻、游戲等需要實(shí)時(shí)傳輸?shù)膱鼍癧12-14]。但UDP對于具有一定互動性要求的實(shí)時(shí)視頻傳輸而言,它盡力而為的傳輸方式,使得它在數(shù)據(jù)傳輸?shù)目煽啃院头€(wěn)定性方面存在不足。當(dāng)數(shù)據(jù)包出現(xiàn)丟失或損壞時(shí),由于無法進(jìn)行重傳,往往容易出現(xiàn)視頻卡頓、花屏等現(xiàn)象,影響用戶體驗(yàn)。且UDP沒有擁塞控制機(jī)制,當(dāng)網(wǎng)絡(luò)出現(xiàn)擁堵現(xiàn)象時(shí),可能會由于視頻數(shù)據(jù)包發(fā)送速度過快,進(jìn)一步加劇網(wǎng)絡(luò)擁堵,進(jìn)而影響傳輸效率和穩(wěn)定性。
為避免現(xiàn)有的多路并行傳輸技術(shù)在實(shí)時(shí)視頻領(lǐng)域上存在的不足,滿足實(shí)時(shí)視頻的低延遲、高畫質(zhì)需求,本文基于UDP,設(shè)計(jì)并實(shí)現(xiàn)了實(shí)時(shí)視頻多路并行傳輸?shù)目蚣?該框架既能滿足高可靠性和穩(wěn)定性要求,又滿足端到端整體時(shí)延短的要求?;诖丝蚣?提出快速鏈路動態(tài)感知的多路分流算法(FLDA),通過對鏈路間的網(wǎng)絡(luò)參數(shù)進(jìn)行建模,結(jié)合反饋包信息動態(tài)分配鏈路報(bào)文分流,在最大程度上提升了鏈路利用率,保證數(shù)據(jù)包在目標(biāo)時(shí)延內(nèi)到達(dá)接收端。
基于UDP實(shí)現(xiàn)可靠、安全的數(shù)據(jù)傳輸,通過引入有限次數(shù)據(jù)包重傳和基于反饋數(shù)據(jù)包的流量控制及擁塞控制,動態(tài)地根據(jù)網(wǎng)絡(luò)狀況對數(shù)據(jù)包丟失、網(wǎng)絡(luò)擁塞等異常情況進(jìn)行處理,提高UDP的可靠性和穩(wěn)定性[15-16]。設(shè)計(jì)了目標(biāo)延時(shí)約束下的快速鏈路動態(tài)感知分流算法,在多路并行傳輸模型中,報(bào)文分流主要包括鏈路選擇和報(bào)文分發(fā)。本文將各個(gè)鏈路的帶寬、端到端時(shí)延、目標(biāo)延時(shí)等網(wǎng)絡(luò)參數(shù)進(jìn)行建模[17-20],根據(jù)算法模型動態(tài)地調(diào)整報(bào)文分流,以適應(yīng)網(wǎng)絡(luò)拓?fù)浜土髁孔兓?并能夠快速地對異常數(shù)據(jù)包在滿足目標(biāo)延時(shí)的約束要求下進(jìn)行重傳,在保證用戶體驗(yàn)的同時(shí),實(shí)現(xiàn)鏈路利用率和時(shí)延之間的平衡。
實(shí)時(shí)視頻多路并行傳輸系統(tǒng)通常由視頻源、視頻編碼器、流媒體服務(wù)器、用戶服務(wù)器、視頻解碼器、用戶端組成,通過衛(wèi)星、LTE基站、IP網(wǎng)絡(luò)等方式進(jìn)行數(shù)據(jù)傳輸,如圖1所示。在該系統(tǒng)中,視頻源是產(chǎn)生視頻信號的設(shè)備,如攝像頭、采集卡等,它們負(fù)責(zé)采集視頻信號。視頻編碼器則是對視頻信號進(jìn)行編碼和壓縮,常見的編碼方式有H.264、H.265、VP9等,可以根據(jù)不同的場景和需求進(jìn)行選擇。流媒體服務(wù)器是該系統(tǒng)的核心設(shè)備,它可以接收來自不同視頻源的視頻流并存儲、轉(zhuǎn)發(fā)給用戶服務(wù)器。用戶服務(wù)器則是用于接收和緩存視頻數(shù)據(jù)的設(shè)備,一般會處于用戶和流媒體服務(wù)器之間,以提高視頻傳輸質(zhì)量和用戶體驗(yàn)。視頻解碼器是解碼和還原視頻信號的設(shè)備,它將編碼后的視頻流轉(zhuǎn)換為可視的圖像和聲音,通常被集成在用戶的終端設(shè)備上,如電腦、手機(jī)、平板等,以實(shí)現(xiàn)更加高清晰度、流暢、真實(shí)的視頻觀看體驗(yàn)。用戶端,則是指使用者觀看視頻的設(shè)備,如電腦、手機(jī)、平板等,用戶端通過與用戶服務(wù)器交互,從流媒體服務(wù)器獲取編碼后的視頻數(shù)據(jù)。
在該場景中,流媒體服務(wù)器和用戶服務(wù)器間的通信由衛(wèi)星鏈路、LTE鏈路和IP網(wǎng)絡(luò)三種不同類型的網(wǎng)絡(luò)構(gòu)成。系統(tǒng)框圖如圖2所示。其中,流媒體服務(wù)器通過不同的網(wǎng)絡(luò)建立多條鏈路進(jìn)行實(shí)時(shí)視頻數(shù)據(jù)傳輸,并通過接收端發(fā)送的反饋數(shù)據(jù)包信息,綜合分析鏈路當(dāng)前的網(wǎng)絡(luò)狀態(tài)、目標(biāo)時(shí)延、帶寬、端到端時(shí)延等因素,將數(shù)據(jù)包通過其中的一條或多條鏈路采用多路并行傳輸技術(shù)傳遞到用戶服務(wù)器。
該框架用于異構(gòu)網(wǎng)絡(luò)平臺下對實(shí)時(shí)視頻的端到端傳輸業(yè)務(wù),其目標(biāo)是在滿足目標(biāo)時(shí)延約束條件下最大化實(shí)時(shí)視頻用戶的體驗(yàn)質(zhì)量。其中發(fā)送端主要由三大模塊組成,包含數(shù)據(jù)包分配模塊、鏈路選擇與切換及數(shù)據(jù)包重傳模塊、參數(shù)控制模塊。由于實(shí)時(shí)視頻的特性,本文采用UDP傳輸數(shù)據(jù)。通過接收端的反饋模塊和發(fā)送端的參數(shù)控制模塊及數(shù)據(jù)包重傳模塊,提高UDP的可靠性和穩(wěn)定性。本文研究的主要內(nèi)容集中在FLDA框架下的數(shù)據(jù)包重傳和數(shù)據(jù)包分配模塊。FLDA將每個(gè)鏈路狀態(tài)建模為目標(biāo)時(shí)延、端到端時(shí)延、帶寬和網(wǎng)絡(luò)利用率的組合,通過參數(shù)控制模塊傳遞的數(shù)據(jù),實(shí)時(shí)計(jì)算并評估當(dāng)前子流的網(wǎng)絡(luò)狀態(tài),當(dāng)某一條鏈路出現(xiàn)網(wǎng)絡(luò)波動、擁堵或其他異常情況時(shí),快速地將異常鏈路上尚未確認(rèn)的數(shù)據(jù)包和尚未發(fā)送的數(shù)據(jù)包轉(zhuǎn)發(fā)至網(wǎng)絡(luò)狀況良好的鏈路,滿足數(shù)據(jù)包傳輸在目標(biāo)時(shí)延約束的情況下,充分地利用鏈路網(wǎng)絡(luò)資源,實(shí)現(xiàn)鏈路利用率最大化和端到端時(shí)延最小化。
在實(shí)時(shí)視頻多路并行傳輸場景中,結(jié)合當(dāng)前實(shí)際生活異構(gòu)互聯(lián)的網(wǎng)絡(luò)環(huán)境,采用異構(gòu)網(wǎng)絡(luò)融合技術(shù),使用戶端和服務(wù)器端可以使用多種不同或相同的網(wǎng)絡(luò),如LTE、IP網(wǎng)絡(luò)、WiFi等,建立多條鏈路進(jìn)行數(shù)據(jù)傳輸。本文所提算法以獲得基于鏈路狀態(tài)的最優(yōu)數(shù)據(jù)包重傳時(shí)間節(jié)點(diǎn),避免部分鏈路因網(wǎng)絡(luò)擁塞或某些突發(fā)狀況導(dǎo)致系統(tǒng)錯(cuò)誤判斷并重傳該鏈路上的數(shù)據(jù)包,使得該類鏈路的網(wǎng)絡(luò)資源得不到充分利用。同時(shí)又保證接收端的數(shù)據(jù)包能夠在滿足目標(biāo)時(shí)延的約束條件下,通過有限次的重傳恢復(fù)數(shù)據(jù)包,保障實(shí)時(shí)視頻傳輸?shù)牧鲿承院偷脱訒r(shí)性。
假設(shè)發(fā)送端到接收端傳輸數(shù)據(jù)包可以使用的鏈路有n條,每條鏈路的網(wǎng)絡(luò)狀態(tài)屬性都與端到端時(shí)延D、鏈路帶寬B、丟包率PLR、鏈路上傳輸?shù)臄?shù)據(jù)包數(shù)量M、網(wǎng)絡(luò)利用率U和目標(biāo)時(shí)延Latency有關(guān)。因此,每條鏈路的網(wǎng)絡(luò)狀態(tài)屬性都可由Si= {Di,Bi,PLRi,Mi,Ui,Latency},i= 1,2,…,n描述。其中,端到端時(shí)延D是衡量數(shù)據(jù)包交付情況和傳輸鏈路網(wǎng)絡(luò)狀況的一個(gè)關(guān)鍵要素,其是指數(shù)據(jù)包從發(fā)送端發(fā)送開始到接收端接收到該數(shù)據(jù)包的時(shí)間段,主要受傳播時(shí)延P、排隊(duì)時(shí)延Q和傳輸時(shí)延T影響。如式(1)所示:
Di=Pi+Qi+Ti,i=1,2,…,n。
(1)
(2)
而排隊(duì)時(shí)延的大小通常取決于數(shù)據(jù)包大小、節(jié)點(diǎn)的利用率和傳輸速度以及數(shù)據(jù)包周期性或突發(fā)性的發(fā)送方式。在實(shí)時(shí)視頻傳輸場景中,數(shù)據(jù)包通常是以一定的碼率進(jìn)行傳輸,故流量是連續(xù)性地到達(dá)節(jié)點(diǎn),因此排隊(duì)時(shí)延的大小可表示為:
(3)
鏈路相對時(shí)延即傳輸時(shí)延T,取決于發(fā)送數(shù)據(jù)的大小和鏈路網(wǎng)絡(luò)當(dāng)前的帶寬,即:
(4)
因此,聯(lián)立式(1)~(4)即得實(shí)時(shí)視頻多路并行傳輸?shù)趇路的數(shù)據(jù)包端到端時(shí)延公式:
(5)
在實(shí)時(shí)視頻多路并行傳輸系統(tǒng)中,影響實(shí)時(shí)視頻傳輸質(zhì)量和系統(tǒng)性能的往往是多路傳輸網(wǎng)絡(luò)中的瓶頸鏈路,即傳輸網(wǎng)絡(luò)i條鏈路中網(wǎng)絡(luò)狀態(tài)最差的鏈路。為了保證實(shí)時(shí)視頻的流暢性,使數(shù)據(jù)包在目標(biāo)時(shí)延Latency內(nèi)到達(dá)接收端,同時(shí)兼顧數(shù)據(jù)包有限次傳輸?shù)目煽啃?就需要為瓶頸鏈路考慮預(yù)留一段重傳時(shí)間Tre,使其整體的端到端時(shí)延滿足目標(biāo)時(shí)延的約束,即滿足:
(6)
式中:sign(MiL)為符號函數(shù)
(7)
針對不同的實(shí)時(shí)視頻傳輸業(yè)務(wù)類型,還需根據(jù)業(yè)務(wù)的實(shí)際情況和需求對多路并行傳輸系統(tǒng)的傳輸時(shí)延、丟包率和QoS等因素進(jìn)行約束,因此,本文的FLDA采用線性規(guī)劃手段將鏈路建模為當(dāng)前帶寬、端到端時(shí)延、網(wǎng)絡(luò)利用率及目標(biāo)時(shí)延的數(shù)學(xué)模型,通過求解這個(gè)線性規(guī)劃問題,可以得到當(dāng)前網(wǎng)絡(luò)允許的最大鏈路切換時(shí)間節(jié)點(diǎn),即得傳輸延時(shí)最小化的鏈路組合,目標(biāo)函數(shù)和約束條件如下:
(8)
式中:D0表示鏈路空閑時(shí)刻的端到端時(shí)延,即鏈路上傳輸?shù)臄?shù)據(jù)包無需經(jīng)歷排隊(duì)時(shí)延 ,τ表示一個(gè)可變值,它取決于實(shí)時(shí)視頻傳輸業(yè)務(wù)類型的端到端時(shí)延要求,如直播、遠(yuǎn)程會議、遠(yuǎn)程醫(yī)療等延遲要求分別為τ=(τ1,τ2,τ3)。由式(8)可知,在目標(biāo)延時(shí)的約束前提下,盡可能地利用鏈路網(wǎng)絡(luò)資源帶寬,在提高鏈路利用率和通過有限次重傳確保傳輸可靠性的要求下,瓶頸鏈路的最佳切換時(shí)間是有上限的。
但在數(shù)據(jù)包實(shí)際傳輸過程中,鏈路的網(wǎng)絡(luò)狀況是在不斷變化的,每個(gè)鏈路的實(shí)際帶寬、網(wǎng)絡(luò)利用率、端到端時(shí)延都不同且在不斷地變化,因此針對鏈路的數(shù)據(jù)包重傳最佳鏈路切換時(shí)間點(diǎn)Tre也是在不斷變化的。在此優(yōu)化問題的驅(qū)動下,本文提出的FLDA通過接收端的反饋數(shù)據(jù)包信息實(shí)時(shí)計(jì)算Tre,根據(jù)計(jì)算出的Tre和最后響應(yīng)時(shí)間Tlst進(jìn)行比較,如算法1所示。
算法1 動態(tài)鏈路狀態(tài)感知算法輸入 Di,Mi,L-,Bi,Ui,RTTi,D0,τ, Latencyi=1,2,…,n輸出 鏈路i的網(wǎng)絡(luò)狀態(tài)1)LinkState獲取鏈路i當(dāng)前狀態(tài)2)Tre根據(jù)獲取當(dāng)前時(shí)刻Tre的值3)Tlst獲取當(dāng)前時(shí)刻Tlst的值4) if LinkState==active_stable then5) if Tre>Tlst then6) Linkstateactive_unstable7) else if Tre=Tlst then8) Linkstateactive_wary9) else10) Linkstateactive_stable11) end if12)end if13)return Linkstate
Tlst是指當(dāng)前時(shí)刻距離上一次接收到反饋數(shù)據(jù)包的時(shí)間段,即:
Tlst=Currenttime-lstACKtime。
(9)
如果Tre>Tlst,表明該鏈路的網(wǎng)絡(luò)情況已經(jīng)不再適合傳輸數(shù)據(jù)包,需要將該鏈路上尚未收到確認(rèn)響應(yīng)報(bào)文的數(shù)據(jù)包轉(zhuǎn)移到狀況良好的鏈路上進(jìn)行重傳,以確保這些數(shù)據(jù)包能夠通過重傳在目標(biāo)時(shí)延內(nèi)到達(dá)接收端,如算法2所示。如果Tre 算法2 動態(tài)鏈路的多路分流算法輸入 LinkState, Trei,Tlsti i=1,2,…,n輸出 鏈路數(shù)據(jù)包分配權(quán)重ωi1) αi計(jì)算鏈路i的權(quán)重因子2)for i∈{1,2,…,n} do3) if (LinkState!=active_stable) then4) ωi=05) else 6) ωi=∑ni=1αiαi7) end if8)end for9)return ωi10)αi=TreiTlsti,i=1,2,…,n 為了驗(yàn)證FLDA在實(shí)時(shí)視頻多路并行傳輸系統(tǒng)動態(tài)網(wǎng)絡(luò)環(huán)境下的響應(yīng)能力,本文在增強(qiáng)UDP可靠性和穩(wěn)定性的基礎(chǔ)上,通過HoloWAN Network Emulator仿真儀器實(shí)現(xiàn)了FLDA,并通過與MPTCP進(jìn)行模擬實(shí)驗(yàn)對比,驗(yàn)證了FLDA在實(shí)時(shí)視頻傳輸場景下的可行性和穩(wěn)定性。 實(shí)時(shí)視頻多路并行傳輸系統(tǒng)的仿真實(shí)驗(yàn)場景如圖3所示。實(shí)時(shí)視頻通過編碼板將編碼后的視頻信息以一定的碼率傳輸?shù)铰酚善?路由器通過兩條不同的鏈路將編碼后的數(shù)據(jù)包進(jìn)行傳輸,并通過仿真儀發(fā)送到接收端,經(jīng)過解碼過程將原視頻展示在顯示器上。 圖3 實(shí)驗(yàn)環(huán)境示意圖Fig.3 Schematic diagram of experimental environment HoloWAN Network Emulator仿真參數(shù)如表1所示。鑒于當(dāng)前網(wǎng)絡(luò)高寬帶低延時(shí)的發(fā)展情形,本文的模擬實(shí)驗(yàn)將仿真鏈路的端到端時(shí)延設(shè)置為10 ms,瓶頸帶寬設(shè)置為100 Mbit/s。此外,鏈路數(shù)據(jù)包的具體端到端時(shí)延Di、鏈路帶寬Bi、鏈路利用率Ui等參數(shù)均為變值,在傳輸系統(tǒng)運(yùn)行過程中實(shí)時(shí)測量,其他值為不變參數(shù)。 表1 實(shí)驗(yàn)仿真參數(shù)Tab.1 Experimental simulation parameters 本文通過HoloWAN Network Emulator仿真評估了在Latency=120 ms的實(shí)時(shí)視頻多路并行傳輸場景下,基于UDP的FLDA相較于傳統(tǒng)MPTCP的優(yōu)勢。如圖4所示,結(jié)果顯示FLDA在減小端到端時(shí)延的方面有顯著改善。當(dāng)鏈路出現(xiàn)網(wǎng)絡(luò)擁塞等異常情況時(shí),如圖中MsgID在1 800附近出現(xiàn)的峰值,FLDA相較于MPTCP,可以通過動態(tài)鏈路感知,及時(shí)地調(diào)整鏈路的數(shù)據(jù)包分配,并將擁塞鏈路上的數(shù)據(jù)包通過其他鏈路進(jìn)行重傳,從而顯著地降低重傳數(shù)據(jù)包的端到端時(shí)延,故擁塞處的峰值變化遠(yuǎn)小于MPTCP。此外,圖中FLDA曲線出現(xiàn)的峰值個(gè)數(shù)遠(yuǎn)少于MPTCP曲線中出現(xiàn)峰值的個(gè)數(shù),表明FLDA相較于MPTCP在實(shí)時(shí)視頻多路并行傳輸場景下具有更強(qiáng)的穩(wěn)定性。 圖4 MPTCP對比仿真結(jié)果Fig.4 Simulation results compared to MPTCP 對FLDA中的Trei采用固定值與自適應(yīng)動態(tài)變化重新進(jìn)行實(shí)驗(yàn)對比,結(jié)果如圖5所示。與固定切換時(shí)間Trei相比,具有自適應(yīng)變化Trei的FLDA在降低擁塞鏈路上重傳數(shù)據(jù)包的端到端時(shí)延具有顯著改善。這表明合適的切換時(shí)間Trei對處理實(shí)時(shí)視頻多路并行傳輸過程中面臨的擁塞問題具有重要作用。如果Trei值不適當(dāng),鏈路的端到端延遲可能反而更長,如圖5中MsgID在400、800、1 300處的峰值紅線所示。 圖5 固定Tre對比結(jié)果Fig.5 Results compared to fixed Tre 本文針對現(xiàn)有的MPTCP在實(shí)時(shí)視頻傳輸方面的不足,提出并實(shí)現(xiàn)了一種基于UDP的高可靠性、低端到端時(shí)延的多路并行傳輸架構(gòu)和多路并行傳輸分流算法FLDA。為現(xiàn)有的實(shí)時(shí)視頻多路并行傳輸提供了新的實(shí)現(xiàn)方案,有效提升了在鏈路擁塞狀態(tài)下實(shí)時(shí)視頻的傳輸質(zhì)量和流暢性。 首先,針對實(shí)時(shí)視頻傳輸場景設(shè)計(jì)了基于UDP的多路并行傳輸框架,在發(fā)送端和接收端引入一些控制模塊和反饋模塊,并結(jié)合數(shù)據(jù)包有限次重傳,以提高該框架的可靠性和穩(wěn)定性。其次,將鏈路狀態(tài)建模為端到端時(shí)延、鏈路帶寬、丟包率等網(wǎng)絡(luò)因素的組合,采用基于鏈路狀態(tài)的FLDA實(shí)現(xiàn)數(shù)據(jù)包分配。通過優(yōu)化擁塞鏈路最佳切換時(shí)間,從而最小化重傳數(shù)據(jù)包端到端時(shí)延,可以得到基于目標(biāo)時(shí)延約束的最優(yōu)動態(tài)鏈路分配方案。通過仿真實(shí)驗(yàn)結(jié)果表明,該算法提升了動態(tài)環(huán)境下鏈路切換的響應(yīng)能力,具有更少、更短、更穩(wěn)定的重傳數(shù)據(jù)包端到端時(shí)延。4 實(shí)驗(yàn)?zāi)M與結(jié)果分析
4.1 測試場景
4.2 結(jié)果分析
5 結(jié)束語