470 likes | 2.28k Views
Ad hoc On-demand Multipath Distance Vector (AOMDV) Routing. Mahesh Marina Samir Das University of Cincinnati. On-demand Multipath Routing. In each route discovery, find multiple routes between source and destination. Use alternate routes on a route failure.
E N D
Ad hoc On-demand Multipath Distance Vector (AOMDV) Routing Mahesh Marina Samir Das University of Cincinnati
On-demand Multipath Routing • In each route discovery, find multiple routes between source and destination. • Use alternate routes on a route failure. • New route discovery needed only when all routes fail. • Fewer number of route discoveries. • Reduction in delay and routing overhead.
Main Question • In the AODV framework, how to compute multiple paths between source and destination during route discovery? • With minimal additional overhead.
Basic AODV Route Discovery RREQ (broadcast) • When a route is needed, source floods a route request for the destination. A E D S B C
Basic AODV Route Discovery RREQ (broadcast) Reverse Path • Reverse path is formed when a node hears a non-duplicate route request. • Each node forwards the request at most once (pure flooding). A E D S B C
Basic AODV Route Discovery RREQ (broadcast) Reverse Path • Reverse path is formed when a node hears a non-duplicate route request. • Each node forwards the request at most once (pure flooding). A E D S B C
Basic AODV Route Discovery Reverse Path • Observation: Duplicate RREQ copies completely ignored. Therefore, potentially useful alternate reverse path info lost. A E D S B C
Alternate Reverse Paths: A Naïve Approach Reverse Path • Form reverse paths using all duplicate RREQ copies. • Causes routing loops. A E D S B C
Alternate Reverse Paths: A Naïve Approach Reverse Path • Question: how to form alternate “loop-free” reverse paths using some duplicate RREQ copies? Which some? A E D S B C
Loop Freedom • Key idea: Impose ordering among nodes in every path. • Notion of upstream/downstream nodes. i j d j is downstream to i w.r.t d • General loop-freedom rule: Never form a route at a downstream node via an upstream node.
AODV Loop Freedom • Destination sequence numbers to order routing events in time. • Ordering among <seqno, hop count> tuples at different nodes on a path. • higher seqno has precedence • if same seqno, lower hop count has precedence • Can’t we use the same idea in AOMDV? • No. Because “hop count rule” restricts us to a single path. • But can use a similar idea though!
AOMDV Loop Freedom • Sequence number rule: Keep only routes for the highest dest seqno (like in AODV). • For the same dest seqno, Route advertisement rule: Keep multiple routes but always advertise only one of them to others. Hop count of that path is the “advertised hop count” • Which one? Longest path at the time of first advertisement. • Why? Maximize chances of forming more paths. Route acceptance rule: Accept a route from a neighbor only if it has a smaller or equal advertised hop count. Break ties using node ids. • No need for coordination with upstream nodes.
AOMDV Loop Freedom • Sequence number rule: Keep only routes for the highest dest seqno (like in AODV). • For the same dest seqno, Route advertisement rule: Keep multiple routes but always advertise only one of them to others. Hop count of that path is the “advertised hop count” • Which one? Longest path at the time of first advertisement. • Why? Maximize chances of forming more paths. Route acceptance rule: Accept a route from a neighbor only if it has a smaller or equal advertised hop count. Break ties using node ids. • No need for coordination with upstream nodes.
AOMDV Loop Freedom • Sequence number rule: Keep only routes for the highest dest seqno (like in AODV). • For the same dest seqno, Route advertisement rule: Keep multiple routes but always advertise only one of them to others. Hop count of that path is the “advertised hop count” • Which one? Longest path at the time of first advertisement. • Why? Maximize chances of forming more paths. Route acceptance rule: Accept a route from a neighbor only if it has a smaller or equal advertised hop count. Break ties using node ids. • No need for coordination with upstream nodes.
AOMDV Routing Table Entry Dest Seqno Advertised hop count Hop count 1 Next hop 1 Hop count 2 Next hop 2 … …
AOMDV Loop Freedom • Sequence number rule: Keep only routes for the highest dest seqno (like in AODV). • For the same dest seqno, Route advertisement rule: Keep multiple routes but always advertise only one of them to others. Hop count of that path is the “advertised hop count” • Which one? Longest path at the time of first advertisement. • Why? Maximize chances of forming more paths. Route acceptance rule: Accept a route from a neighbor only if it has a smaller or equal advertised hop count. Break ties using node ids. • No need for coordination with upstream nodes.
Multiple Loop-free Reverse Paths RREQ (broadcast) • Suppose RREQ from S includes highest seqno for itself. A E D S 0 B C
Multiple Loop-free Reverse Paths 1 RREQ (broadcast) Reverse Path A E D S 0 B C 1
Multiple Loop-free Reverse Paths 2 1 RREQ (broadcast) Reverse Path A E D S 0 B C 1 2
Multiple Loop-free Reverse Paths 2 1 Reverse Path A E D S 0 B C 1 2
Multiple Loop-free Forward Paths 1 2 Forward Path • Another modification to basic AODV route discovery: multiple replies from destination. A E D S 0 B C 2 1
How Many Paths? • Too many paths are not useful. • Overhead proportional to # paths. • Diminishing utility with larger # paths. Analytical study in [Nasipuri-Das IC3N-99, ACM MONET J. 01] • Solution: Disjoint paths. • Automatically fewer paths. • Paths fail independently. Better utility. • Node or link disjoint? • Too few node disjoint paths in dense networks using flooding.
dest seq. next last hop no hop hop count D … N1 L1 … D … N2 L2 … Finding Link-disjoint Paths Examples How? • Maintain last hop info in routing table. • Ensure that next hops and last hops before destination are unique. • This requires route request and replies to carry first hop info. D S D S D S
Performance Evaluation • Ns-2 with CMU wireless extensions. • 100 nodes in a 1000m x 1000m field. • Random way point mobility model • 25 CBR/UDP sources each sending 512 byte packets @ 2 packets/s.
Summary • AOMDV - a multipath extension to AODV • multiple loop-free and link-disjoint paths. • AOMDV performance relative to AODV • more than factor of two improvement in delay. • about 25% reduction in routing load.