一种安全的AODV 路由协议改进方案

2021-06-25 06:44莫家威刘凌伶
科学技术创新 2021年15期
关键词:模拟退火数据包个数

莫家威 朱 麒 刘凌伶

(1、柳州工学院,广西 柳州545005 2、中国人民解放军31648 部队,广西 南宁530021)

1 概述

按需距离矢量路由协议(AODV)是一种典型的按需路由协议,它广泛应用于车载自组网(Vehicular Ad Hoc Networks, VANET)中,并对VANET的发展起到了举足轻重的作用。对于车载自组网而言,首先要考虑的就是路由协议要在保持稳定链接的同时抵御恶意节点的攻击,满足现代交通的需要,因此本文将研究典型的车载自组网通信协议并提高其安全性能。

目前针对安全问题,AODV 协议有很多改进方案,例如2019年,文献[1]针对黑洞攻击添加了混沌映射作为应对手段。文献[2]为了解决隐私泄露问题,对传统签名效率低的机制进行改进,使用了身份验证的聚合签名手段,提高签名的效率。为了保护用户隐私以及提高通信网络的安全性,文献[3]主要使用了RSU 算法作为改进手段。然后经过分析发现不能达到预期效果,并且只对特定攻击手段有效。为此,为了解决当前车联网的安全性与效率不足的情况,文献[4]在文献[3]的基础上使用了一种无证书的聚合签名改进方案,对隐私窃取的攻击手段有一定防御效果。

针对车载自组网运行环境中可能遭受到的安全攻击,为了满足车载自组网匿名性、安全性、认证性、不可否认性的安全需求,为了达到保护车载通信系统安全和隐私的目标,本文主要解决问题:采用基于模糊神经网络改进的安全通信协议,在车辆通信过程中识别恶意攻击节点与攻击方式,抵御恶意攻击。本文在之前的文献[5]的研究基础上,修改了参数的提取方式,提高了计算精确度。

2 一种基于模糊升级网络的安全改进路由协议

2.1 算法描述

本算法主要选择节点的安全性影响面作为计算度量,并使用归一化算法进行预处理。然后使用模糊神经神经网络对预处理结果进行进一步模糊计算,并在计算的同时不断使用遗传模拟算法,对所用参数进行改进。最后得到计算结果,可作为节点安全性的判断依据在协议过程中使用。接着使用模糊神经网络对节点可信度进行计算,并在计算过程中使用遗传模拟退火进行参数优化。最后对计算得到的节点可信度,在路由过程中进行判别。算法描述如图1 所示。

图1 算法描述

2.2 节点度量

在改进AODV算法中,选择数据包内容相同率、数据包发生率、节点相关性为计算基础,使用神经网络进行计算,对节点性质进行分析判断。

设节点i 的Ni个邻居节点j 构成集合Φi

则如公式(1)所示,Si,j(t) 表示归一化处理后的数据包内容相同率,Ti,j(t)表示数据包发生率,Ui,j(t)表示归一化处理的节点节点相关性。其中,pi,j(t)为t 时刻的发包数量,spi,j(t)为重复数据包数量,△p(t)为发包数量的期望值。Ui,j(t)采用Adamic-Adar 指数衡量,N(i)为节点i 的邻居集合,c 为两个节点的邻居集合中的共同邻居,log k(c)为c 节点度的对数取值。

2.3 模糊神经网络

本文使用的模糊神经网络结构如图2 所示。

图2 模糊神经网络

第一层为input 层。该层将输入精确值,节点数量就是选取的车辆度量个数。该层的三个节点分别是S、T、U。

第二层为模糊化层,主要是对输入的数值进行模糊化。分别将S、T、U 转换为三个模糊子集{高,中,低},可表示为{h,m,l},则共有3×3=9 个节点。Uij表示第i 个变量的第j 个模糊子集的隶属度。本文采用高斯函数,表示为公式(1),cij、σij均为输入参数,其中cij(i=1,2,3)决定高斯函数曲线的中心,而σij(j=1,2,3)则决定曲线的宽度。

2.4 遗传模拟算法优化模糊神经网络

本文使用遗传模拟退火算法,对模糊神经网络进行参数优化。模拟遗传退火算法的基本步骤为:

步骤1 参数初始化

