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

圖1:多徑傳輸示意圖
圖1中位于節(jié)點(diǎn)1 的用戶的上層應(yīng)用通過應(yīng)用層傳輸協(xié)議獲取了部分網(wǎng)絡(luò)拓?fù)浜螅l(fā)出請(qǐng)求獲取位于節(jié)點(diǎn)6 的內(nèi)容服務(wù)器上的內(nèi)容,此時(shí)傳輸層應(yīng)用協(xié)議給出了兩條并行的傳輸鏈路,一條為1->3->5->6,一條為1->2->4->6,兩條鏈路的帶寬分別為100M bps 和10M bps,位于節(jié)點(diǎn)6 的應(yīng)用層傳輸協(xié)議獲取數(shù)據(jù)后,可按照兩條路徑的帶寬比例將數(shù)據(jù)分成兩個(gè)部分,分別選擇相應(yīng)的路徑進(jìn)行消息傳遞,即帶寬更大的路徑傳輸更多的數(shù)據(jù)部分。節(jié)點(diǎn)1 同時(shí)接受來自兩條路徑的數(shù)據(jù)并整合,從而通過同時(shí)利用多條傳輸路徑,大大提高了傳輸效率。另一方面,當(dāng)某條路徑因網(wǎng)絡(luò)不穩(wěn)定導(dǎo)致傳遞過程中斷后,在多條路徑中可選擇另一條路徑進(jìn)行消息傳遞,提供給節(jié)點(diǎn)1 的上層應(yīng)用,從而提高了傳輸?shù)目煽啃浴?/p>
多徑傳輸可進(jìn)一步與網(wǎng)絡(luò)編碼結(jié)合,在發(fā)送端基于噴泉碼進(jìn)行編碼,并同時(shí)在多條路徑上組播發(fā)送,一方面提高了傳輸效率,另一方面也提高了編碼效率。
本文針對(duì)無線不穩(wěn)定網(wǎng)絡(luò),設(shè)計(jì)穩(wěn)定的傳輸優(yōu)化策略,具備窄帶弱連接條件下的容錯(cuò)與適應(yīng)優(yōu)化能力,主要包括利用網(wǎng)絡(luò)編碼和多徑傳輸兩種技術(shù)手段來提升無線網(wǎng)絡(luò)中的可靠高效通信能力。基于改進(jìn)的LT 碼對(duì)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行編解碼,可在無需反饋的情況下實(shí)現(xiàn)大文件在不穩(wěn)定網(wǎng)絡(luò)下的可靠傳輸。基于多徑傳輸技術(shù),并結(jié)合網(wǎng)絡(luò)編碼技術(shù),可同時(shí)利用多條傳輸路徑對(duì)原數(shù)據(jù)進(jìn)行分片、分路同步傳輸,提高了傳輸效率和可靠性。