APP下载

基于自组网的多路由冗余传输算法研究

2018-03-27,,,

计算机测量与控制 2018年3期
关键词:权值数据包链路

, ,,

(1.中国电子科技集团公司 第五十四研究所,石家庄 050081;2.微波散射通信专业部,石家庄 050081)

0 引言

随着“网络中心战”、“网电一体战”[1]概念的提出,自组网在组网通信中扮演着越来越重要的角色,逐步成为当前数字化战场通信的首选装备,是各国战术互联网的重要技术[2]。

在早期通信过程中,抗干扰多为设备级的抗干扰,一般认为只要设备的抗干扰性能达到某种程度就自然解决了抗干扰问题。而在自组网应用环境中,客观或人为的电磁干扰会直接影响传输路径的建立和数据分组的发送,直观地导致丢包现象的出现,并且干扰范围和强度的不规则性常常导致通信节点对之间路径传输受到限制甚至产生路径失败。网络层的入侵能够在底层设备检测正常的情况下造成传输路径中断、网络瘫痪,进而无法满足上层业务对网络的需求,具有很强的隐蔽性和破坏性。因此,在传统物理层、链路层的抗干扰技术之外,研究网络层相应的抗干扰措施[3]具有十分重要的意义。

本文基于自组网实际应用中的抗干扰、抗截获需求,提出一种多路由冗余传输算法,融合多径路由协议和冗余编码的特点,源节点处对数据包进行冗余编码,利用多径路由发现的多条传输路径并行传输编码包,中间节点负责编码包的转发,目的节点只需收到足够数量的编码包即可译码恢复出全部原始信息。

本文利用OPNET Modeler平台对实际网络环境进行仿真建模,充分模拟通信过程中因电磁干扰而产生的丢包现象,以及在无线空间对链路的侦听,测试通信节点对之间的数据传输情况与侦听节点的数据包侦收数量。试验表明,多路由冗余传输算法能有效降低干扰丢包带来的影响,提高信息传输的可靠性,增强网络的抗干扰和抗截获性能。

1 多路由冗余传输算法的设计

本文提出的多路由冗余传输算法首先利用MP-OLSR(Multipath Optimized Link State Routing)[4]路由协议计算得到源节点到目的节点的多条传输路径;当有通信需求时,源节点处对原始信息进行冗余编码,再利用计算得到的多条传输路径并行传输编码包,中间节点只负责数据包的转发;由于采用了冗余编码,目的节点只需要接收到足够数量的编码包即可译码恢复出全部信息,无需接收全部编码包,能有效抵抗干扰丢包给信息传输带来的影响;另外,由于采用了多径路由机制,即使敌方在无线空间内的侦听到了某条链路的传输信息,也只能获得部分编码包,不足以恢复出完整的原始信息。多路由冗余传输算法框架图如图1所示。

图1 多路由冗余传输算法框架图

其中:①源节点将原始信息分为K个原始数据包;②对K个原始数据包进行冗余编码得到N个编码包;③无线空间传输,出现丢包;④目的节点处根据接收到的数据包恢复出K个原始数据包;⑤获取全部原始信息。

1.1 MP-OLSR路由协议

目前的多径路由协议大多数是在典型单径路由协议的基础上针对数据传输可靠性、路由容错能力和拥塞控制等需求进行改进得到的。MP-OLSR路由协议最早由易甲子等人提出[5],继承了OLSR协议适用于大规模网络的特点,支持进行分簇设计。作为OLSR路由协议的扩展版本,MP-OLSR协议保留了OLSR协议中基本的路由控制消息和拓扑信息处理机制,核心机制在于采用多径Dijkstra算法计算传输路径[5]。

多径Dijkstra算法:

多径Dijkstra算法的基本思想是多次迭代使用Dijkstra算法,在每次迭代中发现一条源节点s到目的节点d的路径,每次迭代之后增加已使用过的链路与节点的权值,避免求出已有的路径。与标准的Dijkstra算法不同,多径Dijkstra算法使用了两个成本函数以产生节点分离(Node Disjoint)或者链路分离[3](Link Disjoint)的多条链路,基本算法流程如下:

图2 多径Dijkstra算法流程

该算法基于图G=(V,E,C)点(s,d)∈e2和一个正整数N。数组(P1,P2,...PN)是由标准Dijkstra算法得到的从点s到达点d的最短路径。GetPath(SourceTreei,n)从源树SourceTreei中得到的到达节点n的最短路径;Reverse(e)返回链路e的反向链路;Head(e)返回链路e的两个顶点。当使用跳数HopCount作为权值时,C取默认值1[6]。

fp和fe是两个成本函数:fp增加上一条最短路径中的每一段链路的权值,fe增加上一条路径所经过的节点的权值,二者共同作用决定下一条路径的计算。不同的fp和fe组合决定所得路径是链路相异还是节点相异。

