无线传感器网络路由协议AODV(Ad hoc on-demand distance vector routing)
来源:互联网 发布:非法网络彩票赌博 编辑:程序博客网 时间:2024/05/17 06:29
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)
- Ad hoc On-Demand Distance Vector (AODV) Routing based on IEEE802.15.4
- 基于NS2的Ad Hoc网络AODV路由协议性能评估的仿真
- 基于NS2的Ad Hoc网络AODV路由协议仿真[ubuntu10.04+NS2.35含代码文件] [转载]
- 无线传感器网络路由协议
- 无线传感器网络路由协议
- 无线传感器网络路由协议
- LEACH算法无线传感器网络路由协议
- Ad Hoc网络路由技术
- 无线Ad Hoc网络的安全
- 搭建家庭无线Ad-hoc网络
- 无线Ad Hoc网络的安全
- 基于蚁群的无线传感器网络路由协议研究
- 基于蚁群的无线传感器网络路由协议研究
- 基于NS2的网络路由协议仿真(AODV、COPE+AODV)
- Ubuntu12.04 无线路由设置+大米手机 设置ad-hoc
- 无线路由制式mode的区别: infrastructure, ad-hoc
- 无线路由模式——Ad-hoc、Infrastructure、AP、Station
- 【C99标准翻译1】sizeof
- 获取句柄
- LeetCode 133 Remove Nth Node From End of List
- linux下目录详解
- Google-HK-2012-interview-"pizza"(1)
- 无线传感器网络路由协议AODV(Ad hoc on-demand distance vector routing)
- 十八届三中全会关于全面深化改革若干重大问题的决定
- Digital Ocean使用SSH Key登录
- 如何隐藏控制台窗口
- 并发问题:大数据量的访问
- Eclipse如何关联源码以及v4包关联源码
- kvm虚拟机在线迁移
- gedit默认编码设置
- 巴氏(bash)威佐夫(Wythoff)尼姆(Nim)博弈之模板