基于WSN网络的定向步幻影路由算法matlab仿真

news/2024/10/8 0:34:37

1.程序功能描述

        系统设计背景技术介绍与现状简介:现在是信息爆炸的一个时代,因此对于个人的隐私以及信息的隐私保护都应该被实时重视着的问题;无线传感器网络其所采用的无线多跳通信方式易收到攻击者的攻击,引发严重的位置隐私泄露问题。在本课题中,我们将对比NDRW路由和定向步幻影路由。对比对应的安全时间和能耗。

                                                        

2.测试软件版本以及运行结果展示

MATLAB2022a版本运行

 

 

 

       安全时间指的是在攻击者成功找到源位置之前,源节点传输的数据包个数。图5是对于不同的源节点到汇聚节点的距离,进行100次的反向追踪实验得到的平均结果。显然,最短路径路由的安全时间是最小的.因为它的传输路径是固定不变的,所以攻击者很容易就能定位源节点。幻影路由通过定向随机步制造随机的幻影源,避免真实源位置被攻击者发现,所以能比最短路径路由提供更长的安全时间。NDRW路由的安全时间最大,因为在NDRW路由中数据包的传输路径在动态的变化,而且数据包传输过程中避免连续使用相同的节点,攻击者就不可能连续偷听到数据包传输,而不得不在同一个节点等待更长的时间。同时图5显示随着源节点与汇聚节点之间距离的增大,NDRW的安全时间迅速增加,显示了其优势。

 

 

 

       通信开销即为节点转发数据包的次数,幻影路由消耗了较多的能量,因为幻影路由在制造幻影源的随机步阶段要消耗额外的能量。当源节点与汇聚节点之间距离比较小时,NDRW路由的能量消耗要小于幻影路由,因为幻影路由在随机步阶段有可能把数据包传往远离汇聚节点的方向,而NDRW路由中节点只会把数据包转发给近邻居和等邻居节点。

 

3.核心程序

for ij = 1:length(dst)
ijfor k = 1:1000
rng(k);X     = SCALE*rand(1,Node);Y     = SCALE*rand(1,Node);%基站位置X0     = 2000;Y0     = 2000;X      = [X,X0];Y      = [Y,Y0];
dmatrix= zeros(Node,Node);for i = 1:Node+1 for j = 1:Node+1 
Dist = sqrt((X(i) - X(j))^2 + (Y(i) - Y(j))^2); %a link; if Dist<= Radius
dmatrix(i,j) = Dist; else 
dmatrix(i,j) = inf; end; end; end; %计算当前距离下可能的源节点Dist2=[];for i = 1:NodeDist2(i) = abs(sqrt((X(i) - X(end))^2 + (Y(i) - Y(end))^2)-dst(ij));  end[dd,Node_indx] = min(Dist2);Sn  = Node_indx;   %源位置En  = Node+1;      %汇聚节点%%%定向步幻影路%基于跳数的定向随机步路由hwalkDist2= [];
indx = [];for i = 1:NodeDist2(i) = abs(sqrt((X(i) - X(Sn))^2 + (Y(i) - Y(Sn))^2));  if Dist2(i) <= Radius & Dist2(i) > 0
indx = [indx,i]; endend%随机12Index2 = randperm(length(indx));Index2_= indx(Index2(1:min(hwalk,length(Index2))));%段是最短路径路[paths,costs] = func_dijkstra(Index2_(end),En,dmatrix); 
path_distance = 0; for d=2:length(paths) 
path_distance = path_distance + dmatrix(paths(d-1),paths(d)); end %安全时间Time1(k,ij) = package_speed*length(paths);%能量消耗E1(k,ij)    = Energy*path_distance;end
end
12_039m

  

 

