APP下载

基于布隆过滤器的分簇式复制节点检测协议研究

2023-05-24程俊

无线互联科技 2023年5期

程俊

摘要:针对传统的CBDM复制节点检测协议中簇头节点存储开销大,基站和基站附近节点通信开销大的问题,文章提出了一种基于布隆过滤器的分簇式复制节点检测协议。每一轮周期检测,簇头节点不再单纯地利用自身的存储空间来存储节点信息,而是通过携带存储空间利用率较高的布隆过滤器来储存信息,减轻了簇头节点的存储开销;与CBDM相比,该协议通过选择能量较高的簇头节点进行复制节点的判定、分析和广播,减轻了基站和基站附近的网络开销。仿真实验表明,该协议在保证网络复制节点检测率的情况下,提高了网络的生命周期。

关键词:复制节点;检测率;存储代价;网络生命周期

中图分类号:TP212,TN929文献标志码:A

0 引言

众所周知,无线传感网络(Wireless Sensor Network,WSN)由大量的传感器节点构成。复制节点就是攻击者把捕获的传感器节点进行复制,再将复制节点放入网络,进而侦听网络、收集网络信息,甚至破坏网络。

为了检测WSN中的复制节点,防止复制节点对网络的破坏,人们进行了大量的研究。常用的复制节点检测协议有:集中式检测协议、局部式检测协议、分布式检测协议。周晖等[1]在研究集中式、局部式复制节点检测协议的基础上,提出了CBDM协议。该协议先将网络节点分簇并周期性地选择簇头,再通过先局部簇头检测,最后进行基站全局检测的方式,缓解了集中式节点检测协议中基站节点(BS)的数据开销。分布式复制节点检测协议[2]中的路径选择多播协议(LSM)原理是利用在转发的两条路径上存在相交节点(证人节点)的方式。该方式利用证人节点来进行复制节点的判定。由于在LSM协议中证人节点存在储存信息量较大的问题,Vishal Khanapure等[3]提出了证人节点携带布隆过滤器来储存节点信息的方式。该方式借助布隆过滤器具有较高的存储空间利用率、较快的查询速度等优势,延长了证人节点的网络生命周期。

受上述相关文献的启发,本文提出了一种基于布隆过滤器的分簇式复制节点检测协议(Bloom-Filter-Based Clustering Protocol,BFCP)。BFCP协议中,簇头节点不再单纯地利用自身的存储空间来存储节点信息,而是通过携带存储空间利用率较高的布隆过滤器来储存信息,减轻了簇头节点的存储开销。与CBDM相比,该协议通过选择能量较高的簇头节点进行复制节点的判定、分析和广播,减轻了基站、基站附近的网络开销。

1.2 BFCP协议原理

在了解了BFCP协议所用到的符号和其含义后,接下来介绍BFCP协议大致的两个检测阶段:簇内局部检测阶段和簇间全网检测阶段。

1.2.1 簇内局部检测阶段

簇内局部检测阶段中,首先是簇的形成。对于一个周期性的WSN,每一个周期都会通过能量较高原则,概率性地选择簇头节点。假设一轮周期区域中选择出了n个簇头,用符号CHn表示。簇头节点形成后,普通节点可以依据通信成本最优原则[4]加入某个簇头节点中去。这样,一轮周期网络中的簇头节点和普通节点就合成了n个簇,用符号Cn表示。

簇形成后,簇内普通节点发送自身的IDi,li给簇中的簇头节点,簇头节点采用BID(CHn),Bl(CHn)分别进行簇内ID和li的信息收集。若簇头发现簇内有相同ID节点对应不同的地理位置信息,则可判定带有此ID的节点为复制节点,然后簇头将此ID信息进行全网广播,隔离带有该ID的所有节点。若簇头节点收集完簇内所有节点(包括自身)信息后,没有发现复制节点,则簇头将分别用BID(CHn)和Bl(CHn)存储簇内所有节点的ID,li信息。

1.2.2 簇间全网检测阶段

为了更好地描述BFCP协议全网检测阶段,本文画出了几个簇之间进行信息交流情况,图中黑色节点为簇头节点,白色节点为普通节点,如图1所示。

