TCP for Mobile and Wireless Hosts
Download
Report
Transcript TCP for Mobile and Wireless Hosts
Some Issues in Ad Hoc Networks
Nitin Vaidya
University of Illinois at Urbana-Champaign
www.crhc.uiuc.edu/~nhv
Keynote talk presented at the International Workshop on
Theoretical Aspects of Wireless Ad Hoc, Sensor, and Peer-to-Peer Networks
Illinois Institute of Technology, Chicago, June 11, 2004
© 2004 Nitin Vaidya
1
Outline
Preliminaries
Advertising
Preaching
2
Ad Hoc Networks
Formed by wireless hosts which may be mobile
Without necessarily using a pre-existing
infrastructure
• Hybrid architectures using infrastructure likely in
many applications
3
Why Ad Hoc Networks ?
Potential ease of deployment
Decreased dependence on infrastructure
4
Many Potential Applications
Personal area networking
cell phone, laptop, ear phone, wrist watch
Military environments
soldiers, tanks, planes
Civilian environments
taxi cab network
meeting rooms
sports stadiums
boats, small aircraft
Emergency operations
search-and-rescue
policing and fire fighting
5
Challenges
(Opportunities)
Broadcast nature of the wireless medium
Limited wireless transmission range
– Hidden terminal problem
Packet losses due to transmission errors
Mobility-induced route changes
Mobility-induced packet losses
Battery constraints
Potentially frequent network partitions
Ease of snooping on wireless transmissions
(security hazard)
6
State of the Art
Lot of research activity on:
Routing
Medium access control
Quality of service
7
State of the Art
More recently …
Capacity of wireless networks << Information theory community
– Pure wireless networks
– Hybrid networks
– Delay-throughput trade-off
Graph-theoretic problems
–
–
–
–
<< Algorithms/theory community
Topology control
Dominating sets
Connectivity problems
Coverage problems in sensor networks
8
State of the Art
Many more (academic) problems … rich area
(Too) Many conferences
MobiHoc
SenSys
MASS
SECON
…
9
What’s Lacking?
Real applications still lacking (beyond military)
Hard to evaluate protocols in a vacuum
But there is hope … applications on the horizon
Community networks starting to use ad hoc routing
Vehicular networks
Sensor networks
10
What’s Lacking
Primitives to build distributed applications
Much work on distributed algorithms on fixed and
dynamic networks wherein dynamism comes from
“random” link failures
But little on ad hoc networks, where the dynamism comes
from node mobility and channel variations
Need to revisit distributed computing problems in the
new context
11
Outline
Preliminaries
Advertising
Preaching
12
Our Research Themes
Exploiting physical layer capabilities
Protocols for directional antennas
Rate adaptation
Power control & Power save mechanisms
Multi-channel mechanisms
13
Our Research Themes
Distributed algorithms for ad hoc networks
Address assignment
Mutual exclusion
Leader election
Token circulation
14
Our Research Themes
Misbehavior in Wireless Networks
Protocol design for misbehavior detection
15
Some of our past research …
Weak duplicate address detection
Misbehavior detection
Mutual exclusion
16
Weak Duplicate Address Detection
17
Address Assignment
Dynamic auto-configuration important for
autonomous operation of an ad hoc network
Goal:
Assign each node a unique address
OR
Assign each address to at most one node
Can be viewed as distributed mutual exclusion with
an address being a resource
18
Auto-Configuration in
Ad Hoc Networks
Worst case network delays may be unknown, or
highly variable, or unbounded
Partitions may occur, and merge
19
Duplicate Address Detection
in Ad Hoc Networks
Several proposals
One example [Perkins]:
Host picks an address randomly
Host performs route discovery for the chosen address
If a route reply is received, address duplication is
detected
20
Example:
Initially Partitioned Network
D’s packets for address a routed to A
21
Merged Network
Duplicate address detection (DAD) important to
avoid misrouting
22
Strong DAD
Detect duplicate addresses within t seconds
Not possible to guarantee strong DAD in presence
of unbounded delays
May occur due to partitions
Even when delays are bounded, bound may be difficult to
calculate
Unknown network size
•
23
DAD
Strong DAD impossible with unbounded delay
How to achieve DAD ?
24
Design Principle
If you cannot solve a problem
Change the problem
25
Weak DAD: Requirement
Packets from a given host to a given address
should be routed to the same destination,
despite duplication of the address
26
Example:
Initially Partitioned Network
D’s packets for address a routed to A
27
Merged Network:
Acceptable Behavior
with Weak DAD
Packets from D
to address a
still routed to
host A
28
Merged Network:
Unacceptable behavior
Packets from D
to address a
routed to
host K instead
of A
29
Weak DAD: Implementation
Integrate duplicate address detection with route
maintenance
30
Weak DAD with Link State Routing
Each host has a unique (with high probability) key
May include MAC address, serial number, …
May be large in size
In all routing-related packets (link state updates)
IP addresses tagged by keys
(IP, key) pair
31
Weak DAD with Link State Routing
Address duplication not always detected
Duplication detected before misrouting can occur
Weak DAD
Reliable, but potentially delayed
32
Link State Routing (LSR): Example
33
Weak DAD with LSR
34
Weak DAD with LSR
X
Host X with key K_x joins
and choose IP_A
(address duplication)
35
Weak DAD with LSR
If host D receives a link state
update containing (IP_A, K_x),
host D detects duplication of
address IP_A
Two pairs with identical IP
address but distinct keys imply
duplication
36
Just-in-Time DAD
Duplication detected before routing tables could
be mis-configured
37
Moral of the Story
Traditionally, address assignment and routing are
independent algorithms
Duplicate address detection integrated with route
maintenance can provide stronger properties
38
Misbehavior Handling
Joint work with Pradeep Kyasanur
39
Problem Definition
Access Point
Wireless
channel
A
B
A
Nodes are required to
follow Medium Access
Control (MAC) rules
Nodes can benefit by
misbehaving
B
40
IEEE 802.11 overview
Distributed Coordination Function (DCF)
Widely used for channel access
DCF is a Carrier Sense Multiple Access/ Collision
Avoidance (CSMA/CA) protocol
41
CSMA/CA
Don’t transmit when channel is busy
Defer transmission for a random duration on idle
channel
42
Backoff Example
Choose backoff value B in range [0,CW]
Count down backoff by 1 every idle slot
CW is the Contention Window
B1=15
S1
B1=0
B1=20
Transmit
wait
wait
Transmit
CW=31
S2
B2=25
B2=10
B2=10
43
Possible Misbehavior
Backoff from biased distribution
Example: Always select a small backoff value
B1 = 1
B1 = 1
Misbehaving
node
Transmit
Transmit
Well-behaved
node
wait
wait
B2 = 20
B2 = 19
44
Potential Solutions
Prevent misbehavior
Detect misbehavior
Penalize misbehavior
45
Game Theoretic Solutions [MacKenzie]
Assumes there is some cost for transmitting
Nodes independently adjust access probability
Under some assumptions, network reaches a fair
equilibrium
Game theoretic solutions to the misbehavior
problem so far assume complete knowledge of the
channel (difficult to have in multi-hop networks)
Not yet clear whether partial information is adequate
46
Charging
Charge for transmitted packets
Transmitting more packets costs more
Disadvantages
Per-packet charging can still allow misbehavior that
decreases the user’s delay
Need to implement charging mechanism
47
Goals of proposed scheme
Detect misbehavior
Penalize misbehavior
48
Detecting Misbehavior
Observe each node
If a node does not wait long enough before
transmitting, then conclude that it is misbehaving
Penalize the misbehaving node
49
Issues
Idle duration is a function of backoff interval chosen
by a node
Observer does not know exact backoff value chosen
by a sender
Sender chooses random backoff
Hard to distinguish between maliciously chosen small values and a
legitimate random sequence
Wireless channel introduces uncertainties
Channel status seen by sender and receiver may be different
50
Potential Solution: Use long-term statistics
Observe backoffs chosen by a sender over multiple
packets
Backoff values not from expected distribution
Misbehavior
Longer delay in detection, since the distribution of
non-deterministic backoff must be determined
51
A Simpler Approach
Remove the non-determinism
52
A Simpler Approach
Receiver provides backoff values to sender
Modification does not significantly change 802.11
behavior
53
Modifications to 802.11
B
Sender
S
Receiver
R
•
R provides backoff B to S
•
S uses B for backoff for next packet
54
Detecting deviations
Backoff
Sender S
Receiver R
Bobsr
Receiver counts number of idle slots Bobsr
Condition for detecting deviations: Bobsr < B
≤1
55
Misbehavior Detection
The detection would always detect misbehavior IF
all nodes observe identical channel status at all
times
But all nodes do not see same channel status
Hidden terminals
Fading
In general, cannot diagnose misbehavior with 100%
accuracy
56
Penalizing Misbehavior
Actual backoff < B
Sender
S
Receiver
R
Bobsr
When misbehavior is suspected,
larger backoff intervals are assigned
penalty mechanism
57
Penalty Scheme
Misbehaving sender has two options
Ignore assigned penalty Easier to detect
Follow assigned penalty No throughput gain
With penalty, sender has to misbehave more for same
throughput gain
58
Diagnosing Misbehavior
If misbehavior suspected for “long enough” duration,
conclude that the misbehavior is intentional
Higher layers / administrator can be informed of
misbehavior
59
Multiple Observers
Currently, single observer is used (receiver)
Data from multiple observers can be combined to
improve diagnosis
•S sends a packet to R
A
S
B
R
•A, B also monitor S
•Information from A, B, R
may be combined
60
Moral of the Story
MAC layer misbehavior can severely affect throughput
of well-behaved nodes
Improving predictability improves ability to detect
misbehavior
Open issues:
Using multiple observers
Integrating diagnosis with higher layers
61
Distributed Mutual Exclusion
Joint work with Jennifer Welch and
Jennifer Walter
62
Why Design New Algorithms for MANETs?
Approach 1: implement
existing distributed
primitives on top of existing
ad hoc routing protocols.
User Application
Distributed
Primitive
Routing
Protocol
Ad-Hoc Network
Approach 2: modify
distributed primitives to be
aware of information from
lower layers
User Application
Distrib. Routing
Primitive Protocol
Ad-Hoc Network
63
Distributed Mutual Exclusion
Token-based: Only the node possessing the token
may enter critical section
Nodes must have a way of sending requests to the
token holder
One solution:
Mutual exclusion for fixed topology
+
Routing on ad hoc networks
64
Link Reversal Algorithm [Gafni81]
(Routing Protocol)
A
B
F
C
E
G
D
65
Link Reversal Algorithm [Gafni81]
A
B
F
Links are bi-directional
But algorithm imposes
logical directions on them
C
E
D
G
Maintain a directed acyclic
graph (DAG) for each
destination, with the destination
being the only sink
This DAG is for destination
node D
66
Link Reversal Algorithm
A
B
F
C
E
G
Link (G,D) broke
D
Any node, other than the destination, that has no outgoing links
reverses all its incoming links.
67
Node G has no outgoing links
Link Reversal Algorithm
A
B
F
C
E
G
Represents a
link that was
reversed recently
D
Now nodes E and F have no outgoing links
68
Link Reversal Algorithm
A
B
F
C
E
G
Represents a
link that was
reversed recently
D
Now nodes B and G have no outgoing links
69
Link Reversal Algorithm
A
B
F
C
E
G
Represents a
link that was
reversed recently
D
Now nodes A and F have no outgoing links
70
Link Reversal Algorithm
A
B
F
C
E
G
Represents a
link that was
reversed recently
D
Now all nodes (other than destination D) have an outgoing link
71
Link Reversal Algorithm
A
B
F
C
E
G
D
DAG has been restored with only the destination as a sink
72
Link Reversal Algorithm
Goal: Maintain DAG pointing to the “destination”
despite topology changes
73
Mutual Exclusion in Static Networks
[Raymond89]
Static topology
Spanning tree with edges directed toward the
token holder
A
B
D
C
E
F
74
A
B
D
C
E
F
A
B
D
C
E
F
75
Raymond’s Algorithm on Ad Hoc Networks
The algorithm can be implemented on top of
routing protocol
– Routing algorithms provides abstraction of a fully
connected network
Maintain a spanning tree using logical links in the
“fully connected” network
“Adjacent” nodes in the spanning tree may be far
from each other Potentially poor performance
76
Mutual Exclusion in Ad Hoc Networks
Gafni Variable topology, fixed sink
Raymond Fixed topology, moving sink
Proposed algorithm:
Mutual exclusion in ad hoc networks
Variable topology, moving sink
77
Moral of the Story
Existing algorithms not always appropriate
Algorithms for dynamic networks can be applied to
ad hoc networks, but performance may be poor
Taking into consideration lower layer information
can help
78
On to the preaching …
79
Abstractions
Of necessity, algorithm designers work with
abstractions
Physical layer is messy
Abstractions hide “unnecessary” physical layer
details
80
Abstractions
But some details are important.
Many common mistakes.
I am guilty too … but hopefully learning from the
mistakes
81
Transmission “Range”
Transmission range R
R
82
Transmission “Range”
Given the thermal noise, beyond a certain distance
reliable communication infeasible at a desired rate
Converse often assumed true: Within transmission
range, reliable communication is assumed always
feasible
This assumption is not accurate
• Reliability depends on SINR
Assumption may perhaps be OK for order
statistics, but the constants matter in practice
83
Interference “Range”
Interference “range” assumed to be the distance
over which a transmission “collides” with another
transmission
Assumed that if a host transmits, no other
transmission within interference range will
succeed
Not accurate: Reliability depends on SINR
84
Interference “Range”
Whether A’s interference
results in unreliable
reception at D
depends on SINR at D
Interference
“range”
DATA
A
B
C
D
E
F
85
Graceful Degradation
Transmission “range” (or reliability) depends on
SINR and bit rate
Even if transmission at a higher rate fails, low
rate transmission may be feasible
Modulation schemes provide
a trade-off between
throughput and “range”
Throughput
Distance
86
Energy Consumption
Common assumption:
Energy required to transmit on a hop
=
k dθ
k and θ typically assumed to be constants
Proofs relying on constant k, θ may break when
they are not constants
87
Energy Consumption
When k,θ = constant, links AC and BD cannot
BOTH be on energy efficient routes (considering
only transmit energy)
With constant k,θ, energy efficient routes do not
need to intersect [Narayanaswamy02]
C
B
A
D
88
Energy Consumption
Consider routes AC and BD
With fixed k and fixed θ > 2, energy optimal
routes are A-B-C and B-C-D (direct links A-C and
B-D are not optimal)
Energy-efficient routes do not intersect
4
B
5
5
3
A
C
4
3
D
89
Energy Consumption
Let k be much smaller on diagonal links
(alternatively, θ ≈ 2 on diagonal links, and 3 on
other links)
Diagonal links cheaper than other routes
Energy efficient routes must intersect
4
B
C
5
5
3
A
4
3
D
90
Geographic Location
Many algorithms rely on knowledge of physical
location
Location estimates in practice contain some error
The error can affect correctness of geographic
routing [Saeda04]
91
Summary
Physical layer characteristics matter
Can affect algorithm performance and correctness
92
End of preaching …
93
Interesting Open Problems
Protocols that achieve “capacity”
Distributed algorithms for ad hoc networks
Shared memory
Message ordering
Group communication
…
Complexity as a function of mobility
Applications for ad hoc networks
94
Thanks!
http://www.crhc.uiuc.edu/wireless/
95
Thanks!
http://www.crhc.uiuc.edu/wireless/
96
Handling other misbehavior
Receiver may misbehave by assigning large or small
backoff values
Sender can detect receiver assigning small backoff
values
Backoff assigned by receiver has to follow well-known
distribution
Sender uses larger of assigned backoff and expected backoff
97
Handling other misbehavior
Detecting receiver assigning large backoff values not
handled
Equivalent to receiver not responding at all
Need higher layer mechanisms
Collusion between sender and receiver
Harder to detect
Requires an observer that can monitor both sender and
receiver
98