本发明涉及一种物联网自适应分簇路由方法,特别是涉及一种基于能量和信任模型的低功耗自适应分簇路由方法。
背景技术:
随着工业物联网行业的迅速发展,无线传感器网络作为其感知层的核心得到了广泛的使用,由于其低功耗、低成本且独立感知、数据存储、处理以及无线通讯能力在军事、工业、农业、医疗、家居等诸多领域均有发挥,应用前景非常广阔。无线传感器网络由大量具备无线通信功能的传感器节点组成,节点可以实时感知监测对象的各种信息,并通过自组织网络将采集到的数据传送给远方的观察者,可以解决复杂的应用问题。但由于传感器节点部署在开放的环境中且节点的能量有限无法二次补给,所以在存储、通信、计算上都有限制,无法得到安全保障,容易被恶意节点攻击造成网络瘫痪。选举剩余能量多且安全系数高的簇首节点,对保障网络安全、延长网络生存周期有重要意义。
技术实现要素:
本发明的目的在于提供一种基于能量和信任模型的低功耗自适应分簇路由方法,该方法综合考虑节点能量、节点密度、节点信任值等多方面因素对路由协议进行优化。算法etm-leach,在选举簇首时在不同的环境下分配不同的权重给能量、密度和信任值,最后通过更新阈值,让选举的簇首节点是能量高效、安全系数高的节点,让网络能够自适应识别恶意节点,平衡网络开销、提高了网络的安全性和可靠性。
本发明的目的是通过以下技术方案实现的:
一种基于能量和信任模型的低功耗自适应分簇路由方法,所述方法包括基于能量和信任模型的低功耗自适应分簇路由算法,综合考虑节点能量、节点密度、节点信任值方面因素对路由协议进行优化;算法etm-leach,在选举簇首时在不同的环境下分配不同的权重给能量、密度和信任值,最后通过更新阈值,让选举的簇首节点是能量高效、安全系数高的节点,让网络能够自适应识别恶意节点,平衡网络开销、提高网络的安全性和可靠性;
包括以下过程:
a.etm-leach多因素模型
etm-leach算法则优先计算动态簇首数量,然后综合考虑节点能量、密度因子、信任因子对网络进行考量;
b.信任模型
在节点信任值计算中,采用节点直接信任值和间接信任值相结合的方法。检测主体i对检测客体j的信任值评估包括节点i直接检测的结果dtn,以及通过i和j共同的邻居节点n1,n2……n检测的间接信任值itn,整合后根据权重计算出最终信任值ftn;
c.etm-leach算法及流程
根据公式计算出最优簇首数后,引入能量因子、密度因子、信任因子后计算得到新的阈值,与自己设定的随机数
所述的一种基于能量和信任模型的低功耗自适应分簇路由方法,所述多因素模型包括:
(1)动态簇首数;
(2)能量因子;
(3)密度因子;
(4)信任因子。
所述的一种基于能量和信任模型的低功耗自适应分簇路由方法,所述能量因子包括:
1)节点剩余能量越多,应承担更多处理数据的任务,成为簇首概率就越大;
2)能耗变化率越小,说明上一轮开始到本轮开始的周期内,节点任务量少,本轮应该承担更大的任务量,成为簇首概率加大。
所述的一种基于能量和信任模型的低功耗自适应分簇路由方法,所述密度因子,密度因子越大,邻居节点数越多,区域内节点密集,则该节点更有机会当选簇首节点;密度因子小说明邻居节点数少,节点周围相对稀疏,则当选簇首节点概率较小。
所述的一种基于能量和信任模型的低功耗自适应分簇路由方法,所述信任因子包括:
1)出入度因子;
2)相关性因子;
3)差异性因子。
所述的一种基于能量和信任模型的低功耗自适应分簇路由方法,所述信任模型包括:
(1)直接信任值;
(2)间接信任值;
(3)离散程度;
(4)节点最终信任值。
本发明的优点与效果是:
本发明均衡网络能耗以及提高网络安全性角度出发,设计新的路由算法—基于能量和信任模型的低功耗自适应分簇路由算法(energyandtrustmodelsbasedlowenergyadaptiveclusteringhierarchy,以下简称etm-leach)。综合考虑节点能量、节点密度、节点信任值等多方面因素对路由协议进行优化。算法etm-leach,在选举簇首时在不同的环境下分配不同的权重给能量、密度和信任值,最后通过更新阈值,让选举的簇首节点是能量高效、安全系数高的节点,让网络能够自适应识别恶意节点,平衡网络开销、提高了网络的安全性和可靠性。
附图说明
图1为etm-leach的整个流程图。
具体实施方式
下面结合附图所示实施例对本发明进行详细说明。
一、etm-leach多因素模型
由于leach算法的随机等概率选举,不利于网络的整体平衡,etm-leach算法则优先计算动态簇首数量,然后综合考虑节点能量、密度因子、信任因子对网络进行考量。增强网络的安全性和可靠性。
(1)动态簇首数
首先计算节点死亡率
根据最优簇首数得到,簇首最优百分比为popt,公式如下:
根据公式(2)和公式(3)我们可以得出最优的动态簇首数和簇首百分比,这样在网络中可以避免因选举簇首过多造成簇首节点能量浪费和簇首数过少,传输距离过长带来的能量损耗。
(2)能量因子
1)节点剩余能量越多,应承担更多处理数据的任务,成为簇首概率就越大。
2)能耗变化率越小,说明上一轮开始到本轮开始的周期内,节点任务量少,那么本轮应该承担更大的任务量,成为簇首概率加大。
用绝对偏差值过滤掉能量低的节点当选簇首概率,计算公式如下:
由上式我们看出,选择节点时,选举节点剩余能量大于平均能量的节点当选簇首,降低能量较低节点当选簇首,并且加入两轮节点的能量差值作为考量因素,会让上一轮能量消耗较少的节点优先在本轮当选簇首。能量更高节点当选簇首,会让网络整体通信变得更加高效。
(3)密度因子
密度因子越大,说明邻居节点数越多,区域内节点密集,则该节点更有机会当选簇首节点。密度因子小说明邻居节点数少,节点周围相对稀疏,则当选簇首节点概率较小。
在m*m的覆盖面积内,每个簇理想通讯半径
密度因子表示在每个簇的理想通信半径内邻接点数与实际节点数比值计算如下:
由以上公示得出结论,在理想通信半径范围内,邻居节点数和簇内节点数对比,密度因子可以有效地解决节点基站中心化和节点边缘化问题,优先解决热区问题,减少能耗损失,延长网络生命周期。
(4)信任因子
1)出入度因子
出入度因子(inandoutfactor),网络采用单跳与多跳参与数据传输,通过观察节点接收数据量和转发数据量比值作为参考因素,观测主体i在t时刻对观测客体j的数据包出入度来判别节点安全性,公式如下:
sp是转发数据包数量,rp是接受数据包数量。
2)相关性因子
相关新因子(pertinencefactor),让接收的数据和发送的数据有一定的相关性,相关性越高则安全系数越高。检测主体i将自己发送的数据包和检测客体j发送的数据包相比较如下:
pp代表t时刻i和邻接点j数据包发送相同数据包数量,npp代表数据量非相关。
3)差异性因子
差异性因子(differencefactor),某节点在t时刻如果反复发送的数据包内容相同,可认为该节点在进行重放攻击,恶意节点会在不同周期内反复发送同样的数据。通过邻节点进行检测,提高数据采集的有效性。将重复性高的节点降低信任值公示如下:
dp为t时刻数据包内容重复的数据数量,ndp为同时刻数据包差异的数据包数量。
二、信任模型
在节点信任值计算中,采用节点直接信任值和间接信任值相结合的方法。检测主体i对检测客体j的信任值评估包括节点i直接检测的结果dtn,以及通过i和j共同的邻居节点n1,n2……n检测的间接信任值itn,整合后根据权重计算出最终信任值ftn。
(1)直接信任值
根据检测主体i和检测客体j之间直接通信,计算评估客体j的直接信任值,根据以上的出入度因子、相关性因子、差异性因子根据分配权重不同计算出t时刻直接信任值dtn公式如下:
(2)间接信任值
先计算检测主体i对邻接点n1n2……n的直接信任值,在计算邻接点n1n2……n对检测客体j的直接信任值,进而计算出i通过邻接点n1对j的间接信任值:
(3)离散程度
如上图所示,检测客体j可能有多个间接信任值,这样会增加计算使复杂度变大,反而不利于网络。采用均方差计算离散程度公式:
s表示偏离程度,通过均方差过滤数据,当计算的间接信任值偏差过多,说明相比平均间接信任值离散程度大,则可能出现相邻接点存在恶意节点的推荐,强行提高间接信任值高度,从安全角度看,将偏离过高的节点删除,将离散程度在阈值范围内的节点保留。
(4)节点最终信任值
删除离散程度过高的节点后,假设剩余间接信任值个数是k,则检测主体i对评估检测j的综合信任值ftn,即为最终的信任因子:
三、etm-leach算法及流程
根据公示(2)计算出最优簇首数后,引入能量因子、密度因子、信任因子后计算得到新的阈值,新的阈值计算如下:
新的阈值计算成功后,与自己设定的随机数
针对无线传感器网络中现有协议在选举簇首节点是存在的等概率随机问题,本发明设计了etm-leach算法,综合考虑能量、密度和信任模型后,在选举簇首节点是时能够在剩余能量多、节点密度大、安全系数高的节点当选簇首节点,这样更有利于让网络更加均衡,延长了网络的生存周期,能够自适应识别恶意节点,保证了网络的安全性和可靠性。
如图1所示是etm-leach的整个流程。