群体规模M取50,最大迭代次数N 取200,交叉概率Pc,取值范围[0.4,0.99];变异概率Pm,取值范围[0.005,0.01],迭代计数n 初始化为0。

步骤2 初始化种群

染色体的编码方法为:首先将第二层高斯函数的参数c 的定义域等分为3 份,在每个划定的等分区间内选取种群大小的随机数分别作为中心值ci1、ci2、ci3的初始值;然后对于均值σij和连接权值ωk,在各自定义域中取随机数作为初始值。将这些实数编码成染色体,染色体长度为个参数的个数之和(本文中为45 个)。具体的编码方式如下:c11c12…c13σ11…σ33ω1…ω27。随机生成M个初始解构成初始种群,初始种群应大于指定大小。

步骤3 输出控制

在路由维护的过程中进行数据收集,作为遗传算法的参数优化依据。目标函数定义为公式(4)。其中yk为实际上模糊神经网络的输出结果,Yk为算法期望的模糊神经网络输出结果,E 为yk和YK的差方。

当算法计算次数达到上限时(即n=N)结束,输出计算结果。

当某个体达到进度要求(取值范围[0.95,0.99]),输出计算结果。如果没有满足要求结果,则进入步骤4。

步骤4 遗传操作

迭代次数n=n+1,进行以下的选择、交叉、变异操作,产生子代,判断是否满足输出要求,满足则输出,不满足则进入模拟退火操作。

(1)选择、复制。选择当前群体计算结果最好和最差的个体,设置一个全局最优个体。若发现更好的计算结果,使用全局最优个体替换最差个体。

(2)交叉。每个个体生成一个子交叉概率,取值范围为[0,1]。如果r>Pc,则进行交叉操作:假设个体A=a1a2…aL;个体B=b1b2…bL。L为个体长度,随机产生一个参数i,取值范围为[L, L-1]。

(3)变异。每个个体基因座上的基因值随机生成一个子变异概率s。如果s<Pm,则变异该基因座。十进制基因变异方法为在定义域内取随机数。

步骤5 模拟退火操作

对遗传操作产生的新子代中的每一个个体进行模拟退火操作。

(1)初始化参数。初温t0,设为1000;迭代次数i=0;初始解s=s0,每一个ti有一个内循环次数N,设为200,温度下限设为0.2t0。

(2)内循环。等温循环。当前温度t=ti,循环执行下列操作N次:

对s 基因座上的基因值进行随机正负0.005 扰动,产生新解s',使用公式(5)计算新解的适应度,f()为适应度函数。

(3)外循环。满足终止条件,则导出当前计算结果。反之降温:ti+1=βti,i=i+1,β 为降温速度,取0.95。

2.5 改进协议描述

安全协议主要针对路由发起和路由维护协议过程进行优化。

2.5.1 路由发起。源节点需要与目的节点通信时,首先执行一个路由发起过程,向周围邻居广播RREQ包。接收到RREQ包的邻居节点依次执行下列操作:

(1)检查是否为环路,若是环路,则丢弃RREP 包。

(2)检查是否为重复的RREQ 包,若是重复,则丢弃该RREQ包。

(3)检查是否已经与源节点建立反向路由,否则应与源节点建立反向路径,产生上一跳的路由。

(4)邻居节点内设置一个初始值为0.5 的投递率阈值。一个时间段内,邻居节点将根据自身以及周围邻居的数据包投递情况,更新投递率阈值。当节点投递率大于0.5 或者大于投递率阈值时,则在转发REEQ请求时考虑节点信任值。

(5)邻居节点在考虑节点信任值时,首先计算所有邻居的平均信任值,对于信任值小于0.5 且小于平均信任值的节点,标记为处于不信任状态的邻居节点,不参与当前结点的路由过程。

(6)到达目的节点后发起过程结束。

2.5.2 路由维护。在AODV路由协议的路由维护阶段中,邻居之间每隔一段固定时间会发送生存周期为1 的HELLO消息包,主要是为了保持和周围邻居的连接。改进方案为了进行可信度计算,会在HELLO消息中封装该节点的所有邻居信息,提供给改进算法进行计算。

路由维护过程中需要为算法积累训练数据,在节点添加邻居时,使用模糊神经网络进行节点性质判断,此次计算的数据将保存在表中。每次收到来自节点邻居的HELLO消息包时,该节点将会提取包中的维护信息,进行算法计算,根据计算结果更新邻居的可信度,然后进行邻居存在与否的更新。每隔一段时间如果没有收到邻居节点的HELLO 消息包,可以认为该邻居已消失,节点会使用优化算法对计算参数进行优化。

