m基于matlab的AODV,leach自组网网络平台仿真,对比吞吐量,端到端时延,丢包率,剩余节点个数,节点消耗能量

简介: m基于matlab的AODV,leach自组网网络平台仿真,对比吞吐量,端到端时延,丢包率,剩余节点个数,节点消耗能量

1.算法仿真效果
matlab2022a仿真结果如下:
64659acdfcf913b9695d48f05e9be552_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
93fc4b727103133c9f9df798997c85a2_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
97019c5a3f3492cce20ab826bfa8fc3c_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
01add0789e98ca6fadf971ad3b08f61f_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
7af9c9d95011d9da12c86cdf2a1d676d_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要

   AODV是一种应用于无线网状网络的路由协议。它源节点需要发送数据时才进行路由发现。当没有数据发送请求时并不执行。在路由发现过程中首先检查路由表中是否存在从源节点到目的节点的路由,若存在则直接进行数据转发,若不存在,则广播RREQ分组进行寻找并建立路由。当目的节点收到第一个RREQ分组时,立即回复RREP分组给源节点,当源节点收到RREP分组时,便沿着RREP的路径建立了一条到目的节点的路径,然后通过此路径进行数据的传送。当节点在转发分组失败的时候便广播一个RRER分组,以此来告知源节点路径断开,源节点收到RRER之后将要发送的数据存入缓存,并重新发起路由发现的过程,直到新的路由路径建立起来的时候,才将缓存中的数据依次发送给目的节点。

  AODV是一种按需路由协议,根据业务需求建立和维护路由,它是DSDV (Destination—SequencedDistance-Vector)协议和DSR(Dynamic Source Routing) 协议的结合,使用DSDV协议中的目的节点序列号来防止缓存的路由信息过期以及环路的产生,路由建立则是基于DSR协议中所采用的方法,不同点在于AODV采用的是逐跳路由而不是源路由,可以实现ZigBee节点之间动态的、自发的路由,使节点很快实现到目的节点的通信。ZigBee路由算法中使用的AODVjr算法是对AODV算法的精简和改进,但是仍然保持AODV的原始功能。其特点是路由路径最佳,缺点是单个节点需要路由表,整体路由代价高。

   AODV路由协议主要可分为初始化、路由的建立及维护、显示、时钟、节点移动模块。总体设计框图所示:

caa867efe4eb6adf079604928f056501_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

    AODV是一种按需路由协议,根据业务需求建立和维护路由,它是DSDV协议和DSR协议的结合。使用DSDV协议中的目的节点序列号来防止缓存的路由信息过期以及环路的产生,路由建立则是基于DSR协议中所采用的方法,不同点在于AODV采用的是逐跳路由而不是源路由。  

    控制中心主要包括消息收发模块、用户列表(相关节点信息,用户名和IP)、参数设置模块和功能性模块。

 1.参数设置模块:可以实现节点个数、仿真场景大小、仿真时间、信道模型、路由协议、节点初始能量等的输入或者选择

 2.功能性模块:显示拓扑结构图;计算网络平均吞吐量、平均端到端时延、丢包率、剩余节点个数、节点消耗能量等

    参数设置模块,是通过GUI界面进行设置,主要实现可设置网络节点,仿真场景大小,仿真时间,信道模型的选择,路由协议的选择,节点初始能量的设置等参数变量,这些变量,我们均通过GUI界面进行参数的输入。

    功能模块,显示拓扑结构图;计算网络平均吞吐量、平均端到端时延、丢包率、剩余节点个数、节点消耗能量等

708b1291b7f9f5afe4789b3dc25a09a0_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

整个网络的工作机制如下:

    通过设置N个网络节点,在设置好大小的场景中,进行随机坐标的分布,并设置整个网络的工作时间,即仿真时间,不同节点之间的信息传递,其信道模型根据设置,选择Free space和 Two-ray ground reflection两种类型的信道,网络工作的MAC协议为IEEE 802.11,而路由协议,则根据选择,设置Leach或者AODV,或AODV改进三种类型。然后,我们根据网络的实际仿真结果,实时的输出六个指标。


