首页 > 编程语言 >基于WSN网络的定向步幻影路由算法matlab仿真

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

时间:2024-06-09 23:55:21浏览次数:18  
标签:幻影 路径 WSN matlab NDRW 数据包 节点 路由

1.程序功能描述

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

                                                        

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

MATLAB2022a版本运行

 

 

 

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

 

 

 

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

 

3.核心程序

for ij = 1:length(dst)
ij
    for 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:Node
            Dist2(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;      %汇聚节点
       %%
        %定向步幻影路
        %基于跳数的定向随机步路由hwalk
        Dist2= [];
indx = [];
        for i = 1:Node
            Dist2(i) = abs(sqrt((X(i) - X(Sn))^2 + (Y(i) - Y(Sn))^2));  
            if Dist2(i) <= Radius & Dist2(i) > 0
indx = [indx,i]; 
            end
        end
        %随机12
        Index2 = 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的一种改进或变种,它引入了更多的方向性和控制性。在幻影路由中,数据包不仅随机选择路径,而且还在一定程度上被“引导”向特定的方向或目标。

 

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

 

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

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

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

 

标签:幻影,路径,WSN,matlab,NDRW,数据包,节点,路由
From: https://www.cnblogs.com/softcodes/p/18240273

相关文章

  • python系列:FastAPI系列 10-路由管理APIRouter
    FastAPI系列10-路由管理APIRouterFastAPI系列10-路由管理APIRouter前言一、路由管理APIRouter二、FastAPI主体总结FastAPI系列10-路由管理APIRouter前言在fastapi中也有类似的功能通过APIRouter来管理一、路由管理APIRouter正在开发一个应用程序或We......
  • MATLAB实现粒子群算法优化柔性车间调度(PSO-fjsp)
    柔性车间调度是典型的N-P问题,数学模型如下:数学模型假设有n个工件需要在m台机器上进行加工。每个工件包含一道或多道工序,每道工序可以在多台机器上进行加工,但每道工序的加工时间随机器的不同而不同。符号定义n:工件数量m:机器数量:表示工件j的第i道工序:表示工序O_ij在机器k上的......
  • 计算机网络知识CIDR(无类别域区间路由)
    目录介绍基本信息优点与关联如何计算判定范围(你应该是来看这个的,前面是水字数的)省流版介绍无类别域间路由(ClasslessInter-DomainRouting、CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。建议直接看第三个标题基本信......
  • VLAN技术和VLAN间路由
    VLAN技术和VLAN间路由VLAN技术:交换机分割广播域的技术。VLAN:VirtualLAN虚拟局域网。*这里把交换机的物理接口称为端口。VLAN技术一、VLAN概述:1.VLAN本质:逻辑独立的IP子网通过“路由”设备:第三层交换机进行通信2.优点:增加网络部署的灵活性(管理员可以规避地理、物理等......
  • Java Web学习笔记29——Vue路由
    Vue路由:前端路由:点击菜单栏,地址栏会发生变化,会显示对应的组件。URL中的Hash(#号后面的部分)与组件之间的对应关系。Hash是/dept,那么就是部门管理组件;Hash是/emp,那么就是员工管理组件;VueRouter:介绍:VueRouter是Vue的官方路由;组成:1)VueRouter:路由器类,根据路由请求在路......
  • MATLAB CLI 使用
    启动MATLABCli(需要已安装MATLAB):matlab-nodesktop-nosplash#无桌面环境,无启动动画基本操作赋值操作:a=5;%将5赋值给变量a显示变量:disp(a);%显示变量a的值矩阵与向量创建向量:v=[1,2,3,4];%行向量v=[1;2;3;4];%列向量创建......
  • Linux配置路由功能及添加静态路由
    配置路由功能Linux作为路由器,Linux本身就具备路由功能,开启方式如下:临时开启:echo"1">/proc/sys/net/ipv4/ip_forward永久开启:vim/etc/sysctl.confnet.ipv4.ip_forward=1#配置生效sysctl-p开启了路由功能之后的Linux服务器就相当于一个Router,Linux服务器的路......
  • 基于粒子群算法优化BP神经网络的PID控制算法(Matlab代码实现)
     ......
  • 【V-Tiger】自动调整控制器增益,以优化建立时间、过冲和稳定性裕度、使用被控对象输入
    ......
  • Matlab Simulink 电力电子仿真-单相电压型逆变LC滤波输出电路分析
     一、单相电压型逆变电路仿真模型1.电路原理    单相电压型逆变电路是一种常见的逆变电路拓扑结构,通常用于将直流电压转换为交流电压。其主要特点是输出电压为单相交流电压。在这种逆变电路中,一般会使用开关器件来实现电压的转换。    单相电压型逆变电路......