360 likes | 537 Views
Multipath Routing Protocols in AdHoc Networks. CSE 802.11 University of Washington. First Question. Why another lecture on ad-hoc routing protocols? Keyword: multipath Ability to provide multiple routing options from a source to a destination
E N D
Multipath Routing Protocols in AdHoc Networks CSE 802.11 University of Washington
First Question • Why another lecture on ad-hoc routing protocols? • Keyword: multipath • Ability to provide multiple routing options from a source to a destination • Have “enough redundancy” to handle the ad-hoc nature of these networks • Today, the multipath property of routing protocols will take center stage
But … before we begin…. • Why do we need different protocols than in the Internet? • The attributes of the problem have changed: • Infrastructureless • Nodes’ availabilities are very low… • Must provide incentives to cooperate • Adequate security story • Cooperation-induced trust • Mobility: topology changes frequently • Power consumption: communication and computation consume energy • Network environment: • More complex (subject to more factors) • Factors change frequently and in unpredictable ways
But … before we begin…. • Why do we need different protocols than in the Internet? • The attributes of the problem have changed: • Infrastructureless • Nodes’ availabilities are very low… • Must provide incentives to cooperate • Adequate security story • Cooperation-induced trust • Mobility: topology changes frequently • Power consumption: communication and computation consume energy • Network environment: • More complex (subject to more factors) • Factors change frequently and in unpredictable ways P2P!!!
The Availability Story Revealed • Consider a path P of 4 hops and 5 nodes • Assuming independent behavior • What is the probability that P will change within the next 10 minutes? • Ad-Hoc: 89% • P2P: 77% • Can’t afford to propagate every change throughout the network (like Internet protocols) • Although you might need node discovery • Need on-demand routing protocols
Desirable Characteristics of Ad-Hoc Routing Protocols • Adapt to rapid changes • Multipath • On-demand • Low communication overhead • Low computation overhead • Provides incentive to cooperate • Secure • Loop-free • Maintains node connectivity
Desirable Characteristics of Ad-Hoc Routing Protocols • Adapt to rapid changes • Multipath • On-demand • Low communication overhead • Low computation overhead • Provides incentive to cooperate • Secure • Loop-free • Maintains node connectivity
Multi-path Ad-Hoc Routing Protocols • Multipath DSR • 2 versions in today’s paper • AOMDV • AODV-BR • ROAM • MDVA
Multi-path Ad-Hoc Routing Protocols • Multipath DSR • 2 versions in today’s paper • AOMDV • AODV-BR • ROAM • MDVA
1, 2, 5 1, 2 1, 2, 5, 6, 8 1 1, 2 1, 2, 5 1, 2, 5, 6, 8 1 1, 3 1, 2, 5 1, 3, 4, 7 1, 3, 4, 7 1, 3 DSR - Route Discovery Example 6 1, 2, 5, 6 2 8 Route Request Message 5 10 1 Route Reply 1, 3, 4, 7, 9 1, 3, 4, 7, 9, 10 7 1, 3, 4 3 9 4 From: Stefan Dulman (dulman@cs.utwente.nl)
DSR Route Discovery • How it works: • S broadcasts a Route Request message to D • Each node forwards request by adding its own address and re-broadcasting • Requests propagate until: • The target is found • A node that knows a route to D is found
Route Maintenance • If a node does not receive a confirmation from the next node that the packet was successfully forwarded, initiates a Route Error message back to the source • The data packet will be transmitted over another existing path (if multipath) or a new route discovery could be initiated
1, 2, 5 1, 2 1, 2, 5, 6, 8 1 1, 2 1, 2, 5 1, 2, 5, 6, 8 1 1, 3 1, 2, 5 1, 3, 4, 7 1, 3, 4, 7 1, 3 DSR – With Multipath (1st Version) 6 1, 2, 5, 6 2 8 Route Request Message 5 1, 2, 5, 6, 8, 10 10 1 Route Reply 1, 3, 4, 7, 9 1, 3, 4, 7, 9, 10 7 1, 3, 4 3 9 4 Remember link-wise disjoint paths between source and destination
Multipath Behavior • When primary route breaks, pick the best alternate route to forward data • When no alternate routes left, re-initiate route discovery
1, 2, 5 1, 2 1, 2, 5, 6, 8 1 1, 2 1, 2, 5 1, 2, 5, 6, 8 1 1, 3 1, 2, 5 1, 3, 4, 7 1, 3, 4, 7 1, 3 DSR – With Multipath (2nd Version) 6 1, 2, 5, 6 2 8 Route Request Message 5 1, 2, 5, 6, 8, 10 10 1 Route Reply 1, 3, 4, 7, 9 1, 3, 4, 7, 9, 10 7 3, 5, 6, 8, 10 1, 3, 4 3 7, 8, 10 9 9, 8, 10 4 4, 5, 6, 8, 10 Remember one link-wise disjoint path between each intermediate node and destination
Multipath Behavior • When a node detects a link is broken, the node replaces the unused path in the data packet with its alternate path • When alternate path breaks, the node transmits an error packet backward • Route discovery restarts only after all alternate paths between all intermediate nodes and destination have failed
DSR Properties • Multipath • On-demand • Loop-free (source routing) • Maintains connectivity
Performance Enhancements • Full use of route cache • Nodes operate in promiscuous mode to overhear route discoveries • Intermediary nodes must check for loop-free • Piggy-backing data on route discoveries
DSR Issues • Scalability issues: • Source routing means each packet carries the full path • MD5 - 16bytes per nodeID • 10 nodes means 160bytes • 11% of 1500 bytes packet • 4X the size of TCP/IP header • IP - 4bytes per nodeID • 10 nodes means 40bytes • 3% of 1500 bytes packet • As big as the TCP/IP header
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 From: U. of Cincinatti Marina & Das
Basic AODV Route Discovery RREQ (broadcast) • Reverse path is formed when a node hears a non-duplicate route request. • Each node forwards the request at most once (pure flooding). Reverse Path A E D S B C
Basic AODV Route Discovery RREQ (broadcast) • Reverse path is formed when a node hears a non-duplicate route request. • Each node forwards the request at most once (pure flooding). Reverse Path A E D S B C
Basic AODV Route Discovery • Observation: Duplicate RREQ copies completely ignored. Therefore, potentially useful alternate reverse path info lost. Reverse Path A E D S B C
Alternate Reverse Paths: A Naïve Approach • Form reverse paths using all duplicate RREQ copies. • Causes routing loops. Reverse Path A E D S B C
Alternate Reverse Paths: A Naïve Approach • Question: how to form alternate “loop-free” reverse paths using some duplicate RREQ copies? Reverse Path 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.
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
Alternate Paths • Keep multiple routes but always advertise only one hop count to others. Hop count of that path is the “advertised hop count” • Which one? Longest path at the time of first advertisement. • Or.. Keep only the disjoint alternate paths • The set of copy packets received at any node defines a set of disjoint paths • To ensure link-wise disjoint paths: • Exchange the first and last hops in packet • A different first and last hop ensures link-wise disjoint
AOMDV Properties • Multipath: • Can support local policies for choosing alternate paths • On-demand • Loop-free • Sequence numbers • Maintains connectivity
Final thoughts… • Unexplored trade-offs: • Reliability vs. energy consumption vs. benefit • Disjoint paths vs. braided paths • Bad interaction between TCP and on-demand adhoc protocols • The perennial problem of not being able to distinguish between congestion and broken link • When will TCP be using ECNs? • Crazy idea: use cell infrastructure to compute routing tables