当新的一轮周期到来后,BFCP协议将再次进入簇内局部检测阶段和簇间全网检测阶段,以判定网络中复制节点的存在。

2 仿真实验

为了评价BFCP协议的性能,本文选择在C++的环境下进行仿真实验,实验选取一个80 m×80 m的正方形区域,假设在该区域部署了N个传感器节点,每个传感器节点的初始能量为2J,传感器连接了天线,使得节点通信半径为8 m,设置一轮周期检测的时间为40 s,将BFCP协议进行仿真实验10次并取平均值。

为了验证协议的有效性,本仿真实验将BFCP协议同集中式检测协议BS、周辉等[1]提出的CBDM协议、路径选择多播协议LSM进行对比,得到如下结果。

2.1 检测率

BS,CBDM,LSM,BFCP协议检出率对比如图2所示。由图2可知,BS和CBDM协议检测率最高,达到了100%。这是因为每一轮周期,BS和CBDM协议都采用基站进行复制节点的检测、分析和广播,所以检测率很高。但由于每一次都采用基站进行分析和判定,所以存在基站和基站附近节点通信开销过大的问题。本文提出的BFCP协议检测率虽然没有BS,CBDM高,但也在95%以上。这是因为BFCP协议利用簇头节点进行信息的收集、判定和广播,检测率很高,但由于簇头采用布隆过滤器的方式进行信息的收集,而布隆过滤器在存储信息时存在假阳性[5],所以BFCP协议会存在一些漏检率。与BS,CBDM,BFCP相比,LSM协议的检测率最低,这是因为LSM协议在转发的两条路径上不一定存在相交的节点,如果不存在相交的节点,也就无法检测出复制节点,所以其漏检概率较大。

2.2 网络生命周期

BS,CBDM,BFCP协议网络生命周期对比如图3所示。由图3可知,在BS,CBDM,LSM三者中,BS协议的网络生命周期最短。随着网络节点数的增加,BS协议的网络生命周期呈指数下降,这是因为BS协议不但采用基站进行全网信息的搜集,而且采用基站进行复制节点的检测、分析和判定。由于判断、分析和广播等都是采用基站,基站和基站附近的节点开销过大,影响了网络的生命周期。CBDM的网络生命周期高于BS协议、低于BFCP协议,这是因为CBDM协议采用簇头进行簇内信息的收集,减少了基站的通信开销,但由于CBDM协议中还是采用基站来进行复制节点的分析和广播,所以基站和基站附近通信开销相对较大。BFCP协议的网络生命周期最长,原因是:(1)每一轮周期检测,簇头节点不再单纯地利用自身的存储空间来存储节点信息,而是通过携带存储空间利用率较高的布隆过滤器来储存信息,减轻了簇头节点的存储开销;(2)相比于BS,CBDM,协议通过选择能量较高的簇头节点进行复制节点的判定、分析和广播,减轻了基站、基站附近的网络开销。

3 结语

针对CBDM协议存在的问题,本文提出了BFCP协议。与CBDM协议相比,BFCP协议的优点为:每一轮检测周期,簇头节点通过携带存储空间利用率较高的布隆过滤器来储存信息,减轻了簇头节点的存储开销;协议通过选择能量较高的簇头节点进行复制节点的判定、分析和广播,减轻了基站、基站附近的网络开销。通过仿真实验表明,BFCP协议在保证一定检测率的情况下,提高网络的生命周期。

参考文献

[1]周晖,朱立庆,杨振,等.基于分簇的节点复制攻击入侵检测方法[J].传感器与微系统,2014(5):129-132.

[2]张蕾.无线传感网络技术与应用[M].北京:机械工业出版,2020.

[3]MING Z,VISHAL K,SHIGANG C,et al.Memory efficient protocols for detecting node replication attacks in wireless sensor networks:Proceedings of the 17th IEEE international conference on network protocols[C].Plainsboro:Institute of Electrical and Electronic Engineers,2009.

[4]王海涛.数据融合技术及其在WSN中的应用研究[J].数据通信,2022(2):57-60.

[5]楊斐.学习型布隆过滤器优化方法研究与实现[D].合肥:中国科学技术大学,2021.

(编辑 姚 鑫)