4.本算法原理

        NDRW(Non-Deterministic Random Walk)路由和定向步幻影路由(Directed Phantom Routing。系统设计背景技术介绍与现状简介:现在是信息爆炸的一个时代,因此对于个人的隐私以及信息的隐私保护都应该被实时重视着的问题;无线传感器网络其所采用的无线多跳通信方式易收到攻击者的攻击,引发严重的位置隐私泄露问题。而源节点处往往会产生相对重要的信息,若源节点被发现,则网络信息隐私将收到巨大威胁,因此针对源节点的位置隐私保护技术对于传感器网络的大规模应用具有重要意义。

 

4.1 NDRW路由原理

       NDRW,即非确定性随机游走,是一种在图或网络中寻找路径的方法,它不总是选择最短或最优路径,而是允许一定程度上的随机性。这种随机性有助于避免网络中的拥塞区域,提高数据传输的效率和鲁棒性。

 

       在数学上,随机游走可以描述为一个马尔可夫链。设(G = (V, E))为一个图,其中(V)是顶点集,(E)是边集。每个顶点(v \in V)代表一个网络节点,每条边(e \in E)代表节点之间的连接。在每一步,游走者(例如数据包)根据一定的转移概率(P(v, u))从当前节点(v)移动到相邻节点(u)。转移概率矩阵(P)通常基于网络的拓扑结构和当前的交通状况来动态计算。

 

        然而,在NDRW中,转移概率可能不仅仅基于节点的度,还可能基于其他因素,如边的权重、节点的拥塞程度等。这些因素可以通过调整转移概率来反映。

 

4.2 定向步幻影路由原理

      定向步幻影路由(以下简称为“幻影路由”)可以看作是对NDRW的一种改进或变种,它引入了更多的方向性和控制性。在幻影路由中,数据包不仅随机选择路径,而且还在一定程度上被“引导”向特定的方向或目标。

 

       为了实现这种引导,幻影路由可能会使用一种或多种启发式算法来动态计算转移概率。例如,启发式算法可以考虑以下因素:

 

目标距离:数据包离其最终目标的距离。

节点拥塞:节点的当前负载或拥塞程度。

路径多样性:为了增加网络的鲁棒性,算法可能会倾向于选择不同于之前走过的路径。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/42662.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

音频信号处理入门

普及知识 什么是信号分析? 将一个复杂信号分解成若干简单信号分量之和,或者用有限的一组参量去表示一个复杂波形的信号,从这些简单的分量组成情况去考察复杂信号的特性。 对信号分析的过程实际上就是一个特征提取的过程,从一段复杂的波形中提取我们需要的信息。 为什么要分…

7-1大作业集训总结心得

第二轮大作业比起第一轮大作业难度上升了不少,运用到的东西更新,更先进,所涉及的思维设计,逻辑框架也更难,还有其计算的设计也会很复杂很难。 第二轮大作业的第一次作业难度低,简单类型,因为其信息输入每一行固定的就是两个设备,都可以不用正则表达式光用split就能写出…

A successful Git branching model

A successful Git branching model https://nvie.com/posts/a-successful-git-branching-model/The main branches Supporting branches Feature branches Release branches Hotfix branches 出处:http://www.cnblogs.com/lightsong/本文版权归作者和博客园共有,欢迎转载,但…

第二次博客(PTA四到六次大作业)

第四次作业:7-4 答题判题程序-4 分数 87 作者 蔡轲 单位 南昌航空大学 设计实现答题程序,模拟一个小型的测试,要求输入题目信息、试卷信息、答题信息、学生信息、删除题目信息,根据输入题目信息中的标准答案判断答题的结果。本题在答题判题程序-3基础上新增的内容统一附加在…

第四到六次pta作业总结

前言 本次的总结是关于第四、五、六次pta编程作业的概括与分析,也是对自己近一个月java学习方面上的成 果收获与经验教训的回顾与反思。对于知识点的总结 第四次的作业主要还是在前三次的程序上进行迭代并添加了新的类来处理不同的数据,这也是主要的新的难点。在这次的作业中…

拓扑排序

topo,拓扑排序,我的第二篇文章哈哈拓扑排序 大家好,我是Weekoder! 接上次的二分查找,我又打算写一篇关于拓扑排序的文章! 本文涉及到的知识比较多,请确认已经掌握了以下知识:循环、输入、数组等基本语法STL vector容器的基本操作STL queue队列的基本操作图论基本知识其…

课程阶段性总结

前言: 学习Java到了第二个阶段了,通过这几个月的学习,我对Java的了解逐渐深入.但是随着深入学习,我发现编写代码所需要的知识越来越多,就需要我们不断学习更多的知识.通过这几次的大作业,让我成长的非常迅速,为我提供了宝贵的实践机会。我将对题目集的知识点、题量及难度进行简…

【攻防技术系列+权限维持】①

这种方式我觉得挺好用的,且不需要管理员权限,我们都知道lnk文件可以指向一个exe文件,相当于一个快捷方式,所以我们可以更改指向的文件,指向我们的exe文件,但是这样的话原本的lnk文件就没用了,所以我们可以CreateShortcut方法来创建lnk快捷方式,在不损坏其原始lnk文件的…