多径Dijkstra算法的举例如图3所示,其中设置成本函数fp=3c,fe=2c,c=1:

图3 多径Dijkstra算法举例

1)第一次计算时,得到最短路径S→A→D,路径总权值为2;

2)第一次计算完成后,成本函数fp增加链路S→A与A→D的权值,fe增加链路A→B和A→D的权值;

3)第二次计算时,得到最短路径S→B→C→D,路径总权值为3;

4)第二次计算完成后,成本函数fp增加链路S→B、S→C和C→D的权值,fe增加链路B→A和C→A的权值;

5)第三次计算时,得到最短路径S→A→C→D,路径总权值为10。

1.2 冗余编码

本文提出的多路由冗余传输算法中,冗余编码负责将K个原始数据包编码为N个编码数据包(N>K)。在此介绍喷泉码的基本概念[6]:该种编码可以将K个原始数据分组生成任意数量的编码分组,接收端只要收到其中任意M(M>K)个编码分组即可译码以较高的概率成功恢复出全部原始分组。考虑到喷泉码与本文提出多路由冗余传输算法中冗余编码算法具有高度的契合性,本文中即以喷泉码作为冗余编码算法进行分析研究。

LT(Luby Transform)码是一种实用型喷泉码,编译码方法简单,编译码复杂度和译码开销较低,编码冗余度可以根据需要设置,灵活可控。LT码编码分组的产生流程如下:

1)根据设计的度函数分布Ω随机选取编码分组的度数d;

2)从K个原始分组中等概率地随机选取d个;

3)将这d个原始分组模二和,生成一个编码分组;

4)重复(1)(2)(3)步骤,直到产生所需数量的编码分组。

LT码性能的关键在于选择合理的度分布函数Ω以产生编码矩阵[7]。目前公认的在仿真性能中比较好的两种度分布函数分别为理想孤波分布(Ideal Soliton Distribution,ISD)和鲁棒孤波分布(Robust Soliton Distribution,RSD)[8]。

理想孤波分布:定义ρ(d)为:

(1)

(2)

其中:

(3)

鲁棒孤波分布:

(4)

(5)

(6)

(7)

把函数τ(i)与ρ(i)相加并作归一化处理即可得到鲁棒孤波分布函数μ(i):

β=∑i(ρ(i)+τ(i))

(8)

(9)

其中为接收端接收到M个编码数据分组时译码失败的概率;M=Kβ为以至少以1-ε的概率成功译码时所需要接收到的数据编码分组数量;θ为小于1的任意常数。

当以鲁棒孤波分布作为LT码的编码度分布函数时,能够以接近最少数量的编码数据分组恢复所有的原始数据分组。在M.Luby的经典理论[9]中,研究讨论了以鲁棒孤子分布作为度函数时,若需要较好地还原信源信息,接收端需要接收到M个已编码的信息数据包[8]。基于此,本文研究中即以鲁棒孤波分布作为LT码的编码度分布函数,同时以目的节点接收到数据包数量来判定目的节点是否能够正确恢复全部原始信息。

2 仿真平台选择

目前主流的网络仿真软件主要有OPNET、NS2、OMNET、Qualnet等[10]。OPNET软件最初由麻省理工大学的两个博士创立,作为一款商业软件其操作界面方便友好,内置丰富的库函数和模型库,既有各种基本模块以供调用,也支持用户根据需要自定制模块。另外,OPNET采用离散时间驱动的模拟机制,较之于时间驱动,计算效率有很大的提高。

本文中提出的多路由冗余传输算法拟基于OPNET软件系列中的OPNET Modeler平台进行建模分析。

3 模型建立

3.1 网络域模型

本文中网络模型及主要网络参数配置如图所示如图4和表1所示。

图4 网络域模型

3.2 节点域模型

各节点的节点域模型设计如图5所示,主要包括应用层模块(src、sink),序列号分配模块(assign),数据包编码模块(code_buffer),路由控制层(route),数据链路层模块(mac_TDMA),和物理层模块(rr_0、rt_0、RX、TX),其中:

表1 网络主要参数配置

图5 节点域模型

1)src、sink:模拟通信过程中的上层业务;

2)assign:对src产生的数据包封装序列号,以及添加控制域字段;

3)code_buffer:对原始数据包进行冗余编码;

4)route:路由协议控制报文处理模块,负责计算数据分发路径;

5)mac_TDMA:数据链路层协议模块,采用TDMA协议;

6)rr_0、rt_0、RX、TX:无线收发信机组及收发天线,实现信号的接收和发送。

3.3 数据包编码冗余度分析

引入冗余度参数σ:

(10)

其中:N为编码生成包数量,K为原始数据包数量。考虑到丢包数量与实际网络规模和原始数据包数量有关,试验中统计了图4所示的16节点网络中采用多路由冗余传输算法时源节点发送不同原始数据包数量对应目的节点接收到的数据包数量,如图6所示。

图6 冗余度与收包数量关系

