(a)AODV路由发现

  AODV路由协议是一种典型的按需驱动路由协议,该算法可被称为纯粹的需求路由获取系统,那些不在活跃路径上的节点不会维持任何相关路由信息,也不会参与任何周期路由表的交换。此外,节点没有必要去发现和维持到另一节点的路由,除非这两个节点需要进行通信。移动节点间的局部连接性可以通过几种方法得到,其中包括使用局部广播Hello消息。这种算法的主要目的是:在需要时广播路由发现分组一般的拓扑维护;区别局部连接管理(邻居检测)和一般的拓扑维护;向需要连接信息的邻居移动节点散播拓扑变化信息。

  AODV使用广播路由发现机制,它依赖中间节点动态建立路由表来进行分组的传送。为了维持节点间的最新路由信息,AODV协议借鉴了DSDV中的序列号的思想,利用这种机制就能有效地防止路由环的形成。当源节点想与另外一个节点通信,而它的路由表中又没有相应的路由信息时,它就会发起路由发现过程。每一个节点维持两个独立的计数器:节点序列号计数器和广播标识。源节点通过向自己的邻居广播 RREQ(Route Requests)分组来发起一次路由发现过程。

  (b)AODV协议反向路由的建立

  在RREQ分组中包含了两个序列号:源节点序列号和源节点所知道的最新的目的序列号?源节点序列号用于维持到源的反向路由的特性,目的序列号表明了到目的地的最新路由。当RREQ分组从一个源节点转发到不同的目的地时,沿途所经过的节点都要自动建立到源节点的反向路由。

  节点通过记录收到的第一个RREQ分组的邻居地址来建立反向路由,这些反向路由将会维持一定时间,一该段时间足够RREQ分组在网内转发以及产生的RREP分组返回源节点。当RREQ分组到达了目的节点,目的节点就会产生RREP分组,并利用建立的反向路由来转发RREP。

  (c)AODV协议正向路由的建立

  RREQ分组最终将到达一个节点,该节点可能就是目的节点,或者这个节点有到达目的节点的路由。如果这个中间节点有到达目的的路由项,它就会比较路由项里的目的序列号和RREQ分组里的目的序列号的大小来判断自己已有的路由是否是比较新的。

  如果RREQ分组里的目的序列号比路由项中的序列号大,则这个中间节点不能使用己有的路由来响应这个RREQ分组,只能是继续广播这个RREQ分组。中间节点只有在路由项中的目的序列号不小于RREQ中的目的序列号时,才能直接对收到的RREQ分组做出响应?如果节点有到目的地的最新路由,而且这个RREQ还没有被处理过,这个节点将会沿着建立的反向路由返回RREP分组。

  在RREP转发回源节点的过程中,沿着这条路径上的每一个.节点都将建立到目的节点的同向路由,也就是记录下RREP是从哪一个邻居节点来的地址,然后更新有关源和目的路由的定时器信息以及记录下RREP中目的节点的最新序列号。对于那些建立了反向路由,但RREP分组并没有经过的节点,它们中建立的反向路由将会在一定时间(Active-Route-Timeout)后自动变为无效。收到RREP分组的节点将会对到某一个源节点的第一个RREP分组进行转发,对于其后收到的到同一个源的RREP分组,只有当后到的RREP分组中包含了更高的目的序列号或虽然有相同的目的序列号但所经过的跳数较少时,节点才一会重新更新路由信息,以及把这个RREP分组转发出去。

  这种方法有效地抑制了向源节点转发的RREP分组数,而且确保了最新及最快的路由信息。AODV协议中规定,源节点将在收到第一个RREP分组后,就开始向目的节点发送数据分组。如果以后源节点了解到的更新的路由,它就会更新自己的路由信息。