3.MATLAB核心程序

 
    countCHs3 = 0;
    cluster3  = 1;
    for i = 1:n
        if Ea > 0 & S3(i).E > 0 & S3(i).G <= 0  
             if rand<= 0.2
                countCHs3             = countCHs3+1;
                packets_TO_BS3        = packets_TO_BS3+1;
                PACKETS_TO_BS3(r+1)   = packets_TO_BS3;
                S3(i).type            = 'C';
                C3(cluster3).xd       = S3(i).xd;
                C3(cluster3).yd       = S3(i).yd;
                if r > 1
                   distance              = sqrt((S3(i).xd-(S3(n+1).xd) )^2 + (S3(i).yd-(S3(n+1).yd))^2 );
                   Fs                    = LBF3t(r);
                   Ps                    = Ec3(r);
                   Gs                    = w1*distance+w2*Fs+w3*Ps;
                else
                   distance              = sqrt((S3(i).xd-(S3(n+1).xd) )^2 + (S3(i).yd-(S3(n+1).yd))^2 ); 
                   Gs                    = distance;
                end
                C3(cluster3).distance = Gs;
                C3(cluster3).id       = i;
                X3(cluster3)          = S3(i).xd;
                Y3(cluster3)          = S3(i).yd;
                cluster3              = cluster3+1;
                %计算簇头发送4000bit数据的能量消耗
                if Gs > do 
                   S3(i).E = S3(i).E - ((ETX+EDA)*(PACK) + Emp*PACK*(distance*distance*distance*distance)); 
                end
                if Gs <= do 
                   S3(i).E = S3(i).E - ((ETX+EDA)*(PACK) + Efs*PACK*(distance * distance)); 
                end
             end
        end
    end
    STATISTICS.COUNTCHS3(r+1) = countCHs3;
 
    x3 = zeros(1,cluster3-1);
    y3 = 0;
    z3 = 0;
    Drop_rate0 = zeros(1,n);
    
    %产生不同的路由路径,用来进行综合分析
    PATH = [];
    Nums = 1:n;
    nn   = n;
    for js = 1:n/2
        tmps = randperm(nn);
        if js > 1
           I1 = find(tmps == tmps1);
           I2 = find(tmps == tmps2);
           tmps(I1)=0;
           tmps(I2)=0;
           tmps(find(tmps==0)) = [];
        end
        SS   = tmps(1);
        DD   = tmps(2);
        %根据原节点和目标节点进行路由跟新
        [path,hop] = aodv_path_discovery_new(n,nodes_link,SS,DD,Fload,PLest,BREAK);
        PATH     = [PATH,path];
        tmps1    = SS;
        tmps2    = DD;
    end
    for ind=1:length(PATH)
        i = PATH(ind);
        if S3(i).type=='N' && S3(i).E>0
           if cluster3-1 >= 1
              min_dis         = Inf;
              min_dis_cluster = 0;
              for c=1:cluster3-1
                  if r > 1
                     distance              = sqrt((S3(i).xd-C3(c).xd)^2 + (S3(i).yd-C3(c).yd)^2);
                     Fs                    = LBF3t(r);
                     Ps                    = Ec3(r);
                     Gs                    = w1*distance+w2*Fs+w3*Ps;
                  else
                     distance              = sqrt((S3(i).xd-C3(c).xd)^2 + (S3(i).yd-C3(c).yd)^2); 
                     Gs                    = distance;
                  end
                  temp = min(min_dis,Gs);
                  if temp < min_dis
                     min_dis         = temp;
                     min_dis_cluster = c;
                     x3(c)           = x3(c)+1;
                  end
              end
