Ad hoc On-demand Distance Vector (AODV) Routing Protocol ECE 695 Spring 2006.

Slides:



Advertisements
Similar presentations
1 A Review of Current Routing Protocols for Ad-Hoc Mobile Wireless Networks By Lei Chen.
Advertisements

Routing Protocols Lecture # 6 Obaid Khan.
MANETs Routing Dr. Raad S. Al-Qassas Department of Computer Science PSUT
Mobile Ad-Hoc Networks (MANET)
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #4 Mobile Ad-Hoc Networks AODV Routing.
Revisiting On Demand Routing On Demand Routing schemes are reactive – a route is found when needed. This precludes the periodic exchange of routing tables.
1 Routing in Mobile Ad Hoc Networks most slides taken with permission from presentation of Nitin H. Vaidya University of Illinois at Urbana-Champaign.
1 University of Freiburg Computer Networks and Telematics Prof. Christian Schindelhauer Mobile Ad Hoc Networks Routing 9th Week Christian.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Adaptive backup routing for ad-hoc networks Adviser: Ho-Ting Wu Speaker: Zen-De Liu Date:05/14/2007.
ITIS 6010/8010 Wireless Network Security Dr. Weichao Wang.
Centre for Wireless Communications Ad hoc On-demand Distance Vector Routing Protocol The presentation is based on a paper: C.E. Perkins, E.M. Royer, “Ad.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
CS541 Advanced Networking 1 Mobile Ad Hoc Networks (MANETs) Neil Tang 02/02/2009.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Ad-hoc On-Demand Distance Vector Routing (AODV) Sirisha R. Medidi.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #5 Mobile Ad-Hoc Networks TBRPF.
Overview of AODV protocol SNAP Presentation 9/7/2007 Jaein Jeong and Jorge Ortiz.
Aodv. Distance vector routing Belman principle AODV - overview Similar to DSR –On demand –Route request when needed and route reply when a node knows.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
8/7/2015 Mobile Ad hoc Networks COE 549 Routing Protocols II Tarek Sheltami KFUPM CCSE COE 1.
Ad Hoc Wireless Routing COS 461: Computer Networks
Routing Two papers: Location-Aided Routing (LAR) in mobile ad hoc networks (2000) Ad-hoc On-Demand Distance Vector Routing (1999)
The Zone Routing Protocol (ZRP)
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
Itrat Rasool Quadri ST ID COE-543 Wireless and Mobile Networks
Distance Vector Routing Protocols W.lilakiatsakun.
Mobile Ad-Hoc Networking By Jared Roberts. Overview What is a MANET? What is a MANET? Problems with routing in a MANET Problems with routing in a MANET.
Dsr – dynamics source routing. basics Two types of routing –On-demand / reactive Information is only collected when required, I.e., when a packet needs.
1 Spring Semester 2009, Dept. of Computer Science, Technion Internet Networking recitation #3 Mobile Ad-Hoc Networks AODV Routing.
Mobile Routing protocols MANET
Mobile Adhoc Network: Routing Protocol:AODV
Ad-hoc On-Demand Distance Vector Routing (AODV) and simulation in network simulator.
Ad Hoc Routing: The AODV and DSR Protocols Jonathan Sevy Geometric and Intelligent Computing Lab Drexel University
RFC 3561 AODV Routing Protocol Mobile Ad Hoc Networking Working Group Charles E. Perkins INTERNET DRAFT Nokia Research Center 19 June 2002 Elizabeth M.
Routing Protocols of On- Demand Dynamic Source Routing (DSR) Ad-Hoc On-Demand Distance Vector (AODV)
Ad Hoc Routing: The AODV and DSR Protocols Speaker : Wilson Lai “Performance Comparison of Two On-Demand Routing Protocols for Ad Hoc Networks”, C. Perkins.
Routing Protocols for Mobile Ad-Hoc Networks By : Neha Durwas For: Professor U.T. Nguyen COSC 6590.
1 Ad Hoc On-Demand Distance Vector Routing (AODV) Dr. R. B. Patel.
AODV: Introduction Reference: C. E. Perkins, E. M. Royer, and S. R. Das, “Ad hoc On-Demand Distance Vector (AODV) Routing,” Internet Draft, draft-ietf-manet-aodv-08.txt,
Doc.: IEEE /1047r0 Submission Month 2000August 2004 Avinash Joshi, Vann Hasty, Michael Bahr.Slide 1 Routing Protocols for MANET Avinash Joshi,
DSR: Introduction Reference: D. B. Johnson, D. A. Maltz, Y.-C. Hu, and J. G. Jetcheva, “The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks,”
Traditional Routing A routing protocol sets up a routing table in routers A node makes a local choice depending on global topology.
Ad-hoc On Demand Distance Vector Protocol Hassan Gobjuka.
Intro DSR AODV OLSR TRBPF Comp Concl 4/12/03 Jon KolstadAndreas Lundin CS Ad-Hoc Routing in Wireless Mobile Networks DSR AODV OLSR TBRPF.
a/b/g Networks Routing Herbert Rubens Slides taken from UIUC Wireless Networking Group.
A Framework for Reliable Routing in Mobile Ad Hoc Networks Zhenqiang Ye Srikanth V. Krishnamurthy Satish K. Tripathi.
6LoWPAN Ad Hoc On-Demand Distance Vector Routing Introduction Speaker: Wang Song-Ferng Advisor: Dr. Ho-Ting Wu Date: 2014/03/31.
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
Improving Fault Tolerance in AODV Matthew J. Miller Jungmin So.
Fundamentals of Computer Networks ECE 478/578
Doc.: IEEE /0174r1 Submission Hang Liu, et al. March 2005 Slide 1 A Routing Protocol for WLAN Mesh Hang Liu, Jun Li, Saurabh Mathur {hang.liu,
Jim Parker CMSC691t Spring 2000 “Ad-hoc On-Demand Distance Vector Routing” A dynamic routing algorithm for mobile ad-hoc networks.
Mobile Ad Hoc Networking By Shaena Price. What is it? Autonomous system of routers and hosts connected by wireless links Can work flawlessly in a standalone.
Doc.: IEEE /0174r2 Submission Hang Liu, et al. March 2005 Slide 1 A Routing Protocol for WLAN Mesh Date: Authors: Notice: This document.
Author:Zarei.M.;Faez.K. ;Nya.J.M.
The Ad Hoc On-Demand Distance-Vector Protocol (AODV)
Routing design goals, challenges,
By Ioannis Chatzigiannakis, Elena Kaltsa, Sotiris Nikoletseas
Internet Networking recitation #4
A comparison of Ad-Hoc Routing Protocols
CBRP: A Cluster-based Routing Protocol for Mobile Ad hoc Networks
任課教授:陳朝鈞 教授 學生:王志嘉、馬敏修
Mobile and Wireless Networking
Proactive vs. Reactive Routing
Routing.
Vinay Singh Graduate school of Software Dongseo University
A Routing Protocol for WLAN Mesh
Routing protocols in Mobile Ad Hoc Network
Routing in Mobile Wireless Networks Neil Tang 11/14/2008
Presentation transcript:

Ad hoc On-demand Distance Vector (AODV) Routing Protocol ECE 695 Spring 2006

AODV Overview AODV is a packet routing protocol designed for use in mobile ad hoc networks (MANET) AODV is a packet routing protocol designed for use in mobile ad hoc networks (MANET) Intended for networks that may contain thousands of nodes Intended for networks that may contain thousands of nodes One of a class of demand-driven protocols One of a class of demand-driven protocols The route discovery mechanism is invoked only if a route to a destination is not knownThe route discovery mechanism is invoked only if a route to a destination is not known UDP is the transport layer protocol UDP is the transport layer protocol Source, destination and next hop are addressed using IP addressing Source, destination and next hop are addressed using IP addressing Each node maintains a routing table that contains information about reaching destination nodes. Each node maintains a routing table that contains information about reaching destination nodes. Each entry is keyed to a destination node.Each entry is keyed to a destination node.

Routing Table Fields Destination IP address Destination IP address Destination Sequence Number Destination Sequence Number Valid Destination Sequence Number Flag Valid Destination Sequence Number Flag Other state and routing flags Other state and routing flags Network Interface Network Interface Hop Count (needed to reach destination) Hop Count (needed to reach destination) Next Hop Next Hop Precursor List Precursor List Lifetime (route expiration or deletion time) Lifetime (route expiration or deletion time)

Overview (continued) Routing table size is minimized by only including next hop information, not the entire route to a destination node. Routing table size is minimized by only including next hop information, not the entire route to a destination node. Sequence numbers for both destination and source are used. Sequence numbers for both destination and source are used. Managing the sequence number is the key to efficient routing and route maintenance Managing the sequence number is the key to efficient routing and route maintenance Sequence numbers are used to indicate the relative freshness of routing informationSequence numbers are used to indicate the relative freshness of routing information Updated by an originating node, e.g., at initiation of route discovery or a route reply.Updated by an originating node, e.g., at initiation of route discovery or a route reply. Observed by other nodes to determine freshness.Observed by other nodes to determine freshness.

Overview (continued) The basic message set consists of: The basic message set consists of: RREQ – Route requestRREQ – Route request RREP – Route replyRREP – Route reply RERR – Route errorRERR – Route error HELLO – For link status monitoringHELLO – For link status monitoring

AODV Operation – Message Types RREQ Messages RREQ Messages While communication routes between nodes are valid, AODV does not play any role.While communication routes between nodes are valid, AODV does not play any role. A RREQ message is broadcasted when a node needs to discover a route to a destination.A RREQ message is broadcasted when a node needs to discover a route to a destination. As a RREQ propagates through the network, intermediate nodes use it to update their routing tables (in the direction of the source node).As a RREQ propagates through the network, intermediate nodes use it to update their routing tables (in the direction of the source node). The RREQ also contains the most recent sequence number for the destination.The RREQ also contains the most recent sequence number for the destination. A valid destination route must have a sequence number at least as great as that contained in the RREQ.A valid destination route must have a sequence number at least as great as that contained in the RREQ.

RREQ Message B? B? B? B? B? B? B? B A

AODV Operation – Message Types RREP Messages RREP Messages When a RREQ reaches a destination node, the destination route is made available by unicasting a RREP back to the source route.When a RREQ reaches a destination node, the destination route is made available by unicasting a RREP back to the source route. A node generates a RREP if:A node generates a RREP if: It is itself the destination. It is itself the destination. It has an active route to the destination. Ex: an intermediate node may also respond with an RREP if it has a “fresh enough” route to the destination. It has an active route to the destination. Ex: an intermediate node may also respond with an RREP if it has a “fresh enough” route to the destination. As the RREP propagates back to the source node, intermediate nodes update their routing tables (in the direction of the destination node).As the RREP propagates back to the source node, intermediate nodes update their routing tables (in the direction of the destination node).

RREP Message B A A A A A A A

AODV Operation – Message Types RERR Messages RERR Messages This message is broadcast for broken linksThis message is broadcast for broken links Generated directly by a node or passed on when received from another nodeGenerated directly by a node or passed on when received from another node

AODV Operation – Message Types Hello Messages Hello Messages Hello Message = RREP with TTL = 1Hello Message = RREP with TTL = 1 This message is used for broadcasting connectivity information.This message is used for broadcasting connectivity information. Ex: If a neighbor node does not receive any packets (Hello messages or otherwise) for more than ALLOWED_HELLO_LOSS * HELLO_INTERVAL mseconds, the node will assume that the link to this neighbor is currently lost. Ex: If a neighbor node does not receive any packets (Hello messages or otherwise) for more than ALLOWED_HELLO_LOSS * HELLO_INTERVAL mseconds, the node will assume that the link to this neighbor is currently lost. A node should use Hello messages only if it is part of an active route.A node should use Hello messages only if it is part of an active route.

Message routing A BD F C G E RREQ RREP Source Destination

Congestion Handling One method that AODV handle congestion is: One method that AODV handle congestion is: If the source node receives no RREP from the destination, it may broadcast another RREQ, up to a maximum of RREQ_RETRIES.If the source node receives no RREP from the destination, it may broadcast another RREQ, up to a maximum of RREQ_RETRIES. For each additional attempt that a source node tried to broadcast RREQ, the waiting time for the RREP is multiplied by 2.For each additional attempt that a source node tried to broadcast RREQ, the waiting time for the RREP is multiplied by 2. DSR is not capable of handling congestion. DSR is not capable of handling congestion.

Congestion Handling Other possible methods to improve AODV congestion handling: Other possible methods to improve AODV congestion handling: A route may predict when congestion is about to occur and try to avoid it by reduce the transmission rate.A route may predict when congestion is about to occur and try to avoid it by reduce the transmission rate. Schedule the requests so that it will not overload the network.Schedule the requests so that it will not overload the network.

AODV Routing There are two phases There are two phases Route Discovery.Route Discovery. Route Maintenance.Route Maintenance. Each node maintains a routing table with knowledge about the network. Each node maintains a routing table with knowledge about the network. AODV deals with route table management. AODV deals with route table management. Route information maintained even for short lived routes – reverse pointers. Route information maintained even for short lived routes – reverse pointers.

Entries in Routing Table Destination IP Address Destination IP Address Destination Sequence Number Destination Sequence Number Valid Destination Sequence Number flag Valid Destination Sequence Number flag Other state and routing flags (e.g., valid, invalid, repairable, being repaired) Other state and routing flags (e.g., valid, invalid, repairable, being repaired) Network Interface Network Interface Hop Count (number of hops needed to reach destination) Hop Count (number of hops needed to reach destination) Next Hop Next Hop List of Precursors List of Precursors Lifetime (expiration or deletion time of the route) Lifetime (expiration or deletion time of the route) DSR maintains additional table entries, causing a larger memory overhead DSR maintains additional table entries, causing a larger memory overhead

Discovery Broadcast RREQ messages. Broadcast RREQ messages. Intermediate nodes update their routing table Intermediate nodes update their routing table Forward the RREQ if it is not the destination. Forward the RREQ if it is not the destination. Maintain back-pointer to the originator. Maintain back-pointer to the originator. Destination generates RREQ message. Destination generates RREQ message. RREQ sent back to source using the reverse pointer set up RREQ sent back to source using the reverse pointer set up by the intermediate nodes. RREQ reaches destination, communication starts. RREQ reaches destination, communication starts.

Algorithm If a route to the destination is available, start sending data. If a route to the destination is available, start sending data. Else generate a RREQ packet. Increment the RREQID by 1.Increment the sequence number by 1.Destination IP address,currently available sequence number included. Else generate a RREQ packet. Increment the RREQID by 1.Increment the sequence number by 1.Destination IP address,currently available sequence number Node Generate route reply, if a 'fresh enough' route is a valid route entry for the destination whose associated sequence number is at least as great as that contained in the RREQ. Change the sequence number of the destination node if stale, increment the hop count by 1 and forward. Generate route reply, if a 'fresh enough' route is a valid route entry for the destination whose associated sequence number is at least as great as that contained in the RREQ. Change the sequence number of the destination node if stale, increment the hop count by 1 and 1.Increment sequence number of the destination. 2.Generate a RREQ message and sent back to 1.Increment sequence number of the destination. 2.Generate a RREQ message and sent back to Originator.

Discovery

Maintenance Hello messages broadcast by active nodes periodically HELLO_INTERVAL. Hello messages broadcast by active nodes periodically HELLO_INTERVAL. No hello message from a neighbor in DELETE_PERIOD,link failure identified. No hello message from a neighbor in DELETE_PERIOD,link failure identified. A local route repair to that next hop initiated. A local route repair to that next hop initiated. After a timeout,error propagated both to originator and destination. After a timeout,error propagated both to originator and destination. Entries based on the node invalidated. Entries based on the node invalidated.

Information “Freshness” Assured Each originating node maintains a monotonically increasing sequence number. Each originating node maintains a monotonically increasing sequence number. Used by other nodes to determine the freshness of the information. Used by other nodes to determine the freshness of the information. Every nodes routing table contains the latest information available about the sequence number for the IP address of the destination node for which the routing information is maintained. Every nodes routing table contains the latest information available about the sequence number for the IP address of the destination node for which the routing information is maintained. Updated whenever a node receives new information about the sequence number from RREQ, RREP, or RERR messages received related to that destination.Updated whenever a node receives new information about the sequence number from RREQ, RREP, or RERR messages received related to that destination.

Information “Freshness” Assured AODV depends on each node in the network to own and maintain its destination sequence number. AODV depends on each node in the network to own and maintain its destination sequence number. A destination node increments its own sequence number immediately before it originates a route discovery A destination node increments its own sequence number immediately before it originates a route discovery A destination node increments its own sequence number immediately before it originates a RREP in response to a RREQ A destination node increments its own sequence number immediately before it originates a RREP in response to a RREQ The node treats its sequence number as an unsigned number when incrementing accomplishing sequence number rollover. The node treats its sequence number as an unsigned number when incrementing accomplishing sequence number rollover. Destination information is assured by comparing the sequence number of the incoming AODV message with its sequence number for that destination. Destination information is assured by comparing the sequence number of the incoming AODV message with its sequence number for that destination.

RERR Messages Message is broadcasted when:Message is broadcasted when: i. A node detects that a link with adjacent neighbor is broken (destination no longer reachable). ii. If it gets a data packet destined to a node for which it does not have an active route and is not repairing. iii. If it receives a RERR from a neighbor for one or more active routes.

RERR Processing (for above broadcasts) Build Affected Destination ListingBuild Affected Destination Listing i. List unreachable destinations containing unreachable neighbor & destination using unreachable as next hop ii. Only one unreachable destination, which node already has. iii. List of nodes where RERR is next hop Update informationUpdate information Transmit RERR for each item listedTransmit RERR for each item listed

RERR – information update Destination Sequence #Destination Sequence # -Update sequence # for case i and ii -Copy sequence # for case iii Invalidate route entryInvalidate route entry Update Lifetime field as (currtime + DELETE_PERIOD)Update Lifetime field as (currtime + DELETE_PERIOD) Only now may route entry be deletedOnly now may route entry be deleted

RERR message transmission UnicastUnicast -Send RERR to single recipient Unicast iteritiveUnicast iteritive -Send RERR to a number of recipients individually BroadcastBroadcast -Notify multiple recipients simultaniously -Broadcast via TTL = 1

RERR message transmission UnicastUnicast A node detects that a link with adjacent neighbor is broken (destination no longer reachable). A node detects that a link with adjacent neighbor is broken (destination no longer reachable). If it gets a data packet destined to a node for which it does not have an active route and is not repairing. If it gets a data packet destined to a node for which it does not have an active route and is not repairing. If it receives a RERR from a neighbor for one or more active routes. If it receives a RERR from a neighbor for one or more active routes. Unicast iteritiveUnicast iteritive BroadcastBroadcast

How Broken Links are Handled All nodes directly using the broken link get a RERR packet. All nodes directly using the broken link get a RERR packet. Then those nodes sends the RERR packet to their predecessor nodes. Then those nodes sends the RERR packet to their predecessor nodes. This is continued all the way to the source nodes. This is continued all the way to the source nodes.

How Broken Links are Handled (Cont) Upon completion of sending the RERR packet through the source node will no longer use the link. Upon completion of sending the RERR packet through the source node will no longer use the link. AODV uses loop free-routes.AODV uses loop free-routes. There are only a finite number of nodes in a ad-hoc network.There are only a finite number of nodes in a ad-hoc network.

How Broken Links are Handled (Cont) DSR does not remove the path as well. DSR does not remove the path as well. In DSR nodes in the network can still think the broken link is still valid.In DSR nodes in the network can still think the broken link is still valid. This can lead to having to search for new paths multiple times.This can lead to having to search for new paths multiple times.

Reestablishing a Link The source node can restart the discovery process if a path is still needed. The source node can restart the discovery process if a path is still needed. The source node or any node on the path can rebuild the route by sending out a RREQ. The source node or any node on the path can rebuild the route by sending out a RREQ.