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
    1. Destination
    2. Next-Hop
    3. Destination Sequence Number
    4. Route Timeout
    5. List of Neighbours who need me as next hop to destination (Along with last time they sent data)
    6. 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
  •  

    posted on   CUCmehp(likesmiles)  阅读(258)  评论(0编辑  收藏  举报
    编辑推荐:
    · 为什么说在企业级应用开发中,后端往往是效率杀手?
    · 用 C# 插值字符串处理器写一个 sscanf
    · Java 中堆内存和栈内存上的数据分布和特点
    · 开发中对象命名的一点思考
    · .NET Core内存结构体系(Windows环境)底层原理浅谈
    阅读排行:
    · 为什么说在企业级应用开发中,后端往往是效率杀手?
    · 本地部署DeepSeek后,没有好看的交互界面怎么行!
    · DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
    · 趁着过年的时候手搓了一个低代码框架
    · 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
    < 2009年3月 >
    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 1 2 3 4
    5 6 7 8 9 10 11

    点击右上角即可分享
    微信分享提示