相关文章
|
1月前
|
安全 物联网 物联网安全
量子通信网络:安全信息交换的新平台
【10月更文挑战第6天】量子通信网络作为一种全新的安全信息交换平台,正逐步展现出其独特的优势和巨大的潜力。通过深入研究和不断探索,我们有理由相信,量子通信网络将成为未来信息安全领域的重要支柱,为构建更加安全、高效、可靠的信息社会贡献力量。让我们共同期待量子通信网络在未来的广泛应用和美好前景!
|
2月前
|
XML 网络协议 物联网
基于surging的木舟IOT平台如何添加网络组件
【8月更文挑战第30天】在基于 Surging 的木舟 IOT 平台中添加网络组件需经历八个步骤:首先理解 Surging 及平台架构;其次明确组件需求,选择合适技术库;接着创建项目并配置;然后设计实现网络功能;再将组件集成至平台;接着进行详尽测试;最后根据反馈持续优化与维护。具体实施时应参照最新文档调整。
61 10
|
2月前
|
缓存 算法 物联网
基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,节点消耗能量
本系统基于MATLAB 2017b,对AODV与LEACH自组网进行了升级仿真,新增运动节点路由测试,修正丢包率统计。AODV是一种按需路由协议,结合DSDV和DSR,支持动态路由。程序包含参数设置、消息收发等功能模块,通过GUI界面配置节点数量、仿真时间和路由协议等参数,并计算网络性能指标。 该代码实现了节点能量管理、簇头选举、路由发现等功能,并统计了网络性能指标。
164 73
|
2月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
90 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
1月前
|
传感器 算法 C语言
基于无线传感器网络的节点分簇算法matlab仿真
该程序对传感器网络进行分簇,考虑节点能量状态、拓扑位置及孤立节点等因素。相较于LEACH算法,本程序评估网络持续时间、节点死亡趋势及能量消耗。使用MATLAB 2022a版本运行,展示了节点能量管理优化及网络生命周期延长的效果。通过簇头管理和数据融合,实现了能量高效和网络可扩展性。
|
2月前
|
机器学习/深度学习 人工智能 算法
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台。果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜'),然后基于TensorFlow库搭建CNN卷积神经网络算法模型,然后对数据集进行训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地文件方便后期调用。再使用Django框架搭建Web网页平台操作界面,实现用户上传一张果蔬图片识别其名称。
54 0
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
3月前
|
云安全 安全 物联网
惊叹:《黑神话:悟空》所在 Steam 发行平台遭网络狂袭,威胁流量猛增两万倍!
8月24日,热门游戏《黑神话:悟空》的玩家发现主要发行平台Steam无法登录,引发“#Steam崩了#”登上微博热搜。起初猜测是在线人数过多导致,但完美世界竞技平台公告表示系遭受DDoS攻击。奇安信Xlab实验室详细解析了此次攻击,发现攻击指令暴增两万多倍,涉及多个僵尸网络。此次攻击对Steam造成严重影响,但也凸显了网络安全的重要性。为保障游戏环境安全,需加强服务器防护并选择可靠的防御公司。德迅云安全提供高防服务器、DDoS高防IP和安全加速SCDN等服务,助力游戏企业提升安全性。
|
3月前
|
开发者 图形学 API
从零起步,深度揭秘:运用Unity引擎及网络编程技术,一步步搭建属于你的实时多人在线对战游戏平台——详尽指南与实战代码解析,带你轻松掌握网络化游戏开发的核心要领与最佳实践路径
【8月更文挑战第31天】构建实时多人对战平台是技术与创意的结合。本文使用成熟的Unity游戏开发引擎,从零开始指导读者搭建简单的实时对战平台。内容涵盖网络架构设计、Unity网络API应用及客户端与服务器通信。首先,创建新项目并选择适合多人游戏的模板,使用推荐的网络传输层。接着,定义基本玩法,如2D多人射击游戏,创建角色预制件并添加Rigidbody2D组件。然后,引入网络身份组件以同步对象状态。通过示例代码展示玩家控制逻辑,包括移动和发射子弹功能。最后,设置服务器端逻辑,处理客户端连接和断开。本文帮助读者掌握构建Unity多人对战平台的核心知识,为进一步开发打下基础。
120 0
|
3月前
|
网络协议 微服务
【Azure 微服务】基于已经存在的虚拟网络(VNET)及子网创建新的Service Fabric并且为所有节点配置自定义DNS服务
【Azure 微服务】基于已经存在的虚拟网络(VNET)及子网创建新的Service Fabric并且为所有节点配置自定义DNS服务
|
4天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第39天】在数字化时代,网络安全和信息安全成为了我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和方法来保护自己的信息安全。
15 2