欒明君 王濤 李志 曹孝元
(1.中國電子科技集團(tuán)公司第十五研究所 北京市 100083 2.北京跟蹤與通信技術(shù)研究所 北京市 100094)
隨著移動通信、衛(wèi)星通信技術(shù)的發(fā)展,以及無線傳感網(wǎng)絡(luò)的豐富,未來信息網(wǎng)絡(luò)對通信機(jī)動性的需求越來越高。并且對于一些專用網(wǎng)絡(luò),還存在長短波通信手段,因此為實現(xiàn)端到端跨網(wǎng)的可靠高效信息通信,必須充分考慮無線環(huán)境下的通信適配問題。首先,對于大部分無線網(wǎng)絡(luò)場景,其帶寬遠(yuǎn)低于有線網(wǎng)絡(luò),并且存在信道衰減、環(huán)境干擾等因素影響,造成傳輸?shù)母邥r延、時斷時續(xù)、丟包等共性問題,無線信道實際吞吐量遠(yuǎn)遠(yuǎn)低于其最大傳輸速率,且不同鏈路存在較大帶寬差異和傳輸特性,例如衛(wèi)星通信支持2Mbps,各類短波通信支持1.2Kbps~10Kbps 等。同時,由于無線通信鏈路會受到多種因素的影響,可能存在非對稱鏈路或單向鏈路。因而傳輸系統(tǒng)必須根據(jù)不同網(wǎng)絡(luò)特點適配傳輸才可以達(dá)到最好效能。其次,利用無線環(huán)境進(jìn)行通信時,短、超短、衛(wèi)星通信、數(shù)據(jù)鏈等多種鏈路綜合運用中,不可預(yù)期的通信鏈路使用需求和時效性需求,導(dǎo)致傳統(tǒng)的人工切換不能滿足應(yīng)用需求,需要傳輸系統(tǒng)臨機(jī)籌劃使用多種通信鏈路,即鏈路綜合籌劃問題。因此,面向未來網(wǎng)絡(luò)在實時性、準(zhǔn)確性和靈活性上的通信需求,需要針對無線邊緣信息服務(wù)系統(tǒng)設(shè)計穩(wěn)定的傳輸優(yōu)化策略,具備窄帶弱連接條件下的容錯與適應(yīng)優(yōu)化能力。本文主要介紹利用網(wǎng)絡(luò)編碼和多徑傳輸兩種技術(shù)手段來提升無線網(wǎng)絡(luò)中的可靠高效通信能力。
網(wǎng)絡(luò)糾錯編碼已成功地應(yīng)用于各種通信系統(tǒng)中[1]。目前在數(shù)據(jù)傳輸中,主要有三種誤碼控制的方法,即自動請求重發(fā)(ARQ)、前向糾錯(FEC)和混合糾錯(HEC)方式。糾錯碼通過在源端對數(shù)據(jù)信號進(jìn)行編碼,例如增加冗余碼元、冗余數(shù)據(jù)包等方式,再將編碼后的信號發(fā)送出去,這樣在接收端能夠根據(jù)編碼規(guī)則進(jìn)行解碼,從而自行發(fā)現(xiàn)并糾錯,即譯碼過程。
網(wǎng)絡(luò)糾錯編碼最大的應(yīng)用在無線網(wǎng)絡(luò)中。無線網(wǎng)絡(luò)不同于有線網(wǎng)絡(luò),其信道的不可靠性造成傳輸信號的隨機(jī)誤碼,從而引起更高的丟包。這將導(dǎo)致基于傳統(tǒng)擁塞控制協(xié)議的網(wǎng)絡(luò)的連續(xù)降速和不斷重傳。通過在無線網(wǎng)絡(luò)中使用網(wǎng)絡(luò)糾錯編碼,可以對網(wǎng)絡(luò)信道進(jìn)行補(bǔ)償,從而大大提升網(wǎng)絡(luò)傳輸可靠性。
在編碼理論中,噴泉碼(也稱為無碼率抹除碼)是一類抹除碼[2],主要應(yīng)用于大規(guī)模數(shù)據(jù)分發(fā)和可靠信號廣播等場景。噴泉碼的主要原理是基于一定的編碼規(guī)則從一組源符號中產(chǎn)生一串理論上可以無限多的編碼符號序列,在接收端,只需要獲得一定數(shù)量(大于等于源符號數(shù)量)的任意編碼符號子集,便可通過譯碼算法恢復(fù)源符號。
目前可實際使用的噴泉碼主要有兩類:LT 碼和Raptor 碼[3]。LT 碼是第一個可實現(xiàn)的噴泉碼,Raptor 碼通過在LT 碼的基礎(chǔ)上加入預(yù)編碼階段,將編解碼的時間復(fù)雜度降為線性,但加入了額外的開銷,因而對于窄帶網(wǎng)絡(luò)而言,需要在效率和復(fù)雜度方面做權(quán)衡?;贚T/Raptor 的噴泉碼,在發(fā)送端以數(shù)據(jù)包為基本單位進(jìn)行編碼,編碼通常基于一定的概率隨機(jī)分布(如魯棒孤波分布)。具體的,通過一定的編碼規(guī)則(如對隨機(jī)數(shù)量個數(shù)據(jù)包進(jìn)行異或操作),將k 個原始數(shù)據(jù)包生成編碼后的編碼分組,過程中源節(jié)點無需接收反饋信號,并且理論上可以源源不斷的產(chǎn)生編碼數(shù)據(jù)包和持續(xù)發(fā)送。而接收端只要收到k(1+ε)個編碼數(shù)據(jù)包便有較高概率成功譯碼并恢復(fù)全部原始數(shù)據(jù)包,ε 稱為冗余度。當(dāng)接收端成功完整的接收到所有源數(shù)據(jù)包后向發(fā)送端反饋ACK,發(fā)送端停止發(fā)送。
噴泉碼的工作過程可以形象地用如下比喻解釋。源節(jié)點S 如同噴泉一般源源不斷產(chǎn)生水滴(編碼后的數(shù)據(jù)包),并不停地滴向一個(端到端)或多個水桶K(多播或廣播)。每個水滴是噴泉中一些數(shù)據(jù)包的隨機(jī)組合,隨機(jī)選擇保證了每次發(fā)送的信息對接收節(jié)點是有用的。桶在裝滿水之后(接收足夠數(shù)量的水滴),即可達(dá)到飲用(成功譯碼)的目的,而不必關(guān)心具體是哪一滴水(編碼分組)流入桶中。精心設(shè)計的數(shù)字噴泉碼不僅擁有很小的譯碼開銷ε,而且具有簡單的編譯碼方法和很小的編譯碼復(fù)雜度。同時噴泉碼還可以有效提高信道容量,使得網(wǎng)絡(luò)更加健壯。
本文在LT 碼基礎(chǔ)上,在編碼和解碼過程中,根據(jù)實際場景做出相應(yīng)的改進(jìn),以提升編解碼策略的效率,具體的方案如下:
定義每個源數(shù)據(jù)包為輸入符號,每個編碼后的數(shù)據(jù)包為輸出符號。
定義LT 碼的度分布ρ(d)(d≥1):一個輸出符號結(jié)點的度等于d 的概率。
(1)在發(fā)送端將k 個原始輸入數(shù)據(jù)包作為一組,按魯棒孤波分布Ω(稱為編碼度分布),在1~k 范圍內(nèi)隨機(jī)選取一個整數(shù)d(d稱為編碼的度);
(2)在k 個原始數(shù)據(jù)包中隨機(jī)選取d 個不同包。除了隨機(jī)選取的d 個數(shù)據(jù)包,再加入當(dāng)前對應(yīng)序列號的數(shù)據(jù)包,之后對d+1 個包做異或操作,以保證所有的原始數(shù)據(jù)包均能在編碼后的數(shù)據(jù)包中體現(xiàn)和包含,消除隨機(jī)產(chǎn)生的不確定性,減少因隨機(jī)性帶來的原始數(shù)據(jù)包信息缺失而造成的接收端解碼失敗。
(3)編碼后,數(shù)據(jù)報頭加入編碼過程中使用的隨機(jī)函數(shù)生成種子,在接收端利用該種子恢復(fù)隨機(jī)函數(shù),這樣可大大減少為了解碼而需要在數(shù)據(jù)報頭中攜帶的信息,從而極大的減少了控制報頭開銷,提升了傳輸效率。
LT 碼的譯碼算法有兩種,BP(后向傳播)譯碼算法和GE(高斯消元)譯碼算法,本方案中我們采用后者。高斯消元譯碼可以通過求解多元一次方程的形式得出矩陣的可行解,相比BP 譯碼具有更簡潔的代碼實現(xiàn)和可操作性。
本文提出的網(wǎng)絡(luò)糾錯編碼技術(shù)的應(yīng)用范圍主要可以概括為如下幾個方面:
(1)在有線和無線網(wǎng)絡(luò)上進(jìn)行高速大文件傳輸。基于噴泉碼的傳輸基于UDP 協(xié)議[4],傳輸效率高,并且速率不受反饋信號影響,適用于大帶寬的文件傳輸。
(2)無反饋信道的可靠數(shù)據(jù)多播或廣播。由于無需處理反饋信息,可支持任意數(shù)量的用戶增長。
利用無線環(huán)境進(jìn)行通信時,短、超短、衛(wèi)星通信、數(shù)據(jù)鏈等多種鏈路綜合運用中,不可預(yù)期的通信鏈路使用需求和時效性需求,導(dǎo)致傳統(tǒng)的人工切換不能滿足應(yīng)用需求,需要傳輸系統(tǒng)臨機(jī)籌劃使用多種通信鏈路[5]。
針對某些無線邊緣網(wǎng)絡(luò)或者無線終端存在多種無線通信方式,如某些通信節(jié)點同時裝備衛(wèi)星通信終端以及短波通信終端,同時多種通信方式可能存在時斷時續(xù)的情況,提出采用多徑傳輸技術(shù),在點到點的傳輸中使用多徑傳輸技術(shù)將數(shù)據(jù)在多條路徑中按比例分片傳輸加快傳輸速度或者在多條路徑同時傳送相同數(shù)據(jù)提高數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
在邊緣網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)發(fā)送時,限于邊緣網(wǎng)絡(luò)的帶寬和穩(wěn)定性,為了使得端對端的數(shù)據(jù)傳輸速率更高、可靠性更好,此時,應(yīng)用層網(wǎng)絡(luò)根據(jù)上層應(yīng)用的需要,根據(jù)實時網(wǎng)絡(luò)拓?fù)溥壿嬫溌芬约案鱾€鏈路的網(wǎng)絡(luò)負(fù)載情況,選擇多條較優(yōu)的傳輸鏈路,從而實現(xiàn)端對端數(shù)據(jù)的多路徑同步高速傳輸,如圖1所示。
圖1:多徑傳輸示意圖
圖1中位于節(jié)點1 的用戶的上層應(yīng)用通過應(yīng)用層傳輸協(xié)議獲取了部分網(wǎng)絡(luò)拓?fù)浜螅l(fā)出請求獲取位于節(jié)點6 的內(nèi)容服務(wù)器上的內(nèi)容,此時傳輸層應(yīng)用協(xié)議給出了兩條并行的傳輸鏈路,一條為1->3->5->6,一條為1->2->4->6,兩條鏈路的帶寬分別為100M bps 和10M bps,位于節(jié)點6 的應(yīng)用層傳輸協(xié)議獲取數(shù)據(jù)后,可按照兩條路徑的帶寬比例將數(shù)據(jù)分成兩個部分,分別選擇相應(yīng)的路徑進(jìn)行消息傳遞,即帶寬更大的路徑傳輸更多的數(shù)據(jù)部分。節(jié)點1 同時接受來自兩條路徑的數(shù)據(jù)并整合,從而通過同時利用多條傳輸路徑,大大提高了傳輸效率。另一方面,當(dāng)某條路徑因網(wǎng)絡(luò)不穩(wěn)定導(dǎo)致傳遞過程中斷后,在多條路徑中可選擇另一條路徑進(jìn)行消息傳遞,提供給節(jié)點1 的上層應(yīng)用,從而提高了傳輸?shù)目煽啃浴?/p>
多徑傳輸可進(jìn)一步與網(wǎng)絡(luò)編碼結(jié)合,在發(fā)送端基于噴泉碼進(jìn)行編碼,并同時在多條路徑上組播發(fā)送,一方面提高了傳輸效率,另一方面也提高了編碼效率。
本文針對無線不穩(wěn)定網(wǎng)絡(luò),設(shè)計穩(wěn)定的傳輸優(yōu)化策略,具備窄帶弱連接條件下的容錯與適應(yīng)優(yōu)化能力,主要包括利用網(wǎng)絡(luò)編碼和多徑傳輸兩種技術(shù)手段來提升無線網(wǎng)絡(luò)中的可靠高效通信能力?;诟倪M(jìn)的LT 碼對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行編解碼,可在無需反饋的情況下實現(xiàn)大文件在不穩(wěn)定網(wǎng)絡(luò)下的可靠傳輸。基于多徑傳輸技術(shù),并結(jié)合網(wǎng)絡(luò)編碼技術(shù),可同時利用多條傳輸路徑對原數(shù)據(jù)進(jìn)行分片、分路同步傳輸,提高了傳輸效率和可靠性。