【路由仿真】基于matlab无线自组网AODV路由机制仿真【含Matlab源码 1936期】

举报
海神之光 发表于 2022/07/10 00:55:48 2022/07/10
【摘要】 一、获取代码方式 获取代码方式1: 完整代码已上传我的资源:【路由仿真】基于matlab无线自组网AODV路由机制仿真【含Matlab源码 1936期】 获取代码方式2: 通过订阅紫极神光博客付费专栏...

一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【路由仿真】基于matlab无线自组网AODV路由机制仿真【含Matlab源码 1936期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、简介

Ad Hoc网络是移动网络的一种特殊形式,是一种自创造、自组织和自管理的网络.在Ad Hoc网络中,路由协议承担起及时维护和重建路径的工作.开发良好的路由协议是建立Ad Hoc网络的首要问题.目前,许多Ad Hoc网络协议已经问世,国内外对这些协议也有深入研究.AODV路由协议是其中最具有代表性的协议之一.它是一种按需路由协议,只在源节点需要路由的时候才发起路由从而降低了对网络带宽和能量的过渡消耗.

1 路由发现和维护
当源节点不具备一条到目的地的路由而又要发送数据到目的地时,源节点广播RREQ消息给邻居.邻居接收请求消息,建立一条到源的逆向路径,并设置逆向路径的生存期.如果该节点没有到目的节点的路由,就把收到的RREQ转给自己的邻居,直到到达目的节点,或者到达某个具有“更新”路由的中间节点.目的节点收到RREQ,就建立到源节点的逆向路由,返回一个RREP路由应答报文.单播该RREP给源节点.中间节点收到RREP,就建立到目的节点的正向路由.

AODV路由协议采用Hello消息机制进行链路连通性管理,从而对有效路由进行维护.具有有效路由的节点每隔固定时间T便广播一个特殊的RREP包,即Hello消息.邻节点收到Hello消息,可对各自的相应路由进行建立或更新.若节点在连续的几个T的时间内未收到有效路由中相邻节点的Hello消息便认为该链路中断,并发送RERR至相关路由的节点.

2 局部修复与改进
当发现链路断开时,可以由源节点重新发出RREQ查找路由.但是,目前多用局部修复,即,断开处的节点试图修复断开的活跃路由,如果一次修复尝试失败则由源节点重新发出RREQ查找路由.当发现链路断开后,如果断链处的上游节点与目的节点之间的距离小于MAX—REPAIR—TTL 跳,则该节点启用生存时间比较小的RREQ广播来修复路由.

三、部分源代码

clear 
close all;

%主程序


 clear;
 
 nodes_number  = 50; 
 A = 100;  
 R = 10; 
 
 rand('state', 0);
 X = rand(1,nodes_number)*A/2;  
 Y = rand(1,nodes_number)*A/2; 
 
fprintf('此网络有 %d 个节点。\n',nodes_number);
fprintf('\n');    

 figure(1); 
 clf;
 hold on; 

title('无线自组网AODV路由机制仿真');
xlabel('空间横坐标 x  单位:m');
ylabel('空间纵坐标 y  单位:m');

for i = 1:nodes_number
     plot(X(i), Y(i), '.'); 
     text(X(i), Y(i), num2str(i));
     for j = 1:nodes_number
         distance = sqrt((X(i) - X(j))^2 + (Y(i) - Y(j))^2); 
         if distance <= R
             nodes_link(i, j) = 1;
             %line([X(i) X(j)], [Y(i) Y(j)], 'LineStyle', '-.'); 
             grid on;
         else
             nodes_link(i, j) = inf;
         end;
     end;
 end;


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

四、运行结果

在这里插入图片描述
在这里插入图片描述

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。

原文链接:qq912100926.blog.csdn.net/article/details/125685000

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。