1 / 39

Ad-hoc On-Demand Distance Vector Routing

Ad-hoc On-Demand Distance Vector Routing. Charles E. Perkins Elizabeth M. Royer Second IEEE Workshop on Mobile Computing Systems and Applications, 1999 Required Reading: Sections 1, 2. A d Hoc O n-Demand D istance V ector Routing ( AODV ) [Perkins99].

mickey
Download Presentation

Ad-hoc On-Demand Distance Vector Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ad-hoc On-Demand Distance Vector Routing Charles E. Perkins Elizabeth M. Royer Second IEEE Workshop on Mobile Computing Systems and Applications, 1999 Required Reading: Sections 1, 2

  2. Ad Hoc On-Demand Distance Vector Routing (AODV) [Perkins99] • DSR includes source routes in packet headers • Resulting large headers can sometimes degrade performance • particularly when data contents of a packet are small • AODV attempts to improve on DSR by maintaining routing tables at the nodes, so that data packets do not have to contain routes • AODV retains the desirable feature of DSR that routes are maintained only between nodes which need to communicate Wireless Networks

  3. AODV • Route Requests (RREQ) are forwarded in a manner similar to DSR • When a node re-broadcasts a Route Request, it sets up in its routing table a reverse path pointing towards the source • AODV assumes symmetric (bi-directional) links • When the intended destination receives a Route Request, it replies by sending a Route Reply • Route Reply travels along the reverse path set-up when Route Request is forwarded Wireless Networks

  4. Route Discovery • Every node maintains two counters • a node sequence number: Source_Seq # • a node broadcast id: Broadcast ID • Route Discovery: Initiated whenever a source node needs to communicate with another node for which it has no routing information • source node initiates path discovery by broadcasting a RREQ Wireless Networks

  5. Route Discovery: Continued-I • RREQ contains the following fields: <Source_Addr, Source_Seq #, Source_Broadcast_ID, Dest_Addr, Dest_Seq #, Hop_Count> • Dest_Seq # : last destination sequence number known to source • Source_Addr, Source_Broadcast_ID : uniquely identifies RREQ • broadcast id is incremented whenever the source issues a new RREQ for the same destination Wireless Networks

  6. type flags resvd hopcnt broadcast_id dest_addr dest_sequence_# source_addr source_sequence_# RREQ Packet Format Wireless Networks

  7. Route Discovery: Continued-II • When an intermediate node receives a RREQ • if it has already received a RREQ with the same broadcast id and source address, it drops the redundant RREQ and does not rebroadcast it. • Each neighbor either satisfies RREQ by sending RREP back or rebroadcasts the RREQ after increasing “Hop_Count” Wireless Networks

  8. Route Discovery: Continued-III • If a node cannot satisfy the RREQ it keeps needed information in order to implement reverse path setup as well as forward path setup • Dest_Addr • Source_Addr • Broadcast_ID • Dest_Seq # • Expiration time for reverse path route entry Wireless Networks

  9. Reverse Path Setup • To set up a reverse path, a node records the address of the neighbor from which it received the first copy of the RREQ • These reverse path route entries are maintained for at least enough time for the RREQ to traverse the network and produce a RREP Wireless Networks

  10. Route Requests in AODV Y Broadcast transmission Z S E F B C M L J A G H D K I N Represents transmission of RREQ Wireless Networks

  11. Route Requests in AODV Y Z S E F B C M L J A G H D K I N Represents links on Reverse Path Wireless Networks

  12. Reverse Path Setup in AODV Y Z S E F B C M L J A G H D K I N • Node C receives RREQ from G and H, but does not forward • it again, because node C has already forwarded RREQ once. • Similarly B & E do not forward RREQ again. Wireless Networks

  13. Reverse Path Setup in AODV Y Z S E F B C M L J A G H D K I N Wireless Networks

  14. Reverse Path Setup in AODV Y Z S E F B C M L J A G H D K I N • Node D does not forward RREQ, because node D • is the intended target of the RREQ Wireless Networks

  15. Reverse Path Entry in Table of Router F RREP Destination Next Hope S E Reverse Path Routing Table Entry • A timer (route_request_expiration_timer ) is associated with every reverse path routing entry • purge reverse path routing entries from those nodes that do not lie on path from source to destination • expiration time depends upon size of ad-hoc network Wireless Networks

  16. Forward Path Setup • Eventually, a RREQ will arrive at a node (possibly the destination itself) that possesses a current route to the destination. Wireless Networks

  17. Forward Path Setup: Continued-I • If an intermediate node has a route entry for the desired destination, it determines whether the route is current • compare Dest_Seq # in its own “routing table entry” to the Dest_Seq # in the RREQ • If RREQ’s Dest_Seq # > “routing table entry” Dest_Seq # • intermediate node rebroadcasts the RREQ Wireless Networks

  18. Forward Path Setup: Continued-II • If intermediate node has a current route to the destination ( i.e. a route with a dest_sequence_# >= dest_sequence_# in RREQ) • It unicasts a RREP back to its neighbor from which it received the RREQ Wireless Networks

  19. Forward Path Setup: Continued-III • A RREP contains the following information: • source_addr • dest_addr • dest_sequence_# • hop_cnt • lifetime Wireless Networks

  20. Forward Path Setup: Continued-IV • As the RREP travels back to the source, each node along the path • sets up a forward pointer to the node from which the RREP came • updates its timeout information for route entries to the source and destination • records the latest Dest_Seq # for the requested destination Wireless Networks

  21. Forward Path Setup: Continued-V • A node receiving an RREP propagates the first RREP for a given source node towards that source. Wireless Networks

  22. Forward Path Setup: Continued-VII • If a node receives further RREPs, it updates its routing information and propagates the RREP only if RREP contains either • a greater dest_sequence_# than the previous RREP • the same dest_sequence_# with a smaller hop count Wireless Networks

  23. Forward Path Setup: Continued-VIII • This decreases the number of RREPs propagating towards the source while also ensuring the most up-to-date and quickest routing information. • The source node can begin data transmission as soon as the first RREP is received, and can later update its routing information if it learns of a better route. Wireless Networks

  24. Route Reply in AODV Y Z S E F B C M L J A G H D K I N Represents links on path taken by RREP Wireless Networks

  25. Forward Path Setup in AODV Y Z S E F B C M L J A G H D K I N Forward links are setup when RREP travels along the reverse path Represents a link on the forward path Wireless Networks

  26. Entry in Table of Router F Destination Next Hope Number of Hops Destination Sequence # Active Neighbors Expiration time D J 2 N-1 E T Data Delivery in AODV Y DATA Z S E F B C M L J A G H D K I N Routing table entries used to forward data packet. Wireless Networks

  27. Entry in Table of Router F Destination Next Hope Number of Hops D S # Expiration time D J 2 N-1 T Timeout: Forward Path Entries • A routing table entry maintaining a forward path is purged if not used for an “active_route_timeout” interval • even if the route may actually still be valid Wireless Networks

  28. Link Failure Reporting • A neighbor is considered active for a routing table “entry” of a destination, if it originates or relays at least one packet for that destination within the most recent active timeout period, “active_route_timeout”. • A route entry is considered active if it is in use by any active neighbors • When the next hop link in a routing table entry breaks, all activeneighbors are informed • Each time a route entry is used, the timeout for the entry is reset to the current time plus“active_route_timeout”. • Link failures are propagated by means of Route Error, RERR, messages, which also update destination sequence numbers Wireless Networks

  29. Route Error • When node F is unable to forward packet P (from node S to node D) on link (F,J), it generates a RERR message • Node F increments the destination sequence number (N-1 ) for D cached at node F • The incremented sequence number, N, is included in the RERR • When node S receives the RERR, it initiates a new route discovery for D using destination sequence number at least as large as N • When node D receives the route request with destination sequence numberN, node D will set its sequence number to N, unless it is already larger than N Wireless Networks

  30. Entry in Table of Router F Destination Next Hope Number of Hops Destination Sequence # Active Neighbors Expiration time D J 2 N-1 E T Routing Table Entry • Expiration time for a route table entry • Each time a route entry is used to transmit data from a source toward a destination, the timeout for the entry is reset to the current time plus active_route_timeout (a parameter of AODV) Wireless Networks

  31. Link Failure Detection • Hello messages: Neighboring nodes periodically exchange hello messages • Absence of hello message is used as an indication of link failure • Alternatively, failure to receive several MAC-level acknowledgement may be used as an indication of link failure Wireless Networks

  32. Why Sequence Numbers in AODV • To avoid using old/broken routes • To determine which route is newer • To prevent formation of loops • Assume that A does not know about failure of link C-D because RERR sent by C is lost • Now C performs a route discovery for D. Node A receives the RREQ (say, via path C-E-A) • Node A will reply since A knows a route to D via node B • Results in a loop (C-E-A-B-C ) A B C D E Wireless Networks

  33. Why Sequence Numbers in AODV • Loop C-E-A-B-C • When A receives the RREQ, It will not forward the RREP indicating the route A-B-C because this route has a smaller sequence # (i.e. N-1) than what was in the RREQ sent by C (i.e. N) • Hence loop will not be formed A B C D E Wireless Networks

  34. Optimization: Expanding Ring Search • Route Requests are initially sent with small Time-to-Live (TTL) field, to limit their propagation • DSR also includes a similar optimization • If no Route Reply is received, then larger TTL tried Wireless Networks

  35. AODV Path Maintenance I • If the source node moves during an active session, it can reinitiate the route discovery procedure to establish a new route to the destination. • When either the destination or some intermediate node moves, a special RREP is sent to the affected source nodes. • Link failures detected using: • Periodic hello messages • Link-layer acknowledgments • If attempts to forward a packet to the next hop fail Wireless Networks

  36. AODV Path Maintenance II • Once next hop becomes unreachable, the node upstream of the break propagates to all active upstream neighbors an unsolicited RREP with • a dest_sequence_# one greater than previously known dest_sequence_# • hop count of ∞ • Those nodes subsequently relay that message to their active neighbors • Process continues until all active source nodes are notified • Process terminates because AODV maintains only loop-free routes and there are only a finite number of nodes in the ad-hoc network Wireless Networks

  37. AODV Path Maintenance III • Upon receiving notification of a broken link, source node can restart route discovery if still requires a route to destination • Check whether route has been used recently • Inspect upper-level protocol control blocks to see whether connections remain open using the indicated destination Wireless Networks

  38. AODV Path Maintenance IV • If a source node (or any other node along previous route) decides to rebuild route to destination • Sends RREQ with a dest_sequence_# one greater than previously known dest_sequence_# • Ensures • A new route • No nodes reply if they still regard previous route as valid Wireless Networks

  39. Summary: AODV • Routes need not be included in packet headers • Nodes maintain routing tables containing entries only for routes that are in active use • At most one next-hop per destination maintained at each node • DSR may maintain several routes for a single destination • Unused routes expire even if topology does not change • Routing Table Entry: {Destination , Next Hop, No of Hops, D.S. #, Active neighbors, Expiration time} Wireless Networks

More Related