, ,,
(1.中國(guó)電子科技集團(tuán)公司 第五十四研究所,石家莊 050081;2.微波散射通信專(zhuān)業(yè)部,石家莊 050081)
隨著“網(wǎng)絡(luò)中心戰(zhàn)”、“網(wǎng)電一體戰(zhàn)”[1]概念的提出,自組網(wǎng)在組網(wǎng)通信中扮演著越來(lái)越重要的角色,逐步成為當(dāng)前數(shù)字化戰(zhàn)場(chǎng)通信的首選裝備,是各國(guó)戰(zhàn)術(shù)互聯(lián)網(wǎng)的重要技術(shù)[2]。
在早期通信過(guò)程中,抗干擾多為設(shè)備級(jí)的抗干擾,一般認(rèn)為只要設(shè)備的抗干擾性能達(dá)到某種程度就自然解決了抗干擾問(wèn)題。而在自組網(wǎng)應(yīng)用環(huán)境中,客觀或人為的電磁干擾會(huì)直接影響傳輸路徑的建立和數(shù)據(jù)分組的發(fā)送,直觀地導(dǎo)致丟包現(xiàn)象的出現(xiàn),并且干擾范圍和強(qiáng)度的不規(guī)則性常常導(dǎo)致通信節(jié)點(diǎn)對(duì)之間路徑傳輸受到限制甚至產(chǎn)生路徑失敗。網(wǎng)絡(luò)層的入侵能夠在底層設(shè)備檢測(cè)正常的情況下造成傳輸路徑中斷、網(wǎng)絡(luò)癱瘓,進(jìn)而無(wú)法滿(mǎn)足上層業(yè)務(wù)對(duì)網(wǎng)絡(luò)的需求,具有很強(qiáng)的隱蔽性和破壞性。因此,在傳統(tǒng)物理層、鏈路層的抗干擾技術(shù)之外,研究網(wǎng)絡(luò)層相應(yīng)的抗干擾措施[3]具有十分重要的意義。
本文基于自組網(wǎng)實(shí)際應(yīng)用中的抗干擾、抗截獲需求,提出一種多路由冗余傳輸算法,融合多徑路由協(xié)議和冗余編碼的特點(diǎn),源節(jié)點(diǎn)處對(duì)數(shù)據(jù)包進(jìn)行冗余編碼,利用多徑路由發(fā)現(xiàn)的多條傳輸路徑并行傳輸編碼包,中間節(jié)點(diǎn)負(fù)責(zé)編碼包的轉(zhuǎn)發(fā),目的節(jié)點(diǎn)只需收到足夠數(shù)量的編碼包即可譯碼恢復(fù)出全部原始信息。
本文利用OPNET Modeler平臺(tái)對(duì)實(shí)際網(wǎng)絡(luò)環(huán)境進(jìn)行仿真建模,充分模擬通信過(guò)程中因電磁干擾而產(chǎn)生的丟包現(xiàn)象,以及在無(wú)線(xiàn)空間對(duì)鏈路的偵聽(tīng),測(cè)試通信節(jié)點(diǎn)對(duì)之間的數(shù)據(jù)傳輸情況與偵聽(tīng)節(jié)點(diǎn)的數(shù)據(jù)包偵收數(shù)量。試驗(yàn)表明,多路由冗余傳輸算法能有效降低干擾丟包帶來(lái)的影響,提高信息傳輸?shù)目煽啃裕鰪?qiáng)網(wǎng)絡(luò)的抗干擾和抗截獲性能。
本文提出的多路由冗余傳輸算法首先利用MP-OLSR(Multipath Optimized Link State Routing)[4]路由協(xié)議計(jì)算得到源節(jié)點(diǎn)到目的節(jié)點(diǎn)的多條傳輸路徑;當(dāng)有通信需求時(shí),源節(jié)點(diǎn)處對(duì)原始信息進(jìn)行冗余編碼,再利用計(jì)算得到的多條傳輸路徑并行傳輸編碼包,中間節(jié)點(diǎn)只負(fù)責(zé)數(shù)據(jù)包的轉(zhuǎn)發(fā);由于采用了冗余編碼,目的節(jié)點(diǎn)只需要接收到足夠數(shù)量的編碼包即可譯碼恢復(fù)出全部信息,無(wú)需接收全部編碼包,能有效抵抗干擾丟包給信息傳輸帶來(lái)的影響;另外,由于采用了多徑路由機(jī)制,即使敵方在無(wú)線(xiàn)空間內(nèi)的偵聽(tīng)到了某條鏈路的傳輸信息,也只能獲得部分編碼包,不足以恢復(fù)出完整的原始信息。多路由冗余傳輸算法框架圖如圖1所示。
圖1 多路由冗余傳輸算法框架圖
其中:①源節(jié)點(diǎn)將原始信息分為K個(gè)原始數(shù)據(jù)包;②對(duì)K個(gè)原始數(shù)據(jù)包進(jìn)行冗余編碼得到N個(gè)編碼包;③無(wú)線(xiàn)空間傳輸,出現(xiàn)丟包;④目的節(jié)點(diǎn)處根據(jù)接收到的數(shù)據(jù)包恢復(fù)出K個(gè)原始數(shù)據(jù)包;⑤獲取全部原始信息。
目前的多徑路由協(xié)議大多數(shù)是在典型單徑路由協(xié)議的基礎(chǔ)上針對(duì)數(shù)據(jù)傳輸可靠性、路由容錯(cuò)能力和擁塞控制等需求進(jìn)行改進(jìn)得到的。MP-OLSR路由協(xié)議最早由易甲子等人提出[5],繼承了OLSR協(xié)議適用于大規(guī)模網(wǎng)絡(luò)的特點(diǎn),支持進(jìn)行分簇設(shè)計(jì)。作為OLSR路由協(xié)議的擴(kuò)展版本,MP-OLSR協(xié)議保留了OLSR協(xié)議中基本的路由控制消息和拓?fù)湫畔⑻幚頇C(jī)制,核心機(jī)制在于采用多徑Dijkstra算法計(jì)算傳輸路徑[5]。
多徑Dijkstra算法:
多徑Dijkstra算法的基本思想是多次迭代使用Dijkstra算法,在每次迭代中發(fā)現(xiàn)一條源節(jié)點(diǎn)s到目的節(jié)點(diǎn)d的路徑,每次迭代之后增加已使用過(guò)的鏈路與節(jié)點(diǎn)的權(quán)值,避免求出已有的路徑。與標(biāo)準(zhǔn)的Dijkstra算法不同,多徑Dijkstra算法使用了兩個(gè)成本函數(shù)以產(chǎn)生節(jié)點(diǎn)分離(Node Disjoint)或者鏈路分離[3](Link Disjoint)的多條鏈路,基本算法流程如下:
圖2 多徑Dijkstra算法流程
該算法基于圖G=(V,E,C)點(diǎn)(s,d)∈e2和一個(gè)正整數(shù)N。數(shù)組(P1,P2,...PN)是由標(biāo)準(zhǔn)Dijkstra算法得到的從點(diǎn)s到達(dá)點(diǎn)d的最短路徑。GetPath(SourceTreei,n)從源樹(shù)SourceTreei中得到的到達(dá)節(jié)點(diǎn)n的最短路徑;Reverse(e)返回鏈路e的反向鏈路;Head(e)返回鏈路e的兩個(gè)頂點(diǎn)。當(dāng)使用跳數(shù)HopCount作為權(quán)值時(shí),C取默認(rèn)值1[6]。
fp和fe是兩個(gè)成本函數(shù):fp增加上一條最短路徑中的每一段鏈路的權(quán)值,fe增加上一條路徑所經(jīng)過(guò)的節(jié)點(diǎn)的權(quán)值,二者共同作用決定下一條路徑的計(jì)算。不同的fp和fe組合決定所得路徑是鏈路相異還是節(jié)點(diǎn)相異。
多徑Dijkstra算法的舉例如圖3所示,其中設(shè)置成本函數(shù)fp=3c,fe=2c,c=1:
圖3 多徑Dijkstra算法舉例
1)第一次計(jì)算時(shí),得到最短路徑S→A→D,路徑總權(quán)值為2;
2)第一次計(jì)算完成后,成本函數(shù)fp增加鏈路S→A與A→D的權(quán)值,fe增加鏈路A→B和A→D的權(quán)值;
3)第二次計(jì)算時(shí),得到最短路徑S→B→C→D,路徑總權(quán)值為3;
4)第二次計(jì)算完成后,成本函數(shù)fp增加鏈路S→B、S→C和C→D的權(quán)值,fe增加鏈路B→A和C→A的權(quán)值;
5)第三次計(jì)算時(shí),得到最短路徑S→A→C→D,路徑總權(quán)值為10。
本文提出的多路由冗余傳輸算法中,冗余編碼負(fù)責(zé)將K個(gè)原始數(shù)據(jù)包編碼為N個(gè)編碼數(shù)據(jù)包(N>K)。在此介紹噴泉碼的基本概念[6]:該種編碼可以將K個(gè)原始數(shù)據(jù)分組生成任意數(shù)量的編碼分組,接收端只要收到其中任意M(M>K)個(gè)編碼分組即可譯碼以較高的概率成功恢復(fù)出全部原始分組??紤]到噴泉碼與本文提出多路由冗余傳輸算法中冗余編碼算法具有高度的契合性,本文中即以噴泉碼作為冗余編碼算法進(jìn)行分析研究。
LT(Luby Transform)碼是一種實(shí)用型噴泉碼,編譯碼方法簡(jiǎn)單,編譯碼復(fù)雜度和譯碼開(kāi)銷(xiāo)較低,編碼冗余度可以根據(jù)需要設(shè)置,靈活可控。LT碼編碼分組的產(chǎn)生流程如下:
1)根據(jù)設(shè)計(jì)的度函數(shù)分布Ω隨機(jī)選取編碼分組的度數(shù)d;
2)從K個(gè)原始分組中等概率地隨機(jī)選取d個(gè);
3)將這d個(gè)原始分組模二和,生成一個(gè)編碼分組;
4)重復(fù)(1)(2)(3)步驟,直到產(chǎn)生所需數(shù)量的編碼分組。
LT碼性能的關(guān)鍵在于選擇合理的度分布函數(shù)Ω以產(chǎn)生編碼矩陣[7]。目前公認(rèn)的在仿真性能中比較好的兩種度分布函數(shù)分別為理想孤波分布(Ideal Soliton Distribution,ISD)和魯棒孤波分布(Robust Soliton Distribution,RSD)[8]。
理想孤波分布:定義ρ(d)為:
(1)
(2)
其中:
(3)
魯棒孤波分布:
(4)
(5)
(6)
(7)
把函數(shù)τ(i)與ρ(i)相加并作歸一化處理即可得到魯棒孤波分布函數(shù)μ(i):
β=∑i(ρ(i)+τ(i))
(8)
(9)
其中為接收端接收到M個(gè)編碼數(shù)據(jù)分組時(shí)譯碼失敗的概率;M=Kβ為以至少以1-ε的概率成功譯碼時(shí)所需要接收到的數(shù)據(jù)編碼分組數(shù)量;θ為小于1的任意常數(shù)。
當(dāng)以魯棒孤波分布作為L(zhǎng)T碼的編碼度分布函數(shù)時(shí),能夠以接近最少數(shù)量的編碼數(shù)據(jù)分組恢復(fù)所有的原始數(shù)據(jù)分組。在M.Luby的經(jīng)典理論[9]中,研究討論了以魯棒孤子分布作為度函數(shù)時(shí),若需要較好地還原信源信息,接收端需要接收到M個(gè)已編碼的信息數(shù)據(jù)包[8]?;诖?,本文研究中即以魯棒孤波分布作為L(zhǎng)T碼的編碼度分布函數(shù),同時(shí)以目的節(jié)點(diǎn)接收到數(shù)據(jù)包數(shù)量來(lái)判定目的節(jié)點(diǎn)是否能夠正確恢復(fù)全部原始信息。
目前主流的網(wǎng)絡(luò)仿真軟件主要有OPNET、NS2、OMNET、Qualnet等[10]。OPNET軟件最初由麻省理工大學(xué)的兩個(gè)博士創(chuàng)立,作為一款商業(yè)軟件其操作界面方便友好,內(nèi)置豐富的庫(kù)函數(shù)和模型庫(kù),既有各種基本模塊以供調(diào)用,也支持用戶(hù)根據(jù)需要自定制模塊。另外,OPNET采用離散時(shí)間驅(qū)動(dòng)的模擬機(jī)制,較之于時(shí)間驅(qū)動(dòng),計(jì)算效率有很大的提高。
本文中提出的多路由冗余傳輸算法擬基于OPNET軟件系列中的OPNET Modeler平臺(tái)進(jìn)行建模分析。
本文中網(wǎng)絡(luò)模型及主要網(wǎng)絡(luò)參數(shù)配置如圖所示如圖4和表1所示。
圖4 網(wǎng)絡(luò)域模型
各節(jié)點(diǎn)的節(jié)點(diǎn)域模型設(shè)計(jì)如圖5所示,主要包括應(yīng)用層模塊(src、sink),序列號(hào)分配模塊(assign),數(shù)據(jù)包編碼模塊(code_buffer),路由控制層(route),數(shù)據(jù)鏈路層模塊(mac_TDMA),和物理層模塊(rr_0、rt_0、RX、TX),其中:
表1 網(wǎng)絡(luò)主要參數(shù)配置
圖5 節(jié)點(diǎn)域模型
1)src、sink:模擬通信過(guò)程中的上層業(yè)務(wù);
2)assign:對(duì)src產(chǎn)生的數(shù)據(jù)包封裝序列號(hào),以及添加控制域字段;
3)code_buffer:對(duì)原始數(shù)據(jù)包進(jìn)行冗余編碼;
4)route:路由協(xié)議控制報(bào)文處理模塊,負(fù)責(zé)計(jì)算數(shù)據(jù)分發(fā)路徑;
5)mac_TDMA:數(shù)據(jù)鏈路層協(xié)議模塊,采用TDMA協(xié)議;
6)rr_0、rt_0、RX、TX:無(wú)線(xiàn)收發(fā)信機(jī)組及收發(fā)天線(xiàn),實(shí)現(xiàn)信號(hào)的接收和發(fā)送。
引入冗余度參數(shù)σ:
(10)
其中:N為編碼生成包數(shù)量,K為原始數(shù)據(jù)包數(shù)量??紤]到丟包數(shù)量與實(shí)際網(wǎng)絡(luò)規(guī)模和原始數(shù)據(jù)包數(shù)量有關(guān),試驗(yàn)中統(tǒng)計(jì)了圖4所示的16節(jié)點(diǎn)網(wǎng)絡(luò)中采用多路由冗余傳輸算法時(shí)源節(jié)點(diǎn)發(fā)送不同原始數(shù)據(jù)包數(shù)量對(duì)應(yīng)目的節(jié)點(diǎn)接收到的數(shù)據(jù)包數(shù)量,如圖6所示。
圖6 冗余度與收包數(shù)量關(guān)系
由圖6可知,當(dāng)冗余度σ=0即不采用冗余編碼時(shí),目的節(jié)點(diǎn)接收到的數(shù)量小于解碼所需包的數(shù)量,即由于干擾丟包現(xiàn)象的存在,目的節(jié)點(diǎn)無(wú)法恢復(fù)全部原始數(shù)據(jù)。當(dāng)冗余度σ分別為45.0%、50.0%、55.0%時(shí),對(duì)比可知:當(dāng)σ=45.0%時(shí),只有當(dāng)原始數(shù)據(jù)包數(shù)量較大時(shí),才能保證接收包的數(shù)量大于解碼所需的數(shù)據(jù)包數(shù)量,不具有穩(wěn)定的解碼恢復(fù)數(shù)據(jù)能力;當(dāng)σ=50.0%或σ=55.5%時(shí),對(duì)于不同數(shù)量的原始包,目的節(jié)點(diǎn)接收包數(shù)量均大于解碼所需的數(shù)據(jù)包數(shù)量,即目的節(jié)點(diǎn)能夠完整地恢復(fù)出全部原始信息。在下文多路由冗余傳輸算法仿真過(guò)程中的冗余度σ即設(shè)置為50.0%,此時(shí)原始數(shù)據(jù)包數(shù)量與解碼所需數(shù)據(jù)包數(shù)量對(duì)應(yīng)關(guān)系如表2所示。
表2 解碼所需編碼包與原始數(shù)據(jù)包數(shù)量對(duì)應(yīng)關(guān)系
在仿真過(guò)程中,設(shè)置原始數(shù)據(jù)包數(shù)量分別為K=20和K=50,統(tǒng)計(jì)對(duì)比了傳統(tǒng)單徑OLSR協(xié)議與多路由冗余傳輸算法下通信節(jié)點(diǎn)對(duì)之間收發(fā)包數(shù)量與監(jiān)聽(tīng)節(jié)點(diǎn)偵聽(tīng)包數(shù)量情況。
圖7 OLSR協(xié)議中收發(fā)包情況
由圖7可知,采用傳統(tǒng)單徑OLSR協(xié)議情況下,當(dāng)原始數(shù)據(jù)包數(shù)量K=20和K=50時(shí),目的節(jié)點(diǎn)接收到的數(shù)據(jù)包數(shù)量分別為18包和48包,兩種情形下因干擾產(chǎn)生的丟包數(shù)為2包。由于源節(jié)點(diǎn)不采用任何冗余編碼措施直接發(fā)送原始數(shù)據(jù)包,目的節(jié)點(diǎn)必須接收到全部數(shù)據(jù)包才能正確恢復(fù)全部原始信息。因此由于丟包現(xiàn)象的存在,目的節(jié)點(diǎn)不能完全恢復(fù)出全部原始信息。
圖8 多路由冗余傳輸算法中收發(fā)包情況
由圖8可知,采用多路由冗余傳輸算法情況下,當(dāng)原始數(shù)據(jù)包數(shù)量K=20和K=50時(shí),編碼包數(shù)量分別為N=30和N=75(σ=50.0%),目的節(jié)點(diǎn)接收到的數(shù)據(jù)包數(shù)量分別為29包和69包,產(chǎn)生的丟包數(shù)分別為1包和6包。由于當(dāng)所有原始數(shù)據(jù)包產(chǎn)生完畢后才開(kāi)始編碼包的產(chǎn)生與發(fā)送,因此編碼包發(fā)送時(shí)間略滯后于原始數(shù)據(jù)包的產(chǎn)生。由表2可知,即使存在丟包現(xiàn)象,目的節(jié)點(diǎn)仍能夠收到足夠的編碼包恢復(fù)出原始信息,驗(yàn)證了多路由冗余傳輸算法的抗干擾性能。
圖9為通信過(guò)程中設(shè)置的監(jiān)聽(tīng)節(jié)點(diǎn)(monitor)的偵聽(tīng)包情況。由圖可知,監(jiān)聽(tīng)節(jié)點(diǎn)偵聽(tīng)數(shù)據(jù)包數(shù)量分別為10包和26包。由表2可知,監(jiān)聽(tīng)節(jié)點(diǎn)截獲的數(shù)據(jù)包數(shù)量遠(yuǎn)遠(yuǎn)不足以恢復(fù)出全部原始信息,同時(shí)由于源節(jié)點(diǎn)處采用了冗余編碼措施,此時(shí)截獲的數(shù)據(jù)包只是部分編碼包,不具有任何原始數(shù)據(jù)的直接信息,驗(yàn)證了多路由冗余傳輸算法的抗截獲性能。
圖9 監(jiān)聽(tīng)節(jié)點(diǎn)偵聽(tīng)包情況
本文針對(duì)自組網(wǎng)通信系統(tǒng)中抗干擾、抗截獲性能需求提出了一種多路由冗余傳輸算法,該算法有效融合了多徑路由協(xié)議和冗余編碼的特點(diǎn),具有無(wú)需重傳的優(yōu)點(diǎn),增加了網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)娜蒎e(cuò)率。經(jīng)試驗(yàn)證明,與傳統(tǒng)的單徑路由協(xié)議相比,該算法能有效提高網(wǎng)絡(luò)的抗干擾、抗截獲性能,保證通信傳輸?shù)目煽啃?。另外,有關(guān)冗余度的與網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)的關(guān)系以及多路由冗余傳輸算法下MAC層協(xié)議機(jī)制等問(wèn)題,需要進(jìn)一步研究分析。
[1] 楊同茂. 軍事通信抗干擾技術(shù)的發(fā)展現(xiàn)狀及趨勢(shì)[J]. 通信技術(shù), 2014, 47(7): 704-712.
[2] 秦 茜, 宋志群, 劉玉濤. 一種固定分配與動(dòng)態(tài)競(jìng)爭(zhēng)結(jié)合的MAC層協(xié)議算法[J]. 無(wú)線(xiàn)電工程, 2017, 47(2): 15-19.
[3] 王嘉欣. 移動(dòng)Ad Hoc網(wǎng)絡(luò)抗干擾可靠路由技術(shù)[D]. 成都: 電子科技大學(xué), 2013.
[4] Yi J, Adnane A, David S,et al. Multipath optimized link state routing for mobile ad hoc networks[J]. Ad Hoc Networks. 2011(9):28-47.
[5] 文 靜. MP-OLSR在船舶自組網(wǎng)中的優(yōu)化研究[D]. 廣州: 華南理工大學(xué), 2014.
[6] 姜 博, 晏 堅(jiān), 蔣衛(wèi)東. 噴泉碼及其在通信網(wǎng)絡(luò)中的應(yīng)用[J]. 數(shù)字通信世界. 2007, 10: 64-67.
[7] 時(shí)琳川, 徐松毅, 杜文舉. 噴泉碼在窄帶通信中的研究[J]. 無(wú)線(xiàn)電通信技術(shù). 2017, 43(1): 19-22.
[8] 錢(qián)晉希. LT碼編譯碼算法優(yōu)化及應(yīng)用研究[D]. 哈爾濱: 哈爾濱工程大學(xué), 2013.
[9] Mackay D J C. Fountain Codes[C]. IEEE Proceeding-Communications, 2005: 1062-1068.
[10] 胡志偉, 梁加紅, 陳 凌, 等. 移動(dòng)自組網(wǎng)仿真技術(shù)研究綜述[J]. 系統(tǒng)仿真學(xué)報(bào), 2011, 23(1): 1-6.