AODV(Ad hoc on-demand distance vector routing)是一种源驱动路由协议。当一个节点需要给网络中的其他节点传送信息时,如果没有到达目标节点的路由,则必须先以多播的形式发出RREQ(路由请求)报文。RREQ报文中记录着发起节点和目标节点的网络层地址,邻近节点收到RREQ,首先判断目标节点是否为自己。如果是,则向发起节点发送RREP(路由回应);如果不是,则首先在路由表中查找是否有到达目标节点的路由,如果有,则向源节点单播RREP,否则继续转发RREQ进行查找。

AODV协议能够确保找到的路径不含环路并且最短,当路由错误时还能动态适应以便寻找新的路由。

下面看图一步一步说明AODV协议

  • 需要建立到目的节点(dst)的路由时,源节点(src)广播路由请求(RREQ)给所有邻居结点。
  • 源节点等待路由回应(RREP)

这两步可以看下面三张图片:

    

路由请求(RREQ,Route Request)

路由请求包含序列号信息,每个结点生成自己的序列号。当邻接点发生变化(比如链路断开),序列号增加。对每一个路由,目的序列号(DSN)都会存储在路由表中。源节点将最近一次收到的目的结点序列号和源节点序列号一起放在RREQ中发送给目的节点。

RREQ不会收集沿途经过的节点的信息,它只会记录所经过的跳数。

而收到RREQ的节点会更新自己的路由表:

  • 记录向自己发来RREQ的邻居节点的地址(n1)。
  • 如果一会收到路由回应(RREP),那么就会把这个回应发给邻居结点n1。
  • 同时也会记录向自己发来RREP的那个邻居结点的地址,把这个地址当做去目的节点(dst)的下一跳地址

                           

                               

AODV的路由表中只会记录到达目的结点的下一跳地址。如下图

路由回应(RREP,Route Reply)

当一个含有到达目的节点路由表的节点收到路由请求后,首先判断RREQ中的目的节点序列号(DSN)和自己路由表中的DSN是否一样。如果RREQ中的DSN比较大,说明当前路右表不是很新,就继续广播请求。否则就返回RREP给源节点。

总的来说,路由的建立是在RREQ广播到目的节点和RREP返回到源节点这两个过程完成后建立的。下面几幅图描绘了这两个过程:

图例说明:白色空心箭头表示路由请求RREQ。绿色空心箭头表示路由回应RREP。实心箭头表示建立的路由。

===============================================================================================================

最后建立起了源节点到目的节点的路由,如下图:

无线传感器网络路由协议AODV(Ad hoc on-demand distance vector routing)相关推荐

  1. 移动计算技术--AODV(Ad hoc 按需距离矢量法)

    AODV(Ad hoc 按需距离矢量法) 文章目录 AODV协议 一.路由发现 1)RREQ分组 2)对RREQ的处理 3)RREP的产生 4)对RREP的处理 二.路由维护 三.本地连接管理 四.与 ...

  2. python 路由转发_[转载]无线传感器网络路由协议(转)

    一.泛洪方式( Flooding) Flooding and gossiping 这种算法也是传统网络中最基本的路由方式,不需要知道网络拓扑结构和使用任何路由算法.每个传感器节点把自己接收到的pack ...

  3. 无线传感器网络路由协议

    pazzini 发表于 2006-4-11 14:36:17 一.泛洪方式( Flooding) Flooding and gossiping 这种算法也是传统网络中最基本的路由方式,不需要知道网络拓 ...

  4. 基于LEACH的随机网络生成无线传感器网络路由协议的仿真比较(Matlab代码实现)

  5. 移动Ad hoc网络研究

    引言 随着人们对摆脱有线网络束缚.随时随地可以进行自由通信的渴望,近几年来无线网络通信得到了迅速的发展.人们可以通过配有无线接口的便携计算机或个人数字助理来实现移动中的通信.目前的移动通信大多需要有线 ...

  6. 无线传感器网络技术中的关键性问题

    一.引言 无线传感器网络是一种独立出现的计算机网络,它的基本组成单位是节点,这些节点集成了传感器.微处理器.无线接口和电源四个模块.传统的计算机网络技术中业已成熟的解决方案可以借鉴到无线传感器网络中来 ...

  7. 3.2 Ad Hoc 网络路由协议

    Ad Hoc 网络路由协议 Ad Hoc 网络路由面临的问题 在设计Ad Hoc 网络路由协议时,我们首先要明确可能面临的问题: (1)路由信息不易获得:定期交换路由信息的开销大.网络资源有限,并且必 ...

  8. Ad hoc网络路由协议概述1——分类

    目录 1. 传统Internet网络路由协议 1.1 距离矢量路由协议(Distance Vector) 1.2 链路状态路由协议(Link State) 1.3 在Ad hoc网络中的不适用性 1. ...

  9. Ad Hoc网络路由技术

    Ad Hoc网络路由技术 Routing Protocols of Wireless Ad Hoc Networks 作者:盛敏,田野,李建东 文章来源:中兴通讯技术 点击数:328 更新时间:200 ...

最新文章

  1. Python学习【第七篇】基本数据类型
  2. 图像/视频去噪算法资源集锦
  3. [译]在启用浏览器功能的INFOPATH表单中实现基于SQL SERVER的多级联动的下拉式列表...
  4. 【深度学习】with torch.no_grad的作用
  5. HTTP与HTTPS——密码学笔记(九)
  6. php使用supervisor管理进程脚本
  7. struts2中s:select标签在freemarker中的使用
  8. Proteus常见电平状态
  9. 一篇文章带你实操代码理解盒子模型
  10. 照片转换为动画 html5,如何使用html5让图片转圈的动画效果
  11. 【报告分享】新世代、新圈层:2020垂直圈层营销报告(附下载链接)
  12. Windows环境下安装python+tensorflow
  13. html5晋级之路-学习笔记表单
  14. 数据库(左、中、右)连接
  15. 深度学习面试每日一题
  16. 量化交易策略研发的三个层次
  17. 骚操作:Mac局域网控制Windows10主机
  18. 将所有程序最小化到系统托盘RBTray strokeit TrayEverything
  19. 支付宝微信个人收款支付系统解决方案
  20. ST-Link设备连接。 Could not verify ST device! Abort connection.

热门文章

  1. JAVA 生成二维码并写到EXCEL中导出
  2. 【树上算法】树的直径
  3. 如何突破领英每周邀请上限限制的方法技巧,提高我们的领英人脉
  4. redis 查看键空闲时间
  5. 小程序服务器如何防攻击,中小网站防止DDOS攻击的方法
  6. AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘/yolov5-5.0/models/commo
  7. 赵栋201771010137《面向对象程序设计(java)》第六周学习总结
  8. Base16和Base64不同的用途
  9. uni-app使用vue-i18n实现国际化(中英文切换)
  10. 散粒噪声是白噪声吗_散粒噪声