3 性能仿真与分析

本文实现改进方案,即SGF-AODV(Security AODV with GASA-FNN),采用网络模拟软件NS2 对改进后的SGF-AODV协议与原AODV协议进行模拟仿真,在之前的实验基础上,更新实验环境,扩大了节点数量,使用掉包率、端到端传输平均时长、统一路由开销来评判协议运行效果。

实验结果及分析:

3.1 设置车辆节点的个数为2000,黑洞节点的个数为一个单位10 个黑洞,观察SGF-AODV协议的路由性能。

图3 为黑洞节点个数不断增加的情况下,以掉包率为评判依据,对比AODV 协议与SGF-AODV 协议的变化区别,可以看出SGF-AODV的路由性能较优。主要是因为算法识别出了黑洞节点,降低了节点吞噬造成的掉包影响。但是当节点个数不断上升时,算法对黑洞节点的识别跟不上黑洞对网络破环的速度,因此掉包率在黑洞节点增加的情况下依然不断上升,但总体上升比较平缓,达到预期效果。

图3

图4 显示了AODV 协议与SGF-AODV 协议端到端的平均时常随着黑洞节点数量增加的变化情况,从图中可以看出SGF-AODV的平均端到时延普遍低于AODV协议。可以看出黑洞节点增加对网络的端到端平均时长影响较大,改进算法对黑洞的识别屏蔽没有起到较好的效果。主要是因为在黑洞节点较为集中的情况下,算法无法抵抗多个黑洞的进攻,不能起到很好的识别屏蔽效果,但是总体来看还是对黑洞攻击进行了一定程度的抵御。

图4

图5 显示了AODV 协议与SGF-AODV 协议的统一路由开销随着黑洞节点数量增加的变化情况,从图中可以看出SGF-AODV的平均端到时延普遍低于AODV协议。可以看出改进算法对路由开销的提升较为客观,对黑洞节点的屏蔽,能够减少数据包走“歪路”的几率,降低黑洞节点对网络的影响。

图5

3.2 当黑洞节点比例为百分之十时,不同车辆节点数下的SGF-AODV协议路由性能。

图6 为节点个数不断增加的情况下,以掉包率为评判依据,对比AODV 协议与SGF-AODV 协议的变化区别,可以看出SGF-AODV的路由性能较优,接近正常运行环境,并运行稳定。主要是因为改进方案对黑洞节点进行了识别,避免了黑洞节点吞噬消息包而造成丢包,从而降低了网络的掉包率。

图6

图7 为节点个数不断增加的情况下,以端到端传输平均时长为评判依据,对比AODV协议与SGF-AODV协议的变化区别,可以看出SGF-AODV的路由性能较优。主要是因为改进方案对黑洞节点进行了屏蔽,消息可以更快的传递到目的地,从而提高了网络的端到端平均传输时长。

图7

图8 为节点个数不断增加的情况下,以统一路由开销为评判依据,对比AODV 协议与SGF-AODV 协议的变化区别,可以看出SGF-AODV的路由性能较优。主要是因为改进方案成功识别出了黑洞节点,并对其进行了选择性的屏蔽,这样在消息发送过程中不需要进行额外的路径寻找,从而达到更低的路由开销。

图8

4 结论

无论何时,安全性都是车载自组网无法避免的问题,本文基于AODV协议提出了一种针对黑洞攻击方式的改进方法。该方案对常见的攻击方式例如黑洞攻击方式进行了分析,基于模糊神经网络进行车辆节点的可信度计算,在计算过程中使用遗传模拟退火提升计算精确度。仿真实验结果表明,改进方案在一定程度上改善了黑洞攻击下的车联网网络环境。

猜你喜欢
模拟退火数据包个数
结合模拟退火和多分配策略的密度峰值聚类算法
二维隐蔽时间信道构建的研究*
怎样数出小正方体的个数
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于遗传模拟退火法的大地电磁非线性反演研究
怎样数出小木块的个数
最强大脑
C#串口高效可靠的接收方案设计
怎样数出小正方体的个数
改进模拟退火算法在TSP中的应用