由图6可知,当冗余度σ=0即不采用冗余编码时,目的节点接收到的数量小于解码所需包的数量,即由于干扰丢包现象的存在,目的节点无法恢复全部原始数据。当冗余度σ分别为45.0%、50.0%、55.0%时,对比可知:当σ=45.0%时,只有当原始数据包数量较大时,才能保证接收包的数量大于解码所需的数据包数量,不具有稳定的解码恢复数据能力;当σ=50.0%或σ=55.5%时,对于不同数量的原始包,目的节点接收包数量均大于解码所需的数据包数量,即目的节点能够完整地恢复出全部原始信息。在下文多路由冗余传输算法仿真过程中的冗余度σ即设置为50.0%,此时原始数据包数量与解码所需数据包数量对应关系如表2所示。

表2 解码所需编码包与原始数据包数量对应关系

4 仿真结果分析

在仿真过程中,设置原始数据包数量分别为K=20和K=50,统计对比了传统单径OLSR协议与多路由冗余传输算法下通信节点对之间收发包数量与监听节点侦听包数量情况。

图7 OLSR协议中收发包情况

由图7可知,采用传统单径OLSR协议情况下,当原始数据包数量K=20和K=50时,目的节点接收到的数据包数量分别为18包和48包,两种情形下因干扰产生的丢包数为2包。由于源节点不采用任何冗余编码措施直接发送原始数据包,目的节点必须接收到全部数据包才能正确恢复全部原始信息。因此由于丢包现象的存在,目的节点不能完全恢复出全部原始信息。

图8 多路由冗余传输算法中收发包情况

由图8可知,采用多路由冗余传输算法情况下,当原始数据包数量K=20和K=50时,编码包数量分别为N=30和N=75(σ=50.0%),目的节点接收到的数据包数量分别为29包和69包,产生的丢包数分别为1包和6包。由于当所有原始数据包产生完毕后才开始编码包的产生与发送,因此编码包发送时间略滞后于原始数据包的产生。由表2可知,即使存在丢包现象,目的节点仍能够收到足够的编码包恢复出原始信息,验证了多路由冗余传输算法的抗干扰性能。

图9为通信过程中设置的监听节点(monitor)的侦听包情况。由图可知,监听节点侦听数据包数量分别为10包和26包。由表2可知,监听节点截获的数据包数量远远不足以恢复出全部原始信息,同时由于源节点处采用了冗余编码措施,此时截获的数据包只是部分编码包,不具有任何原始数据的直接信息,验证了多路由冗余传输算法的抗截获性能。

图9 监听节点侦听包情况

5 结论

本文针对自组网通信系统中抗干扰、抗截获性能需求提出了一种多路由冗余传输算法,该算法有效融合了多径路由协议和冗余编码的特点,具有无需重传的优点,增加了网络数据传输的容错率。经试验证明,与传统的单径路由协议相比,该算法能有效提高网络的抗干扰、抗截获性能,保证通信传输的可靠性。另外,有关冗余度的与网络节点数的关系以及多路由冗余传输算法下MAC层协议机制等问题,需要进一步研究分析。

[1] 杨同茂. 军事通信抗干扰技术的发展现状及趋势[J]. 通信技术, 2014, 47(7): 704-712.

[2] 秦 茜, 宋志群, 刘玉涛. 一种固定分配与动态竞争结合的MAC层协议算法[J]. 无线电工程, 2017, 47(2): 15-19.

[3] 王嘉欣. 移动Ad Hoc网络抗干扰可靠路由技术[D]. 成都: 电子科技大学, 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在船舶自组网中的优化研究[D]. 广州: 华南理工大学, 2014.

[6] 姜 博, 晏 坚, 蒋卫东. 喷泉码及其在通信网络中的应用[J]. 数字通信世界. 2007, 10: 64-67.

[7] 时琳川, 徐松毅, 杜文举. 喷泉码在窄带通信中的研究[J]. 无线电通信技术. 2017, 43(1): 19-22.

[8] 钱晋希. LT码编译码算法优化及应用研究[D]. 哈尔滨: 哈尔滨工程大学, 2013.

[9] Mackay D J C. Fountain Codes[C]. IEEE Proceeding-Communications, 2005: 1062-1068.

[10] 胡志伟, 梁加红, 陈 凌, 等. 移动自组网仿真技术研究综述[J]. 系统仿真学报, 2011, 23(1): 1-6.

猜你喜欢

权值数据包链路
一种移动感知的混合FSO/RF 下行链路方案*
一种融合时间权值和用户行为序列的电影推荐模型
基于凸优化的FSO/RF 自动请求重传协议方案
二维隐蔽时间信道构建的研究*
天空地一体化网络多中继链路自适应调度技术
基于5G MR实现Massive MIMO权值智能寻优的技术方案研究
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
一种基于互连测试的综合优化算法∗
C#串口高效可靠的接收方案设计
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片