Upload
nguyenkien
View
215
Download
0
Embed Size (px)
Citation preview
1
CS 268: Computer Networking
L-12 Ad Hoc Networks
Mobile Routing
• Mobile IP • Ad-hoc network routing • Assigned reading
• Performance Comparison of Multi-Hop Wireless Ad Hoc Routing Protocols
• A High Throughput Path Metric for MultiHop Wireless Routing
2
2
3
Overview
• Internet routing
• Ad hoc routing
• Ad hoc routing metrics
4
How to Handle Mobile Nodes?
• Dynamic Host Configuration (DHCP) • Host gets new IP address in new locations • Problems
• Host does not have constant name/address how do others contact host
• What happens to active transport connections?
• Naming • Use DHCP and update name-address mapping
whenever host changes address • Fixes contact problem but not broken transport
connections
3
5
Handling Mobile Nodes (Transport)
• TCP currently uses 4 tuple to describe connection • <Src Addr, Src port, Dst addr, Dst port>
• Modify TCP to allow peer’s address to be changed during connection
• Security issues • Can someone easily hijack connection?
• Difficult deployment both ends must support mobility
6
Handling Mobile Node • Link layer mobility
• Learning bridges can handle mobility this is how it is handled in most campus networks
• Encapsulated PPP (PPTP) Have mobile host act like he is connected to original LAN
• Works for IP AND other network protocols
• Multicast • Solves similar problem how to route packets to
different sets of hosts at different times • Can’t we just reuse same solutions?
• Don’t really have solution for multicast either!
4
7
Handling Mobile Nodes (Routing) • Allow mobile node to keep same address and
name • How do we deliver IP packets when the endpoint
moves? • Why can’t we just have nodes advertise route to their
address? • What about packets from the mobile host?
• Routing not a problem • What source address on packet?
• Key design considerations • Scale • Incremental deployment
8
Basic Solution to Mobile Routing
• Same as other problems in Computer Science • Add a level of indirection
• Keep some part of the network informed about current location • Need technique to route packets through this
location (interception) • Need to forward packets from this location
to mobile host (delivery)
5
9
Interception • Somewhere along normal forwarding path
• At source • Any router along path • Router to home network • Machine on home network (masquerading as mobile
host) • Clever tricks to force packet to particular
destination • “Mobile subnet” – assign mobiles a special address
range and have special node advertise route
10
Delivery
• Need to get packet to mobile’s current location
• Tunnels • Tunnel endpoint = current location • Tunnel contents = original packets
• Source routing • Loose source route through mobile current
location • Network address translation (NAT)
• What about packets from the mobile host?
6
11
Mobile IP (RFC 2290)
• Interception • Typically home agent – hosts on home network
• Delivery • Typically IP-in-IP tunneling • Endpoint – either temporary mobile address or
foreign agent • Terminology
• Mobile host (MH), correspondent host (CH), home agent (HA), foreign agent (FA)
• Care-of-address, home address
12
Mobile IP (MH at Home)
Mobile Host (MH)
Visiting Location
Home
Internet
Correspondent Host (CH)
Packet
7
13
Mobile IP (MH Moving)
Visiting Location
Home
Internet
Correspondent Host (CH)
Packet
Home Agent (HA) Mobile Host (MH) I am here
14
Mobile IP (MH Away – Foreign Agent)
Visiting Location
Home
Internet
Correspondent Host (CH)
Packet
Home Agent (HA) Foreign Agent (FA) Encapsulated
Mobile Host (MH)
8
15
Mobile IP (MH Away - Collocated)
Visiting Location
Home
Internet
Correspondent Host (CH)
Packet
Home Agent (HA) Mobile Host (MH) Encapsulated
16
Other Mobile IP Issues • Route optimality
• Triangle routing • Can be improved with route optimization
• Unsolicited binding cache update to sender • Authentication
• Registration messages • Binding cache updates
• Must send updates across network • Handoffs can be slow
• Problems with basic solution • Reverse path check for security • Do we really need it…
9
17
Overview
• Internet routing
• Ad hoc routing
• Ad hoc routing metrics
Ad Hoc Routing
• Goal: Communication between wireless nodes • No external setup (self-configuring) • Often need multiple hops to reach dst
18
10
19
Ad Hoc Routing • Create multi-hop connectivity among set of
wireless, possibly moving, nodes • Mobile, wireless hosts act as forwarding nodes as
well as end systems • Need routing protocol to find multi-hop paths
• Needs to be dynamic to adapt to new routes, movement
• Interesting challenges related to interference and power limitations
• Low consumption of memory, bandwidth, power • Scalable with numbers of nodes • Localized effects of link failure
Challenges and Variants
• Poorly-defined “links” • Probabilistic delivery, etc. Kind of n2 links
• Time-varying link characteristics • No oracle for configuration (no ground
truth configuration file of connectivity) • Low bandwidth (relative to wired) • Possibly mobile • Possibly power-constrained
20
11
21
Problems Using DV or LS
• DV protocols may form loops • Very wasteful in wireless: bandwidth, power • Loop avoidance sometimes complex
• LS protocols: high storage and communication overhead
• More links in wireless (e.g., clusters) - may be redundant higher protocol overhead
22
Problems Using DV or LS
• Periodic updates waste power • Tx sends portion of battery power into air • Reception requires less power, but periodic
updates prevent mobile from “sleeping” • Convergence may be slower in
conventional networks but must be fast in ad-hoc networks and be done without frequent updates
12
23
Proposed Protocols
• Destination-Sequenced Distance Vector (DSDV) • DV protocol, destinations advertise sequence number
to avoid loops, not on demand • Temporally-Ordered Routing Algorithm (TORA)
• On demand creation of hbh routes based on link-reversal
• Dynamic Source Routing (DSR) • On demand source route discovery
• Ad Hoc On-Demand Distance Vector (AODV) • Combination of DSR and DSDV: on demand route
discovery with hbh routing
24
DSR Concepts
• Source routing • No need to maintain up-to-date info at
intermediate nodes • On-demand route discovery
• No need for periodic route advertisements
13
25
DSR Components
• Route discovery • The mechanism by which a sending node
obtains a route to destination • Route maintenance
• The mechanism by which a sending node detects that the network topology has changed and its route to destination is no longer valid
26
DSR Route Discovery
• Route discovery - basic idea • Source broadcasts route-request to
Destination • Each node forwards request by adding own
address and re-broadcasting • Requests propagate outward until:
• Target is found, or • A node that has a route to Destination is found
14
27
C Broadcasts Route Request to F
A
Source C
G H
Destination F
E
D
B Route Request
28
C Broadcasts Route Request to F
A
Source C
G H
Destination F
E
D
B Route Request
15
29
H Responds to Route Request
A
Source C
G H
Destination F
E
D
B
G,H,F
30
C Transmits a Packet to F
A
Source C
G H
Destination F
E
D
B
F H,F
G,H,F
16
31
Forwarding Route Requests
• A request is forwarded if: • Node is not the destination • Node not already listed in recorded source
route • Node has not seen request with same
sequence number • IP TTL field may be used to limit scope
• Destination copies route into a Route-reply packet and sends it back to Source
32
Route Cache
• All source routes learned by a node are kept in Route Cache • Reduces cost of route discovery
• If intermediate node receives RR for destination and has entry for destination in route cache, it responds to RR and does not propagate RR further
• Nodes overhearing RR/RP may insert routes in cache
17
33
Sending Data
• Check cache for route to destination • If route exists then
• If reachable in one hop • Send packet
• Else insert routing header to destination and send
• If route does not exist, buffer packet and initiate route discovery
34
Discussion
• Source routing is good for on demand routes instead of a priori distribution
• Route discovery protocol used to obtain routes on demand • Caching used to minimize use of discovery
• Periodic messages avoided • But need to buffer packets
18
35
Overview
• Internet routing
• Ad hoc routing
• Ad hoc routing metrics
ETX measurement results • Delivery is probabilistic
• A 1/r^2 model wouldn’t really predict this! • Sharp cutoff (by spec) of “good” vs “no” reception.
Intermediate loss range band is just a few dB wide! • Why?
• Biggest factor: Multi-path interference • 802.11 receivers can suppress reflections < 250ns • Outdoor reflections delay often > 1 \mu sec • Delay offsets == symbol time look like valid symbols (large
interferece) • Offsets != symbol time look like random noise • Small changes in delay == big changes in loss rate
36
19
Deciding Between Links
• Most early protocols: Hop Count • Link-layer retransmission can mask some loss • But: a 50% loss rate means your link is only
50% as fast! • Threshold?
• Can sacrifice connectivity. • Isn’t a 90% path better than an 80% path?
• Real life goal: Find highest throughput paths
37
Is there a better metric?
• Cut-off threshold • Disconnected network
• Product of link delivery ratio along path • Does not account for inter-hop interference
• Bottleneck link (highest-loss-ratio link) • Same as above
• End-to-end delay • Depends on interface queue lengths
38
20
ETX Metric Design Goals • Find high throughput paths
• Account for lossy links
• Account for asymmetric links
• Account for inter-link interference
• Independent of network load (don’t incorporate congestion)
39
Forwarding Packets is Expensive
• Throughput of 802.11b =~ 11Mbits/s • In reality, you can get about 5.
• What is throughput of a chain? • A B C ? • A B C D ? • Assume minimum power for radios.
• Routing metric should take this into account! Affects throughput
40
21
ETX
• Measure each link’s delivery probability with broadcast probes (& measure reverse)
• P(delivery) = ( df * dr ) (ACK must be delivered too…)
• Link ETX = 1 / P(delivery) • Route ETX = Σ link ETX
• Assumes all hops interfere - not true, but seems to work okay so far
41
ETX: Sanity Checks
• ETX of perfect 1-hop path: 1 • ETX of 50% delivery 1-hop path: 2 • ETX of perfect 3-hop path: 3
• (So, e.g., a 50% loss path is better than a perfect 3-hop path! A threshold would probably fail here…)
42
22
Rate Adaptation
• What if links @ different rates? • ETT – expected transmission time
• ETX / Link rate = 1 / ( P(delivery) * Rate)
• What is best rate for link? • The one that maximizes ETT for the link! • SampleRate is a technique to adaptively figure
this out.
43
Discussion • Value of implementation & measurement
• Simulators did not “do” multipath • Routing protocols dealt with the simulation environment
just fine • Real world behaved differently and really broke a lot of
the proposed protocols that worked so well in simulation! • Rehash: Wireless differs from wired… • Metrics: Optimize what matters; hop count
often a very bad proxy in wireless • What we didn’t look at: routing protocol
overhead • One cool area: Geographic routing
44
23
45
46
Scaling Routing (cont’d)
• Dominant factors in cost of DV, LS, DSR: • rate of change of topology (bandwidth) • number of routers in routing domain (b/w, state)
• Scaling strategies: • Hierarchy: at AS boundaries (BGP) or on finer scale
(OSPF) • Goal: reduce number of routers in routing domain • Assumption: address aggregation
• Caching: store source routes overheard (DSR) • Goal: limit propagation of future queries • Assumption: source route remains fixed while cached
24
47
Central idea: Machines can know their geographic locations
• by GPS (outdoors) • by surveyed position (for non-mobile nodes) • by short-range localization (indoors, [AT&T
Camb, 1997], [Priyantha et al., 2000])
Route using geography. • packet destination field: location of destination
Greedy Perimeter Stateless Routing (GPSR)
48
Assumptions
• Bi-directional radio links (unidirectional links may be blacklisted)
• Network nodes placed roughly in a plane • Radio propagation in free space; distance
from transmitter determines signal strength at receiver
• Fixed, uniform radio transmitter power
25
49
Greedy Forwarding
• Nodes learn immediate neighbors’ positions from beaconing/piggybacking on data packets
• Locally optimal, greedy next hop choice: • Neighbor geographically nearest destination
D x
y
Neighbor must be strictly closer to avoid loops
50
In Praise of Geography
• Self-describing • As node density increases, shortest path
tends toward Euclidean straight line between source and destination
• Node’s state concerns only one-hop neighbors: • Low per-node state: O(density) • Low routing protocol overhead: state pushed
only one hop
26
51
Greedy Forwarding Failure
Greedy forwarding not always possible! Consider: D
x
z v
void
w y
How can we circumnavigate voids? …based only on one-hop neighborhood?
52
Node Density and Voids
Voids more prevalent in sparser topologies
27
53
Well-known graph traversal: right-hand rule Requires only neighbors’ positions
Void Traversal: The Right-hand Rule
x
y z
54
Planar vs. Non-planar Graphs
On graphs with edges that cross (non-planar graphs), right-hand rule may not tour enclosed face boundary
How to remove crossing edges without partitioning graph?
And using only single-hop neighbors’ positions?
28
55
Planarized Graphs
Relative Neighborhood Graph (RNG) [Toussaint, ’80] and Gabriel Graph (GG) [Gabriel, ’69]: long-known planar graphs Assume edge exists between any pair of nodes separated by less than threshold distance (i.e., nominal radio range) RNG and GG can be constructed from only neighbors’ positions, and can be shown not to partition network!
u v w
? u v
w
?
RNG GG
Euclidean MST (so connected) RNG GG
Delaunay Triangulation (so planar) ⊆ ⊆
⊆
56
Planarized Graphs: Example
200 nodes, placed uniformly at random on 2000-by-2000-meter region; 250-meter radio range
Full Graph GG Subgraph RNG Subgraph
29
57
Full Greedy Perimeter Stateless Routing • All packets begin in greedy mode • Greedy mode uses full graph • Upon greedy failure, node marks its location in
packet, marks packet in perimeter mode • Perimeter mode packets follow simple planar
graph traversal: • Forward along successively closer faces by right-hand
rule, until reaching destination • Packets return to greedy mode upon reaching node
closer to destination than perimeter mode entry point
58
Perimeter Mode Forwarding Example
• Traverse face closer to D along xD by right-hand rule, until crossing xD
• Repeat with next-closer face, &c.
x
D
30
59
60
Temporally Ordered Routing Algorithm (TORA) • Quick route discovery on demand • Localized adaptation to reduce overhead at
the expense of longer routes • Distributed protocol (logically per dest):
• Query for destination • Node with a route returns “height” in Update • HBH nodes set their height above that of the
neighbor from which Update was received • When route becomes invalid, broadcast update
with local maximum to that destination
31
61
Three Basic Functions
• Creating Routes: demand driven “query/reply” • A query packet (QRY) is flooded through
network • An update packet (UPD) propagates back if
routes exist • Maintaining routes: “link reversal” algorithm
• UPD packet re-orient the route source • Erasing routes:
• A clear packet (CLR) is flooded through network to erase invalid routes
62
“Link Reversal” Algorithms
• When a node has no downstream links it reverses the direction of one or more links
• Links are directed based on a metric maintained by the nodes in the network • Can be conceptually viewed as a “height” (ie,
link directed from the higher node to the lower node)
32
63
“Height” Metric
• Each node I contains a “height” – a quintuple (τ, oid, r, δ, i) where: • τ : the “logical time” of a link failure • oid : the unique ID of the node that defined the
reference level • r : a “reflection” indication bit • δ : a “propagation” ordering parameter • i : the unique ID of the node
64
Link Direction Assignment
• Link direction assignment based on height of node i and height of corresponding neighbor j • if Hj == NULL then Unassigned • else if Hi == NULL then Down • else if Hi > Hj then Down • else if Hi < Hj then Up • The ordering of non-null heights always forms a
Directed Acyclic Graph (DAG)
33
65
E.g. Creating Routes Process
(-,-,-,-,A)
(-,-,-,-,C)
(-,-,-,-,G) (-,-,-,-,H)
DEST (0,0,0,0,F)
(-,-,-,-,E)
(-,-,-,-,D)
(-,-,-,-,B)
66
Node C Requires a Route; Sends QRY
(-,-,-,-,A)
(-,-,-,-,C)
(-,-,-,-,G) (-,-,-,-,H)
DEST (0,0,0,0,F)
(-,-,-,-,E)
(-,-,-,-,D)
(-,-,-,-,B) QRY
34
67
Nodes A and G send Query
(-,-,-,-,A)
(-,-,-,-,C)
(-,-,-,-,G) (-,-,-,-,H)
DEST (0,0,0,0,F)
(-,-,-,-,E)
(-,-,-,-,D)
(-,-,-,-,B)
QRY
QRY
68
Nodes B & D send Query; H Responds
(-,-,-,-,A)
(-,-,-,-,C)
(-,-,-,-,G) (-,-,-,-,H)
DEST (0,0,0,0,F)
(-,-,-,-,E)
(-,-,-,-,D)
(-,-,-,-,B)
UDP
QRY
QRY
35
69
Nodes B & G Receive UDP
(-,-,-,-,A)
(-,-,-,-,C)
(-,-,-,-,G) (-,-,-,1,H)
DEST (0,0,0,0,F)
(-,-,-,-,E)
(-,-,-,-,D)
(-,-,-,-,B)
70
Nodes E Responds; B & G Propagate
(-,-,-,-,A)
(-,-,-,-,C)
(-,-,-,2,G) (-,-,-,1,H)
DEST (0,0,0,0,F)
(-,-,-,1,E)
(-,-,-,-,D)
(-,-,-,2,B)
UDP
UDP
UDP
36
71
Nodes A, C & D Receive UDP
(-,-,-,-,A)
(-,-,-,-,C)
(-,-,-,1,G) (-,-,-,1,H)
DEST (0,0,0,0,F)
(-,-,-,1,E)
(-,-,-,-,D)
(-,-,-,2,B)
72
A, C & D Propagate Reference
(-,-,-,3,A)
(-,-,-,3,C)
(-,-,-,1,G) (-,-,-,1,H)
DEST (0,0,0,0,F)
(-,-,-,1,E)
(-,-,-,2,D)
(-,-,-,2,B) UDP
UDP UDP
37
73
Create Route Process Complete
(-,-,-,3,A)
(-,-,-,3,C)
(-,-,-,2,G) (-,-,-,1,H)
DEST (0,0,0,0,F)
(-,-,-,1,E)
(-,-,-,2,D)
(-,-,-,2,B)
74
Conceptual Description
Destination Destination
X
Link Failure
38
75
Conceptual Description
Destination Destination
76
Conceptual Description
Destination Destination
39
77
Simulation Results
• All protocols do fine at low mobility • Packet delivery ratio: poor for DSDV
somewhat less for Tora when small pause time
• Routing overhead high for TORA and AODV when small pause times
• TORA and AODV have more suboptimal routes
78
Packet Delivery Ratio
• DSR and AODV deliver 95-100% of packets • DSDV fails to converge for high mobility
• stale routes • TORA loses packets due to short-lived
loops, created during link reversal
40
79
Routing Overhead • DSDV overhead constant, others reduce
overhead as mobility decreases • TORA sometimes suffers from congestion
collapse with large number of sources • AODV vs. DSR
• Overhead lower for DSR when measuring packets • When measuring bytes, AODV performs better for
lower mobility rates • Cost of sending packets vs cost of sending bytes?
Need to bring MAC layer overhead into account
80
Path Optimality
• DSDV and DSR close to optimal regardless of mobility
• TORA and AODV do well for low mobility