Upload
ralph-lewis
View
224
Download
0
Embed Size (px)
Citation preview
CSE 802.11University of Washington
Multipath Routing Protocols in AdHoc Networks
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!!!
90% of sessions last less than 1 hour
90% of sessions last less than 10 mins
50% of sessions last less than 1 hour
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
DSR - Route Discovery Example
Route Request
Message
1
2
3
5
4
7
6
8
9
101
1
1, 2
1, 2
1, 3
1, 3
1, 2, 5
1, 2, 5
1, 2, 5
1, 3, 4
1, 2, 5, 6
1, 3, 4, 7
1, 3, 4, 7
1, 3, 4, 7, 9
1, 2, 5, 6, 8
1, 2, 5, 6, 8
Route Reply
1, 3, 4, 7, 9, 10
From: Stefan Dulman([email protected])
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
DSR Route Discovery
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
DSR – With Multipath (1st Version)
Route Request
Message
1
2
3
5
4
7
6
8
9
101
1
1, 2
1, 2
1, 3
1, 3
1, 2, 5
1, 2, 5
1, 2, 5
1, 3, 4
1, 2, 5, 6
1, 3, 4, 7
1, 3, 4, 7
1, 3, 4, 7, 9
1, 2, 5, 6, 8
1, 2, 5, 6, 8
Route Reply
1, 3, 4, 7, 9, 10
1, 2, 5, 6, 8, 10
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
DSR – With Multipath (2nd Version)
Route Request
Message
1
2
3
5
4
7
6
8
9
101
1
1, 2
1, 2
1, 3
1, 3
1, 2, 5
1, 2, 5
1, 2, 5
1, 3, 4
1, 2, 5, 6
1, 3, 4, 7
1, 3, 4, 7
1, 3, 4, 7, 9
1, 2, 5, 6, 8
1, 2, 5, 6, 8
Route Reply
1, 3, 4, 7, 9, 10
1, 2, 5, 6, 8, 10
Remember one link-wise disjoint path between each intermediate node and destination
3, 5, 6, 8, 10
4, 5, 6, 8, 10
7, 8, 10 9, 8, 10
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
When a route is needed, source floods a route request for the destination.
S
A
B
E
C
D
RREQ (broadcast)
From: U. of CincinattiMarina & Das
Basic AODV Route Discovery
Reverse path is formed when a node hears a non-duplicate route request.
Each node forwards the request at most once (pure flooding).
S
A
B
E
C
D
RREQ (broadcast)Reverse Path
Basic AODV Route Discovery
Reverse path is formed when a node hears a non-duplicate route request.
Each node forwards the request at most once (pure flooding).
S
A
B
E
C
D
RREQ (broadcast)Reverse Path
Basic AODV Route Discovery
Observation: Duplicate RREQ copies completely ignored. Therefore, potentially useful alternate reverse path info lost.
S
A
B
E
C
D
Reverse Path
Alternate Reverse Paths: A Naïve Approach
Form reverse paths using all duplicate RREQ copies.
Causes routing loops.
S
A
B
E
C
D
Reverse Path
Alternate Reverse Paths: A Naïve Approach
Question: how to form alternate “loop-free” reverse paths using some duplicate RREQ copies?
S
A
B
E
C
D
Reverse Path
Loop Freedom
Key idea: Impose ordering among nodes in every path.
Notion of upstream/downstream nodes.
General loop-freedom rule: Never form a route at a downstream node via an upstream node.
dji
j is downstream to i w.r.t d
Multiple Loop-free Reverse Paths
Suppose RREQ from S includes highest seqno for itself.
S
A
B
E
C
D
RREQ (broadcast)
0
S
A
B
E
C
D
RREQ (broadcast)Reverse Path
0
1
1
Multiple Loop-free Reverse Paths
S
A
B
E
C
D
RREQ (broadcast)Reverse Path
0
1
1
2
2
Multiple Loop-free Reverse Paths
S
A
B
E
C
D
Reverse Path
0
1
1
2
2
Multiple Loop-free Reverse Paths
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