AODV协议的运行方式相关推荐

  1. aodv协议C语言代码,AODV协议的运行方式

    这也是一个网管必须具备的知识.那么在前面的文章中,我们已经对AODV协议的基础内容作了介绍,在这里我们主要讲解一下它的运行方式. (a)AODV路由发现 AODV路由协议是一种典型的按需驱动路由协议, ...

  2. NS2 学习笔记—— AODV协议

    在NS2中,AODV路由协议主要包括以下几个组件: 1.协议实体 2.路由表 3.定时器 (1)广播定时器 (2)周期Hello报文广播定时器 (3)用于邻居管理的定时器 (4)用于路由缓存的定时器 ...

  3. 基于ns2和ns3进行AODV协议改进仿真

    记录研二时协议改进的心酸历程 AODV改进和仿真建议: 1.文献阅读: 2.学会仿真: 3.路由协议源代码修改和改进: AODV改进和仿真建议: 背景:研一暑假(2021.07)导师告诉我研究方向,并 ...

  4. 图解AODV协议(demo)

    <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --> 图解 AODV 协议 (demo) 本文的分析基于 ns-2.33 中 ...

  5. Ad hoc网络路由协议概述4——按需路由协议(2)AODV协议 (Ad-hoc on-demand distance vector algorithm protocol)

    目录 1 一点前言 2 路由发现 2.1 相关概念 2.2 AODV的路由发现过程 2.3 与DSDV协议的对比 3 路由表管理及维护 3.1 更新路由表的策略 4 AODV协议的特点 4.1 优点 ...

  6. 树莓派linux系统配置AODV协议,linux上模拟AODV路由协议 下面一些信息求各路大神解释!!...

    满意答案 rrg655nxta 2014.02.28 采纳率:44%    等级:12 已帮助:8227人 我想这应该是AODV建立连接和维护连接的过程.要弄清楚这些语句具体是什么意思,必须要查看实现 ...

  7. AODV协议的NS2仿真

    无线传感网技术团队科研原始记录 姓名:赵亮 时间:2017.12.30 周次:18 记录编号:3 科研方向: 无线传感网 原始记录       本周继续在NS2下进行仿真工作. 1. Trace文件格 ...

  8. 基于NS2的AODV协议的修改与仿真的实现

    最近在用ns2帮别人做移动自组网aodv协议的改进仿真实验,学习了路由仿真方面的不少知识,顺手记录下来. ns2的安装 查阅网上资料发现ns2可以在cygwin上安装,为了省事就用cygwin安装了n ...

  9. aodv协议源代码分析

    转自:http://www.netforum.com.cn/forum_posts.asp?TID=9403        ns里实现的aodv是单播的,多播的aodv叫MAODV,网上有源代码.我觉 ...

最新文章

  1. Google JAVA编程风格
  2. Apache Kylin VS Apache Doris
  3. Uiautomator--Uiselector元素定位
  4. FusionCharts参数说明——3D饼图属性(Pie3D.swf )
  5. C++ C++基础语法入门总结(一)命名空间-输入输出-缺省参数-函数重载
  6. 和could的区别用法_have to 与 must 用法及区别
  7. 五种方法实现Linux批量重命名文件
  8. pythonATM,购物车项目实战4-settings配置设置
  9. linux全局启动tomcat,linux下启动tomcat服务
  10. Sublime Text for Mac如何支持GBK编码
  11. 牛X的规则引擎urule2
  12. 关于Intel酷睿(Core)品牌CPU的不同系列和不同代产品间的性能差异知识普及
  13. 集合竞价如何买入_散户可以在集合竞价时买入股票吗?
  14. 项目经理必须学会的财务知识
  15. Tire树(字典树)
  16. conda创建虚拟环境方法和pqi使用国内镜像源安装第三方库的方法教程
  17. 博客营销 交流互动大舞台
  18. python做表格教程_表格函数教程
  19. PyCryptodome
  20. C. Chocolate Bunny(思维+规律)

热门文章

  1. mysql握手_详细介绍mysql 协议的服务端握手包及对其解析
  2. 在ArcGIS中导入excel中的经纬度点数据,但和其它shp数据无法同时显示的问题
  3. ORA-02396:超出最大空闲时间,请重新连接
  4. 架构设计---高可用的处理
  5. 【深度学习框架输入格式】NCHW还是NHWC?
  6. 敏捷 Scrum 大师班认证培训的终极方案 | The Ultimate Agile Scrum Master Certification Training
  7. 【Python自学笔记】报错No module Named Wandb
  8. LTE学习:PHICH
  9. InnoDB 存储引擎详细解析
  10. 《惢客创业日记》2021.08.06-09(周五)惢客与征信的区别(下)