AODV协议概述
import from : http://www.soe.ucsc.edu/~ravindra/aodv.html
Last modified: Wed Apr 24 06:17:41 PDT 2002
An On-Demand Unicast routing protocol for Ad-Hoc Networks i.e. routing information maintained only for active nodes
Active nodes : Those nodes for which I am the origin or relay of traffic
Each node maintains a routing table with entries for each active destination
Each entry of the routing table has six fields
- Destination
- Next-Hop
- Destination Sequence Number
- Route Timeout
- List of Neighbours who need me as next hop to destination (Along with last time they sent data)
- Hop Count
RREQ's are broadcast to everybody
Each RREQ contains broadcast-id, src, dest, src-seq-no, dest-seq-no, hop count(incremented as RREQ is propagated)
Broadcast id is incremented for every new RREQ originating from the source
{src, broadcast-id} uniquely identifies a RREQ
An intermediate node may may respond to RREQ if it holds a route to the destination which has a seq-no equal to or greater than that specified in the RREQ
Among two RREP one with greater dest-seq-no is chosen. If they are equal then one with lower hop-count is chosen
As RREQ propagates its sets up a backward route with a timeout equal to rreq-expiration. This should be enough for a RREP to be received
Every time a packet is sent on a route, route timeout = current time + active route timeout
The neighbour which forwarded the packet also has its timer set to the same value (Active neighbours whose timer expires are no longer active neighbours)
Nodes periodically broadcast hello packets to tell neighbours that they are alive
If a next hop to a destination is dead then a RREP is sent to all neighbours who use me as a next hop. dest-seq number is incremented and hop count is set to infinity in the RREP
If an upstream node wants it may re-establish a route by sending a new RREQ with a higher destination-seq-number
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!